idnits 2.17.1 draft-ietf-printmib-job-monitor-05.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- ** Cannot find the required boilerplate sections (Copyright, IPR, etc.) in this document. Expected boilerplate is as follows today (2024-04-19) according to https://trustee.ietf.org/license-info : IETF Trust Legal Provisions of 28-dec-2009, Section 6.a: This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. IETF Trust Legal Provisions of 28-dec-2009, Section 6.b(i), paragraph 2: Copyright (c) 2024 IETF Trust and the persons identified as the document authors. All rights reserved. IETF Trust Legal Provisions of 28-dec-2009, Section 6.b(i), paragraph 3: This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- ** Missing expiration date. The document expiration date should appear on the first and last page. ** The document seems to lack a 1id_guidelines paragraph about Internet-Drafts being working documents. ** The document seems to lack a 1id_guidelines paragraph about the list of current Internet-Drafts. ** The document seems to lack a 1id_guidelines paragraph about the list of Shadow Directories. ** The document is more than 15 pages and seems to lack a Table of Contents. == No 'Intended status' indicated for this document; assuming Proposed Standard == The page length should not exceed 58 lines per page, but there was 100 longer pages, the longest (page 1) being 60 lines Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** The document seems to lack separate sections for Informative/Normative References. All references will be assumed normative when checking for downward references. ** There is 1 instance of too long lines in the document, the longest one being 1 character in excess of 72. == There are 6 instances of lines with non-RFC6890-compliant IPv4 addresses in the document. If these are example addresses, they should be changed. ** The document seems to lack a both a reference to RFC 2119 and the recommended RFC 2119 boilerplate, even if it appears to use RFC 2119 keywords. RFC 2119 keyword, line 300: '...agent SHALL return if the server or de...' RFC 2119 keyword, line 403: '...tead, the application SHALL query each...' RFC 2119 keyword, line 453: '...Each job set is disjoint; no job SHALL...' RFC 2119 keyword, line 468: '...twork. A server MAY be a printer supe...' RFC 2119 keyword, line 497: '...monitor MAY be either a separate appli...' (270 more instances...) Miscellaneous warnings: ---------------------------------------------------------------------------- == Line 423 has weird spacing: '...ure for monit...' == Line 1345 has weird spacing: '...and the objec...' == Line 1346 has weird spacing: '...tion of jmJob...' == Line 4319 has weird spacing: '...graphic chara...' == Using lowercase 'not' together with uppercase 'MUST', 'SHALL', 'SHOULD', or 'RECOMMENDED' is not an accepted usage according to RFC 2119. Please use uppercase 'NOT' together with RFC 2119 keywords (if that is what you mean). Found 'SHALL not' in this paragraph: 2. SHALL accept the full syntactic range for all attributes, including enum and bit values specified in this specification and additional ones that may be registered with IANA and SHALL either present them to the user or ignore them. In particular, a conforming job monitoring application SHALL not malfunction when receiving any standard or registered enum or bit values. See Section 3.6 entitled "IANA Considerations". == Using lowercase 'not' together with uppercase 'MUST', 'SHALL', 'SHOULD', or 'RECOMMENDED' is not an accepted usage according to RFC 2119. Please use uppercase 'NOT' together with RFC 2119 keywords (if that is what you mean). Found 'SHALL not' in this paragraph: 'inactive' (pendingHeld state), the agent SHALL not change the value of jmGeneralNewestActiveJobIndex object (though the agent SHALL assign the next incremental jmJobIndex value to the job). == Using lowercase 'not' together with uppercase 'MUST', 'SHALL', 'SHOULD', or 'RECOMMENDED' is not an accepted usage according to RFC 2119. Please use uppercase 'NOT' together with RFC 2119 keywords (if that is what you mean). Found 'SHALL not' in this paragraph: A number of attributes record consumption. Such attribute names end with the word 'Completed' or 'Consumed'. If the job has not yet consumed what that resource is metering, the agent either: (1) SHALL return the value 0 or (2) SHALL not add this attribute to the jmAttributeTable until the consumption begins. In the interests of brevity, the semantics for 0 is specified once here and is not repeated for each consumptive attribute specification. == Using lowercase 'not' together with uppercase 'MUST', 'SHALL', 'SHOULD', or 'RECOMMENDED' is not an accepted usage according to RFC 2119. Please use uppercase 'NOT' together with RFC 2119 keywords (if that is what you mean). Found 'SHALL not' in this paragraph: protocol by the client that submits the job to the server or device or (2) are defaulted by the server or device if the job submitting client does not supply values. The agent SHALL represent these objects and attributes in the MIB either (1) in the coded character set as they were submitted or (2) MAY convert the coded character set to another coded character set or encoding scheme. In any case, the resulting coded character set representation SHOULD be UTF-8 [UTF-8], but SHALL be one in which the code positions from 0 to 31 SHALL not be used, 32 to 127 SHALL be US-ASCII [US-ASCII], 127 SHALL be unused, and the remaining code positions 128 to 255 SHALL represent single-byte or multi-byte graphic characters structured according to ISO 2022 [ISO 2022] or SHALL be unused. == Using lowercase 'not' together with uppercase 'MUST', 'SHALL', 'SHOULD', or 'RECOMMENDED' is not an accepted usage according to RFC 2119. Please use uppercase 'NOT' together with RFC 2119 keywords (if that is what you mean). Found 'SHALL not' in this paragraph: JmJobStringTC ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "To facilitate internationalization, this TC represents information using any coded character set registered by IANA that has the following properties: (1) code positions from 0 to 31 SHALL not be used, (2) 32 to 127 SHALL be US-ASCII [US-ASCII], (3) 127 SHALL be unused, and (4) the remaining code Job Monitoring MIB, V0.85 Aug 8, 1997 == Using lowercase 'not' together with uppercase 'MUST', 'SHALL', 'SHOULD', or 'RECOMMENDED' is not an accepted usage according to RFC 2119. Please use uppercase 'NOT' together with RFC 2119 keywords (if that is what you mean). Found 'SHALL not' in this paragraph: If the client does not supply a job submission ID in the job submission protocol, then the server SHALL assign a job submission ID using any of the standard formats that are reserved to the agent. Clients SHALL not use formats that are reserved to agents. == Using lowercase 'not' together with uppercase 'MUST', 'SHALL', 'SHOULD', or 'RECOMMENDED' is not an accepted usage according to RFC 2119. Please use uppercase 'NOT' together with RFC 2119 keywords (if that is what you mean). Found 'SHALL not' in this paragraph: NOTE - This attribute type is intended to be used with an agent that implements the Printer MIB and SHALL not be used if the agent does not implement the Printer MIB. Such an agent SHALL use the documentFormat attribute instead. == Using lowercase 'not' together with uppercase 'MUST', 'SHALL', 'SHOULD', or 'RECOMMENDED' is not an accepted usage according to RFC 2119. Please use uppercase 'NOT' together with RFC 2119 keywords (if that is what you mean). Found 'SHALL not' in this paragraph: jobStartedBeingHeldTime(192), JmTimeStampTC AND/OR DateAndTime INTEGER: The time AND/OR OCTETS: the date and time that the job last entered the pendingHeld state. If the job has never entered the pendingHeld state, then the value SHALL be '0' or the attribute SHALL not be present in the table. == Using lowercase 'not' together with uppercase 'MUST', 'SHALL', 'SHOULD', or 'RECOMMENDED' is not an accepted usage according to RFC 2119. Please use uppercase 'NOT' together with RFC 2119 keywords (if that is what you mean). Found 'SHALL not' in this paragraph: processingStopped state, that elapsed time SHALL not be included. In other words, the jobProcessingCPUTime value SHOULD be relatively repeatable when the same job is processed again on the same device." == Using lowercase 'not' together with uppercase 'MUST', 'SHALL', 'SHOULD', or 'RECOMMENDED' is not an accepted usage according to RFC 2119. Please use uppercase 'NOT' together with RFC 2119 keywords (if that is what you mean). Found 'SHOULD not' in this paragraph: badJob 0x40000000 This job was aborted by the system because this job has a major problem, such as an ill-formed PDL; the spooler SHOULD not even try another device. " REFERENCE "These bit definitions are the equivalent of a type 2 enum except that combinations of them may be used together. See section 3.6.1.2. See the description under JmJobStateReasons1TC and the jobStateReasons2 attribute." == Using lowercase 'not' together with uppercase 'MUST', 'SHALL', 'SHOULD', or 'RECOMMENDED' is not an accepted usage according to RFC 2119. Please use uppercase 'NOT' together with RFC 2119 keywords (if that is what you mean). Found 'SHALL not' in this paragraph: In computing this value, the server/device SHALL not include the multiplicative factors contributed by (1) the number of document copies, and (2) the number of job copies, independent of whether the device can process multiple copies of the job or document without making multiple passes over the job or document data and independent of whether the output is collated or not. Thus the server/device computation is independent of the implementation." ::= { jmJobEntry 5 } == Using lowercase 'not' together with uppercase 'MUST', 'SHALL', 'SHOULD', or 'RECOMMENDED' is not an accepted usage according to RFC 2119. Please use uppercase 'NOT' together with RFC 2119 keywords (if that is what you mean). Found 'SHALL not' in this paragraph: In computing this value, the server/device SHALL not include the multiplicative factors contributed by (1) the number of document copies, and (2) the number of job copies, independent of whether the device can process multiple copies of the job or document without making multiple passes over the job or document data and independent of whether the output is collated or not. Thus the server/device computation is independent of the implementation." ::= { jmJobEntry 7 } == Using lowercase 'not' together with uppercase 'MUST', 'SHALL', 'SHOULD', or 'RECOMMENDED' is not an accepted usage according to RFC 2119. Please use uppercase 'NOT' together with RFC 2119 keywords (if that is what you mean). Found 'SHALL not' in this paragraph: For attributes which do have the 'INTEGER:' tag in the JmAttributeTypeTC definition, if the integer value is not (yet) known, the agent either (1) SHALL not materialize the row in the jmAttributeTable until the value is known or (2) SHALL return a '-2' to represent an 'unknown' counting integer value, a '0' to represent an 'unknown' index value, and a '2' to represent an 'unknown(2)' enum value." ::= { jmAttributeEntry 3 } Job Monitoring MIB, V0.85 Aug 8, 1997 == Using lowercase 'not' together with uppercase 'MUST', 'SHALL', 'SHOULD', or 'RECOMMENDED' is not an accepted usage according to RFC 2119. Please use uppercase 'NOT' together with RFC 2119 keywords (if that is what you mean). Found 'SHALL not' in this paragraph: For attributes which do have the 'OCTETS:' tag in the JmAttributeTypeTC definition, if the OCTET STRING value is not (yet) known, the agent either SHALL not materialize the row in the jmAttributeTable until the value is known or SHALL return a zero-length string." ::= { jmAttributeEntry 4 } Job Monitoring MIB, V0.85 Aug 8, 1997 -- The document seems to lack a disclaimer for pre-RFC5378 work, but may have content which was first submitted before 10 November 2008. If you have contacted all the original authors and they are all willing to grant the BCP78 rights to the IETF Trust, then this is fine, and you can ignore this comment. If not, you may need to add the pre-RFC5378 disclaimer. (See the Legal Provisions document at https://trustee.ietf.org/license-info for more information.) -- The document date (Aug 8, 1997) is 9751 days in the past. Is this intentional? -- Found something which looks like a code comment -- if you have code sections in the document, please surround them with '' and '' lines. Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) == Missing Reference: 'RFC 2130' is mentioned on line 1196, but not defined == Missing Reference: 'IANA' is mentioned on line 2106, but not defined == Missing Reference: 'ISO 8859-1' is mentioned on line 1230, but not defined == Unused Reference: 'ISO 646' is defined on line 4315, but no explicit reference was found in the text == Unused Reference: 'ISO 8859' is defined on line 4318, but no explicit reference was found in the text -- Possible downref: Non-RFC (?) normative reference: ref. 'GB2312' -- Possible downref: Non-RFC (?) normative reference: ref. 'IANA-charsets' -- Possible downref: Non-RFC (?) normative reference: ref. 'ISO 646' -- Possible downref: Non-RFC (?) normative reference: ref. 'ISO 8859' -- Possible downref: Non-RFC (?) normative reference: ref. 'ISO 2022' -- Possible downref: Non-RFC (?) normative reference: ref. 'ISO-10646' -- Possible downref: Non-RFC (?) normative reference: ref. 'JIS X0208' ** Obsolete normative reference: RFC 1903 (ref. 'SMIv2-TC') (Obsoleted by RFC 2579) ** Obsolete normative reference: RFC 1738 (ref. 'URI-spec') (Obsoleted by RFC 4248, RFC 4266) -- Possible downref: Non-RFC (?) normative reference: ref. 'US-ASCII' ** Obsolete normative reference: RFC 2044 (ref. 'UTF-8') (Obsoleted by RFC 2279) Summary: 12 errors (**), 0 flaws (~~), 26 warnings (==), 11 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Job Monitoring MIB, V0.85 Aug 8, 1997 4 INTERNET-DRAFT Ron Bergman 5 Dataproducts Corp. 6 Tom Hastings 7 Xerox Corporation 8 Scott Isaacson 9 Novell, Inc. 10 Harry Lewis 11 IBM Corp. 12 August 8, 1997 14 Job Monitoring MIB - V0.85 16 18 Expires Feb 8, 1997 20 Status of this Memo 22 This document is an Internet-Draft. Internet-Drafts are working 23 documents of the Internet Engineering Task Force (IETF), its areas, 24 and its working groups. Note that other groups may also distribute 25 working documents as Internet-Drafts. 27 Internet-Drafts are draft documents valid for a maximum of six 28 months and may be updated, replaced, or obsoleted by other 29 documents at any time. It is inappropriate to use Internet-Drafts 30 as reference material or to cite them other than as "work in 31 progress." 33 To learn the current status of any Internet-Draft, please check the 34 "1id-abstracts.txt" listing contained in the Internet-Drafts Shadow 35 Directories on ftp.is.co.za (Africa), nic.nordu.net (Europe), 36 munnari.oz.au (Pacific Rim), ds.internic.net (US East Coast), or 37 ftp.isi.edu (US West Coast). 39 Abstract 41 This Internet-Draft specifies a small set of read-only SNMP MIB 42 objects for (1) monitoring the status and progress of print jobs 43 (2) obtaining resource requirements before a job is processed, (3) 44 monitoring resource consumption while a job is being processed and 45 (4) collecting resource accounting data after the completion of a 46 job. This MIB is intended to be implemented (1) in a printer or 47 (2) in a server that supports one or more printers. Use of the 48 object set is not limited to printing. However, support for 49 services other than printing is outside the scope of this Job 50 Job Monitoring MIB, V0.85 Aug 8, 1997 52 Monitoring MIB. Future extensions to this MIB may include, but are 53 not limited to, fax machines and scanners. 55 Job Monitoring MIB, V0.85 Aug 8, 1997 57 TABLE OF CONTENTS 59 1. INTRODUCTION 8 61 1.1 Types of Information in the MIB 8 63 1.2 Types of Job Monitoring Applications 10 65 2. TERMINOLOGY AND JOB MODEL 11 67 2.1 System Configurations for the Job Monitoring MIB 13 68 2.1.1 Configuration 1 - client-printer 14 69 2.1.2 Configuration 2 - client-server-printer - agent in the server14 70 2.1.3 Configuration 3 - client-server-printer - client monitors 71 printer agent and server 16 73 3. MANAGED OBJECT USAGE 17 75 3.1 Conformance Considerations 17 76 3.1.1 Conformance Terminology 18 77 3.1.2 Agent Conformance Requirements 18 78 3.1.2.1 MIB II System Group objects 18 79 3.1.2.2 MIB II Interface Group objects 19 80 3.1.2.3 Printer MIB objects 19 81 3.1.3 Job Monitoring Application Conformance Requirements 19 83 3.2 The Job Tables and the Oldest Active and Newest Active Indexes 19 85 3.3 The Attribute Mechanism 21 86 3.3.1 Conformance of Attribute Implementation 22 87 3.3.2 Useful, 'Unknown', and 'Other' Values for Objects and 88 Attributes 23 89 3.3.3 Data Sub-types and Attribute Naming Conventions 23 90 3.3.4 Single-Value (Row) Versus Multi-Value (MULTI-ROW) Attributes 24 91 3.3.5 Requested Attributes 24 92 3.3.6 Consumption Attributes 26 93 3.3.7 Index Value Attributes 26 95 3.4 Job Identification .............................................26 97 3.5 Internationalization Considerations 26 98 3.5.1 'JmUTF8StringTC' for text generated by the server or device 25 99 3.5.2 'JmJobStringTC' for text generated by the job submitter 25 100 Job Monitoring MIB, V0.85 Aug 8, 1997 102 3.5.3 'DateAndTime' for representing the date and time 25 104 3.6 IANA Considerations 27 105 3.6.1 IANA Registration of enums 28 106 3.6.1.1 Type 1 enumerations 28 107 3.6.1.2 Type 2 enumerations 28 108 3.6.1.3 Type 3 enumeration 29 109 3.6.2 IANA Registration of type 2 bit values 29 110 3.6.3 IANA Registration of Job Submission Id Formats 29 111 3.6.4 IANA Registration of MIME types/sub-types for document-formats29 113 3.7 Security Considerations 30 114 3.7.1 Read-Write objects 30 115 3.7.2 Read-Only Objects In Other User's Jobs 30 117 3.8 Values for Objects 23 119 3.9 Notifications 30 121 4. MIB SPECIFICATION 30 123 Textual conventions for this MIB module 32 124 JmUTF8StringTC 33 125 JmJobStringTC 33 126 JmTimeStampTC 33 127 JmJobSourcePlatformTypeTC 33 128 JmFinishingTC 34 129 JmPrintQualityTC 36 130 JmPrinterResolutionTC 36 131 JmTonerEconomyTC 37 132 JmBooleanTC 37 133 JmMediumTypeTC 38 134 JmJobSubmissionIDTypeTC 39 135 JmJobStateTC 41 136 JmAttributeTypeTC 44 137 other (Int32(-2..) and/or Octets63) 45 138 Job State attributes 45 139 jobStateReasons2 (JmJobStateReasons2TC) 45 140 jobStateReasons3 (JmJobStateReasons3TC) 45 141 jobStateReasons4 (JmJobStateReasons4TC) 45 142 processingMessage (UTF8String63) 45 143 jobCodedCharSet (CodedCharSet) 45 144 Job Identification attributes 46 145 jobAccountName (JobString63) 46 146 serverAssignedJobName (JobString63) 47 147 jobName (JobString63) 47 148 jobServiceTypes (JmJobServiceTypesTC) 48 149 Job Monitoring MIB, V0.85 Aug 8, 1997 151 jobSourceChannelIndex (Int32(0..)) 48 152 jobSourcePlatformType (JmJobSourcePlatformTypeTC) 48 153 submittingServerName (JobString63) 48 154 submittingApplicationName (JobString63) 49 155 jobOriginatingHost (JobString63) 49 156 deviceNameRequested (JobString63) 49 157 queueNameRequested (JobString63) 49 158 physicalDevice (hrDeviceIndex and/or UTF8String63) 49 159 numberOfDocuments (Int32(-2..)) 49 160 fileName (JobString63) 50 161 documentName (JobString63) 50 162 jobComment (JobString63) 50 163 documentFormatIndex (Int32(0..)) 50 164 documentFormat (PrtInterpreterLangFamilyTC and/or Octets63) 50 165 Job Parameter attributes 51 166 jobPriority (Int32(1..100)) 51 167 jobProcessAfterDateAndTime (DateAndTime) 51 168 jobHold (JmBooleanTC) 51 169 jobHoldUntil (JobString63) 52 170 outputBin (Int32(0..) and/or JobString63) 52 171 sides (Int32(-2..2)) 52 172 finishing (JmFinishingTC) 52 173 Image Quality attributes (requested and used) 52 174 printQualityRequested (JmPrintQualityTC) 52 175 printQualityUsed (JmPrintQualityTC) 53 176 printerResolutionRequested (JmPrinterResolutionTC) 53 177 printerResolutionUsed (JmPrinterResolutionTC) 53 178 tonerEcomonyRequested (JmTonerEconomyTC) 53 179 tonerEcomonyUsed (JmTonerEconomyTC) 53 180 tonerDensityRequested (Int32(-2..100)) 53 181 tonerDensityUsed (Int32(-2..100)) 53 182 Job Progress attributes (requested and consumed) 53 183 jobCopiesRequested (Int32(-2..)) 54 184 jobCopiesCompleted (Int32(-2..)) 54 185 documentCopiesRequested (Int32(-2..)) 54 186 documentCopiesCompleted (Int32(-2..)) 54 187 jobKOctetsTransferred (Int32(-2..)) 54 188 Impression attributes (requested and consumed) 55 189 impressionsSpooled (Int32(-2..)) 55 190 impressionsSentToDevice (Int32(-2..)) 55 191 impressionsInterpreted (Int32(-2..)) 55 192 impressionsCompletedCurrentCopy (Int32(-2..)) 55 193 fullColorImpressionsCompleted (Int32(-2..)) 55 194 highlightColorImpressionsCompleted (Int32(-2..)) 55 195 Page attributes (requested and consumed) 56 196 pagesRequested (Int32(-2..)) 56 197 pagesCompleted (Int32(-2..)) 56 198 pagesCompletedCurrentCopy (Int32(-2..)) 56 199 Job Monitoring MIB, V0.85 Aug 8, 1997 201 Sheet attributes (requested and consumed) 57 202 sheetsRequested (Int32(-2..)) 57 203 sheetsCompleted (Int32(-2..)) 57 204 sheetsCompletedCurrentCopy (Int32(-2..)) 57 205 Resource attributes (requested and consumed) 57 206 mediumRequested (JmMediumTypeTC and/or JobString63) 57 207 mediumConsumed (JobString63) 57 208 colorantRequested (Int32(-2..) and/or JobString63) 58 209 colorantConsumed (Int32(-2..) and/or JobString63) 58 210 Time attributes (set by server or device) 58 211 jobSubmissionToServerTime (JmTimeStampTC and/or DateAndTime) 59 212 jobSubmissionTime (JmTimeStampTC and/or DateAndTime) 59 213 jobStartedBeingHeldTime (JmTimeStampTC and/or DateAndTime) 59 214 jobStartedProcessingTime (JmTimeStampTC and/or DateAndTime) 59 215 jobCompletedTime (JmTimeStampTC and/or DateAndTime) 59 216 jobProcessingCPUTime (Int32(-2..)) 59 217 JmJobServiceTypesTC 61 218 JmJobStateReasons1TC 63 219 JmJobStateReasons2TC 67 220 JmJobStateReasons3TC 71 221 JmJobStateReasons4TC 72 223 The General Group (MANDATORY) 73 224 jmGeneralJobSetIndex (Int32(1..32767)) 73 225 jmGeneralNumberOfActiveJobs (Int32(0..)) 74 226 jmGeneralOldestActiveJobIndex (Int32(0..)) 74 227 jmGeneralNewestActiveJobIndex (Int32(0..)) 75 228 jmGeneralJobPersistence (Int32(15..)) 75 229 jmGeneralAttributePersistence (Int32(15..)) 75 230 jmGeneralJobSetName (UTF8String63) 76 232 The Job ID Group (MANDATORY) 76 233 jmJobSubmissionID (OCTET STRING(SIZE(48))) 77 234 jmJobIDJobSetIndex (Int32(1..32767)) 78 235 jmJobIDJobIndex (Int32(1..)) 78 237 The Job Group (MANDATORY) 79 238 jmJobIndex (Int32(1..)) 80 239 jmJobState (JmJobStateTC) 80 240 jmJobStateReasons1 (JmJobStateReasons1TC) 81 241 jmNumberOfInterveningJobs (Int32(-2..)) 81 242 jmJobKOctetsRequested (Int32(-2..)) 81 243 jmJobKOctetsProcessed (Int32(-2..)) 82 244 jmJobImpressionsRequested (Int32(-2..)) 83 245 jmJobImpressionsCompleted (Int32(-2..)) 83 246 jmJobOwner (JobString63) 83 248 The Attribute Group (MANDATORY) 84 249 Job Monitoring MIB, V0.85 Aug 8, 1997 251 jmAttributeTypeIndex (JmAttributeTypeTC) 86 252 jmAttributeInstanceIndex (Int32(1..32767)) 86 253 jmAttributeValueAsInteger (Int32(-2..)) 87 254 jmAttributeValueAsOctets (Octets63) 88 256 5. APPENDIX A - IMPLEMENTING THE JOB LIFE CYCLE 91 258 6. APPENDIX B - SUPPORT OF THE JOB SUBMISSION ID IN JOB SUBMISSION 259 PROTOCOLS 92 261 6.1 Hewlett-Packard's Printer Job Language (PJL) 92 263 6.2 ISO DPA 92 265 7. REFERENCES 93 267 8. AUTHOR'S ADDRESSES 94 269 9. INDEX 97 270 Job Monitoring MIB, V0.85 Aug 8, 1997 272 Job Monitoring MIB 274 1. Introduction 276 The Job Monitoring MIB is intended to be implemented by an agent within 277 a printer or the first server closest to the printer, where the printer 278 is either directly connected to the server only or the printer does not 279 contain the job monitoring MIB agent. It is recommended that 280 implementations place the SNMP agent as close as possible to the 281 processing of the print job. This MIB applies to printers with and 282 without spooling capabilities. This MIB is designed to be compatible 283 with most current commonly-used job submission protocols. In most 284 environments that support high function job submission/job control 285 protocols, like ISO DPA[iso-dpa], those protocols would be used to 286 monitor and manage print jobs rather than using the Job Monitoring MIB. 288 The Job Monitoring MIB consists of a General Group, a Job Submission ID 289 Group, a Job Group, and an Attribute Group. Each group is a table. All 290 accessible objects are read-only. The General Group contains general 291 information that applies to all jobs in a job set. The Job Submission 292 ID table maps the job submission ID that the client uses to identify a 293 job to the jmJobIndex that the Job Monitoring Agent uses to identify 294 jobs in the Job and Attribute tables. The Job table contains the 295 MANDATORY integer job state and status objects. The Attribute table 296 consists of multiple entries per job that specify (1) job and document 297 identification and parameters, (2) requested resources, and (3) 298 consumed resources during and after job processing/printing. A larger 299 number of job attributes are defined as textual conventions that an 300 agent SHALL return if the server or device implements the functionality 301 so represented and the agent has access to the information. 303 1.1 Types of Information in the MIB 305 The job MIB is intended to provide the following information for the 306 indicated Role Models in the Printer MIB[print-mib] (Appendix D - Roles 307 of Users). 309 User: 311 Provide the ability to identify the least busy printer. The user 312 will be able to determine the number and size of jobs waiting for 313 each printer. No attempt is made to actually predict the length 314 of time that jobs will take. 316 Provide the ability to identify the current status of the user's 317 job (user queries). 319 Job Monitoring MIB, V0.85 Aug 8, 1997 321 Provide a timely indication that the job has completed and where 322 it can be found. 324 Provide error and diagnostic information for jobs that did not 325 successfully complete. 327 Operator: 329 Provide a presentation of the state of all the jobs in the print 330 system. 332 Provide the ability to identify the user that submitted the print 333 job. 335 Provide the ability to identify the resources required by each 336 job. 338 Provide the ability to define which physical printers are 339 candidates for the print job. 341 Provide some idea of how long each job will take. However, exact 342 estimates of time to process a job is not being attempted. 343 Instead, objects are included that allow the operator to be able 344 to make gross estimates. 346 Capacity Planner: 348 Provide the ability to determine printer utilization as a function 349 of time. 351 Provide the ability to determine how long jobs wait before 352 starting to print. 354 Accountant: 356 Provide information to allow the creation of a record of resources 357 consumed and printer usage data for charging users or groups for 358 resources consumed. 360 Provide information to allow the prediction of consumable usage 361 and resource need. 363 The MIB supports printers that can contain more than one job at a time, 364 but still be usable for low end printers that only contain a single job 365 at a time. In particular, the MIB supports the needs of Windows and 366 other PC environments for managing low-end direct-connect (serial or 367 parallel) and networked devices without unnecessary overhead or 368 complexity, while also providing for higher end systems and devices. 370 Job Monitoring MIB, V0.85 Aug 8, 1997 372 1.2 Types of Job Monitoring Applications 374 The Job Monitoring MIB is designed for the following types of monitoring 375 applications: 377 1. Monitor a single job starting when the job is submitted and ending 378 a defined period after the job completes. The Job Submission ID 379 table provides the map to find the specific job to be monitored. 381 2. Monitor all 'active' jobs in a queue, which this specification 382 generalizes to a "job set". End users may use such a program when 383 selecting a least busy printer, so the MIB is designed for such a 384 program to start up quickly and find the information needed 385 quickly without having to read all (completed) jobs in order to 386 find the active jobs. System operators may also use such a 387 program, in which case it would be running for a long period of 388 time and may also be interested in the jobs that have completed. 389 Finally such a program may be used to provide an enhanced console 390 and logging capability. 392 3. Collect resource usage for accounting or system utilization 393 purposes that copy the completed job statistics to an accounting 394 system. It is recognized that depending on accounting programs to 395 copy MIB data during the job-retention period is somewhat 396 unreliable, since the accounting program may not be running (or 397 may have crashed). Such a program is also expected to keep a 398 shadow copy of the entire Job Attribute table including completed, 399 canceled, and aborted jobs which the program updates on each 400 polling cycle. Such a program polls at the rate of the 401 persistence of the Attribute table. The design is not optimized 402 to help such an application determine which jobs are completed, 403 canceled, or aborted. Instead, the application SHALL query each 404 job that the application's shadow copy shows was not complete, 405 canceled, or aborted at the previous poll cycle to see if it is 406 now complete or canceled, plus any new jobs that have been 407 submitted. 409 The MIB provides a set of objects that represent a compatible subset of 410 job and document attributes of the ISO DPA standard[iso-dpa] and the 411 Internet Printing Protocol (IPP)[ipp-model], so that coherence is 412 maintained between these two protocols and the information presented to 413 end users and system operators by monitoring applications. However, the 414 job monitoring MIB is intended to be used with printers that implement 415 other job submitting and management protocols, such as IEEE 1284.1 416 (TIPSI)[tipsi], as well as with ones that do implement ISO DPA. Thus 417 the job monitoring MIB does not require implementation of either the ISO 418 DPA or IPP protocols. 420 Job Monitoring MIB, V0.85 Aug 8, 1997 422 The MIB is designed so that an additional MIB(s) can be specified in the 423 future for monitoring multi-function (scan, FAX, copy) jobs as an 424 augmentation to this MIB. 426 2. Terminology and Job Model 428 This section defines the terms that are used in this specification and 429 the general model for jobs. 431 NOTE - Existing systems use conflicting terms, so these terms are 432 drawn from the ISO 10175 Document Printing Application (DPA) 433 standard[iso-dpa]. For example, PostScript systems use the term 434 session for what is called a job in this specification and the term 435 job to mean what is called a document in this specification. PJL 436 systems use the term job to mean what is called a job in this 437 specification. PJL also supports multiple documents per job, but does 438 not support specifying per-document attributes independently for each 439 document. 441 Job: a unit of work whose results are expected together without 442 interjection of unrelated results. A job contains one or more 443 documents. 445 Job Set: a group of jobs that are queued and scheduled together 446 according to a specified scheduling algorithm for a specified device or 447 set of devices. For implementations that embed the SNMP agent in the 448 device, the MIB job set normally represents all the jobs known to the 449 device, so that the implementation only implements a single job set. If 450 the SNMP agent is implemented in a server that controls one or more 451 devices, each MIB job set represents a job queue for (1) a specific 452 device or (2) set of devices, if the server uses a single queue to load 453 balance between several devices. Each job set is disjoint; no job SHALL 454 be represented in more than one MIB job set. 456 Document: a sub-section within a job that contains print data and 457 document instructions that apply to just the document. 459 Client: the network entity that end users use to submit jobs to 460 spoolers, servers, or printers and other devices, depending on the 461 configuration, using any job submission protocol over a serial or 462 parallel port to a directly-connected device or over the network to a 463 networked-connected device. 465 Server: a network entity that accepts jobs from clients and in turn 466 submits the jobs to printers and other devices that may be directly 467 connected to the server via a serial or parallel port or may be on the 468 network. A server MAY be a printer supervisor control program, or a 469 print spooler. 471 Job Monitoring MIB, V0.85 Aug 8, 1997 473 Device: a hardware entity that (1) interfaces to humans in human 474 perceptible means, such as produces marks on paper, scans marks on paper 475 to produce an electronic representations, or writes CD-ROMs or (2) 476 interfaces electronically to another device, such as sends FAX data to 477 another FAX device. 479 Printer: a device that puts marks on media. 481 Supervisor: a server that contains a control program that controls a 482 printer or other device. A supervisor is a client to the printer or 483 other device. 485 Spooler: a server that accepts jobs, spools the data, and decides when 486 and on which printer to print the job. A spooler is a client to a 487 printer or a printer supervisor, depending on implementation. 489 Spooling: the act of a device or server of (1) accepting jobs and (2) 490 writing the job's attributes and document data on to secondary storage. 492 Queuing: the act of a device or server of ordering (queuing) the jobs 493 for the purposes of scheduling the jobs to be processed. 495 Monitor or Job Monitoring Application: the SNMP management application 496 that End Users, and System Operators use to monitor jobs using SNMP. A 497 monitor MAY be either a separate application or MAY be part of the 498 client that also submits jobs. 500 Accounting Application: the SNMP management application that copies job 501 information to some more permanent medium so that another application 502 can perform accounting on the data for Accountants, Asset Managers, and 503 Capacity Planners use. 505 Agent: the network entity that accepts SNMP requests from a monitor or 506 accounting application and provides access to the instrumentation for 507 managing jobs modeled by the management objects defined in the Job 508 Monitoring MIB module for a server or a device. 510 Proxy: an agent that acts as a concentrator for one or more other 511 agents by accepting SNMP operations on the behalf of one or more other 512 agents, forwarding them on to those other agents, gathering responses 513 from those other agents and returning them to the original requesting 514 monitor. 516 User: a person that uses a client or a monitor. 518 End User: a user that uses a client to submit a print job. 520 Job Monitoring MIB, V0.85 Aug 8, 1997 522 System Operator: a user that uses a monitor to monitor the system and 523 carries out tasks to keep the system running. 525 System Administrator: a user that specifies policy for the system. 527 Job Instruction: an instruction specifying how, when, or where the job 528 is to be processed. Job instructions MAY be passed in the job 529 submission protocol or MAY be embedded in the document data or a 530 combination depending on the job submission protocol and implementation. 532 Document Instruction: an instruction specifying how to process the 533 document. Document instructions MAY be passed in the job submission 534 protocol separate from the actual document data, or MAY be embedded in 535 the document data or a combination, depending on the job submission 536 protocol and implementation. 538 SNMP Information Object: a name, value-pair that specifies an action, a 539 status, or a condition in an SNMP MIB. Objects are identified in SNMP 540 by an OBJECT IDENTIFIER. 542 Attribute: a name, value-pair that specifies a job or document 543 instruction, a status, or a condition of a job or a document that has 544 been submitted to a server or device. A particular attribute NEED NOT 545 be present in each job instance. In other words, attributes are present 546 in a job instance only when there is a need to express the value, either 547 because (1) the client supplied a value in the job submission protocol, 548 (2) the document data contained an embedded attribute, or (3) the server 549 or device supplied a default value. An agent SHALL represent an 550 attribute as an entry (row) in the Attribute table in this MIB in which 551 entries are present only when necessary. Attributes are identified in 552 this MIB by an enum. 554 Job Monitoring (using SNMP): the activity of a management application 555 of accessing the MIB and (1) identifying jobs in the job tables being 556 processed by the server, printer or other devices, and (2) displaying 557 information to the user about the processing of the job. 559 Job Accounting: the activity of a management application of accessing 560 the MIB and recording what happens to the job during and after the 561 processing of the job. 563 2.1 System Configurations for the Job Monitoring MIB 565 This section enumerates the three configurations in which the Job 566 Monitoring MIB is intended to be used. To simplify the pictures, the 567 devices are shown as printers. See section 1.1 entitled "Types of 568 Information in the MIB". 570 Job Monitoring MIB, V0.85 Aug 8, 1997 572 The diagram in the Printer MIB[print-mib] entitled: "One Printer's View 573 of the Network" is assumed for this MIB as well. Please refer to that 574 diagram to aid in understanding the following system configurations. 576 2.1.1 Configuration 1 - client-printer 578 In the client-printer configuration 1, the client(s) submit jobs 579 directly to the printer, either by some direct connect, or by network 580 connection. 582 The job submitting client and/or monitoring application monitor jobs by 583 communicating directly with an agent that is part of the printer. The 584 agent in the printer SHALL keep the job in the Job Monitoring MIB as 585 long as the job is in the printer, plus a defined time period after the 586 job enters the completed state in which accounting programs can copy out 587 the accounting data from the Job Monitoring MIB. 589 all end-user ######## SNMP query 590 +-------+ +--------+ ---- job submission 591 |monitor| | client | 592 +---#---+ +--#--+--+ 593 # # | 594 # ############ | 595 # # | 596 +==+===#=#=+==+ | 597 | | agent | | | 598 | +-------+ | | 599 | PRINTER <--------+ 600 | | Print Job Delivery Channel 601 | | 602 +=============+ 604 Figure 2-1 - Configuration 1 - client-printer - agent in the printer 606 The Job Monitoring MIB is designed to support the following 607 relationships (not shown in Figure 2-1): 608 1. Multiple clients MAY submit jobs to a printer. 609 2. Multiple clients MAY monitor a printer. 610 3. Multiple monitors MAY monitor a printer. 611 4. A client MAY submit jobs to multiple printers. 612 5. A monitor MAY monitor multiple printers. 614 2.1.2 Configuration 2 - client-server-printer - agent in the server 616 In the client-server-printer configuration 2, the client(s) submit jobs 617 to an intermediate server by some network connection, not directly to 618 Job Monitoring MIB, V0.85 Aug 8, 1997 620 the printer. While configuration 2 is included, the design center for 621 this MIB is configurations 1 and 3. 623 The job submitting client and/or monitoring application monitor jobs by 624 communicating directly with: 626 A Job Monitoring MIB agent that is part of the server (or a front 627 for the server) 629 There is no SNMP Job Monitoring MIB agent in the printer in 630 configuration 2, at least that the client or monitor are aware. In this 631 configuration, the agent SHALL return the current values of the objects 632 in the Job Monitoring MIB both for jobs the server keeps and jobs that 633 the server has submitted to the printer. The Job Monitoring MIB agent 634 SHALL obtain the required information from the printer by a method that 635 is beyond the scope of this document. The agent in the server SHALL 636 keep the job in the Job Monitoring MIB in the server as long as the job 637 is in the printer, plus a defined time period after the job enters the 638 completed state in which accounting programs can copy out the accounting 639 data from the Job Monitoring MIB. 641 all end-user 642 +-------+ +----------+ 643 |monitor| | client | ######## SNMP query 644 +---+---# +---#----+-+ **** non-SNMP cntrl 645 # # | ---- job submission 646 # # | 647 # # | 648 #=====#=+==v==+ 649 | agent | | 650 +-------+ | 651 | server | 652 +----+-----+--+ 653 control * | 654 ********** | 655 * | 656 +========v====+ | 657 | | | 658 | | | 659 | PRINTER <---------+ 660 | | Print Job Delivery Channel 661 | | 662 +=============+ 664 Figure 2-2 - Configuration 2 - client-server-printer - agent in the 665 server 666 Job Monitoring MIB, V0.85 Aug 8, 1997 668 The Job Monitoring MIB is designed to support the following 669 relationships (not shown in Figure 2-2): 670 1. Multiple clients MAY submit jobs to a server. 671 2. Multiple clients MAY monitor a server. 672 3. Multiple monitors MAY monitor a server. 673 4. A client MAY submit jobs to multiple servers. 674 5. A monitor MAY monitor multiple servers. 675 6. Multiple servers MAY submit jobs to a printer. 676 7. Multiple servers MAY control a printer. 678 2.1.3 Configuration 3 - client-server-printer - client monitors printer 679 agent and server 681 In the client-server-printer configuration 3, the client(s) submit jobs 682 to an intermediate server by some network connection, not directly to 683 the printer. That server does not contain a Job Monitoring MIB agent. 685 The job submitting client and/or monitoring application monitor jobs by 686 communicating directly with: 688 1. The server using some undefined protocol to monitor jobs in the 689 server (that does not contain the Job Monitoring MIB) AND 691 2. A Job Monitoring MIB agent that is part of the printer to monitor 692 jobs after the server passes the jobs to the printer. In such 693 configurations, the server deletes its copy of the job from the 694 server after submitting the job to the printer usually almost 695 immediately (before the job does much processing, if any). 697 In configuration 3, the agent (in the printer) SHALL keep the values of 698 the objects in the Job Monitoring MIB that the agent implements updated 699 for a job that the server has submitted to the printer. The agent SHALL 700 obtain information about the jobs submitted to the printer from the 701 server (either in the job submission protocol, in the document data, or 702 by direct query of the server), in order to populate some of the objects 703 the Job Monitoring MIB in the printer. The agent in the printer SHALL 704 keep the job in the Job Monitoring MIB as long as the job is in the 705 Printer, and longer in order to implement the completed state in which 706 monitoring programs can copy out the accounting data from the Job 707 Monitoring MIB. 709 Job Monitoring MIB, V0.85 Aug 8, 1997 711 all end-user 712 +-------+ +----------+ 713 |monitor| | client | ######## SNMP query 714 +---+---* +---*----+-+ **** non-SNMP query 715 # * * | ---- job submission 716 # * * | 717 # * * | 718 # *=====v====v==+ 719 # | | 720 # | server | 721 # | | 722 # +----#-----+--+ 723 # optional# | 724 # ########## | 725 # # | 726 +==+=v===v=+==+ | 727 | | agent | | | 728 | +-------+ | | 729 | PRINTER <---------+ 730 | | Print Job Delivery Channel 731 | | 732 +=============+ 734 Figure 2-3 - Configuration 3 - client-server-printer - client monitors 735 printer agent and server 737 The Job Monitoring MIB is designed to support the following 738 relationships (not shown in Figure 2-3): 739 1. Multiple clients MAY submit jobs to a server. 740 2. Multiple clients MAY monitor a server. 741 3. Multiple monitors MAY monitor a server. 742 4. A client MAY submit jobs to multiple servers. 743 5. A monitor MAY monitor multiple servers. 744 6. Multiple servers MAY submit jobs to a printer. 745 7. Multiple servers MAY control a printer. 747 3. Managed Object Usage 749 This section describes the usage of the objects in the MIB. 751 3.1 Conformance Considerations 753 In order to achieve interoperability between job monitoring applications 754 and job monitoring agents, this specification includes the conformance 755 requirements for both monitoring applications and agents. 757 Job Monitoring MIB, V0.85 Aug 8, 1997 759 3.1.1 Conformance Terminology 761 This specification uses the verbs: "SHALL", "SHOULD", "MAY", and "NEED 762 NOT" to specify conformance requirements according to RFC 2119 [req- 763 words] as follows: 765 . "SHALL": indicates an action that the subject of the sentence must 766 implement in order to claim conformance to this specification 768 . "MAY": indicates an action that the subject of the sentence does 769 not have to implement in order to claim conformance to this 770 specification, in other words that action is an implementation 771 option 773 . "NEED NOT": indicates an action that the subject of the sentence 774 does not have to implement in order to claim conformance to this 775 specification. The verb "NEED NOT" is used instead of "may not", 776 since "may not" sounds like a prohibition. 778 . "SHOULD": indicates an action that is recommended for the subject 779 of the sentence to implement, but is not required, in order to 780 claim conformance to this specification. 782 3.1.2 Agent Conformance Requirements 784 A conforming agent: 786 1. SHALL implement all MANDATORY groups in this specification. 788 2. SHALL implement any attributes if (1) the server or device 789 supports the functionality represented by the attribute and (2) 790 the information is available to the agent. 792 3. SHOULD implement both forms of an attribute if it implements an 793 attribute that permits a choice of INTEGER and OCTET STRING forms, 794 since implementing both forms may help management applications by 795 giving them a choice of representations, since the representation 796 are equivalent. See the JmAttributeTypeTC textual-convention. 798 4. NOTE - This MIB, like the Printer MIB, is written following the 799 subset of SMIv2 that can be supported by SMIv1 and SNMPv1 800 implementations. 802 3.1.2.1 MIB II System Group objects 804 The Job Monitoring MIB agent SHALL implement all objects in the System 805 Group of MIB-II[mib-II], whether the Printer MIB[print-mib] is 806 implemented or not. 808 Job Monitoring MIB, V0.85 Aug 8, 1997 810 3.1.2.2 MIB II Interface Group objects 812 The Job Monitoring MIB agent SHALL implement all objects in the 813 Interfaces Group of MIB-II[mib-II], whether the Printer MIB[print-mib] 814 is implemented or not. 816 3.1.2.3 Printer MIB objects 818 If the agent is providing access to a device that is a printer, the 819 agent SHALL implement all of the MANDATORY objects in the Printer 820 MIB[print-mib] and all the objects in other MIBs that conformance to the 821 Printer MIB requires, such as the Host Resources MIB[hr-mib]. If the 822 agent is providing access to a server that controls one or more direct- 823 connect or networked printers, the agent NEED NOT implement the Printer 824 MIB and NEED NOT implement the Host Resources MIB. 826 3.1.3 Job Monitoring Application Conformance Requirements 828 A conforming job monitoring application: 830 1. SHALL accept the full syntactic range for all objects in all 831 MANDATORY groups and all MANDATORY attributes that are required to 832 be implemented by an agent according to Section 3.1.2 and SHALL 833 either present them to the user or ignore them. 835 2. SHALL accept the full syntactic range for all attributes, 836 including enum and bit values specified in this specification and 837 additional ones that may be registered with IANA and SHALL either 838 present them to the user or ignore them. In particular, a 839 conforming job monitoring application SHALL not malfunction when 840 receiving any standard or registered enum or bit values. See 841 Section 3.6 entitled "IANA Considerations". 843 3. SHALL NOT fail when operating with agents that materialize 844 attributes after the job has been submitted, as opposed to when 845 the job is submitted. 847 4. SHALL, if it supports a time attribute, accept either form of the 848 time attribute, since agents are free to implement either time 849 form. 851 3.2 The Job Tables and the Oldest Active and Newest Active Indexes 853 The jmJobTable and jmAttributeTable contain objects and attributes, 854 respectively, for each job in a job set. These first two indexes are: 855 1. jmGeneralJobSetIndex - which job set 856 2. jmJobIndex - which job in the job set 857 Job Monitoring MIB, V0.85 Aug 8, 1997 859 In order for a monitoring application to quickly find that active jobs 860 (jobs in the pending, processing, or processingStopped states), the MIB 861 contains two indexes: 863 1. jmGeneralOldestActiveJobIndex - the index of the active job that 864 has been in the tables the longest. 866 2. jmGeneralNewestActiveJobIndex - the index of the active job that 867 has been most recently added to the tables. 869 The agent SHALL assign the next incremental value of jmJobIndex to the 870 job, when a new job is accepted by the server or device to which the 871 agent is providing access. If the incremented value of jmJobIndex would 872 exceed the implementation-defined maximum value for jmJobIndex, the 873 agent SHALL 'wrap' back to 1. An agent uses the resulting value of 874 jmJobIndex for storing information in the jmJobTable and the 875 jmAttributeTable about the job. 877 It is recommended that the largest value for jmJobIndex be much larger 878 than the maximum number of jobs that the implementation can contain at a 879 single time, so as to minimize the premature re-use of a jmJobIndex 880 value for a newer job while clients retain the same 'stale' value for an 881 older job. 883 It is recommended that agents that are providing access to 884 servers/devices that already allocate job-identifiers for jobs as 885 integers use the same integer value for the jmJobIndex. Then the jobs 886 will have the same job identifier value as the jmJobIndex value, so that 887 users viewing jobs by management applications using this MIB and 888 applications using other protocols will see the same job identifiers for 889 the same jobs. Agents providing access to systems that contain jobs 890 with a job identifier of 0 SHALL map the job identifier value 0 to a 891 jmJobIndex value that is one higher than the highest job identifier 892 value that any job can have on that system. Then only job 0 will have a 893 different job-identifier value than the job's jmJobIndex value. 895 NOTE - If a server or device accepts jobs using multiple job submission 896 protocols, it may be difficult for the agent to meet the recommendation 897 to use the job-identifier values that the server or device assigns as 898 the jmJobIndex value, unless the server/device assigns job-identifiers 899 for each of its job submission protocols from the same job-identifier 900 number space. 902 Each time a new job is accepted by the server or device that the agent 903 is providing access to AND that job is to be 'active' (pending, 904 processing, or processingStopped, but not pendingHeld), the agent SHALL 905 copy the value of the job's jmJobIndex to the 906 jmGeneralNewestActiveJobIndex object. If the new job is to be 907 Job Monitoring MIB, V0.85 Aug 8, 1997 909 'inactive' (pendingHeld state), the agent SHALL not change the value of 910 jmGeneralNewestActiveJobIndex object (though the agent SHALL assign the 911 next incremental jmJobIndex value to the job). 913 When a job transitions from one of the 'active' job states (pending, 914 processing, processingStopped) to one of the 'inactive' job states 915 (pendingHeld, completed, canceled, or aborted), with a jmJobIndex value 916 that matches the jmGeneralOldestActiveJobIndex object, the agent SHALL 917 advance (or wrap) the value to the next oldest 'active' job, if any. 918 See the JmJobStateTC textual-convention for a definition of the job 919 states. 921 Whenever a job transitions from one of the 'inactive' job states to one 922 of the 'active' job states (from pendingHeld to pending or processing), 923 the agent SHALL update the value of either the 924 jmGeneralOldestActiveJobIndex or the jmGeneralNewestActiveJobIndex 925 objects, or both, if the job's jmJobIndex value is outside the range 926 between jmGeneralOldestActiveJobIndex and jmGeneralNewestActiveJobIndex. 928 When all jobs become 'inactive', i.e., enter the pendingHeld, completed, 929 canceled, or aborted states, the agent SHALL set the value of both the 930 jmGeneralOldestActiveJobIndex and jmGeneralNewestActiveJobIndex objects 931 to 0. 933 NOTE - Applications that wish to efficiently access all of the active 934 jobs MAY use jmGeneralOldestActiveJobIndex value to start with the 935 oldest active job and continue until they reach the index value equal to 936 jmGeneralNewestActiveJobIndex, skipping over any pendingHeld, completed, 937 canceled, or aborted jobs that might intervene. 939 If an application detects that the jmGeneralNewestActiveJobIndex is 940 smaller than jmGeneralOldestActiveJobIndex, the job index has wrapped. 941 In this case, the application SHALL reset the index to 1 when the end of 942 the table is reached and continue the GetNext operations to find the 943 rest of the active jobs. 945 NOTE - Application detect the end of the jmAttributeTable table when the 946 OID returned by the GetNext operation is an OID in a different MIB. 947 There is no object in this MIB that specifies the maximum value for the 948 jmJobIndex supported by the implementation. 950 When the server or device is power-cycled, the agent SHALL remember the 951 next jmJobIndex value to be assigned, so that new jobs are not assigned 952 the same jmJobIndex as recent jobs before the power cycle. 954 Job Monitoring MIB, V0.85 Aug 8, 1997 956 3.3 The Attribute Mechanism 958 Attributes are similar to information objects, except that attributes 959 are identified by an enum, instead of an OID, so that attributes may be 960 registered without requiring a new MIB. Also an implementation that 961 does not have the functionality represented by the attribute can omit 962 the attribute entirely, rather than having to return a distinguished 963 value. The agent is free to materialize an attribute in the 964 jmAttributeTable as soon as the agent is aware of the value of the 965 attribute. 967 The agent materializes job attributes in a four-indexed 968 jmAttributeTable: 970 1. jmGeneralJobSetIndex - which job set 972 2. jmJobIndex - which job in the job set 974 3. jmAttributeTypeIndex - which attribute 976 4. jmAttributeInstanceIndex - which attribute instance for those 977 attributes that can have multiple values per job. 979 Some attributes represent information about a job, such as a file-name, 980 a document-name, a submission-time or a completion time. Other 981 attributes represent resources required, e.g., a medium or a colorant, 982 etc. to process the job before the job starts processing OR to indicate 983 the amount of the resource consumed during and after processing, e.g., 984 pages completed or impressions completed. If both a required and a 985 consumed value of a resource is needed, this specification assigns two 986 separate attribute enums in the textual convention. 988 NOTE - The table of contents lists all the attributes in order. This 989 order is the order of enum assignments which is the order that the SNMP 990 GetNext operation returns attributes. Most attributes apply to all 991 three configurations covered by this MIB specification (see section 2.1 992 entitled "System Configurations for the Job Monitoring MIB"). Those 993 attributes that apply to a particular configuration are indicated as 994 'Configuration n:' and SHALL NOT be used with other configurations. 996 3.3.1 Conformance of Attribute Implementation 998 An agent SHALL implement any attribute if (1) the server or device 999 supports the functionality represented by the attribute and (2) the 1000 information is available to the agent. The agent MAY create the 1001 attribute row in the jmAttributeTable when the information is available 1002 or MAY create the row earlier with the designated 'unknown' value 1003 appropriate for that attribute. See next section. 1005 Job Monitoring MIB, V0.85 Aug 8, 1997 1007 If the server or device does not implement or does not provide access to 1008 the information about an attribute, the agent SHOULD NOT create the 1009 corresponding row in the jmAttributeTable. 1011 3.3.2 Useful, 'Unknown', and 'Other' Values for Objects and Attributes 1013 Some attributes have a 'useful' Integer32 value, some have a 'useful' 1014 OCTET STRING value, some MAY have either or both depending on 1015 implementation, and some MUST have both. See the JmAttributeTypeTC 1016 textual convention for the specification of each attribute. 1018 SNMP requires that if an object cannot be implemented because its values 1019 cannot be accessed, then a compliant agent SHALL return an SNMP error in 1020 SNMPv1 or an exception value in SNMPv2. However, this MIB has been 1021 designed so that 'all' objects can and SHALL be implemented by an agent, 1022 so that neither the SNMPv1 error nor the SNMPv2 exception value SHALL be 1023 generated by the agent. This MIB has also been designed so that when an 1024 agent materializes an attribute, the agent SHALL materialize a row 1025 consisting of both the jmAttributeValueAsInteger and 1026 jmAttributeValueAsOctets objects. 1028 In general, values for objects and attributes have been chosen so that a 1029 management application will be able to determine whether a 'useful', 1030 'unknown', or 'other' value is available. When a useful value is not 1031 available for an object that agent SHALL return a zero-length string for 1032 octet strings, the value 'unknown(2)' for enums, a '0' value for an 1033 object that represents an index in another table, and a value '-2' for 1034 counting integers. 1036 Since each attribute is represented by a row consisting of both the 1037 jmAttributeValueAsInteger and jmAttributeValueAsOctets MANDATORY 1038 objects, SNMP requires that the agent SHALL always create an attribute 1039 row with both objects specified. However, for most attributes the agent 1040 SHALL return a "useful" value for one of the objects and SHALL return 1041 the 'other' value for the other object. For integer only attributes, 1042 the agent SHALL always return a zero-length string value for the 1043 jmAttributeValueAsOctets object. For octet string only attributes, the 1044 agent SHALL always return a '-1' value for the jmAttributeValueAsInteger 1045 object. 1047 3.3.3 Data Sub-types and Attribute Naming Conventions 1049 Many attributes are sub-typed to give a more specific data type than 1050 Integer32 or OCTET STRING. The data sub-type of each attribute is 1051 indicated on the first line(s) of the description. Some attributes have 1052 several different data sub-type representations. When an attribute has 1053 both an Integer32 data sub-type and an OCTET STRING data sub-type, the 1054 attribute can be represented in a single row in the jmAttributeTable. 1056 Job Monitoring MIB, V0.85 Aug 8, 1997 1058 In this case, the data sub-type name is not included as the last part of 1059 the name of the attribute, e.g., documentFormat(38) which is both an 1060 enum and/or a name. When the data sub-types cannot be represented by a 1061 single row in the jmAttributeTable, each such representation is 1062 considered a separate attribute and is assigned a separate name and enum 1063 value. For these attributes, the name of the data sub-type is the last 1064 part of the name of the attribute: Name, Index, DateAndTime, TimeStamp, 1065 etc. For example, documentFormatIndex(37) is an index. 1067 NOTE: The Table of Contents also lists the data sub-type and/or data 1068 sub-types of each attribute, using the textual-convention name when such 1069 is defined. The following abbreviations are used in the Table of 1070 Contents as shown: 1071 'Int32(-2..)' Integer32(-2..2147483647) 1072 'Int32(0..)' Integer32(0..2147483647) 1073 'Int32(1..)' Integer32(1..2147483647) 1074 'Int32(m..n)' For all other Integer ranges, the lower 1075 and upper bound of the range is 1076 indicated. 1077 'UTF8String63' JmUTF8StringTC(SIZE(0..63)) 1078 'JobString63' JmJobStringTC(SIZE(0..63)) 1079 'Octets63' OCTET STRING(SIZE(0..63)) 1080 'Octets(m..n)' For all other OCTET STRING ranges, the 1081 exact range is indicated. 1083 3.3.4 Single-Value (Row) Versus Multi-Value (MULTI-ROW) Attributes 1085 Most attributes SHALL have only one row per job. However, a few 1086 attributes can have multiple values per job or even per document, where 1087 each value is a separate row in the jmAttributeTable. Unless indicated 1088 with 'MULTI-ROW:' in the JmAttributeTypeTC description, an agent SHALL 1089 ensure that each attribute occurs only once in the jmAttributeTable for 1090 a job. Most of the 'MULTI-ROW' attributes do not allow duplicate 1091 values, i.e., the agent SHALL ensure that each value occurs only once 1092 for a job. Only if the specification of the 'MULTI-ROW' attribute also 1093 says "the values NEED NOT be unique" can the agent allow duplicate 1094 values to occur for the job. 1096 NOTE - Duplicates are allowed for 'extensive' 'MULTI-ROW' attributes, 1097 such as fileName(34) or documentName(35) which are specified to be 'per- 1098 document' attributes, but are not allowed for 'intensive' 'MULTI-ROW' 1099 attributes, such as mediumConsumed(171) and documentFormat(38) which are 1100 specified to be 'per-job' attributes. 1102 3.3.5 Requested Attributes 1104 A number of attributes record requirements for the job. Such attribute 1105 names end with the word 'Requested'. In the interests of brevity, the 1106 Job Monitoring MIB, V0.85 Aug 8, 1997 1108 phrase 'requested' SHALL mean: (1) requested by the client (or 1109 intervening server) in the job submission protocol and MAY also mean (2) 1110 embedded in the submitted document data, and/or (3) defaulted by the 1111 recipient device or server with the same semantics as if the requester 1112 had supplied, depending on implementation. 1114 3.3.6 Consumption Attributes 1116 A number of attributes record consumption. Such attribute names end 1117 with the word 'Completed' or 'Consumed'. If the job has not yet 1118 consumed what that resource is metering, the agent either: (1) SHALL 1119 return the value 0 or (2) SHALL not add this attribute to the 1120 jmAttributeTable until the consumption begins. In the interests of 1121 brevity, the semantics for 0 is specified once here and is not repeated 1122 for each consumptive attribute specification. 1124 3.3.7 Index Value Attributes 1126 A number of attributes are indexes in other tables. Such attribute 1127 names end with the word 'Index'. If the agent has not (yet) assigned an 1128 index value for a particular index attribute for a job, the agent SHALL 1129 either: (1) return the value 0 or (2) not add this attribute to the 1130 jmAttributeTable until the index value is assigned. In the interests of 1131 brevity, the semantics for 0 is specified once here and is not repeated 1132 for each index attribute specification. 1134 3.4 Job Identification 1136 There are a number of attributes that permit a user, operator or system 1137 administrator to identify jobs of interest, such as jobName, 1138 jobOriginatingHost, etc. In addition, there is a jmJobSubmissionID 1139 object that is a text string table index. Being a table index allows a 1140 monitoring application to quickly locate and identify a particular job 1141 of interest that was submitted from a particular client by the user 1142 invoking the monitoring application. The Job Monitoring MIB needs to 1143 provide for identification of the job at both sides of the job 1144 submission process. The primary identification point is the client 1145 side. The jmJobSubmissionID allows the monitoring application to 1146 identify the job of interest from all the jobs currently "known" by the 1147 server or device. The value of jmJobSubmissionID can be assigned by 1148 either the client's local system or a downstream server or device. The 1149 point of assignment depends on the job submission protocol in use. 1151 The server/device-side identifier, called the jmJobIndex object, SHALL 1152 be assigned by the SNMP Job Monitoring MIB agent when the server or 1153 device accepts the jobs from submitting clients. The jmJobIndex object 1154 allows the interested party to obtain all objects desired that relate to 1155 a particular job. See Section 3.2, entitled 'The Job Tables and the 1156 Job Monitoring MIB, V0.85 Aug 8, 1997 1158 Oldest Active and Newest Active Indexes' for the specification of how 1159 the agent shall assign the jmJobIndex values. 1161 NOTE - For a number of job submission protocols the server/device 1162 assigns an integer job identifier when accepting a job so that the 1163 submitting client can reference the job in subsequent protocol 1164 operations (For example, see IPP [ipp]). For such implementations, it 1165 is recommended that the value of the job identifier and the value of 1166 jmJobIndex be the same, so that 1168 The MIB provides a mapping table that maps each jmJobSubmissionID value 1169 to the corresponding jmJobIndex value generated by the agent, so that an 1170 application can determine the correct value for the jmJobIndex value for 1171 the job of interest in a single Get operation, given the Job Submission 1172 ID. See the jmJobIDGroup. 1174 The jobName attribute provides a name that the user supplies as a job 1175 attribute with the job. The jobName attribute is not necessarily 1176 unique, even for one user, let alone across users. 1178 3.5 Internationalization Considerations 1180 This section describes the internationalization considerations included 1181 in this MIB. 1183 3.5.1 'JmUTF8StringTC' for text generated by the server or device 1185 There are a few objects and attributes that are represented using the 1186 Universal Multiple-Octet Coded Character Set (UCS) [ISO-10646] encoded 1187 as an octet string using the UTF-8 [UTF-8] character encoding scheme. 1188 The 'JmUTF8StringTC' textual convention is used to indicate UTF-8 text 1189 strings. These objects and attributes are always supplied (if 1190 implemented) by the agent, not by the job submitting client: 1191 1. jmGeneralJobSetName object 1192 2. processingMessage(6) attribute 1193 3. physicalDevice(32) (name value) attribute 1195 The coded character set for representing these objects and attributes 1196 SHALL be UTF-8 as recommended by RFC 2130 [RFC 2130] and the "IETF 1197 Policy on Character Sets and Language" [char-set policy]. 1199 NOTE - For strings in 7-bit US-ASCII, there is no impact since the UTF-8 1200 representation is identical to the US-ASCII [US-ASCII] encoding. 1202 3.5.2 'JmJobStringTC' for text generated by the job submitter 1204 All of the objects and attributes represented by the 'JmJobStringTC' 1205 textual-convention are either (1) supplied in the job submission 1206 Job Monitoring MIB, V0.85 Aug 8, 1997 1208 protocol by the client that submits the job to the server or device or 1209 (2) are defaulted by the server or device if the job submitting client 1210 does not supply values. The agent SHALL represent these objects and 1211 attributes in the MIB either (1) in the coded character set as they were 1212 submitted or (2) MAY convert the coded character set to another coded 1213 character set or encoding scheme. In any case, the resulting coded 1214 character set representation SHOULD be UTF-8 [UTF-8], but SHALL be one 1215 in which the code positions from 0 to 31 SHALL not be used, 32 to 127 1216 SHALL be US-ASCII [US-ASCII], 127 SHALL be unused, and the remaining 1217 code positions 128 to 255 SHALL represent single-byte or multi-byte 1218 graphic characters structured according to ISO 2022 [ISO 2022] or SHALL 1219 be unused. 1221 The coded character set SHALL be one of the ones registered with IANA 1222 [IANA] and SHALL be identified by the jobCodedCharSet attribute in the 1223 jmJobAttributeTable for the job. If the agent does not know what coded 1224 character set was used by the job submitting client, the agent SHALL 1225 return the 'unknown(2)' value for the jobCodedCharSet attribute for the 1226 job. 1228 Examples of coded character sets which meet this criteria for use as the 1229 value of the jobCodedCharSet job attribute are: US-ASCII [US-ASCII], ISO 1230 8859-1 (Latin-1) [ISO 8859-1], any ISO 8859-n, HP Roman8, IBM Code Page 1231 850, Windows Default 8-bit set, UTF-8 [UTF-8], US-ASCII plus JIS X0208- 1232 1990 Japanese [JIS X0208], US-ASCII plus GB2312-1980 PRC Chinese 1233 [GB2312]. See the IANA registry of coded character sets [IANA 1234 charsets]. 1236 Examples of coded character sets which do not meet this criteria are: 1237 national 7-bit sets conforming to ISO 646 (except US-ASCII), EBCDIC, and 1238 ISO 10646 (Unicode) [ISO-10646]. In order to represent Unicode 1239 characters, the UTF-8 [UTF-8] encoding scheme SHALL be used which has 1240 been assigned the MIBenum value of '106' by IANA. 1242 The jobCodedCharSet attribute uses the imported 'CodedCharSet' textual- 1243 convention from the Printer MIB [printmib]. 1245 3.5.3 'DateAndTime' for representing the date and time 1247 This MIB also contains objects that are represented using the 1248 DateAndTime textual convention from SMIv2 [SMIv2-TC]. The job 1249 management application SHALL display such objects in the locale of the 1250 user running the monitoring application. 1252 3.6 IANA Considerations 1254 During the development of this standard, the Printer Working Group (PWG) 1255 working with IANA [iana] will register additional enums while the 1256 Job Monitoring MIB, V0.85 Aug 8, 1997 1258 standard is in the proposed and draft states according to the procedures 1259 described in this section. IANA will handle registration of additional 1260 enums after this standard is approved in cooperation with an IANA- 1261 appointed registration editor from the PWG according to the procedures 1262 described in this section: 1264 3.6.1 IANA Registration of enums 1266 This specification uses textual conventions to define enumerated values 1267 (enums) and bit values. Enumerations (enums) and bit values are sets of 1268 symbolic values defined for use with one or more objects or attributes. 1269 All enumeration sets and bit value sets are assigned a symbolic data 1270 type name (textual convention). As a convention the symbolic name ends 1271 in "TC" for textual convention. These enumerations are defined at the 1272 beginning of the MIB module specification. 1274 This working group has defined several type of enumerations for use in 1275 the Job Monitoring MIB and the Printer MIB[print-mib]. These types 1276 differ in the method employed to control the addition of new 1277 enumerations. Throughout this document, references to "type n enum", 1278 where n can be 1, 2 or 3 can be found in the various tables. The 1279 definitions of these types of enumerations are: 1281 3.6.1.1 Type 1 enumerations 1283 Type 1 enumeration: All the values are defined in the Job Monitoring 1284 MIB specification (RFC for the Job Monitoring MIB). Additional 1285 enumerated values require a new RFC. 1287 There are no type 1 enums in the current draft. 1289 3.6.1.2 Type 2 enumerations 1291 Type 2 enumeration: An initial set of values are defined in the Job 1292 Monitoring MIB specification. Additional enumerated values are 1293 registered after review by this working group or an editor appointed by 1294 IANA after this working group is no longer active. 1296 The following type 2 enums are contained in the current draft : 1297 1. JmUTF8StringTC 1298 2. JmJobStringTC 1299 3. JmTimeStampTC 1300 4. JmFinishingTC [same enum values as IPP "finishing" attribute] 1301 5. JmPrintQualityTC [same enum values as IPP "print-quality" 1302 attribute] 1303 6. JmTonerEconomyTC 1304 7. JmMediumTypeTC 1305 8. JmJobSubmissionTypeTC 1306 Job Monitoring MIB, V0.85 Aug 8, 1997 1308 9. JmJobStateTC [same enum values as IPP "job-state" attribute] 1309 10.JmAttributeTypeTC 1311 For those textual conventions that have the same enum values as the 1312 indicated IPP Job attribute SHALL be simultaneously registered by IANA 1313 for use with IPP [ipp-model] and the Job Monitoring MIB. 1315 3.6.1.3 Type 3 enumeration 1317 Type 3 enumeration: An initial set of values are defined in the Job 1318 Monitoring MIB specification. Additional enumerated values are 1319 registered through IANA without working group review. 1321 There are no type 3 enums in the current draft. 1323 3.6.2 IANA Registration of type 2 bit values 1325 This draft contains the following type 2 bit value textual-conventions: 1326 1. JmJobServiceTypesTC 1327 2. JmJobStateReasons1TC 1328 3. JmJobStateReasons2TC 1329 4. JmJobStateReasons3TC 1330 5. JmJobStateReasons4TC 1332 These textual-conventions are defined as bits in an Integer so that they 1333 can be used with SNMPv1 SMI. The jobStateReasonsN (N=1..4) attributes 1334 are defined as bit values using the corresponding JmJobStateReasonsNTC 1335 textual-conventions. 1337 The registration of JmJobServiceTypesTC and JmJobStateReasonsNTC bit 1338 values SHALL follow the procedures for a type 2 enum as specified in 1339 Section 3.6.1.2. 1341 3.6.3 IANA Registration of Job Submission Id Formats 1343 In addition to enums and bit values, this specification assigns a single 1344 ASCII digit or letter to various job submission ID formats. See the 1345 JmJobSubmissionIDTypeTC textual-convention and the object. The 1346 registration of jmJobSubmissionID format numbers SHALL follow the 1347 procedures for a type 2 enum as specified in Section 3.6.1.2. 1349 3.6.4 IANA Registration of MIME types/sub-types for document-formats 1351 The documentFormat(38) attribute has MIME type/sub-type values for 1352 indicating document formats which IANA registers as "media type" names. 1353 The values of the documentFormat(38) attribute are the same as the 1354 corresponding Internet Printing Protocol (IPP) "document-format" Job 1355 attribute values [ipp-model]. 1357 Job Monitoring MIB, V0.85 Aug 8, 1997 1359 3.7 Security Considerations 1361 3.7.1 Read-Write objects 1363 All objects are read-only, greatly simplifying the security 1364 considerations. If another MIB augments this MIB, that MIB might accept 1365 SNMP Write operations to objects in that MIB whose effect is to modify 1366 the values of read-only objects in this MIB. However, that MIB SHALL 1367 have to support the required access control in order to achieve 1368 security, not this MIB. 1370 3.7.2 Read-Only Objects In Other User's Jobs 1372 The security policy of some sites MAY be that unprivileged users can 1373 only get the objects from jobs that they submitted, plus a few minimal 1374 objects from other jobs, such as the jmJobKOctetsRequested and 1375 jmJobKOctetsProcessed objects, so that a user can tell how busy a 1376 printer is. Other sites MAY allow all unprivileged users to see all 1377 objects of all jobs. This MIB does not require, nor does it specify 1378 how, such restrictions would be implemented. A monitoring application 1379 SHOULD enforce the site security policy with respect to returning 1380 information to an unprivileged end user that is using the monitoring 1381 application to monitor jobs that do not belong to that user, i.e., the 1382 jmJobOwner object in the jmJobTable does not match the user's user name. 1384 An operator is a privileged user that would be able to see all objects 1385 of all jobs, independent of the policy for unprivileged users. 1387 3.8 Notifications 1389 This MIB does not specify any notifications. For simplicity, management 1390 applications are expected to poll for status. The 1391 jmGeneralJobPersistence and jmGeneralAttributePersistence objects assist 1392 an application to determine the polling rate. The resulting network 1393 traffic is not expected to be significant. 1395 4. MIB specification 1397 The following pages constitute the actual Job Monitoring MIB. 1399 Job Monitoring MIB, V0.85 Aug 8, 1997 1401 Job-Monitoring-MIB DEFINITIONS ::= BEGIN 1403 IMPORTS 1404 MODULE-IDENTITY, OBJECT-TYPE, experimental, 1405 Integer32 FROM SNMPv2-SMI 1406 TEXTUAL-CONVENTION FROM SNMPv2-TC 1407 MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF; 1408 -- The following textual-conventions are needed 1409 -- to implement certain attributes, but are not 1410 -- needed to compile this MIB. They are 1411 -- provided here for convenience: 1412 -- hrDeviceIndex FROM HOST-RESOURCES-MIB 1413 -- DateAndTime FROM SNMPv2-TC 1414 -- PrtInterpreterLangFamilyTC, 1415 -- CodedCharSet FROM Printer-MIB 1417 -- Use the experimental (54) OID assigned to the Printer MIB[print-mib] 1418 -- before it was published as RFC 1759. 1419 -- Upon publication of the Job Monitoring MIB as an RFC, delete this 1420 -- comment and the line following this comment and change the 1421 -- reference of { temp 105 } (below) to { mib-2 X }. 1422 -- This will result in changing: 1423 -- 1 3 6 1 3 54 jobmonMIB(105) to: 1424 -- 1 3 6 1 2 1 jobmonMIB(X) 1425 -- This will make it easier to translate prototypes to 1426 -- the standard namespace because the lengths of the OIDs won't 1427 -- change. 1428 temp OBJECT IDENTIFIER ::= { experimental 54 } 1430 jobmonMIB MODULE-IDENTITY 1431 LAST-UPDATED "9708080000Z" 1432 ORGANIZATION "IETF Printer MIB Working Group" 1433 CONTACT-INFO 1434 "Tom Hastings 1435 Postal: Xerox Corp. 1436 Mail stop ESAE-231 1437 701 S. Aviation Blvd. 1438 El Segundo, CA 90245 1440 Tel: (301)333-6413 1441 Fax: (301)333-5514 1442 E-mail: hastings@cp10.es.xerox.com 1444 Send comments to the printmib WG using the Job Monitoring 1445 Project (JMP) Mailing List: jmp@pwg.org 1447 To learn how to subscribe to the JMP mailing list, 1448 send email to: jmp-request@pwg.org 1449 Job Monitoring MIB, V0.85 Aug 8, 1997 1451 For further information, access the PWG web page under 'JMP': 1452 http://www.pwg.org/" 1453 DESCRIPTION 1454 "The MIB module for monitoring job in servers, printers, and 1455 other devices. 1457 File: draft-ietf-printmib-job-monitor-05.txt 1458 Version: 0.85" 1459 ::= { temp 105 } 1461 -- Textual conventions for this MIB module 1463 JmUTF8StringTC ::= TEXTUAL-CONVENTION 1464 DISPLAY-HINT "255a" 1465 STATUS current 1466 DESCRIPTION 1467 "To facilitate internationalization, this TC represents 1468 information taken from the ISO/IEC IS 10646-1 character set, 1469 encoded as an octet string using the UTF-8 character encoding 1470 scheme. 1472 NOTE - The values of objects and attributes using this textual 1473 convention are generated by the server or the device, not by the 1474 job submitter." 1475 REFERENCE 1476 "See section 3.5.1, ''JmUTF8StringTC' for text generated by the 1477 server or device'." 1478 SYNTAX OCTET STRING (SIZE (0..63)) 1480 JmJobStringTC ::= TEXTUAL-CONVENTION 1481 STATUS current 1482 DESCRIPTION 1483 "To facilitate internationalization, this TC represents 1484 information using any coded character set registered by IANA 1485 that has the following properties: (1) code positions from 0 to 1486 31 SHALL not be used, (2) 32 to 127 SHALL be US-ASCII [US- 1487 ASCII], (3) 127 SHALL be unused, and (4) the remaining code 1488 Job Monitoring MIB, V0.85 Aug 8, 1997 1490 positions 128 to 255 SHALL represent single-byte or multi-byte 1491 graphic characters structured according to ISO 2022 [ISO 2022] 1492 or SHALL be unused. While it is recommended that the coded 1493 character set be UTF-8 [UTF-8], the actual coded character set 1494 SHALL be indicated by the value of the jobCodedCharSet(7) 1495 attribute for the job. 1497 NOTE - The values of objects and attributes using this textual 1498 convention are either generated by the job submitter or 1499 defaulted by the server or device when the job submitter does 1500 not supply values." 1501 REFERENCE 1502 "See section 3.5.2, ''JmJobStringTC' for text generated by the 1503 job submitter'." 1504 SYNTAX OCTET STRING (SIZE (0..63)) 1506 JmTimeStampTC ::= TEXTUAL-CONVENTION 1507 STATUS current 1508 DESCRIPTION 1509 "The simple time at which an event took place. The units SHALL 1510 be in seconds since the system was booted. 1512 NOTE - JmTimeStampTC is defined in units of seconds, rather than 1513 100ths of seconds, so as to be simpler for agents to implement 1514 (even if they have to implement the 100ths of a second to comply 1515 with implementing sysUpTime in MIB-II[mib-II].) 1517 NOTE - JmTimeStampTC is defined as an Integer32 so that it can 1518 be used as a value of an attribute, i.e., as a value of the 1519 jmAttributeValueAsInteger object. The TimeStamp textual- 1520 convention defined in SMNPv2-TC is defined as an APPLICATION 3 1521 IMPLICIT INTEGER tag, not an Integer32, so cannot be used in 1522 this MIB as one of the values of jmAttributeValueAsInteger." 1523 SYNTAX INTEGER(0..2147483647) 1525 JmJobSourcePlatformTypeTC ::= TEXTUAL-CONVENTION 1526 STATUS current 1527 DESCRIPTION 1528 "The source platform type that can submit jobs to servers or 1529 devices in any of the 3 configurations." 1530 Job Monitoring MIB, V0.85 Aug 8, 1997 1532 REFERENCE 1533 "This is a type 2 enumeration. See Section 3.6.1.2." 1534 SYNTAX INTEGER { 1535 other(1), 1536 unknown(2), 1537 sptUNIX(3), -- UNIX(tm) 1538 sptOS2(4), -- OS/2 1539 sptPCDOS(5), -- DOS 1540 sptNT(6), -- NT 1541 sptMVS(7), -- MVS 1542 sptVM(8), -- VM 1543 sptOS400(9), -- OS/400 1544 sptVMS(10), -- VMS 1545 sptWindows95(11), -- Windows95 1546 sptNetWare(33) -- NetWare 1547 } 1549 JmFinishingTC ::= TEXTUAL-CONVENTION 1550 STATUS current 1551 DESCRIPTION 1552 "The type of finishing operation. 1554 These values are the same as the enum values of the IPP 1555 'finishings' attribute. See Section 3.6.1.2. 1557 other(1), 1558 Some other finishing operation besides one of the specified 1559 or registered values. 1561 unknown(2), 1562 The finishing is unknown. 1564 none(3), 1565 Perform no finishing. 1567 staple(4), 1568 Bind the document(s) with one or more staples. The exact 1569 number and placement of the staples is site-defined. 1571 stapleTopLeft(5), 1572 Place one or more staples on the top left corner of the 1573 document(s). 1575 Job Monitoring MIB, V0.85 Aug 8, 1997 1577 stapleBottomLeft(6), 1578 Place one or more staples on the bottom left corner of the 1579 document(s). 1581 stapleTopRight(7), 1582 Place one or more staples on the top right corner of the 1583 document(s). 1585 stapleBottomRight(8), 1586 Place one or more staples on the bottom right corner of the 1587 document(s). 1589 saddleStitch(9), 1590 Bind the document(s) with one or more staples (wire 1591 stitches) along the middle fold. The exact number and 1592 placement of the stitches is site-defined. 1594 edgeStitch(10), 1595 Bind the document(s) with one or more staples (wire 1596 stitches) along one edge. The exact number and placement of 1597 the staples is site-defined. 1599 punch(11), 1600 This value indicates that holes are required in the finished 1601 document. The exact number and placement of the holes is 1602 site-defined The punch specification MAY be satisfied (in a 1603 site- and implementation-specific manner) either by 1604 drilling/punching, or by substituting pre-drilled media. 1606 cover(12), 1607 This value is specified when it is desired to select a non- 1608 printed (or pre-printed) cover for the document. This does 1609 not supplant the specification of a printed cover (on cover 1610 stock medium) by the document itself. 1612 bind(13) 1613 This value indicates that a binding is to be applied to the 1614 document; the type and placement of the binding is product- 1615 specific." 1616 REFERENCE 1617 "This is a type 2 enumeration. See Section 3.6.1.2." 1618 SYNTAX INTEGER { 1619 other(1), 1620 unknown(2), 1621 none(3), 1622 staple(4), 1623 stapleTopLeft(5), 1624 stapleBottomLeft(6), 1625 Job Monitoring MIB, V0.85 Aug 8, 1997 1627 stapleTopRight(7), 1628 stapleBottomRight(8), 1629 saddleStitch(9), 1630 edgeStitch(10), 1631 punch(11), 1632 cover(12), 1633 bind(13) 1634 } 1636 JmPrintQualityTC ::= TEXTUAL-CONVENTION 1637 STATUS current 1638 DESCRIPTION 1639 "Print quality settings. 1641 These values are the same as the enum values of the IPP 'print- 1642 quality' attribute. See Section 3.6.1.2." 1643 REFERENCE 1644 "This is a type 2 enumeration. See Section 3.6.1.2." 1645 SYNTAX INTEGER { 1646 other(1), -- Not one of the specified or registered 1647 -- values. 1648 unknown(2), -- The actual value is unknown. 1649 draft(3), -- Lowest quality available on the printer. 1650 normal(4), -- Normal or intermediate quality on the 1651 -- printer. 1652 high(5) -- Highest quality available on the printer. 1653 } 1655 JmPrinterResolutionTC ::= TEXTUAL-CONVENTION 1656 STATUS current 1657 DESCRIPTION 1658 "Printer resolutions. 1660 Nine octets consisting of two 4-octet SIGNED-INTEGERs followed 1661 by a SIGNED-BYTE. The values are the same as those specified in 1662 the Printer MIB [printmib]. The first SIGNED-INTEGER contains 1663 the value of prtMarkerAddressabilityXFeedDir. The second 1664 SIGNED-INTEGER contains the value of 1665 Job Monitoring MIB, V0.85 Aug 8, 1997 1667 prtMarkerAddressabilityFeedDir. The SIGNED-BYTE contains the 1668 value of prtMarkerAddressabilityUnit. 1670 Note: the latter value is either 3 (tenThousandsOfInches) or 4 1671 (micrometers) and the addressability is in 10,000 units of 1672 measure. Thus the SIGNED-INTEGERs represent integral values in 1673 either dots-per-inch or dots-per-centimeter. 1675 The syntax is the same as the IPP 'printer-resolution' 1676 attribute. See Section 3.6.1.2." 1677 SYNTAX OCTET STRING (SIZE(9)) 1679 JmTonerEconomyTC ::= TEXTUAL-CONVENTION 1680 STATUS current 1681 DESCRIPTION 1682 "Toner economy settings." 1683 REFERENCE 1684 "This is a type 2 enumeration. See Section 3.6.1.2." 1685 SYNTAX INTEGER { 1686 unknown(2), -- unknown. 1687 off(3), -- Off. Normal. Use full toner. 1688 on(4) -- On. Use less toner than normal. 1689 } 1691 JmBooleanTC ::= TEXTUAL-CONVENTION 1692 STATUS current 1693 DESCRIPTION 1694 "Boolean true or false value." 1695 REFERENCE 1696 "This is a type 2 enumeration. See Section 3.6.1.2." 1697 SYNTAX INTEGER { 1698 unknown(2), -- unknown. 1699 false(3), -- FALSE. 1700 true(4) -- TRUE. 1701 } 1702 Job Monitoring MIB, V0.85 Aug 8, 1997 1704 JmMediumTypeTC ::= TEXTUAL-CONVENTION 1705 STATUS current 1706 DESCRIPTION 1707 "Identifies the type of medium. 1709 other(1), 1710 The type is neither one of the values listed in this 1711 specification nor a registered value. 1713 unknown(2), 1714 The type is not known. 1716 stationery(3), 1717 Separately cut sheets of an opaque material. 1719 transparency(4), 1720 Separately cut sheets of a transparent material. 1722 envelope(5), 1723 Envelopes that can be used for conventional mailing 1724 purposes. 1726 envelopePlain(6), 1727 Envelopes that are not preprinted and have no windows. 1729 envelopeWindow(7), 1730 Envelopes that have windows for addressing purposes. 1732 continuousLong(8), 1733 Continuously connected sheets of an opaque material 1734 connected along the long edge. 1736 continuousShort(9), 1737 Continuously connected sheets of an opaque material 1738 connected along the short edge. 1740 tabStock(10), 1741 Media with tabs. 1743 multiPartForm(11), 1744 Form medium composed of multiple layers not pre-attached to 1745 one another; each sheet MAY be drawn separately from an 1746 input source. 1748 Job Monitoring MIB, V0.85 Aug 8, 1997 1750 labels(12), 1751 Label-stock. 1753 multiLayer(13) 1754 Form medium composed of multiple layers which are pre- 1755 attached to one another, e.g. for use with impact printers." 1756 REFERENCE 1757 "This is a type 2 enumeration. See Section 3.6.1.2." 1758 SYNTAX INTEGER { 1759 other(1), 1760 unknown(2), 1761 stationery(3), 1762 transparency(4), 1763 envelope(5), 1764 envelopePlain(6), 1765 envelopeWindow(7), 1766 continuousLong(8), 1767 continuousShort(9), 1768 tabStock(10), 1769 multiPartForm(11), 1770 labels(12), 1771 multiLayer(13) 1772 } 1774 JmJobSubmissionTypeTC ::= TEXTUAL-CONVENTION 1775 STATUS current 1776 DESCRIPTION 1777 "Identifies the format type of a job submission ID. 1779 The ASCII characters '0-9', 'A-Z', and 'a-z' are assigned in 1780 order giving 62 possible formats. 1782 Each job submission ID is a fixed-length, 48-octet printable 1783 ASCII coded character string, consisting of the following 1784 fields: 1786 octet 1 The format letter. 1787 octets 2-40 A 39-character, ASCII trailing SPACE filled 1788 field specified by the format letter, if the 1789 data is less than 39 ASCII characters. 1790 octets 41-48 A sequential or random number to make the ID 1791 quasi-unique. 1793 Job Monitoring MIB, V0.85 Aug 8, 1997 1795 If the client does not supply a job submission ID in the job 1796 submission protocol, then the server SHALL assign a job 1797 submission ID using any of the standard formats that are 1798 reserved to the agent. Clients SHALL not use formats that are 1799 reserved to agents. 1801 The format values defined at the time of completion of the 1802 specification are: 1804 Format 1805 Letter Description 1806 ------ ------------ 1807 '0' octets 2-40: last 39 bytes of the jmJobOwner 1808 object. 1809 octets 41-48: 8-decimal-digit sequential number 1810 This format is reserved to agents for use when 1811 the client does not supply a job submission ID. 1812 Clients wishing to use a job submission ID that 1813 incorporates the job owner, SHALL use format '8', 1814 not format '0', in order to reduce the chances of 1815 one client assigning the same ID as the agent when 1816 receiving a job from another client that does not 1817 supply a job submission id. 1819 NOTE - other formats may be registered that are 1820 reserved to the agent for use when the client does 1821 not supply a job submission ID. 1823 '1' octets 2-40: last 39 bytes of the jobName attribute. 1824 octets 41-48: 8-decimal-digit random number 1826 '2' octets 2-40: Client MAC address: in hexadecimal 1827 with each nibble of the 6 octet address being 1828 '0'-'9' or 'A' - 'F' (uppercase only). 1829 Most significant octet first. 1830 octets 41-48: 8-decimal-digit sequential number 1832 '3' octets 2-40: last 39 bytes of the client URL 1833 [URI-spec]. 1834 octets 41-48: 8-decimal-digit sequential number 1836 '4' octets 2-40: last 39 bytes of the URI [URI-spec] 1837 assigned by the server or device to the job when 1838 the job was submitted for processing. 1839 octets 41-48: 8-decimal-digit sequential number 1841 '5' octets 2-40: last 39 bytes of a user number, such 1842 as POSIX user number. 1844 Job Monitoring MIB, V0.85 Aug 8, 1997 1846 octets 41-48: 8-decimal-digit sequential number 1848 '6' octets 2-40: last 39 bytes of the user account 1849 number. 1850 octets 41-48: 8-decimal-digit sequential number 1852 '7' octets 2-40: last 39 bytes of the DTMF incoming 1853 FAX routing number. 1854 octets 41-48: 8-decimal-digit sequential number 1856 '8' octets 2-40: last 39 bytes of the job owner name 1857 (that the agent returns in the jmJobOwner object). 1858 octets 41-48: 8-decimal-digit sequential number 1860 NOTE - the job submission id is only intended to be unique 1861 between a limited set of clients for a limited duration of time, 1862 namely, for the life time of the job in the context of the 1863 server or device that is processing the job. Some of the 1864 formats include something that is unique per client and a random 1865 number so that the same job submitted by the same client will 1866 have a different job submission id. For other formats, where 1867 part of the id is guaranteed to be unique for each client, such 1868 as the MAC address or URL, a sequential number SHOULD suffice 1869 for each client (and may be easier for each client to manage). 1870 Therefore, the length of the job submission id has been selected 1871 to reduce the probability of collision to an extremely low 1872 number, but is not intended to be an absolute guarantee of 1873 uniqueness. None-the-less, collisions are remotely possible, 1874 but without bad consequences, since this MIB is intended to be 1875 used only for monitoring jobs, not for controlling and managing 1876 them." 1877 REFERENCE 1878 "This is like a type 2 enumeration. See section 3.6.3." 1879 SYNTAX OCTET STRING(SIZE(1)) -- ASCII '0'-'9', 'A'-'Z', 'a'-'z' 1881 JmJobStateTC ::= TEXTUAL-CONVENTION 1882 STATUS current 1883 DESCRIPTION 1884 "The current state of the job (pending, processing, completed, 1885 etc.). 1887 The following figure shows the normal job state transitions: 1889 Job Monitoring MIB, V0.85 Aug 8, 1997 1891 +----> canceled(7) 1892 / 1893 +---> pending(3) --------> processing(5) ------+------> completed(9) 1894 | ^ ^ \ 1895 --->+ | | +----> aborted(8) 1896 | v v / 1897 +---> pendingHeld(4) processingStopped(6) ---+ 1899 Figure 4 - Normal Job State Transitions 1901 Normally a job progresses from left to right. Other state 1902 transitions are unlikely, but are not forbidden. Not shown are 1903 the transitions to the canceled state from the pending, 1904 pendingHeld, processing, and processingStopped states. 1906 Jobs in the pending, processing, and processingStopped states 1907 are called 'active', while jobs in the pendingHeld, canceled, 1908 aborted, and completed are called 'inactive'. 1910 These values are the same as the enum values of the IPP 'job- 1911 state' job attribute. See Section 3.6.1.2. 1913 unknown(2), 1914 The job state is not known, or its state is indeterminate. 1916 pending(3), 1917 The job is a candidate to start processing, but is not yet 1918 processing. 1920 pendingHeld(4), 1921 The job is not a candidate for processing for any number of 1922 reasons but will return to the pending state as soon as the 1923 reasons are no longer present. The job's jmJobStateReasons1 1924 object and/or jobStateReasonsN (N=2..4) attributes SHALL 1925 indicate why the job is no longer a candidate for 1926 processing. The reasons are represented as bits in the 1927 jmJobStateReasons1 object and/or jobStateReasonsN (N=2..4) 1928 attributes. See the JmJobStateReasonsNTC (N=1..4) textual 1929 convention for the specification of each reason. 1931 processing(5), 1932 Either: 1934 1. The job is using, or is attempting to use, one or more 1935 document transforms which include (1) purely software 1936 Job Monitoring MIB, V0.85 Aug 8, 1997 1938 processes that are interpreting a PDL, and (2) hardware 1939 devices that are interpreting a PDL, making marks on a 1940 medium, and/or performing finishing, such as stapling, etc. 1942 OR 1944 2. (configuration 2) the server has made the job ready for 1945 printing, but the output device is not yet printing it, 1946 either because the job hasn't reached the output device or 1947 because the job is queued in the output device or some other 1948 spooler, awaiting the output device to print it. 1950 When the job is in the processing state, the entire job 1951 state includes the detailed status represented in the device 1952 MIB indicated by the hrDeviceIndex value of the job's 1953 physicalDevice attribute, if the agent implements such a 1954 device MIB. 1956 Implementations MAY, though they NEED NOT, include 1957 additional values in the job's jmJobStateReasons1 object to 1958 indicate the progress of the job, such as adding the 1959 jobPrinting value to indicate when the device is actually 1960 making marks on a medium. 1962 processingStopped(6), 1963 The job has stopped while processing for any number of 1964 reasons and will return to the processing state as soon as 1965 the reasons are no longer present. 1967 The job's jmJobStateReasons1 object and/or the job's 1968 jobStateReasonsN (N=2..4) attributes MAY indicate why the 1969 job has stopped processing. For example, if the output 1970 device is stopped, the deviceStopped value MAY be included 1971 in the job's jmJobStateReasons1 object. 1973 NOTE - When an output device is stopped, the device usually 1974 indicates its condition in human readable form at the 1975 device. The management application can obtain more complete 1976 device status remotely by querying the appropriate device 1977 MIB using the job's deviceIndex attribute(s), if the agent 1978 implements such a device MIB 1980 canceled(7), 1981 A client has canceled the job and the job is either: (1) in 1982 the process of being terminated by the server or device or 1983 (2) has completed terminating. The job's jmJobStateReasons1 1984 object SHOULD contain either the canceledByUser or 1985 canceledByOperator value. 1987 Job Monitoring MIB, V0.85 Aug 8, 1997 1989 aborted(8), 1990 The job has been aborted by the system, usually while the 1991 job was in the processing or processingStopped state. 1993 completed(9) 1994 The job has completed successfully or with warnings or 1995 errors after processing and all of the media have been 1996 successfully stacked in the appropriate output bin(s). The 1997 job's jmJobStateReasons1 object SHOULD contain one of: 1998 completedSuccessfully, completedWithWarnings, or 1999 completedWithErrors values." 2000 REFERENCE 2001 "This is a type 2 enumeration. See Section 3.6.1.2." 2002 SYNTAX INTEGER { 2003 unknown(2), 2004 pending(3), 2005 pendingHeld(4), 2006 processing(5), 2007 processingStopped(6), 2008 canceled(7), 2009 aborted(8), 2010 completed(9) 2011 } 2013 JmAttributeTypeTC ::= TEXTUAL-CONVENTION 2014 STATUS current 2015 DESCRIPTION 2016 "The type of the attribute which identifies the attribute. 2018 In the following definitions of the enums, each description 2019 indicates whether the useful value of the attribute SHALL be 2020 represented using the jmAttributeValueAsInteger or the 2021 jmAttributeValueAsOctets objects by the initial tag: 'INTEGER:' 2022 or 'OCTETS:', respectively. 2024 Some attributes allow the agent implementer a choice of useful 2025 values of either an integer, an octets representation, or both, 2026 depending on implementation. These attributes are indicated 2027 with 'INTEGER:' AND/OR 'OCTETS:' tags. 2029 A very few attributes require both objects at the same time to 2030 represent a pair of useful values (see mediumConsumed(171)). 2031 These attributes are indicated with 'INTEGER:' AND 'OCTETS:' 2032 tags. See the jmAttributeGroup for the descriptions of these 2033 two MANDATORY objects. 2035 Job Monitoring MIB, V0.85 Aug 8, 1997 2037 NOTE - The enum assignments are grouped logically with values 2038 assigned in groups of 20, so that additional values may be 2039 registered in the future and assigned a value that is part of 2040 their logical grouping. 2042 NOTE: No attribute name exceeds 31 characters. 2044 The standard attribute types defined at the time of completion 2045 of the specification are: 2047 jmAttributeTypeIndex Datatype 2048 -------------------- -------- 2050 other(1), Integer32(-2..2147483647) 2051 AND/OR 2052 OCTET STRING(SIZE(0..63)) 2053 INTEGER: and/or OCTETS: An attribute that is not in the 2054 list and/or that has not been approved and registered with 2055 IANA. 2057 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2058 + Job State attributes 2059 + 2060 + The following attributes specify the state of a job. 2061 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2063 jobStateReasons2(3), JmJobStateReasons2TC 2064 INTEGER: Additional information about the job's current 2065 state that augments the jmJobState object. See the 2066 description under the JmJobStateReasons1TC textual- 2067 convention. 2069 jobStateReasons3(4), JmJobStateReasons3TC 2070 INTEGER: Additional information about the job's current 2071 state that augments the jmJobState object. See the 2072 description under JmJobStateReasons1TC textual-convention. 2074 jobStateReasons4(5), JmJobStateReasons4TC 2075 INTEGER: Additional information about the job's current 2076 state that augments the jmJobState object. See the 2077 description under JmJobStateReasons1TC textual-convention. 2079 processingMessage(6), JmUTF8StringTC(SIZE(0..63)) 2080 OCTETS: MULTI-ROW: A coded character set message that is 2081 generated by the server or device during the processing of 2082 Job Monitoring MIB, V0.85 Aug 8, 1997 2084 the job as a simple form of processing log to show progress 2085 and any problems. 2087 There is no restriction for the same message occurring in 2088 multiple rows. 2090 jobCodedCharSet(7), CodedCharSet 2091 INTEGER: The MIBenum identifier of the coded character set 2092 that the agent is using to represent coded character set 2093 objects and attributes of type 'JmJobStringTC'. These coded 2094 character set objects and attributes are either: (1) 2095 supplied by the job submitting client or (2) defaulted by 2096 the server or device when omitted by the job submitting 2097 client. The agent SHALL represent these objects and 2098 attributes in the MIB either (1) in the coded character set 2099 as they were submitted or (2) MAY convert the coded 2100 character set to another coded character set or encoding 2101 scheme as identified by the jobCodedCharSet attribute. 2103 These MIBenum values are assigned by IANA [IANA-charsets] 2104 when the coded character sets are registered. The coded 2105 character set SHALL be one of the ones registered with IANA 2106 [IANA] and the enum value uses the CodedCharSet textual- 2107 convention from the Printer MIB. See the JmJobStringTC 2108 textual-convention. 2110 If the agent does not know what coded character set was used 2111 by the job submitting client, the agent SHALL return the 2112 'unknown(2)' value for the jobCodedCharSet attribute for the 2113 job. See Section 3.5.2, entitled ''JmJobStringTC' for text 2114 generated by the job submitter'. 2116 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2117 + Job Identification attributes 2118 + 2119 + The following attributes help an end user, a system 2120 + operator, or an accounting program identify a job. 2121 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2123 jobAccountName(21), JmJobStringTC(SIZE(0..63)) 2124 OCTETS: Arbitrary binary information which MAY be coded 2125 character set data or encrypted data supplied by the 2126 submitting user for use by accounting services to allocate 2127 Job Monitoring MIB, V0.85 Aug 8, 1997 2129 or categorize charges for services provided, such as a 2130 customer account name or number. 2132 NOTE: This attribute NEED NOT be printable characters. 2134 serverAssignedJobName(22), JmJobStringTC(SIZE(0..63)) 2135 OCTETS: Configuration 3 only: The human readable string 2136 name, number, or ID of the job as assigned by the server 2137 that submitted the job to the device that the agent is 2138 providing access to with this MIB. 2140 NOTE - This attribute is intended for enabling a user to 2141 find his/her job that a server submitted to a device when 2142 either the client does not support the jmJobSubmissionID or 2143 the server does not pass the jmJobSubmissionID through to 2144 the device. 2146 jobName(23), JmJobStringTC(SIZE(0..63)) 2147 OCTETS: The human readable string name of the job as 2148 assigned by the submitting user to help the user distinguish 2149 between his/her various jobs. This name does not need to be 2150 unique. 2152 This attribute is intended for enabling a user or the user's 2153 application to convey a job name that MAY be printed on a 2154 start sheet, returned in a query result, or used in 2155 notification or logging messages. 2157 In order to assist users to find their jobs for job 2158 submission protocols that don't supply a jmJobSubmissionID, 2159 the agent SHOULD maintain the jobName attribute for the time 2160 specified by the jmGeneralJobPersistence object, rather than 2161 the (shorter) jmGeneralAttributePersistence object. 2163 If this attribute is not specified when the job is 2164 submitted, no job name is assumed, but implementation 2165 specific defaults are allowed, such as the value of the 2166 documentName attribute of the first document in the job or 2167 the fileName attribute of the first document in the job. 2169 The jobName attribute is distinguished from the jobComment 2170 attribute, in that the jobName attribute is intended to 2171 permit the submitting user to distinguish between different 2172 jobs that he/she has submitted. The jobComment attribute is 2173 intended to be free form additional information that a user 2174 might wish to use to communicate with himself/herself, such 2175 as a reminder of what to do with the results or to indicate 2176 Job Monitoring MIB, V0.85 Aug 8, 1997 2178 a different set of input parameters were tried in several 2179 different job submissions. 2181 jobServiceTypes(24), JmJobServiceTypesTC 2182 INTEGER: Specifies the type(s) of service to which the job 2183 has been submitted (print, fax, scan, etc.). The service 2184 type is bit encoded with each job service type so that more 2185 general and arbitrary services can be created, such as 2186 services with more than one destination type, or ones with 2187 only a source or only a destination. For example, a job 2188 service might scan, faxOut, and print a single job. In this 2189 case, three bits would be set in the jobServiceTypes 2190 attribute, corresponding to the hexadecimal values: 0x8 + 2191 0x20 + 0x4, respectively, yielding: 0x2C. 2193 Whether this attribute is set from a job attribute supplied 2194 by the job submission client or is set by the recipient job 2195 submission server or device depends on the job submission 2196 protocol. This attribute SHALL be implemented if the server 2197 or device has other types in addition to or instead of 2198 printing. 2200 One of the purposes of this attribute is to permit a 2201 requester to filter out jobs that are not of interest. For 2202 example, a printer operator may only be interested in jobs 2203 that include printing. 2205 jobSourceChannelIndex(25), Integer32(0..2147483647) 2206 INTEGER: The index of the row in the associated Printer 2207 MIB[print-mib] of the channel which is the source of the 2208 print job. 2210 jobSourcePlatformType(26), JmJobSourcePlatformTypeTC 2211 INTEGER: The source platform type of the immediate upstream 2212 submitter that submitted the job to the server 2213 (configuration 2) or device (configuration 1 and 3) to which 2214 the agent is providing access. For configuration 1, this is 2215 the type of the client that submitted the job to the device; 2216 for configuration 2, this is the type of the client that 2217 submitted the job to the server; and for configuration 3, 2218 this is the type of the server that submitted the job to the 2219 device. 2221 submittingServerName(27), JmJobStringTC(SIZE(0..63)) 2222 OCTETS: For configuration 3 only: The administrative name 2223 of the server that submitted the job to the device. 2225 Job Monitoring MIB, V0.85 Aug 8, 1997 2227 submittingApplicationName(28), JmJobStringTC(SIZE(0..63)) 2228 OCTETS: The name of the client application (not the server 2229 in configuration 3) that submitted the job to the server or 2230 device. 2232 jobOriginatingHost(29), JmJobStringTC(SIZE(0..63)) 2233 OCTETS: The name of the client host (not the server host 2234 name in configuration 3) that submitted the job to the 2235 server or device. 2237 deviceNameRequested(30), JmJobStringTC(SIZE(0..63)) 2238 OCTETS: The administratively defined coded character set 2239 name of the target device requested by the submitting user. 2240 For configuration 1, its value corresponds to the Printer 2241 MIB[print-mib]: prtGeneralPrinterName object. For 2242 configuration 2 and 3, its value is the name of the logical 2243 or physical device that the user supplied to indicate to the 2244 server on which device(s) they wanted the job to be 2245 processed. 2247 queueNameRequested(31), JmJobStringTC(SIZE(0..63)) 2248 OCTETS: The administratively defined coded character set 2249 name of the target queue requested by the submitting user. 2250 For configuration 1, its value corresponds to the queue in 2251 the device for which the agent is providing access. For 2252 configuration 2 and 3, its value is the name of the queue 2253 that the user supplied to indicate to the server on which 2254 device(s) they wanted the job to be processed. 2256 NOTE - typically an implementation SHOULD support either the 2257 deviceNameRequested or queueNameRequested attribute, but not 2258 both. 2260 physicalDevice(32), hrDeviceIndex 2261 AND/OR 2262 JmUTF8StringTC(SIZE(0..63)) 2263 INTEGER: MULTI-ROW: The index of the physical device MIB 2264 instance requested/used, such as the Printer MIB[print-mib]. 2265 This value is an hrDeviceIndex value. See the Host 2266 Resources MIB[hr-mib]. 2268 AND/OR 2270 OCTETS: MULTI-ROW: The name of the physical device to 2271 which the job is assigned. 2273 numberOfDocuments(33), Integer32(-2..2147483647) 2274 INTEGER: The number of documents in this job. 2276 Job Monitoring MIB, V0.85 Aug 8, 1997 2278 fileName(34), JmJobStringTC(SIZE(0..63)) 2279 OCTETS: MULTI-ROW: The coded character set file name or 2280 URI[URI-spec] of the document. 2282 There is no restriction on the same file name occurring in 2283 multiple rows. 2285 documentName(35), JmJobStringTC(SIZE(0..63)) 2286 OCTETS: MULTI-ROW: The coded character set name of the 2287 document. 2289 There is no restriction on the same document name occurring 2290 in multiple rows. 2292 jobComment(36), JmJobStringTC(SIZE(0..63)) 2293 OCTETS: An arbitrary human-readable coded character text 2294 string supplied by the submitting user or the job submitting 2295 application program for any purpose. For example, a user 2296 might indicate what he/she is going to do with the printed 2297 output or the job submitting application program might 2298 indicate how the document was produced. 2300 The jobComment attribute is not intended to be a name; see 2301 the jobName attribute. 2303 documentFormatIndex(37), Integer32(0..2147483647) 2304 INTEGER: MULTI-ROW: The index in the prtInterpreterTable 2305 in the Printer MIB[print-mib] of the page description 2306 language (PDL) or control language interpreter that this job 2307 requires/uses. A document or a job MAY use more than one 2308 PDL or control language. 2310 NOTE - As with all intensive attributes where multiple rows 2311 are allowed, there SHALL be only one distinct row for each 2312 distinct interpreter; there SHALL be no duplicates. 2314 NOTE - This attribute type is intended to be used with an 2315 agent that implements the Printer MIB and SHALL not be used 2316 if the agent does not implement the Printer MIB. Such an 2317 agent SHALL use the documentFormat attribute instead. 2319 documentFormat(38), PrtInterpreterLangFamilyTC 2320 AND/OR 2321 OCTET STRING(SIZE(0..63)) 2322 INTEGER: MULTI-ROW: The interpreter language family 2323 corresponding to the Printer MIB[print-mib] 2324 prtInterpreterLangFamily object, that this job 2325 Job Monitoring MIB, V0.85 Aug 8, 1997 2327 requires/uses. A document or a job MAY use more than one 2328 PDL or control language. 2330 AND/OR 2332 OCTETS: MULTI-ROW: The document format registered as a 2333 media type[iana-media-types], i.e., the name of the MIME 2334 content-type/subtype. Examples: 'application/postscript', 2335 'application/vnd.hp-PCL', and 'application/pdf' 2337 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2338 + Job Parameter attributes 2339 + 2340 + The following attributes represent input parameters 2341 + supplied by the submitting client in the job submission 2342 + protocol. 2343 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2345 jobPriority(50), Integer32(1..100) 2346 INTEGER: The priority for scheduling the job. It is used by 2347 servers and devices that employ a priority-based scheduling 2348 algorithm. 2350 A higher value specifies a higher priority. The value 1 is 2351 defined to indicate the lowest possible priority (a job 2352 which a priority-based scheduling algorithm SHALL pass over 2353 in favor of higher priority jobs). The value 100 is defined 2354 to indicate the highest possible priority. Priority is 2355 expected to be evenly or 'normally' distributed across this 2356 range. The mapping of vendor-defined priority over this 2357 range is implementation-specific. 2359 jobProcessAfterDateAndTime(51), DateAndTime (SNMPv2-TC) 2360 OCTETS: The calendar date and time of day after which the 2361 job SHALL become a candidate to be scheduled for processing. 2362 If the value of this attribute is in the future, the server 2363 SHALL set the value of the job's jmJobState object to 2364 pendingHeld and add the jobProcessAfterSpecified bit value 2365 to the job's jmJobStateReasons1 object. When the specified 2366 date and time arrives, the server SHALL remove the 2367 jobProcessAfterSpecified bit value from the job's 2368 jmJobStateReasons1 object and, if no other reasons remain, 2369 SHALL change the job's jmJobState object to pending. 2371 jobHold(52), JmBooleanTC 2372 INTEGER: If the value is 'true(4)', a client has explicitly 2373 specified that the job is to be held until explicitly 2374 Job Monitoring MIB, V0.85 Aug 8, 1997 2376 released. Until the job is explicitly released by a client, 2377 the job SHALL be in the pendingHeld state with the 2378 jobHoldSpecified value in the jmJobStateReasons1 attribute. 2380 jobHoldUntil(53), JmJobStringTC(SIZE(0..63)) 2381 OCTETS: The named time period during which the job SHALL 2382 become a candidate for processing, such as 'evening', 2383 'night', 'weekend', 'second-shift', 'third-shift', etc., as 2384 defined by the system administrator. See IPP [ipp-model] 2385 for the standard keyword values. Until that time period 2386 arrives, the job SHALL be in the pendingHeld state with the 2387 jobHoldUntilSpecified value in the jmJobStateReasons1 2388 object. The value 'no-hold' SHALL indicate explicitly that 2389 no time period has been specified; the absence of this 2390 attribute SHALL indicate implicitly that no time period has 2391 been specified. 2393 outputBin(54), Integer32(0..2147483647) 2394 AND/OR 2395 JmJobStringTC(SIZE(0..63)) 2396 INTEGER: MULTI-ROW: The output subunit index in the 2397 Printer MIB[print-mib] 2399 AND/OR 2401 OCTETS: the name or number (represented as ASCII digits) of 2402 the output bin to which all or part of the job is placed in. 2404 sides(55), Integer32(-2..2) 2405 INTEGER: MULTI-ROW: The number of sides, '1' or '2', that 2406 any document in this job requires/used. 2408 finishing(56), JmFinishingTC 2409 INTEGER: MULTI-ROW: Type of finishing that any document in 2410 this job requires/used. 2412 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2413 + Image Quality attributes (requested and consumed) 2414 + 2415 + For devices that can vary the image quality. 2416 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2418 printQualityRequested(70), JmPrintQualityTC 2419 INTEGER: MULTI-ROW: The print quality selection requested 2420 for a document in the job for printers that allow quality 2421 differentiation. 2423 Job Monitoring MIB, V0.85 Aug 8, 1997 2425 printQualityUsed(71), JmPrintQualityTC 2426 INTEGER: MULTI-ROW: The print quality selection actually 2427 used by a document in the job for printers that allow 2428 quality differentiation. 2430 printerResolutionRequested(72), JmPrinterResolutionTC 2431 OCTETS: MULTI-ROW: The printer resolution requested for a 2432 document in the job for printers that support resolution 2433 selection. 2435 printerResolutionUsed(73), JmPrinterResolutionTC 2436 OCTETS: MULTI-ROW: The printer resolution actually used by 2437 a document in the job for printers that support resolution 2438 selection. 2440 tonerEcomonyRequested(74), JmTonerEconomyTC 2441 INTEGER: MULTI-ROW: The toner economy selection requested 2442 for documents in the job for printers that allow toner 2443 economy differentiation. 2445 tonerEcomonyUsed(75), JmTonerEconomyTC 2446 INTEGER: MULTI-ROW: The toner economy selection actually 2447 used by documents in the job for printers that allow toner 2448 economy differentiation. 2450 tonerDensityRequested(76), Integer32(-2..100) 2451 INTEGER: MULTI-ROW: The toner density requested for a 2452 document in this job for devices that can vary toner density 2453 levels. Level 1 is the lowest density and level 100 is the 2454 highest density level. Devices with a smaller range, SHALL 2455 map the 1-100 range evenly onto the implemented range. 2457 tonerDensityUsed(77), Integer32(-2..100) 2458 INTEGER: MULTI-ROW: The toner density used by documents in 2459 this job for devices that can vary toner density levels. 2460 Level 1 is the lowest density and level 100 is the highest 2461 density level. Devices with a smaller range, SHALL map the 2462 1-100 range evenly onto the implemented range. 2464 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2465 + Job Progress attributes (requested and consumed) 2466 + 2467 + Pairs of these attributes can be used by monitoring 2468 + applications to show an indication of relative progress 2469 + to users. 2470 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2471 Job Monitoring MIB, V0.85 Aug 8, 1997 2473 jobCopiesRequested(90), Integer32(-2..2147483647) 2474 INTEGER: The number of copies of the entire job that are to 2475 be produced. 2477 jobCopiesCompleted(91), Integer32(-2..2147483647) 2478 INTEGER: The number of copies of the entire job that have 2479 been completed so far. 2481 documentCopiesRequested(92), Integer32(-2..2147483647) 2482 INTEGER: The total count of the number of document copies 2483 requested for the job as a whole. If there are documents A, 2484 B, and C, and document B is specified to produce 4 copies, 2485 the number of document copies requested is 6 for the job. 2487 This attribute SHALL be used only when a job has multiple 2488 documents. The jobCopiesRequested attribute SHALL be used 2489 when the job has only one document. 2491 documentCopiesCompleted(93), Integer32(-2..2147483647) 2492 INTEGER: The total count of the number of document copies 2493 completed so far for the job as a whole. If there are 2494 documents A, B, and C, and document B is specified to 2495 produce 4 copies, the number of document copies starts a 0 2496 and runs up to 6 for the job as the job processes. 2498 This attribute SHALL be used only when a job has multiple 2499 documents. The jobCopiesCompleted attribute SHALL be used 2500 when the job has only one document. 2502 jobKOctetsTransferred(94), Integer32(-2..2147483647) 2503 INTEGER: The number of K (1024) octets transferred to the 2504 server or device to which the agent is providing access. 2505 This count is independent of the number of copies of the job 2506 or documents that will be produced, but it is only a measure 2507 of the number of bytes transferred to the server or device. 2509 The agent SHALL round the actual number of octets 2510 transferred up to the next higher K. Thus 0 octets SHALL be 2511 represented as '0', 1-1024 octets SHALL BE represented as 2512 '1', 1025-2048 SHALL be '2', etc. When the job completes, 2513 the values of the jmJobKOctetsRequested object and the 2514 jobKOctetsTransferred attribute SHALL be equal. 2516 NOTE - The jobKOctetsTransferred can be used with the 2517 jmJobKOctetsRequested object in order to produce a relative 2518 indication of the progress of the job for agents that do not 2519 implement the jmJobKOctetsProcessed object. 2521 Job Monitoring MIB, V0.85 Aug 8, 1997 2523 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2524 + Impression attributes 2525 + 2526 + For a print job, an impression is the marking of the 2527 + entire side of a sheet. Two-sided processing involves two 2528 + impressions per sheet. Two-up is the placement of two 2529 + logical pages on one side of a sheet and so is still a 2530 + single impression. See also jmJobImpressionsRequested and 2531 + jmJobImpressionsCompleted objects in the jmJobTable. 2532 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2534 impressionsSpooled(110), Integer32(-2..2147483647) 2535 INTEGER: The number of impressions spooled to the server or 2536 device for the job so far. 2538 impressionsSentToDevice(111), Integer32(-2..2147483647) 2539 INTEGER: The number of impressions sent to the device for 2540 the job so far. 2542 impressionsInterpreted(112), Integer32(-2..2147483647) 2543 INTEGER: The number of impressions interpreted for the job 2544 so far. 2546 impressionsCompletedCurrentCopy(113), Integer32(-2..2147483647) 2547 INTEGER: The number of impressions completed by the device 2548 for the current copy of the current document so far. For 2549 printing, the impressions completed includes interpreting, 2550 marking, and stacking the output. For other types of job 2551 services, the number of impressions completed includes the 2552 number of impressions processed. 2554 This value SHALL be reset to 0 for each document in the job 2555 and for each document copy. 2557 fullColorImpressionsCompleted(114), Integer32(-2..2147483647) 2558 INTEGER: The number of full color impressions completed by 2559 the device for this job so far. For printing, the 2560 impressions completed includes interpreting, marking, and 2561 stacking the output. For other types of job services, the 2562 number of impressions completed includes the number of 2563 impressions processed. Full color impressions are typically 2564 defined as those requiring 3 or more colorants, but this MAY 2565 vary by implementation. 2567 highlightColorImpressionsCompleted(115), Integer32(-2.. 2568 2147483647) 2569 INTEGER: The number of highlight color impressions 2570 Job Monitoring MIB, V0.85 Aug 8, 1997 2572 completed by the device for this job so far. For printing, 2573 the impressions completed includes interpreting, marking, 2574 and stacking the output. For other types of job services, 2575 the number of impressions completed includes the number of 2576 impressions processed. Highlight color impressions are 2577 typically defined as those requiring black plus one other 2578 colorant, but this MAY vary by implementation. 2580 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2581 + Page attributes 2582 + 2583 + A page is a logical page. Number up can impose more than 2584 + one page on a single side of a sheet. Two-up is the 2585 + placement of two logical pages on one side of a sheet so 2586 + that each side counts as two pages. 2587 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2589 pagesRequested(130), Integer32(-2..2147483647) 2590 INTEGER: The number of logical pages requested by the job 2591 to be processed. 2593 pagesCompleted(131), Integer32(-2..2147483647) 2594 INTEGER: The number of logical pages completed for this job 2595 so far. 2597 For implementations where multiple copies are produced by 2598 the interpreter with only a single pass over the data, the 2599 final value SHALL be equal to the value of the 2600 pagesRequested object. For implementations where multiple 2601 copies are produced by the interpreter by processing the 2602 data for each copy, the final value SHALL be a multiple of 2603 the value of the pagesRequested object. 2605 NOTE - See the impressionsCompletedCurrentCopy and 2606 pagesCompletedCurrentCopy attributes for attributes that are 2607 reset on each document copy. 2609 NOTE - The pagesCompleted object can be used with the 2610 pagesRequested object to provide an indication of the 2611 relative progress of the job, provided that the 2612 multiplicative factor is taken into account for some 2613 implementations of multiple copies. 2615 pagesCompletedCurrentCopy(132), Integer32(-2..2147483647) 2616 INTEGER: The number of logical pages completed for the 2617 current copy of the document so far. This value SHALL be 2618 Job Monitoring MIB, V0.85 Aug 8, 1997 2620 reset to 0 for each document in the job and for each 2621 document copy. 2623 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2624 + Sheet attributes 2625 + 2626 + The sheet is a single piece of a medium, whether printing 2627 + on one or both sides. 2628 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2630 sheetsRequested(150), Integer32(-2..2147483647) 2631 INTEGER: The number of medium sheets requested to be 2632 processed for this job. 2634 sheetsCompleted(151), Integer32(-2..2147483647) 2635 INTEGER: The number of medium sheets that have completed 2636 marking and stacking for the entire job so far whether those 2637 sheets have been processed on one side or on both. 2639 sheetsCompletedCurrentCopy(152), Integer32(-2..2147483647) 2640 INTEGER: The number of medium sheets that have completed 2641 marking and stacking for the current copy of a document in 2642 the job so far whether those sheets have been processed on 2643 one side or on both. 2645 The value of this attribute SHALL be reset to 0 as each 2646 document in the job starts being processed and for each 2647 document copy as it starts being processed. 2649 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2650 + Resources attributes (requested and consumed) 2651 + 2652 + Pairs of these attributes can be used by monitoring 2653 + applications to show an indication of relative usage to 2654 + users. 2655 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2657 mediumRequested(170), JmMediumTypeTC 2658 AND/OR 2659 JmJobStringTC(SIZE(0..63)) 2660 INTEGER: MULTI-ROW: The type 2661 AND/OR 2662 OCTETS: the name of the medium that is required by the job. 2664 mediumConsumed(171), Integer32(-2..2147483647) 2665 AND 2667 Job Monitoring MIB, V0.85 Aug 8, 1997 2669 JmJobStringTC(SIZE(0..63)) 2670 INTEGER: The number of sheets 2671 AND 2672 OCTETS: MULTI-ROW: the name of the medium that has been 2673 consumed so far whether those sheets have been processed on 2674 one side or on both. 2676 This attribute SHALL have both Integer32 and OCTET STRING 2677 (represented as JmJobStringTC) values. 2679 colorantRequested(172), Integer32(-2..2147483647) 2680 AND/OR 2681 JmJobStringTC(SIZE(0..63)) 2682 INTEGER: MULTI-ROW: The index (prtMarkerColorantIndex) in 2683 the Printer MIB[print-mib] 2684 AND/OR 2685 OCTETS: the name of the colorant requested. 2687 colorantConsumed(173), Integer32(-2..2147483647) 2688 AND/OR 2689 JmJobStringTC(SIZE(0..63)) 2690 INTEGER: MULTI-ROW: The index (prtMarkerColorantIndex) in 2691 the Printer MIB[print-mib] 2692 AND/OR 2693 OCTETS: the name of the colorant consumed. 2695 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2696 + Time attributes (set by server or device) 2697 + 2698 + This section of attributes are ones that are set by the 2699 + server or device that accepts jobs. Two forms of time are 2700 + provided. Each form is represented in a separate attribute. 2701 + See section 3.1.2 and section 3.1.3 for the 2702 + conformance requirements for time attribute for agents and 2703 + monitoring applications, respectively. The two forms are: 2704 + 2705 + 'DateAndTime' is an 8 or 11 octet binary encoded year, 2706 + month, day, hour, minute, second, deci-second with 2707 + optional offset from UTC. See SNMPv2-TC [SMIv2-TC]. 2708 + 2709 + NOTE: 'DateAndTime' is not printable characters; it is 2710 + binary. 2711 + 2712 + 'JmTimeStampTC' is the time of day measured in the number of 2713 + seconds since the system was booted. 2714 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2715 Job Monitoring MIB, V0.85 Aug 8, 1997 2717 jobSubmissionToServerTime(190), JmTimeStampTC 2718 AND/OR 2719 DateAndTime 2720 INTEGER: Configuration 3 only: The time 2721 AND/OR 2722 OCTETS: the date and time that the job was submitted to the 2723 server (as distinguished from the device which uses 2724 jobSubmissionTime). 2726 jobSubmissionTime(191), JmTimeStampTC 2727 AND/OR 2728 DateAndTime 2729 INTEGER: Configurations 1, 2, and 3: The time 2730 AND/OR 2731 OCTETS: the date and time that the job was submitted to the 2732 server or device to which the agent is providing access. 2734 jobStartedBeingHeldTime(192), JmTimeStampTC 2735 AND/OR 2736 DateAndTime 2737 INTEGER: The time 2738 AND/OR 2739 OCTETS: the date and time that the job last entered the 2740 pendingHeld state. If the job has never entered the 2741 pendingHeld state, then the value SHALL be '0' or the 2742 attribute SHALL not be present in the table. 2744 jobStartedProcessingTime(193), JmTimeStampTC 2745 AND/OR 2746 DateAndTime 2747 INTEGER: The time 2748 AND/OR 2749 OCTETS: the date and time that the job started processing. 2751 jobCompletedTime(194), JmTimeStampTC 2752 AND/OR 2753 DateAndTime 2754 INTEGER: The time 2755 AND/OR 2756 OCTETS: the date and time that the job entered the 2757 completed, canceled, or aborted state. 2759 jobProcessingCPUTime(195) Integer32(-2..2147483647) 2760 UNITS 'seconds' 2761 INTEGER: The amount of CPU time in seconds that the job has 2762 been in the processing state. If the job enters the 2763 Job Monitoring MIB, V0.85 Aug 8, 1997 2765 processingStopped state, that elapsed time SHALL not be 2766 included. In other words, the jobProcessingCPUTime value 2767 SHOULD be relatively repeatable when the same job is 2768 processed again on the same device." 2770 REFERENCE 2771 "See Section 3.2 entitled 'The Attribute Mechanism' for a 2772 description of this textual-convention and its use in the 2773 jmAttributeTable. 2775 This is a type 2 enumeration. See Section 3.6.1.2." 2776 SYNTAX INTEGER { 2777 other(1), 2778 unknown(2), 2779 jobStateReasons2(3), 2780 jobStateReasons3(4), 2781 jobStateReasons4(5), 2782 processingMessage(6), 2783 jobCodedCharSet(7), 2785 jobAccountName(21), 2786 serverAssignedJobName(22), 2787 jobName(23), 2788 jobServiceTypes(24), 2789 jobSourceChannelIndex(25), 2790 jobSourcePlatformType(26), 2791 submittingServerName(27), 2792 submittingApplicationName(28), 2793 jobOriginatingHost(29), 2794 deviceNameRequested(30), 2795 queueNameRequested(31), 2796 physicalDevice(32), 2797 numberOfDocuments(33), 2798 fileName(34), 2799 documentName(35), 2800 jobComment(36), 2801 documentFormatIndex(37), 2802 documentFormat(38), 2804 jobPriority(50), 2805 jobProcessAfterDateAndTime(51), 2806 jobHold(52), 2807 jobHoldUntil(53), 2808 outputBin(54), 2809 sides(55), 2810 finishing(56), 2812 printQualityRequested(70), 2813 Job Monitoring MIB, V0.85 Aug 8, 1997 2815 printQualityUsed(71), 2816 printerResolutionRequested(72), 2817 printerResolutionUsed(73), 2818 tonerEcomonyRequested(74), 2819 tonerEcomonyUsed(75), 2820 tonerDensityRequested(76), 2821 tonerDensityUsed(77), 2823 jobCopiesRequested(90), 2824 jobCopiesCompleted(91), 2825 documentCopiesRequested(92), 2826 documentCopiesCompleted(93), 2827 jobKOctetsTransferred(94), 2829 impressionsSpooled(110), 2830 impressionsSentToDevice(111), 2831 impressionsInterpreted(112), 2832 impressionsCompletedCurrentCopy(113), 2833 fullColorImpressionsCompleted(114), 2834 highlightColorImpressionsCompleted(115), 2836 pagesRequested(130), 2837 pagesCompleted(131), 2838 pagesCompletedCurrentCopy(132), 2840 sheetsRequested(150), 2841 sheetsCompleted(151), 2842 sheetsCompletedCurrentCopy(152), 2844 mediumRequested(170), 2845 mediumConsumed(171), 2846 colorantRequested(172), 2847 colorantConsumed(173), 2849 jobSubmissionToServerTime(190), 2850 jobSubmissionTime(191), 2851 jobStartedBeingHeldTime(192), 2852 jobStartedProcessingTime(193), 2853 jobCompletedTime(194), 2854 jobProcessingCPUTime(195) 2855 } 2857 JmJobServiceTypesTC ::= TEXTUAL-CONVENTION 2858 STATUS current 2859 Job Monitoring MIB, V0.85 Aug 8, 1997 2861 DESCRIPTION 2862 "Specifies the type(s) of service to which the job has been 2863 submitted (print, fax, scan, etc.). The service type is 2864 represented as an enum that is bit encoded with each job service 2865 type so that more general and arbitrary services can be created, 2866 such as services with more than one destination type, or ones 2867 with only a source or only a destination. For example, a job 2868 service might scan, faxOut, and print a single job. In this 2869 case, three bits would be set in the jobServiceTypes attribute, 2870 corresponding to the hexadecimal values: 0x8 + 0x20 + 0x4, 2871 respectively, yielding: 0x2C. 2873 Whether this attribute is set from a job attribute supplied by 2874 the job submission client or is set by the recipient job 2875 submission server or device depends on the job submission 2876 protocol. With either implementation, the agent SHALL return a 2877 non-zero value for this attribute indicating the type of the 2878 job. 2880 One of the purposes of this attribute is to permit a requester 2881 to filter out jobs that are not of interest. For example, a 2882 printer operator MAY only be interested in jobs that include 2883 printing. That is why the attribute is in the job 2884 identification category. 2886 The following service component types are defined (in 2887 hexadecimal) and are assigned a separate bit value for use with 2888 the jobServiceTypes attribute: 2890 other 0x1 2891 The job contains some instructions that are not one of the 2892 identified types. 2894 unknown 0x2 2895 The job contains some instructions whose type is unknown to 2896 the agent. 2898 print 0x4 2899 The job contains some instructions that specify printing 2901 scan 0x8 2902 The job contains some instructions that specify scanning 2904 faxIn 0x10 2905 The job contains some instructions that specify receive fax 2907 faxOut 0x20 2908 The job contains some instructions that specify sending fax 2909 Job Monitoring MIB, V0.85 Aug 8, 1997 2911 getFile 0x40 2912 The job contains some instructions that specify accessing 2913 files or documents 2915 putFile 0x80 2916 The job contains some instructions that specify storing 2917 files or documents 2919 mailList 0x100 2920 The job contains some instructions that specify distribution 2921 of documents using an electronic mail system." 2922 REFERENCE 2923 "These bit definitions are the equivalent of a type 2 enum 2924 except that combinations of them MAY be used together. See 2925 section 3.6.1.2." 2926 SYNTAX INTEGER(0..2147483647) -- 31 bits, all but sign bit 2928 JmJobStateReasons1TC ::= TEXTUAL-CONVENTION 2929 STATUS current 2930 DESCRIPTION 2931 "The JmJobStateReasonsNTC (N=1..4) textual-conventions are used 2932 with the jmJobStateReasons1 object and jobStateReasonsN 2933 (N=2..4), respectively, to provide additional information 2934 regarding the current jmJobState object value. These values MAY 2935 be used with any job state or states for which the reason makes 2936 sense. 2938 NOTE - While values cannot be added to the jmJobState object 2939 without impacting deployed clients that take actions upon 2940 receiving jmJobState values, it is the intent that additional 2941 JmJobStateReasonsNTC enums can be defined and registered without 2942 impacting such deployed clients. In other words, the 2943 jmJobStateReasons1 object and jobStateReasonsN attributes are 2944 intended to be extensible. 2946 NOTE - The Job Monitoring MIB contains a superset of the IPP 2947 values[ipp-model] for the IPP 'job-state-reasons' attribute, 2948 since the Job Monitoring MIB is intended to cover other job 2949 submission protocols as well. Also some of the names of the 2950 reasons have been changed from 'printer' to 'device', since the 2951 Job Monitoring MIB, V0.85 Aug 8, 1997 2953 Job Monitoring MIB is intended to cover additional types of 2954 devices, including input devices, such as scanners. 2956 The following standard values are defined (in hexadecimal) as 2957 powers of two, since multiple values MAY be used at the same 2958 time. For ease of understanding, the JmJobStateReasons1TC 2959 reasons are presented in the order in which the reasons are 2960 likely to occur (if implemented), starting with the 2961 'jobIncoming' value and ending with the 'jobCompletedWithErrors' 2962 value. 2964 other 0x1 2965 The job state reason is not one of the standardized or 2966 registered reasons. 2968 unknown 0x2 2969 The job state reason is not known to the agent or is 2970 indeterminent. 2972 jobIncoming 0x4 2973 The job has been accepted by the server or device, but the 2974 server or device is expecting (1) additional operations from 2975 the client to finish creating the job and/or (2) is 2976 accessing/accepting document data. 2978 jobOutgoing 0x8 2979 Configuration 2 only: The server is transmitting the job to 2980 the device. 2982 jobHoldSpecified 0x10 2983 The value of the job's jobHold(52) attribute is TRUE. The 2984 job SHALL NOT be a candidate for processing until this 2985 reason is removed and there are no other reasons to hold the 2986 job. 2988 jobHoldUntilSpecified 0x20 2989 The value of the job's jobHoldUntil(53) attribute specifies 2990 a time period that is still in the future. The job SHALL 2991 NOT be a candidate for processing until this reason is 2992 removed and there are no other reasons to hold the job. 2994 jobProcessAfterSpecified 0x40 2995 The value of the job's jobProcessAfterDateAndTime(51) 2996 attribute specifies a time that is still in the future. The 2997 job SHALL NOT be a candidate for processing until this 2998 reason is removed and there are no other reasons to hold the 2999 job. 3001 Job Monitoring MIB, V0.85 Aug 8, 1997 3003 resourcesAreNotReady 0x80 3004 At least one of the resources needed by the job, such as 3005 media, fonts, resource objects, etc., is not ready on any of 3006 the physical devices for which the job is a candidate. This 3007 condition MAY be detected when the job is accepted, or 3008 subsequently while the job is pending or processing, 3009 depending on implementation. 3011 deviceStoppedPartly 0x100 3012 One or more, but not all, of the devices to which the job is 3013 assigned are stopped. If all of the devices are stopped (or 3014 the only device is stopped), the deviceStopped reason SHALL 3015 be used. 3017 deviceStopped 0x200 3018 The device(s) to which the job is assigned is (are all) 3019 stopped. 3021 jobPrinting 0x400 3022 The output device is marking media. This attribute is useful 3023 for servers and output devices which spend a great deal of 3024 time processing when no marking is happening and then want 3025 to show that marking is now happening or when the job is in 3026 the canceled or aborted state, but the marking has not yet 3027 stopped so that impression or sheet counts are still 3028 increasing for the job. 3030 jobCanceledByUser 0x800 3031 The job was canceled by the user, i.e., by an unknown user 3032 or by a user whose name is the same as the value of the 3033 job's jmJobOwner object. 3035 jobCanceledByOperator 0x1000 3036 The job was canceled by the operator, i.e., by a user whose 3037 name is different than the value of the job's jmJobOwner 3038 object. 3040 abortedBySystem 0x2000 3041 The job was aborted by the system. 3043 NOTE - When the system puts a job into the 'aborted' job 3044 state, this reason is not needed. This reason is needed 3045 only when the system aborts a job, but, instead of placing 3046 the job in the aborted job state, places the job in the 3047 pendingHeld state, so that a user or operator can manually 3048 try the job again. 3050 Job Monitoring MIB, V0.85 Aug 8, 1997 3052 processingToStopPoint 0x4000 3053 The requester has issued an operation to cancel or interrupt 3054 the job or the server/device has aborted the job but the 3055 server/device is still performing some actions on the job 3056 until a specified stop point occurs or job 3057 termination/cleanup is completed. 3059 This reason is recommended to be used in conjunction with 3060 the canceled or aborted job state to indicate that the 3061 server/device is still performing some actions on the job 3062 after the job leaves the processing state, so that some of 3063 the jobs resources consumed counters may still be 3064 incrementing while the job is in the canceled or aborted job 3065 states. 3067 jobCompletedSuccessfully 0x8000 3068 The job completed successfully. 3070 jobCompletedWithWarnings 0x10000 3071 The job completed with warnings. 3073 jobCompletedWithErrors 0x20000 3074 The job completed with errors (and possibly warnings too). 3076 The following additional job state reasons have been added to 3077 represent job states that are in ISO DPA[iso-dpa] and other job 3078 submission protocols: 3080 jobPaused 0x40000 3081 The job has been indefinitely suspended by a client issuing 3082 an operation to suspend the job so that other jobs may 3083 proceed using the same devices. The client MAY issue an 3084 operation to resume the paused job at any time, in which 3085 case the agent SHALL remove the jobPaused values from the 3086 job's jmJobStateReasons1 object and the job is eventually 3087 resumed at or near the point where the job was paused. 3089 jobInterrupted 0x80000 3090 The job has been interrupted while processing by a client 3091 issuing an operation that specifies another job to be run 3092 instead of the current job. The server or device will 3093 automatically resume the interrupted job when the 3094 interrupting job completes. 3096 jobRetained 0x100000 3097 The job is being retained by the server or device with all 3098 of the job's document data (and submitted resources, such as 3099 Job Monitoring MIB, V0.85 Aug 8, 1997 3101 fonts, logos, and forms, if any). Thus a client could issue 3102 an operation to the server or device to either (1) re-do the 3103 job (or a copy of the job) on the same server or device or 3104 (2) resubmit the job to another server or device. When a 3105 client could no longer re-do/resubmit the job, such as after 3106 the document data has been discarded, the agent SHALL remove 3107 the jobRetained value from the jmJobStateReasons1 object." 3108 REFERENCE 3109 "These bit definitions are the equivalent of a type 2 enum 3110 except that combinations of bits may be used together. See 3111 section 3.6.1.2. The remaining bits are reserved for future 3112 standardization and/or registration." 3114 SYNTAX INTEGER(0..2147483647) -- 31 bits, all but sign bit 3116 JmJobStateReasons2TC ::= TEXTUAL-CONVENTION 3117 STATUS current 3118 DESCRIPTION 3119 "This textual-convention is used with the jobStateReasons2 3120 attribute to provides additional information regarding the 3121 jmJobState object. See the description under 3122 JmJobStateReasons1TC for additional information that applies to 3123 all reasons. 3125 The following standard values are defined (in hexadecimal) as 3126 powers of two, since multiple values may be used at the same 3127 time: 3129 cascaded 0x1 3130 An outbound gateway has transmitted all of the job's job and 3131 document attributes and data to another spooling system. 3133 deletedByAdministrator 0x2 3134 The administrator has deleted the job. 3136 discardTimeArrived 0x4 3137 The job has been deleted due to the fact that the time 3138 specified by the job's job-discard-time attribute has 3139 arrived. 3141 postProcessingFailed 0x8 3142 The post-processing agent failed while trying to log 3143 accounting attributes for the job; therefore the job has 3144 been placed into the completed state with the jobRetained 3145 Job Monitoring MIB, V0.85 Aug 8, 1997 3147 jmJobStateReasons1 object value for a system-defined period 3148 of time, so the administrator can examine it, resubmit it, 3149 etc. 3151 submissionInterrupted 0x10 3152 Indicates that the job was not completely submitted for some 3153 unforeseen reason, such as: (1) the server has crashed 3154 before the job was closed by the client, (2) the server or 3155 the document transfer method has crashed in some non- 3156 recoverable way before the document data was entirely 3157 transferred to the server, (3) the client crashed or failed 3158 to close the job before the time-out period. 3160 maxJobFaultCountExceeded 0x20 3161 The job has faulted several times and has exceeded the 3162 administratively defined fault count limit. 3164 devicesNeedAttentionTimeOut 0x40 3165 One or more document transforms that the job is using needs 3166 human intervention in order for the job to make progress, 3167 but the human intervention did not occur within the site- 3168 settable time-out value. 3170 needsKeyOperatorTimeOut 0x80 3171 One or more devices or document transforms that the job is 3172 using need a specially trained operator (who may need a key 3173 to unlock the device and gain access) in order for the job 3174 to make progress, but the key operator intervention did not 3175 occur within the site-settable time-out value. 3177 jobStartWaitTimeOut 0x100 3178 The server/device has stopped the job at the beginning of 3179 processing to await human action, such as installing a 3180 special cartridge or special non-standard media, but the job 3181 was not resumed within the site-settable time-out value and 3182 the server/device has transitioned the job to the 3183 pendingHeld state. 3185 jobEndWaitTimeOut 0x200 3186 The server/device has stopped the job at the end of 3187 processing to await human action, such as removing a special 3188 cartridge or restoring standard media, but the job was not 3189 resumed within the site-settable time-out value and the 3190 server/device has transitioned the job to the completed 3191 state. 3193 jobPasswordWaitTimeOut 0x400 3194 The server/device has stopped the job at the beginning of 3195 Job Monitoring MIB, V0.85 Aug 8, 1997 3197 processing to await input of the job's password, but the 3198 password was not received within the site-settable time-out 3199 value. 3201 deviceTimedOut 0x800 3202 A device that the job was using has not responded in a 3203 period specified by the device's site-settable attribute. 3205 connectingToDeviceTimeOut 0x1000 3206 The server is attempting to connect to one or more devices 3207 which may be dial-up, polled, or queued, and so may be busy 3208 with traffic from other systems, but server was unable to 3209 connect to the device within the site-settable time-out 3210 value. 3212 transferring 0x2000 3213 The job is being transferred to a down stream server or 3214 device. 3216 queuedInDevice 0x4000 3217 The job has been queued in a down stream server or device. 3219 jobCleanup 0x8000 3220 The server/device is performing cleanup activity as part of 3221 ending normal processing. 3223 jobPasswordWait 0x20000 3224 The server/device has selected the job to be next to 3225 process, but instead of assigning resources and starting the 3226 job processing, the server/device has transitioned the job 3227 to the pendingHeld state to await entry of a password (and 3228 dispatched another job, if there is one). 3230 validating 0x40000 3231 The server/device is validating the job after accepting the 3232 job. 3234 queueHeld 0x80000 3235 The operator has held the entire job set or queue. 3237 jobProofWait 0x100000 3238 The job has produced a single proof copy and is in the 3239 pendingHeld state waiting for the requester to issue an 3240 operation to release the job to print normally, obeying any 3241 job and document copy attributes that were originally 3242 submitted. 3244 Job Monitoring MIB, V0.85 Aug 8, 1997 3246 heldForDiagnostics 0x200000 3247 The system is running intrusive diagnostics, so that all 3248 jobs are being held. 3250 serviceOffLine 0x400000 3251 The service/document transform is off-line and accepting no 3252 jobs. All pending jobs are put into the pendingHeld state. 3253 This could be true if its input is impaired or broken. 3255 noSpaceOnServer 0x800000 3256 There is no room on the server to store all of the job. 3258 pinRequired 0x1000000 3259 The System Administrator settable device policy is (1) to 3260 require PINs, and (2) to hold jobs that do not have a pin 3261 supplied as an input parameter when the job was created. 3263 exceededAccountLimit 0x2000000 3264 The account for which this job is drawn has exceeded its 3265 limit. This condition SHOULD be detected before the job is 3266 scheduled so that the user does not wait until his/her job 3267 is scheduled only to find that the account is overdrawn. 3268 This condition MAY also occur while the job is processing 3269 either as processing begins or part way through processing. 3271 heldForRetry 0x4000000 3272 The job encountered some errors that the server/device could 3273 not recover from with its normal retry procedures, but the 3274 error might not be encountered if the job is processed again 3275 in the future. Example cases are phone number busy or 3276 remote file system in-accessible. For such a situation, the 3277 server/device SHALL transition the job from the processing 3278 to the pendingHeld, rather than to the aborted state. 3280 The following values are from the X/Open PSIS draft standard: 3282 canceledByShutdown 0x8000000 3283 The job was canceled because the server or device was 3284 shutdown before completing the job. 3286 deviceUnavailable 0x10000000 3287 This job was aborted by the system because the device is 3288 currently unable to accept jobs. 3290 wrongDevice 0x20000000 3291 This job was aborted by the system because the device is 3292 unable to handle this particular job; the spooler SHOULD try 3293 Job Monitoring MIB, V0.85 Aug 8, 1997 3295 another device or the user should submit the job to another 3296 device. 3298 badJob 0x40000000 3299 This job was aborted by the system because this job has a 3300 major problem, such as an ill-formed PDL; the spooler SHOULD 3301 not even try another device. " 3302 REFERENCE 3303 "These bit definitions are the equivalent of a type 2 enum 3304 except that combinations of them may be used together. See 3305 section 3.6.1.2. See the description under JmJobStateReasons1TC 3306 and the jobStateReasons2 attribute." 3308 SYNTAX INTEGER(0..2147483647) -- 31 bits, all but sign bit 3310 JmJobStateReasons3TC ::= TEXTUAL-CONVENTION 3311 STATUS current 3312 DESCRIPTION 3313 "This textual-convention is used with the jobStateReasons3 3314 attribute to provides additional information regarding the 3315 jmJobState object. See the description under 3316 JmJobStateReasons1TC for additional information that applies to 3317 all reasons. 3319 The following standard values are defined (in hexadecimal) as 3320 powers of two, since multiple values may be used at the same 3321 time: 3323 jobInterruptedByDeviceFailure 0x1 3324 A device or the print system software that the job was using 3325 has failed while the job was processing. The server or 3326 device is keeping the job in the pendingHeld state until an 3327 operator can determine what to do with the job." 3328 REFERENCE 3329 "These bit definitions are the equivalent of a type 2 enum 3330 except that combinations of them may be used together. See 3331 section 3.6.1.2. The remaining bits are reserved for future 3332 standardization and/or registration. See the description under 3333 JmJobStateReasons1TC and the jobStateReasons3 attribute." 3334 SYNTAX INTEGER(0..2147483647) -- 31 bits, all but sign bit 3335 Job Monitoring MIB, V0.85 Aug 8, 1997 3337 JmJobStateReasons4TC ::= TEXTUAL-CONVENTION 3338 STATUS current 3339 DESCRIPTION 3340 "This textual-convention is used in the jobStateReasons4 3341 attribute to provides additional information regarding the 3342 jmJobState object. See the description under 3343 JmJobStateReasons1TC for additional information that applies to 3344 all reasons. 3346 The following standard values are defined (in hexadecimal) as 3347 powers of two, since multiple values may be used at the same 3348 time: 3350 none yet defined. These bits are reserved for future 3351 standardization and/or registration." 3352 REFERENCE 3353 "These bit definitions are the equivalent of a type 2 enum 3354 except that combinations of them may be used together. See 3355 section 3.6.1.2. See the description under JmJobStateReasons1TC 3356 and the jobStateReasons4 attribute." 3358 SYNTAX INTEGER(0..2147483647) -- 31 bits, all but sign bit 3359 Job Monitoring MIB, V0.85 Aug 8, 1997 3361 jobmonMIBObjects OBJECT IDENTIFIER ::= { jobmonMIB 1 } 3363 -- The General Group (MANDATORY) 3365 -- The jmGeneralGroup consists entirely of the jmGeneralTable. 3367 jmGeneral OBJECT IDENTIFIER ::= { jobmonMIBObjects 1 } 3369 jmGeneralTable OBJECT-TYPE 3370 SYNTAX SEQUENCE OF JmGeneralEntry 3371 MAX-ACCESS not-accessible 3372 STATUS current 3373 DESCRIPTION 3374 "The jmGeneralTable consists of information of a general nature 3375 that are per-job-set, but are not per-job. See Section 2 3376 entitled 'Terminology and Job Model' for the definition of a job 3377 set." 3378 REFERENCE 3379 "The MANDATORY-GROUP macro specifies that this group is 3380 MANDATORY." 3381 ::= { jmGeneral 1 } 3383 jmGeneralEntry OBJECT-TYPE 3384 SYNTAX JmGeneralEntry 3385 MAX-ACCESS not-accessible 3386 STATUS current 3387 DESCRIPTION 3388 "Information about a job set (queue). 3390 An entry SHALL exist in this table for each job set." 3391 INDEX { jmGeneralJobSetIndex } 3392 ::= { jmGeneralTable 1 } 3394 JmGeneralEntry ::= SEQUENCE { 3395 jmGeneralJobSetIndex Integer32(1..32767), 3396 jmGeneralNumberOfActiveJobs Integer32(0..2147483647), 3397 jmGeneralOldestActiveJobIndex Integer32(0..2147483647), 3398 jmGeneralNewestActiveJobIndex Integer32(0..2147483647), 3399 jmGeneralJobPersistence Integer32(15..2147483647), 3400 jmGeneralAttributePersistence Integer32(15..2147483647), 3401 jmGeneralJobSetName JmUTF8StringTC(SIZE(0..63)) 3402 } 3404 jmGeneralJobSetIndex OBJECT-TYPE 3405 SYNTAX Integer32(1..32767) 3406 MAX-ACCESS not-accessible 3407 STATUS current 3408 Job Monitoring MIB, V0.85 Aug 8, 1997 3410 DESCRIPTION 3411 "A unique value for each job set in this MIB. The jmJobTable 3412 and jmAttributeTable tables have this same index as their 3413 primary index. 3415 The value(s) of the jmGeneralJobSetIndex SHALL be persistent 3416 across power cycles, so that clients that have retained 3417 jmGeneralJobSetIndex values will access the same job sets upon 3418 subsequent power-up. 3420 An implementation that has only one job set, such as a printer 3421 with a single queue, SHALL hard code this object with the value 3422 1." 3423 REFERENCE 3424 "See Section 2 entitled 'Terminology and Job Model' for the 3425 definition of a job set. 3426 Corresponds to the first index in jmJobTable and 3427 jmAttributeTable." 3428 ::= { jmGeneralEntry 1 } 3430 jmGeneralNumberOfActiveJobs OBJECT-TYPE 3431 SYNTAX Integer32(0..2147483647) 3432 MAX-ACCESS read-only 3433 STATUS current 3434 DESCRIPTION 3435 "The current number of 'active' jobs in the jmJobIDTable, 3436 jmJobTable, and jmAttributeTable, i.e., the total number of jobs 3437 that are in the pending, processing, or processingStopped 3438 states. See the JmJobStateTC textual-convention for the exact 3439 specification of the semantics of the job states." 3440 ::= { jmGeneralEntry 2 } 3442 jmGeneralOldestActiveJobIndex OBJECT-TYPE 3443 SYNTAX Integer32 (0..2147483647) 3444 MAX-ACCESS read-only 3445 STATUS current 3446 DESCRIPTION 3447 "The jmJobIndex of the oldest job that is still in one of the 3448 'active' states (pending, processing, or processingStopped). In 3449 other words, the index of the 'active' job that has been in the 3450 job tables the longest. 3452 If there are no active jobs, the agent SHALL set the value of 3453 this object to 0." 3454 REFERENCE 3455 "See Section 3.2 entitled 'The Job Tables and the Oldest Active 3456 and Newest Active Indexes' for a description of the usage of 3457 this object." 3458 Job Monitoring MIB, V0.85 Aug 8, 1997 3460 ::= { jmGeneralEntry 3 } 3462 jmGeneralNewestActiveJobIndex OBJECT-TYPE 3463 SYNTAX Integer32 (0..2147483647) 3464 MAX-ACCESS read-only 3465 STATUS current 3466 DESCRIPTION 3467 "The jmJobIndex of the newest job that is in one of the 'active' 3468 states (pending, processing, or processingStopped). In other 3469 words, the index of the 'active' job that has been most recently 3470 added to the job tables. 3472 When all jobs become 'inactive', i.e., enter the pendingHeld, 3473 completed, canceled, or aborted states, the agent SHALL set the 3474 value of this object to 0." 3475 REFERENCE 3476 "See Section 3.2 entitled 'The Job Tables and the Oldest Active 3477 and Newest Active Indexes' for a description of the usage of 3478 this object." 3479 ::= { jmGeneralEntry 4 } 3481 jmGeneralJobPersistence OBJECT-TYPE 3482 SYNTAX Integer32(15..2147483647) 3483 UNITS "seconds" 3484 MAX-ACCESS read-only 3485 STATUS current 3486 DESCRIPTION 3487 "The minimum time in seconds for this instance of the Job Set 3488 that an entry SHALL remain in the jmJobIDTable and jmJobTable 3489 after processing has completed, i.e., the minimum time in 3490 seconds starting when the job enters the completed, canceled, or 3491 aborted state. 3493 Depending on implementation, the value of this object MAY be 3494 either: (1) set by the system administrator by means outside 3495 this specification or (2) fixed by the implementation. 3497 This value SHALL be equal to or greater than the value of 3498 jmGeneralAttributePersistence. This value SHOULD be at least 60 3499 which gives a monitoring application one minute in which to poll 3500 for job data." 3501 DEFVAL { 60 } -- one minute 3502 ::= { jmGeneralEntry 5 } 3504 jmGeneralAttributePersistence OBJECT-TYPE 3505 SYNTAX Integer32(15..2147483647) 3506 UNITS "seconds" 3507 MAX-ACCESS read-only 3508 Job Monitoring MIB, V0.85 Aug 8, 1997 3510 STATUS current 3511 DESCRIPTION 3512 "The minimum time in seconds for this instance of the Job Set 3513 that an entry SHALL remain in the jmAttributeTable after 3514 processing has completed , i.e., the time in seconds starting 3515 when the job enters the completed, canceled, or aborted state. 3517 Depending on implementation, the value of this object MAY be 3518 either (1) set by the system administrator by means outside this 3519 specification or MAY be (2) fixed by the implementation. 3521 This value SHOULD be at least 60 which gives a monitoring 3522 application one minute in which to poll for job data." 3523 DEFVAL { 60 } -- one minute 3524 ::= { jmGeneralEntry 6 } 3526 jmGeneralJobSetName OBJECT-TYPE 3527 SYNTAX JmUTF8StringTC(SIZE(0..63)) 3528 MAX-ACCESS read-only 3529 STATUS current 3530 DESCRIPTION 3531 "The human readable name of this job set assigned by the system 3532 administrator (by means outside of this MIB). Typically, this 3533 name SHOULD be the name of the job queue. If a server or device 3534 has only a single job set, this object can be the 3535 administratively assigned name of the server or device itself. 3536 This name does not need to be unique, though each job set in a 3537 single Job Monitoring MIB SHOULD have distinct names. 3539 NOTE - The purpose of this object is to help the user of the job 3540 monitoring application distinguish between several job sets in 3541 implementations that support more than one job set." 3542 REFERENCE 3543 "See the OBJECT compliance macro for the minimum maximum length 3544 required for conformance." 3545 ::= { jmGeneralEntry 7 } 3547 -- The Job ID Group (MANDATORY) 3549 -- The jmJobIDGroup consists entirely of the jmJobIDTable. 3551 jmJobID OBJECT IDENTIFIER ::= { jobmonMIBObjects 2 } 3553 jmJobIDTable OBJECT-TYPE 3554 Job Monitoring MIB, V0.85 Aug 8, 1997 3556 SYNTAX SEQUENCE OF JmJobIDEntry 3557 MAX-ACCESS not-accessible 3558 STATUS current 3559 DESCRIPTION 3560 "The jmJobIDTable provides a correspondence map (1) between the 3561 job submission ID that a client uses to refer to a job and (2) 3562 the jmGeneralJobSetIndex and jmJobIndex that the Job Monitoring 3563 MIB agent assigned to the job and that are used to access the 3564 job in all of the other tables in the MIB. If a monitoring 3565 application already knows the jmGeneralJobSetIndex and the 3566 jmJobIndex of the job it is querying, that application NEED NOT 3567 use the jmJobIDTable." 3568 REFERENCE 3569 "The MANDATORY-GROUP macro specifies that this group is 3570 MANDATORY." 3571 ::= { jmJobID 1 } 3573 jmJobIDEntry OBJECT-TYPE 3574 SYNTAX JmJobIDEntry 3575 MAX-ACCESS not-accessible 3576 STATUS current 3577 DESCRIPTION 3578 "The map from (1) the jmJobSubmissionID to (2) the 3579 jmGeneralJobSetIndex and jmJobIndex. 3581 An entry SHALL exist in this table for each job currently known 3582 to the agent for all job sets and job states. Each job SHALL 3583 appear in one and only one job set." 3584 INDEX { jmJobSubmissionID } 3585 ::= { jmJobIDTable 1 } 3587 JmJobIDEntry ::= SEQUENCE { 3588 jmJobSubmissionID OCTET STRING(SIZE(48)), 3589 jmJobIDJobSetIndex Integer32(1..32767), 3590 jmJobIDJobIndex Integer32(1..2147483647) 3591 } 3593 jmJobSubmissionID OBJECT-TYPE 3594 SYNTAX OCTET STRING(SIZE(48)) 3595 MAX-ACCESS not-accessible 3596 STATUS current 3597 DESCRIPTION 3598 "A quasi-unique 48-octet fixed-length string ID which identifies 3599 the job within a particular client-server environment. There 3600 are multiple formats for the jmJobSubmissionID. Each format 3601 SHALL be uniquely identified. See the JmJobSubmissionIDTypeTC 3602 textual convention. Each format SHALL be registered using the 3603 Job Monitoring MIB, V0.85 Aug 8, 1997 3605 procedures of a type 2 enum. See section 3.6.3 entitled: 'IANA 3606 Registration of Job Submission Id Formats'. 3608 If the requester (client or server) does not supply a job 3609 submission ID in the job submission protocol, then the recipient 3610 (server or device) SHALL assign a job submission ID using any of 3611 the standard formats that have been reserved to agents and 3612 adding the final 8 octets to distinguish the ID from others 3613 submitted from the same requester. 3615 The monitoring application, whether in the client or running 3616 separately, MAY use the job submission ID to help identify which 3617 jmJobIndex was assigned by the agent, i.e., in which row the job 3618 information is in the other tables. 3620 NOTE - fixed-length is used so that a management application can 3621 use a shortened GetNext varbind (in SNMPv1 and SNMPv2) in order 3622 to get the next submission ID, disregarding the remainder of the 3623 ID in order to access jobs independent of the trailing 3624 identifier part, e.g., to get all jobs submitted by a particular 3625 jmJobOwner or submitted from a particular MAC address." 3626 REFERENCE 3627 "See the JmJobSubmissionIDTypeTC textual convention. 3628 See APPENDIX B - Support of the Job Submission ID in Job 3629 Submission Protocols." 3630 ::= { jmJobIDEntry 1 } 3632 jmJobIDJobSetIndex OBJECT-TYPE 3633 SYNTAX Integer32(1..32767) 3634 MAX-ACCESS read-only 3635 STATUS current 3636 DESCRIPTION 3637 "This object contains the value of the jmGeneralJobSetIndex for 3638 the job with the jmJobSubmissionID value, i.e., the job set 3639 index of the job set in which the job was placed when that 3640 server or device accepted the job. This 16-bit value in 3641 combination with the jmJobIDJobIndex value permits the 3642 management application to access the other tables to obtain the 3643 job-specific objects for this job." 3644 REFERENCE 3645 "See jmGeneralJobSetIndex in the jmGeneralTable." 3646 ::= { jmJobIDEntry 2 } 3648 jmJobIDJobIndex OBJECT-TYPE 3649 SYNTAX Integer32(1..2147483647) 3650 MAX-ACCESS read-only 3651 STATUS current 3652 DESCRIPTION 3653 Job Monitoring MIB, V0.85 Aug 8, 1997 3655 "This object contains the value of the jmJobIndex for the job 3656 with the jmJobSubmissionID value, i.e., the job index for the 3657 job when the server or device accepted the job. This value, in 3658 combination with the jmJobIDJobSetIndex value, permits the 3659 management application to access the other tables to obtain the 3660 job-specific objects for this job." 3661 REFERENCE 3662 "See jmJobIndex in the jmJobTable." 3663 ::= { jmJobIDEntry 3 } 3665 -- The Job Group (MANDATORY) 3667 -- The jmJobGroup consists entirely of the jmJobTable. 3669 jmJob OBJECT IDENTIFIER ::= { jobmonMIBObjects 3 } 3671 jmJobTable OBJECT-TYPE 3672 SYNTAX SEQUENCE OF JmJobEntry 3673 MAX-ACCESS not-accessible 3674 STATUS current 3675 DESCRIPTION 3676 "The jmJobTable consists of basic job state and status 3677 information for each job in a job set that (1) monitoring 3678 applications need to be able to access in a single SNMP Get 3679 operation, (2) that have a single value per job, and (3) that 3680 SHALL always be implemented." 3681 REFERENCE 3682 "The MANDATORY-GROUP macro specifies that this group is 3683 MANDATORY." 3684 ::= { jmJob 1 } 3686 jmJobEntry OBJECT-TYPE 3687 SYNTAX JmJobEntry 3688 MAX-ACCESS not-accessible 3689 STATUS current 3690 DESCRIPTION 3691 "Basic per-job state and status information. 3693 An entry SHALL exist in this table for each job, no matter what 3694 the state of the job is. Each job SHALL appear in one and only 3695 one job set." 3696 REFERENCE 3697 "See Section 3.2 entitled 'The Job Tables'." 3698 INDEX { jmGeneralJobSetIndex, jmJobIndex } 3699 ::= { jmJobTable 1 } 3700 Job Monitoring MIB, V0.85 Aug 8, 1997 3702 JmJobEntry ::= SEQUENCE { 3703 jmJobIndex Integer32(1..2147483647), 3704 jmJobState JmJobStateTC, 3705 jmJobStateReasons1 JmJobStateReasons1TC, 3706 jmNumberOfInterveningJobs Integer32(-2..2147483647), 3707 jmJobKOctetsRequested Integer32(-2..2147483647), 3708 jmJobKOctetsProcessed Integer32(-2..2147483647), 3709 jmJobImpressionsRequested Integer32(-2..2147483647), 3710 jmJobImpressionsCompleted Integer32(-2..2147483647), 3711 jmJobOwner JmJobStringTC(SIZE(0..63)) 3712 } 3714 jmJobIndex OBJECT-TYPE 3715 SYNTAX Integer32(1..2147483647) 3716 MAX-ACCESS not-accessible 3717 STATUS current 3718 DESCRIPTION 3719 "The sequential, monatonically increasing identifier index for 3720 the job generated by the server or device when that server or 3721 device accepted the job. This index value permits the 3722 management application to access the other tables to obtain the 3723 job-specific row entries." 3724 REFERENCE 3725 "See Section 3.2 entitled 'The Job Tables and the Oldest Active 3726 and Newest Active Indexes'. 3727 See Section 3.4 entitled 'Job Identification'. 3728 See also jmGeneralNewestActiveJobIndex for the largest value of 3729 jmJobIndex. 3730 See JmJobSubmissionTypeTC for a limit on the size of this index 3731 if the agent represents it as an 8-digit decimal number." 3732 ::= { jmJobEntry 1 } 3734 jmJobState OBJECT-TYPE 3735 SYNTAX JmJobStateTC 3736 MAX-ACCESS read-only 3737 STATUS current 3738 DESCRIPTION 3739 "The current state of the job (pending, processing, completed, 3740 etc.). Agents SHALL implement only those states which are 3741 appropriate for the particular implementation. However, 3742 management applications SHALL be prepared to receive all the 3743 standard job states. 3745 The final value for this object SHALL be one of: completed, 3746 canceled, or aborted. The minimum length of time that the agent 3747 SHALL maintain MIB data for a job in the completed, canceled, or 3748 aborted state before removing the job data from the jmJobIDTable 3749 Job Monitoring MIB, V0.85 Aug 8, 1997 3751 and jmJobTable is specified by the value of the 3752 jmGeneralJobPersistence object." 3753 ::= { jmJobEntry 2 } 3755 jmJobStateReasons1 OBJECT-TYPE 3756 SYNTAX JmJobStateReasons1TC 3757 MAX-ACCESS read-only 3758 STATUS current 3759 DESCRIPTION 3760 "Additional information about the job's current state, i.e., 3761 information that augments the value of the job's jmJobState 3762 object. 3764 Implementation of any reason values is OPTIONAL, but an agent 3765 SHOULD return any reason information available These values MAY 3766 be used with any job state or states for which the reason makes 3767 sense. Furthermore, when implemented as with any MIB data, the 3768 agent SHALL return these values when the reason applies and 3769 SHALL NOT return them when the reason no longer applies whether 3770 the value of the job's jmJobState object changed or not. When 3771 the agent cannot provide a reason for the current state of the 3772 job, the agent SHALL set the value of the jmJobStateReasons1 3773 object and jobStateReasonsN attributes to 0." 3774 REFERENCE 3775 "The jobStateReasonsN (N=2..4) attributes provide further 3776 additional information about the job's current state." 3777 ::= { jmJobEntry 3 } 3779 jmNumberOfInterveningJobs OBJECT-TYPE 3780 SYNTAX Integer32(-2..2147483647) 3781 MAX-ACCESS read-only 3782 STATUS current 3783 DESCRIPTION 3784 "The number of jobs that are expected to complete being 3785 processed before this job has completed being processed 3786 according to the implementation's queuing algorithm if no other 3787 jobs were to be submitted. In other words, this value is the 3788 job's queue position. The agent SHALL return a value of 0 for 3789 this attribute when the job is the next job to complete 3790 processing (or has completed processing)." 3791 ::= { jmJobEntry 4 } 3793 jmJobKOctetsRequested OBJECT-TYPE 3794 SYNTAX Integer32(-2..2147483647) 3795 MAX-ACCESS read-only 3796 STATUS current 3797 DESCRIPTION 3798 Job Monitoring MIB, V0.85 Aug 8, 1997 3800 "The total size in K (1024) octets of the document(s) being 3801 requested to be processed in the job. The agent SHALL round the 3802 actual number of octets up to the next highest K. Thus 0 octets 3803 SHALL be represented as '0', 1-1024 octets SHALL be represented 3804 as '1', 1025-2048 SHALL be represented as '2', etc. 3806 In computing this value, the server/device SHALL not include the 3807 multiplicative factors contributed by (1) the number of document 3808 copies, and (2) the number of job copies, independent of whether 3809 the device can process multiple copies of the job or document 3810 without making multiple passes over the job or document data and 3811 independent of whether the output is collated or not. Thus the 3812 server/device computation is independent of the implementation." 3813 ::= { jmJobEntry 5 } 3815 jmJobKOctetsProcessed OBJECT-TYPE 3816 SYNTAX Integer32(-2..2147483647) 3817 MAX-ACCESS read-only 3818 STATUS current 3819 DESCRIPTION 3820 "The current number of octets processed by the server or device 3821 measured in units of K (1024) octets. The agent SHALL round the 3822 actual number of octets processed up to the next higher K. Thus 3823 0 octets SHALL be represented as '0', 1-1024 octets SHALL be 3824 represented as '1', 1025-2048 octets SHALL be '2', etc. For 3825 printing devices, this value is the number interpreted by the 3826 page description language interpreter rather than what has been 3827 marked on media. 3829 For implementations where multiple copies are produced by the 3830 interpreter with only a single pass over the data, the final 3831 value SHALL be equal to the value of the jmJobKOctetsRequested 3832 object. For implementations where multiple copies are produced 3833 by the interpreter by processing the data for each copy, the 3834 final value SHALL be a multiple of the value of the 3835 jmJobKOctetsRequested object. 3837 NOTE - See the impressionsCompletedCurrentCopy and 3838 pagesCompletedCurrentCopy attributes for attributes that are 3839 reset on each document copy. 3841 NOTE - The jmJobKOctetsProcessed object can be used with the 3842 jmJobKOctetsRequested object to provide an indication of the 3843 relative progress of the job, provided that the multiplicative 3844 factor is taken into account for some implementations of 3845 multiple copies." 3846 ::= { jmJobEntry 6 } 3847 Job Monitoring MIB, V0.85 Aug 8, 1997 3849 jmJobImpressionsRequested OBJECT-TYPE 3850 SYNTAX Integer32(-2..2147483647) 3851 MAX-ACCESS read-only 3852 STATUS current 3853 DESCRIPTION 3854 "The total size in number of impressions of the document(s) 3855 being requested by this job to produce. 3857 In computing this value, the server/device SHALL not include the 3858 multiplicative factors contributed by (1) the number of document 3859 copies, and (2) the number of job copies, independent of whether 3860 the device can process multiple copies of the job or document 3861 without making multiple passes over the job or document data and 3862 independent of whether the output is collated or not. Thus the 3863 server/device computation is independent of the implementation." 3864 ::= { jmJobEntry 7 } 3866 jmJobImpressionsCompleted OBJECT-TYPE 3867 SYNTAX Integer32(-2..2147483647) 3868 MAX-ACCESS read-only 3869 STATUS current 3870 DESCRIPTION 3871 "The current number of impressions completed for this job so 3872 far. For printing devices, the impressions completed includes 3873 interpreting, marking, and stacking the output. For other types 3874 of job services, the number of impressions completed includes 3875 the number of impressions processed. 3877 For implementations where multiple copies are produced by the 3878 interpreter with only a single pass over the data, the final 3879 value SHALL be equal to the value of the 3880 jmJobImpressionsRequested object. For implementations where 3881 multiple copies are produced by the interpreter by processing 3882 the data for each copy, the final value SHALL be a multiple of 3883 the value of the jmJobImpressionsRequested object. 3885 NOTE - See the impressionsCompletedCurrentCopy and 3886 pagesCompletedCurrentCopy attributes for attributes that are 3887 reset on each document copy. 3889 NOTE - The jmJobImpressionsCompleted object can be used with the 3890 jmJobImpressionsRequested object to provide an indication of the 3891 relative progress of the job, provided that the multiplicative 3892 factor is taken into account for some implementations of 3893 multiple copies." 3894 ::= { jmJobEntry 8 } 3896 jmJobOwner OBJECT-TYPE 3897 Job Monitoring MIB, V0.85 Aug 8, 1997 3899 SYNTAX JmJobStringTC(SIZE(0..63)) 3900 MAX-ACCESS read-only 3901 STATUS current 3902 DESCRIPTION 3903 "The coded character set name of the user that submitted the 3904 job. The method of assigning this user name will be system 3905 and/or site specific but the method MUST insure that the name is 3906 unique to the network that is visible to the client and target 3907 device. 3909 This value SHOULD be the authenticated name of the user 3910 submitting the job." 3911 REFERENCE 3912 "See the OBJECT compliance macro for the minimum maximum length 3913 required for conformance." 3914 ::= { jmJobEntry 9 } 3916 -- The Attribute Group (MANDATORY) 3918 -- The jmAttributeGroup consists entirely of the jmAttributeTable. 3919 -- 3920 -- Implementation of the two objects in this group is MANDATORY. 3921 -- See Section 3.1 entitled 'Conformance Considerations'. 3922 -- An agent SHALL implement any attribute if (1) the server or device 3923 -- supports the functionality represented by the attribute and (2) the 3924 -- information is available to the agent. 3926 jmAttribute OBJECT IDENTIFIER ::= { jobmonMIBObjects 4 } 3928 jmAttributeTable OBJECT-TYPE 3929 SYNTAX SEQUENCE OF JmAttributeEntry 3930 MAX-ACCESS not-accessible 3931 STATUS current 3932 DESCRIPTION 3933 "The jmAttributeTable SHALL contain attributes of the job and 3934 document(s) for each job in a job set. Instead of allocating 3935 distinct objects for each attribute, each attribute is 3936 represented as a separate row in the jmAttributeTable." 3937 REFERENCE 3938 "The MANDATORY-GROUP macro specifies that this group is 3939 MANDATORY. An agent SHALL implement any attribute if (1) the 3940 server or device supports the functionality represented by the 3941 attribute and (2) the information is available to the agent. " 3942 ::= { jmAttribute 1 } 3943 Job Monitoring MIB, V0.85 Aug 8, 1997 3945 jmAttributeEntry OBJECT-TYPE 3946 SYNTAX JmAttributeEntry 3947 MAX-ACCESS not-accessible 3948 STATUS current 3949 DESCRIPTION 3950 "Attributes representing information about the job and 3951 document(s) or resources required and/or consumed. 3953 Each entry in the jmAttributeTable is a per-job entry with an 3954 extra index for each type of attribute (jmAttributeTypeIndex) 3955 that a job can have and an additional index 3956 (jmAttributeInstanceIndex) for those attributes that can have 3957 multiple instances per job. The jmAttributeTypeIndex object 3958 SHALL contain an enum type that indicates the type of attribute 3959 (see the JmAttributeTypeTC textual-convention). The value of 3960 the attribute SHALL be represented in either the 3961 jmAttributeValueAsInteger or jmAttributeValueAsOctets objects, 3962 and/or both, as specified in the JmAttributeTypeTC textual- 3963 convention. 3965 The agent SHALL create rows in the jmAttributeTable as the 3966 server or device is able to discover the attributes either from 3967 the job submission protocol itself or from the document PDL. As 3968 the documents are interpreted, the interpreter MAY discover 3969 additional attributes and so the agent adds additional rows to 3970 this table. As the attributes that represent resources are 3971 actually consumed, the usage counter contained in the 3972 jmAttributeValueAsInteger object is incremented according to the 3973 units indicated in the description of the JmAttributeTypeTC 3974 enum. 3976 The agent SHALL maintain each row in the jmJobTable for at least 3977 the minimum time after a job completes as specified by the 3978 jmGeneralAttributePersistence object. 3980 Zero or more entries SHALL exist in this table for each job in a 3981 job set." 3982 REFERENCE 3983 "See Section 3.3 entitled 'The Attribute Mechanism' for a 3984 description of the jmAttributeTable." 3985 INDEX { jmGeneralJobSetIndex, jmJobIndex, jmAttributeTypeIndex, 3986 jmAttributeInstanceIndex } 3987 ::= { jmAttributeTable 1 } 3989 JmAttributeEntry ::= SEQUENCE { 3990 jmAttributeTypeIndex JmAttributeTypeTC, 3991 jmAttributeInstanceIndex Integer32(1..32767), 3992 jmAttributeValueAsInteger Integer32(-2..2147483647), 3993 Job Monitoring MIB, V0.85 Aug 8, 1997 3995 jmAttributeValueAsOctets OCTET STRING(SIZE(0..63)) 3996 } 3998 jmAttributeTypeIndex OBJECT-TYPE 3999 SYNTAX JmAttributeTypeTC 4000 MAX-ACCESS not-accessible 4001 STATUS current 4002 DESCRIPTION 4003 "The type of attribute that this row entry represents. 4005 The type MAY identify information about the job or document(s) 4006 or MAY identify a resource required to process the job before 4007 the job start processing and/or consumed by the job as the job 4008 is processed. 4010 Examples of job attributes (i.e., apply to the job as a whole) 4011 that have only one instance per job include: 4012 jobCopiesRequested(90), documentCopiesRequested(92), 4013 jobCopiesCompleted(91), documentCopiesCompleted(93), while 4014 examples of job attributes that may have more than one instance 4015 per job include: documentFormatIndex(37), and 4016 documentFormat(38). 4018 Examples of document attributes (one instance per document) 4019 include: fileName(34), and documentName(35). 4021 Examples of required and consumed resource attributes include: 4022 pagesRequested(130), mediumRequested(170), pagesCompleted(131), 4023 and mediumConsumed(171), respectively." 4024 ::= { jmAttributeEntry 1 } 4026 jmAttributeInstanceIndex OBJECT-TYPE 4027 SYNTAX Integer32(1..32767) 4028 MAX-ACCESS not-accessible 4029 STATUS current 4030 DESCRIPTION 4031 "A running 16-bit index of the attributes of the same type for 4032 each job. For those attributes with only a single instance per 4033 job, this index value SHALL be 1. For those attributes that are 4034 a single value per document, the index value SHALL be the 4035 document number, starting with 1 for the first document in the 4036 job. Jobs with only a single document SHALL use the index value 4037 of 1. For those attributes that can have multiple values per 4038 job or per document, such as documentFormatIndex(37) or 4039 documentFormat(38), the index SHALL be a running index for the 4040 job as a whole, starting at 1." 4041 ::= { jmAttributeEntry 2 } 4042 Job Monitoring MIB, V0.85 Aug 8, 1997 4044 jmAttributeValueAsInteger OBJECT-TYPE 4045 SYNTAX Integer32(-2..2147483647) 4046 MAX-ACCESS read-only 4047 STATUS current 4048 DESCRIPTION 4049 "The integer value of the attribute. The value of the attribute 4050 SHALL be represented as an integer if the enum description in 4051 the JmAttributeTypeTC textual-convention definition has the tag: 4052 'INTEGER:'. 4054 Depending on the enum definition, this object value MAY be an 4055 integer, a counter, an index, or an enum, depending on the 4056 jmAttributeTypeIndex value. The units of this value are 4057 specified in the enum description. 4059 For those attributes that are accumulating job consumption as 4060 the job is processed as specified in the JmAttributeTypeTC 4061 textual-convention, SHALL contain the final value after the job 4062 completes processing, i.e., this value SHALL indicate the total 4063 usage of this resource made by the job. 4065 A monitoring application is able to copy this value to a 4066 suitable longer term storage for later processing as part of an 4067 accounting system. 4069 Since the agent MAY add attributes representing resources to 4070 this table while the job is waiting to be processed or being 4071 processed, which can be a long time before any of the resources 4072 are actually used, the agent SHALL set the value of the 4073 jmAttributeValueAsInteger object to 0 for resources that the job 4074 has not yet consumed. 4076 Attributes for which the concept of an integer value is 4077 meaningless, such as fileName(34), jobName, and 4078 processingMessage, do not have the 'INTEGER:' tag in the 4079 JmAttributeTypeTC definition and so an agent SHALL always return 4080 a value of '-1' to indicate 'other' for the value of the 4081 jmAttributeValueAsInteger object for these attributes. 4083 For attributes which do have the 'INTEGER:' tag in the 4084 JmAttributeTypeTC definition, if the integer value is not (yet) 4085 known, the agent either (1) SHALL not materialize the row in the 4086 jmAttributeTable until the value is known or (2) SHALL return a 4087 '-2' to represent an 'unknown' counting integer value, a '0' to 4088 represent an 'unknown' index value, and a '2' to represent an 4089 'unknown(2)' enum value." 4090 ::= { jmAttributeEntry 3 } 4091 Job Monitoring MIB, V0.85 Aug 8, 1997 4093 jmAttributeValueAsOctets OBJECT-TYPE 4094 SYNTAX OCTET STRING(SIZE(0..63)) 4095 MAX-ACCESS read-only 4096 STATUS current 4097 DESCRIPTION 4098 "The octet string value of the attribute. The value of the 4099 attribute SHALL be represented as an OCTET STRING if the enum 4100 description in the JmAttributeTypeTC textual-convention 4101 definition has the tag: 'OCTETS:'. 4103 Depending on the enum definition, this object value MAY be a 4104 coded character set string (text), such as 'JmUTF8StringTC', or 4105 a binary octet string, such as 'DateAndTime'. 4107 Attributes for which the concept of an octet string value is 4108 meaningless, such as pagesCompleted, do not have the tag 4109 'OCTETS:' in the JmAttributeTypeTC definition and so the agent 4110 SHALL always return a zero length string for the value of the 4111 jmAttributeValueAsOctets object. 4113 For attributes which do have the 'OCTETS:' tag in the 4114 JmAttributeTypeTC definition, if the OCTET STRING value is not 4115 (yet) known, the agent either SHALL not materialize the row in 4116 the jmAttributeTable until the value is known or SHALL return a 4117 zero-length string." 4118 ::= { jmAttributeEntry 4 } 4119 Job Monitoring MIB, V0.85 Aug 8, 1997 4121 -- Notifications and Trapping 4122 -- Reserved for the future 4124 jobmonMIBNotifications OBJECT IDENTIFIER ::= { jobmonMIB 2} 4126 -- Conformance Information 4128 jmMIBConformance OBJECT IDENTIFIER ::= { jobmonMIB 3 } 4130 -- compliance statements 4131 jmMIBCompliance MODULE-COMPLIANCE 4132 STATUS current 4133 DESCRIPTION 4134 "The compliance statement for agents that implement the 4135 job monitoring MIB." 4136 MODULE -- this module 4137 MANDATORY-GROUPS { 4138 jmGeneralGroup, jmJobIDGroup, jmJobGroup, jmAttributeGroup } 4140 OBJECT jmGeneralJobSetName 4141 SYNTAX JmUTF8StringTC (SIZE(0..8)) 4142 DESCRIPTION 4143 "Only 8 octets maximum string length NEED be supported by the 4144 agent." 4146 OBJECT jmJobOwner 4147 SYNTAX JmJobStringTC (SIZE(0..16)) 4148 DESCRIPTION 4149 "Only 16 octets maximum string length NEED be supported by the 4150 agent." 4152 -- There are no CONDITIONALLY MANDATORY or OPTIONAL groups. 4154 ::= { jmMIBConformance 1 } 4156 jmMIBGroups OBJECT IDENTIFIER ::= { jmMIBConformance 2 } 4158 jmGeneralGroup OBJECT-GROUP 4159 OBJECTS { 4160 jmGeneralNumberOfActiveJobs, jmGeneralOldestActiveJobIndex, 4161 jmGeneralNewestActiveJobIndex, jmGeneralJobPersistence, 4162 jmGeneralAttributePersistence, jmGeneralJobSetName} 4163 STATUS current 4164 DESCRIPTION 4165 "The general group." 4166 ::= { jmMIBGroups 1 } 4167 Job Monitoring MIB, V0.85 Aug 8, 1997 4169 jmJobIDGroup OBJECT-GROUP 4170 OBJECTS { 4171 jmJobIDJobSetIndex, jmJobIDJobIndex } 4172 STATUS current 4173 DESCRIPTION 4174 "The job ID group." 4175 ::= { jmMIBGroups 2 } 4177 jmJobGroup OBJECT-GROUP 4178 OBJECTS { 4179 jmJobState, jmJobStateReasons1, jmNumberOfInterveningJobs, 4180 jmJobKOctetsRequested, jmJobKOctetsProcessed, 4181 jmJobImpressionsRequested, jmJobImpressionsCompleted, jmJobOwner 4182 } 4183 STATUS current 4184 DESCRIPTION 4185 "The job group." 4186 ::= { jmMIBGroups 3 } 4188 jmAttributeGroup OBJECT-GROUP 4189 OBJECTS { 4190 jmAttributeValueAsInteger, jmAttributeValueAsOctets } 4191 STATUS current 4192 DESCRIPTION 4193 "The attribute group." 4194 ::= { jmMIBGroups 4 } 4196 END 4197 Job Monitoring MIB, V0.85 Aug 8, 1997 4199 5. Appendix A - Implementing the Job Life Cycle 4201 The job object has well-defined states and client operations that affect 4202 the transition between the job states. Internal server and device 4203 actions also affect the transitions of the job between the job states. 4204 These states and transitions are referred to as the job's life cycle. 4206 Not all implementations of job submission protocols have all of the 4207 states of the job model specified here. The job model specified here is 4208 intended to be a superset of most implementations. It is the purpose of 4209 the agent to map the particular implementation's job life cycle onto the 4210 one specified here. The agent MAY omit any states not implemented. 4211 Only the processing and completed states are required to be implemented 4212 by an agent. However, a conforming management application SHALL be 4213 prepared to accept any of the states in the job life cycle specified 4214 here, so that the management application can interoperate with any 4215 conforming agent. 4217 The job states are intended to be user visible. The agent SHALL make 4218 these states visible in the MIB, but only for the subset of job states 4219 that the implementation has. Some implementations MAY need to have sub- 4220 states of these user-visible states. The jmJobStateReasons1 object and 4221 the jobStateReasonsN (N=2..4) attributes can be used to represent the 4222 sub-states of the jobs. 4224 Job states are intended to last a user-visible length of time in most 4225 implementations. However, some jobs may pass through some states in 4226 zero time in some situations and/or in some implementations. 4228 The job model does not specify how accounting and auditing is 4229 implemented, except to assume that accounting and auditing logs are 4230 separate from the job life cycle and last longer than job entries in the 4231 MIB. Jobs in the completed, aborted, or canceled states are not logs, 4232 since jobs in these states are accessible via SNMP protocol operations 4233 and SHALL be removed from the Job Monitoring MIB tables after a site- 4234 settable or implementation-defined period of time. An accounting 4235 application MAY copy accounting information incrementally to an 4236 accounting log as a job processes, or MAY be copied while the job is in 4237 the canceled, aborted, or completed states, depending on implementation. 4238 The same is true for auditing logs. 4240 The jmJobState object specifies the standard job states. The normal job 4241 state transitions are shown in the state transition diagram presented in 4242 Table 1. 4244 Job Monitoring MIB, V0.85 Aug 8, 1997 4246 6. APPENDIX B - Support of the Job Submission ID in Job Submission 4247 Protocols 4249 This appendix lists the job submission protocols that support the 4250 concept of a job submission ID and indicates the attribute used in that 4251 job submission protocol. 4253 6.1 Hewlett-Packard's Printer Job Language (PJL) 4255 Hewlett-Packard's Printer Job Language provides job-level printer 4256 control and printer status information to applications. The PJL JOB 4257 command is used at the beginning of a print job and can include options 4258 applying only to that job. A PJL JOB command option has been defined to 4259 facilitate passing the JobSubmissionID with the print job, as required 4260 by the Job Monitoring MIB. The option is of the form: 4262 SUBMISSIONID = "id string" 4264 Where the "id string" is a string and SHALL be enclosed in double 4265 quotes. The format is as described for the jmJobSubmissionID object. 4267 The entire PJL JOB command with the optional parameter would be of the 4268 form: 4270 @PJL JOB SUBMISSIONID = "id string" 4272 See "Printer Job Language Technical Reference Manual", part number 5021- 4273 0328, from Hewlett-Packard for complete information on the PJL JOB 4274 command and the Printer Job Language. 4276 NOTE - Some PJL implementations wrap a banner page as a PJL job around a 4277 job submitted by a client. In this case, there will be two job 4278 submission ids. The outer one being the one with the banner page and 4279 the inner one being the original user's job. The agent SHALL use the 4280 last received job submission ID for the jmJobSubmissionID index, so that 4281 the original user's job submission ID will be used, not the banner page 4282 job ID. 4284 6.2 ISO DPA 4286 The ISO 10175 Document Printing Application (DPA) protocol specifies the 4287 "job-client-id" attribute that allows the client to supply a text string 4288 ID for each job. 4290 Job Monitoring MIB, V0.85 Aug 8, 1997 4292 7. References 4294 [char-set policy] Harald Avelstrand, "IETF Policy on Character Sets and 4295 Language", June 1997. Latest draft: 4298 [GB2312] GB 2312-1980, "Chinese People's Republic of China (PRC) mixed 4299 one byte and two byte coded character set" 4301 [hr-mib] P. Grillo, S. Waldbusser, "Host Resources MIB", RFC 1514, 4302 September 1993 4304 [iana] J. Reynolds, and J. Postel, "Assigned Numbers", STD 2, RFC 1700, 4305 ISI, October 1994. 4307 [IANA-charsets] Coded Character Sets registered by IANA and assigned an 4308 enum value for use in the CodedCharSet textual convention imported from 4309 the Printer MIB. See ftp://ftp.isi.edu/in- 4310 notes/iana/assignments/character-sets 4312 [iana-media-types] IANA Registration of MIME media types (MIME content 4313 types/subtypes). See ftp://ftp.isi.edu/in-notes/iana/assignments/ 4315 [ISO 646] ISO/IEC 646:1991, "Information technology -- ISO 7-bit coded 4316 character set for information interchange", JTC1/SC2. 4318 [ISO 8859] ISO/IEC 8859-1:1987, "Information technology -- 8-bit single 4319 byte coded graphic character sets - Part 1: Latin alphabet No. 1, 4320 JTC1/SC2." 4322 [ISO 2022] ISO/IEC 2022:1994 - "Information technology -- Character code 4323 structure and extension techniques", JTC1/SC2. 4325 [ISO-10646] ISO/IEC 10646-1:1993, "Information technology -- Universal 4326 Multiple-Octet Coded Character Set (UCS) - Part 1: Architecture and 4327 Basic Multilingual Plane, JTC1/SC2. 4329 [iso-dpa] ISO/IEC 10175 Document Printing Application (DPA). See 4330 ftp://ftp.pwg.org/pub/pwg/dpa/ 4332 [ipp-model] Internet Printing Protocol (IPP), work in progress on the 4333 IETF standards track. See draft-ietf-ipp-model-01.txt. See also 4334 http://www.pwg.org/ipp/index.html 4336 [JIS X0208] JIS X0208-1990, "Japanese two byte coded character set." 4338 [mib-II] MIB-II, RFC 1213. 4340 Job Monitoring MIB, V0.85 Aug 8, 1997 4342 [print-mib] The Printer MIB - RFC 1759, proposed IETF standard. Also an 4343 Internet-Draft on the standards track as a draft standard: draft-ietf- 4344 printmib-mib-info-02.txt 4346 [req-words] S. Bradner, "Keywords for use in RFCs to Indicate 4347 Requirement Levels", RFC 2119, March 1997. 4349 [rfc 2130] C. Weider, C. Preston, K. Simonsen, H. Alvestrand, R. 4350 Atkinson, M. Crispin, and P. Svanberg, "The Report of the IAB Character 4351 Set Workshop held 29 Feb-1 March, 1997", April 1997, RFC 2130. 4353 [SMIv2-TC] J. Case, et al. ``extual Conventions for Version 2 of the 4354 Simple Network Management Protocol (SNMPv2)', RFC 1903, January 1996. 4356 [tipsi] IEEE 1284.1, Transport-independent Printer System Interface 4357 (TIPSI). 4359 [URI-spec] Berners-Lee, T., Masinter, L., McCahill, M. , "Uniform 4360 Resource Locators (URL)", RFC 1738, December, 1994. 4362 [US-ASCII] Coded Character Set - 7-bit American Standard Code for 4363 Information Interchange, ANSI X3.4-1986. 4365 [UTF-8] F. Yergeau, "UTF-8, a transformation format of Unicode and ISO 4366 10646", RFC 2044, October 1996. 4368 8. Author's Addresses 4369 Ron Bergman 4370 Dataproducts Corp. 4371 1757 Tapo Canyon Road 4372 Simi Valley, CA 93063-3394 4374 Phone: 805-578-4421 4375 Fax: 805-578-4001 4376 Email: rbergman@dpc.com 4378 Tom Hastings 4379 Xerox Corporation, ESAE-231 4380 701 S. Aviation Blvd. 4381 El Segundo, CA 90245 4383 Phone: 310-333-6413 4384 Fax: 310-333-5514 4385 EMail: hastings@cp10.es.xerox.com 4387 Scott A. Isaacson 4388 Job Monitoring MIB, V0.85 Aug 8, 1997 4390 Novell, Inc. 4391 122 E 1700 S 4392 Provo, UT 84606 4394 Phone: 801-861-7366 4395 Fax: 801-861-4025 4396 EMail: scott_isaacson@novell.com 4398 Harry Lewis 4399 IBM Corporation 4400 6300 Diagonal Hwy 4401 Boulder, CO 80301 4403 Phone: (303) 924-5337 4404 Fax: 4405 Email: harryl@us.ibm.com 4407 Send comments to the printmib WG using the Job Monitoring Project 4408 (JMP) Mailing List: jmp@pwg.org 4410 To learn how to subscribe, send email to: jmp-request@pwg.org 4412 For further information, access the PWG web page under "JMP": 4413 http://www.pwg.org/ 4415 Other Participants: 4416 Chuck Adams - Tektronix 4417 Jeff Barnett - IBM 4418 Keith Carter, IBM Corporation 4419 Jeff Copeland - QMS 4420 Andy Davidson - Tektronix 4421 Roger deBry - IBM 4422 Mabry Dozier - QMS 4423 Lee Ferrel - Canon 4424 Steve Gebert - IBM 4425 Robert Herriot - Sun Microsystems Inc. 4426 Shige Kanemitsu - Kyocera 4427 David Kellerman - Northlake Software 4428 Rick Landau - Digital 4429 Harry Lewis - IBM 4430 Pete Loya - HP 4431 Ray Lutz - Cognisys 4432 Jay Martin - Underscore 4433 Mike MacKay, Novell, Inc. 4435 Job Monitoring MIB, V0.85 Aug 8, 1997 4437 Stan McConnell - Xerox 4438 Carl-Uno Manros, Xerox, Corp. 4439 Pat Nogay - IBM 4440 Bob Pentecost - HP 4441 Rob Rhoads - Intel 4442 David Roach - Unisys 4443 Hiroyuki Sato - Canon 4444 Bob Setterbo - Adobe 4445 Gail Songer, EFI 4446 Mike Timperman - Lexmark 4447 Randy Turner - Sharp 4448 William Wagner - Digital Products 4449 Jim Walker - Dazel 4450 Chris Wellens - Interworking Labs 4451 Rob Whittle - Novell 4452 Don Wright - Lexmark 4453 Lloyd Young - Lexmark 4454 Atsushi Yuki - Kyocera 4455 Peter Zehler, Xerox, Corp. 4457 Job Monitoring MIB, V0.85 Aug 8, 1997 4459 9. INDEX 4461 This index includes the textual conventions, the objects, and the 4462 attributes. Textual conventions all start with the prefix: "JM" and 4463 end with the suffix: "TC". Objects all starts with the prefix: "jm" 4464 followed by the group name. Attributes are identified with enums, and 4465 so start with any lower case letter and have no special prefix. 4467 ------ 4469 colorantConsumed, 53 4470 colorantRequested, 53 4472 --D--- 4474 deviceNameRequested, 44 4475 documentCopiesCompleted, 49 4476 documentCopiesRequested, 49 4477 documentFormat, 46 4478 documentFormatIndex, 46 4479 documentName, 45 4481 ------ 4483 fileName, 45 4484 finishing, 48 4485 fullColorImpressionsCompleted, 51 4487 --H--- 4489 highlightColorImpressionsCompleted, 51 4491 ------ 4493 impressionsCompletedCurrentCopy, 50 4494 impressionsInterpreted, 50 4495 impressionsSentToDevice, 50 4496 impressionsSpooled, 50 4498 --J--- 4500 jmAttributeInstanceIndex, 79 4501 jmAttributeTypeIndex, 79 4502 JmAttributeTypeTC, 40 4503 jmAttributeValueAsInteger, 80 4504 jmAttributeValueAsOctets, 81 4505 JmBooleanTC, 34 4506 Job Monitoring MIB, V0.85 Aug 8, 1997 4508 JmFinishingTC, 31 4509 jmGeneralAttributePersistence, 69 4510 jmGeneralJobPersistence, 69 4511 jmGeneralJobSetIndex, 67 4512 jmGeneralJobSetName, 70 4513 jmGeneralNewestActiveJobIndex, 68 4514 jmGeneralNumberOfActiveJobs, 68 4515 jmGeneralOldestActiveJobIndex, 68 4516 jmJobIDJobIndex, 72 4517 jmJobIDJobSetIndex, 72 4518 jmJobImpressionsCompleted, 76 4519 jmJobImpressionsRequested, 76 4520 jmJobIndex, 73 4521 jmJobKOctetsProcessed, 75 4522 jmJobKOctetsRequested, 75 4523 jmJobOwner, 77 4524 JmJobServiceTypesTC, 56 4525 JmJobSourcePlatformTypeTC, 30 4526 jmJobState, 74 4527 jmJobStateReasons1, 74 4528 JmJobStateReasons1TC, 58 4529 JmJobStateReasons2TC, 62 4530 JmJobStateReasons3TC, 65 4531 JmJobStateReasons4TC, 66 4532 JmJobStateTC, 38 4533 JmJobStringTC, 29 4534 jmJobSubmissionID, 71 4535 JmJobSubmissionTypeTC, 36 4536 JmMediumTypeTC, 34 4537 jmNumberOfInterveningJobs, 75 4538 JmPrinterResolutionTC, 33 4539 JmPrintQualityTC, 32 4540 JmTimeStampTC, 30 4541 JmTonerEconomyTC, 33 4542 JmUTF8StringTC, 29 4543 jobAccountName, 42 4544 jobCodedCharSet, 42 4545 jobComment, 46 4546 jobCompletedTime, 54 4547 jobCopiesCompleted, 49 4548 jobCopiesRequested, 49 4549 jobHold, 47 4550 jobHoldUntil, 47 4551 jobKOctetsTransferred, 50 4552 jobName, 43 4553 jobOriginatingHost, 44 4554 jobPriority, 47 4555 jobProcessAfterDateAndTime, 47 4556 Job Monitoring MIB, V0.85 Aug 8, 1997 4558 jobProcessingCPUTime, 55 4559 jobServiceTypes, 43 4560 jobSourceChannelIndex, 44 4561 jobSourcePlatformType, 44 4562 jobStartedBeingHeldTime, 54 4563 jobStartedProcessingTime, 54 4564 jobStateReasons2, 41 4565 jobStateReasons3, 41 4566 jobStateReasons4, 41 4567 jobSubmissionTime, 54 4568 jobSubmissionToServerTime, 54 4570 --M--- 4572 mediumConsumed, 53 4573 mediumRequested, 53 4575 --N--- 4577 numberOfDocuments, 45 4579 --O--- 4581 other, 41 4582 outputBin, 47 4584 ------ 4586 pagesCompleted, 51 4587 pagesCompletedCurrentCopy, 52 4588 pagesRequested, 51 4589 physicalDevice, 45 4590 printerResolutionRequested, 48 4591 printerResolutionUsed, 48 4592 printQualityRequested, 48 4593 printQualityUsed, 48 4594 processingMessage, 41 4596 ------ 4598 queueNameRequested, 45 4600 ------ 4602 serverAssignedJobName, 43 4603 sheetsCompleted, 52 4604 sheetsCompletedCurrentCopy, 52 4605 sheetsRequested, 52 4606 Job Monitoring MIB, V0.85 Aug 8, 1997 4608 sides, 48 4609 submittingApplicationName, 44 4610 submittingServerName, 44 4612 ------ 4614 tonerDensityRequested, 49 4615 tonerDensityUsed, 49 4616 tonerEcomonyRequested, 48 4617 tonerEcomonyUsed, 48