idnits 2.17.1 draft-ietf-printmib-job-monitor-06.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-26) 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. == 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 61 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. ** 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 298: '...agent SHALL return if the server or de...' RFC 2119 keyword, line 402: '...tead, the application SHALL query each...' RFC 2119 keyword, line 448: '...Each job set is disjoint; no job SHALL...' RFC 2119 keyword, line 463: '...twork. A server MAY be a printer supe...' RFC 2119 keyword, line 492: '...monitor MAY be either a separate appli...' (268 more instances...) Miscellaneous warnings: ---------------------------------------------------------------------------- == Line 422 has weird spacing: '...ure for monit...' == Line 1338 has weird spacing: '...and the objec...' == Line 1339 has weird spacing: '...tion of jmJob...' == Line 3087 has weird spacing: '...ounters have ...' == Line 4343 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: Each time a new job is accepted by the server or device that the agent is providing access to AND that job is to be 'active' (pending, processing, or processingStopped, but not pendingHeld), the agent SHALL copy the value of the job's jmJobIndex to the jmGeneralNewestActiveJobIndex object. If the new job is to be '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: All of the objects and attributes represented by the 'JmJobStringTC' textual-convention are either (1) supplied in the job submission 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: If the client does not supply a job submission ID in the job submission protocol, then the agent SHALL assign a job submission ID using any of the standard formats that are reserved for the agent. Clients SHALL not use formats that are reserved for agents and agents SHALL NOT use formats that are reserved for clients, in order to reduce conflicts in ID generation. See the description for which formats are reserved for clients or for 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 Job Monitoring MIB, V0.86 Sep 19, 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: 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: jobProcessingCPUTime(195) Integer32(-2..2147483647) UNITS 'seconds' INTEGER: The amount of CPU time in seconds that the job has been in the processing state. If the job enters the processingStopped state, that elapsed time SHALL not be included. In other words, the jobProcessingCPUTime value SHOULD be relatively repeatable when the same job is 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 } == 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.86 Sep 19, 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 (September 19, 1997) is 9716 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 1186, but not defined == Missing Reference: 'IANA' is mentioned on line 2098, but not defined == Missing Reference: 'ISO 8859-1' is mentioned on line 1223, but not defined == Missing Reference: 'RFC-1179' is mentioned on line 1814, but not defined == Missing Reference: 'RFC-1738' is mentioned on line 2117, but not defined ** Obsolete undefined reference: RFC 1738 (Obsoleted by RFC 4248, RFC 4266) == Unused Reference: 'ISO 646' is defined on line 4339, but no explicit reference was found in the text == Unused Reference: 'ISO 8859' is defined on line 4342, 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: 11 errors (**), 0 flaws (~~), 27 warnings (==), 11 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 1 INTERNET-DRAFT Ron Bergman 2 Dataproducts Corp. 3 Tom Hastings 4 Xerox Corporation 5 Scott Isaacson 6 Novell, Inc. 7 Harry Lewis 8 IBM Corp. 9 September 19, 1997 11 Job Monitoring MIB - V0.86 13 15 Expires Mar 19, 1997 17 Status of this Memo 19 This document is an Internet-Draft. Internet-Drafts are working 20 documents of the Internet Engineering Task Force (IETF), its areas, 21 and its working groups. Note that other groups may also distribute 22 working documents as Internet-Drafts. 24 Internet-Drafts are draft documents valid for a maximum of six 25 months and may be updated, replaced, or obsoleted by other 26 documents at any time. It is inappropriate to use Internet-Drafts 27 as reference material or to cite them other than as "work in 28 progress." 30 To learn the current status of any Internet-Draft, please check the 31 "1id-abstracts.txt" listing contained in the Internet-Drafts Shadow 32 Directories on ftp.is.co.za (Africa), nic.nordu.net (Europe), 33 munnari.oz.au (Pacific Rim), ds.internic.net (US East Coast), or 34 ftp.isi.edu (US West Coast). 36 Abstract 38 This Internet-Draft specifies a small set of read-only SNMP MIB 39 objects for (1) monitoring the status and progress of print jobs 40 (2) obtaining resource requirements before a job is processed, (3) 41 monitoring resource consumption while a job is being processed and 42 (4) collecting resource accounting data after the completion of a 43 job. This MIB is intended to be implemented (1) in a printer or 44 (2) in a server that supports one or more printers. Use of the 45 object set is not limited to printing. However, support for 46 services other than printing is outside the scope of this Job 47 Monitoring MIB. Future extensions to this MIB may include, but are 48 not limited to, fax machines and scanners. 50 Job Monitoring MIB, V0.86 Sep 19, 1997 52 TABLE OF CONTENTS 54 1. INTRODUCTION............................................7 56 1.1 Types of Information in the MIB ......................7 58 1.2 Types of Job Monitoring Applications .................9 60 2. TERMINOLOGY AND JOB MODEL..............................10 62 2.1 System Configurations for the Job Monitoring MIB ....12 63 2.1.1 Configuration 1 - client-printer ................13 64 2.1.2 Configuration 2 - client-server-printer - agent in the server 65 ......................................................13 66 2.1.3 Configuration 3 - client-server-printer - client monitors 67 printer agent and server ..............................15 69 3. MANAGED OBJECT USAGE...................................16 71 3.1 Conformance Considerations ..........................16 72 3.1.1 Conformance Terminology .........................17 73 3.1.2 Agent Conformance Requirements ..................17 74 3.1.2.1 MIB II System Group objects..................18 75 3.1.2.2 MIB II Interface Group objects...............18 76 3.1.2.3 Printer MIB objects..........................18 77 3.1.3 Job Monitoring Application Conformance Requirements 18 79 3.2 The Job Tables and the Oldest Active and Newest Active Indexes 19 81 3.3 The Attribute Mechanism .............................21 82 3.3.1 Conformance of Attribute Implementation .........21 83 3.3.2 Useful, 'Unknown', and 'Other' Values for Objects and 84 Attributes ............................................23 85 3.3.3 Data Sub-types and Attribute Naming Conventions .23 86 3.3.4 Single-Value (Row) Versus Multi-Value (MULTI-ROW) Attributes 23 87 3.3.5 Requested Attributes ............................24 88 3.3.6 Consumption Attributes ..........................24 89 3.3.7 Index Value Attributes ..........................24 91 3.4 Job Identification ..................................24 93 3.5 Internationalization Considerations .................25 94 3.5.1 'JmUTF8StringTC' for text generated by the server or device 25 95 Job Monitoring MIB, V0.86 Sep 19, 1997 97 3.5.2 'JmJobStringTC' for text generated by the job submitter 25 98 3.5.3 'DateAndTime' for representing the date and time 25 100 3.6 IANA Considerations .................................27 101 3.6.1 IANA Registration of enums ......................27 102 3.6.1.1 Type 1 enumerations..........................27 103 3.6.1.2 Type 2 enumerations..........................27 104 3.6.1.3 Type 3 enumeration...........................28 105 3.6.2 IANA Registration of type 2 bit values ..........28 106 3.6.3 IANA Registration of Job Submission Id Formats ..28 107 3.6.4 IANA Registration of MIME types/sub-types for document-formats 108 ......................................................29 110 3.7 Security Considerations .............................29 111 3.7.1 Read-Write objects ..............................29 112 3.7.2 Read-Only Objects In Other User's Jobs ..........29 114 3.8 Values for Objects ..................................22 116 3.9 Notifications .......................................29 118 4. MIB SPECIFICATION......................................29 120 Textual conventions for this MIB module .................31 121 JmUTF8StringTC ........................................32 122 JmJobStringTC .........................................32 123 JmTimeStampTC .........................................32 124 JmJobSourcePlatformTypeTC .............................32 125 JmFinishingTC .........................................33 126 JmPrintQualityTC ......................................34 127 JmPrinterResolutionTC .................................34 128 JmTonerEconomyTC ......................................35 129 JmBooleanTC ...........................................35 130 JmMediumTypeTC ........................................36 131 JmJobSubmissionIDTypeTC ...............................37 132 JmJobStateTC ..........................................40 133 JmAttributeTypeTC .....................................43 134 other (Int32(-2..) and/or Octets63) ..............44 135 Job State attributes.................................44 136 jobStateReasons2 (JmJobStateReasons2TC) ..........44 137 jobStateReasons3 (JmJobStateReasons3TC) ..........44 138 jobStateReasons4 (JmJobStateReasons4TC) ..........44 139 processingMessage (UTF8String63) .................44 140 jobCodedCharSet (CodedCharSet) ...................44 141 Job Identification attributes........................45 142 jobURI (Octets(1..255)) ..........................46 143 jobAccountName (Octets63) ........................46 144 Job Monitoring MIB, V0.86 Sep 19, 1997 146 serverAssignedJobName (JobString63) ..............46 147 jobName (JobString63) ............................46 148 jobServiceTypes (JmJobServiceTypesTC) ............47 149 jobSourceChannelIndex (Int32(0..)) ...............47 150 jobSourcePlatformType (JmJobSourcePlatformTypeTC) 47 151 submittingServerName (JobString63) ...............48 152 submittingApplicationName (JobString63) ..........48 153 jobOriginatingHost (JobString63) .................48 154 deviceNameRequested (JobString63) ................48 155 queueNameRequested (JobString63) .................48 156 physicalDevice (hrDeviceIndex and/or UTF8String63)48 157 numberOfDocuments (Int32(-2..)) ..................49 158 fileName (JobString63) ...........................49 159 documentName (JobString63) .......................49 160 jobComment (JobString63) .........................49 161 documentFormatIndex (Int32(0..)) .................49 162 documentFormat (PrtInterpreterLangFamilyTC and/or Octets63) 50 163 Job Parameter attributes.............................50 164 jobPriority (Int32(1..100)) ......................50 165 jobProcessAfterDateAndTime (DateAndTime) .........50 166 jobHold (JmBooleanTC) ............................51 167 jobHoldUntil (JobString63) .......................51 168 outputBin (Int32(0..) and/or JobString63) ........51 169 sides (Int32(-2..2)) .............................51 170 finishing (JmFinishingTC) ........................51 171 Image Quality attributes (requested and used)........51 172 printQualityRequested (JmPrintQualityTC) .........52 173 printQualityUsed (JmPrintQualityTC) ..............52 174 printerResolutionRequested (JmPrinterResolutionTC)52 175 printerResolutionUsed (JmPrinterResolutionTC) ....52 176 tonerEcomonyRequested (JmTonerEconomyTC) .........52 177 tonerEcomonyUsed (JmTonerEconomyTC) ..............52 178 tonerDensityRequested (Int32(-2..100)) ...........52 179 tonerDensityUsed (Int32(-2..100)) ................52 180 Job Progress attributes (requested and consumed).....53 181 jobCopiesRequested (Int32(-2..)) .................53 182 jobCopiesCompleted (Int32(-2..)) .................53 183 documentCopiesRequested (Int32(-2..)) ............53 184 documentCopiesCompleted (Int32(-2..)) ............53 185 jobKOctetsTransferred (Int32(-2..)) ..............53 186 Impression attributes (requested and consumed).......54 187 impressionsSpooled (Int32(-2..)) .................54 188 impressionsSentToDevice (Int32(-2..)) ............54 189 impressionsInterpreted (Int32(-2..)) .............54 190 impressionsCompletedCurrentCopy (Int32(-2..)) ....54 191 fullColorImpressionsCompleted (Int32(-2..)) ......54 192 highlightColorImpressionsCompleted (Int32(-2..)) .55 193 Page attributes (requested and consumed).............55 194 Job Monitoring MIB, V0.86 Sep 19, 1997 196 pagesRequested (Int32(-2..)) .....................55 197 pagesCompleted (Int32(-2..)) .....................55 198 pagesCompletedCurrentCopy (Int32(-2..)) ..........56 199 Sheet attributes (requested and consumed)............56 200 sheetsRequested (Int32(-2..)) ....................56 201 sheetsCompleted (Int32(-2..)) ....................56 202 sheetsCompletedCurrentCopy (Int32(-2..)) .........56 203 Resource attributes (requested and consumed).........56 204 mediumRequested (JmMediumTypeTC and/or JobString63)57 205 mediumConsumed (JobString63) .....................57 206 colorantRequested (Int32(-2..) and/or JobString63)57 207 colorantConsumed (Int32(-2..) and/or JobString63) 57 208 Time attributes (set by server or device)............57 209 jobSubmissionToServerTime (JmTimeStampTC and/or DateAndTime) 58 210 jobSubmissionTime (JmTimeStampTC and/or DateAndTime) 58 211 jobStartedBeingHeldTime (JmTimeStampTC and/or DateAndTime) 58 212 jobStartedProcessingTime (JmTimeStampTC and/or DateAndTime) 58 213 jobCompletionTime (JmTimeStampTC and/or DateAndTime) 58 214 jobProcessingCPUTime (Int32(-2..)) ...............59 215 JmJobServiceTypesTC ...................................61 216 JmJobStateReasons1TC ..................................62 217 JmJobStateReasons2TC ..................................67 218 JmJobStateReasons3TC ..................................70 219 JmJobStateReasons4TC ..................................71 221 The General Group (MANDATORY) ...........................73 222 jmGeneralJobSetIndex (Int32(1..32767)) ..............73 223 jmGeneralNumberOfActiveJobs (Int32(0..)) ............74 224 jmGeneralOldestActiveJobIndex (Int32(0..)) ..........74 225 jmGeneralNewestActiveJobIndex (Int32(0..)) ..........75 226 jmGeneralJobPersistence (Int32(15..)) ...............75 227 jmGeneralAttributePersistence (Int32(15..)) .........75 228 jmGeneralJobSetName (UTF8String63) ..................76 230 The Job ID Group (MANDATORY) ............................76 231 jmJobSubmissionID (OCTET STRING(SIZE(48))) ..........77 232 jmJobIDJobSetIndex (Int32(1..32767)) ................78 233 jmJobIDJobIndex (Int32(1..)) ........................78 235 The Job Group (MANDATORY) ...............................79 236 jmJobIndex (Int32(1..)) .............................80 237 jmJobState (JmJobStateTC) ...........................80 238 jmJobStateReasons1 (JmJobStateReasons1TC) ...........81 239 jmNumberOfInterveningJobs (Int32(-2..)) .............81 240 jmJobKOctetsRequested (Int32(-2..)) .................81 241 jmJobKOctetsProcessed (Int32(-2..)) .................82 242 jmJobImpressionsRequested (Int32(-2..)) .............82 243 jmJobImpressionsCompleted (Int32(-2..)) .............83 244 Job Monitoring MIB, V0.86 Sep 19, 1997 246 jmJobOwner (JobString63) ............................83 248 The Attribute Group (MANDATORY) .........................84 249 jmAttributeTypeIndex (JmAttributeTypeTC) ............85 250 jmAttributeInstanceIndex (Int32(1..32767)) ..........86 251 jmAttributeValueAsInteger (Int32(-2..)) .............86 252 jmAttributeValueAsOctets (Octets63) .................87 254 5. APPENDIX A - IMPLEMENTING THE JOB LIFE CYCLE...........91 256 6. APPENDIX B - SUPPORT OF THE JOB SUBMISSION ID IN JOB SUBMISSION 257 PROTOCOLS.................................................92 259 6.1 Hewlett-Packard's Printer Job Language (PJL) ........92 261 6.2 ISO DPA .............................................92 263 7. REFERENCES.............................................93 265 8. AUTHOR'S ADDRESSES.....................................94 267 9. INDEX..................................................97 268 Job Monitoring MIB, V0.86 Sep 19, 1997 270 Job Monitoring MIB 272 1. Introduction 274 The Job Monitoring MIB is intended to be implemented by an agent within 275 a printer or the first server closest to the printer, where the printer 276 is either directly connected to the server only or the printer does not 277 contain the job monitoring MIB agent. It is recommended that 278 implementations place the SNMP agent as close as possible to the 279 processing of the print job. This MIB applies to printers with and 280 without spooling capabilities. This MIB is designed to be compatible 281 with most current commonly-used job submission protocols. In most 282 environments that support high function job submission/job control 283 protocols, like ISO DPA[iso-dpa], those protocols would be used to 284 monitor and manage print jobs rather than using the Job Monitoring MIB. 286 The Job Monitoring MIB consists of a General Group, a Job Submission ID 287 Group, a Job Group, and an Attribute Group. Each group is a table. All 288 accessible objects are read-only. The General Group contains general 289 information that applies to all jobs in a job set. The Job Submission 290 ID table maps the job submission ID that the client uses to identify a 291 job to the jmJobIndex that the Job Monitoring Agent uses to identify 292 jobs in the Job and Attribute tables. The Job table contains the 293 MANDATORY integer job state and status objects. The Attribute table 294 consists of multiple entries per job that specify (1) job and document 295 identification and parameters, (2) requested resources, and (3) 296 consumed resources during and after job processing/printing. A larger 297 number of job attributes are defined as textual conventions that an 298 agent SHALL return if the server or device implements the functionality 299 so represented and the agent has access to the information. 301 1.1 Types of Information in the MIB 303 The job MIB is intended to provide the following information for the 304 indicated Role Models in the Printer MIB[print-mib] (Appendix D - Roles 305 of Users). 307 User: 309 Provide the ability to identify the least busy printer. The user 310 will be able to determine the number and size of jobs waiting for 311 each printer. No attempt is made to actually predict the length 312 of time that jobs will take. 314 Provide the ability to identify the current status of the user's 315 job (user queries). 317 Job Monitoring MIB, V0.86 Sep 19, 1997 319 Provide a timely indication that the job has completed and where 320 it can be found. 322 Provide error and diagnostic information for jobs that did not 323 successfully complete. 325 Operator: 327 Provide a presentation of the state of all the jobs in the print 328 system. 330 Provide the ability to identify the user that submitted the print 331 job. 333 Provide the ability to identify the resources required by each 334 job. 336 Provide the ability to define which physical printers are 337 candidates for the print job. 339 Provide some idea of how long each job will take. However, exact 340 estimates of time to process a job is not being attempted. 341 Instead, objects are included that allow the operator to be able 342 to make gross estimates. 344 Capacity Planner: 346 Provide the ability to determine printer utilization as a function 347 of time. 349 Provide the ability to determine how long jobs wait before 350 starting to print. 352 Accountant: 354 Provide information to allow the creation of a record of resources 355 consumed and printer usage data for charging users or groups for 356 resources consumed. 358 Provide information to allow the prediction of consumable usage 359 and resource need. 361 The MIB supports printers that can contain more than one job at a time, 362 but still be usable for low end printers that only contain a single job 363 at a time. In particular, the MIB supports the needs of Windows and 364 other PC environments for managing low-end direct-connect (serial or 365 parallel) and networked devices without unnecessary overhead or 366 complexity, while also providing for higher end systems and devices. 368 Job Monitoring MIB, V0.86 Sep 19, 1997 370 1.2 Types of Job Monitoring Applications 372 The Job Monitoring MIB is designed for the following types of monitoring 373 applications: 375 1. Monitor a single job starting when the job is submitted and 376 ending a defined period after the job completes. The Job 377 Submission ID table provides the map to find the specific job to 378 be monitored. 380 2. Monitor all 'active' jobs in a queue, which this specification 381 generalizes to a "job set". End users may use such a program 382 when selecting a least busy printer, so the MIB is designed for 383 such a program to start up quickly and find the information 384 needed quickly without having to read all (completed) jobs in 385 order to find the active jobs. System operators may also use 386 such a program, in which case it would be running for a long 387 period of time and may also be interested in the jobs that have 388 completed. Finally such a program may be used to provide an 389 enhanced console and logging capability. 391 3. Collect resource usage for accounting or system utilization 392 purposes that copy the completed job statistics to an accounting 393 system. It is recognized that depending on accounting programs 394 to copy MIB data during the job-retention period is somewhat 395 unreliable, since the accounting program may not be running (or 396 may have crashed). Such a program is also expected to keep a 397 shadow copy of the entire Job Attribute table including 398 completed, canceled, and aborted jobs which the program updates 399 on each polling cycle. Such a program polls at the rate of the 400 persistence of the Attribute table. The design is not optimized 401 to help such an application determine which jobs are completed, 402 canceled, or aborted. Instead, the application SHALL query each 403 job that the application's shadow copy shows was not complete, 404 canceled, or aborted at the previous poll cycle to see if it is 405 now complete or canceled, plus any new jobs that have been 406 submitted. 408 The MIB provides a set of objects that represent a compatible subset of 409 job and document attributes of the ISO DPA standard[iso-dpa] and the 410 Internet Printing Protocol (IPP)[ipp-model], so that coherence is 411 maintained between these two protocols and the information presented to 412 end users and system operators by monitoring applications. However, the 413 job monitoring MIB is intended to be used with printers that implement 414 other job submitting and management protocols, such as IEEE 1284.1 415 (TIPSI)[tipsi], as well as with ones that do implement ISO DPA. Thus 416 the job monitoring MIB does not require implementation of either the ISO 417 DPA or IPP protocols. 419 Job Monitoring MIB, V0.86 Sep 19, 1997 421 The MIB is designed so that an additional MIB(s) can be specified in the 422 future for monitoring multi-function (scan, FAX, copy) jobs as an 423 augmentation to this MIB. 425 2. Terminology and Job Model 427 This section defines the terms that are used in this specification and 428 the general model for jobs. 430 NOTE - Existing systems use conflicting terms, so these terms are 431 drawn from the ISO 10175 Document Printing Application (DPA) 432 standard[iso-dpa]. For example, PostScript systems use the term 433 session for what is called a job in this specification and the term 434 job to mean what is called a document in this specification. 436 Job: A unit of work whose results are expected together without 437 interjection of unrelated results. A job contains one or more 438 documents. 440 Job Set: A group of jobs that are queued and scheduled together 441 according to a specified scheduling algorithm for a specified device or 442 set of devices. For implementations that embed the SNMP agent in the 443 device, the MIB job set normally represents all the jobs known to the 444 device, so that the implementation only implements a single job set. If 445 the SNMP agent is implemented in a server that controls one or more 446 devices, each MIB job set represents a job queue for (1) a specific 447 device or (2) set of devices, if the server uses a single queue to load 448 balance between several devices. Each job set is disjoint; no job SHALL 449 be represented in more than one MIB job set. 451 Document: A sub-section within a job that contains print data and 452 document instructions that apply to just the document. 454 Client: The network entity that end users use to submit jobs to 455 spoolers, servers, or printers and other devices, depending on the 456 configuration, using any job submission protocol over a serial or 457 parallel port to a directly-connected device or over the network to a 458 networked-connected device. 460 Server: A network entity that accepts jobs from clients and in turn 461 submits the jobs to printers and other devices that may be directly 462 connected to the server via a serial or parallel port or may be on the 463 network. A server MAY be a printer supervisor control program, or a 464 print spooler. 466 Device: A hardware entity that (1) interfaces to humans, such as a 467 device that produces marks on paper or scans marks on paper to produce 468 an electronic representation, (2) accesses digital media, such as CD- 469 Job Monitoring MIB, V0.86 Sep 19, 1997 471 ROMs, or (3) interfaces electronically to another device, such as sends 472 FAX data to another FAX device. 474 Printer: A device that puts marks on media. 476 Supervisor: A server that contains a control program that controls a 477 printer or other device. A supervisor is a client to the printer or 478 other device. 480 Spooler: A server that accepts jobs, spools the data, and decides when 481 and on which printer to print the job. A spooler is a client to a 482 printer or a printer supervisor, depending on implementation. 484 Spooling: The act of a device or server of (1) accepting jobs and (2) 485 writing the job's attributes and document data on to secondary storage. 487 Queuing: The act of a device or server of ordering (queuing) the jobs 488 for the purposes of scheduling the jobs to be processed. 490 Monitor or Job Monitoring Application: The SNMP management application 491 that End Users, and System Operators use to monitor jobs using SNMP. A 492 monitor MAY be either a separate application or MAY be part of the 493 client that also submits jobs. 495 Accounting Application: The SNMP management application that copies job 496 information to some more permanent medium so that another application 497 can perform accounting on the data for Accountants, Asset Managers, and 498 Capacity Planners use. 500 Agent: The network entity that accepts SNMP requests from a monitor or 501 accounting application and provides access to the instrumentation for 502 managing jobs modeled by the management objects defined in the Job 503 Monitoring MIB module for a server or a device. 505 Proxy: An agent that acts as a concentrator for one or more other 506 agents by accepting SNMP operations on the behalf of one or more other 507 agents, forwarding them on to those other agents, gathering responses 508 from those other agents and returning them to the original requesting 509 monitor. 511 User: A person that uses a client or a monitor. 513 End User: A user that uses a client to submit a print job. 515 System Operator: A user that uses a monitor to monitor the system and 516 carries out tasks to keep the system running. 518 System Administrator: A user that specifies policy for the system. 520 Job Monitoring MIB, V0.86 Sep 19, 1997 522 Job Instruction: An instruction specifying how, when, or where the job 523 is to be processed. Job instructions MAY be passed in the job 524 submission protocol or MAY be embedded in the document data or a 525 combination depending on the job submission protocol and implementation. 527 Document Instruction: An instruction specifying how to process the 528 document. Document instructions MAY be passed in the job submission 529 protocol separate from the actual document data, or MAY be embedded in 530 the document data or a combination, depending on the job submission 531 protocol and implementation. 533 SNMP Information Object: A name, value-pair that specifies an action, a 534 status, or a condition in an SNMP MIB. Objects are identified in SNMP 535 by an OBJECT IDENTIFIER. 537 Attribute: A name, value-pair that specifies a job or document 538 instruction, a status, or a condition of a job or a document that has 539 been submitted to a server or device. A particular attribute NEED NOT 540 be present in each job instance. In other words, attributes are present 541 in a job instance only when there is a need to express the value, either 542 because (1) the client supplied a value in the job submission protocol, 543 (2) the document data contained an embedded attribute, or (3) the server 544 or device supplied a default value. An agent SHALL represent an 545 attribute as an entry (row) in the Attribute table in this MIB in which 546 entries are present only when necessary. Attributes are identified in 547 this MIB by an enum. 549 Job Monitoring (using SNMP): The activity of a management application 550 of accessing the MIB and (1) identifying jobs in the job tables being 551 processed by the server, printer or other devices, and (2) displaying 552 information to the user about the processing of the job. 554 Job Accounting: The activity of a management application of accessing 555 the MIB and recording what happens to the job during and after the 556 processing of the job. 558 2.1 System Configurations for the Job Monitoring MIB 560 This section enumerates the three configurations in which the Job 561 Monitoring MIB is intended to be used. To simplify the pictures, the 562 devices are shown as printers. See section 1.1 entitled "Types of 563 Information in the MIB". 565 The diagram in the Printer MIB[print-mib] entitled: "One Printer's View 566 of the Network" is assumed for this MIB as well. Please refer to that 567 diagram to aid in understanding the following system configurations. 569 Job Monitoring MIB, V0.86 Sep 19, 1997 571 2.1.1 Configuration 1 - client-printer 573 In the client-printer configuration 1, the client(s) submit jobs 574 directly to the printer, either by some direct connect, or by network 575 connection. 577 The job submitting client and/or monitoring application monitor jobs by 578 communicating directly with an agent that is part of the printer. The 579 agent in the printer SHALL keep the job in the Job Monitoring MIB as 580 long as the job is in the printer, plus a defined time period after the 581 job enters the completed state in which accounting programs can copy out 582 the accounting data from the Job Monitoring MIB. 584 all end-user ######## SNMP query 585 +-------+ +--------+ ---- job submission 586 |monitor| | client | 587 +---#---+ +--#--+--+ 588 # # | 589 # ############ | 590 # # | 591 +==+===#=#=+==+ | 592 | | agent | | | 593 | +-------+ | | 594 | PRINTER <--------+ 595 | | Print Job Delivery Channel 596 | | 597 +=============+ 599 Figure 2-1 - Configuration 1 - client-printer - agent in the printer 601 The Job Monitoring MIB is designed to support the following 602 relationships (not shown in Figure 2-1): 603 1. Multiple clients MAY submit jobs to a printer. 604 2. Multiple clients MAY monitor a printer. 605 3. Multiple monitors MAY monitor a printer. 606 4. A client MAY submit jobs to multiple printers. 607 5. A monitor MAY monitor multiple printers. 609 2.1.2 Configuration 2 - client-server-printer - agent in the server 611 In the client-server-printer configuration 2, the client(s) submit jobs 612 to an intermediate server by some network connection, not directly to 613 the printer. While configuration 2 is included, the design center for 614 this MIB is configurations 1 and 3. 616 Job Monitoring MIB, V0.86 Sep 19, 1997 618 The job submitting client and/or monitoring application monitor jobs by 619 communicating directly with: 621 A Job Monitoring MIB agent that is part of the server (or a front 622 for the server) 624 There is no SNMP Job Monitoring MIB agent in the printer in 625 configuration 2, at least that the client or monitor are aware. In this 626 configuration, the agent SHALL return the current values of the objects 627 in the Job Monitoring MIB both for jobs the server keeps and jobs that 628 the server has submitted to the printer. The Job Monitoring MIB agent 629 SHALL obtain the required information from the printer by a method that 630 is beyond the scope of this document. The agent in the server SHALL 631 keep the job in the Job Monitoring MIB in the server as long as the job 632 is in the printer, plus a defined time period after the job enters the 633 completed state in which accounting programs can copy out the accounting 634 data from the Job Monitoring MIB. 636 all end-user 637 +-------+ +----------+ 638 |monitor| | client | ######## SNMP query 639 +---+---# +---#----+-+ **** non-SNMP cntrl 640 # # | ---- job submission 641 # # | 642 # # | 643 #=====#=+==v==+ 644 | agent | | 645 +-------+ | 646 | server | 647 +----+-----+--+ 648 control * | 649 ********** | 650 * | 651 +========v====+ | 652 | | | 653 | | | 654 | PRINTER <---------+ 655 | | Print Job Delivery Channel 656 | | 657 +=============+ 659 Figure 2-2 - Configuration 2 - client-server-printer - agent in the 660 server 662 The Job Monitoring MIB is designed to support the following 663 relationships (not shown in Figure 2-2): 664 1. Multiple clients MAY submit jobs to a server. 666 Job Monitoring MIB, V0.86 Sep 19, 1997 668 2. Multiple clients MAY monitor a server. 669 3. Multiple monitors MAY monitor a server. 670 4. A client MAY submit jobs to multiple servers. 671 5. A monitor MAY monitor multiple servers. 672 6. Multiple servers MAY submit jobs to a printer. 673 7. Multiple servers MAY control a printer. 675 2.1.3 Configuration 3 - client-server-printer - client monitors printer 676 agent and server 678 In the client-server-printer configuration 3, the client(s) submit jobs 679 to an intermediate server by some network connection, not directly to 680 the printer. That server does not contain a Job Monitoring MIB agent. 682 The job submitting client and/or monitoring application monitor jobs by 683 communicating directly with: 685 1. The server using some undefined protocol to monitor jobs in the 686 server (that does not contain the Job Monitoring MIB) AND 688 2. A Job Monitoring MIB agent that is part of the printer to 689 monitor jobs after the server passes the jobs to the printer. 690 In such configurations, the server deletes its copy of the job 691 from the server after submitting the job to the printer usually 692 almost immediately (before the job does much processing, if 693 any). 695 In configuration 3, the agent (in the printer) SHALL keep the values of 696 the objects in the Job Monitoring MIB that the agent implements updated 697 for a job that the server has submitted to the printer. The agent SHALL 698 obtain information about the jobs submitted to the printer from the 699 server (either in the job submission protocol, in the document data, or 700 by direct query of the server), in order to populate some of the objects 701 the Job Monitoring MIB in the printer. The agent in the printer SHALL 702 keep the job in the Job Monitoring MIB as long as the job is in the 703 Printer, and longer in order to implement the completed state in which 704 monitoring programs can copy out the accounting data from the Job 705 Monitoring MIB. 707 Job Monitoring MIB, V0.86 Sep 19, 1997 709 all end-user 710 +-------+ +----------+ 711 |monitor| | client | ######## SNMP query 712 +---+---* +---*----+-+ **** non-SNMP query 713 # * * | ---- job submission 714 # * * | 715 # * * | 716 # *=====v====v==+ 717 # | | 718 # | server | 719 # | | 720 # +----#-----+--+ 721 # optional# | 722 # ########## | 723 # # | 724 +==+=v===v=+==+ | 725 | | agent | | | 726 | +-------+ | | 727 | PRINTER <---------+ 728 | | Print Job Delivery Channel 729 | | 730 +=============+ 732 Figure 2-3 - Configuration 3 - client-server-printer - client monitors 733 printer agent and server 735 The Job Monitoring MIB is designed to support the following 736 relationships (not shown in Figure 2-3): 737 1. Multiple clients MAY submit jobs to a server. 738 2. Multiple clients MAY monitor a server. 739 3. Multiple monitors MAY monitor a server. 740 4. A client MAY submit jobs to multiple servers. 741 5. A monitor MAY monitor multiple servers. 742 6. Multiple servers MAY submit jobs to a printer. 743 7. Multiple servers MAY control a printer. 745 3. Managed Object Usage 747 This section describes the usage of the objects in the MIB. 749 3.1 Conformance Considerations 751 In order to achieve interoperability between job monitoring applications 752 and job monitoring agents, this specification includes the conformance 753 requirements for both monitoring applications and agents. 755 Job Monitoring MIB, V0.86 Sep 19, 1997 757 3.1.1 Conformance Terminology 759 This specification uses the verbs: "SHALL", "SHOULD", "MAY", and "NEED 760 NOT" to specify conformance requirements according to RFC 2119 [req- 761 words] as follows: 763 . "SHALL": indicates an action that the subject of the sentence must 764 implement in order to claim conformance to this specification 766 . "MAY": indicates an action that the subject of the sentence does 767 not have to implement in order to claim conformance to this 768 specification, in other words that action is an implementation 769 option 771 . "NEED NOT": indicates an action that the subject of the sentence 772 does not have to implement in order to claim conformance to this 773 specification. The verb "NEED NOT" is used instead of "may not", 774 since "may not" sounds like a prohibition. 776 . "SHOULD": indicates an action that is recommended for the subject 777 of the sentence to implement, but is not required, in order to 778 claim conformance to this specification. 780 3.1.2 Agent Conformance Requirements 782 A conforming agent: 784 1. SHALL implement all MANDATORY groups in this specification. 786 2. SHALL implement any attributes if (1) the server or device 787 supports the functionality represented by the attribute and (2) 788 the information is available to the agent. 790 3. SHOULD implement both forms of an attribute if it implements an 791 attribute that permits a choice of INTEGER and OCTET STRING 792 forms, since implementing both forms may help management 793 applications by giving them a choice of representations, since 794 the representation are equivalent. See the JmAttributeTypeTC 795 textual-convention. 797 NOTE - This MIB, like the Printer MIB, is written following the 798 subset of SMIv2 that can be supported by SMIv1 and SNMPv1 799 implementations. 801 Job Monitoring MIB, V0.86 Sep 19, 1997 803 3.1.2.1 MIB II System Group objects 805 The Job Monitoring MIB agent SHALL implement all objects in the System 806 Group of MIB-II[mib-II], whether the Printer MIB[print-mib] is 807 implemented or not. 809 3.1.2.2 MIB II Interface Group objects 811 The Job Monitoring MIB agent SHALL implement all objects in the 812 Interfaces Group of MIB-II[mib-II], whether the Printer MIB[print-mib] 813 is implemented or not. 815 3.1.2.3 Printer MIB objects 817 If the agent is providing access to a device that is a printer, the 818 agent SHALL implement all of the MANDATORY objects in the Printer 819 MIB[print-mib] and all the objects in other MIBs that conformance to the 820 Printer MIB requires, such as the Host Resources MIB[hr-mib]. If the 821 agent is providing access to a server that controls one or more direct- 822 connect or networked printers, the agent NEED NOT implement the Printer 823 MIB and NEED NOT implement the Host Resources MIB. 825 3.1.3 Job Monitoring Application Conformance Requirements 827 A conforming job monitoring application: 829 1. SHALL accept the full syntactic range for all objects in all 830 MANDATORY groups and all MANDATORY attributes that are required 831 to be implemented by an agent according to Section 3.1.2 and 832 SHALL either present them to the user or ignore them. 834 2. SHALL accept the full syntactic range for all attributes, 835 including enum and bit values specified in this specification 836 and additional ones that may be registered with IANA and SHALL 837 either present them to the user or ignore them. In particular, 838 a conforming job monitoring application SHALL not malfunction 839 when receiving any standard or registered enum or bit values. 840 See Section 3.6 entitled "IANA Considerations". 842 3. SHALL NOT fail when operating with agents that materialize 843 attributes after the job has been submitted, as opposed to when 844 the job is submitted. 846 4. SHALL, if it supports a time attribute, accept either form of 847 the time attribute, since agents are free to implement either 848 time form. 850 Job Monitoring MIB, V0.86 Sep 19, 1997 852 3.2 The Job Tables and the Oldest Active and Newest Active Indexes 854 The jmJobTable and jmAttributeTable contain objects and attributes, 855 respectively, for each job in a job set. These first two indexes are: 856 1. jmGeneralJobSetIndex - which job set 857 2. jmJobIndex - which job in the job set 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 management 886 applications using this MIB and applications using other protocols will 887 see the same job identifiers for the same jobs. Agents providing access 888 to systems that contain jobs with a job identifier of 0 SHALL map the 889 job identifier value 0 to a jmJobIndex value that is one higher than the 890 highest job identifier value that any job can have on that system. Then 891 only job 0 will have a different job-identifier value than the job's 892 jmJobIndex value. 894 NOTE - If a server or device accepts jobs using multiple job submission 895 protocols, it may be difficult for the agent to meet the recommendation 896 to use the job-identifier values that the server or device assigns as 897 the jmJobIndex value, unless the server/device assigns job-identifiers 898 for each of its job submission protocols from the same job-identifier 899 number space. 901 Job Monitoring MIB, V0.86 Sep 19, 1997 903 Each time a new job is accepted by the server or device that the agent 904 is providing access to AND that job is to be 'active' (pending, 905 processing, or processingStopped, but not pendingHeld), the agent SHALL 906 copy the value of the job's jmJobIndex to the 907 jmGeneralNewestActiveJobIndex object. If the new job is to be 908 'inactive' (pendingHeld state), the agent SHALL not change the value of 909 jmGeneralNewestActiveJobIndex object (though the agent SHALL assign the 910 next incremental jmJobIndex value to the job). 912 When a job transitions from one of the 'active' job states (pending, 913 processing, processingStopped) to one of the 'inactive' job states 914 (pendingHeld, completed, canceled, or aborted), with a jmJobIndex value 915 that matches the jmGeneralOldestActiveJobIndex object, the agent SHALL 916 advance (or wrap) the value to the next oldest 'active' job, if any. 917 See the JmJobStateTC textual-convention for a definition of the job 918 states. 920 Whenever a job transitions from one of the 'inactive' job states to one 921 of the 'active' job states (from pendingHeld to pending or processing), 922 the agent SHALL update the value of either the 923 jmGeneralOldestActiveJobIndex or the jmGeneralNewestActiveJobIndex 924 objects, or both, if the job's jmJobIndex value is outside the range 925 between jmGeneralOldestActiveJobIndex and jmGeneralNewestActiveJobIndex. 927 When all jobs become 'inactive', i.e., enter the pendingHeld, completed, 928 canceled, or aborted states, the agent SHALL set the value of both the 929 jmGeneralOldestActiveJobIndex and jmGeneralNewestActiveJobIndex objects 930 to 0. 932 NOTE - Applications that wish to efficiently access all of the active 933 jobs MAY use jmGeneralOldestActiveJobIndex value to start with the 934 oldest active job and continue until they reach the index value equal to 935 jmGeneralNewestActiveJobIndex, skipping over any pendingHeld, completed, 936 canceled, or aborted jobs that might intervene. 938 If an application detects that the jmGeneralNewestActiveJobIndex is 939 smaller than jmGeneralOldestActiveJobIndex, the job index has wrapped. 940 In this case, the application SHALL reset the index to 1 when the end of 941 the table is reached and continue the GetNext operations to find the 942 rest of the active jobs. 944 NOTE - Applications detect the end of the jmAttributeTable table when 945 the OID returned by the GetNext operation is an OID in a different MIB. 946 There is no object in this MIB that specifies the maximum value for the 947 jmJobIndex supported by the implementation. 949 Job Monitoring MIB, V0.86 Sep 19, 1997 951 When the server or device is power-cycled, the agent SHALL remember the 952 next jmJobIndex value to be assigned, so that new jobs are not assigned 953 the same jmJobIndex as recent jobs before the power cycle. 955 3.3 The Attribute Mechanism 957 Attributes are similar to information objects, except that attributes 958 are identified by an enum, instead of an OID, so that attributes may be 959 registered without requiring a new MIB. Also an implementation that 960 does not have the functionality represented by the attribute can omit 961 the attribute entirely, rather than having to return a distinguished 962 value. The agent is free to materialize an attribute in the 963 jmAttributeTable as soon as the agent is aware of the value of the 964 attribute. 966 The agent materializes job attributes in a four-indexed 967 jmAttributeTable: 969 1. jmGeneralJobSetIndex - which job set 971 2. jmJobIndex - which job in the job set 973 3. jmAttributeTypeIndex - which attribute 975 4. jmAttributeInstanceIndex - which attribute instance for those 976 attributes that can have multiple values per job. 978 Some attributes represent information about a job, such as a file-name, 979 a document-name, a submission-time or a completion time. Other 980 attributes represent resources required, e.g., a medium or a colorant, 981 etc. to process the job before the job starts processing OR to indicate 982 the amount of the resource consumed during and after processing, e.g., 983 pages completed or impressions completed. If both a required and a 984 consumed value of a resource is needed, this specification assigns two 985 separate attribute enums in the textual convention. 987 NOTE - The table of contents lists all the attributes in order. This 988 order is the order of enum assignments which is the order that the SNMP 989 GetNext operation returns attributes. Most attributes apply to all 990 three configurations covered by this MIB specification (see section 2.1 991 entitled "System Configurations for the Job Monitoring MIB"). Those 992 attributes that apply to a particular configuration are indicated as 993 'Configuration n:' and SHALL NOT be used with other configurations. 995 3.3.1 Conformance of Attribute Implementation 997 An agent SHALL implement any attribute if (1) the server or device 998 supports the functionality represented by the attribute and (2) the 999 Job Monitoring MIB, V0.86 Sep 19, 1997 1001 information is available to the agent. The agent MAY create the 1002 attribute row in the jmAttributeTable when the information is available 1003 or MAY create the row earlier with the designated 'unknown' value 1004 appropriate for that attribute. See next section. 1006 If the server or device does not implement or does not provide access to 1007 the information about an attribute, the agent SHOULD NOT create the 1008 corresponding row in the jmAttributeTable. 1010 3.3.2 Useful, 'Unknown', and 'Other' Values for Objects and Attributes 1012 Some attributes have a 'useful' Integer32 value, some have a 'useful' 1013 OCTET STRING value, some MAY have either or both depending on 1014 implementation, and some MUST have both. See the JmAttributeTypeTC 1015 textual convention for the specification of each attribute. 1017 SNMP requires that if an object cannot be implemented because its values 1018 cannot be accessed, then a compliant agent SHALL return an SNMP error in 1019 SNMPv1 or an exception value in SNMPv2. However, this MIB has been 1020 designed so that 'all' objects can and SHALL be implemented by an agent, 1021 so that neither the SNMPv1 error nor the SNMPv2 exception value SHALL be 1022 generated by the agent. This MIB has also been designed so that when an 1023 agent materializes an attribute, the agent SHALL materialize a row 1024 consisting of both the jmAttributeValueAsInteger and 1025 jmAttributeValueAsOctets objects. 1027 In general, values for objects and attributes have been chosen so that a 1028 management application will be able to determine whether a 'useful', 1029 'unknown', or 'other' value is available. When a useful value is not 1030 available for an object that agent SHALL return a zero-length string for 1031 octet strings, the value 'unknown(2)' for enums, a '0' value for an 1032 object that represents an index in another table, and a value '-2' for 1033 counting integers. 1035 Since each attribute is represented by a row consisting of both the 1036 jmAttributeValueAsInteger and jmAttributeValueAsOctets MANDATORY 1037 objects, SNMP requires that the agent SHALL always create an attribute 1038 row with both objects specified. However, for most attributes the agent 1039 SHALL return a "useful" value for one of the objects and SHALL return 1040 the 'other' value for the other object. For integer only attributes, 1041 the agent SHALL always return a zero-length string value for the 1042 jmAttributeValueAsOctets object. For octet string only attributes, the 1043 agent SHALL always return a '-1' value for the jmAttributeValueAsInteger 1044 object. 1046 Job Monitoring MIB, V0.86 Sep 19, 1997 1048 3.3.3 Data Sub-types and Attribute Naming Conventions 1050 Many attributes are sub-typed to give a more specific data type than 1051 Integer32 or OCTET STRING. The data sub-type of each attribute is 1052 indicated on the first line(s) of the description. Some attributes have 1053 several different data sub-type representations. When an attribute has 1054 both an Integer32 data sub-type and an OCTET STRING data sub-type, the 1055 attribute can be represented in a single row in the jmAttributeTable. 1056 In this case, the data sub-type name is not included as the last part of 1057 the name of the attribute, e.g., documentFormat(38) which is both an 1058 enum and/or a name. When the data sub-types cannot be represented by a 1059 single row in the jmAttributeTable, each such representation is 1060 considered a separate attribute and is assigned a separate name and enum 1061 value. For these attributes, the name of the data sub-type is the last 1062 part of the name of the attribute: Name, Index, DateAndTime, TimeStamp, 1063 etc. For example, documentFormatIndex(37) is an index. 1065 NOTE: The Table of Contents also lists the data sub-type and/or data 1066 sub-types of each attribute, using the textual-convention name when such 1067 is defined. The following abbreviations are used in the Table of 1068 Contents as shown: 1069 'Int32(-2..)' Integer32(-2..2147483647) 1070 'Int32(0..)' Integer32(0..2147483647) 1071 'Int32(1..)' Integer32(1..2147483647) 1072 'Int32(m..n)' For all other Integer ranges, the lower 1073 and upper bound of the range is 1074 indicated. 1075 'UTF8String63' JmUTF8StringTC(SIZE(0..63)) 1076 'JobString63' JmJobStringTC(SIZE(0..63)) 1077 'Octets63' OCTET STRING(SIZE(0..63)) 1078 'Octets(m..n)' For all other OCTET STRING ranges, the 1079 exact range is indicated. 1081 3.3.4 Single-Value (Row) Versus Multi-Value (MULTI-ROW) Attributes 1083 Most attributes SHALL have only one row per job. However, a few 1084 attributes can have multiple values per job or even per document, where 1085 each value is a separate row in the jmAttributeTable. Unless indicated 1086 with 'MULTI-ROW:' in the JmAttributeTypeTC description, an agent SHALL 1087 ensure that each attribute occurs only once in the jmAttributeTable for 1088 a job. Most of the 'MULTI-ROW' attributes do not allow duplicate 1089 values, i.e., the agent SHALL ensure that each value occurs only once 1090 for a job. Only if the specification of the 'MULTI-ROW' attribute also 1091 says "the values NEED NOT be unique" can the agent allow duplicate 1092 values to occur for the job. 1094 NOTE - Duplicates are allowed for 'extensive' 'MULTI-ROW' attributes, 1095 such as fileName(34) or documentName(35) which are specified to be 'per- 1096 Job Monitoring MIB, V0.86 Sep 19, 1997 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 phrase 'requested' SHALL mean: (1) requested by the client (or 1107 intervening server) in the job submission protocol and MAY also mean (2) 1108 embedded in the submitted document data, and/or (3) defaulted by the 1109 recipient device or server with the same semantics as if the requester 1110 had supplied, depending on implementation. 1112 3.3.6 Consumption Attributes 1114 A number of attributes record consumption. Such attribute names end 1115 with the word 'Completed' or 'Consumed'. If the job has not yet 1116 consumed what that resource is metering, the agent either: (1) SHALL 1117 return the value 0 or (2) SHALL not add this attribute to the 1118 jmAttributeTable until the consumption begins. In the interests of 1119 brevity, the semantics for 0 is specified once here and is not repeated 1120 for each consumptive attribute specification. 1122 3.3.7 Index Value Attributes 1124 A number of attributes are indexes in other tables. Such attribute 1125 names end with the word 'Index'. If the agent has not (yet) assigned an 1126 index value for a particular index attribute for a job, the agent SHALL 1127 either: (1) return the value 0 or (2) not add this attribute to the 1128 jmAttributeTable until the index value is assigned. In the interests of 1129 brevity, the semantics for 0 is specified once here and is not repeated 1130 for each index attribute specification. 1132 3.4 Job Identification 1134 There are a number of attributes that permit a user, operator or system 1135 administrator to identify jobs of interest, such as jobURI, jobName, 1136 jobOriginatingHost, etc. In addition, there is a jmJobSubmissionID 1137 object that is a text string table index. Being a table index allows a 1138 monitoring application to quickly locate and identify a particular job 1139 of interest that was submitted from a particular client by the user 1140 invoking the monitoring application. The Job Monitoring MIB needs to 1141 provide for identification of the job at both sides of the job 1142 submission process. The primary identification point is the client 1143 side. The jmJobSubmissionID allows the monitoring application to 1144 identify the job of interest from all the jobs currently "known" by the 1145 server or device. The value of jmJobSubmissionID can be assigned by 1146 Job Monitoring MIB, V0.86 Sep 19, 1997 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 Oldest Active and Newest Active Indexes' for the specification of how 1157 the agent SHALL assign the jmJobIndex values. 1159 The MIB provides a mapping table that maps each jmJobSubmissionID value 1160 to the corresponding jmJobIndex value generated by the agent, so that an 1161 application can determine the correct value for the jmJobIndex value for 1162 the job of interest in a single Get operation, given the Job Submission 1163 ID. See the jmJobIDGroup. 1165 The jobName attribute provides a name that the user supplies as a job 1166 attribute with the job. The jobName attribute is not necessarily 1167 unique, even for one user, let alone across users. 1169 3.5 Internationalization Considerations 1171 This section describes the internationalization considerations included 1172 in this MIB. 1174 3.5.1 Text generated by the server or device 1176 There are a few objects and attributes generated by the server or device 1177 that SHALL be represented using the Universal Multiple-Octet Coded 1178 Character Set (UCS) [ISO-10646]. These objects and attributes are 1179 always supplied (if implemented) by the agent, not by the job submitting 1180 client: 1181 1. jmGeneralJobSetName object 1182 2. processingMessage(6) attribute 1183 3. physicalDevice(32) (name value) attribute 1185 The character encoding scheme for representing these objects and 1186 attributes SHALL be UTF-8 as recommended by RFC 2130 [RFC 2130] and the 1187 "IETF Policy on Character Sets and Language" [char-set policy]. The 1188 'JmUTF8StringTC' textual convention is used to indicate UTF-8 text 1189 strings. 1191 NOTE - For strings in 7-bit US-ASCII, there is no impact since the UTF-8 1192 representation of 7-bit ASCII is identical to the US-ASCII [US-ASCII] 1193 encoding. 1195 Job Monitoring MIB, V0.86 Sep 19, 1997 1197 3.5.2 Text generated by the job submitter 1199 All of the objects and attributes represented by the 'JmJobStringTC' 1200 textual-convention are either (1) supplied in the job submission 1201 protocol by the client that submits the job to the server or device or 1202 (2) are defaulted by the server or device if the job submitting client 1203 does not supply values. The agent SHALL represent these objects and 1204 attributes in the MIB either (1) in the coded character set as they were 1205 submitted or (2) MAY convert the coded character set to another coded 1206 character set or encoding scheme. In any case, the resulting coded 1207 character set representation SHOULD be UTF-8 [UTF-8], but SHALL be one 1208 in which the code positions from 0 to 31 SHALL not be used, 32 to 127 1209 SHALL be US-ASCII [US-ASCII], 127 SHALL be unused, and the remaining 1210 code positions 128 to 255 SHALL represent single-byte or multi-byte 1211 graphic characters structured according to ISO 2022 [ISO 2022] or SHALL 1212 be unused. 1214 The coded character set SHALL be one of the ones registered with IANA 1215 [IANA] and SHALL be identified by the jobCodedCharSet attribute in the 1216 jmJobAttributeTable for the job. If the agent does not know what coded 1217 character set was used by the job submitting client, the agent SHALL 1218 either (1) return the 'unknown(2)' value for the jobCodedCharSet 1219 attribute or (2) not return the jobCodedCharSet attribute for the job. 1221 Examples of coded character sets which meet this criteria for use as the 1222 value of the jobCodedCharSet job attribute are: US-ASCII [US-ASCII], ISO 1223 8859-1 (Latin-1) [ISO 8859-1], any ISO 8859-n, HP Roman8, IBM Code Page 1224 850, Windows Default 8-bit set, UTF-8 [UTF-8], US-ASCII plus JIS X0208- 1225 1990 Japanese [JIS X0208], US-ASCII plus GB2312-1980 PRC Chinese 1226 [GB2312]. See the IANA registry of coded character sets [IANA 1227 charsets]. 1229 Examples of coded character sets which do not meet this criteria are: 1230 national 7-bit sets conforming to ISO 646 (except US-ASCII), EBCDIC, and 1231 ISO 10646 (Unicode) [ISO-10646]. In order to represent Unicode 1232 characters, the UTF-8 [UTF-8] encoding scheme SHALL be used which has 1233 been assigned the MIBenum value of '106' by IANA. 1235 The jobCodedCharSet attribute uses the imported 'CodedCharSet' textual- 1236 convention from the Printer MIB [printmib]. 1238 3.5.3 'DateAndTime' for representing the date and time 1240 This MIB also contains objects that are represented using the 1241 DateAndTime textual convention from SMIv2 [SMIv2-TC]. The job 1242 management application SHALL display such objects in the locale of the 1243 user running the monitoring application. 1245 Job Monitoring MIB, V0.86 Sep 19, 1997 1247 3.6 IANA Considerations 1249 During the development of this standard, the Printer Working Group (PWG) 1250 working with IANA [iana] will register additional enums while the 1251 standard is in the proposed and draft states according to the procedures 1252 described in this section. IANA will handle registration of additional 1253 enums after this standard is approved in cooperation with an IANA- 1254 appointed registration editor from the PWG according to the procedures 1255 described in this section: 1257 3.6.1 IANA Registration of enums 1259 This specification uses textual conventions to define enumerated values 1260 (enums) and bit values. Enumerations (enums) and bit values are sets of 1261 symbolic values defined for use with one or more objects or attributes. 1262 All enumeration sets and bit value sets are assigned a symbolic data 1263 type name (textual convention). As a convention the symbolic name ends 1264 in "TC" for textual convention. These enumerations are defined at the 1265 beginning of the MIB module specification. 1267 This working group has defined several type of enumerations for use in 1268 the Job Monitoring MIB and the Printer MIB[print-mib]. These types 1269 differ in the method employed to control the addition of new 1270 enumerations. Throughout this document, references to "type n enum", 1271 where n can be 1, 2 or 3 can be found in the various tables. The 1272 definitions of these types of enumerations are: 1274 3.6.1.1 Type 1 enumerations 1276 Type 1 enumeration: All the values are defined in the Job Monitoring 1277 MIB specification (RFC for the Job Monitoring MIB). Additional 1278 enumerated values require a new RFC. 1280 There are no type 1 enums in the current draft. 1282 3.6.1.2 Type 2 enumerations 1284 Type 2 enumeration: An initial set of values are defined in the Job 1285 Monitoring MIB specification. Additional enumerated values are 1286 registered after review by this working group or an editor appointed by 1287 IANA after this working group is no longer active. 1289 The following type 2 enums are contained in the current draft : 1290 1. JmUTF8StringTC 1291 2. JmJobStringTC 1292 3. JmTimeStampTC 1293 4. JmFinishingTC [same enum values as IPP "finishing" attribute] 1294 Job Monitoring MIB, V0.86 Sep 19, 1997 1296 5. JmPrintQualityTC [same enum values as IPP "print-quality" 1297 attribute] 1298 6. JmTonerEconomyTC 1299 7. JmMediumTypeTC 1300 8. JmJobSubmissionTypeTC 1301 9. JmJobStateTC [same enum values as IPP "job-state" attribute] 1302 10.JmAttributeTypeTC 1304 For those textual conventions that have the same enum values as the 1305 indicated IPP Job attribute SHALL be simultaneously registered by IANA 1306 for use with IPP [ipp-model] and the Job Monitoring MIB. 1308 3.6.1.3 Type 3 enumeration 1310 Type 3 enumeration: An initial set of values are defined in the Job 1311 Monitoring MIB specification. Additional enumerated values are 1312 registered through IANA without working group review. 1314 There are no type 3 enums in the current draft. 1316 3.6.2 IANA Registration of type 2 bit values 1318 This draft contains the following type 2 bit value textual-conventions: 1319 1. JmJobServiceTypesTC 1320 2. JmJobStateReasons1TC 1321 3. JmJobStateReasons2TC 1322 4. JmJobStateReasons3TC 1323 5. JmJobStateReasons4TC 1325 These textual-conventions are defined as bits in an Integer so that they 1326 can be used with SNMPv1 SMI. The jobStateReasonsN (N=1..4) attributes 1327 are defined as bit values using the corresponding JmJobStateReasonsNTC 1328 textual-conventions. 1330 The registration of JmJobServiceTypesTC and JmJobStateReasonsNTC bit 1331 values SHALL follow the procedures for a type 2 enum as specified in 1332 Section 3.6.1.2. 1334 3.6.3 IANA Registration of Job Submission Id Formats 1336 In addition to enums and bit values, this specification assigns a single 1337 ASCII digit or letter to various job submission ID formats. See the 1338 JmJobSubmissionIDTypeTC textual-convention and the object. The 1339 registration of jmJobSubmissionID format numbers SHALL follow the 1340 procedures for a type 2 enum as specified in Section 3.6.1.2. 1342 Job Monitoring MIB, V0.86 Sep 19, 1997 1344 3.6.4 IANA Registration of MIME types/sub-types for document-formats 1346 The documentFormat(38) attribute has MIME type/sub-type values for 1347 indicating document formats which IANA registers as "media type" names. 1348 The values of the documentFormat(38) attribute are the same as the 1349 corresponding Internet Printing Protocol (IPP) "document-format" Job 1350 attribute values [ipp-model]. 1352 3.7 Security Considerations 1354 3.7.1 Read-Write objects 1356 All objects are read-only, greatly simplifying the security 1357 considerations. If another MIB augments this MIB, that MIB might accept 1358 SNMP Write operations to objects in that MIB whose effect is to modify 1359 the values of read-only objects in this MIB. However, that MIB SHALL 1360 have to support the required access control in order to achieve 1361 security, not this MIB. 1363 3.7.2 Read-Only Objects In Other User's Jobs 1365 The security policy of some sites MAY be that unprivileged users can 1366 only get the objects from jobs that they submitted, plus a few minimal 1367 objects from other jobs, such as the jmJobKOctetsRequested and 1368 jmJobKOctetsProcessed objects, so that a user can tell how busy a 1369 printer is. Other sites MAY allow all unprivileged users to see all 1370 objects of all jobs. This MIB does not require, nor does it specify 1371 how, such restrictions would be implemented. A monitoring application 1372 SHOULD enforce the site security policy with respect to returning 1373 information to an unprivileged end user that is using the monitoring 1374 application to monitor jobs that do not belong to that user, i.e., the 1375 jmJobOwner object in the jmJobTable does not match the user's user name. 1377 An operator is a privileged user that would be able to see all objects 1378 of all jobs, independent of the policy for unprivileged users. 1380 3.8 Notifications 1382 This MIB does not specify any notifications. For simplicity, management 1383 applications are expected to poll for status. The 1384 jmGeneralJobPersistence and jmGeneralAttributePersistence objects assist 1385 an application to determine the polling rate. The resulting network 1386 traffic is not expected to be significant. 1388 4. MIB specification 1390 The following pages constitute the actual Job Monitoring MIB. 1392 Job Monitoring MIB, V0.86 Sep 19, 1997 1394 Job-Monitoring-MIB DEFINITIONS ::= BEGIN 1396 IMPORTS 1397 MODULE-IDENTITY, OBJECT-TYPE, experimental, 1398 Integer32 FROM SNMPv2-SMI 1399 TEXTUAL-CONVENTION FROM SNMPv2-TC 1400 MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF; 1401 -- The following textual-conventions are needed 1402 -- to implement certain attributes, but are not 1403 -- needed to compile this MIB. They are 1404 -- provided here for convenience: 1405 -- hrDeviceIndex FROM HOST-RESOURCES-MIB 1406 -- DateAndTime FROM SNMPv2-TC 1407 -- PrtInterpreterLangFamilyTC, 1408 -- CodedCharSet FROM Printer-MIB 1410 -- Use the experimental (54) OID assigned to the Printer MIB[print-mib] 1411 -- before it was published as RFC 1759. 1412 -- Upon publication of the Job Monitoring MIB as an RFC, delete this 1413 -- comment and the line following this comment and change the 1414 -- reference of { temp 105 } (below) to { mib-2 X }. 1415 -- This will result in changing: 1416 -- 1 3 6 1 3 54 jobmonMIB(105) to: 1417 -- 1 3 6 1 2 1 jobmonMIB(X) 1418 -- This will make it easier to translate prototypes to 1419 -- the standard namespace because the lengths of the OIDs won't 1420 -- change. 1421 temp OBJECT IDENTIFIER ::= { experimental 54 } 1423 jobmonMIB MODULE-IDENTITY 1424 LAST-UPDATED "9709190000Z" 1425 ORGANIZATION "IETF Printer MIB Working Group" 1426 CONTACT-INFO 1427 "Tom Hastings 1428 Postal: Xerox Corp. 1429 Mail stop ESAE-231 1430 701 S. Aviation Blvd. 1431 El Segundo, CA 90245 1433 Tel: (301)333-6413 1434 Fax: (301)333-5514 1435 E-mail: hastings@cp10.es.xerox.com 1437 Send comments to the printmib WG using the Job Monitoring 1438 Project (JMP) Mailing List: jmp@pwg.org 1440 To learn how to subscribe to the JMP mailing list, 1441 send email to: jmp-request@pwg.org 1442 Job Monitoring MIB, V0.86 Sep 19, 1997 1444 For further information, access the PWG web page under 'JMP': 1445 http://www.pwg.org/" 1446 DESCRIPTION 1447 "The MIB module for monitoring job in servers, printers, and 1448 other devices. 1450 File: draft-ietf-printmib-job-monitor-06.txt 1451 Version: 0.86" 1452 ::= { temp 105 } 1454 -- Textual conventions for this MIB module 1456 JmUTF8StringTC ::= TEXTUAL-CONVENTION 1457 DISPLAY-HINT "255a" 1458 STATUS current 1459 DESCRIPTION 1460 "To facilitate internationalization, this TC represents 1461 information taken from the ISO/IEC IS 10646-1 character set, 1462 encoded as an octet string using the UTF-8 character encoding 1463 scheme." 1464 REFERENCE 1465 "See section 3.5.1, entitled: 'Text generated by the server or 1466 device'." 1467 SYNTAX OCTET STRING (SIZE (0..63)) 1469 JmJobStringTC ::= TEXTUAL-CONVENTION 1470 STATUS current 1471 DESCRIPTION 1472 "To facilitate internationalization, this TC represents 1473 information using any coded character set registered by IANA as 1474 specified in section 3.5.2. While it is recommended that the 1475 coded character set be UTF-8 [UTF-8], the actual coded character 1476 set SHALL be indicated by the value of the jobCodedCharSet(7) 1477 attribute for the job." 1478 REFERENCE 1479 "See section 3.5.2, entitled: 'Text generated by the job 1480 submitter'." 1481 Job Monitoring MIB, V0.86 Sep 19, 1997 1483 SYNTAX OCTET STRING (SIZE (0..63)) 1485 JmTimeStampTC ::= TEXTUAL-CONVENTION 1486 STATUS current 1487 DESCRIPTION 1488 "The simple time at which an event took place. The units SHALL 1489 be in seconds since the system was booted. 1491 NOTE - JmTimeStampTC is defined in units of seconds, rather than 1492 100ths of seconds, so as to be simpler for agents to implement 1493 (even if they have to implement the 100ths of a second to comply 1494 with implementing sysUpTime in MIB-II[mib-II].) 1496 NOTE - JmTimeStampTC is defined as an Integer32 so that it can 1497 be used as a value of an attribute, i.e., as a value of the 1498 jmAttributeValueAsInteger object. The TimeStamp textual- 1499 convention defined in SMNPv2-TC is defined as an APPLICATION 3 1500 IMPLICIT INTEGER tag, not an Integer32, so cannot be used in 1501 this MIB as one of the values of jmAttributeValueAsInteger." 1502 SYNTAX INTEGER(0..2147483647) 1504 JmJobSourcePlatformTypeTC ::= TEXTUAL-CONVENTION 1505 STATUS current 1506 DESCRIPTION 1507 "The source platform type that can submit jobs to servers or 1508 devices in any of the 3 configurations." 1509 REFERENCE 1510 "This is a type 2 enumeration. See Section 3.6.1.2." 1511 SYNTAX INTEGER { 1512 other(1), 1513 unknown(2), 1514 sptUNIX(3), -- UNIX 1515 sptOS2(4), -- OS/2 1516 sptPCDOS(5), -- DOS 1517 sptNT(6), -- NT 1518 sptMVS(7), -- MVS 1519 sptVM(8), -- VM 1520 sptOS400(9), -- OS/400 1521 sptVMS(10), -- VMS 1522 sptWindows(11), -- Windows 1523 Job Monitoring MIB, V0.86 Sep 19, 1997 1525 sptNetWare(12) -- NetWare 1526 } 1528 JmFinishingTC ::= TEXTUAL-CONVENTION 1529 STATUS current 1530 DESCRIPTION 1531 "The type of finishing operation. 1533 These values are the same as the enum values of the IPP 1534 'finishings' attribute. See Section 3.6.1.2. 1536 other(1), 1537 Some other finishing operation besides one of the specified 1538 or registered values. 1540 unknown(2), 1541 The finishing is unknown. 1543 none(3), 1544 Perform no finishing. 1546 staple(4), 1547 Bind the document(s) with one or more staples. The exact 1548 number and placement of the staples is site-defined. 1550 punch(5), 1551 This value indicates that holes are required in the finished 1552 document. The exact number and placement of the holes is 1553 site-defined The punch specification MAY be satisfied (in a 1554 site- and implementation-specific manner) either by 1555 drilling/punching, or by substituting pre-drilled media. 1557 cover(6), 1558 This value is specified when it is desired to select a non- 1559 printed (or pre-printed) cover for the document. This does 1560 not supplant the specification of a printed cover (on cover 1561 stock medium) by the document itself. 1563 bind(7) 1564 This value indicates that a binding is to be applied to the 1565 document; the type and placement of the binding is product- 1566 specific." 1567 REFERENCE 1568 Job Monitoring MIB, V0.86 Sep 19, 1997 1570 "This is a type 2 enumeration. See Section 3.6.1.2." 1571 SYNTAX INTEGER { 1572 other(1), 1573 unknown(2), 1574 none(3), 1575 staple(4), 1576 punch(5), 1577 cover(6), 1578 bind(7) 1579 } 1581 JmPrintQualityTC ::= TEXTUAL-CONVENTION 1582 STATUS current 1583 DESCRIPTION 1584 "Print quality settings. 1586 These values are the same as the enum values of the IPP 'print- 1587 quality' attribute. See Section 3.6.1.2." 1588 REFERENCE 1589 "This is a type 2 enumeration. See Section 3.6.1.2." 1590 SYNTAX INTEGER { 1591 other(1), -- Not one of the specified or registered 1592 -- values. 1593 unknown(2), -- The actual value is unknown. 1594 draft(3), -- Lowest quality available on the printer. 1595 normal(4), -- Normal or intermediate quality on the 1596 -- printer. 1597 high(5) -- Highest quality available on the printer. 1598 } 1600 JmPrinterResolutionTC ::= TEXTUAL-CONVENTION 1601 STATUS current 1602 DESCRIPTION 1603 "Printer resolutions. 1605 Nine octets consisting of two 4-octet SIGNED-INTEGERs followed 1606 by a SIGNED-BYTE. The values are the same as those specified in 1607 the Printer MIB [printmib]. The first SIGNED-INTEGER contains 1608 the value of prtMarkerAddressabilityXFeedDir. The second 1609 Job Monitoring MIB, V0.86 Sep 19, 1997 1611 SIGNED-INTEGER contains the value of 1612 prtMarkerAddressabilityFeedDir. The SIGNED-BYTE contains the 1613 value of prtMarkerAddressabilityUnit. 1615 Note: the latter value is either 3 (tenThousandsOfInches) or 4 1616 (micrometers) and the addressability is in 10,000 units of 1617 measure. Thus the SIGNED-INTEGERs represent integral values in 1618 either dots-per-inch or dots-per-centimeter. 1620 The syntax is the same as the IPP 'printer-resolution' 1621 attribute. See Section 3.6.1.2." 1622 SYNTAX OCTET STRING (SIZE(9)) 1624 JmTonerEconomyTC ::= TEXTUAL-CONVENTION 1625 STATUS current 1626 DESCRIPTION 1627 "Toner economy settings." 1628 REFERENCE 1629 "This is a type 2 enumeration. See Section 3.6.1.2." 1630 SYNTAX INTEGER { 1631 unknown(2), -- unknown. 1632 off(3), -- Off. Normal. Use full toner. 1633 on(4) -- On. Use less toner than normal. 1634 } 1636 JmBooleanTC ::= TEXTUAL-CONVENTION 1637 STATUS current 1638 DESCRIPTION 1639 "Boolean true or false value." 1640 REFERENCE 1641 "This is a type 2 enumeration. See Section 3.6.1.2." 1642 SYNTAX INTEGER { 1643 unknown(2), -- unknown. 1644 false(3), -- FALSE. 1645 true(4) -- TRUE. 1646 } 1647 Job Monitoring MIB, V0.86 Sep 19, 1997 1649 JmMediumTypeTC ::= TEXTUAL-CONVENTION 1650 STATUS current 1651 DESCRIPTION 1652 "Identifies the type of medium. 1654 other(1), 1655 The type is neither one of the values listed in this 1656 specification nor a registered value. 1658 unknown(2), 1659 The type is not known. 1661 stationery(3), 1662 Separately cut sheets of an opaque material. 1664 transparency(4), 1665 Separately cut sheets of a transparent material. 1667 envelope(5), 1668 Envelopes that can be used for conventional mailing 1669 purposes. 1671 envelopePlain(6), 1672 Envelopes that are not preprinted and have no windows. 1674 envelopeWindow(7), 1675 Envelopes that have windows for addressing purposes. 1677 continuousLong(8), 1678 Continuously connected sheets of an opaque material 1679 connected along the long edge. 1681 continuousShort(9), 1682 Continuously connected sheets of an opaque material 1683 connected along the short edge. 1685 tabStock(10), 1686 Media with tabs. 1688 multiPartForm(11), 1689 Form medium composed of multiple layers not pre-attached to 1690 one another; each sheet MAY be drawn separately from an 1691 input source. 1693 Job Monitoring MIB, V0.86 Sep 19, 1997 1695 labels(12), 1696 Label-stock. 1698 multiLayer(13) 1699 Form medium composed of multiple layers which are pre- 1700 attached to one another, e.g. for use with impact printers." 1701 REFERENCE 1702 "This is a type 2 enumeration. See Section 3.6.1.2." 1703 SYNTAX INTEGER { 1704 other(1), 1705 unknown(2), 1706 stationery(3), 1707 transparency(4), 1708 envelope(5), 1709 envelopePlain(6), 1710 envelopeWindow(7), 1711 continuousLong(8), 1712 continuousShort(9), 1713 tabStock(10), 1714 multiPartForm(11), 1715 labels(12), 1716 multiLayer(13) 1717 } 1719 JmJobSubmissionTypeTC ::= TEXTUAL-CONVENTION 1720 STATUS current 1721 DESCRIPTION 1722 "Identifies the format type of a job submission ID. 1724 Each job submission ID is a fixed-length, 48-octet printable US- 1725 ASCII [US-ASCII] coded character string containing no control 1726 characters, consisting of the following fields: 1728 octet 1 The format letter identifying the format. 1729 The US-ASCII characters '0-9', 'A-Z', and 'a-z' 1730 are assigned in order giving 62 possible 1731 formats. 1732 octets 2-40 A 39-character, US-ASCII trailing SPACE filled 1733 field specified by the format letter, if the 1734 data is less than 39 ASCII characters. 1735 octets 41-48 A sequential or random number to make the ID 1736 quasi-unique. 1738 Job Monitoring MIB, V0.86 Sep 19, 1997 1740 If the client does not supply a job submission ID in the job 1741 submission protocol, then the agent SHALL assign a job 1742 submission ID using any of the standard formats that are 1743 reserved for the agent. Clients SHALL not use formats that are 1744 reserved for agents and agents SHALL NOT use formats that are 1745 reserved for clients, in order to reduce conflicts in ID 1746 generation. See the description for which formats are reserved 1747 for clients or for agents. 1749 Registration of additional formats may be done following the 1750 procedures described in Section 3.6.3. 1752 The format values defined at the time of completion of this 1753 specification are: 1755 Format 1756 Letter Description 1757 ------ ------------ 1758 '0' octets 2-40: last 39 bytes of the jmJobOwner 1759 object. 1760 octets 41-48: 8-decimal-digit sequential number. 1761 This format is reserved for agents. 1763 NOTE - Clients wishing to use a job submission ID 1764 that incorporates the job owner, SHALL use format 1765 '8', not format '0'. 1767 '1' octets 2-40: last 39 bytes of the jobName attribute. 1768 octets 41-48: 8-decimal-digit random number. 1769 This format is reserved for clients. 1771 '2' octets 2-40: Client MAC address: in hexadecimal 1772 with each nibble of the 6 octet address being 1773 '0'-'9' or 'A' - 'F' (uppercase only). 1774 Most significant octet first. 1775 octets 41-48: 8-decimal-digit sequential number 1776 This format is reserved for clients. 1778 '3' octets 2-40: last 39 bytes of the client URL 1779 [URI-spec]. 1780 octets 41-48: 8-decimal-digit sequential number 1781 This format is reserved for clients. 1783 '4' octets 2-40: last 39 bytes of the URI [URI-spec] 1784 assigned by the server or device to the job when 1785 the job was submitted for processing. 1786 octets 41-48: 8-decimal-digit sequential number 1787 This format is reserved for agents. 1789 Job Monitoring MIB, V0.86 Sep 19, 1997 1791 '5' octets 2-40: last 39 bytes of a user number, such 1792 as POSIX user number. 1793 octets 41-48: 8-decimal-digit sequential number 1794 This format is reserved for clients. 1796 '6' octets 2-40: last 39 bytes of the user account 1797 number. 1798 octets 41-48: 8-decimal-digit sequential number 1799 This format is reserved for clients. 1801 '7' octets 2-40: last 39 bytes of the DTMF incoming 1802 FAX routing number. 1803 octets 41-48: 8-decimal-digit sequential number 1804 This format is reserved for clients. 1806 '8' octets 2-40: last 39 bytes of the job owner name 1807 (that the agent returns in the jmJobOwner object). 1808 octets 41-48: 8-decimal-digit sequential number 1809 This format is reserved for clients. 1811 '9' octets 2-40: last 39 bytes of the host name with 1812 trailing SPACES that submitted the job to this 1813 server/device using a protocol, such as LPD 1814 [RFC-1179] which includes the host name in the job 1815 submission protocol. 1816 octets 41-48: 8-decimal-digit leading zero 1817 representation of the job id generated by the 1818 by the submitting server (configuration 3) 1819 or the client (configuration 1 and 2), such as in 1820 the LPD protocol. 1821 This format is reserved for clients. 1823 NOTE - the job submission id is only intended to be unique 1824 between a limited set of clients for a limited duration of time, 1825 namely, for the life time of the job in the context of the 1826 server or device that is processing the job. Some of the 1827 formats include something that is unique per client and a random 1828 number so that the same job submitted by the same client will 1829 have a different job submission id. For other formats, where 1830 part of the id is guaranteed to be unique for each client, such 1831 as the MAC address or URL, a sequential number SHOULD suffice 1832 for each client (and may be easier for each client to manage). 1833 Therefore, the length of the job submission id has been selected 1834 to reduce the probability of collision to an extremely low 1835 number, but is not intended to be an absolute guarantee of 1836 uniqueness. None-the-less, collisions are remotely possible, 1837 but without bad consequences, since this MIB is intended to be 1838 Job Monitoring MIB, V0.86 Sep 19, 1997 1840 used only for monitoring jobs, not for controlling and managing 1841 them." 1842 REFERENCE 1843 "This is like a type 2 enumeration. See section 3.6.3." 1844 SYNTAX OCTET STRING(SIZE(1)) -- ASCII '0'-'9', 'A'-'Z', 'a'-'z' 1846 JmJobStateTC ::= TEXTUAL-CONVENTION 1847 STATUS current 1848 DESCRIPTION 1849 "The current state of the job (pending, processing, completed, 1850 etc.). 1852 The following figure shows the normal job state transitions: 1854 +----> canceled(7) 1855 / 1856 +---> pending(3) --------> processing(5) ------+------> completed(9) 1857 | ^ ^ \ 1858 --->+ | | +----> aborted(8) 1859 | v v / 1860 +---> pendingHeld(4) processingStopped(6) ---+ 1862 Figure 4 - Normal Job State Transitions 1864 Normally a job progresses from left to right. Other state 1865 transitions are unlikely, but are not forbidden. Not shown are 1866 the transitions to the canceled state from the pending, 1867 pendingHeld, and processingStopped states. 1869 Jobs in the pending, processing, and processingStopped states 1870 are called 'active', while jobs in the pendingHeld, canceled, 1871 aborted, and completed states are called 'inactive'. Jobs reach 1872 one of the three terminal states: completed, canceled, or 1873 aborted, after the jobs have completed all activity, and all MIB 1874 objects and attributes have reached their final values for the 1875 job. 1877 These values are the same as the enum values of the IPP 'job- 1878 state' job attribute. See Section 3.6.1.2. 1880 Job Monitoring MIB, V0.86 Sep 19, 1997 1882 unknown(2), 1883 The job state is not known, or its state is indeterminate. 1885 pending(3), 1886 The job is a candidate to start processing, but is not yet 1887 processing. 1889 pendingHeld(4), 1890 The job is not a candidate for processing for any number of 1891 reasons but will return to the pending state as soon as the 1892 reasons are no longer present. The job's jmJobStateReasons1 1893 object and/or jobStateReasonsN (N=2..4) attributes SHALL 1894 indicate why the job is no longer a candidate for 1895 processing. The reasons are represented as bits in the 1896 jmJobStateReasons1 object and/or jobStateReasonsN (N=2..4) 1897 attributes. See the JmJobStateReasonsNTC (N=1..4) textual 1898 convention for the specification of each reason. 1900 processing(5), 1901 One of: 1903 1. the job is using, or is attempting to use, one or more 1904 purely software processes that are analyzing, creating, or 1905 interpreting a PDL, etc., 1907 2. the job is using, or is attempting to use, one or more 1908 hardware devices that are interpreting a PDL, making marks 1909 on a medium, and/or performing finishing, such as stapling, 1910 etc., 1912 OR 1914 3. (configuration 2) the server has made the job ready for 1915 printing, but the output device is not yet printing it, 1916 either because the job hasn't reached the output device or 1917 because the job is queued in the output device or some other 1918 spooler, awaiting the output device to print it. 1920 When the job is in the processing state, the entire job 1921 state includes the detailed status represented in the device 1922 MIB indicated by the hrDeviceIndex value of the job's 1923 physicalDevice attribute, if the agent implements such a 1924 device MIB. 1926 Implementations MAY, though they NEED NOT, include 1927 additional values in the job's jmJobStateReasons1 object to 1928 indicate the progress of the job, such as adding the 1929 jobPrinting value to indicate when the device is actually 1930 Job Monitoring MIB, V0.86 Sep 19, 1997 1932 making marks on a medium and/or the processingToStopPoint 1933 value to indicate that the server or device is in the 1934 process of canceling or aborting the job. 1936 processingStopped(6), 1937 The job has stopped while processing for any number of 1938 reasons and will return to the processing state as soon as 1939 the reasons are no longer present. 1941 The job's jmJobStateReasons1 object and/or the job's 1942 jobStateReasonsN (N=2..4) attributes MAY indicate why the 1943 job has stopped processing. For example, if the output 1944 device is stopped, the deviceStopped value MAY be included 1945 in the job's jmJobStateReasons1 object. 1947 NOTE - When an output device is stopped, the device usually 1948 indicates its condition in human readable form at the 1949 device. The management application can obtain more complete 1950 device status remotely by querying the appropriate device 1951 MIB using the job's deviceIndex attribute(s), if the agent 1952 implements such a device MIB 1954 canceled(7), 1955 A client has canceled the job and the server or device has 1956 completed canceling the job and all MIB objects and 1957 attributes have reached their final values for the job. 1958 While the server or device is canceling the job, the job's 1959 jmJobStateReasons1 object SHOULD contain the 1960 processingToStopPoint value and one of the canceledByUser, 1961 canceledByOperator, or canceledAtDevice values. The 1962 canceledByUser, canceledByOperator, or canceledAtDevice 1963 values remain while the job is in the canceled state. 1965 aborted(8), 1966 The job has been aborted by the system, usually while the 1967 job was in the processing or processingStopped state and the 1968 server or device has completed aborting the job and all MIB 1969 objects and attributes have reached their final values for 1970 the job. While the server or device is aborting the job, 1971 the job's jmJobStateReasons1 object MAY contain the 1972 processingToStopPoint and abortedBySystem values. If 1973 implemented, the abortedBySystem value SHALL remain while 1974 the job is in the aborted state. 1976 completed(9) 1977 The job has completed successfully or with warnings or 1978 errors after processing and all of the media have been 1979 successfully stacked in the appropriate output bin(s). The 1980 Job Monitoring MIB, V0.86 Sep 19, 1997 1982 job's jmJobStateReasons1 object SHOULD contain one of: 1983 completedSuccessfully, completedWithWarnings, or 1984 completedWithErrors values." 1985 REFERENCE 1986 "This is a type 2 enumeration. See Section 3.6.1.2." 1987 SYNTAX INTEGER { 1988 unknown(2), 1989 pending(3), 1990 pendingHeld(4), 1991 processing(5), 1992 processingStopped(6), 1993 canceled(7), 1994 aborted(8), 1995 completed(9) 1996 } 1998 JmAttributeTypeTC ::= TEXTUAL-CONVENTION 1999 STATUS current 2000 DESCRIPTION 2001 "The type of the attribute which identifies the attribute. 2003 In the following definitions of the enums, each description 2004 indicates whether the useful value of the attribute SHALL be 2005 represented using the jmAttributeValueAsInteger or the 2006 jmAttributeValueAsOctets objects by the initial tag: 'INTEGER:' 2007 or 'OCTETS:', respectively. 2009 Some attributes allow the agent implementer a choice of useful 2010 values of either an integer, an octets representation, or both, 2011 depending on implementation. These attributes are indicated 2012 with 'INTEGER:' AND/OR 'OCTETS:' tags. 2014 A very few attributes require both objects at the same time to 2015 represent a pair of useful values (see mediumConsumed(171)). 2016 These attributes are indicated with 'INTEGER:' AND 'OCTETS:' 2017 tags. See the jmAttributeGroup for the descriptions of these 2018 two MANDATORY objects. 2020 NOTE - The enum assignments are grouped logically with values 2021 assigned in groups of 20, so that additional values may be 2022 registered in the future and assigned a value that is part of 2023 their logical grouping. 2025 Values in the range 2**30 to 2**31-1 are reserved for private or 2026 experimental usage. This range corresponds to the same range 2027 reserved in IPP. Implementers are warned that use of such 2028 Job Monitoring MIB, V0.86 Sep 19, 1997 2030 values may conflict with other implementations. Implementers 2031 are encouraged to request registration of enum values following 2032 the procedures in Section 3.6.1. 2034 NOTE: No attribute name exceeds 31 characters. 2036 The standard attribute types defined at the time of completion 2037 of the specification are: 2039 jmAttributeTypeIndex Datatype 2040 -------------------- -------- 2042 other(1), Integer32(-2..2147483647) 2043 AND/OR 2044 OCTET STRING(SIZE(0..63)) 2045 INTEGER: and/or OCTETS: An attribute that is not in the 2046 list and/or that has not been approved and registered with 2047 IANA. 2049 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2050 + Job State attributes 2051 + 2052 + The following attributes specify the state of a job. 2053 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2055 jobStateReasons2(3), JmJobStateReasons2TC 2056 INTEGER: Additional information about the job's current 2057 state that augments the jmJobState object. See the 2058 description under the JmJobStateReasons1TC textual- 2059 convention. 2061 jobStateReasons3(4), JmJobStateReasons3TC 2062 INTEGER: Additional information about the job's current 2063 state that augments the jmJobState object. See the 2064 description under JmJobStateReasons1TC textual-convention. 2066 jobStateReasons4(5), JmJobStateReasons4TC 2067 INTEGER: Additional information about the job's current 2068 state that augments the jmJobState object. See the 2069 description under JmJobStateReasons1TC textual-convention. 2071 processingMessage(6), JmUTF8StringTC(SIZE(0..63)) 2072 OCTETS: MULTI-ROW: A coded character set message that is 2073 generated by the server or device during the processing of 2074 the job as a simple form of processing log to show progress 2075 and any problems. 2077 Job Monitoring MIB, V0.86 Sep 19, 1997 2079 There is no restriction for the same message occurring in 2080 multiple rows. 2082 jobCodedCharSet(7), CodedCharSet 2083 INTEGER: The MIBenum identifier of the coded character set 2084 that the agent is using to represent coded character set 2085 objects and attributes of type 'JmJobStringTC'. These coded 2086 character set objects and attributes are either: (1) 2087 supplied by the job submitting client or (2) defaulted by 2088 the server or device when omitted by the job submitting 2089 client. The agent SHALL represent these objects and 2090 attributes in the MIB either (1) in the coded character set 2091 as they were submitted or (2) MAY convert the coded 2092 character set to another coded character set or encoding 2093 scheme as identified by the jobCodedCharSet attribute. 2095 These MIBenum values are assigned by IANA [IANA-charsets] 2096 when the coded character sets are registered. The coded 2097 character set SHALL be one of the ones registered with IANA 2098 [IANA] and the enum value uses the CodedCharSet textual- 2099 convention from the Printer MIB. See the JmJobStringTC 2100 textual-convention. 2102 If the agent does not know what coded character set was used 2103 by the job submitting client, the agent SHALL either (1) 2104 return the 'unknown(2)' value for the jobCodedCharSet 2105 attribute or (2) not return the jobCodedCharSet attribute 2106 for the job. See Section 3.5.2, entitled 'Text generated by 2107 the job submitter'. 2109 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2110 + Job Identification attributes 2111 + 2112 + The following attributes help an end user, a system 2113 + operator, or an accounting program identify a job. 2114 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2116 jobURI(20), OCTET STRING(SIZE(1..255)) 2117 OCTETS: The job's Universal Resource Identifier (URI) [RFC- 2118 1738]. See IPP for example usage. 2120 NOTE - The agent may be able to generate this value on each 2121 SNMP Get operation from smaller values, rather than having 2122 to store the entire URI. 2124 Job Monitoring MIB, V0.86 Sep 19, 1997 2126 If the URI exceeds 255 octets, the agent SHALL truncate from 2127 the beginning (since the end tends to be more unique than 2128 the beginning). 2130 jobAccountName(21), OCTET STRING(SIZE(0..63)) 2131 OCTETS: Arbitrary binary information which MAY be coded 2132 character set data or encrypted data supplied by the 2133 submitting user for use by accounting services to allocate 2134 or categorize charges for services provided, such as a 2135 customer account name or number. 2137 NOTE: This attribute NEED NOT be printable characters. 2139 serverAssignedJobName(22), JmJobStringTC(SIZE(0..63)) 2140 OCTETS: Configuration 3 only: The human readable string 2141 name, number, or ID of the job as assigned by the server 2142 that submitted the job to the device that the agent is 2143 providing access to with this MIB. 2145 NOTE - This attribute is intended for enabling a user to 2146 find his/her job that a server submitted to a device when 2147 either the client does not support the jmJobSubmissionID or 2148 the server does not pass the jmJobSubmissionID through to 2149 the device. 2151 jobName(23), JmJobStringTC(SIZE(0..63)) 2152 OCTETS: The human readable string name of the job as 2153 assigned by the submitting user to help the user distinguish 2154 between his/her various jobs. This name does not need to be 2155 unique. 2157 This attribute is intended for enabling a user or the user's 2158 application to convey a job name that MAY be printed on a 2159 start sheet, returned in a query result, or used in 2160 notification or logging messages. 2162 In order to assist users to find their jobs for job 2163 submission protocols that don't supply a jmJobSubmissionID, 2164 the agent SHOULD maintain the jobName attribute for the time 2165 specified by the jmGeneralJobPersistence object, rather than 2166 the (shorter) jmGeneralAttributePersistence object. 2168 If this attribute is not specified when the job is 2169 submitted, no job name is assumed, but implementation 2170 specific defaults are allowed, such as the value of the 2171 documentName attribute of the first document in the job or 2172 the fileName attribute of the first document in the job. 2174 Job Monitoring MIB, V0.86 Sep 19, 1997 2176 The jobName attribute is distinguished from the jobComment 2177 attribute, in that the jobName attribute is intended to 2178 permit the submitting user to distinguish between different 2179 jobs that he/she has submitted. The jobComment attribute is 2180 intended to be free form additional information that a user 2181 might wish to use to communicate with himself/herself, such 2182 as a reminder of what to do with the results or to indicate 2183 a different set of input parameters were tried in several 2184 different job submissions. 2186 jobServiceTypes(24), JmJobServiceTypesTC 2187 INTEGER: Specifies the type(s) of service to which the job 2188 has been submitted (print, fax, scan, etc.). The service 2189 type is bit encoded with each job service type so that more 2190 general and arbitrary services can be created, such as 2191 services with more than one destination type, or ones with 2192 only a source or only a destination. For example, a job 2193 service might scan, faxOut, and print a single job. In this 2194 case, three bits would be set in the jobServiceTypes 2195 attribute, corresponding to the hexadecimal values: 0x8 + 2196 0x20 + 0x4, respectively, yielding: 0x2C. 2198 Whether this attribute is set from a job attribute supplied 2199 by the job submission client or is set by the recipient job 2200 submission server or device depends on the job submission 2201 protocol. This attribute SHALL be implemented if the server 2202 or device has other types in addition to or instead of 2203 printing. 2205 One of the purposes of this attribute is to permit a 2206 requester to filter out jobs that are not of interest. For 2207 example, a printer operator may only be interested in jobs 2208 that include printing. 2210 jobSourceChannelIndex(25), Integer32(0..2147483647) 2211 INTEGER: The index of the row in the associated Printer 2212 MIB[print-mib] of the channel which is the source of the 2213 print job. 2215 jobSourcePlatformType(26), JmJobSourcePlatformTypeTC 2216 INTEGER: The source platform type of the immediate upstream 2217 submitter that submitted the job to the server 2218 (configuration 2) or device (configuration 1 and 3) to which 2219 the agent is providing access. For configuration 1, this is 2220 the type of the client that submitted the job to the device; 2221 for configuration 2, this is the type of the client that 2222 submitted the job to the server; and for configuration 3, 2223 Job Monitoring MIB, V0.86 Sep 19, 1997 2225 this is the type of the server that submitted the job to the 2226 device. 2228 submittingServerName(27), JmJobStringTC(SIZE(0..63)) 2229 OCTETS: For configuration 3 only: The administrative name 2230 of the server that submitted the job to the device. 2232 submittingApplicationName(28), JmJobStringTC(SIZE(0..63)) 2233 OCTETS: The name of the client application (not the server 2234 in configuration 3) that submitted the job to the server or 2235 device. 2237 jobOriginatingHost(29), JmJobStringTC(SIZE(0..63)) 2238 OCTETS: The name of the client host (not the server host 2239 name in configuration 3) that submitted the job to the 2240 server or device. 2242 deviceNameRequested(30), JmJobStringTC(SIZE(0..63)) 2243 OCTETS: The administratively defined coded character set 2244 name of the target device requested by the submitting user. 2245 For configuration 1, its value corresponds to the Printer 2246 MIB[print-mib]: prtGeneralPrinterName object. For 2247 configuration 2 and 3, its value is the name of the logical 2248 or physical device that the user supplied to indicate to the 2249 server on which device(s) they wanted the job to be 2250 processed. 2252 queueNameRequested(31), JmJobStringTC(SIZE(0..63)) 2253 OCTETS: The administratively defined coded character set 2254 name of the target queue requested by the submitting user. 2255 For configuration 1, its value corresponds to the queue in 2256 the device for which the agent is providing access. For 2257 configuration 2 and 3, its value is the name of the queue 2258 that the user supplied to indicate to the server on which 2259 device(s) they wanted the job to be processed. 2261 NOTE - typically an implementation SHOULD support either the 2262 deviceNameRequested or queueNameRequested attribute, but not 2263 both. 2265 physicalDevice(32), hrDeviceIndex 2266 AND/OR 2267 JmUTF8StringTC(SIZE(0..63)) 2268 INTEGER: MULTI-ROW: The index of the physical device MIB 2269 instance requested/used, such as the Printer MIB[print-mib]. 2270 This value is an hrDeviceIndex value. See the Host 2271 Resources MIB[hr-mib]. 2273 Job Monitoring MIB, V0.86 Sep 19, 1997 2275 AND/OR 2277 OCTETS: MULTI-ROW: The name of the physical device to 2278 which the job is assigned. 2280 numberOfDocuments(33), Integer32(-2..2147483647) 2281 INTEGER: The number of documents in this job. 2283 fileName(34), JmJobStringTC(SIZE(0..63)) 2284 OCTETS: MULTI-ROW: The coded character set file name or 2285 URI[URI-spec] of the document. 2287 There is no restriction on the same file name occurring in 2288 multiple rows. 2290 documentName(35), JmJobStringTC(SIZE(0..63)) 2291 OCTETS: MULTI-ROW: The coded character set name of the 2292 document. 2294 There is no restriction on the same document name occurring 2295 in multiple rows. 2297 jobComment(36), JmJobStringTC(SIZE(0..63)) 2298 OCTETS: An arbitrary human-readable coded character text 2299 string supplied by the submitting user or the job submitting 2300 application program for any purpose. For example, a user 2301 might indicate what he/she is going to do with the printed 2302 output or the job submitting application program might 2303 indicate how the document was produced. 2305 The jobComment attribute is not intended to be a name; see 2306 the jobName attribute. 2308 documentFormatIndex(37), Integer32(0..2147483647) 2309 INTEGER: MULTI-ROW: The index in the prtInterpreterTable 2310 in the Printer MIB[print-mib] of the page description 2311 language (PDL) or control language interpreter that this job 2312 requires/uses. A document or a job MAY use more than one 2313 PDL or control language. 2315 NOTE - As with all intensive attributes where multiple rows 2316 are allowed, there SHALL be only one distinct row for each 2317 distinct interpreter; there SHALL be no duplicates. 2319 NOTE - This attribute type is intended to be used with an 2320 agent that implements the Printer MIB and SHALL not be used 2321 Job Monitoring MIB, V0.86 Sep 19, 1997 2323 if the agent does not implement the Printer MIB. Such an 2324 agent SHALL use the documentFormat attribute instead. 2326 documentFormat(38), PrtInterpreterLangFamilyTC 2327 AND/OR 2328 OCTET STRING(SIZE(0..63)) 2329 INTEGER: MULTI-ROW: The interpreter language family 2330 corresponding to the Printer MIB[print-mib] 2331 prtInterpreterLangFamily object, that this job 2332 requires/uses. A document or a job MAY use more than one 2333 PDL or control language. 2335 AND/OR 2337 OCTETS: MULTI-ROW: The document format registered as a 2338 media type[iana-media-types], i.e., the name of the MIME 2339 content-type/subtype. Examples: 'application/postscript', 2340 'application/vnd.hp-PCL', and 'application/pdf' 2342 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2343 + Job Parameter attributes 2344 + 2345 + The following attributes represent input parameters 2346 + supplied by the submitting client in the job submission 2347 + protocol. 2348 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2350 jobPriority(50), Integer32(1..100) 2351 INTEGER: The priority for scheduling the job. It is used 2352 by servers and devices that employ a priority-based 2353 scheduling algorithm. 2355 A higher value specifies a higher priority. The value 1 is 2356 defined to indicate the lowest possible priority (a job 2357 which a priority-based scheduling algorithm SHALL pass over 2358 in favor of higher priority jobs). The value 100 is defined 2359 to indicate the highest possible priority. Priority is 2360 expected to be evenly or 'normally' distributed across this 2361 range. The mapping of vendor-defined priority over this 2362 range is implementation-specific. 2364 jobProcessAfterDateAndTime(51), DateAndTime (SNMPv2-TC) 2365 OCTETS: The calendar date and time of day after which the 2366 job SHALL become a candidate to be scheduled for processing. 2367 If the value of this attribute is in the future, the server 2368 SHALL set the value of the job's jmJobState object to 2369 pendingHeld and add the jobProcessAfterSpecified bit value 2370 Job Monitoring MIB, V0.86 Sep 19, 1997 2372 to the job's jmJobStateReasons1 object. When the specified 2373 date and time arrives, the server SHALL remove the 2374 jobProcessAfterSpecified bit value from the job's 2375 jmJobStateReasons1 object and, if no other reasons remain, 2376 SHALL change the job's jmJobState object to pending. 2378 jobHold(52), JmBooleanTC 2379 INTEGER: If the value is 'true(4)', a client has explicitly 2380 specified that the job is to be held until explicitly 2381 released. Until the job is explicitly released by a client, 2382 the job SHALL be in the pendingHeld state with the 2383 jobHoldSpecified value in the jmJobStateReasons1 attribute. 2385 jobHoldUntil(53), JmJobStringTC(SIZE(0..63)) 2386 OCTETS: The named time period during which the job SHALL 2387 become a candidate for processing, such as 'evening', 2388 'night', 'weekend', 'second-shift', 'third-shift', etc., as 2389 defined by the system administrator. See IPP [ipp-model] 2390 for the standard keyword values. Until that time period 2391 arrives, the job SHALL be in the pendingHeld state with the 2392 jobHoldUntilSpecified value in the jmJobStateReasons1 2393 object. The value 'no-hold' SHALL indicate explicitly that 2394 no time period has been specified; the absence of this 2395 attribute SHALL indicate implicitly that no time period has 2396 been specified. 2398 outputBin(54), Integer32(0..2147483647) 2399 AND/OR 2400 JmJobStringTC(SIZE(0..63)) 2401 INTEGER: MULTI-ROW: The output subunit index in the 2402 Printer MIB[print-mib] 2404 AND/OR 2406 OCTETS: the name or number (represented as ASCII digits) of 2407 the output bin to which all or part of the job is placed in. 2409 sides(55), Integer32(-2..2) 2410 INTEGER: MULTI-ROW: The number of sides, '1' or '2', that 2411 any document in this job requires/used. 2413 finishing(56), JmFinishingTC 2414 INTEGER: MULTI-ROW: Type of finishing that any document in 2415 this job requires/used. 2417 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2418 + Image Quality attributes (requested and consumed) 2419 Job Monitoring MIB, V0.86 Sep 19, 1997 2421 + 2422 + For devices that can vary the image quality. 2423 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2425 printQualityRequested(70), JmPrintQualityTC 2426 INTEGER: MULTI-ROW: The print quality selection requested 2427 for a document in the job for printers that allow quality 2428 differentiation. 2430 printQualityUsed(71), JmPrintQualityTC 2431 INTEGER: MULTI-ROW: The print quality selection actually 2432 used by a document in the job for printers that allow 2433 quality differentiation. 2435 printerResolutionRequested(72), JmPrinterResolutionTC 2436 OCTETS: MULTI-ROW: The printer resolution requested for a 2437 document in the job for printers that support resolution 2438 selection. 2440 printerResolutionUsed(73), JmPrinterResolutionTC 2441 OCTETS: MULTI-ROW: The printer resolution actually used by 2442 a document in the job for printers that support resolution 2443 selection. 2445 tonerEcomonyRequested(74), JmTonerEconomyTC 2446 INTEGER: MULTI-ROW: The toner economy selection requested 2447 for documents in the job for printers that allow toner 2448 economy differentiation. 2450 tonerEcomonyUsed(75), JmTonerEconomyTC 2451 INTEGER: MULTI-ROW: The toner economy selection actually 2452 used by documents in the job for printers that allow toner 2453 economy differentiation. 2455 tonerDensityRequested(76), Integer32(-2..100) 2456 INTEGER: MULTI-ROW: The toner density requested for a 2457 document in this job for devices that can vary toner density 2458 levels. Level 1 is the lowest density and level 100 is the 2459 highest density level. Devices with a smaller range, SHALL 2460 map the 1-100 range evenly onto the implemented range. 2462 tonerDensityUsed(77), Integer32(-2..100) 2463 INTEGER: MULTI-ROW: The toner density used by documents in 2464 this job for devices that can vary toner density levels. 2465 Level 1 is the lowest density and level 100 is the highest 2466 density level. Devices with a smaller range, SHALL map the 2467 1-100 range evenly onto the implemented range. 2469 Job Monitoring MIB, V0.86 Sep 19, 1997 2471 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2472 + Job Progress attributes (requested and consumed) 2473 + 2474 + Pairs of these attributes can be used by monitoring 2475 + applications to show an indication of relative progress 2476 + to users. 2477 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2479 jobCopiesRequested(90), Integer32(-2..2147483647) 2480 INTEGER: The number of copies of the entire job that are to 2481 be produced. 2483 jobCopiesCompleted(91), Integer32(-2..2147483647) 2484 INTEGER: The number of copies of the entire job that have 2485 been completed so far. 2487 documentCopiesRequested(92), Integer32(-2..2147483647) 2488 INTEGER: The total count of the number of document copies 2489 requested for the job as a whole. If there are documents A, 2490 B, and C, and document B is specified to produce 4 copies, 2491 the number of document copies requested is 6 for the job. 2493 This attribute SHALL be used only when a job has multiple 2494 documents. The jobCopiesRequested attribute SHALL be used 2495 when the job has only one document. 2497 documentCopiesCompleted(93), Integer32(-2..2147483647) 2498 INTEGER: The total count of the number of document copies 2499 completed so far for the job as a whole. If there are 2500 documents A, B, and C, and document B is specified to 2501 produce 4 copies, the number of document copies starts a 0 2502 and runs up to 6 for the job as the job processes. 2504 This attribute SHALL be used only when a job has multiple 2505 documents. The jobCopiesCompleted attribute SHALL be used 2506 when the job has only one document. 2508 jobKOctetsTransferred(94), Integer32(-2..2147483647) 2509 INTEGER: The number of K (1024) octets transferred to the 2510 server or device to which the agent is providing access. 2511 This count is independent of the number of copies of the job 2512 or documents that will be produced, but it is only a measure 2513 of the number of bytes transferred to the server or device. 2515 The agent SHALL round the actual number of octets 2516 transferred up to the next higher K. Thus 0 octets SHALL be 2517 represented as '0', 1-1024 octets SHALL BE represented as 2518 Job Monitoring MIB, V0.86 Sep 19, 1997 2520 '1', 1025-2048 SHALL be '2', etc. When the job completes, 2521 the values of the jmJobKOctetsRequested object and the 2522 jobKOctetsTransferred attribute SHALL be equal. 2524 NOTE - The jobKOctetsTransferred can be used with the 2525 jmJobKOctetsRequested object in order to produce a relative 2526 indication of the progress of the job for agents that do not 2527 implement the jmJobKOctetsProcessed object. 2529 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2530 + Impression attributes 2531 + 2532 + For a print job, an impression is the marking of the 2533 + entire side of a sheet. Two-sided processing involves two 2534 + impressions per sheet. Two-up is the placement of two 2535 + logical pages on one side of a sheet and so is still a 2536 + single impression. See also jmJobImpressionsRequested and 2537 + jmJobImpressionsCompleted objects in the jmJobTable. 2538 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2540 impressionsSpooled(110), Integer32(-2..2147483647) 2541 INTEGER: The number of impressions spooled to the server or 2542 device for the job so far. 2544 impressionsSentToDevice(111), Integer32(-2..2147483647) 2545 INTEGER: The number of impressions sent to the device for 2546 the job so far. 2548 impressionsInterpreted(112), Integer32(-2..2147483647) 2549 INTEGER: The number of impressions interpreted for the job 2550 so far. 2552 impressionsCompletedCurrentCopy(113), Integer32(-2..2147483647) 2553 INTEGER: The number of impressions completed by the device 2554 for the current copy of the current document so far. For 2555 printing, the impressions completed includes interpreting, 2556 marking, and stacking the output. For other types of job 2557 services, the number of impressions completed includes the 2558 number of impressions processed. 2560 This value SHALL be reset to 0 for each document in the job 2561 and for each document copy. 2563 fullColorImpressionsCompleted(114), Integer32(-2..2147483647) 2564 INTEGER: The number of full color impressions completed by 2565 the device for this job so far. For printing, the 2566 impressions completed includes interpreting, marking, and 2567 Job Monitoring MIB, V0.86 Sep 19, 1997 2569 stacking the output. For other types of job services, the 2570 number of impressions completed includes the number of 2571 impressions processed. Full color impressions are typically 2572 defined as those requiring 3 or more colorants, but this MAY 2573 vary by implementation. 2575 highlightColorImpressionsCompleted(115), Integer32(-2.. 2576 2147483647) 2577 INTEGER: The number of highlight color impressions 2578 completed by the device for this job so far. For printing, 2579 the impressions completed includes interpreting, marking, 2580 and stacking the output. For other types of job services, 2581 the number of impressions completed includes the number of 2582 impressions processed. Highlight color impressions are 2583 typically defined as those requiring black plus one other 2584 colorant, but this MAY vary by implementation. 2586 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2587 + Page attributes 2588 + 2589 + A page is a logical page. Number up can impose more than 2590 + one page on a single side of a sheet. Two-up is the 2591 + placement of two logical pages on one side of a sheet so 2592 + that each side counts as two pages. 2593 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2595 pagesRequested(130), Integer32(-2..2147483647) 2596 INTEGER: The number of logical pages requested by the job 2597 to be processed. 2599 pagesCompleted(131), Integer32(-2..2147483647) 2600 INTEGER: The number of logical pages completed for this job 2601 so far. 2603 For implementations where multiple copies are produced by 2604 the interpreter with only a single pass over the data, the 2605 final value SHALL be equal to the value of the 2606 pagesRequested object. For implementations where multiple 2607 copies are produced by the interpreter by processing the 2608 data for each copy, the final value SHALL be a multiple of 2609 the value of the pagesRequested object. 2611 NOTE - See the impressionsCompletedCurrentCopy and 2612 pagesCompletedCurrentCopy attributes for attributes that are 2613 reset on each document copy. 2615 Job Monitoring MIB, V0.86 Sep 19, 1997 2617 NOTE - The pagesCompleted object can be used with the 2618 pagesRequested object to provide an indication of the 2619 relative progress of the job, provided that the 2620 multiplicative factor is taken into account for some 2621 implementations of multiple copies. 2623 pagesCompletedCurrentCopy(132), Integer32(-2..2147483647) 2624 INTEGER: The number of logical pages completed for the 2625 current copy of the document so far. This value SHALL be 2626 reset to 0 for each document in the job and for each 2627 document copy. 2629 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2630 + Sheet attributes 2631 + 2632 + The sheet is a single piece of a medium, whether printing 2633 + on one or both sides. 2634 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2636 sheetsRequested(150), Integer32(-2..2147483647) 2637 INTEGER: The number of medium sheets requested to be 2638 processed for this job. 2640 sheetsCompleted(151), Integer32(-2..2147483647) 2641 INTEGER: The number of medium sheets that have completed 2642 marking and stacking for the entire job so far whether those 2643 sheets have been processed on one side or on both. 2645 sheetsCompletedCurrentCopy(152), Integer32(-2..2147483647) 2646 INTEGER: The number of medium sheets that have completed 2647 marking and stacking for the current copy of a document in 2648 the job so far whether those sheets have been processed on 2649 one side or on both. 2651 The value of this attribute SHALL be reset to 0 as each 2652 document in the job starts being processed and for each 2653 document copy as it starts being processed. 2655 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2656 + Resources attributes (requested and consumed) 2657 + 2658 + Pairs of these attributes can be used by monitoring 2659 + applications to show an indication of relative usage to 2660 + users. 2661 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2662 Job Monitoring MIB, V0.86 Sep 19, 1997 2664 mediumRequested(170), JmMediumTypeTC 2665 AND/OR 2666 JmJobStringTC(SIZE(0..63)) 2667 INTEGER: MULTI-ROW: The type 2668 AND/OR 2669 OCTETS: the name of the medium that is required by the job. 2671 mediumConsumed(171), Integer32(-2..2147483647) 2672 AND 2673 JmJobStringTC(SIZE(0..63)) 2674 INTEGER: The number of sheets 2675 AND 2676 OCTETS: MULTI-ROW: the name of the medium that has been 2677 consumed so far whether those sheets have been processed on 2678 one side or on both. 2680 This attribute SHALL have both Integer32 and OCTET STRING 2681 (represented as JmJobStringTC) values. 2683 colorantRequested(172), Integer32(-2..2147483647) 2684 AND/OR 2685 JmJobStringTC(SIZE(0..63)) 2686 INTEGER: MULTI-ROW: The index (prtMarkerColorantIndex) in 2687 the Printer MIB[print-mib] 2688 AND/OR 2689 OCTETS: the name of the colorant requested. 2691 colorantConsumed(173), Integer32(-2..2147483647) 2692 AND/OR 2693 JmJobStringTC(SIZE(0..63)) 2694 INTEGER: MULTI-ROW: The index (prtMarkerColorantIndex) in 2695 the Printer MIB[print-mib] 2696 AND/OR 2697 OCTETS: the name of the colorant consumed. 2699 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2700 + Time attributes (set by server or device) 2701 + 2702 + This section of attributes are ones that are set by the 2703 + server or device that accepts jobs. Two forms of time are 2704 + provided. Each form is represented in a separate attribute. 2705 + See section 3.1.2 and section 3.1.3 for the 2706 + conformance requirements for time attribute for agents and 2707 + monitoring applications, respectively. The two forms are: 2708 + 2709 + 'DateAndTime' is an 8 or 11 octet binary encoded year, 2710 + month, day, hour, minute, second, deci-second with 2711 Job Monitoring MIB, V0.86 Sep 19, 1997 2713 + optional offset from UTC. See SNMPv2-TC [SMIv2-TC]. 2714 + 2715 + NOTE: 'DateAndTime' is not printable characters; it is 2716 + binary. 2717 + 2718 + 'JmTimeStampTC' is the time of day measured in the number of 2719 + seconds since the system was booted. 2720 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2722 jobSubmissionToServerTime(190), JmTimeStampTC 2723 AND/OR 2724 DateAndTime 2725 INTEGER: Configuration 3 only: The time 2726 AND/OR 2727 OCTETS: the date and time that the job was submitted to the 2728 server (as distinguished from the device which uses 2729 jobSubmissionTime). 2731 jobSubmissionTime(191), JmTimeStampTC 2732 AND/OR 2733 DateAndTime 2734 INTEGER: Configurations 1, 2, and 3: The time 2735 AND/OR 2736 OCTETS: the date and time that the job was submitted to the 2737 server or device to which the agent is providing access. 2739 jobStartedBeingHeldTime(192), JmTimeStampTC 2740 AND/OR 2741 DateAndTime 2742 INTEGER: The time 2743 AND/OR 2744 OCTETS: the date and time that the job last entered the 2745 pendingHeld state. If the job has never entered the 2746 pendingHeld state, then the value SHALL be '0' or the 2747 attribute SHALL not be present in the table. 2749 jobStartedProcessingTime(193), JmTimeStampTC 2750 AND/OR 2751 DateAndTime 2752 INTEGER: The time 2753 AND/OR 2754 OCTETS: the date and time that the job started processing. 2756 jobCompletionTime(194), JmTimeStampTC 2757 AND/OR 2758 DateAndTime 2760 Job Monitoring MIB, V0.86 Sep 19, 1997 2762 INTEGER: The time 2763 AND/OR 2764 OCTETS: the date and time that the job entered the 2765 completed, canceled, or aborted state. 2767 jobProcessingCPUTime(195) Integer32(-2..2147483647) 2768 UNITS 'seconds' 2769 INTEGER: The amount of CPU time in seconds that the job has 2770 been in the processing state. If the job enters the 2771 processingStopped state, that elapsed time SHALL not be 2772 included. In other words, the jobProcessingCPUTime value 2773 SHOULD be relatively repeatable when the same job is 2774 processed again on the same device." 2776 REFERENCE 2777 "See Section 3.2 entitled 'The Attribute Mechanism' for a 2778 description of this textual-convention and its use in the 2779 jmAttributeTable. 2781 This is a type 2 enumeration. See Section 3.6.1.2." 2782 SYNTAX INTEGER { 2783 other(1), 2784 unknown(2), 2785 jobStateReasons2(3), 2786 jobStateReasons3(4), 2787 jobStateReasons4(5), 2788 processingMessage(6), 2789 jobCodedCharSet(7), 2791 jobURI(20), 2792 jobAccountName(21), 2793 serverAssignedJobName(22), 2794 jobName(23), 2795 jobServiceTypes(24), 2796 jobSourceChannelIndex(25), 2797 jobSourcePlatformType(26), 2798 submittingServerName(27), 2799 submittingApplicationName(28), 2800 jobOriginatingHost(29), 2801 deviceNameRequested(30), 2802 queueNameRequested(31), 2803 physicalDevice(32), 2804 numberOfDocuments(33), 2805 fileName(34), 2806 documentName(35), 2807 jobComment(36), 2808 documentFormatIndex(37), 2809 documentFormat(38), 2810 Job Monitoring MIB, V0.86 Sep 19, 1997 2812 jobPriority(50), 2813 jobProcessAfterDateAndTime(51), 2814 jobHold(52), 2815 jobHoldUntil(53), 2816 outputBin(54), 2817 sides(55), 2818 finishing(56), 2820 printQualityRequested(70), 2821 printQualityUsed(71), 2822 printerResolutionRequested(72), 2823 printerResolutionUsed(73), 2824 tonerEcomonyRequested(74), 2825 tonerEcomonyUsed(75), 2826 tonerDensityRequested(76), 2827 tonerDensityUsed(77), 2829 jobCopiesRequested(90), 2830 jobCopiesCompleted(91), 2831 documentCopiesRequested(92), 2832 documentCopiesCompleted(93), 2833 jobKOctetsTransferred(94), 2835 impressionsSpooled(110), 2836 impressionsSentToDevice(111), 2837 impressionsInterpreted(112), 2838 impressionsCompletedCurrentCopy(113), 2839 fullColorImpressionsCompleted(114), 2840 highlightColorImpressionsCompleted(115), 2842 pagesRequested(130), 2843 pagesCompleted(131), 2844 pagesCompletedCurrentCopy(132), 2846 sheetsRequested(150), 2847 sheetsCompleted(151), 2848 sheetsCompletedCurrentCopy(152), 2850 mediumRequested(170), 2851 mediumConsumed(171), 2852 colorantRequested(172), 2853 colorantConsumed(173), 2855 jobSubmissionToServerTime(190), 2856 jobSubmissionTime(191), 2857 jobStartedBeingHeldTime(192), 2858 jobStartedProcessingTime(193), 2859 Job Monitoring MIB, V0.86 Sep 19, 1997 2861 jobCompletionTime(194), 2862 jobProcessingCPUTime(195) 2863 } 2865 JmJobServiceTypesTC ::= TEXTUAL-CONVENTION 2866 STATUS current 2867 DESCRIPTION 2868 "Specifies the type(s) of service to which the job has been 2869 submitted (print, fax, scan, etc.). The service type is 2870 represented as an enum that is bit encoded with each job service 2871 type so that more general and arbitrary services can be created, 2872 such as services with more than one destination type, or ones 2873 with only a source or only a destination. For example, a job 2874 service might scan, faxOut, and print a single job. In this 2875 case, three bits would be set in the jobServiceTypes attribute, 2876 corresponding to the hexadecimal values: 0x8 + 0x20 + 0x4, 2877 respectively, yielding: 0x2C. 2879 Whether this attribute is set from a job attribute supplied by 2880 the job submission client or is set by the recipient job 2881 submission server or device depends on the job submission 2882 protocol. With either implementation, the agent SHALL return a 2883 non-zero value for this attribute indicating the type of the 2884 job. 2886 One of the purposes of this attribute is to permit a requester 2887 to filter out jobs that are not of interest. For example, a 2888 printer operator MAY only be interested in jobs that include 2889 printing. That is why the attribute is in the job 2890 identification category. 2892 The following service component types are defined (in 2893 hexadecimal) and are assigned a separate bit value for use with 2894 the jobServiceTypes attribute: 2896 other 0x1 2897 The job contains some instructions that are not one of the 2898 identified types. 2900 unknown 0x2 2901 The job contains some instructions whose type is unknown to 2902 the agent. 2904 print 0x4 2905 Job Monitoring MIB, V0.86 Sep 19, 1997 2907 The job contains some instructions that specify printing 2909 scan 0x8 2910 The job contains some instructions that specify scanning 2912 faxIn 0x10 2913 The job contains some instructions that specify receive fax 2915 faxOut 0x20 2916 The job contains some instructions that specify sending fax 2918 getFile 0x40 2919 The job contains some instructions that specify accessing 2920 files or documents 2922 putFile 0x80 2923 The job contains some instructions that specify storing 2924 files or documents 2926 mailList 0x100 2927 The job contains some instructions that specify distribution 2928 of documents using an electronic mail system." 2929 REFERENCE 2930 "These bit definitions are the equivalent of a type 2 enum 2931 except that combinations of them MAY be used together. See 2932 section 3.6.1.2." 2933 SYNTAX INTEGER(0..2147483647) -- 31 bits, all but sign bit 2935 JmJobStateReasons1TC ::= TEXTUAL-CONVENTION 2936 STATUS current 2937 DESCRIPTION 2938 "The JmJobStateReasonsNTC (N=1..4) textual-conventions are used 2939 with the jmJobStateReasons1 object and jobStateReasonsN 2940 (N=2..4), respectively, to provide additional information 2941 regarding the current jmJobState object value. These values MAY 2942 be used with any job state or states for which the reason makes 2943 sense. 2945 NOTE - While values cannot be added to the jmJobState object 2946 without impacting deployed clients that take actions upon 2947 receiving jmJobState values, it is the intent that additional 2948 Job Monitoring MIB, V0.86 Sep 19, 1997 2950 JmJobStateReasonsNTC enums can be defined and registered without 2951 impacting such deployed clients. In other words, the 2952 jmJobStateReasons1 object and jobStateReasonsN attributes are 2953 intended to be extensible. 2955 NOTE - The Job Monitoring MIB contains a superset of the IPP 2956 values[ipp-model] for the IPP 'job-state-reasons' attribute, 2957 since the Job Monitoring MIB is intended to cover other job 2958 submission protocols as well. Also some of the names of the 2959 reasons have been changed from 'printer' to 'device', since the 2960 Job Monitoring MIB is intended to cover additional types of 2961 devices, including input devices, such as scanners. 2963 The following standard values are defined (in hexadecimal) as 2964 powers of two, since multiple values MAY be used at the same 2965 time. For ease of understanding, the JmJobStateReasons1TC 2966 reasons are presented in the order in which the reasons are 2967 likely to occur (if implemented), starting with the 2968 'jobIncoming' value and ending with the 'jobCompletedWithErrors' 2969 value. 2971 other 0x1 2972 The job state reason is not one of the standardized or 2973 registered reasons. 2975 unknown 0x2 2976 The job state reason is not known to the agent or is 2977 indeterminent. 2979 jobIncoming 0x4 2980 The job has been accepted by the server or device, but the 2981 server or device is expecting (1) additional operations from 2982 the client to finish creating the job and/or (2) is 2983 accessing/accepting document data. 2985 submissionInterrupted 0x8 2986 The job was not completely submitted for some unforeseen 2987 reason, such as: (1) the server has crashed before the job 2988 was closed by the client, (2) the server or the document 2989 transfer method has crashed in some non-recoverable way 2990 before the document data was entirely transferred to the 2991 server, (3) the client crashed or failed to close the job 2992 before the time-out period. 2994 jobOutgoing 0x10 2995 Configuration 2 only: The server is transmitting the job to 2996 the device. 2998 Job Monitoring MIB, V0.86 Sep 19, 1997 3000 jobHoldSpecified 0x20 3001 The value of the job's jobHold(52) attribute is TRUE. The 3002 job SHALL NOT be a candidate for processing until this 3003 reason is removed and there are no other reasons to hold the 3004 job. 3006 jobHoldUntilSpecified 0x40 3007 The value of the job's jobHoldUntil(53) attribute specifies 3008 a time period that is still in the future. The job SHALL 3009 NOT be a candidate for processing until this reason is 3010 removed and there are no other reasons to hold the job. 3012 jobProcessAfterSpecified 0x80 3013 The value of the job's jobProcessAfterDateAndTime(51) 3014 attribute specifies a time that is still in the future. The 3015 job SHALL NOT be a candidate for processing until this 3016 reason is removed and there are no other reasons to hold the 3017 job. 3019 resourcesAreNotReady 0x100 3020 At least one of the resources needed by the job, such as 3021 media, fonts, resource objects, etc., is not ready on any of 3022 the physical devices for which the job is a candidate. This 3023 condition MAY be detected when the job is accepted, or 3024 subsequently while the job is pending or processing, 3025 depending on implementation. 3027 deviceStoppedPartly 0x200 3028 One or more, but not all, of the devices to which the job is 3029 assigned are stopped. If all of the devices are stopped (or 3030 the only device is stopped), the deviceStopped reason SHALL 3031 be used. 3033 deviceStopped 0x400 3034 The device(s) to which the job is assigned is (are all) 3035 stopped. 3037 jobInterpreting 0x800 3038 The device to which the job is assigned is interpreting the 3039 document data. 3041 jobPrinting 0x1000 3042 The output device to which the job is assigned is marking 3043 media. This attribute is useful for servers and output 3044 devices which spend a great deal of time processing (1) when 3045 no marking is happening and then want to show that marking 3046 is now happening or (2) when the job is in the process of 3047 being canceled or aborted while the job remains in the 3048 Job Monitoring MIB, V0.86 Sep 19, 1997 3050 processing state, but the marking has not yet stopped so 3051 that impression or sheet counts are still increasing for the 3052 job. 3054 jobCanceledByUser 0x2000 3055 The job was canceled by the owner of the job, i.e., by a 3056 user whose name is the same as the value of the job's 3057 jmJobOwner object, or by some other authorized end-user, 3058 such as a member of the job owner's security group. 3060 jobCanceledByOperator 0x4000 3061 The job was canceled by the operator, i.e., by a user who 3062 has been authenticated as having operator privileges 3063 (whether local or remote). 3065 jobCanceledAtDevice 0x8000 3066 The job was canceled by an unidentified local user, i.e., a 3067 user at a console at the device. 3069 abortedBySystem 0x10000 3070 The job (1) is in the process of being aborted, (2) has been 3071 aborted by the system and placed in the 'aborted' state, or 3072 (3) has been aborted by the system and placed in the 3073 'pendingHeld' state, so that a user or operator can manually 3074 try the job again. 3076 processingToStopPoint 0x20000 3077 The requester has issued an operation to cancel or interrupt 3078 the job or the server/device has aborted the job, but the 3079 server/device is still performing some actions on the job 3080 until a specified stop point occurs or job 3081 termination/cleanup is completed. 3083 This reason is recommended to be used in conjunction with 3084 the processing job state to indicate that the server/device 3085 is still performing some actions on the job while the job 3086 remains in the processing state. After all the job's 3087 resources consumed counters have stopped incrementing, the 3088 server/device moves the job from the processing state to the 3089 canceled or aborted job states. 3091 serviceOffLine 0x40000 3092 The service or document transform is off-line and accepting 3093 no jobs. All pending jobs are put into the pendingHeld 3094 state. This situation could be true if the service's or 3095 document transform's input is impaired or broken. 3097 Job Monitoring MIB, V0.86 Sep 19, 1997 3099 jobCompletedSuccessfully 0x80000 3100 The job completed successfully. 3102 jobCompletedWithWarnings 0x100000 3103 The job completed with warnings. 3105 jobCompletedWithErrors 0x200000 3106 The job completed with errors (and possibly warnings too). 3108 The following additional job state reasons have been added to 3109 represent job states that are in ISO DPA[iso-dpa] and other job 3110 submission protocols: 3112 jobPaused 0x400000 3113 The job has been indefinitely suspended by a client issuing 3114 an operation to suspend the job so that other jobs may 3115 proceed using the same devices. The client MAY issue an 3116 operation to resume the paused job at any time, in which 3117 case the agent SHALL remove the jobPaused values from the 3118 job's jmJobStateReasons1 object and the job is eventually 3119 resumed at or near the point where the job was paused. 3121 jobInterrupted 0x800000 3122 The job has been interrupted while processing by a client 3123 issuing an operation that specifies another job to be run 3124 instead of the current job. The server or device will 3125 automatically resume the interrupted job when the 3126 interrupting job completes. 3128 jobRetained 0x1000000 3129 The job is being retained by the server or device with all 3130 of the job's document data (and submitted resources, such as 3131 fonts, logos, and forms, if any). Thus a client could issue 3132 an operation to the server or device to either (1) re-do the 3133 job (or a copy of the job) on the same server or device or 3134 (2) resubmit the job to another server or device. When a 3135 client could no longer re-do/resubmit the job, such as after 3136 the document data has been discarded, the agent SHALL remove 3137 the jobRetained value from the jmJobStateReasons1 object." 3138 REFERENCE 3139 "These bit definitions are the equivalent of a type 2 enum 3140 except that combinations of bits may be used together. See 3141 section 3.6.1.2. The remaining bits are reserved for future 3142 standardization and/or registration." 3144 SYNTAX INTEGER(0..2147483647) -- 31 bits, all but sign bit 3145 Job Monitoring MIB, V0.86 Sep 19, 1997 3147 JmJobStateReasons2TC ::= TEXTUAL-CONVENTION 3148 STATUS current 3149 DESCRIPTION 3150 "This textual-convention is used with the jobStateReasons2 3151 attribute to provides additional information regarding the 3152 jmJobState object. See the description under 3153 JmJobStateReasons1TC for additional information that applies to 3154 all reasons. 3156 The following standard values are defined (in hexadecimal) as 3157 powers of two, since multiple values may be used at the same 3158 time: 3160 cascaded 0x1 3161 An outbound gateway has transmitted all of the job's job and 3162 document attributes and data to another spooling system. 3164 deletedByAdministrator 0x2 3165 The administrator has deleted the job. 3167 discardTimeArrived 0x4 3168 The job has been deleted due to the fact that the time 3169 specified by the job's job-discard-time attribute has 3170 arrived. 3172 postProcessingFailed 0x8 3173 The post-processing agent failed while trying to log 3174 accounting attributes for the job; therefore the job has 3175 been placed into the completed state with the jobRetained 3176 jmJobStateReasons1 object value for a system-defined period 3177 of time, so the administrator can examine it, resubmit it, 3178 etc. 3180 jobTransforming 0x10 3181 The server/device is interpreting document data and 3182 producing another electronic representation. 3184 maxJobFaultCountExceeded 0x20 3185 The job has faulted several times and has exceeded the 3186 administratively defined fault count limit. 3188 devicesNeedAttentionTimeOut 0x40 3189 One or more document transforms that the job is using needs 3190 human intervention in order for the job to make progress, 3191 Job Monitoring MIB, V0.86 Sep 19, 1997 3193 but the human intervention did not occur within the site- 3194 settable time-out value. 3196 needsKeyOperatorTimeOut 0x80 3197 One or more devices or document transforms that the job is 3198 using need a specially trained operator (who may need a key 3199 to unlock the device and gain access) in order for the job 3200 to make progress, but the key operator intervention did not 3201 occur within the site-settable time-out value. 3203 jobStartWaitTimeOut 0x100 3204 The server/device has stopped the job at the beginning of 3205 processing to await human action, such as installing a 3206 special cartridge or special non-standard media, but the job 3207 was not resumed within the site-settable time-out value and 3208 the server/device has transitioned the job to the 3209 pendingHeld state. 3211 jobEndWaitTimeOut 0x200 3212 The server/device has stopped the job at the end of 3213 processing to await human action, such as removing a special 3214 cartridge or restoring standard media, but the job was not 3215 resumed within the site-settable time-out value and the 3216 server/device has transitioned the job to the completed 3217 state. 3219 jobPasswordWaitTimeOut 0x400 3220 The server/device has stopped the job at the beginning of 3221 processing to await input of the job's password, but the 3222 password was not received within the site-settable time-out 3223 value. 3225 deviceTimedOut 0x800 3226 A device that the job was using has not responded in a 3227 period specified by the device's site-settable attribute. 3229 connectingToDeviceTimeOut 0x1000 3230 The server is attempting to connect to one or more devices 3231 which may be dial-up, polled, or queued, and so may be busy 3232 with traffic from other systems, but server was unable to 3233 connect to the device within the site-settable time-out 3234 value. 3236 transferring 0x2000 3237 The job is being transferred to a down stream server or 3238 downstream device. 3240 Job Monitoring MIB, V0.86 Sep 19, 1997 3242 queuedInDevice 0x4000 3243 The server/device has queued the job in a down stream server 3244 or downstream device. 3246 jobQueued 0x8000 3247 The server/device has queued the document data. 3249 jobCleanup 0x10000 3250 The server/device is performing cleanup activity as part of 3251 ending normal processing. 3253 jobPasswordWait 0x20000 3254 The server/device has selected the job to be next to 3255 process, but instead of assigning resources and starting the 3256 job processing, the server/device has transitioned the job 3257 to the pendingHeld state to await entry of a password (and 3258 dispatched another job, if there is one). 3260 validating 0x40000 3261 The server/device is validating the job after accepting the 3262 job. 3264 queueHeld 0x80000 3265 The operator has held the entire job set or queue. 3267 jobProofWait 0x100000 3268 The job has produced a single proof copy and is in the 3269 pendingHeld state waiting for the requester to issue an 3270 operation to release the job to print normally, obeying any 3271 job and document copy attributes that were originally 3272 submitted. 3274 heldForDiagnostics 0x200000 3275 The system is running intrusive diagnostics, so that all 3276 jobs are being held. 3278 noSpaceOnServer 0x800000 3279 There is no room on the server to store all of the job. 3281 pinRequired 0x1000000 3282 The System Administrator settable device policy is (1) to 3283 require PINs, and (2) to hold jobs that do not have a pin 3284 supplied as an input parameter when the job was created. 3286 exceededAccountLimit 0x2000000 3287 The account for which this job is drawn has exceeded its 3288 limit. This condition SHOULD be detected before the job is 3289 scheduled so that the user does not wait until his/her job 3290 Job Monitoring MIB, V0.86 Sep 19, 1997 3292 is scheduled only to find that the account is overdrawn. 3293 This condition MAY also occur while the job is processing 3294 either as processing begins or part way through processing. 3296 heldForRetry 0x4000000 3297 The job encountered some errors that the server/device could 3298 not recover from with its normal retry procedures, but the 3299 error might not be encountered if the job is processed again 3300 in the future. Example cases are phone number busy or 3301 remote file system in-accessible. For such a situation, the 3302 server/device SHALL transition the job from the processing 3303 to the pendingHeld, rather than to the aborted state. 3305 The following values are from the X/Open PSIS draft standard: 3307 canceledByShutdown 0x8000000 3308 The job was canceled because the server or device was 3309 shutdown before completing the job. 3311 deviceUnavailable 0x10000000 3312 This job was aborted by the system because the device is 3313 currently unable to accept jobs. 3315 wrongDevice 0x20000000 3316 This job was aborted by the system because the device is 3317 unable to handle this particular job; the spooler SHOULD try 3318 another device or the user should submit the job to another 3319 device. 3321 badJob 0x40000000 3322 This job was aborted by the system because this job has a 3323 major problem, such as an ill-formed PDL; the spooler SHOULD 3324 not even try another device. " 3325 REFERENCE 3326 "These bit definitions are the equivalent of a type 2 enum 3327 except that combinations of them may be used together. See 3328 section 3.6.1.2. See the description under JmJobStateReasons1TC 3329 and the jobStateReasons2 attribute." 3331 SYNTAX INTEGER(0..2147483647) -- 31 bits, all but sign bit 3333 JmJobStateReasons3TC ::= TEXTUAL-CONVENTION 3334 STATUS current 3335 Job Monitoring MIB, V0.86 Sep 19, 1997 3337 DESCRIPTION 3338 "This textual-convention is used with the jobStateReasons3 3339 attribute to provides additional information regarding the 3340 jmJobState object. See the description under 3341 JmJobStateReasons1TC for additional information that applies to 3342 all reasons. 3344 The following standard values are defined (in hexadecimal) as 3345 powers of two, since multiple values may be used at the same 3346 time: 3348 jobInterruptedByDeviceFailure 0x1 3349 A device or the print system software that the job was using 3350 has failed while the job was processing. The server or 3351 device is keeping the job in the pendingHeld state until an 3352 operator can determine what to do with the job." 3353 REFERENCE 3354 "These bit definitions are the equivalent of a type 2 enum 3355 except that combinations of them may be used together. See 3356 section 3.6.1.2. The remaining bits are reserved for future 3357 standardization and/or registration. See the description under 3358 JmJobStateReasons1TC and the jobStateReasons3 attribute." 3359 SYNTAX INTEGER(0..2147483647) -- 31 bits, all but sign bit 3361 JmJobStateReasons4TC ::= TEXTUAL-CONVENTION 3362 STATUS current 3363 DESCRIPTION 3364 "This textual-convention is used in the jobStateReasons4 3365 attribute to provides additional information regarding the 3366 jmJobState object. See the description under 3367 JmJobStateReasons1TC for additional information that applies to 3368 all reasons. 3370 The following standard values are defined (in hexadecimal) as 3371 powers of two, since multiple values may be used at the same 3372 time: 3374 none yet defined. These bits are reserved for future 3375 standardization and/or registration." 3376 REFERENCE 3377 "These bit definitions are the equivalent of a type 2 enum 3378 except that combinations of them may be used together. See 3379 section 3.6.1.2. See the description under JmJobStateReasons1TC 3380 and the jobStateReasons4 attribute." 3381 Job Monitoring MIB, V0.86 Sep 19, 1997 3383 SYNTAX INTEGER(0..2147483647) -- 31 bits, all but sign bit 3384 Job Monitoring MIB, V0.86 Sep 19, 1997 3386 jobmonMIBObjects OBJECT IDENTIFIER ::= { jobmonMIB 1 } 3388 -- The General Group (MANDATORY) 3390 -- The jmGeneralGroup consists entirely of the jmGeneralTable. 3392 jmGeneral OBJECT IDENTIFIER ::= { jobmonMIBObjects 1 } 3394 jmGeneralTable OBJECT-TYPE 3395 SYNTAX SEQUENCE OF JmGeneralEntry 3396 MAX-ACCESS not-accessible 3397 STATUS current 3398 DESCRIPTION 3399 "The jmGeneralTable consists of information of a general nature 3400 that are per-job-set, but are not per-job. See Section 2 3401 entitled 'Terminology and Job Model' for the definition of a job 3402 set." 3403 REFERENCE 3404 "The MANDATORY-GROUP macro specifies that this group is 3405 MANDATORY." 3406 ::= { jmGeneral 1 } 3408 jmGeneralEntry OBJECT-TYPE 3409 SYNTAX JmGeneralEntry 3410 MAX-ACCESS not-accessible 3411 STATUS current 3412 DESCRIPTION 3413 "Information about a job set (queue). 3415 An entry SHALL exist in this table for each job set." 3416 INDEX { jmGeneralJobSetIndex } 3417 ::= { jmGeneralTable 1 } 3419 JmGeneralEntry ::= SEQUENCE { 3420 jmGeneralJobSetIndex Integer32(1..32767), 3421 jmGeneralNumberOfActiveJobs Integer32(0..2147483647), 3422 jmGeneralOldestActiveJobIndex Integer32(0..2147483647), 3423 jmGeneralNewestActiveJobIndex Integer32(0..2147483647), 3424 jmGeneralJobPersistence Integer32(15..2147483647), 3425 jmGeneralAttributePersistence Integer32(15..2147483647), 3426 jmGeneralJobSetName JmUTF8StringTC(SIZE(0..63)) 3427 } 3429 jmGeneralJobSetIndex OBJECT-TYPE 3430 SYNTAX Integer32(1..32767) 3431 MAX-ACCESS not-accessible 3432 STATUS current 3433 Job Monitoring MIB, V0.86 Sep 19, 1997 3435 DESCRIPTION 3436 "A unique value for each job set in this MIB. The jmJobTable 3437 and jmAttributeTable tables have this same index as their 3438 primary index. 3440 The value(s) of the jmGeneralJobSetIndex SHALL be persistent 3441 across power cycles, so that clients that have retained 3442 jmGeneralJobSetIndex values will access the same job sets upon 3443 subsequent power-up. 3445 An implementation that has only one job set, such as a printer 3446 with a single queue, SHALL hard code this object with the value 3447 1." 3448 REFERENCE 3449 "See Section 2 entitled 'Terminology and Job Model' for the 3450 definition of a job set. 3451 Corresponds to the first index in jmJobTable and 3452 jmAttributeTable." 3453 ::= { jmGeneralEntry 1 } 3455 jmGeneralNumberOfActiveJobs OBJECT-TYPE 3456 SYNTAX Integer32(0..2147483647) 3457 MAX-ACCESS read-only 3458 STATUS current 3459 DESCRIPTION 3460 "The current number of 'active' jobs in the jmJobIDTable, 3461 jmJobTable, and jmAttributeTable, i.e., the total number of jobs 3462 that are in the pending, processing, or processingStopped 3463 states. See the JmJobStateTC textual-convention for the exact 3464 specification of the semantics of the job states." 3465 ::= { jmGeneralEntry 2 } 3467 jmGeneralOldestActiveJobIndex OBJECT-TYPE 3468 SYNTAX Integer32 (0..2147483647) 3469 MAX-ACCESS read-only 3470 STATUS current 3471 DESCRIPTION 3472 "The jmJobIndex of the oldest job that is still in one of the 3473 'active' states (pending, processing, or processingStopped). In 3474 other words, the index of the 'active' job that has been in the 3475 job tables the longest. 3477 If there are no active jobs, the agent SHALL set the value of 3478 this object to 0." 3479 REFERENCE 3480 "See Section 3.2 entitled 'The Job Tables and the Oldest Active 3481 and Newest Active Indexes' for a description of the usage of 3482 this object." 3483 Job Monitoring MIB, V0.86 Sep 19, 1997 3485 ::= { jmGeneralEntry 3 } 3487 jmGeneralNewestActiveJobIndex OBJECT-TYPE 3488 SYNTAX Integer32 (0..2147483647) 3489 MAX-ACCESS read-only 3490 STATUS current 3491 DESCRIPTION 3492 "The jmJobIndex of the newest job that is in one of the 'active' 3493 states (pending, processing, or processingStopped). In other 3494 words, the index of the 'active' job that has been most recently 3495 added to the job tables. 3497 When all jobs become 'inactive', i.e., enter the pendingHeld, 3498 completed, canceled, or aborted states, the agent SHALL set the 3499 value of this object to 0." 3500 REFERENCE 3501 "See Section 3.2 entitled 'The Job Tables and the Oldest Active 3502 and Newest Active Indexes' for a description of the usage of 3503 this object." 3504 ::= { jmGeneralEntry 4 } 3506 jmGeneralJobPersistence OBJECT-TYPE 3507 SYNTAX Integer32(15..2147483647) 3508 UNITS "seconds" 3509 MAX-ACCESS read-only 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 jmJobIDTable and jmJobTable 3514 after processing has completed, i.e., the minimum time in 3515 seconds starting when the job enters the completed, canceled, or 3516 aborted state. 3518 Configuring this object is implementation-dependent. 3520 This value SHALL be equal to or greater than the value of 3521 jmGeneralAttributePersistence. This value SHOULD be at least 60 3522 which gives a monitoring application one minute in which to poll 3523 for job data." 3524 DEFVAL { 60 } -- one minute 3525 ::= { jmGeneralEntry 5 } 3527 jmGeneralAttributePersistence OBJECT-TYPE 3528 SYNTAX Integer32(15..2147483647) 3529 UNITS "seconds" 3530 MAX-ACCESS read-only 3531 STATUS current 3532 DESCRIPTION 3533 Job Monitoring MIB, V0.86 Sep 19, 1997 3535 "The minimum time in seconds for this instance of the Job Set 3536 that an entry SHALL remain in the jmAttributeTable after 3537 processing has completed , i.e., the time in seconds starting 3538 when the job enters the completed, canceled, or aborted state. 3540 Configuring this object is implementation-dependent. 3542 This value SHOULD be at least 60 which gives a monitoring 3543 application one minute in which to poll for job data." 3544 DEFVAL { 60 } -- one minute 3545 ::= { jmGeneralEntry 6 } 3547 jmGeneralJobSetName OBJECT-TYPE 3548 SYNTAX JmUTF8StringTC(SIZE(0..63)) 3549 MAX-ACCESS read-only 3550 STATUS current 3551 DESCRIPTION 3552 "The human readable name of this job set assigned by the system 3553 administrator (by means outside of this MIB). Typically, this 3554 name SHOULD be the name of the job queue. If a server or device 3555 has only a single job set, this object can be the 3556 administratively assigned name of the server or device itself. 3557 This name does not need to be unique, though each job set in a 3558 single Job Monitoring MIB SHOULD have distinct names. 3560 NOTE - The purpose of this object is to help the user of the job 3561 monitoring application distinguish between several job sets in 3562 implementations that support more than one job set." 3563 REFERENCE 3564 "See the OBJECT compliance macro for the minimum maximum length 3565 required for conformance." 3566 ::= { jmGeneralEntry 7 } 3568 -- The Job ID Group (MANDATORY) 3570 -- The jmJobIDGroup consists entirely of the jmJobIDTable. 3572 jmJobID OBJECT IDENTIFIER ::= { jobmonMIBObjects 2 } 3574 jmJobIDTable OBJECT-TYPE 3575 SYNTAX SEQUENCE OF JmJobIDEntry 3576 MAX-ACCESS not-accessible 3577 STATUS current 3578 DESCRIPTION 3579 Job Monitoring MIB, V0.86 Sep 19, 1997 3581 "The jmJobIDTable provides a correspondence map (1) between the 3582 job submission ID that a client uses to refer to a job and (2) 3583 the jmGeneralJobSetIndex and jmJobIndex that the Job Monitoring 3584 MIB agent assigned to the job and that are used to access the 3585 job in all of the other tables in the MIB. If a monitoring 3586 application already knows the jmGeneralJobSetIndex and the 3587 jmJobIndex of the job it is querying, that application NEED NOT 3588 use the jmJobIDTable." 3589 REFERENCE 3590 "The MANDATORY-GROUP macro specifies that this group is 3591 MANDATORY." 3592 ::= { jmJobID 1 } 3594 jmJobIDEntry OBJECT-TYPE 3595 SYNTAX JmJobIDEntry 3596 MAX-ACCESS not-accessible 3597 STATUS current 3598 DESCRIPTION 3599 "The map from (1) the jmJobSubmissionID to (2) the 3600 jmGeneralJobSetIndex and jmJobIndex. 3602 An entry SHALL exist in this table for each job currently known 3603 to the agent for all job sets and job states. Each job SHALL 3604 appear in one and only one job set." 3605 INDEX { jmJobSubmissionID } 3606 ::= { jmJobIDTable 1 } 3608 JmJobIDEntry ::= SEQUENCE { 3609 jmJobSubmissionID OCTET STRING(SIZE(48)), 3610 jmJobIDJobSetIndex Integer32(1..32767), 3611 jmJobIDJobIndex Integer32(1..2147483647) 3612 } 3614 jmJobSubmissionID OBJECT-TYPE 3615 SYNTAX OCTET STRING(SIZE(48)) 3616 MAX-ACCESS not-accessible 3617 STATUS current 3618 DESCRIPTION 3619 "A quasi-unique 48-octet fixed-length string ID which identifies 3620 the job within a particular client-server environment. There 3621 are multiple formats for the jmJobSubmissionID. Each format 3622 SHALL be uniquely identified. See the JmJobSubmissionIDTypeTC 3623 textual convention. Each format SHALL be registered using the 3624 procedures of a type 2 enum. See section 3.6.3 entitled: 'IANA 3625 Registration of Job Submission Id Formats'. 3627 If the requester (client or server) does not supply a job 3628 submission ID in the job submission protocol, then the recipient 3629 Job Monitoring MIB, V0.86 Sep 19, 1997 3631 (server or device) SHALL assign a job submission ID using any of 3632 the standard formats that have been reserved for agents and 3633 adding the final 8 octets to distinguish the ID from others 3634 submitted from the same requester. 3636 The monitoring application, whether in the client or running 3637 separately, MAY use the job submission ID to help identify which 3638 jmJobIndex was assigned by the agent, i.e., in which row the job 3639 information is in the other tables. 3641 NOTE - fixed-length is used so that a management application can 3642 use a shortened GetNext varbind (in SNMPv1 and SNMPv2) in order 3643 to get the next submission ID, disregarding the remainder of the 3644 ID in order to access jobs independent of the trailing 3645 identifier part, e.g., to get all jobs submitted by a particular 3646 jmJobOwner or submitted from a particular MAC address." 3647 REFERENCE 3648 "See the JmJobSubmissionIDTypeTC textual convention. 3649 See APPENDIX B - Support of the Job Submission ID in Job 3650 Submission Protocols." 3651 ::= { jmJobIDEntry 1 } 3653 jmJobIDJobSetIndex OBJECT-TYPE 3654 SYNTAX Integer32(1..32767) 3655 MAX-ACCESS read-only 3656 STATUS current 3657 DESCRIPTION 3658 "This object contains the value of the jmGeneralJobSetIndex for 3659 the job with the jmJobSubmissionID value, i.e., the job set 3660 index of the job set in which the job was placed when that 3661 server or device accepted the job. This 16-bit value in 3662 combination with the jmJobIDJobIndex value permits the 3663 management application to access the other tables to obtain the 3664 job-specific objects for this job." 3665 REFERENCE 3666 "See jmGeneralJobSetIndex in the jmGeneralTable." 3667 ::= { jmJobIDEntry 2 } 3669 jmJobIDJobIndex OBJECT-TYPE 3670 SYNTAX Integer32(1..2147483647) 3671 MAX-ACCESS read-only 3672 STATUS current 3673 DESCRIPTION 3674 "This object contains the value of the jmJobIndex for the job 3675 with the jmJobSubmissionID value, i.e., the job index for the 3676 job when the server or device accepted the job. This value, in 3677 combination with the jmJobIDJobSetIndex value, permits the 3678 Job Monitoring MIB, V0.86 Sep 19, 1997 3680 management application to access the other tables to obtain the 3681 job-specific objects for this job." 3682 REFERENCE 3683 "See jmJobIndex in the jmJobTable." 3684 ::= { jmJobIDEntry 3 } 3686 -- The Job Group (MANDATORY) 3688 -- The jmJobGroup consists entirely of the jmJobTable. 3690 jmJob OBJECT IDENTIFIER ::= { jobmonMIBObjects 3 } 3692 jmJobTable OBJECT-TYPE 3693 SYNTAX SEQUENCE OF JmJobEntry 3694 MAX-ACCESS not-accessible 3695 STATUS current 3696 DESCRIPTION 3697 "The jmJobTable consists of basic job state and status 3698 information for each job in a job set that (1) monitoring 3699 applications need to be able to access in a single SNMP Get 3700 operation, (2) that have a single value per job, and (3) that 3701 SHALL always be implemented." 3702 REFERENCE 3703 "The MANDATORY-GROUP macro specifies that this group is 3704 MANDATORY." 3705 ::= { jmJob 1 } 3707 jmJobEntry OBJECT-TYPE 3708 SYNTAX JmJobEntry 3709 MAX-ACCESS not-accessible 3710 STATUS current 3711 DESCRIPTION 3712 "Basic per-job state and status information. 3714 An entry SHALL exist in this table for each job, no matter what 3715 the state of the job is. Each job SHALL appear in one and only 3716 one job set." 3717 REFERENCE 3718 "See Section 3.2 entitled 'The Job Tables'." 3719 INDEX { jmGeneralJobSetIndex, jmJobIndex } 3720 ::= { jmJobTable 1 } 3722 JmJobEntry ::= SEQUENCE { 3723 jmJobIndex Integer32(1..2147483647), 3724 jmJobState JmJobStateTC, 3725 Job Monitoring MIB, V0.86 Sep 19, 1997 3727 jmJobStateReasons1 JmJobStateReasons1TC, 3728 jmNumberOfInterveningJobs Integer32(-2..2147483647), 3729 jmJobKOctetsRequested Integer32(-2..2147483647), 3730 jmJobKOctetsProcessed Integer32(-2..2147483647), 3731 jmJobImpressionsRequested Integer32(-2..2147483647), 3732 jmJobImpressionsCompleted Integer32(-2..2147483647), 3733 jmJobOwner JmJobStringTC(SIZE(0..63)) 3734 } 3736 jmJobIndex OBJECT-TYPE 3737 SYNTAX Integer32(1..2147483647) 3738 MAX-ACCESS not-accessible 3739 STATUS current 3740 DESCRIPTION 3741 "The sequential, monatonically increasing identifier index for 3742 the job generated by the server or device when that server or 3743 device accepted the job. This index value permits the 3744 management application to access the other tables to obtain the 3745 job-specific row entries." 3746 REFERENCE 3747 "See Section 3.2 entitled 'The Job Tables and the Oldest Active 3748 and Newest Active Indexes'. 3749 See Section 3.4 entitled 'Job Identification'. 3750 See also jmGeneralNewestActiveJobIndex for the largest value of 3751 jmJobIndex. 3752 See JmJobSubmissionTypeTC for a limit on the size of this index 3753 if the agent represents it as an 8-digit decimal number." 3754 ::= { jmJobEntry 1 } 3756 jmJobState OBJECT-TYPE 3757 SYNTAX JmJobStateTC 3758 MAX-ACCESS read-only 3759 STATUS current 3760 DESCRIPTION 3761 "The current state of the job (pending, processing, completed, 3762 etc.). Agents SHALL implement only those states which are 3763 appropriate for the particular implementation. However, 3764 management applications SHALL be prepared to receive all the 3765 standard job states. 3767 The final value for this object SHALL be one of: completed, 3768 canceled, or aborted. The minimum length of time that the agent 3769 SHALL maintain MIB data for a job in the completed, canceled, or 3770 aborted state before removing the job data from the jmJobIDTable 3771 and jmJobTable is specified by the value of the 3772 jmGeneralJobPersistence object." 3773 ::= { jmJobEntry 2 } 3774 Job Monitoring MIB, V0.86 Sep 19, 1997 3776 jmJobStateReasons1 OBJECT-TYPE 3777 SYNTAX JmJobStateReasons1TC 3778 MAX-ACCESS read-only 3779 STATUS current 3780 DESCRIPTION 3781 "Additional information about the job's current state, i.e., 3782 information that augments the value of the job's jmJobState 3783 object. 3785 Implementation of any reason values is OPTIONAL, but an agent 3786 SHOULD return any reason information available These values MAY 3787 be used with any job state or states for which the reason makes 3788 sense. Since the Job State Reasons will be more dynamic than 3789 the Job State, it is recommended that a job monitoring 3790 application read this object every time jmJobState is read. 3791 When the agent cannot provide a reason for the current state of 3792 the job, the the value of the jmJobStateReasons1 object and 3793 jobStateReasonsN attributes SHALL be 0." 3794 REFERENCE 3795 "The jobStateReasonsN (N=2..4) attributes provide further 3796 additional information about the job's current state." 3797 ::= { jmJobEntry 3 } 3799 jmNumberOfInterveningJobs OBJECT-TYPE 3800 SYNTAX Integer32(-2..2147483647) 3801 MAX-ACCESS read-only 3802 STATUS current 3803 DESCRIPTION 3804 "The number of jobs that are expected to complete processing 3805 before this job has completed processing according to the 3806 implementation's queuing algorithm, if no other jobs were to be 3807 submitted. In other words, this value is the job's queue 3808 position. The agent SHALL return a value of 0 for this 3809 attribute when the job is the next job to complete processing 3810 (or has completed processing)." 3811 ::= { jmJobEntry 4 } 3813 jmJobKOctetsRequested OBJECT-TYPE 3814 SYNTAX Integer32(-2..2147483647) 3815 MAX-ACCESS read-only 3816 STATUS current 3817 DESCRIPTION 3818 "The total size in K (1024) octets of the document(s) being 3819 requested to be processed in the job. The agent SHALL round the 3820 actual number of octets up to the next highest K. Thus 0 octets 3821 SHALL be represented as '0', 1-1024 octets SHALL be represented 3822 as '1', 1025-2048 SHALL be represented as '2', etc. 3824 Job Monitoring MIB, V0.86 Sep 19, 1997 3826 In computing this value, the server/device SHALL not include the 3827 multiplicative factors contributed by (1) the number of document 3828 copies, and (2) the number of job copies, independent of whether 3829 the device can process multiple copies of the job or document 3830 without making multiple passes over the job or document data and 3831 independent of whether the output is collated or not. Thus the 3832 server/device computation is independent of the implementation." 3833 ::= { jmJobEntry 5 } 3835 jmJobKOctetsProcessed OBJECT-TYPE 3836 SYNTAX Integer32(-2..2147483647) 3837 MAX-ACCESS read-only 3838 STATUS current 3839 DESCRIPTION 3840 "The current number of octets processed by the server or device 3841 measured in units of K (1024) octets. The agent SHALL round the 3842 actual number of octets processed up to the next higher K. Thus 3843 0 octets SHALL be represented as '0', 1-1024 octets SHALL be 3844 represented as '1', 1025-2048 octets SHALL be '2', etc. For 3845 printing devices, this value is the number interpreted by the 3846 page description language interpreter rather than what has been 3847 marked on media. 3849 For implementations where multiple copies are produced by the 3850 interpreter with only a single pass over the data, the final 3851 value SHALL be equal to the value of the jmJobKOctetsRequested 3852 object. For implementations where multiple copies are produced 3853 by the interpreter by processing the data for each copy, the 3854 final value SHALL be a multiple of the value of the 3855 jmJobKOctetsRequested object. 3857 NOTE - See the impressionsCompletedCurrentCopy and 3858 pagesCompletedCurrentCopy attributes for attributes that are 3859 reset on each document copy. 3861 NOTE - The jmJobKOctetsProcessed object can be used with the 3862 jmJobKOctetsRequested object to provide an indication of the 3863 relative progress of the job, provided that the multiplicative 3864 factor is taken into account for some implementations of 3865 multiple copies." 3866 ::= { jmJobEntry 6 } 3868 jmJobImpressionsRequested OBJECT-TYPE 3869 SYNTAX Integer32(-2..2147483647) 3870 MAX-ACCESS read-only 3871 STATUS current 3872 DESCRIPTION 3873 Job Monitoring MIB, V0.86 Sep 19, 1997 3875 "The total size in number of impressions of the document(s) 3876 being requested by this job to produce. 3878 In computing this value, the server/device SHALL not include the 3879 multiplicative factors contributed by (1) the number of document 3880 copies, and (2) the number of job copies, independent of whether 3881 the device can process multiple copies of the job or document 3882 without making multiple passes over the job or document data and 3883 independent of whether the output is collated or not. Thus the 3884 server/device computation is independent of the implementation." 3885 ::= { jmJobEntry 7 } 3887 jmJobImpressionsCompleted OBJECT-TYPE 3888 SYNTAX Integer32(-2..2147483647) 3889 MAX-ACCESS read-only 3890 STATUS current 3891 DESCRIPTION 3892 "The current number of impressions completed for this job so 3893 far. For printing devices, the impressions completed includes 3894 interpreting, marking, and stacking the output. For other types 3895 of job services, the number of impressions completed includes 3896 the number of impressions processed. 3898 For implementations where multiple copies are produced by the 3899 interpreter with only a single pass over the data, the final 3900 value SHALL be equal to the value of the 3901 jmJobImpressionsRequested object. For implementations where 3902 multiple copies are produced by the interpreter by processing 3903 the data for each copy, the final value SHALL be a multiple of 3904 the value of the jmJobImpressionsRequested object. 3906 NOTE - See the impressionsCompletedCurrentCopy and 3907 pagesCompletedCurrentCopy attributes for attributes that are 3908 reset on each document copy. 3910 NOTE - The jmJobImpressionsCompleted object can be used with the 3911 jmJobImpressionsRequested object to provide an indication of the 3912 relative progress of the job, provided that the multiplicative 3913 factor is taken into account for some implementations of 3914 multiple copies." 3915 ::= { jmJobEntry 8 } 3917 jmJobOwner OBJECT-TYPE 3918 SYNTAX JmJobStringTC(SIZE(0..63)) 3919 MAX-ACCESS read-only 3920 STATUS current 3921 DESCRIPTION 3922 Job Monitoring MIB, V0.86 Sep 19, 1997 3924 "The coded character set name of the user that submitted the 3925 job. The method of assigning this user name will be system 3926 and/or site specific but the method MUST insure that the name is 3927 unique to the network that is visible to the client and target 3928 device. 3930 This value SHOULD be the authenticated name of the user 3931 submitting the job." 3932 REFERENCE 3933 "See the OBJECT compliance macro for the minimum maximum length 3934 required for conformance." 3935 ::= { jmJobEntry 9 } 3937 -- The Attribute Group (MANDATORY) 3939 -- The jmAttributeGroup consists entirely of the jmAttributeTable. 3940 -- 3941 -- Implementation of the two objects in this group is MANDATORY. 3942 -- See Section 3.1 entitled 'Conformance Considerations'. 3943 -- An agent SHALL implement any attribute if (1) the server or device 3944 -- supports the functionality represented by the attribute and (2) the 3945 -- information is available to the agent. 3947 jmAttribute OBJECT IDENTIFIER ::= { jobmonMIBObjects 4 } 3949 jmAttributeTable OBJECT-TYPE 3950 SYNTAX SEQUENCE OF JmAttributeEntry 3951 MAX-ACCESS not-accessible 3952 STATUS current 3953 DESCRIPTION 3954 "The jmAttributeTable SHALL contain attributes of the job and 3955 document(s) for each job in a job set. Instead of allocating 3956 distinct objects for each attribute, each attribute is 3957 represented as a separate row in the jmAttributeTable." 3958 REFERENCE 3959 "The MANDATORY-GROUP macro specifies that this group is 3960 MANDATORY. An agent SHALL implement any attribute if (1) the 3961 server or device supports the functionality represented by the 3962 attribute and (2) the information is available to the agent. " 3963 ::= { jmAttribute 1 } 3965 jmAttributeEntry OBJECT-TYPE 3966 SYNTAX JmAttributeEntry 3967 MAX-ACCESS not-accessible 3968 STATUS current 3969 Job Monitoring MIB, V0.86 Sep 19, 1997 3971 DESCRIPTION 3972 "Attributes representing information about the job and 3973 document(s) or resources required and/or consumed. 3975 Each entry in the jmAttributeTable is a per-job entry with an 3976 extra index for each type of attribute (jmAttributeTypeIndex) 3977 that a job can have and an additional index 3978 (jmAttributeInstanceIndex) for those attributes that can have 3979 multiple instances per job. The jmAttributeTypeIndex object 3980 SHALL contain an enum type that indicates the type of attribute 3981 (see the JmAttributeTypeTC textual-convention). The value of 3982 the attribute SHALL be represented in either the 3983 jmAttributeValueAsInteger or jmAttributeValueAsOctets objects, 3984 and/or both, as specified in the JmAttributeTypeTC textual- 3985 convention. 3987 The agent SHALL create rows in the jmAttributeTable as the 3988 server or device is able to discover the attributes either from 3989 the job submission protocol itself or from the document PDL. As 3990 the documents are interpreted, the interpreter MAY discover 3991 additional attributes and so the agent adds additional rows to 3992 this table. As the attributes that represent resources are 3993 actually consumed, the usage counter contained in the 3994 jmAttributeValueAsInteger object is incremented according to the 3995 units indicated in the description of the JmAttributeTypeTC 3996 enum. 3998 The agent SHALL maintain each row in the jmJobTable for at least 3999 the minimum time after a job completes as specified by the 4000 jmGeneralAttributePersistence object. 4002 Zero or more entries SHALL exist in this table for each job in a 4003 job set." 4004 REFERENCE 4005 "See Section 3.3 entitled 'The Attribute Mechanism' for a 4006 description of the jmAttributeTable." 4007 INDEX { jmGeneralJobSetIndex, jmJobIndex, jmAttributeTypeIndex, 4008 jmAttributeInstanceIndex } 4009 ::= { jmAttributeTable 1 } 4011 JmAttributeEntry ::= SEQUENCE { 4012 jmAttributeTypeIndex JmAttributeTypeTC, 4013 jmAttributeInstanceIndex Integer32(1..32767), 4014 jmAttributeValueAsInteger Integer32(-2..2147483647), 4015 jmAttributeValueAsOctets OCTET STRING(SIZE(0..63)) 4016 } 4018 jmAttributeTypeIndex OBJECT-TYPE 4019 Job Monitoring MIB, V0.86 Sep 19, 1997 4021 SYNTAX JmAttributeTypeTC 4022 MAX-ACCESS not-accessible 4023 STATUS current 4024 DESCRIPTION 4025 "The type of attribute that this row entry represents. 4027 The type MAY identify information about the job or document(s) 4028 or MAY identify a resource required to process the job before 4029 the job start processing and/or consumed by the job as the job 4030 is processed. 4032 Examples of job attributes (i.e., apply to the job as a whole) 4033 that have only one instance per job include: 4034 jobCopiesRequested(90), documentCopiesRequested(92), 4035 jobCopiesCompleted(91), documentCopiesCompleted(93), while 4036 examples of job attributes that may have more than one instance 4037 per job include: documentFormatIndex(37), and 4038 documentFormat(38). 4040 Examples of document attributes (one instance per document) 4041 include: fileName(34), and documentName(35). 4043 Examples of required and consumed resource attributes include: 4044 pagesRequested(130), mediumRequested(170), pagesCompleted(131), 4045 and mediumConsumed(171), respectively." 4046 ::= { jmAttributeEntry 1 } 4048 jmAttributeInstanceIndex OBJECT-TYPE 4049 SYNTAX Integer32(1..32767) 4050 MAX-ACCESS not-accessible 4051 STATUS current 4052 DESCRIPTION 4053 "A running 16-bit index of the attributes of the same type for 4054 each job. For those attributes with only a single instance per 4055 job, this index value SHALL be 1. For those attributes that are 4056 a single value per document, the index value SHALL be the 4057 document number, starting with 1 for the first document in the 4058 job. Jobs with only a single document SHALL use the index value 4059 of 1. For those attributes that can have multiple values per 4060 job or per document, such as documentFormatIndex(37) or 4061 documentFormat(38), the index SHALL be a running index for the 4062 job as a whole, starting at 1." 4063 ::= { jmAttributeEntry 2 } 4065 jmAttributeValueAsInteger OBJECT-TYPE 4066 SYNTAX Integer32(-2..2147483647) 4067 MAX-ACCESS read-only 4068 STATUS current 4069 Job Monitoring MIB, V0.86 Sep 19, 1997 4071 DESCRIPTION 4072 "The integer value of the attribute. The value of the attribute 4073 SHALL be represented as an integer if the enum description in 4074 the JmAttributeTypeTC textual-convention definition has the tag: 4075 'INTEGER:'. 4077 Depending on the enum definition, this object value MAY be an 4078 integer, a counter, an index, or an enum, depending on the 4079 jmAttributeTypeIndex value. The units of this value are 4080 specified in the enum description. 4082 For those attributes that are accumulating job consumption as 4083 the job is processed as specified in the JmAttributeTypeTC 4084 textual-convention, SHALL contain the final value after the job 4085 completes processing, i.e., this value SHALL indicate the total 4086 usage of this resource made by the job. 4088 A monitoring application is able to copy this value to a 4089 suitable longer term storage for later processing as part of an 4090 accounting system. 4092 Since the agent MAY add attributes representing resources to 4093 this table while the job is waiting to be processed or being 4094 processed, which can be a long time before any of the resources 4095 are actually used, the agent SHALL set the value of the 4096 jmAttributeValueAsInteger object to 0 for resources that the job 4097 has not yet consumed. 4099 Attributes for which the concept of an integer value is 4100 meaningless, such as fileName(34), jobName, and 4101 processingMessage, do not have the 'INTEGER:' tag in the 4102 JmAttributeTypeTC definition and so an agent SHALL always return 4103 a value of '-1' to indicate 'other' for the value of the 4104 jmAttributeValueAsInteger object for these attributes. 4106 For attributes which do have the 'INTEGER:' tag in the 4107 JmAttributeTypeTC definition, if the integer value is not (yet) 4108 known, the agent either (1) SHALL not materialize the row in the 4109 jmAttributeTable until the value is known or (2) SHALL return a 4110 '-2' to represent an 'unknown' counting integer value, a '0' to 4111 represent an 'unknown' index value, and a '2' to represent an 4112 'unknown(2)' enum value." 4113 ::= { jmAttributeEntry 3 } 4115 jmAttributeValueAsOctets OBJECT-TYPE 4116 SYNTAX OCTET STRING(SIZE(0..63)) 4117 MAX-ACCESS read-only 4118 STATUS current 4119 Job Monitoring MIB, V0.86 Sep 19, 1997 4121 DESCRIPTION 4122 "The octet string value of the attribute. The value of the 4123 attribute SHALL be represented as an OCTET STRING if the enum 4124 description in the JmAttributeTypeTC textual-convention 4125 definition has the tag: 'OCTETS:'. 4127 Depending on the enum definition, this object value MAY be a 4128 coded character set string (text), such as 'JmUTF8StringTC', or 4129 a binary octet string, such as 'DateAndTime'. 4131 Attributes for which the concept of an octet string value is 4132 meaningless, such as pagesCompleted, do not have the tag 4133 'OCTETS:' in the JmAttributeTypeTC definition and so the agent 4134 SHALL always return a zero length string for the value of the 4135 jmAttributeValueAsOctets object. 4137 For attributes which do have the 'OCTETS:' tag in the 4138 JmAttributeTypeTC definition, if the OCTET STRING value is not 4139 (yet) known, the agent either SHALL not materialize the row in 4140 the jmAttributeTable until the value is known or SHALL return a 4141 zero-length string." 4142 ::= { jmAttributeEntry 4 } 4143 Job Monitoring MIB, V0.86 Sep 19, 1997 4145 -- Notifications and Trapping 4146 -- Reserved for the future 4148 jobmonMIBNotifications OBJECT IDENTIFIER ::= { jobmonMIB 2} 4150 -- Conformance Information 4152 jmMIBConformance OBJECT IDENTIFIER ::= { jobmonMIB 3 } 4154 -- compliance statements 4155 jmMIBCompliance MODULE-COMPLIANCE 4156 STATUS current 4157 DESCRIPTION 4158 "The compliance statement for agents that implement the 4159 job monitoring MIB." 4160 MODULE -- this module 4161 MANDATORY-GROUPS { 4162 jmGeneralGroup, jmJobIDGroup, jmJobGroup, jmAttributeGroup } 4164 OBJECT jmGeneralJobSetName 4165 SYNTAX JmUTF8StringTC (SIZE(0..8)) 4166 DESCRIPTION 4167 "Only 8 octets maximum string length NEED be supported by the 4168 agent." 4170 OBJECT jmJobOwner 4171 SYNTAX JmJobStringTC (SIZE(0..16)) 4172 DESCRIPTION 4173 "Only 16 octets maximum string length NEED be supported by the 4174 agent." 4176 -- There are no CONDITIONALLY MANDATORY or OPTIONAL groups. 4178 ::= { jmMIBConformance 1 } 4180 jmMIBGroups OBJECT IDENTIFIER ::= { jmMIBConformance 2 } 4182 jmGeneralGroup OBJECT-GROUP 4183 OBJECTS { 4184 jmGeneralNumberOfActiveJobs, jmGeneralOldestActiveJobIndex, 4185 jmGeneralNewestActiveJobIndex, jmGeneralJobPersistence, 4186 jmGeneralAttributePersistence, jmGeneralJobSetName} 4187 STATUS current 4188 DESCRIPTION 4189 "The general group." 4190 ::= { jmMIBGroups 1 } 4191 Job Monitoring MIB, V0.86 Sep 19, 1997 4193 jmJobIDGroup OBJECT-GROUP 4194 OBJECTS { 4195 jmJobIDJobSetIndex, jmJobIDJobIndex } 4196 STATUS current 4197 DESCRIPTION 4198 "The job ID group." 4199 ::= { jmMIBGroups 2 } 4201 jmJobGroup OBJECT-GROUP 4202 OBJECTS { 4203 jmJobState, jmJobStateReasons1, jmNumberOfInterveningJobs, 4204 jmJobKOctetsRequested, jmJobKOctetsProcessed, 4205 jmJobImpressionsRequested, jmJobImpressionsCompleted, jmJobOwner 4206 } 4207 STATUS current 4208 DESCRIPTION 4209 "The job group." 4210 ::= { jmMIBGroups 3 } 4212 jmAttributeGroup OBJECT-GROUP 4213 OBJECTS { 4214 jmAttributeValueAsInteger, jmAttributeValueAsOctets } 4215 STATUS current 4216 DESCRIPTION 4217 "The attribute group." 4218 ::= { jmMIBGroups 4 } 4220 END 4221 Job Monitoring MIB, V0.86 Sep 19, 1997 4223 5. Appendix A - Implementing the Job Life Cycle 4225 The job object has well-defined states and client operations that affect 4226 the transition between the job states. Internal server and device 4227 actions also affect the transitions of the job between the job states. 4228 These states and transitions are referred to as the job's life cycle. 4230 Not all implementations of job submission protocols have all of the 4231 states of the job model specified here. The job model specified here is 4232 intended to be a superset of most implementations. It is the purpose of 4233 the agent to map the particular implementation's job life cycle onto the 4234 one specified here. The agent MAY omit any states not implemented. 4235 Only the processing and completed states are required to be implemented 4236 by an agent. However, a conforming management application SHALL be 4237 prepared to accept any of the states in the job life cycle specified 4238 here, so that the management application can interoperate with any 4239 conforming agent. 4241 The job states are intended to be user visible. The agent SHALL make 4242 these states visible in the MIB, but only for the subset of job states 4243 that the implementation has. Some implementations MAY need to have sub- 4244 states of these user-visible states. The jmJobStateReasons1 object and 4245 the jobStateReasonsN (N=2..4) attributes can be used to represent the 4246 sub-states of the jobs. 4248 Job states are intended to last a user-visible length of time in most 4249 implementations. However, some jobs may pass through some states in 4250 zero time in some situations and/or in some implementations. 4252 The job model does not specify how accounting and auditing is 4253 implemented, except to assume that accounting and auditing logs are 4254 separate from the job life cycle and last longer than job entries in the 4255 MIB. Jobs in the completed, aborted, or canceled states are not logs, 4256 since jobs in these states are accessible via SNMP protocol operations 4257 and SHALL be removed from the Job Monitoring MIB tables after a site- 4258 settable or implementation-defined period of time. An accounting 4259 application MAY copy accounting information incrementally to an 4260 accounting log as a job processes, or MAY be copied while the job is in 4261 the canceled, aborted, or completed states, depending on implementation. 4262 The same is true for auditing logs. 4264 The jmJobState object specifies the standard job states. The normal job 4265 state transitions are shown in the state transition diagram presented in 4266 Table 1. 4268 Job Monitoring MIB, V0.86 Sep 19, 1997 4270 6. APPENDIX B - Support of the Job Submission ID in Job Submission 4271 Protocols 4273 This appendix lists the job submission protocols that support the 4274 concept of a job submission ID and indicates the attribute used in that 4275 job submission protocol. 4277 6.1 Hewlett-Packard's Printer Job Language (PJL) 4279 Hewlett-Packard's Printer Job Language provides job-level printer 4280 control and printer status information to applications. The PJL JOB 4281 command is used at the beginning of a print job and can include options 4282 applying only to that job. A PJL JOB command option has been defined to 4283 facilitate passing the JobSubmissionID with the print job, as required 4284 by the Job Monitoring MIB. The option is of the form: 4286 SUBMISSIONID = "id string" 4288 Where the "id string" is a string and SHALL be enclosed in double 4289 quotes. The format is as described for the jmJobSubmissionID object. 4291 The entire PJL JOB command with the optional parameter would be of the 4292 form: 4294 @PJL JOB SUBMISSIONID = "id string" 4296 See "Printer Job Language Technical Reference Manual", part number 5021- 4297 0328, from Hewlett-Packard for complete information on the PJL JOB 4298 command and the Printer Job Language. 4300 NOTE - Some PJL implementations wrap a banner page as a PJL job around a 4301 job submitted by a client. In this case, there will be two job 4302 submission ids. The outer one being the one with the banner page and 4303 the inner one being the original user's job. The agent SHALL use the 4304 last received job submission ID for the jmJobSubmissionID index, so that 4305 the original user's job submission ID will be used, not the banner page 4306 job ID. 4308 6.2 ISO DPA 4310 The ISO 10175 Document Printing Application (DPA) protocol specifies the 4311 "job-client-id" attribute that allows the client to supply a text string 4312 ID for each job. 4314 Job Monitoring MIB, V0.86 Sep 19, 1997 4316 7. References 4318 [char-set policy] Harald Avelstrand, "IETF Policy on Character Sets and 4319 Language", June 1997. Latest draft: 4322 [GB2312] GB 2312-1980, "Chinese People's Republic of China (PRC) mixed 4323 one byte and two byte coded character set" 4325 [hr-mib] P. Grillo, S. Waldbusser, "Host Resources MIB", RFC 1514, 4326 September 1993 4328 [iana] J. Reynolds, and J. Postel, "Assigned Numbers", STD 2, RFC 1700, 4329 ISI, October 1994. 4331 [IANA-charsets] Coded Character Sets registered by IANA and assigned an 4332 enum value for use in the CodedCharSet textual convention imported from 4333 the Printer MIB. See ftp://ftp.isi.edu/in- 4334 notes/iana/assignments/character-sets 4336 [iana-media-types] IANA Registration of MIME media types (MIME content 4337 types/subtypes). See ftp://ftp.isi.edu/in-notes/iana/assignments/ 4339 [ISO 646] ISO/IEC 646:1991, "Information technology -- ISO 7-bit coded 4340 character set for information interchange", JTC1/SC2. 4342 [ISO 8859] ISO/IEC 8859-1:1987, "Information technology -- 8-bit single 4343 byte coded graphic character sets - Part 1: Latin alphabet No. 1, 4344 JTC1/SC2." 4346 [ISO 2022] ISO/IEC 2022:1994 - "Information technology -- Character code 4347 structure and extension techniques", JTC1/SC2. 4349 [ISO-10646] ISO/IEC 10646-1:1993, "Information technology -- Universal 4350 Multiple-Octet Coded Character Set (UCS) - Part 1: Architecture and 4351 Basic Multilingual Plane, JTC1/SC2. 4353 [iso-dpa] ISO/IEC 10175 Document Printing Application (DPA). See 4354 ftp://ftp.pwg.org/pub/pwg/dpa/ 4356 [ipp-model] Internet Printing Protocol (IPP), work in progress on the 4357 IETF standards track. See draft-ietf-ipp-model-01.txt. See also 4358 http://www.pwg.org/ipp/index.html 4360 [JIS X0208] JIS X0208-1990, "Japanese two byte coded character set." 4362 [mib-II] MIB-II, RFC 1213. 4364 Job Monitoring MIB, V0.86 Sep 19, 1997 4366 [print-mib] The Printer MIB - RFC 1759, proposed IETF standard. Also an 4367 Internet-Draft on the standards track as a draft standard: draft-ietf- 4368 printmib-mib-info-02.txt 4370 [req-words] S. Bradner, "Keywords for use in RFCs to Indicate 4371 Requirement Levels", RFC 2119, March 1997. 4373 [rfc 1738] Berners-Lee, T., Masinter, L., McCahill, M., "Uniform 4374 Resource Locators (URL)", RFC 1738, December 1994. 4376 [rfc 2130] C. Weider, C. Preston, K. Simonsen, H. Alvestrand, R. 4377 Atkinson, M. Crispin, and P. Svanberg, "The Report of the IAB Character 4378 Set Workshop held 29 Feb-1 March, 1997", April 1997, RFC 2130. 4380 [SMIv2-TC] J. Case, et al. `Textual Conventions for Version 2 of the 4381 Simple Network Management Protocol (SNMPv2)', RFC 1903, January 1996. 4383 [tipsi] IEEE 1284.1, Transport-independent Printer System Interface 4384 (TIPSI). 4386 [URI-spec] Berners-Lee, T., Masinter, L., McCahill, M. , "Uniform 4387 Resource Locators (URL)", RFC 1738, December, 1994. 4389 [US-ASCII] Coded Character Set - 7-bit American Standard Code for 4390 Information Interchange, ANSI X3.4-1986. 4392 [UTF-8] F. Yergeau, "UTF-8, a transformation format of Unicode and ISO 4393 10646", RFC 2044, October 1996. 4395 8. Author's Addresses 4396 Ron Bergman 4397 Dataproducts Corp. 4398 1757 Tapo Canyon Road 4399 Simi Valley, CA 93063-3394 4401 Phone: 805-578-4421 4402 Fax: 805-578-4001 4403 Email: rbergman@dpc.com 4405 Tom Hastings 4406 Xerox Corporation, ESAE-231 4407 701 S. Aviation Blvd. 4408 El Segundo, CA 90245 4410 Phone: 310-333-6413 4411 Fax: 310-333-5514 4412 EMail: hastings@cp10.es.xerox.com 4413 Job Monitoring MIB, V0.86 Sep 19, 1997 4415 Scott A. Isaacson 4416 Novell, Inc. 4417 122 E 1700 S 4418 Provo, UT 84606 4420 Phone: 801-861-7366 4421 Fax: 801-861-4025 4422 EMail: scott_isaacson@novell.com 4424 Harry Lewis 4425 IBM Corporation 4426 6300 Diagonal Hwy 4427 Boulder, CO 80301 4429 Phone: (303) 924-5337 4430 Fax: 4431 Email: harryl@us.ibm.com 4433 Send comments to the printmib WG using the Job Monitoring Project 4434 (JMP) Mailing List: jmp@pwg.org 4436 To learn how to subscribe, send email to: jmp-request@pwg.org 4438 For further information, access the PWG web page under "JMP": 4439 http://www.pwg.org/ 4441 Other Participants: 4442 Chuck Adams - Tektronix 4443 Jeff Barnett - IBM 4444 Keith Carter, IBM Corporation 4445 Jeff Copeland - QMS 4446 Andy Davidson - Tektronix 4447 Roger deBry - IBM 4448 Mabry Dozier - QMS 4449 Lee Ferrel - Canon 4450 Steve Gebert - IBM 4451 Robert Herriot - Sun Microsystems Inc. 4452 Shige Kanemitsu - Kyocera 4453 David Kellerman - Northlake Software 4454 Rick Landau - Digital 4455 Harry Lewis - IBM 4456 Pete Loya - HP 4457 Job Monitoring MIB, V0.86 Sep 19, 1997 4459 Ray Lutz - Cognisys 4460 Jay Martin - Underscore 4461 Mike MacKay, Novell, Inc. 4462 Stan McConnell - Xerox 4463 Carl-Uno Manros, Xerox, Corp. 4464 Pat Nogay - IBM 4465 Bob Pentecost - HP 4466 Rob Rhoads - Intel 4467 David Roach - Unisys 4468 Hiroyuki Sato - Canon 4469 Bob Setterbo - Adobe 4470 Gail Songer, EFI 4471 Mike Timperman - Lexmark 4472 Randy Turner - Sharp 4473 William Wagner - Digital Products 4474 Jim Walker - Dazel 4475 Chris Wellens - Interworking Labs 4476 Rob Whittle - Novell 4477 Don Wright - Lexmark 4478 Lloyd Young - Lexmark 4479 Atsushi Yuki - Kyocera 4480 Peter Zehler, Xerox, Corp. 4482 Job Monitoring MIB, V0.86 Sep 19, 1997 4484 9. INDEX 4486 This index includes the textual conventions, the objects, and the 4487 attributes. Textual conventions all start with the prefix: "JM" and 4488 end with the suffix: "TC". Objects all starts with the prefix: "jm" 4489 followed by the group name. Attributes are identified with enums, and 4490 so start with any lower case letter and have no special prefix. 4492 ------ 4494 colorantConsumed, 57 4495 colorantRequested, 57 4497 --D--- 4499 deviceNameRequested, 48 4500 documentCopiesCompleted, 53 4501 documentCopiesRequested, 53 4502 documentFormat, 50 4503 documentFormatIndex, 49 4504 documentName, 49 4506 ------ 4508 fileName, 49 4509 finishing, 51 4510 fullColorImpressionsCompleted, 54 4512 --H--- 4514 highlightColorImpressionsCompleted, 55 4516 ------ 4518 impressionsCompletedCurrentCopy, 54 4519 impressionsInterpreted, 54 4520 impressionsSentToDevice, 54 4521 impressionsSpooled, 54 4523 --J--- 4525 jmAttributeInstanceIndex, 86 4526 jmAttributeTypeIndex, 85 4527 JmAttributeTypeTC, 43 4528 jmAttributeValueAsInteger, 86 4529 jmAttributeValueAsOctets, 87 4530 JmBooleanTC, 35 4531 Job Monitoring MIB, V0.86 Sep 19, 1997 4533 JmFinishingTC, 33 4534 jmGeneralAttributePersistence, 75 4535 jmGeneralJobPersistence, 75 4536 jmGeneralJobSetIndex, 73 4537 jmGeneralJobSetName, 76 4538 jmGeneralNewestActiveJobIndex, 75 4539 jmGeneralNumberOfActiveJobs, 74 4540 jmGeneralOldestActiveJobIndex, 74 4541 jmJobIDJobIndex, 78 4542 jmJobIDJobSetIndex, 78 4543 jmJobImpressionsCompleted, 83 4544 jmJobImpressionsRequested, 82 4545 jmJobIndex, 80 4546 jmJobKOctetsProcessed, 82 4547 jmJobKOctetsRequested, 81 4548 jmJobOwner, 83 4549 JmJobServiceTypesTC, 61 4550 JmJobSourcePlatformTypeTC, 32 4551 jmJobState, 80 4552 jmJobStateReasons1, 81 4553 JmJobStateReasons1TC, 62 4554 JmJobStateReasons2TC, 67 4555 JmJobStateReasons3TC, 70 4556 JmJobStateReasons4TC, 71 4557 JmJobStateTC, 40 4558 JmJobStringTC, 31 4559 jmJobSubmissionID, 77 4560 JmJobSubmissionTypeTC, 37 4561 JmMediumTypeTC, 36 4562 jmNumberOfInterveningJobs, 81 4563 JmPrinterResolutionTC, 34 4564 JmPrintQualityTC, 34 4565 JmTimeStampTC, 32 4566 JmTonerEconomyTC, 35 4567 JmUTF8StringTC, 31 4568 jobAccountName, 46 4569 jobCodedCharSet, 45 4570 jobComment, 49 4571 jobCompletionTime, 58 4572 jobCopiesCompleted, 53 4573 jobCopiesRequested, 53 4574 jobHold, 51 4575 jobHoldUntil, 51 4576 jobKOctetsTransferred, 53 4577 jobName, 46 4578 jobOriginatingHost, 48 4579 jobPriority, 50 4580 jobProcessAfterDateAndTime, 50 4581 Job Monitoring MIB, V0.86 Sep 19, 1997 4583 jobProcessingCPUTime, 59 4584 jobServiceTypes, 47 4585 jobSourceChannelIndex, 47 4586 jobSourcePlatformType, 47 4587 jobStartedBeingHeldTime, 58 4588 jobStartedProcessingTime, 58 4589 jobStateReasons2, 44 4590 jobStateReasons3, 44 4591 jobStateReasons4, 44 4592 jobSubmissionTime, 58 4593 jobSubmissionToServerTime, 58 4594 jobURI, 45 4596 --M--- 4598 mediumConsumed, 57 4599 mediumRequested, 57 4601 ------ 4603 numberOfDocuments, 49 4605 ------ 4607 other, 44 4608 outputBin, 51 4610 --P--- 4612 pagesCompleted, 55 4613 pagesCompletedCurrentCopy, 56 4614 pagesRequested, 55 4615 physicalDevice, 48 4616 printerResolutionRequested, 52 4617 printerResolutionUsed, 52 4618 printQualityRequested, 52 4619 printQualityUsed, 52 4620 processingMessage, 44 4622 --Q--- 4624 queueNameRequested, 48 4626 ------ 4628 serverAssignedJobName, 46 4629 sheetsCompleted, 56 4630 sheetsCompletedCurrentCopy, 56 4631 Job Monitoring MIB, V0.86 Sep 19, 1997 4633 sheetsRequested, 56 4634 sides, 51 4635 submittingApplicationName, 48 4636 submittingServerName, 48 4638 --T--- 4640 tonerDensityRequested, 52 4641 tonerDensityUsed, 52 4642 tonerEcomonyRequested, 52 4643 tonerEcomonyUsed, 52