draft-ietf-printmib-job-monitor-06.txt   draft-ietf-printmib-job-monitor-07.txt 
INTERNET-DRAFT Ron Bergman
INTERNET-DRAFT R. Bergman
Dataproducts Corp. Dataproducts Corp.
Tom Hastings T. Hastings
Xerox Corporation Xerox Corporation
Scott Isaacson S. Isaacson
Novell, Inc. Novell, Inc.
Harry Lewis H. Lewis
IBM Corp. IBM Corp.
September 19, 1997 February 3, 1998
Job Monitoring MIB - V1
Job Monitoring MIB - V0.86 <draft-ietf-printmib-job-monitor-07.txt>
<draft-ietf-printmib-job-monitor-06.txt>
Expires Mar 19, 1997
Status of this Memo Status of this Memo
This document is an Internet-Draft. Internet-Drafts are working This document is an Internet-Draft. Internet-Drafts are working
documents of the Internet Engineering Task Force (IETF), its areas, documents of the Internet Engineering Task Force (IETF), its
and its working groups. Note that other groups may also distribute areas, and its working groups. Note that other groups may also
working documents as Internet-Drafts. distribute working documents as Internet-Drafts.
Internet-Drafts are draft documents valid for a maximum of six Internet-Drafts are draft documents valid for a maximum of six
months and may be updated, replaced, or obsoleted by other months and may be updated, replaced, or obsoleted by other
documents at any time. It is inappropriate to use Internet-Drafts documents at any time. It is inappropriate to use Internet-Drafts
as reference material or to cite them other than as "work in as reference material or to cite them other than as "work in
progress." progress."
To learn the current status of any Internet-Draft, please check the To learn the current status of any Internet-Draft, please check
"1id-abstracts.txt" listing contained in the Internet-Drafts Shadow the "1id-abstracts.txt" listing contained in the Internet-Drafts
Directories on ftp.is.co.za (Africa), nic.nordu.net (Europe), Shadow Directories on ftp.is.co.za (Africa), nic.nordu.net
munnari.oz.au (Pacific Rim), ds.internic.net (US East Coast), or (Europe), munnari.oz.au (Pacific Rim), ds.internic.net (US East
ftp.isi.edu (US West Coast). Coast), or ftp.isi.edu (US West Coast).
Abstract This Internet-Draft expires on August 3, 1998.
This Internet-Draft specifies a small set of read-only SNMP MIB Abstract
objects for (1) monitoring the status and progress of print jobs
(2) obtaining resource requirements before a job is processed, (3)
monitoring resource consumption while a job is being processed and
(4) collecting resource accounting data after the completion of a
job. This MIB is intended to be implemented (1) in a printer or
(2) in a server that supports one or more printers. Use of the
object set is not limited to printing. However, support for
services other than printing is outside the scope of this Job
Monitoring MIB. Future extensions to this MIB may include, but are
not limited to, fax machines and scanners.
Job Monitoring MIB, V0.86 Sep 19, 1997 This document has been developed and approved by the Printer
Working Group (PWG) as a PWG standard. It is intended to be
distributed as an Informational RFC. This document provides a
printer industry standard SNMP MIB for (1) monitoring the status
and progress of print jobs (2) obtaining resource requirements
before a job is processed, (3) monitoring resource consumption
while a job is being processed and (4) collecting resource
accounting data after the completion of a job. This MIB is
intended to be implemented (1) in a printer or (2) in a server
that supports one or more printers. Use of the object set is not
limited to printing. However, support for services other than
printing is outside the scope of this Job Monitoring MIB. Future
extensions to this MIB may include, but are not limited to, fax
machines and scanners.
TABLE OF CONTENTS TABLE OF CONTENTS
1. INTRODUCTION............................................7 1. INTRODUCTION 8
1.1 Types of Information in the MIB ......................7 1.1 Types of Information in the MIB 8
1.2 Types of Job Monitoring Applications .................9 1.2 Types of Job Monitoring Applications 10
2. TERMINOLOGY AND JOB MODEL..............................10 2. TERMINOLOGY AND JOB MODEL 11
2.1 System Configurations for the Job Monitoring MIB ....12 2.1 System Configurations for the Job Monitoring MIB 14
2.1.1 Configuration 1 - client-printer ................13 2.1.1 Configuration 1 - client-printer 14
2.1.2 Configuration 2 - client-server-printer - agent in the server 2.1.2 Configuration 2 - client-server-printer - agent in the
......................................................13 server 15
2.1.3 Configuration 3 - client-server-printer - client monitors 2.1.3 Configuration 3 - client-server-printer - client monitors
printer agent and server ..............................15 printer agent and server 16
3. MANAGED OBJECT USAGE...................................16 3. MANAGED OBJECT USAGE 18
3.1 Conformance Considerations ..........................16 3.1 Conformance Considerations 18
3.1.1 Conformance Terminology .........................17 3.1.1 Conformance Terminology 18
3.1.2 Agent Conformance Requirements ..................17 3.1.2 Agent Conformance Requirements 18
3.1.2.1 MIB II System Group objects..................18 3.1.2.1 MIB II System Group objects 19
3.1.2.2 MIB II Interface Group objects...............18 3.1.2.2 MIB II Interface Group objects 19
3.1.2.3 Printer MIB objects..........................18 3.1.2.3 Printer MIB objects 19
3.1.3 Job Monitoring Application Conformance Requirements 18 3.1.3 Job Monitoring Application Conformance Requirements 19
3.2 The Job Tables and the Oldest Active and Newest Active Indexes 19 3.2 The Job Tables and the Oldest Active and Newest Active Indexes 19
3.3 The Attribute Mechanism .............................21 3.3 The Attribute Mechanism 21
3.3.1 Conformance of Attribute Implementation .........21 3.3.1 Conformance of Attribute Implementation 22
3.3.2 Useful, 'Unknown', and 'Other' Values for Objects and 3.3.2 Useful, 'Unknown', and 'Other' Values for Objects and
Attributes ............................................23 Attributes 22
3.3.3 Data Sub-types and Attribute Naming Conventions .23 3.3.3 Data Sub-types and Attribute Naming Conventions 23
3.3.4 Single-Value (Row) Versus Multi-Value (MULTI-ROW) Attributes 23 3.3.4 Single-Value (Row) Versus Multi-Value (MULTI-ROW)
3.3.5 Requested Attributes ............................24 Attributes 24
3.3.6 Consumption Attributes ..........................24 3.3.5 Requested Objects and Attributes 24
3.3.7 Index Value Attributes ..........................24 3.3.6 Consumption Attributes 25
3.3.7 Index Value Attributes 25
3.4 Job Identification ..................................24
3.5 Internationalization Considerations .................25
3.5.1 'JmUTF8StringTC' for text generated by the server or device 25
Job Monitoring MIB, V0.86 Sep 19, 1997
3.5.2 'JmJobStringTC' for text generated by the job submitter 25
3.5.3 'DateAndTime' for representing the date and time 25
3.6 IANA Considerations .................................27
3.6.1 IANA Registration of enums ......................27
3.6.1.1 Type 1 enumerations..........................27
3.6.1.2 Type 2 enumerations..........................27
3.6.1.3 Type 3 enumeration...........................28
3.6.2 IANA Registration of type 2 bit values ..........28
3.6.3 IANA Registration of Job Submission Id Formats ..28
3.6.4 IANA Registration of MIME types/sub-types for document-formats
......................................................29
3.7 Security Considerations .............................29
3.7.1 Read-Write objects ..............................29
3.7.2 Read-Only Objects In Other User's Jobs ..........29
3.8 Values for Objects ..................................22
3.9 Notifications .......................................29
4. MIB SPECIFICATION......................................29
Textual conventions for this MIB module .................31 3.4 Monitoring Job Progress 25
JmUTF8StringTC ........................................32
JmJobStringTC .........................................32
JmTimeStampTC .........................................32
JmJobSourcePlatformTypeTC .............................32
JmFinishingTC .........................................33
JmPrintQualityTC ......................................34
JmPrinterResolutionTC .................................34
JmTonerEconomyTC ......................................35
JmBooleanTC ...........................................35
JmMediumTypeTC ........................................36
JmJobSubmissionIDTypeTC ...............................37
JmJobStateTC ..........................................40
JmAttributeTypeTC .....................................43
other (Int32(-2..) and/or Octets63) ..............44
Job State attributes.................................44
jobStateReasons2 (JmJobStateReasons2TC) ..........44
jobStateReasons3 (JmJobStateReasons3TC) ..........44
jobStateReasons4 (JmJobStateReasons4TC) ..........44
processingMessage (UTF8String63) .................44
jobCodedCharSet (CodedCharSet) ...................44
Job Identification attributes........................45
jobURI (Octets(1..255)) ..........................46
jobAccountName (Octets63) ........................46
Job Monitoring MIB, V0.86 Sep 19, 1997
serverAssignedJobName (JobString63) ..............46 3.5 Job Identification 29
jobName (JobString63) ............................46
jobServiceTypes (JmJobServiceTypesTC) ............47
jobSourceChannelIndex (Int32(0..)) ...............47
jobSourcePlatformType (JmJobSourcePlatformTypeTC) 47
submittingServerName (JobString63) ...............48
submittingApplicationName (JobString63) ..........48
jobOriginatingHost (JobString63) .................48
deviceNameRequested (JobString63) ................48
queueNameRequested (JobString63) .................48
physicalDevice (hrDeviceIndex and/or UTF8String63)48
numberOfDocuments (Int32(-2..)) ..................49
fileName (JobString63) ...........................49
documentName (JobString63) .......................49
jobComment (JobString63) .........................49
documentFormatIndex (Int32(0..)) .................49
documentFormat (PrtInterpreterLangFamilyTC and/or Octets63) 50
Job Parameter attributes.............................50
jobPriority (Int32(1..100)) ......................50
jobProcessAfterDateAndTime (DateAndTime) .........50
jobHold (JmBooleanTC) ............................51
jobHoldUntil (JobString63) .......................51
outputBin (Int32(0..) and/or JobString63) ........51
sides (Int32(-2..2)) .............................51
finishing (JmFinishingTC) ........................51
Image Quality attributes (requested and used)........51
printQualityRequested (JmPrintQualityTC) .........52
printQualityUsed (JmPrintQualityTC) ..............52
printerResolutionRequested (JmPrinterResolutionTC)52
printerResolutionUsed (JmPrinterResolutionTC) ....52
tonerEcomonyRequested (JmTonerEconomyTC) .........52
tonerEcomonyUsed (JmTonerEconomyTC) ..............52
tonerDensityRequested (Int32(-2..100)) ...........52
tonerDensityUsed (Int32(-2..100)) ................52
Job Progress attributes (requested and consumed).....53
jobCopiesRequested (Int32(-2..)) .................53
jobCopiesCompleted (Int32(-2..)) .................53
documentCopiesRequested (Int32(-2..)) ............53
documentCopiesCompleted (Int32(-2..)) ............53
jobKOctetsTransferred (Int32(-2..)) ..............53
Impression attributes (requested and consumed).......54
impressionsSpooled (Int32(-2..)) .................54
impressionsSentToDevice (Int32(-2..)) ............54
impressionsInterpreted (Int32(-2..)) .............54
impressionsCompletedCurrentCopy (Int32(-2..)) ....54
fullColorImpressionsCompleted (Int32(-2..)) ......54
highlightColorImpressionsCompleted (Int32(-2..)) .55
Page attributes (requested and consumed).............55
Job Monitoring MIB, V0.86 Sep 19, 1997
pagesRequested (Int32(-2..)) .....................55 3.6 Internationalization Considerations 30
pagesCompleted (Int32(-2..)) .....................55 3.6.1 Text generated by the server or device 30
pagesCompletedCurrentCopy (Int32(-2..)) ..........56 3.6.2 Text supplied by the job submitter 31
Sheet attributes (requested and consumed)............56 3.6.3 'DateAndTime' for representing the date and time 32
sheetsRequested (Int32(-2..)) ....................56 3.7 IANA and PWG Registration Considerations 32
sheetsCompleted (Int32(-2..)) ....................56 3.7.1 PWG Registration of enums 33
sheetsCompletedCurrentCopy (Int32(-2..)) .........56 3.7.1.1 Type 1 enumerations 33
Resource attributes (requested and consumed).........56 3.7.1.2 Type 2 enumerations 33
mediumRequested (JmMediumTypeTC and/or JobString63)57 3.7.1.3 Type 3 enumeration 34
mediumConsumed (JobString63) .....................57 3.7.2 PWG Registration of type 2 bit values 34
colorantRequested (Int32(-2..) and/or JobString63)57 3.7.3 PWG Registration of Job Submission Id Formats 34
colorantConsumed (Int32(-2..) and/or JobString63) 57 3.7.4 PWG Registration of MIME types/sub-types for document-
Time attributes (set by server or device)............57 formats 34
jobSubmissionToServerTime (JmTimeStampTC and/or DateAndTime) 58
jobSubmissionTime (JmTimeStampTC and/or DateAndTime) 58
jobStartedBeingHeldTime (JmTimeStampTC and/or DateAndTime) 58
jobStartedProcessingTime (JmTimeStampTC and/or DateAndTime) 58
jobCompletionTime (JmTimeStampTC and/or DateAndTime) 58
jobProcessingCPUTime (Int32(-2..)) ...............59
JmJobServiceTypesTC ...................................61
JmJobStateReasons1TC ..................................62
JmJobStateReasons2TC ..................................67
JmJobStateReasons3TC ..................................70
JmJobStateReasons4TC ..................................71
The General Group (MANDATORY) ...........................73 3.8 Security Considerations 34
jmGeneralJobSetIndex (Int32(1..32767)) ..............73 3.8.1 Read-Write objects 34
jmGeneralNumberOfActiveJobs (Int32(0..)) ............74 3.8.2 Read-Only Objects In Other User's Jobs 35
jmGeneralOldestActiveJobIndex (Int32(0..)) ..........74
jmGeneralNewestActiveJobIndex (Int32(0..)) ..........75
jmGeneralJobPersistence (Int32(15..)) ...............75
jmGeneralAttributePersistence (Int32(15..)) .........75
jmGeneralJobSetName (UTF8String63) ..................76
The Job ID Group (MANDATORY) ............................76 3.9 Notifications 35
jmJobSubmissionID (OCTET STRING(SIZE(48))) ..........77
jmJobIDJobSetIndex (Int32(1..32767)) ................78
jmJobIDJobIndex (Int32(1..)) ........................78
The Job Group (MANDATORY) ...............................79 4. MIB SPECIFICATION 35
jmJobIndex (Int32(1..)) .............................80
jmJobState (JmJobStateTC) ...........................80
jmJobStateReasons1 (JmJobStateReasons1TC) ...........81
jmNumberOfInterveningJobs (Int32(-2..)) .............81
jmJobKOctetsRequested (Int32(-2..)) .................81
jmJobKOctetsProcessed (Int32(-2..)) .................82
jmJobImpressionsRequested (Int32(-2..)) .............82
jmJobImpressionsCompleted (Int32(-2..)) .............83
Job Monitoring MIB, V0.86 Sep 19, 1997
jmJobOwner (JobString63) ............................83 Textual Conventions for this MIB Module 37
JmUTF8StringTC 37
JmJobStringTC 37
JmNaturalLanguageTagTC 37
JmTimeStampTC 37
JmJobSourcePlatformTypeTC 38
JmFinishingTC 39
JmPrintQualityTC 40
JmPrinterResolutionTC 40
JmTonerEconomyTC 41
JmBooleanTC 41
JmMediumTypeTC 41
JmJobCollationTypeTC 43
JmJobSubmissionIDTypeTC 46
JmJobStateTC 48
JmAttributeTypeTC 51
other (Int32(-2..) and/or Octets63) 51
Job State attributes 52
jobStateReasons2 (JmJobStateReasons2TC) 52
jobStateReasons3 (JmJobStateReasons3TC) 52
jobStateReasons4 (JmJobStateReasons4TC) 52
processingMessage (UTF8String63) 52
processingMessageNaturalLangTag (Octets63) 53
jobCodedCharSet (CodedCharSet) 53
jobNaturalLanguageTag (Octets63) 54
Job Identification attributes 54
jobURI (Octets(0..63)) 54
jobAccountName (Octets63) 54
serverAssignedJobName (JobString63) 55
jobName (JobString63) 55
jobServiceTypes (JmJobServiceTypesTC) 56
jobSourceChannelIndex (Int32(0..)) 56
jobSourcePlatformType (JmJobSourcePlatformTypeTC) 56
submittingServerName (JobString63) 56
submittingApplicationName (JobString63) 56
jobOriginatingHost (JobString63) 57
deviceNameRequested (JobString63) 57
queueNameRequested (JobString63) 57
physicalDevice (hrDeviceIndex and/or UTF8String63) 57
numberOfDocuments (Int32(-2..)) 57
fileName (JobString63) 58
documentName (JobString63) 58
jobComment (JobString63) 58
documentFormatIndex (Int32(0..)) 58
documentFormat (PrtInterpreterLangFamilyTC and/or Octets63)59
Job Parameter attributes 59
jobPriority (Int32(-2..100)) 59
jobProcessAfterDateAndTime (DateAndTime) 60
jobHold (JmBooleanTC) 60
jobHoldUntil (JobString63) 60
outputBin (Int32(0..) and/or JobString63) 60
sides (Int32(-2..2)) 61
finishing (JmFinishingTC) 61
Image Quality attributes (requested and used) 61
printQualityRequested (JmPrintQualityTC) 61
printQualityUsed (JmPrintQualityTC) 61
printerResolutionRequested (JmPrinterResolutionTC) 61
printerResolutionUsed (JmPrinterResolutionTC) 61
tonerEcomonyRequested (JmTonerEconomyTC) 61
tonerEcomonyUsed (JmTonerEconomyTC) 61
tonerDensityRequested (Int32(-2..100)) 61
tonerDensityUsed (Int32(-2..100)) 62
Job Progress attributes (requested and consumed) 62
jobCopiesRequested (Int32(-2..)) 62
jobCopiesCompleted (Int32(-2..)) 62
documentCopiesRequested (Int32(-2..)) 62
documentCopiesCompleted (Int32(-2..)) 62
jobKOctetsTransferred (Int32(-2..)) 63
sheetCompletedCopyNumber (Int32(-2..))4 63
sheetCompletedDocumentNumber (Int32(-2..))4 63
jobCollationType JmJobCollationTypeTC) 63
Impression attributes (requested and consumed) 64
impressionsSpooled (Int32(-2..)) 64
impressionsSentToDevice (Int32(-2..)) 64
impressionsInterpreted (Int32(-2..)) 64
impressionsCompletedCurrentCopy (Int32(-2..)) 64
fullColorImpressionsCompleted (Int32(-2..)) 64
highlightColorImpressionsCompleted (Int32(-2..)) 65
Page attributes (requested and consumed) 65
pagesRequested (Int32(-2..)) 65
pagesCompleted (Int32(-2..)) 65
pagesCompletedCurrentCopy (Int32(-2..)) 66
Sheet attributes (requested and consumed) 66
sheetsRequested (Int32(-2..)) 66
sheetsCompleted (Int32(-2..)) 66
sheetsCompletedCurrentCopy (Int32(-2..)) 66
Resource attributes (requested and consumed) 66
mediumRequested (JmMediumTypeTC and/or JobString63) 67
mediumConsumed (Int32(-2..) and JobString63) 67
colorantRequested (Int32(-2..) and/or JobString63) 67
colorantConsumed (Int32(-2..) and/or JobString63) 68
Time attributes (set by server or device) 68
jobSubmissionToServerTime (JmTimeStampTC and/or DateAndTime)68
jobSubmissionTime (JmTimeStampTC and/or DateAndTime) 68
jobStartedBeingHeldTime (JmTimeStampTC) 69
jobStartedProcessingTime (JmTimeStampTC and/or DateAndTime)69
jobCompletionTime (JmTimeStampTC and/or DateAndTime) 69
jobProcessingCPUTime (Int32(-2..)) 69
JmJobServiceTypesTC 71
JmJobStateReasons1TC 73
JmJobStateReasons2TC 77
JmJobStateReasons3TC 81
JmJobStateReasons4TC 81
The Attribute Group (MANDATORY) .........................84 The General Group (MANDATORY) 82
jmAttributeTypeIndex (JmAttributeTypeTC) ............85 jmGeneralJobSetIndex (Int32(1..32767)) 83
jmAttributeInstanceIndex (Int32(1..32767)) ..........86 jmGeneralNumberOfActiveJobs (Int32(0..)) 83
jmAttributeValueAsInteger (Int32(-2..)) .............86 jmGeneralOldestActiveJobIndex (Int32(0..)) 84
jmAttributeValueAsOctets (Octets63) .................87 jmGeneralNewestActiveJobIndex (Int32(0..)) 84
jmGeneralJobPersistence (Int32(15..)) 85
jmGeneralAttributePersistence (Int32(15..)) 85
jmGeneralJobSetName (UTF8String63) 86
5. APPENDIX A - IMPLEMENTING THE JOB LIFE CYCLE...........91 The Job ID Group (MANDATORY) 86
jmJobSubmissionID (OCTET STRING(SIZE(48))) 88
jmJobIDJobSetIndex (Int32(0..32767)) 89
jmJobIDJobIndex (Int32(0..)) 89
6. APPENDIX B - SUPPORT OF THE JOB SUBMISSION ID IN JOB SUBMISSION The Job Group (MANDATORY) 89
PROTOCOLS.................................................92 jmJobIndex (Int32(1..)) 91
jmJobState (JmJobStateTC) 91
jmJobStateReasons1 (JmJobStateReasons1TC) 92
jmNumberOfInterveningJobs (Int32(-2..)) 92
jmJobKOctetsPerCopyRequested (Int32(-2..)) 93
jmJobKOctetsProcessed (Int32(-2..)) 93
jmJobImpressionsPerCopyRequested (Int32(-2..)) 94
jmJobImpressionsCompleted (Int32(-2..)) 94
jmJobOwner (JobString63) 95
6.1 Hewlett-Packard's Printer Job Language (PJL) ........92 The Attribute Group (MANDATORY) 95
jmAttributeTypeIndex (JmAttributeTypeTC) 98
jmAttributeInstanceIndex (Int32(1..32767)) 98
jmAttributeValueAsInteger (Int32(-2..)) 99
jmAttributeValueAsOctets (Octets63) 100
6.2 ISO DPA .............................................92 5. APPENDIX A - IMPLEMENTING THE JOB LIFE CYCLE 103
7. REFERENCES.............................................93 6. APPENDIX B - SUPPORT OF JOB SUBMISSION PROTOCOLS 104
8. AUTHOR'S ADDRESSES.....................................94 7. REFERENCES 104
9. INDEX..................................................97 8. AUTHOR'S ADDRESSES 106
Job Monitoring MIB, V0.86 Sep 19, 1997
9. INDEX 109
Job Monitoring MIB Job Monitoring MIB
1. Introduction 1. Introduction
This specification defines an official Printer Working Group (PWG)
[PWG] standard SNMP MIB for the monitoring of jobs on network printers.
This specification is being published as an IETF Information Document
for the convenience of the Internet community. In consultation with
the IETF Application Area Directors, it was concluded that this MIB
specification properly belongs as an Information document, because this
MIB monitors a service node on the network, rather than a network node
proper.
The Job Monitoring MIB is intended to be implemented by an agent within The Job Monitoring MIB is intended to be implemented by an agent within
a printer or the first server closest to the printer, where the printer a printer or the first server closest to the printer, where the printer
is either directly connected to the server only or the printer does not is either directly connected to the server only or the printer does not
contain the job monitoring MIB agent. It is recommended that contain the job monitoring MIB agent. It is recommended that
implementations place the SNMP agent as close as possible to the implementations place the SNMP agent as close as possible to the
processing of the print job. This MIB applies to printers with and processing of the print job. This MIB applies to printers with and
without spooling capabilities. This MIB is designed to be compatible without spooling capabilities. This MIB is designed to be compatible
with most current commonly-used job submission protocols. In most with most current commonly-used job submission protocols. In most
environments that support high function job submission/job control environments that support high function job submission/job control
protocols, like ISO DPA[iso-dpa], those protocols would be used to protocols, like ISO DPA[iso-dpa], those protocols would be used to
monitor and manage print jobs rather than using the Job Monitoring MIB. monitor and manage print jobs rather than using the Job Monitoring MIB.
The Job Monitoring MIB consists of a General Group, a Job Submission ID The Job Monitoring MIB consists of a General Group, a Job Submission ID
Group, a Job Group, and an Attribute Group. Each group is a table. All Group, a Job Group, and an Attribute Group. Each group is a table.
accessible objects are read-only. The General Group contains general All accessible objects are read-only. The General Group contains
information that applies to all jobs in a job set. The Job Submission general information that applies to all jobs in a job set. The Job
ID table maps the job submission ID that the client uses to identify a Submission ID table maps the job submission ID that the client uses to
job to the jmJobIndex that the Job Monitoring Agent uses to identify identify a job to the jmJobIndex that the Job Monitoring Agent uses to
jobs in the Job and Attribute tables. The Job table contains the identify jobs in the Job and Attribute tables. The Job table contains
MANDATORY integer job state and status objects. The Attribute table the MANDATORY integer job state and status objects. The Attribute
consists of multiple entries per job that specify (1) job and document table consists of multiple entries per job that specify (1) job and
identification and parameters, (2) requested resources, and (3) document identification and parameters, (2) requested resources, and
consumed resources during and after job processing/printing. A larger (3) consumed resources during and after job processing/printing. A
number of job attributes are defined as textual conventions that an larger number of job attributes are defined as textual conventions that
agent SHALL return if the server or device implements the functionality an agent SHALL return if the server or device implements the
so represented and the agent has access to the information. functionality so represented and the agent has access to the
information.
1.1 Types of Information in the MIB 1.1 Types of Information in the MIB
The job MIB is intended to provide the following information for the The job MIB is intended to provide the following information for the
indicated Role Models in the Printer MIB[print-mib] (Appendix D - Roles indicated Role Models in the Printer MIB[print-mib] (Appendix D - Roles
of Users). of Users).
User: User:
Provide the ability to identify the least busy printer. The user Provide the ability to identify the least busy printer. The user
will be able to determine the number and size of jobs waiting for will be able to determine the number and size of jobs waiting for
each printer. No attempt is made to actually predict the length each printer. No attempt is made to actually predict the length
of time that jobs will take. of time that jobs will take.
Provide the ability to identify the current status of the user's Provide the ability to identify the current status of the user's
job (user queries). job (user queries).
Job Monitoring MIB, V0.86 Sep 19, 1997
Provide a timely indication that the job has completed and where Provide a timely indication that the job has completed and where
it can be found. it can be found.
Provide error and diagnostic information for jobs that did not Provide error and diagnostic information for jobs that did not
successfully complete. successfully complete.
Operator: Operator:
Provide a presentation of the state of all the jobs in the print Provide a presentation of the state of all the jobs in the print
system. system.
skipping to change at page 8, line 34 skipping to change at page 9, line 42
Provide the ability to define which physical printers are Provide the ability to define which physical printers are
candidates for the print job. candidates for the print job.
Provide some idea of how long each job will take. However, exact Provide some idea of how long each job will take. However, exact
estimates of time to process a job is not being attempted. estimates of time to process a job is not being attempted.
Instead, objects are included that allow the operator to be able Instead, objects are included that allow the operator to be able
to make gross estimates. to make gross estimates.
Capacity Planner: Capacity Planner:
Provide the ability to determine printer utilization as a function Provide the ability to determine printer utilization as a
of time. function of time.
Provide the ability to determine how long jobs wait before Provide the ability to determine how long jobs wait before
starting to print. starting to print.
Accountant: Accountant:
Provide information to allow the creation of a record of resources Provide information to allow the creation of a record of
consumed and printer usage data for charging users or groups for resources consumed and printer usage data for charging users or
resources consumed. groups for resources consumed.
Provide information to allow the prediction of consumable usage Provide information to allow the prediction of consumable usage
and resource need. and resource need.
The MIB supports printers that can contain more than one job at a time, The MIB supports printers that can contain more than one job at a time,
but still be usable for low end printers that only contain a single job but still be usable for low end printers that only contain a single job
at a time. In particular, the MIB supports the needs of Windows and at a time. In particular, the MIB supports the needs of Windows and
other PC environments for managing low-end direct-connect (serial or other PC environments for managing low-end direct-connect (serial or
parallel) and networked devices without unnecessary overhead or parallel) and networked devices without unnecessary overhead or
complexity, while also providing for higher end systems and devices. complexity, while also providing for higher end systems and devices.
Job Monitoring MIB, V0.86 Sep 19, 1997
1.2 Types of Job Monitoring Applications 1.2 Types of Job Monitoring Applications
The Job Monitoring MIB is designed for the following types of monitoring The Job Monitoring MIB is designed for the following types of
applications: monitoring applications:
1. Monitor a single job starting when the job is submitted and 1. Monitor a single job starting when the job is submitted and
ending a defined period after the job completes. The Job ending a defined period after the job completes. The Job
Submission ID table provides the map to find the specific job to Submission ID table provides the map to find the specific job
be monitored. to be monitored.
2. Monitor all 'active' jobs in a queue, which this specification 2. Monitor all 'active' jobs in a queue, which this specification
generalizes to a "job set". End users may use such a program generalizes to a "job set". End users may use such a program
when selecting a least busy printer, so the MIB is designed for when selecting a least busy printer, so the MIB is designed for
such a program to start up quickly and find the information such a program to start up quickly and find the information
needed quickly without having to read all (completed) jobs in needed quickly without having to read all (completed) jobs in
order to find the active jobs. System operators may also use order to find the active jobs. System operators may also use
such a program, in which case it would be running for a long such a program, in which case it would be running for a long
period of time and may also be interested in the jobs that have period of time and may also be interested in the jobs that have
completed. Finally such a program may be used to provide an completed. Finally such a program may be used to provide an
enhanced console and logging capability. enhanced console and logging capability.
3. Collect resource usage for accounting or system utilization 3. Collect resource usage for accounting or system utilization
purposes that copy the completed job statistics to an accounting purposes that copy the completed job statistics to an
system. It is recognized that depending on accounting programs accounting system. It is recognized that depending on
to copy MIB data during the job-retention period is somewhat accounting programs to copy MIB data during the job-retention
unreliable, since the accounting program may not be running (or period is somewhat unreliable, since the accounting program may
may have crashed). Such a program is also expected to keep a not be running (or may have crashed). Such a program is also
shadow copy of the entire Job Attribute table including expected to keep a shadow copy of the entire Job Attribute
completed, canceled, and aborted jobs which the program updates table including completed, canceled, and aborted jobs which the
on each polling cycle. Such a program polls at the rate of the program updates on each polling cycle. Such a program polls at
persistence of the Attribute table. The design is not optimized the rate of the persistence of the Attribute table. The design
to help such an application determine which jobs are completed, is not optimized to help such an application determine which
canceled, or aborted. Instead, the application SHALL query each jobs are completed, canceled, or aborted. Instead, the
job that the application's shadow copy shows was not complete, application SHALL query each job that the application's shadow
canceled, or aborted at the previous poll cycle to see if it is copy shows was not complete, canceled, or aborted at the
now complete or canceled, plus any new jobs that have been previous poll cycle to see if it is now complete or canceled,
submitted. plus any new jobs that have been submitted.
The MIB provides a set of objects that represent a compatible subset of The MIB provides a set of objects that represent a compatible subset of
job and document attributes of the ISO DPA standard[iso-dpa] and the job and document attributes of the ISO DPA standard[iso-dpa] and the
Internet Printing Protocol (IPP)[ipp-model], so that coherence is Internet Printing Protocol (IPP)[ipp-model], so that coherence is
maintained between these two protocols and the information presented to maintained between these two protocols and the information presented to
end users and system operators by monitoring applications. However, the end users and system operators by monitoring applications. However,
job monitoring MIB is intended to be used with printers that implement the job monitoring MIB is intended to be used with printers that
other job submitting and management protocols, such as IEEE 1284.1 implement other job submitting and management protocols, such as IEEE
(TIPSI)[tipsi], as well as with ones that do implement ISO DPA. Thus 1284.1 (TIPSI)[tipsi], as well as with ones that do implement ISO DPA.
the job monitoring MIB does not require implementation of either the ISO
DPA or IPP protocols.
Job Monitoring MIB, V0.86 Sep 19, 1997 Thus the job monitoring MIB does not require implementation of either
the ISO DPA or IPP protocols.
The MIB is designed so that an additional MIB(s) can be specified in the The MIB is designed so that an additional MIB(s) can be specified in
future for monitoring multi-function (scan, FAX, copy) jobs as an the future for monitoring multi-function (scan, FAX, copy) jobs as an
augmentation to this MIB. augmentation to this MIB.
2. Terminology and Job Model 2. Terminology and Job Model
This section defines the terms that are used in this specification and This section defines the terms that are used in this specification and
the general model for jobs. the general model for jobs in alphabetical order.
NOTE - Existing systems use conflicting terms, so these terms are NOTE - Existing systems use conflicting terms, so these terms are
drawn from the ISO 10175 Document Printing Application (DPA) drawn from the ISO 10175 Document Printing Application (DPA)
standard[iso-dpa]. For example, PostScript systems use the term standard[iso-dpa]. For example, PostScript systems use the term
session for what is called a job in this specification and the term session for what is called a job in this specification and the term
job to mean what is called a document in this specification. job to mean what is called a document in this specification.
Job: A unit of work whose results are expected together without Accounting Application: The SNMP management application that copies
interjection of unrelated results. A job contains one or more job information to some more permanent medium so that another
documents. application can perform accounting on the data for Accountants, Asset
Managers, and Capacity Planners use.
Job Set: A group of jobs that are queued and scheduled together Agent: The network entity that accepts SNMP requests from a monitor or
according to a specified scheduling algorithm for a specified device or accounting application and provides access to the instrumentation for
set of devices. For implementations that embed the SNMP agent in the managing jobs modeled by the management objects defined in the Job
device, the MIB job set normally represents all the jobs known to the Monitoring MIB module for a server or a device.
device, so that the implementation only implements a single job set. If
the SNMP agent is implemented in a server that controls one or more
devices, each MIB job set represents a job queue for (1) a specific
device or (2) set of devices, if the server uses a single queue to load
balance between several devices. Each job set is disjoint; no job SHALL
be represented in more than one MIB job set.
Document: A sub-section within a job that contains print data and Attribute: A name, value-pair that specifies a job or document
document instructions that apply to just the document. instruction, a status, or a condition of a job or a document that has
been submitted to a server or device. A particular attribute NEED NOT
be present in each job instance. In other words, attributes are
present in a job instance only when there is a need to express the
value, either because (1) the client supplied a value in the job
submission protocol, (2) the document data contained an embedded
attribute, or (3) the server or device supplied a default value. An
agent SHALL represent an attribute as an entry (row) in the Attribute
table in this MIB in which entries are present only when necessary.
Attributes are identified in this MIB by an enum.
Client: The network entity that end users use to submit jobs to Client: The network entity that end users use to submit jobs to
spoolers, servers, or printers and other devices, depending on the spoolers, servers, or printers and other devices, depending on the
configuration, using any job submission protocol over a serial or configuration, using any job submission protocol over a serial or
parallel port to a directly-connected device or over the network to a parallel port to a directly-connected device or over the network to a
networked-connected device. networked-connected device.
Server: A network entity that accepts jobs from clients and in turn
submits the jobs to printers and other devices that may be directly
connected to the server via a serial or parallel port or may be on the
network. A server MAY be a printer supervisor control program, or a
print spooler.
Device: A hardware entity that (1) interfaces to humans, such as a Device: A hardware entity that (1) interfaces to humans, such as a
device that produces marks on paper or scans marks on paper to produce device that produces marks on paper or scans marks on paper to produce
an electronic representation, (2) accesses digital media, such as CD- an electronic representation, (2) accesses digital media, such as CD-
Job Monitoring MIB, V0.86 Sep 19, 1997
ROMs, or (3) interfaces electronically to another device, such as sends ROMs, or (3) interfaces electronically to another device, such as sends
FAX data to another FAX device. FAX data to another FAX device.
Printer: A device that puts marks on media. Document: A sub-section within a job that contains print data and
document instructions that apply to just the document.
Supervisor: A server that contains a control program that controls a Document Instruction: An instruction specifying how to process the
printer or other device. A supervisor is a client to the printer or document. Document instructions MAY be passed in the job submission
other device. protocol separate from the actual document data, or MAY be embedded in
the document data or a combination, depending on the job submission
protocol and implementation.
Spooler: A server that accepts jobs, spools the data, and decides when End User: A user that uses a client to submit a print job. See
and on which printer to print the job. A spooler is a client to a "user".
printer or a printer supervisor, depending on implementation.
Spooling: The act of a device or server of (1) accepting jobs and (2) Impression: For a print job, an impression is the passage of the
writing the job's attributes and document data on to secondary storage. entire side of a sheet by the marker, whether or not any marks are made
and independent of the number of passes that the side makes past the
marker. Thus a four pass color process counts as a single impression,
as does highlight color. Impression counters count all kinds:
monochrome, highlight color, and full process color, while full color
counters only count full color impressions, and high light color
counters only count high light color impressions.
Queuing: The act of a device or server of ordering (queuing) the jobs One-sided processing involves one impression per sheet. Two-sided
for the purposes of scheduling the jobs to be processed. processing involves two impressions per sheet. If a two-sided document
has an odd number of pages, the last sheet still counts as two
impressions, if that sheet makes two passes through the marker or the
marker marks on both sides of a sheet in a single pass. Two-up
printing is the placement of two logical pages on one side of a sheet
and so is still a single impression. See "page" and "sheet".
Monitor or Job Monitoring Application: The SNMP management application NOTE - Since impressions include blank sides, it is suggested that
that End Users, and System Operators use to monitor jobs using SNMP. A accounting application implementers consider charging for sheets,
monitor MAY be either a separate application or MAY be part of the rather than impressions, possibly using the value of the sides
client that also submits jobs. attribute to select different charges for one-sided versus two-sided
printing, since some users may think that impressions don't include
blank sides.
Accounting Application: The SNMP management application that copies job Internal Collation: The production of the sheets for each document copy
information to some more permanent medium so that another application performed within the printing device by making multiple passes over
can perform accounting on the data for Accountants, Asset Managers, and either the source or an intermediate representation of the document.
Capacity Planners use.
Agent: The network entity that accepts SNMP requests from a monitor or Job: A unit of work whose results are expected together without
accounting application and provides access to the instrumentation for interjection of unrelated results. A job contains one or more
managing jobs modeled by the management objects defined in the Job documents.
Monitoring MIB module for a server or a device.
Job Accounting: The activity of a management application of accessing
the MIB and recording what happens to the job during and after the
processing of the job.
Job Instruction: An instruction specifying how, when, or where the job
is to be processed. Job instructions MAY be passed in the job
submission protocol or MAY be embedded in the document data or a
combination depending on the job submission protocol and
implementation.
Job Monitoring (using SNMP): The activity of a management application
of accessing the MIB and (1) identifying jobs in the job tables being
processed by the server, printer or other devices, and (2) displaying
information to the user about the processing of the job.
Job Monitoring Application: The SNMP management application that End
Users, and System Operators use to monitor jobs using SNMP. A monitor
MAY be either a separate application or MAY be part of the client that
also submits jobs. See "monitor".
Job Set: A group of jobs that are queued and scheduled together
according to a specified scheduling algorithm for a specified device or
set of devices. For implementations that embed the SNMP agent in the
device, the MIB job set normally represents all the jobs known to the
device, so that the implementation only implements a single job set.
If the SNMP agent is implemented in a server that controls one or more
devices, each MIB job set represents a job queue for (1) a specific
device or (2) set of devices, if the server uses a single queue to load
balance between several devices. Each job set is disjoint; no job
SHALL be represented in more than one MIB job set.
Monitor: Short for Job Monitoring Application.
Page: A page is a logical division of the original source document.
Number up is the imposition of more than one page on a single side of a
sheet. See "impression" and "sheet" and "two-up".
Proxy: An agent that acts as a concentrator for one or more other Proxy: An agent that acts as a concentrator for one or more other
agents by accepting SNMP operations on the behalf of one or more other agents by accepting SNMP operations on the behalf of one or more other
agents, forwarding them on to those other agents, gathering responses agents, forwarding them on to those other agents, gathering responses
from those other agents and returning them to the original requesting from those other agents and returning them to the original requesting
monitor. monitor.
User: A person that uses a client or a monitor. Queuing: The act of a device or server of ordering (queuing) the jobs
for the purposes of scheduling the jobs to be processed.
End User: A user that uses a client to submit a print job. Printer: A device that puts marks on media.
System Operator: A user that uses a monitor to monitor the system and Server: A network entity that accepts jobs from clients and in turn
carries out tasks to keep the system running. submits the jobs to printers and other devices that may be directly
connected to the server via a serial or parallel port or may be on the
network. A server MAY be a printer supervisor control program, or a
print spooler.
System Administrator: A user that specifies policy for the system. Sheet: A sheet is a single instance of a medium, whether printing on
one or both sides of the medium. See "impression" and "page".
Job Monitoring MIB, V0.86 Sep 19, 1997 SNMP Information Object: A name, value-pair that specifies an action,
a status, or a condition in an SNMP MIB. Objects are identified in
SNMP by an OBJECT IDENTIFIER.
Job Instruction: An instruction specifying how, when, or where the job Spooler: A server that accepts jobs, spools the data, and decides when
is to be processed. Job instructions MAY be passed in the job and on which printer to print the job. A spooler is a client to a
submission protocol or MAY be embedded in the document data or a printer or a printer supervisor, depending on implementation.
combination depending on the job submission protocol and implementation.
Document Instruction: An instruction specifying how to process the Spooling: The act of a device or server of (1) accepting jobs and (2)
document. Document instructions MAY be passed in the job submission writing the job's attributes and document data on to secondary storage.
protocol separate from the actual document data, or MAY be embedded in
the document data or a combination, depending on the job submission
protocol and implementation.
SNMP Information Object: A name, value-pair that specifies an action, a Stacked: When a media sheet is placed in an output bin of a device.
status, or a condition in an SNMP MIB. Objects are identified in SNMP
by an OBJECT IDENTIFIER.
Attribute: A name, value-pair that specifies a job or document Supervisor: A server that contains a control program that controls a
instruction, a status, or a condition of a job or a document that has printer or other device. A supervisor is a client to the printer or
been submitted to a server or device. A particular attribute NEED NOT other device.
be present in each job instance. In other words, attributes are present
in a job instance only when there is a need to express the value, either
because (1) the client supplied a value in the job submission protocol,
(2) the document data contained an embedded attribute, or (3) the server
or device supplied a default value. An agent SHALL represent an
attribute as an entry (row) in the Attribute table in this MIB in which
entries are present only when necessary. Attributes are identified in
this MIB by an enum.
Job Monitoring (using SNMP): The activity of a management application System Operator: A user that uses a monitor to monitor the system and
of accessing the MIB and (1) identifying jobs in the job tables being carries out tasks to keep the system running.
processed by the server, printer or other devices, and (2) displaying
information to the user about the processing of the job.
Job Accounting: The activity of a management application of accessing System Administrator: A user that specifies policy for the system.
the MIB and recording what happens to the job during and after the
processing of the job. Two-up: The placement of two pages on one side of a sheet so that each
side or impressions counts as two pages. See "page" and "sheet".
User: A person that uses a client or a monitor. See "end user".
2.1 System Configurations for the Job Monitoring MIB 2.1 System Configurations for the Job Monitoring MIB
This section enumerates the three configurations in which the Job This section enumerates the three configurations in which the Job
Monitoring MIB is intended to be used. To simplify the pictures, the Monitoring MIB is intended to be used. To simplify the pictures, the
devices are shown as printers. See section 1.1 entitled "Types of devices are shown as printers. See section 1.1 entitled "Types of
Information in the MIB". Information in the MIB".
The diagram in the Printer MIB[print-mib] entitled: "One Printer's View The diagram in the Printer MIB[print-mib] entitled: "One Printer's View
of the Network" is assumed for this MIB as well. Please refer to that of the Network" is assumed for this MIB as well. Please refer to that
diagram to aid in understanding the following system configurations. diagram to aid in understanding the following system configurations.
Job Monitoring MIB, V0.86 Sep 19, 1997
2.1.1 Configuration 1 - client-printer 2.1.1 Configuration 1 - client-printer
In the client-printer configuration 1, the client(s) submit jobs In the client-printer configuration 1, the client(s) submit jobs
directly to the printer, either by some direct connect, or by network directly to the printer, either by some direct connect, or by network
connection. connection.
The job submitting client and/or monitoring application monitor jobs by The job submitting client and/or monitoring application monitor jobs by
communicating directly with an agent that is part of the printer. The communicating directly with an agent that is part of the printer. The
agent in the printer SHALL keep the job in the Job Monitoring MIB as agent in the printer SHALL keep the job in the Job Monitoring MIB as
long as the job is in the printer, plus a defined time period after the long as the job is in the printer, plus a defined time period after the
job enters the completed state in which accounting programs can copy out job enters the completed state in which accounting programs can copy
the accounting data from the Job Monitoring MIB. out the accounting data from the Job Monitoring MIB.
all end-user ######## SNMP query all end-user ######## SNMP query
+-------+ +--------+ ---- job submission +-------+ +--------+ ---- job submission
|monitor| | client | |monitor| | client |
+---#---+ +--#--+--+ +---#---+ +--#--+--+
# # | # # |
# ############ | # ############ |
# # | # # |
+==+===#=#=+==+ | +==+===#=#=+==+ |
| | agent | | | | | agent | | |
skipping to change at page 14, line 5 skipping to change at page 15, line 37
4. A client MAY submit jobs to multiple printers. 4. A client MAY submit jobs to multiple printers.
5. A monitor MAY monitor multiple printers. 5. A monitor MAY monitor multiple printers.
2.1.2 Configuration 2 - client-server-printer - agent in the server 2.1.2 Configuration 2 - client-server-printer - agent in the server
In the client-server-printer configuration 2, the client(s) submit jobs In the client-server-printer configuration 2, the client(s) submit jobs
to an intermediate server by some network connection, not directly to to an intermediate server by some network connection, not directly to
the printer. While configuration 2 is included, the design center for the printer. While configuration 2 is included, the design center for
this MIB is configurations 1 and 3. this MIB is configurations 1 and 3.
Job Monitoring MIB, V0.86 Sep 19, 1997
The job submitting client and/or monitoring application monitor jobs by The job submitting client and/or monitoring application monitor jobs by
communicating directly with: communicating directly with:
A Job Monitoring MIB agent that is part of the server (or a front A Job Monitoring MIB agent that is part of the server (or a front
for the server) for the server)
There is no SNMP Job Monitoring MIB agent in the printer in There is no SNMP Job Monitoring MIB agent in the printer in
configuration 2, at least that the client or monitor are aware. In this configuration 2, at least that the client or monitor are aware. In
configuration, the agent SHALL return the current values of the objects this configuration, the agent SHALL return the current values of the
in the Job Monitoring MIB both for jobs the server keeps and jobs that objects in the Job Monitoring MIB both for jobs the server keeps and
the server has submitted to the printer. The Job Monitoring MIB agent jobs that the server has submitted to the printer. The Job Monitoring
SHALL obtain the required information from the printer by a method that MIB agent SHALL obtain the required information from the printer by a
is beyond the scope of this document. The agent in the server SHALL method that is beyond the scope of this document. The agent in the
keep the job in the Job Monitoring MIB in the server as long as the job server SHALL keep the job in the Job Monitoring MIB in the server as
is in the printer, plus a defined time period after the job enters the long as the job is in the printer, plus a defined time period after the
completed state in which accounting programs can copy out the accounting job enters the completed state in which accounting programs can copy
data from the Job Monitoring MIB. out the accounting data from the Job Monitoring MIB.
all end-user all end-user
+-------+ +----------+ +-------+ +----------+
|monitor| | client | ######## SNMP query |monitor| | client | ######## SNMP query
+---+---# +---#----+-+ **** non-SNMP cntrl +---+---# +---#----+-+ **** non-SNMP cntrl
# # | ---- job submission # # | ---- job submission
# # | # # |
# # | # # |
#=====#=+==v==+ #=====#=+==v==+
| agent | | | agent | |
skipping to change at page 15, line 4 skipping to change at page 16, line 34
| | Print Job Delivery Channel | | Print Job Delivery Channel
| | | |
+=============+ +=============+
Figure 2-2 - Configuration 2 - client-server-printer - agent in the Figure 2-2 - Configuration 2 - client-server-printer - agent in the
server server
The Job Monitoring MIB is designed to support the following The Job Monitoring MIB is designed to support the following
relationships (not shown in Figure 2-2): relationships (not shown in Figure 2-2):
1. Multiple clients MAY submit jobs to a server. 1. Multiple clients MAY submit jobs to a server.
Job Monitoring MIB, V0.86 Sep 19, 1997
2. Multiple clients MAY monitor a server. 2. Multiple clients MAY monitor a server.
3. Multiple monitors MAY monitor a server. 3. Multiple monitors MAY monitor a server.
4. A client MAY submit jobs to multiple servers. 4. A client MAY submit jobs to multiple servers.
5. A monitor MAY monitor multiple servers. 5. A monitor MAY monitor multiple servers.
6. Multiple servers MAY submit jobs to a printer. 6. Multiple servers MAY submit jobs to a printer.
7. Multiple servers MAY control a printer. 7. Multiple servers MAY control a printer.
2.1.3 Configuration 3 - client-server-printer - client monitors printer 2.1.3 Configuration 3 - client-server-printer - client monitors printer
agent and server agent and server
skipping to change at page 15, line 36 skipping to change at page 17, line 10
2. A Job Monitoring MIB agent that is part of the printer to 2. A Job Monitoring MIB agent that is part of the printer to
monitor jobs after the server passes the jobs to the printer. monitor jobs after the server passes the jobs to the printer.
In such configurations, the server deletes its copy of the job In such configurations, the server deletes its copy of the job
from the server after submitting the job to the printer usually from the server after submitting the job to the printer usually
almost immediately (before the job does much processing, if almost immediately (before the job does much processing, if
any). any).
In configuration 3, the agent (in the printer) SHALL keep the values of In configuration 3, the agent (in the printer) SHALL keep the values of
the objects in the Job Monitoring MIB that the agent implements updated the objects in the Job Monitoring MIB that the agent implements updated
for a job that the server has submitted to the printer. The agent SHALL for a job that the server has submitted to the printer. The agent
obtain information about the jobs submitted to the printer from the SHALL obtain information about the jobs submitted to the printer from
server (either in the job submission protocol, in the document data, or the server (either in the job submission protocol, in the document
by direct query of the server), in order to populate some of the objects data, or by direct query of the server), in order to populate some of
the Job Monitoring MIB in the printer. The agent in the printer SHALL the objects the Job Monitoring MIB in the printer. The agent in the
keep the job in the Job Monitoring MIB as long as the job is in the printer SHALL keep the job in the Job Monitoring MIB as long as the job
Printer, and longer in order to implement the completed state in which is in the Printer, and longer in order to implement the completed state
monitoring programs can copy out the accounting data from the Job in which monitoring programs can copy out the accounting data from the
Monitoring MIB. Job Monitoring MIB.
Job Monitoring MIB, V0.86 Sep 19, 1997
all end-user all end-user
+-------+ +----------+ +-------+ +----------+
|monitor| | client | ######## SNMP query |monitor| | client | ######## SNMP query
+---+---* +---*----+-+ **** non-SNMP query +---+---* +---*----+-+ **** non-SNMP query
# * * | ---- job submission # * * | ---- job submission
# * * | # * * |
# * * | # * * |
# *=====v====v==+ # *=====v====v==+
# | | # | |
skipping to change at page 16, line 49 skipping to change at page 18, line 11
5. A monitor MAY monitor multiple servers. 5. A monitor MAY monitor multiple servers.
6. Multiple servers MAY submit jobs to a printer. 6. Multiple servers MAY submit jobs to a printer.
7. Multiple servers MAY control a printer. 7. Multiple servers MAY control a printer.
3. Managed Object Usage 3. Managed Object Usage
This section describes the usage of the objects in the MIB. This section describes the usage of the objects in the MIB.
3.1 Conformance Considerations 3.1 Conformance Considerations
In order to achieve interoperability between job monitoring applications In order to achieve interoperability between job monitoring
and job monitoring agents, this specification includes the conformance applications and job monitoring agents, this specification includes the
requirements for both monitoring applications and agents. conformance requirements for both monitoring applications and agents.
Job Monitoring MIB, V0.86 Sep 19, 1997
3.1.1 Conformance Terminology 3.1.1 Conformance Terminology
This specification uses the verbs: "SHALL", "SHOULD", "MAY", and "NEED This specification uses the verbs: "SHALL", "SHOULD", "MAY", and "NEED
NOT" to specify conformance requirements according to RFC 2119 [req- NOT" to specify conformance requirements according to RFC 2119 [req-
words] as follows: words] as follows:
. "SHALL": indicates an action that the subject of the sentence must "SHALL": indicates an action that the subject of the sentence must
implement in order to claim conformance to this specification implement in order to claim conformance to this specification
. "MAY": indicates an action that the subject of the sentence does "MAY": indicates an action that the subject of the sentence does not
not have to implement in order to claim conformance to this have to implement in order to claim conformance to this
specification, in other words that action is an implementation specification, in other words that action is an implementation option
option
. "NEED NOT": indicates an action that the subject of the sentence "NEED NOT": indicates an action that the subject of the sentence
does not have to implement in order to claim conformance to this does not have to implement in order to claim conformance to this
specification. The verb "NEED NOT" is used instead of "may not", specification. The verb "NEED NOT" is used instead of "may not",
since "may not" sounds like a prohibition. since "may not" sounds like a prohibition.
. "SHOULD": indicates an action that is recommended for the subject "SHOULD": indicates an action that is recommended for the subject of
of the sentence to implement, but is not required, in order to the sentence to implement, but is not required, in order to claim
claim conformance to this specification. conformance to this specification.
3.1.2 Agent Conformance Requirements 3.1.2 Agent Conformance Requirements
A conforming agent: A conforming agent:
1. SHALL implement all MANDATORY groups in this specification. 1. SHALL implement all MANDATORY groups in this specification.
2. SHALL implement any attributes if (1) the server or device 2. SHALL implement any attributes if (1) the server or device
supports the functionality represented by the attribute and (2) supports the functionality represented by the attribute and (2)
the information is available to the agent. the information is available to the agent.
3. SHOULD implement both forms of an attribute if it implements an 3. SHOULD implement both forms of an attribute if it implements an
attribute that permits a choice of INTEGER and OCTET STRING attribute that permits a choice of INTEGER and OCTET STRING
forms, since implementing both forms may help management forms, since implementing both forms may help management
applications by giving them a choice of representations, since applications by giving them a choice of representations, since
the representation are equivalent. See the JmAttributeTypeTC the representation are equivalent. See the JmAttributeTypeTC
textual-convention. textual-convention.
NOTE - This MIB, like the Printer MIB, is written following the NOTE - This MIB, like the Printer MIB, is written following the subset
subset of SMIv2 that can be supported by SMIv1 and SNMPv1 of SMIv2 that can be supported by SMIv1 and SNMPv1 implementations.
implementations.
Job Monitoring MIB, V0.86 Sep 19, 1997
3.1.2.1 MIB II System Group objects 3.1.2.1 MIB II System Group objects
The Job Monitoring MIB agent SHALL implement all objects in the System The Job Monitoring MIB agent SHALL implement all objects in the System
Group of MIB-II[mib-II], whether the Printer MIB[print-mib] is Group of MIB-II[mib-II], whether the Printer MIB[print-mib] is
implemented or not. implemented or not.
3.1.2.2 MIB II Interface Group objects 3.1.2.2 MIB II Interface Group objects
The Job Monitoring MIB agent SHALL implement all objects in the The Job Monitoring MIB agent SHALL implement all objects in the
Interfaces Group of MIB-II[mib-II], whether the Printer MIB[print-mib] Interfaces Group of MIB-II[mib-II], whether the Printer MIB[print-mib]
is implemented or not. is implemented or not.
3.1.2.3 Printer MIB objects 3.1.2.3 Printer MIB objects
If the agent is providing access to a device that is a printer, the If the agent is providing access to a device that is a printer, the
agent SHALL implement all of the MANDATORY objects in the Printer agent SHALL implement all of the MANDATORY objects in the Printer
MIB[print-mib] and all the objects in other MIBs that conformance to the MIB[print-mib] and all the objects in other MIBs that conformance to
Printer MIB requires, such as the Host Resources MIB[hr-mib]. If the the Printer MIB requires, such as the Host Resources MIB[hr-mib]. If
agent is providing access to a server that controls one or more direct- the agent is providing access to a server that controls one or more
connect or networked printers, the agent NEED NOT implement the Printer direct-connect or networked printers, the agent NEED NOT implement the
MIB and NEED NOT implement the Host Resources MIB. Printer MIB and NEED NOT implement the Host Resources MIB.
3.1.3 Job Monitoring Application Conformance Requirements 3.1.3 Job Monitoring Application Conformance Requirements
A conforming job monitoring application: A conforming job monitoring application:
1. SHALL accept the full syntactic range for all objects in all 1. SHALL accept the full syntactic range for all objects in all
MANDATORY groups and all MANDATORY attributes that are required MANDATORY groups and all MANDATORY attributes that are required
to be implemented by an agent according to Section 3.1.2 and to be implemented by an agent according to Section 3.1.2 and
SHALL either present them to the user or ignore them. SHALL either present them to the user or ignore them.
2. SHALL accept the full syntactic range for all attributes, 2. SHALL accept the full syntactic range for all attributes,
including enum and bit values specified in this specification including enum and bit values specified in this specification
and additional ones that may be registered with IANA and SHALL and additional ones that may be registered with the PWG and
either present them to the user or ignore them. In particular, SHALL either present them to the user or ignore them. In
a conforming job monitoring application SHALL not malfunction particular, a conforming job monitoring application SHALL not
when receiving any standard or registered enum or bit values. malfunction when receiving any standard or registered enum or
See Section 3.6 entitled "IANA Considerations". bit values. See Section 3.7 entitled "IANA and PWG
Registration Considerations".
3. SHALL NOT fail when operating with agents that materialize 3. SHALL NOT fail when operating with agents that materialize
attributes after the job has been submitted, as opposed to when attributes after the job has been submitted, as opposed to when
the job is submitted. the job is submitted.
4. SHALL, if it supports a time attribute, accept either form of 4. SHALL, if it supports a time attribute, accept either form of
the time attribute, since agents are free to implement either the time attribute, since agents are free to implement either
time form. time form.
Job Monitoring MIB, V0.86 Sep 19, 1997
3.2 The Job Tables and the Oldest Active and Newest Active Indexes 3.2 The Job Tables and the Oldest Active and Newest Active Indexes
The jmJobTable and jmAttributeTable contain objects and attributes, The jmJobTable and jmAttributeTable contain objects and attributes,
respectively, for each job in a job set. These first two indexes are: respectively, for each job in a job set. These first two indexes are:
1. jmGeneralJobSetIndex - which job set 1. jmGeneralJobSetIndex - which job set
2. jmJobIndex - which job in the job set 2. jmJobIndex - which job in the job set
In order for a monitoring application to quickly find that active jobs In order for a monitoring application to quickly find that active jobs
(jobs in the pending, processing, or processingStopped states), the MIB (jobs in the pending, processing, or processingStopped states), the MIB
contains two indexes: contains two indexes:
1. jmGeneralOldestActiveJobIndex - the index of the active job that 1. jmGeneralOldestActiveJobIndex - the index of the active job
has been in the tables the longest. that has been in the tables the longest.
2. jmGeneralNewestActiveJobIndex - the index of the active job that 2. jmGeneralNewestActiveJobIndex - the index of the active job
has been most recently added to the tables. that has been most recently added to the tables.
The agent SHALL assign the next incremental value of jmJobIndex to the The agent SHALL assign the next incremental value of jmJobIndex to the
job, when a new job is accepted by the server or device to which the job, when a new job is accepted by the server or device to which the
agent is providing access. If the incremented value of jmJobIndex would agent is providing access. If the incremented value of jmJobIndex
exceed the implementation-defined maximum value for jmJobIndex, the would exceed the implementation-defined maximum value for jmJobIndex,
agent SHALL 'wrap' back to 1. An agent uses the resulting value of the agent SHALL 'wrap' back to 1. An agent uses the resulting value of
jmJobIndex for storing information in the jmJobTable and the jmJobIndex for storing information in the jmJobTable and the
jmAttributeTable about the job. jmAttributeTable about the job.
It is recommended that the largest value for jmJobIndex be much larger It is recommended that the largest value for jmJobIndex be much larger
than the maximum number of jobs that the implementation can contain at a than the maximum number of jobs that the implementation can contain at
single time, so as to minimize the premature re-use of a jmJobIndex a single time, so as to minimize the premature re-use of a jmJobIndex
value for a newer job while clients retain the same 'stale' value for an value for a newer job while clients retain the same 'stale' value for
older job. an older job.
It is recommended that agents that are providing access to It is recommended that agents that are providing access to
servers/devices that already allocate job-identifiers for jobs as servers/devices that already allocate job-identifiers for jobs as
integers use the same integer value for the jmJobIndex. Then management integers use the same integer value for the jmJobIndex. Then
applications using this MIB and applications using other protocols will management applications using this MIB and applications using other
see the same job identifiers for the same jobs. Agents providing access protocols will see the same job identifiers for the same jobs. Agents
to systems that contain jobs with a job identifier of 0 SHALL map the providing access to systems that contain jobs with a job identifier of
job identifier value 0 to a jmJobIndex value that is one higher than the 0 SHALL map the job identifier value 0 to a jmJobIndex value that is
highest job identifier value that any job can have on that system. Then one higher than the highest job identifier value that any job can have
only job 0 will have a different job-identifier value than the job's on that system. Then only job 0 will have a different job-identifier
jmJobIndex value. value than the job's jmJobIndex value.
NOTE - If a server or device accepts jobs using multiple job submission NOTE - If a server or device accepts jobs using multiple job submission
protocols, it may be difficult for the agent to meet the recommendation protocols, it may be difficult for the agent to meet the recommendation
to use the job-identifier values that the server or device assigns as to use the job-identifier values that the server or device assigns as
the jmJobIndex value, unless the server/device assigns job-identifiers the jmJobIndex value, unless the server/device assigns job-identifiers
for each of its job submission protocols from the same job-identifier for each of its job submission protocols from the same job-identifier
number space. number space.
Job Monitoring MIB, V0.86 Sep 19, 1997
Each time a new job is accepted by the server or device that the agent 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, is providing access to AND that job is to be 'active' (pending,
processing, or processingStopped, but not pendingHeld), the agent SHALL processing, or processingStopped, but not pendingHeld), the agent SHALL
copy the value of the job's jmJobIndex to the copy the value of the job's jmJobIndex to the
jmGeneralNewestActiveJobIndex object. If the new job is to be jmGeneralNewestActiveJobIndex object. If the new job is to be
'inactive' (pendingHeld state), the agent SHALL not change the value of 'inactive' (pendingHeld state), the agent SHALL not change the value of
jmGeneralNewestActiveJobIndex object (though the agent SHALL assign the jmGeneralNewestActiveJobIndex object (though the agent SHALL assign the
next incremental jmJobIndex value to the job). next incremental jmJobIndex value to the job).
When a job transitions from one of the 'active' job states (pending, When a job transitions from one of the 'active' job states (pending,
skipping to change at page 20, line 29 skipping to change at page 21, line 18
that matches the jmGeneralOldestActiveJobIndex object, the agent SHALL that matches the jmGeneralOldestActiveJobIndex object, the agent SHALL
advance (or wrap) the value to the next oldest 'active' job, if any. advance (or wrap) the value to the next oldest 'active' job, if any.
See the JmJobStateTC textual-convention for a definition of the job See the JmJobStateTC textual-convention for a definition of the job
states. states.
Whenever a job transitions from one of the 'inactive' job states to one Whenever a job transitions from one of the 'inactive' job states to one
of the 'active' job states (from pendingHeld to pending or processing), of the 'active' job states (from pendingHeld to pending or processing),
the agent SHALL update the value of either the the agent SHALL update the value of either the
jmGeneralOldestActiveJobIndex or the jmGeneralNewestActiveJobIndex jmGeneralOldestActiveJobIndex or the jmGeneralNewestActiveJobIndex
objects, or both, if the job's jmJobIndex value is outside the range objects, or both, if the job's jmJobIndex value is outside the range
between jmGeneralOldestActiveJobIndex and jmGeneralNewestActiveJobIndex. between jmGeneralOldestActiveJobIndex and
jmGeneralNewestActiveJobIndex.
When all jobs become 'inactive', i.e., enter the pendingHeld, completed, When all jobs become 'inactive', i.e., enter the pendingHeld,
canceled, or aborted states, the agent SHALL set the value of both the completed, canceled, or aborted states, the agent SHALL set the value
jmGeneralOldestActiveJobIndex and jmGeneralNewestActiveJobIndex objects of both the jmGeneralOldestActiveJobIndex and
to 0. jmGeneralNewestActiveJobIndex objects to 0.
NOTE - Applications that wish to efficiently access all of the active NOTE - Applications that wish to efficiently access all of the active
jobs MAY use jmGeneralOldestActiveJobIndex value to start with the jobs MAY use jmGeneralOldestActiveJobIndex value to start with the
oldest active job and continue until they reach the index value equal to oldest active job and continue until they reach the index value equal
jmGeneralNewestActiveJobIndex, skipping over any pendingHeld, completed, to jmGeneralNewestActiveJobIndex, skipping over any pendingHeld,
canceled, or aborted jobs that might intervene. completed, canceled, or aborted jobs that might intervene.
If an application detects that the jmGeneralNewestActiveJobIndex is If an application detects that the jmGeneralNewestActiveJobIndex is
smaller than jmGeneralOldestActiveJobIndex, the job index has wrapped. smaller than jmGeneralOldestActiveJobIndex, the job index has wrapped.
In this case, the application SHALL reset the index to 1 when the end of In this case, the application SHALL reset the index to 1 when the end
the table is reached and continue the GetNext operations to find the of the table is reached and continue the GetNext operations to find the
rest of the active jobs. rest of the active jobs.
NOTE - Applications detect the end of the jmAttributeTable table when NOTE - Applications detect the end of the jmAttributeTable table when
the OID returned by the GetNext operation is an OID in a different MIB. the OID returned by the GetNext operation is an OID in a different MIB.
There is no object in this MIB that specifies the maximum value for the There is no object in this MIB that specifies the maximum value for the
jmJobIndex supported by the implementation. jmJobIndex supported by the implementation.
Job Monitoring MIB, V0.86 Sep 19, 1997
When the server or device is power-cycled, the agent SHALL remember the When the server or device is power-cycled, the agent SHALL remember the
next jmJobIndex value to be assigned, so that new jobs are not assigned next jmJobIndex value to be assigned, so that new jobs are not assigned
the same jmJobIndex as recent jobs before the power cycle. the same jmJobIndex as recent jobs before the power cycle.
3.3 The Attribute Mechanism 3.3 The Attribute Mechanism
Attributes are similar to information objects, except that attributes Attributes are similar to information objects, except that attributes
are identified by an enum, instead of an OID, so that attributes may be are identified by an enum, instead of an OID, so that attributes may be
registered without requiring a new MIB. Also an implementation that registered without requiring a new MIB. Also an implementation that
does not have the functionality represented by the attribute can omit does not have the functionality represented by the attribute can omit
skipping to change at page 22, line 4 skipping to change at page 22, line 38
GetNext operation returns attributes. Most attributes apply to all GetNext operation returns attributes. Most attributes apply to all
three configurations covered by this MIB specification (see section 2.1 three configurations covered by this MIB specification (see section 2.1
entitled "System Configurations for the Job Monitoring MIB"). Those entitled "System Configurations for the Job Monitoring MIB"). Those
attributes that apply to a particular configuration are indicated as attributes that apply to a particular configuration are indicated as
'Configuration n:' and SHALL NOT be used with other configurations. 'Configuration n:' and SHALL NOT be used with other configurations.
3.3.1 Conformance of Attribute Implementation 3.3.1 Conformance of Attribute Implementation
An agent SHALL implement any attribute if (1) the server or device An agent SHALL implement any attribute if (1) the server or device
supports the functionality represented by the attribute and (2) the supports the functionality represented by the attribute and (2) the
Job Monitoring MIB, V0.86 Sep 19, 1997
information is available to the agent. The agent MAY create the information is available to the agent. The agent MAY create the
attribute row in the jmAttributeTable when the information is available attribute row in the jmAttributeTable when the information is available
or MAY create the row earlier with the designated 'unknown' value or MAY create the row earlier with the designated 'unknown' value
appropriate for that attribute. See next section. appropriate for that attribute. See next section.
If the server or device does not implement or does not provide access to If the server or device does not implement or does not provide access
the information about an attribute, the agent SHOULD NOT create the to the information about an attribute, the agent SHOULD NOT create the
corresponding row in the jmAttributeTable. corresponding row in the jmAttributeTable.
3.3.2 Useful, 'Unknown', and 'Other' Values for Objects and Attributes 3.3.2 Useful, 'Unknown', and 'Other' Values for Objects and Attributes
Some attributes have a 'useful' Integer32 value, some have a 'useful' Some attributes have a 'useful' Integer32 value, some have a 'useful'
OCTET STRING value, some MAY have either or both depending on OCTET STRING value, some MAY have either or both depending on
implementation, and some MUST have both. See the JmAttributeTypeTC implementation, and some MUST have both. See the JmAttributeTypeTC
textual convention for the specification of each attribute. textual convention for the specification of each attribute.
SNMP requires that if an object cannot be implemented because its values SNMP requires that if an object cannot be implemented because its
cannot be accessed, then a compliant agent SHALL return an SNMP error in values cannot be accessed, then a compliant agent SHALL return an SNMP
SNMPv1 or an exception value in SNMPv2. However, this MIB has been error in SNMPv1 or an exception value in SNMPv2. However, this MIB has
designed so that 'all' objects can and SHALL be implemented by an agent, been designed so that 'all' objects can and SHALL be implemented by an
so that neither the SNMPv1 error nor the SNMPv2 exception value SHALL be agent, so that neither the SNMPv1 error nor the SNMPv2 exception value
generated by the agent. This MIB has also been designed so that when an
agent materializes an attribute, the agent SHALL materialize a row SHALL be generated by the agent. This MIB has also been designed so
consisting of both the jmAttributeValueAsInteger and that when an agent materializes an attribute, the agent SHALL
materialize a row consisting of both the jmAttributeValueAsInteger and
jmAttributeValueAsOctets objects. jmAttributeValueAsOctets objects.
In general, values for objects and attributes have been chosen so that a In general, values for objects and attributes have been chosen so that
management application will be able to determine whether a 'useful', a management application will be able to determine whether a 'useful',
'unknown', or 'other' value is available. When a useful value is not 'unknown', or 'other' value is available. When a useful value is not
available for an object that agent SHALL return a zero-length string for available for an object that agent SHALL return a zero-length string
octet strings, the value 'unknown(2)' for enums, a '0' value for an for octet strings, the value 'unknown(2)' for enums, a '0' value for an
object that represents an index in another table, and a value '-2' for object that represents an index in another table, and a value '-2' for
counting integers. counting integers.
Since each attribute is represented by a row consisting of both the Since each attribute is represented by a row consisting of both the
jmAttributeValueAsInteger and jmAttributeValueAsOctets MANDATORY jmAttributeValueAsInteger and jmAttributeValueAsOctets MANDATORY
objects, SNMP requires that the agent SHALL always create an attribute objects, SNMP requires that the agent SHALL always create an attribute
row with both objects specified. However, for most attributes the agent row with both objects specified. However, for most attributes the
SHALL return a "useful" value for one of the objects and SHALL return agent SHALL return a "useful" value for one of the objects and SHALL
the 'other' value for the other object. For integer only attributes, return the 'other' value for the other object. For integer only
the agent SHALL always return a zero-length string value for the attributes, the agent SHALL always return a zero-length string value
jmAttributeValueAsOctets object. For octet string only attributes, the for the jmAttributeValueAsOctets object. For octet string only
agent SHALL always return a '-1' value for the jmAttributeValueAsInteger attributes, the agent SHALL always return a '-1' value for the
object. jmAttributeValueAsInteger object.
Job Monitoring MIB, V0.86 Sep 19, 1997
3.3.3 Data Sub-types and Attribute Naming Conventions 3.3.3 Data Sub-types and Attribute Naming Conventions
Many attributes are sub-typed to give a more specific data type than Many attributes are sub-typed to give a more specific data type than
Integer32 or OCTET STRING. The data sub-type of each attribute is Integer32 or OCTET STRING. The data sub-type of each attribute is
indicated on the first line(s) of the description. Some attributes have indicated on the first line(s) of the description. Some attributes
several different data sub-type representations. When an attribute has have several different data sub-type representations. When an
both an Integer32 data sub-type and an OCTET STRING data sub-type, the attribute has both an Integer32 data sub-type and an OCTET STRING data
attribute can be represented in a single row in the jmAttributeTable. sub-type, the attribute can be represented in a single row in the
In this case, the data sub-type name is not included as the last part of jmAttributeTable. In this case, the data sub-type name is not included
the name of the attribute, e.g., documentFormat(38) which is both an as the last part of the name of the attribute, e.g., documentFormat(38)
enum and/or a name. When the data sub-types cannot be represented by a which is both an enum and/or a name. When the data sub-types cannot be
single row in the jmAttributeTable, each such representation is represented by a single row in the jmAttributeTable, each such
considered a separate attribute and is assigned a separate name and enum representation is considered a separate attribute and is assigned a
value. For these attributes, the name of the data sub-type is the last separate name and enum value. For these attributes, the name of the
part of the name of the attribute: Name, Index, DateAndTime, TimeStamp, data sub-type is the last part of the name of the attribute: Name,
etc. For example, documentFormatIndex(37) is an index. Index, DateAndTime, TimeStamp, etc. For example,
documentFormatIndex(37) is an index.
NOTE: The Table of Contents also lists the data sub-type and/or data NOTE: The Table of Contents also lists the data sub-type and/or data
sub-types of each attribute, using the textual-convention name when such sub-types of each attribute, using the textual-convention name when
is defined. The following abbreviations are used in the Table of such is defined. The following abbreviations are used in the Table of
Contents as shown: Contents as shown:
'Int32(-2..)' Integer32(-2..2147483647) 'Int32(-2..)' Integer32(-2..2147483647)
'Int32(0..)' Integer32(0..2147483647) 'Int32(0..)' Integer32(0..2147483647)
'Int32(1..)' Integer32(1..2147483647) 'Int32(1..)' Integer32(1..2147483647)
'Int32(m..n)' For all other Integer ranges, the lower 'Int32(m..n)' For all other Integer ranges, the lower
and upper bound of the range is and upper bound of the range is
indicated. indicated.
'UTF8String63' JmUTF8StringTC(SIZE(0..63)) 'UTF8String63' JmUTF8StringTC(SIZE(0..63))
'JobString63' JmJobStringTC(SIZE(0..63)) 'JobString63' JmJobStringTC(SIZE(0..63))
'Octets63' OCTET STRING(SIZE(0..63)) 'Octets63' OCTET STRING(SIZE(0..63))
'Octets(m..n)' For all other OCTET STRING ranges, the 'Octets(m..n)' For all other OCTET STRING ranges, the
skipping to change at page 23, line 50 skipping to change at page 24, line 32
3.3.4 Single-Value (Row) Versus Multi-Value (MULTI-ROW) Attributes 3.3.4 Single-Value (Row) Versus Multi-Value (MULTI-ROW) Attributes
Most attributes SHALL have only one row per job. However, a few Most attributes SHALL have only one row per job. However, a few
attributes can have multiple values per job or even per document, where attributes can have multiple values per job or even per document, where
each value is a separate row in the jmAttributeTable. Unless indicated each value is a separate row in the jmAttributeTable. Unless indicated
with 'MULTI-ROW:' in the JmAttributeTypeTC description, an agent SHALL with 'MULTI-ROW:' in the JmAttributeTypeTC description, an agent SHALL
ensure that each attribute occurs only once in the jmAttributeTable for ensure that each attribute occurs only once in the jmAttributeTable for
a job. Most of the 'MULTI-ROW' attributes do not allow duplicate a job. Most of the 'MULTI-ROW' attributes do not allow duplicate
values, i.e., the agent SHALL ensure that each value occurs only once values, i.e., the agent SHALL ensure that each value occurs only once
for a job. Only if the specification of the 'MULTI-ROW' attribute also for a job. Only if the specification of the 'MULTI-ROW' attribute also
says "the values NEED NOT be unique" can the agent allow duplicate says "There is no restriction on the same xxx occurring in multiple
values to occur for the job. rows" can the agent allow duplicate values to occur for the job.
NOTE - Duplicates are allowed for 'extensive' 'MULTI-ROW' attributes, NOTE - Duplicates are allowed for 'extensive' 'MULTI-ROW' attributes,
such as fileName(34) or documentName(35) which are specified to be 'per- such as fileName(34) or documentName(35) which are specified to be
Job Monitoring MIB, V0.86 Sep 19, 1997 'per-document' attributes, but are not allowed for 'intensive' 'MULTI-
ROW' attributes, such as mediumConsumed(171) and documentFormat(38)
document' attributes, but are not allowed for 'intensive' 'MULTI-ROW' which are specified to be 'per-job' attributes.
attributes, such as mediumConsumed(171) and documentFormat(38) which are
specified to be 'per-job' attributes.
3.3.5 Requested Attributes 3.3.5 Requested Objects and Attributes
A number of attributes record requirements for the job. Such attribute A number of objects and attributes record requirements for the job.
names end with the word 'Requested'. In the interests of brevity, the Such object and attribute names end with the word 'Requested'. In the
phrase 'requested' SHALL mean: (1) requested by the client (or interests of brevity, the phrase 'requested' SHALL mean: (1) requested
intervening server) in the job submission protocol and MAY also mean (2) by the client (or intervening server) in the job submission protocol
embedded in the submitted document data, and/or (3) defaulted by the and MAY also mean (2) embedded in the submitted document data, and/or
recipient device or server with the same semantics as if the requester (3) defaulted by the recipient device or server with the same semantics
had supplied, depending on implementation. as if the requester had supplied, depending on implementation. Also if
a value is supplied by the job submission client, and the server/device
determines a better value, through processing or other means, the agent
MAY return that better value for such object and attribute.
3.3.6 Consumption Attributes 3.3.6 Consumption Attributes
A number of attributes record consumption. Such attribute names end A number of objects and attributes record consumption. Such attribute
with the word 'Completed' or 'Consumed'. If the job has not yet names end with the word 'Completed' or 'Consumed'. If the job has not
consumed what that resource is metering, the agent either: (1) SHALL yet consumed what that resource is metering, the agent either: (1)
return the value 0 or (2) SHALL not add this attribute to the SHALL return the value 0 or (2) SHALL not add this attribute to the
jmAttributeTable until the consumption begins. In the interests of jmAttributeTable until the consumption begins. In the interests of
brevity, the semantics for 0 is specified once here and is not repeated brevity, the semantics for 0 is specified once here and is not repeated
for each consumptive attribute specification. for each consumption attribute specification and a DEFVAL of 0 is
indicated.
3.3.7 Index Value Attributes 3.3.7 Index Value Attributes
A number of attributes are indexes in other tables. Such attribute A number of attributes are indexes in other tables. Such attribute
names end with the word 'Index'. If the agent has not (yet) assigned an names end with the word 'Index'. If the agent has not (yet) assigned
index value for a particular index attribute for a job, the agent SHALL an index value for a particular index attribute for a job, the agent
either: (1) return the value 0 or (2) not add this attribute to the SHALL either: (1) return the value 0 or (2) not add this attribute to
jmAttributeTable until the index value is assigned. In the interests of the jmAttributeTable until the index value is assigned. In the
brevity, the semantics for 0 is specified once here and is not repeated interests of brevity, the semantics for 0 is specified once here and is
for each index attribute specification. not repeated for each index attribute specification and a DEFVAL of 0
is indicated.
3.4 Job Identification 3.4 Monitoring Job Progress
There are a number of objects and attributes for monitoring the
progress of a job. These objects and attributes count the number of K
octets, impressions, sheets, and pages requested or completed. For
impressions and sheets, "completed" SHALL mean stacked, unless the
implementation is unable to detect when each sheet is stacked, in which
case stacked is approximated when processing of each sheet completes.
There are objects and attributes for the overall job and for the
current copy of the document currently being stacked. For the latter,
the rate at which the various objects and attributes count depends on
the sheet and document collation of the job.
Job Collation included sheet collation and document collation. Sheet
collation is defined to be the ordering of sheets within a document
copy. Document collation is defined to be ordering of document copies
within a multi-document job. There are three types of job collation
(see terminology definitions in Section 2):
1.uncollatedSheets(3) - No collation of the sheets within each
document copy, i.e., each sheet of a document that is to
produce multiple copies is replicated before the next sheet in
the document is processed and stacked. If the device has an
output bin collator, the uncollatedSheets(3) value may actually
produce collated sheets as far as the user is concerned (in the
output bins). However, when the job collation is the
'uncollatedSheets(3)' value, job progress is indistinguishable
to a monitoring application between a device that has an output
bin collator and one that does not.
2.collatedDocuments(4) - Collation of the sheets within each
document copy is performed within the printing device by making
multiple passes over either the source or an intermediate
representation of the document. In addition, when there are
multiple documents per job, the i'th copy of each document is
stacked before the j'th copy of each document, i.e., the
documents are collated within each job copy. For example, if a
job is submitted with documents, A and B, the job is made
available to the end user as: A, B, A, B, .. The
'collatedDocuments(4)' value corresponds to the IPP [ipp-model]
'separate-documents-collated-copies' value of the "multiple-
document-handling" attribute.
If jobCopiesRequested or documentCopiesRequested = 1, then
jobCollationType is defined as 4.
3.uncollatedDocuments(5) - Collation of the sheets within each
document copy is performed within the printing device by making
multiple passes over either the source or an intermediate
representation of the document. In addition, when there are
multiple documents per job, all copies of the first document in
the job are stacked before the any copied of the next document
in the job, i.e., the documents are uncollated within the job.
For example, if a job is submitted with documents, A and B, the
job is mad available to the end user as: A, A, ., B, B, ..
The 'uncollatedDocuments(5)' value corresponds to the IPP [ipp-
model] 'separate-documents-uncollated-copies' value of the
"multiple-document-handling" attribute.
Consider the following four variables that are used to monitor the
progress of a job's impressions:
1.jmJobImpressionsCompleted - counts the total number of
impressions stacked for the job
2.impressionsCompletedCurrentCopy - counts the number of
impressions stacked for the current document copy
3.sheetCompletedCopyNumber - identifies the number of the copy
for the current document being stacked where the first copy is
1.
4.sheetCompletedDocumentNumber - identifies the current document
within the job that is being stacked where the first document
in a job is 1. NOTE: this attribute SHOULD NOT be implemented
for implementations that only support one document per job.
For each of the three types of job collation, a job with three copies
of two documents (1, 2), where each document consists of 3 impressions,
the four variables have the following values as each sheet is stacked
for one-sided printing:
Job Collation Type = uncollatedSheets(3)
jmJobImpressions Impressions sheetCompleted sheetCompleted
Completed CompletedCurrent CopyNumber DocumentNumber
Copy
0 0 0 0
1 1 1 1
2 1 2 1
3 1 3 1
4 2 1 1
5 2 2 1
6 2 3 1
7 3 1 1
8 3 2 1
9 3 3 1
10 1 1 2
11 1 2 2
12 1 3 2
13 2 1 2
14 2 2 2
15 2 3 2
16 3 1 2
17 3 2 2
18 3 3 2
Job Collation Type = collatedDocuments(4)
JmJobImpressions Impressions sheetCompleted sheetCompleted
Completed CompletedCurrent CopyNumber DocumentNumber
Copy
0 0 0 0
1 1 1 1
2 2 1 1
3 3 1 1
4 1 1 2
5 2 1 2
6 3 1 2
7 1 2 1
8 2 2 1
9 3 2 1
10 1 2 2
11 2 2 2
12 3 2 2
13 1 3 1
14 2 3 1
15 3 3 1
16 1 3 2
17 2 3 2
18 3 3 2
Job Collation Type = uncollatedDocuments(5)
jmJobImpressions Impressions sheetCompleted sheetCompleted
Completed CompletedCurrent CopyNumber DocumentNumber
Copy
0 0 0 0
1 1 1 1
2 2 1 1
3 3 1 1
4 1 2 1
5 2 2 1
6 3 2 1
7 1 3 1
8 2 3 1
9 3 3 1
10 1 1 2
11 2 1 2
12 3 1 2
13 1 2 2
14 2 2 2
15 3 2 2
16 1 3 2
17 2 3 2
18 3 3 2
3.5 Job Identification
There are a number of attributes that permit a user, operator or system There are a number of attributes that permit a user, operator or system
administrator to identify jobs of interest, such as jobURI, jobName, administrator to identify jobs of interest, such as jobURI, jobName,
jobOriginatingHost, etc. In addition, there is a jmJobSubmissionID jobOriginatingHost, etc. In addition, there is a jmJobSubmissionID
object that is a text string table index. Being a table index allows a object that is a text string table index. Being a table index allows a
monitoring application to quickly locate and identify a particular job monitoring application to quickly locate and identify a particular job
of interest that was submitted from a particular client by the user of interest that was submitted from a particular client by the user
invoking the monitoring application. The Job Monitoring MIB needs to invoking the monitoring application without having to scan the entire
provide for identification of the job at both sides of the job job table. The Job Monitoring MIB needs to provide for identification
submission process. The primary identification point is the client of the job at both sides of the job submission process. The primary
side. The jmJobSubmissionID allows the monitoring application to identification point is the client side. The jmJobSubmissionID allows
identify the job of interest from all the jobs currently "known" by the the monitoring application to identify the job of interest from all the
server or device. The value of jmJobSubmissionID can be assigned by jobs currently "known" by the server or device. The value of
Job Monitoring MIB, V0.86 Sep 19, 1997 jmJobSubmissionID can be assigned by either the client's local system
or a downstream server or device. The point of assignment depends on
either the client's local system or a downstream server or device. The the job submission protocol in use.
point of assignment depends on the job submission protocol in use.
The server/device-side identifier, called the jmJobIndex object, SHALL The server/device-side identifier, called the jmJobIndex object, SHALL
be assigned by the SNMP Job Monitoring MIB agent when the server or be assigned by the SNMP Job Monitoring MIB agent when the server or
device accepts the jobs from submitting clients. The jmJobIndex object device accepts the jobs from submitting clients. The jmJobIndex object
allows the interested party to obtain all objects desired that relate to allows the interested party to obtain all objects desired that relate
a particular job. See Section 3.2, entitled 'The Job Tables and the to a particular job. See Section 3.2, entitled 'The Job Tables and the
Oldest Active and Newest Active Indexes' for the specification of how Oldest Active and Newest Active Indexes' for the specification of how
the agent SHALL assign the jmJobIndex values. the agent SHALL assign the jmJobIndex values.
The MIB provides a mapping table that maps each jmJobSubmissionID value The MIB provides a mapping table that maps each jmJobSubmissionID value
to the corresponding jmJobIndex value generated by the agent, so that an to a corresponding jmJobIndex value generated by the agent, so that an
application can determine the correct value for the jmJobIndex value for application can determine the correct value for the jmJobIndex value
the job of interest in a single Get operation, given the Job Submission for the job of interest in a single Get operation, given the Job
ID. See the jmJobIDGroup. Submission ID. See the jmJobIDGroup.
In some configurations there may be more than one application program
that monitors the same job when the job passes from one network entity
to another when it is submitted. See configuration 3. When there are
multiple job submission IDs, each entity MAY supply an appropriate
jmJobSubmissionID value. In this case there would be a separate entry
in the jmJobSubmissionID table, one for each jmJobSubmissionID. All
entries would map to the same jmJobIndex that contains the job data.
When the job is deleted, it is up to the agent to remove all entries
that point to the job from the jmJobSubmissionID table as well.
The jobName attribute provides a name that the user supplies as a job The jobName attribute provides a name that the user supplies as a job
attribute with the job. The jobName attribute is not necessarily attribute with the job. The jobName attribute is not necessarily
unique, even for one user, let alone across users. unique, even for one user, let alone across users.
3.5 Internationalization Considerations 3.6 Internationalization Considerations
This section describes the internationalization considerations included This section describes the internationalization considerations included
in this MIB. in this MIB.
3.5.1 Text generated by the server or device 3.6.1 Text generated by the server or device
There are a few objects and attributes generated by the server or device There are a few objects and attributes generated by the server or
that SHALL be represented using the Universal Multiple-Octet Coded device that SHALL be represented using the Universal Multiple-Octet
Character Set (UCS) [ISO-10646]. These objects and attributes are Coded Character Set (UCS) [ISO-10646]. These objects and attributes
always supplied (if implemented) by the agent, not by the job submitting are always supplied (if implemented) by the agent, not by the job
client: submitting client:
1. jmGeneralJobSetName object 1. jmGeneralJobSetName object
2. processingMessage(6) attribute 2. processingMessage(6) attribute
3. physicalDevice(32) (name value) attribute 3. physicalDevice(32) (name value) attribute
The character encoding scheme for representing these objects and The character encoding scheme for representing these objects and
attributes SHALL be UTF-8 as recommended by RFC 2130 [RFC 2130] and the attributes SHALL be UTF-8 as recommended by RFC 2130 [RFC 2130] and the
"IETF Policy on Character Sets and Language" [char-set policy]. The "IETF Policy on Character Sets and Language" [char-set policy]. The
'JmUTF8StringTC' textual convention is used to indicate UTF-8 text 'JmUTF8StringTC' textual convention is used to indicate UTF-8 text
strings. strings.
NOTE - For strings in 7-bit US-ASCII, there is no impact since the UTF-8 NOTE - For strings in 7-bit US-ASCII, there is no impact since the UTF-
representation of 7-bit ASCII is identical to the US-ASCII [US-ASCII] 8 representation of 7-bit ASCII is identical to the US-ASCII [US-ASCII]
encoding. encoding.
Job Monitoring MIB, V0.86 Sep 19, 1997 The text contained in the processingMessage(6) attribute is generated
by the server/device. The natural language for the
processingMessage(6) attribute is identified by the
3.5.2 Text generated by the job submitter processingMessageNaturalLangTag(7) attribute. The
processingMessageNaturalLangTag(7) attribute uses the
JmNaturalLanguageTagTC textual convention which SHALL conform to the
language tag mechanism specified in RFC 1766 [RFC-1766]. The
JmNaturalLanguageTagTC value is the same as the IPP [IPP-model]
'naturalLanguage' attribute syntax. RFC 1766 specifies that a US-ASCII
string consisting of the natural language followed by an optional
country field. Both fields use the same two-character codes from ISO
639 [ISO-639] and ISO 3166 [ISO-3166], respectively, that are used in
the Printer MIB for identifying language and country.
Examples of the values of the processingMessageNaturalLangTag(7)
attribute include:
1. 'en' for English
2. 'en-us' for US English
3. 'fr' for French
4. 'de' for German
3.6.2 Text supplied by the job submitter
All of the objects and attributes represented by the 'JmJobStringTC' All of the objects and attributes represented by the 'JmJobStringTC'
textual-convention are either (1) supplied in the job submission textual-convention are either (1) supplied in the job submission
protocol by the client that submits the job to the server or device or 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 (2) are defaulted by the server or device if the job submitting client
does not supply values. The agent SHALL represent these objects and 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 attributes in the MIB either (1) in the coded character set as they
submitted or (2) MAY convert the coded character set to another coded were submitted or (2) MAY convert the coded character set to another
character set or encoding scheme. In any case, the resulting coded coded character set or encoding scheme. In any case, the resulting
character set representation SHOULD be UTF-8 [UTF-8], but SHALL be one coded character set representation SHOULD be UTF-8 [UTF-8], but SHALL
in which the code positions from 0 to 31 SHALL not be used, 32 to 127 be one in which the code positions from 0 to 31 SHALL not be used, 32
SHALL be US-ASCII [US-ASCII], 127 SHALL be unused, and the remaining to 127 SHALL be US-ASCII [US-ASCII], 127 SHALL be unused, and the
code positions 128 to 255 SHALL represent single-byte or multi-byte remaining code positions 128 to 255 SHALL represent single-byte or
graphic characters structured according to ISO 2022 [ISO 2022] or SHALL multi-byte graphic characters structured according to ISO 2022 [ISO
be unused. 2022] or SHALL be unused.
The coded character set SHALL be one of the ones registered with IANA The coded character set SHALL be one of the ones registered with IANA
[IANA] and SHALL be identified by the jobCodedCharSet attribute in the [IANA] and SHALL be identified by the jobCodedCharSet attribute in the
jmJobAttributeTable for the job. If the agent does not know what coded jmJobAttributeTable for the job. If the agent does not know what coded
character set was used by the job submitting client, the agent SHALL character set was used by the job submitting client, the agent SHALL
either (1) return the 'unknown(2)' value for the jobCodedCharSet either (1) return the 'unknown(2)' value for the jobCodedCharSet
attribute or (2) not return the jobCodedCharSet attribute for the job. attribute or (2) not return the jobCodedCharSet attribute for the job.
Examples of coded character sets which meet this criteria for use as the Examples of coded character sets which meet this criteria for use as
value of the jobCodedCharSet job attribute are: US-ASCII [US-ASCII], ISO the value of the jobCodedCharSet job attribute are: US-ASCII [US-
8859-1 (Latin-1) [ISO 8859-1], any ISO 8859-n, HP Roman8, IBM Code Page ASCII], ISO 8859-1 (Latin-1) [ISO 8859-1], any ISO 8859-n, HP Roman8,
850, Windows Default 8-bit set, UTF-8 [UTF-8], US-ASCII plus JIS X0208- IBM Code Page 850, Windows Default 8-bit set, UTF-8 [UTF-8], US-ASCII
1990 Japanese [JIS X0208], US-ASCII plus GB2312-1980 PRC Chinese plus JIS X0208-1990 Japanese [JIS X0208], US-ASCII plus GB2312-1980 PRC
[GB2312]. See the IANA registry of coded character sets [IANA Chinese [GB2312]. See the IANA registry of coded character sets [IANA
charsets]. charsets].
Examples of coded character sets which do not meet this criteria are: Examples of coded character sets which do not meet this criteria are:
national 7-bit sets conforming to ISO 646 (except US-ASCII), EBCDIC, and national 7-bit sets conforming to ISO 646 (except US-ASCII), EBCDIC,
ISO 10646 (Unicode) [ISO-10646]. In order to represent Unicode
and ISO 10646 (Unicode) [ISO-10646]. In order to represent Unicode
characters, the UTF-8 [UTF-8] encoding scheme SHALL be used which has characters, the UTF-8 [UTF-8] encoding scheme SHALL be used which has
been assigned the MIBenum value of '106' by IANA. been assigned the MIBenum value of '106' by IANA.
The jobCodedCharSet attribute uses the imported 'CodedCharSet' textual- The jobCodedCharSet attribute uses the imported 'CodedCharSet' textual-
convention from the Printer MIB [printmib]. convention from the Printer MIB [printmib].
3.5.3 'DateAndTime' for representing the date and time The natural language for attributes represented by the textual-
convention JmJobStringTC SHALL be identified either (1) by the
jobNaturalLanguageTag(9) attribute or SHALL be keywords in US-English
(as in IPP). A monitoring application SHOULD attempt to localize
keywords into the language of the user by means of some lookup
mechanism. If the keyword value is not known to the monitoring
application, the monitoring application SHOULD assume that the value is
in the natural language specified by the job's jobNaturalLanguageTag(9)
attribute and SHOULD present the value to its user as is. The
jobNaturalLanguageTag(9) attribute value SHALL have the same syntax and
semantics as the processingMessageNaturalLangTag(7) attribute, except
that the jobNaturalLanguageTag(9) attribute identifies the natural
language of attributes supplied by the job submitter instead of the
natural language of the processingMessage(6) attribute. See Section
3.6.1.
3.6.3 'DateAndTime' for representing the date and time
This MIB also contains objects that are represented using the This MIB also contains objects that are represented using the
DateAndTime textual convention from SMIv2 [SMIv2-TC]. The job DateAndTime textual convention from SMIv2 [SMIv2-TC]. The job
management application SHALL display such objects in the locale of the management application SHALL display such objects in the locale of the
user running the monitoring application. user running the monitoring application.
Job Monitoring MIB, V0.86 Sep 19, 1997 3.7 IANA and PWG Registration Considerations
3.6 IANA Considerations This MIB does not require any additional registration schemes for IANA,
but does depend on registration schemes that other Internet standards
track specifications have set up. The names of these IANA registration
assignments under the /in-notes/iana/assignments/ path:
During the development of this standard, the Printer Working Group (PWG) 1.printer-language-numbers - used as enums in the documentFormat(38)
working with IANA [iana] will register additional enums while the attribute
standard is in the proposed and draft states according to the procedures
described in this section. IANA will handle registration of additional 2.media-types - uses as keywords in the documentFormat(38) attribute
enums after this standard is approved in cooperation with an IANA-
appointed registration editor from the PWG according to the procedures 3.character-sets - used as enums in the jobCodedCharSet(8) attribute
The Printer Working Group (PWG) will handle registration of additional
enums after approving this standard, according to the procedures
described in this section: described in this section:
3.6.1 IANA Registration of enums 3.7.1 PWG Registration of enums
This specification uses textual conventions to define enumerated values This specification uses textual conventions to define enumerated values
(enums) and bit values. Enumerations (enums) and bit values are sets of (enums) and bit values. Enumerations (enums) and bit values are sets
symbolic values defined for use with one or more objects or attributes. of symbolic values defined for use with one or more objects or
All enumeration sets and bit value sets are assigned a symbolic data attributes. All enumeration sets and bit value sets are assigned a
type name (textual convention). As a convention the symbolic name ends symbolic data type name (textual convention). As a convention the
in "TC" for textual convention. These enumerations are defined at the symbolic name ends in "TC" for textual convention. These enumerations
beginning of the MIB module specification. are defined at the beginning of the MIB module specification.
This working group has defined several type of enumerations for use in The PWG has defined several type of enumerations for use in the Job
the Job Monitoring MIB and the Printer MIB[print-mib]. These types Monitoring MIB and the Printer MIB[print-mib]. These types differ in
differ in the method employed to control the addition of new the method employed to control the addition of new enumerations.
enumerations. Throughout this document, references to "type n enum", Throughout this document, references to "type n enum", where n can be
where n can be 1, 2 or 3 can be found in the various tables. The 1, 2 or 3 can be found in the various tables. The definitions of these
definitions of these types of enumerations are: types of enumerations are:
3.6.1.1 Type 1 enumerations 3.7.1.1 Type 1 enumerations
Type 1 enumeration: All the values are defined in the Job Monitoring Type 1 enumeration: All the values are defined in the Job Monitoring
MIB specification (RFC for the Job Monitoring MIB). Additional MIB specification (RFC for the Job Monitoring MIB). Additional
enumerated values require a new RFC. enumerated values require a new RFC.
There are no type 1 enums in the current draft. There are no type 1 enums in the current draft.
3.6.1.2 Type 2 enumerations 3.7.1.2 Type 2 enumerations
Type 2 enumeration: An initial set of values are defined in the Job Type 2 enumeration: An initial set of values are defined in the Job
Monitoring MIB specification. Additional enumerated values are Monitoring MIB specification. Additional enumerated values are
registered after review by this working group or an editor appointed by registered with the PWG.
IANA after this working group is no longer active.
The following type 2 enums are contained in the current draft : The following type 2 enums are contained in the current draft :
1. JmUTF8StringTC 1. JmUTF8StringTC
2. JmJobStringTC 2. JmJobStringTC
3. JmTimeStampTC 3. JmNaturalLanguageTagTC
4. JmFinishingTC [same enum values as IPP "finishing" attribute] 4. JmTimeStampTC
Job Monitoring MIB, V0.86 Sep 19, 1997 5. JmFinishingTC [same enum values as IPP "finishing" attribute]
6. JmPrintQualityTC [same enum values as IPP "print-quality"
5. JmPrintQualityTC [same enum values as IPP "print-quality"
attribute] attribute]
6. JmTonerEconomyTC 7. JmTonerEconomyTC
7. JmMediumTypeTC 8. JmMediumTypeTC
8. JmJobSubmissionTypeTC 9. JmJobSubmissionIDTypeTC
9. JmJobStateTC [same enum values as IPP "job-state" attribute] 10.JmJobCollationTypeTC
10.JmAttributeTypeTC 11.JmJobStateTC [same enum values as IPP "job-state" attribute]
12.JmAttributeTypeTC
For those textual conventions that have the same enum values as the For those textual conventions that have the same enum values as the
indicated IPP Job attribute SHALL be simultaneously registered by IANA indicated IPP Job attribute SHALL be simultaneously registered by the
for use with IPP [ipp-model] and the Job Monitoring MIB. PWG for use with IPP [ipp-model] and the Job Monitoring MIB.
3.6.1.3 Type 3 enumeration 3.7.1.3 Type 3 enumeration
Type 3 enumeration: An initial set of values are defined in the Job Type 3 enumeration: An initial set of values are defined in the Job
Monitoring MIB specification. Additional enumerated values are Monitoring MIB specification. Additional enumerated values are
registered through IANA without working group review. registered through the PWG without PWG review.
There are no type 3 enums in the current draft. There are no type 3 enums in the current draft.
3.6.2 IANA Registration of type 2 bit values 3.7.2 PWG Registration of type 2 bit values
This draft contains the following type 2 bit value textual-conventions: This draft contains the following type 2 bit value textual-conventions:
1. JmJobServiceTypesTC 1. JmJobServiceTypesTC
2. JmJobStateReasons1TC 2. JmJobStateReasons1TC
3. JmJobStateReasons2TC 3. JmJobStateReasons2TC
4. JmJobStateReasons3TC 4. JmJobStateReasons3TC
5. JmJobStateReasons4TC 5. JmJobStateReasons4TC
These textual-conventions are defined as bits in an Integer so that they These textual-conventions are defined as bits in an Integer so that
can be used with SNMPv1 SMI. The jobStateReasonsN (N=1..4) attributes they can be used with SNMPv1 SMI. The jobStateReasonsN (N=1..4)
are defined as bit values using the corresponding JmJobStateReasonsNTC attributes are defined as bit values using the corresponding
textual-conventions. JmJobStateReasonsNTC textual-conventions.
The registration of JmJobServiceTypesTC and JmJobStateReasonsNTC bit The registration of JmJobServiceTypesTC and JmJobStateReasonsNTC bit
values SHALL follow the procedures for a type 2 enum as specified in values SHALL follow the procedures for a type 2 enum as specified in
Section 3.6.1.2. Section 3.7.1.2.
3.6.3 IANA Registration of Job Submission Id Formats
In addition to enums and bit values, this specification assigns a single 3.7.3 PWG Registration of Job Submission Id Formats
ASCII digit or letter to various job submission ID formats. See the
JmJobSubmissionIDTypeTC textual-convention and the object. The
registration of jmJobSubmissionID format numbers SHALL follow the
procedures for a type 2 enum as specified in Section 3.6.1.2.
Job Monitoring MIB, V0.86 Sep 19, 1997 In addition to enums and bit values, this specification assigns a
single ASCII digit or letter to various job submission ID formats. See
the JmJobSubmissionIDTypeTC textual-convention and the object. The
registration of JobSubmissionID format numbers SHALL follow the
procedures for a type 2 enum as specified in Section 3.7.1.2.
3.6.4 IANA Registration of MIME types/sub-types for document-formats 3.7.4 PWG Registration of MIME types/sub-types for document-formats
The documentFormat(38) attribute has MIME type/sub-type values for The documentFormat(38) attribute has MIME type/sub-type values for
indicating document formats which IANA registers as "media type" names. indicating document formats which IANA registers as "media type" names.
The values of the documentFormat(38) attribute are the same as the The values of the documentFormat(38) attribute are the same as the
corresponding Internet Printing Protocol (IPP) "document-format" Job corresponding Internet Printing Protocol (IPP) "document-format" Job
attribute values [ipp-model]. attribute values [ipp-model].
3.7 Security Considerations 3.8 Security Considerations
3.7.1 Read-Write objects 3.8.1 Read-Write objects
All objects are read-only, greatly simplifying the security All objects are read-only, greatly simplifying the security
considerations. If another MIB augments this MIB, that MIB might accept considerations. If another MIB augments this MIB, that MIB might
SNMP Write operations to objects in that MIB whose effect is to modify accept SNMP Write operations to objects in that MIB whose effect is to
the values of read-only objects in this MIB. However, that MIB SHALL modify the values of read-only objects in this MIB. However, that MIB
have to support the required access control in order to achieve SHALL have to support the required access control in order to achieve
security, not this MIB. security, not this MIB.
3.7.2 Read-Only Objects In Other User's Jobs 3.8.2 Read-Only Objects In Other User's Jobs
The security policy of some sites MAY be that unprivileged users can The security policy of some sites MAY be that unprivileged users can
only get the objects from jobs that they submitted, plus a few minimal only get the objects from jobs that they submitted, plus a few minimal
objects from other jobs, such as the jmJobKOctetsRequested and objects from other jobs, such as the jmJobKOctetsPerCopyRequested and
jmJobKOctetsProcessed objects, so that a user can tell how busy a jmJobKOctetsProcessed objects, so that a user can tell how busy a
printer is. Other sites MAY allow all unprivileged users to see all printer is. Other sites MAY allow all unprivileged users to see all
objects of all jobs. This MIB does not require, nor does it specify objects of all jobs. This MIB does not require, nor does it specify
how, such restrictions would be implemented. A monitoring application how, such restrictions would be implemented. A monitoring application
SHOULD enforce the site security policy with respect to returning SHOULD enforce the site security policy with respect to returning
information to an unprivileged end user that is using the monitoring information to an unprivileged end user that is using the monitoring
application to monitor jobs that do not belong to that user, i.e., the application to monitor jobs that do not belong to that user, i.e., the
jmJobOwner object in the jmJobTable does not match the user's user name. jmJobOwner object in the jmJobTable does not match the user's user
name.
An operator is a privileged user that would be able to see all objects An operator is a privileged user that would be able to see all objects
of all jobs, independent of the policy for unprivileged users. of all jobs, independent of the policy for unprivileged users.
3.8 Notifications 3.9 Notifications
This MIB does not specify any notifications. For simplicity, management This MIB does not specify any notifications. For simplicity,
applications are expected to poll for status. The management applications are expected to poll for status. The
jmGeneralJobPersistence and jmGeneralAttributePersistence objects assist jmGeneralJobPersistence and jmGeneralAttributePersistence objects
an application to determine the polling rate. The resulting network assist an application to determine the polling rate. The resulting
traffic is not expected to be significant. network traffic is not expected to be significant.
4. MIB specification 4. MIB specification
The following pages constitute the actual Job Monitoring MIB. The following pages constitute the actual Job Monitoring MIB.
Job Monitoring MIB, V0.86 Sep 19, 1997
Job-Monitoring-MIB DEFINITIONS ::= BEGIN Job-Monitoring-MIB DEFINITIONS ::= BEGIN
IMPORTS IMPORTS
MODULE-IDENTITY, OBJECT-TYPE, experimental, MODULE-IDENTITY, OBJECT-TYPE, enterprises,
Integer32 FROM SNMPv2-SMI Integer32 FROM SNMPv2-SMI
TEXTUAL-CONVENTION FROM SNMPv2-TC TEXTUAL-CONVENTION FROM SNMPv2-TC
MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF; MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF;
-- The following textual-conventions are needed -- The following textual-conventions are needed to implement
-- to implement certain attributes, but are not -- certain attributes, but are not needed to compile this MIB.
-- needed to compile this MIB. They are -- They are provided here for convenience:
-- provided here for convenience:
-- hrDeviceIndex FROM HOST-RESOURCES-MIB -- hrDeviceIndex FROM HOST-RESOURCES-MIB
-- DateAndTime FROM SNMPv2-TC -- DateAndTime FROM SNMPv2-TC
-- PrtInterpreterLangFamilyTC, -- PrtInterpreterLangFamilyTC,
-- CodedCharSet FROM Printer-MIB -- CodedCharSet FROM Printer-MIB
temp OBJECT IDENTIFIER ::= { experimental 54 } -- Use the enterprises arc assigned to the PWG which is pwg(2699).
-- Group all PWG mibs under mibs(1).
jobmonMIB MODULE-IDENTITY jobmonMIB MODULE-IDENTITY
LAST-UPDATED "9709190000Z" LAST-UPDATED "9802030000Z"
ORGANIZATION "IETF Printer MIB Working Group" ORGANIZATION "Printer Working Group (PWG)"
CONTACT-INFO CONTACT-INFO
"Tom Hastings "Tom Hastings
Postal: Xerox Corp. Postal: Xerox Corp.
Mail stop ESAE-231 Mail stop ESAE-231
701 S. Aviation Blvd. 701 S. Aviation Blvd.
El Segundo, CA 90245 El Segundo, CA 90245
Tel: (301)333-6413 Tel: (301)333-6413
Fax: (301)333-5514 Fax: (301)333-5514
E-mail: hastings@cp10.es.xerox.com E-mail: hastings@cp10.es.xerox.com
Send comments to the printmib WG using the Job Monitoring Send questions and comments to the Printer Working Group (PWG)
Project (JMP) Mailing List: jmp@pwg.org using the Job Monitoring Project (JMP) Mailing List:
jmp@pwg.org
To learn how to subscribe to the JMP mailing list, For further information, including how to subscribe to the
send email to: jmp-request@pwg.org jmp mailing list, access the PWG web page under 'JMP':
Job Monitoring MIB, V0.86 Sep 19, 1997
For further information, access the PWG web page under 'JMP': http://www.pwg.org/
http://www.pwg.org/"
Implementers of this specification are encouraged to join the
jmp mailing list in order to participate in discussions on any
clarifications needed and registration proposals being reviewed
in order to achieve consensus."
DESCRIPTION DESCRIPTION
"The MIB module for monitoring job in servers, printers, and "The MIB module for monitoring job in servers, printers, and
other devices. other devices.
File: draft-ietf-printmib-job-monitor-06.txt Version: 1.0"
Version: 0.86" ::= { enterprises pwg(2699) mibs(1) jobmonMIB(1) }
::= { temp 105 }
-- Textual conventions for this MIB module -- Textual conventions for this MIB module
JmUTF8StringTC ::= TEXTUAL-CONVENTION JmUTF8StringTC ::= TEXTUAL-CONVENTION
DISPLAY-HINT "255a" DISPLAY-HINT "255a"
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"To facilitate internationalization, this TC represents "To facilitate internationalization, this TC represents
information taken from the ISO/IEC IS 10646-1 character set, information taken from the ISO/IEC IS 10646-1 character set,
encoded as an octet string using the UTF-8 character encoding encoded as an octet string using the UTF-8 character encoding
scheme." scheme."
REFERENCE REFERENCE
"See section 3.5.1, entitled: 'Text generated by the server or "See section 3.6.1, entitled: 'Text generated by the server or
device'." device'."
SYNTAX OCTET STRING (SIZE (0..63)) SYNTAX OCTET STRING (SIZE (0..63))
JmJobStringTC ::= TEXTUAL-CONVENTION JmJobStringTC ::= TEXTUAL-CONVENTION
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"To facilitate internationalization, this TC represents "To facilitate internationalization, this TC represents
information using any coded character set registered by IANA as information using any coded character set registered by IANA as
specified in section 3.5.2. While it is recommended that the specified in section 3.7. While it is recommended that the
coded character set be UTF-8 [UTF-8], the actual coded character coded character set be UTF-8 [UTF-8], the actual coded
set SHALL be indicated by the value of the jobCodedCharSet(7) character set SHALL be indicated by the value of the
attribute for the job." jobCodedCharSet(8) attribute for the job."
REFERENCE REFERENCE
"See section 3.5.2, entitled: 'Text generated by the job "See section 3.6.2, entitled: 'Text supplied by the job
submitter'." submitter'."
Job Monitoring MIB, V0.86 Sep 19, 1997 SYNTAX OCTET STRING (SIZE (0..63))
JmNaturalLanguageTagTC ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"An IETF RFC 1766-compliant 'language tag', with zero or more
sub-tags that identify a natural language. While RFC 1766
specifies that the US-ASCII values are case-insensitive, this
MIB specification requires that all characters SHALL be lower
case in order to simplify comparing by management
applications."
REFERENCE
"See section 3.6.1, entitled: 'Text generated by the server or
device' and section 3.6.2, entitled: 'Text supplied by the job
submitter'."
SYNTAX OCTET STRING (SIZE (0..63)) SYNTAX OCTET STRING (SIZE (0..63))
JmTimeStampTC ::= TEXTUAL-CONVENTION JmTimeStampTC ::= TEXTUAL-CONVENTION
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The simple time at which an event took place. The units SHALL "The simple time at which an event took place. The units SHALL
be in seconds since the system was booted. be in seconds since the system was booted.
NOTE - JmTimeStampTC is defined in units of seconds, rather than NOTE - JmTimeStampTC is defined in units of seconds, rather
100ths of seconds, so as to be simpler for agents to implement than 100ths of seconds, so as to be simpler for agents to
(even if they have to implement the 100ths of a second to comply implement (even if they have to implement the 100ths of a
with implementing sysUpTime in MIB-II[mib-II].) second to comply with implementing sysUpTime in MIB-II[mib-
II].)
NOTE - JmTimeStampTC is defined as an Integer32 so that it can NOTE - JmTimeStampTC is defined as an Integer32 so that it can
be used as a value of an attribute, i.e., as a value of the be used as a value of an attribute, i.e., as a value of the
jmAttributeValueAsInteger object. The TimeStamp textual- jmAttributeValueAsInteger object. The TimeStamp textual-
convention defined in SMNPv2-TC is defined as an APPLICATION 3 convention defined in SNMPv2-TC [SMIv2-TC] is defined as an
IMPLICIT INTEGER tag, not an Integer32, so cannot be used in APPLICATION 3 IMPLICIT INTEGER tag, not an Integer32 which is
this MIB as one of the values of jmAttributeValueAsInteger." defined in SNMPv2-SMI [SMIv2-TC] as UNIVERSAL 2 IMPLICIT
INTEGER, so cannot be used in this MIB as one of the values of
jmAttributeValueAsInteger."
SYNTAX INTEGER(0..2147483647) SYNTAX INTEGER(0..2147483647)
JmJobSourcePlatformTypeTC ::= TEXTUAL-CONVENTION JmJobSourcePlatformTypeTC ::= TEXTUAL-CONVENTION
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The source platform type that can submit jobs to servers or "The source platform type that can submit jobs to servers or
devices in any of the 3 configurations." devices in any of the 3 configurations."
REFERENCE REFERENCE
"This is a type 2 enumeration. See Section 3.6.1.2." "This is a type 2 enumeration. See Section 3.7.1.2. See also
IANA operating-system-names registry."
SYNTAX INTEGER { SYNTAX INTEGER {
other(1), other(1),
unknown(2), unknown(2),
sptUNIX(3), -- UNIX sptUNIX(3), -- UNIX
sptOS2(4), -- OS/2 sptOS2(4), -- OS/2
sptPCDOS(5), -- DOS sptPCDOS(5), -- DOS
sptNT(6), -- NT sptNT(6), -- NT
sptMVS(7), -- MVS sptMVS(7), -- MVS
sptVM(8), -- VM sptVM(8), -- VM
sptOS400(9), -- OS/400 sptOS400(9), -- OS/400
sptVMS(10), -- VMS sptVMS(10), -- VMS
sptWindows(11), -- Windows sptWindows(11), -- Windows
Job Monitoring MIB, V0.86 Sep 19, 1997
sptNetWare(12) -- NetWare sptNetWare(12) -- NetWare
} }
JmFinishingTC ::= TEXTUAL-CONVENTION JmFinishingTC ::= TEXTUAL-CONVENTION
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The type of finishing operation. "The type of finishing operation.
These values are the same as the enum values of the IPP These values are the same as the enum values of the IPP
'finishings' attribute. See Section 3.6.1.2. 'finishings' attribute. See Section 3.7.1.2.
other(1), other(1),
Some other finishing operation besides one of the specified Some other finishing operation besides one of the specified
or registered values. or registered values.
unknown(2), unknown(2),
The finishing is unknown. The finishing is unknown.
none(3), none(3),
Perform no finishing. Perform no finishing.
staple(4), staple(4),
Bind the document(s) with one or more staples. The exact Bind the document(s) with one or more staples. The exact
number and placement of the staples is site-defined. number and placement of the staples is site-defined.
punch(5), punch(5),
This value indicates that holes are required in the finished This value indicates that holes are required in the
document. The exact number and placement of the holes is finished document. The exact number and placement of the
site-defined The punch specification MAY be satisfied (in a holes is site-defined The punch specification MAY be
site- and implementation-specific manner) either by satisfied (in a site- and implementation-specific manner)
drilling/punching, or by substituting pre-drilled media. either by drilling/punching, or by substituting pre-drilled
media.
cover(6), cover(6),
This value is specified when it is desired to select a non- This value is specified when it is desired to select a non-
printed (or pre-printed) cover for the document. This does printed (or pre-printed) cover for the document. This does
not supplant the specification of a printed cover (on cover not supplant the specification of a printed cover (on cover
stock medium) by the document itself. stock medium) by the document itself.
bind(7) bind(7)
This value indicates that a binding is to be applied to the This value indicates that a binding is to be applied to the
document; the type and placement of the binding is product- document; the type and placement of the binding is product-
specific." specific."
REFERENCE REFERENCE
Job Monitoring MIB, V0.86 Sep 19, 1997 "This is a type 2 enumeration. See Section 3.7.1.2."
"This is a type 2 enumeration. See Section 3.6.1.2."
SYNTAX INTEGER { SYNTAX INTEGER {
other(1), other(1),
unknown(2), unknown(2),
none(3), none(3),
staple(4), staple(4),
punch(5), punch(5),
cover(6), cover(6),
bind(7) bind(7)
} }
JmPrintQualityTC ::= TEXTUAL-CONVENTION JmPrintQualityTC ::= TEXTUAL-CONVENTION
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Print quality settings. "Print quality settings.
These values are the same as the enum values of the IPP 'print- These values are the same as the enum values of the IPP 'print-
quality' attribute. See Section 3.6.1.2." quality' attribute. See Section 3.7.1.2."
REFERENCE REFERENCE
"This is a type 2 enumeration. See Section 3.6.1.2." "This is a type 2 enumeration. See Section 3.7.1.2."
SYNTAX INTEGER { SYNTAX INTEGER {
other(1), -- Not one of the specified or registered other(1), -- Not one of the specified or registered
-- values. -- values.
unknown(2), -- The actual value is unknown. unknown(2), -- The actual value is unknown.
draft(3), -- Lowest quality available on the printer. draft(3), -- Lowest quality available on the printer.
normal(4), -- Normal or intermediate quality on the normal(4), -- Normal or intermediate quality on the
-- printer. -- printer.
high(5) -- Highest quality available on the printer. high(5) -- Highest quality available on the printer.
} }
JmPrinterResolutionTC ::= TEXTUAL-CONVENTION JmPrinterResolutionTC ::= TEXTUAL-CONVENTION
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Printer resolutions. "Printer resolutions.
Nine octets consisting of two 4-octet SIGNED-INTEGERs followed Nine octets consisting of two 4-octet SIGNED-INTEGERs followed
by a SIGNED-BYTE. The values are the same as those specified in by a SIGNED-BYTE. The values are the same as those specified
the Printer MIB [printmib]. The first SIGNED-INTEGER contains in the Printer MIB [printmib]. The first SIGNED-INTEGER
the value of prtMarkerAddressabilityXFeedDir. The second contains the value of prtMarkerAddressabilityXFeedDir. The
Job Monitoring MIB, V0.86 Sep 19, 1997 second SIGNED-INTEGER contains the value of
SIGNED-INTEGER contains the value of
prtMarkerAddressabilityFeedDir. The SIGNED-BYTE contains the prtMarkerAddressabilityFeedDir. The SIGNED-BYTE contains the
value of prtMarkerAddressabilityUnit. value of prtMarkerAddressabilityUnit.
Note: the latter value is either 3 (tenThousandsOfInches) or 4 Note: the latter value is either 3 (tenThousandsOfInches) or 4
(micrometers) and the addressability is in 10,000 units of (micrometers) and the addressability is in 10,000 units of
measure. Thus the SIGNED-INTEGERs represent integral values in measure. Thus the SIGNED-INTEGERs represent integral values in
either dots-per-inch or dots-per-centimeter. either dots-per-inch or dots-per-centimeter.
The syntax is the same as the IPP 'printer-resolution' The syntax is the same as the IPP 'printer-resolution'
attribute. See Section 3.6.1.2." attribute. See Section 3.7.1.2."
SYNTAX OCTET STRING (SIZE(9)) SYNTAX OCTET STRING (SIZE(9))
JmTonerEconomyTC ::= TEXTUAL-CONVENTION JmTonerEconomyTC ::= TEXTUAL-CONVENTION
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Toner economy settings." "Toner economy settings."
REFERENCE REFERENCE
"This is a type 2 enumeration. See Section 3.6.1.2." "This is a type 2 enumeration. See Section 3.7.1.2."
SYNTAX INTEGER { SYNTAX INTEGER {
unknown(2), -- unknown. unknown(2), -- unknown.
off(3), -- Off. Normal. Use full toner. off(3), -- Off. Normal. Use full toner.
on(4) -- On. Use less toner than normal. on(4) -- On. Use less toner than normal.
} }
JmBooleanTC ::= TEXTUAL-CONVENTION JmBooleanTC ::= TEXTUAL-CONVENTION
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Boolean true or false value." "Boolean true or false value."
REFERENCE REFERENCE
"This is a type 2 enumeration. See Section 3.6.1.2." "This is a type 2 enumeration. See Section 3.7.1.2."
SYNTAX INTEGER { SYNTAX INTEGER {
unknown(2), -- unknown. unknown(2), -- unknown.
false(3), -- FALSE. false(3), -- FALSE.
true(4) -- TRUE. true(4) -- TRUE.
} }
Job Monitoring MIB, V0.86 Sep 19, 1997
JmMediumTypeTC ::= TEXTUAL-CONVENTION JmMediumTypeTC ::= TEXTUAL-CONVENTION
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Identifies the type of medium. "Identifies the type of medium.
other(1), other(1),
The type is neither one of the values listed in this The type is neither one of the values listed in this
specification nor a registered value. specification nor a registered value.
skipping to change at page 37, line 5 skipping to change at page 42, line 27
connected along the short edge. connected along the short edge.
tabStock(10), tabStock(10),
Media with tabs. Media with tabs.
multiPartForm(11), multiPartForm(11),
Form medium composed of multiple layers not pre-attached to Form medium composed of multiple layers not pre-attached to
one another; each sheet MAY be drawn separately from an one another; each sheet MAY be drawn separately from an
input source. input source.
Job Monitoring MIB, V0.86 Sep 19, 1997
labels(12), labels(12),
Label-stock. Label-stock.
multiLayer(13) multiLayer(13)
Form medium composed of multiple layers which are pre- Form medium composed of multiple layers which are pre-
attached to one another, e.g. for use with impact printers." attached to one another, e.g. for use with impact
printers."
REFERENCE REFERENCE
"This is a type 2 enumeration. See Section 3.6.1.2." "This is a type 2 enumeration. See Section 3.7.1.2. These
enum values correspond to the keyword name strings of the
prtInputMediaType object in the Printer MIB [print-mib]. There
is no printer description attribute in IPP/1.0 that represents
these values."
SYNTAX INTEGER { SYNTAX INTEGER {
other(1), other(1),
unknown(2), unknown(2),
stationery(3), stationery(3),
transparency(4), transparency(4),
envelope(5), envelope(5),
envelopePlain(6), envelopePlain(6),
envelopeWindow(7), envelopeWindow(7),
continuousLong(8), continuousLong(8),
continuousShort(9), continuousShort(9),
tabStock(10), tabStock(10),
multiPartForm(11), multiPartForm(11),
labels(12), labels(12),
multiLayer(13) multiLayer(13)
} }
JmJobSubmissionTypeTC ::= TEXTUAL-CONVENTION JmJobCollationTypeTC ::= TEXTUAL-CONVENTION
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Identifies the format type of a job submission ID. "This value is the type of job collation. Implementations that
don't support multiple documents or don't support multiple
copies SHALL NOT support the uncollatedDocuments(5) value."
REFERENCE
"This is a type 2 enumeration. See Section 3.7.1.2. See also
Section 3.4, entitled 'Monitoring Job Progress'."
SYNTAX INTEGER {
other(1),
unknown(2),
uncollatedSheets(3), -- sheets within each document copy
-- are not collated: 1 1 ..., 2 2 ...,
collatedDocuments(4), -- internal collated sheets,
-- documents: A, B, A, B, ...
uncollatedDocuments(5) -- internal collated sheets,
-- documents: A, A, ..., B, B, ...
}
Each job submission ID is a fixed-length, 48-octet printable US- JmJobSubmissionIDTypeTC ::= TEXTUAL-CONVENTION
ASCII [US-ASCII] coded character string containing no control STATUS current
characters, consisting of the following fields: DESCRIPTION
"Identifies the format type of a job submission ID.
octet 1 The format letter identifying the format. Each job submission ID is a fixed-length, 48-octet printable
The US-ASCII characters '0-9', 'A-Z', and 'a-z' US-ASCII [US-ASCII] coded character string containing no
are assigned in order giving 62 possible control characters, consisting of the following fields:
formats.
octets 2-40 A 39-character, US-ASCII trailing SPACE filled
field specified by the format letter, if the
data is less than 39 ASCII characters.
octets 41-48 A sequential or random number to make the ID
quasi-unique.
Job Monitoring MIB, V0.86 Sep 19, 1997 octet 1: The format letter identifying the format. The US-
ASCII characters '0-9', 'A-Z', and 'a-z' are assigned in
order giving 62 possible formats.
octets 2-40: A 39-character, US-ASCII trailing SPACE filled
field specified by the format letter, if the data is less
than 39 ASCII characters.
octets 41-48: A sequential or random US-ASCII number to make
the ID quasi-unique.
If the client does not supply a job submission ID in the job If the client does not supply a job submission ID in the job
submission protocol, then the agent SHALL assign a job submission protocol, then the agent SHALL assign a job
submission ID using any of the standard formats that are submission ID using any of the standard formats that are
reserved for the agent. Clients SHALL not use 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 agents and agents SHALL NOT use formats that are
reserved for clients, in order to reduce conflicts in ID reserved for clients, in order to reduce conflicts in ID
generation. See the description for which formats are reserved generation. See the description for which formats are reserved
for clients or for agents. for clients or for agents.
Registration of additional formats may be done following the Registration of additional formats may be done following the
procedures described in Section 3.6.3. procedures described in Section 3.7.3.
The format values defined at the time of completion of this The format values defined at the time of completion of this
specification are: specification are:
Format Format
Letter Description Letter Description
------ ------------ ------ ------------
'0' octets 2-40: last 39 bytes of the jmJobOwner '0' Job Owner generated by the server/device
object. octets 2-40: The last 39 bytes of the jmJobOwner object.
octets 41-48: 8-decimal-digit sequential number. octets 41-48: The US-ASCII 8-decimal-digit sequential number
assigned by the agent.
This format is reserved for agents. This format is reserved for agents.
NOTE - Clients wishing to use a job submission ID NOTE - Clients wishing to use a job submission ID that
that incorporates the job owner, SHALL use format incorporates the job owner, SHALL use format '8', not
'8', not format '0'. format '0'.
'1' octets 2-40: last 39 bytes of the jobName attribute. '1' Job Name
octets 41-48: 8-decimal-digit random number. octets 2-40: The last 39 bytes of the jobName attribute.
octets 41-48: The US-ASCII 8-decimal-digit random number
assigned by the client.
This format is reserved for clients. This format is reserved for clients.
'2' octets 2-40: Client MAC address: in hexadecimal '2' Client MAC address
with each nibble of the 6 octet address being octets 2-40: The client MAC address: in hexadecimal with each
'0'-'9' or 'A' - 'F' (uppercase only). nibble of the 6 octet address being '0'-'9' or 'A' - 'F'
Most significant octet first. (uppercase only). Most significant octet first.
octets 41-48: 8-decimal-digit sequential number octets 41-48: The US-ASCII 8-decimal-digit sequential number
assigned by the client.
This format is reserved for clients. This format is reserved for clients.
'3' octets 2-40: last 39 bytes of the client URL '3' Client URL
[URI-spec]. octets 2-40: The last 39 bytes of the client URL [URI-spec].
octets 41-48: 8-decimal-digit sequential number octets 41-48: The US-ASCII 8-decimal-digit sequential number
assigned by the client.
This format is reserved for clients. This format is reserved for clients.
'4' octets 2-40: last 39 bytes of the URI [URI-spec] '4' Job URI
assigned by the server or device to the job when octets 2-40: The last 39 bytes of the URI [URI-spec] assigned
the job was submitted for processing. by the server or device to the job when the job was
octets 41-48: 8-decimal-digit sequential number submitted for processing.
octets 41-48: The US-ASCII 8-decimal-digit sequential number
assigned by the agent.
This format is reserved for agents. This format is reserved for agents.
Job Monitoring MIB, V0.86 Sep 19, 1997 '5' POSIX User Number
octets 2-40: The last 39 bytes of a user number, such as POSIX
'5' octets 2-40: last 39 bytes of a user number, such user number.
as POSIX user number. octets 41-48: The US-ASCII 8-decimal-digit sequential number
octets 41-48: 8-decimal-digit sequential number assigned by the client.
This format is reserved for clients. This format is reserved for clients.
'6' octets 2-40: last 39 bytes of the user account '6' User Account Number
number. octets 2-40: The last 39 bytes of the user account number.
octets 41-48: 8-decimal-digit sequential number octets 41-48: The US-ASCII 8-decimal-digit sequential number
assigned by the client.
This format is reserved for clients. This format is reserved for clients.
'7' octets 2-40: last 39 bytes of the DTMF incoming '7' DTMF Incoming FAX routing number
FAX routing number. octets 2-40: The last 39 bytes of the DTMF incoming FAX
octets 41-48: 8-decimal-digit sequential number routing number.
octets 41-48: The US-ASCII 8-decimal-digit sequential number
assigned by the client.
This format is reserved for clients. This format is reserved for clients.
'8' octets 2-40: last 39 bytes of the job owner name '8' Job Owner supplied by the client
(that the agent returns in the jmJobOwner object). octets 2-40: The last 39 bytes of the job owner name (that the
octets 41-48: 8-decimal-digit sequential number agent returns in the jmJobOwner object).
This format is reserved for clients. octets 41-48: The US-ASCII 8-decimal-digit sequential number
assigned by the client.
This format is reserved for clients. See format '0' which is
reserved for agents.
'9' octets 2-40: last 39 bytes of the host name with '9' Host Name
trailing SPACES that submitted the job to this octets 2-40: The last 39 bytes of the host name with trailing
server/device using a protocol, such as LPD SPACES that submitted the job to this server/device using a
[RFC-1179] which includes the host name in the job protocol, such as LPD [RFC-1179] which includes the host
submission protocol. name in the job submission protocol.
octets 41-48: 8-decimal-digit leading zero octets 41-48: The US-ASCII 8-decimal-digit leading zero
representation of the job id generated by the representation of the job id generated by the submitting
by the submitting server (configuration 3) server (configuration 3) or the client (configuration 1 and
or the client (configuration 1 and 2), such as in 2), such as in the LPD protocol.
the LPD protocol.
This format is reserved for clients. This format is reserved for clients.
NOTE - the job submission id is only intended to be unique 'A' AppleTalk Protocol
between a limited set of clients for a limited duration of time, octets 2-40: Contains the AppleTalk printer name, with the
namely, for the life time of the job in the context of the first character of the name in octet 2. AppleTalk printer
server or device that is processing the job. Some of the names are a maximum of 31 characters. Any unused portion
formats include something that is unique per client and a random of this field shall be filled with spaces.
number so that the same job submitted by the same client will octets 41-48: '00000XXX', where 'XXX' is the 3-digit US-ASCII
have a different job submission id. For other formats, where decimal representation of the Connection Id.
part of the id is guaranteed to be unique for each client, such This format is reserved for agents.
as the MAC address or URL, a sequential number SHOULD suffice
for each client (and may be easier for each client to manage).
Therefore, the length of the job submission id has been selected
to reduce the probability of collision to an extremely low
number, but is not intended to be an absolute guarantee of
uniqueness. None-the-less, collisions are remotely possible,
but without bad consequences, since this MIB is intended to be
Job Monitoring MIB, V0.86 Sep 19, 1997
used only for monitoring jobs, not for controlling and managing 'B' NetWare PServer
them." octets 2-40: Contains the Directory Path Name as recorded by
the Novell File Server in the queue directory. If the
string is less than 40 octets, the left-most character in
the string shall appear in octet position 2. Otherwise,
only the last 39 bytes shall be included. Any unused
portion of this field shall be filled with spaces.
octets 41-48: '000XXXXX' The US-ASCII representation of the
Job Number as per the NetWare File Server Queue Management
Services.
This format is reserved for agents.
'C' Server Message Block protocol (SMB)
octets 2-40: Contains a decimal (US-ASCII coded)
representation of the 16 bit SMB Tree Id field, which
uniquely identifies the connection that submitted the job
to the printer. The most significant digit of the numeric
string shall be placed in octet position 2. All unused
portions of this field shall be filled with spaces. The
SMB Tree Id has a maximum value of 65,535.
octets 41-48: The US-ASCII 8-decimal-digit leading zero
representation of the File Handle returned from the device
to the client in response to a Create Print File command.
This format is reserved for agents.
'D' Transport Independent Printer/System Interface (TIP/SI)
octets 2-40: Contains the Job Name from the Job Control-Start
Job (JC-SJ) command. If the Job Name portion is less than
40 octets, the left-most character in the string shall
appear in octet position 2. Any unused portion of this
field shall be filled with spaces. Otherwise, only the
last 39 bytes shall be included.
octets 41-48: The US-ASCII 8-decimal-digit leading zero
representation of the jmJobIndex assigned by the agent.
This format is reserved for agents, since the agent supplies
octets 41-48, though the client supplies the job name. See
format '1' reserved to clients to submit job name ids in
which they supply octets 41-48.
'E' IPDS on the MVS or VSE platform
octets 2-40: Contains bytes 2-27 of the XOH Define Group
Boundary Group ID triplet. Octet position 2 MUST carry the
value x.01.. Bytes 28-40 MUST be filled with spaces.
octets 41-48: The US-ASCII 8-decimal-digit leading zero
representation of the jmJobIndex assigned by the agent.
This format is reserved for agents, since the agent supplies
octets 41-48, though the client supplies the job name.
'F' IPDS on the VM platform
octets 2-40: Contains bytes 2-31 of the XOH Define Group
Boundary Group ID triplet. Octet position 2 MUST carry the
value x.02.. Bytes 32-40 MUST be filled with spaces.
octets 41-48: The US-ASCII 8-decimal-digit leading zero
representation of the jmJobIndex assigned by the agent.
This format is reserved for agents, since the agent supplies
octets 41-48, though the client supplies the file name.
'G' IPDS on the OS/400 platform
octets 2-40: Contains bytes 2-36 of the XOH Define Group
Boundary Group ID triplet. Octet position 2 MUST carry the
value x.03.. Bytes 37-40 MUST be filled with spaces.
octets 41-48: The US-ASCII 8-decimal-digit leading zero
representation of the jmJobIndex assigned by the agent.
This format is reserved for agents, since the agent supplies
octets 41-48, though the client supplies the job name.
NOTE - the job submission id is only intended to be unique
between a limited set of clients for a limited duration of
time, namely, for the life time of the job in the context of
the server or device that is processing the job. Some of the
formats include something that is unique per client and a
random number so that the same job submitted by the same client
will have a different job submission id. For other formats,
where part of the id is guaranteed to be unique for each
client, such as the MAC address or URL, a sequential number
SHOULD suffice for each client (and may be easier for each
client to manage). Therefore, the length of the job submission
id has been selected to reduce the probability of collision to
an extremely low number, but is not intended to be an absolute
guarantee of uniqueness. None-the-less, collisions are
remotely possible, but without bad consequences, since this MIB
is intended to be used only for monitoring jobs, not for
controlling and managing them."
REFERENCE REFERENCE
"This is like a type 2 enumeration. See section 3.6.3." "This is like a type 2 enumeration. See section 3.7.3."
SYNTAX OCTET STRING(SIZE(1)) -- ASCII '0'-'9', 'A'-'Z', 'a'-'z' SYNTAX OCTET STRING(SIZE(1)) -- ASCII '0'-'9', 'A'-'Z', 'a'-'z'
JmJobStateTC ::= TEXTUAL-CONVENTION JmJobStateTC ::= TEXTUAL-CONVENTION
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The current state of the job (pending, processing, completed, "The current state of the job (pending, processing, completed,
etc.). etc.).
The following figure shows the normal job state transitions: The following figure shows the normal job state transitions:
+----> canceled(7) +----> canceled(7)
/ /
+---> pending(3) --------> processing(5) ------+------> completed(9) +---> pending(3) -------> processing(5) ------+------> completed(9)
| ^ ^ \ | ^ ^ \
--->+ | | +----> aborted(8) --->+ | | +----> aborted(8)
| v v / | v v /
+---> pendingHeld(4) processingStopped(6) ---+ +---> pendingHeld(4) processingStopped(6) ---+
Figure 4 - Normal Job State Transitions Figure 4 - Normal Job State Transitions
Normally a job progresses from left to right. Other state Normally a job progresses from left to right. Other state
transitions are unlikely, but are not forbidden. Not shown are transitions are unlikely, but are not forbidden. Not shown are
the transitions to the canceled state from the pending, the transitions to the canceled state from the pending,
pendingHeld, and processingStopped states. pendingHeld, and processingStopped states.
Jobs in the pending, processing, and processingStopped states Jobs in the pending, processing, and processingStopped states
are called 'active', while jobs in the pendingHeld, canceled, are called 'active', while jobs in the pendingHeld, canceled,
aborted, and completed states are called 'inactive'. Jobs reach aborted, and completed states are called 'inactive'. Jobs
one of the three terminal states: completed, canceled, or reach one of the three terminal states: completed, canceled, or
aborted, after the jobs have completed all activity, and all MIB aborted, after the jobs have completed all activity, and all
objects and attributes have reached their final values for the MIB objects and attributes have reached their final values for
job. the job.
These values are the same as the enum values of the IPP 'job- These values are the same as the enum values of the IPP 'job-
state' job attribute. See Section 3.6.1.2. state' job attribute. See Section 3.7.1.2.
Job Monitoring MIB, V0.86 Sep 19, 1997
unknown(2), unknown(2),
The job state is not known, or its state is indeterminate. The job state is not known, or its state is indeterminate.
pending(3), pending(3),
The job is a candidate to start processing, but is not yet The job is a candidate to start processing, but is not yet
processing. processing.
pendingHeld(4), pendingHeld(4),
The job is not a candidate for processing for any number of The job is not a candidate for processing for any number of
reasons but will return to the pending state as soon as the reasons but will return to the pending state as soon as the
reasons are no longer present. The job's jmJobStateReasons1 reasons are no longer present. The job's
object and/or jobStateReasonsN (N=2..4) attributes SHALL
indicate why the job is no longer a candidate for
processing. The reasons are represented as bits in the
jmJobStateReasons1 object and/or jobStateReasonsN (N=2..4) jmJobStateReasons1 object and/or jobStateReasonsN (N=2..4)
attributes. See the JmJobStateReasonsNTC (N=1..4) textual attributes SHALL indicate why the job is no longer a
convention for the specification of each reason. candidate for processing. The reasons are represented as
bits in the jmJobStateReasons1 object and/or
jobStateReasonsN (N=2..4) attributes. See the
JmJobStateReasonsNTC (N=1..4) textual convention for the
specification of each reason.
processing(5), processing(5),
One of: One or more of:
1. the job is using, or is attempting to use, one or more 1. the job is using, or is attempting to use, one or more
purely software processes that are analyzing, creating, or purely software processes that are analyzing, creating, or
interpreting a PDL, etc., interpreting a PDL, etc.,
2. the job is using, or is attempting to use, one or more 2. the job is using, or is attempting to use, one or more
hardware devices that are interpreting a PDL, making marks hardware devices that are interpreting a PDL, making marks
on a medium, and/or performing finishing, such as stapling, on a medium, and/or performing finishing, such as stapling,
etc., etc.,
OR OR
3. (configuration 2) the server has made the job ready for 3. (configuration 2) the server has made the job ready for
printing, but the output device is not yet printing it, printing, but the output device is not yet printing it,
either because the job hasn't reached the output device or either because the job hasn't reached the output device or
because the job is queued in the output device or some other because the job is queued in the output device or some
spooler, awaiting the output device to print it. other spooler, awaiting the output device to print it.
When the job is in the processing state, the entire job When the job is in the processing state, the entire job
state includes the detailed status represented in the device state includes the detailed status represented in the
MIB indicated by the hrDeviceIndex value of the job's device MIB indicated by the hrDeviceIndex value of the
physicalDevice attribute, if the agent implements such a job's physicalDevice attribute, if the agent implements
device MIB. such a device MIB.
Implementations MAY, though they NEED NOT, include Implementations MAY, though they NEED NOT, include
additional values in the job's jmJobStateReasons1 object to additional values in the job's jmJobStateReasons1 object to
indicate the progress of the job, such as adding the indicate the progress of the job, such as adding the
jobPrinting value to indicate when the device is actually jobPrinting value to indicate when the device is actually
Job Monitoring MIB, V0.86 Sep 19, 1997
making marks on a medium and/or the processingToStopPoint making marks on a medium and/or the processingToStopPoint
value to indicate that the server or device is in the value to indicate that the server or device is in the
process of canceling or aborting the job. process of canceling or aborting the job.
processingStopped(6), processingStopped(6),
The job has stopped while processing for any number of The job has stopped while processing for any number of
reasons and will return to the processing state as soon as reasons and will return to the processing state as soon as
the reasons are no longer present. the reasons are no longer present.
The job's jmJobStateReasons1 object and/or the job's The job's jmJobStateReasons1 object and/or the job's
jobStateReasonsN (N=2..4) attributes MAY indicate why the jobStateReasonsN (N=2..4) attributes MAY indicate why the
job has stopped processing. For example, if the output job has stopped processing. For example, if the output
device is stopped, the deviceStopped value MAY be included device is stopped, the deviceStopped value MAY be included
in the job's jmJobStateReasons1 object. in the job's jmJobStateReasons1 object.
NOTE - When an output device is stopped, the device usually NOTE - When an output device is stopped, the device usually
indicates its condition in human readable form at the indicates its condition in human readable form at the
device. The management application can obtain more complete device. The management application can obtain more
device status remotely by querying the appropriate device complete device status remotely by querying the appropriate
MIB using the job's deviceIndex attribute(s), if the agent device MIB using the job's deviceIndex attribute(s), if the
implements such a device MIB agent implements such a device MIB
canceled(7), canceled(7),
A client has canceled the job and the server or device has A client has canceled the job and the server or device has
completed canceling the job and all MIB objects and completed canceling the job AND all MIB objects and
attributes have reached their final values for the job. attributes have reached their final values for the job.
While the server or device is canceling the job, the job's While the server or device is canceling the job, the job's
jmJobStateReasons1 object SHOULD contain the jmJobStateReasons1 object SHOULD contain the
processingToStopPoint value and one of the canceledByUser, processingToStopPoint value and one of the canceledByUser,
canceledByOperator, or canceledAtDevice values. The canceledByOperator, or canceledAtDevice values. The
canceledByUser, canceledByOperator, or canceledAtDevice canceledByUser, canceledByOperator, or canceledAtDevice
values remain while the job is in the canceled state. values remain while the job is in the canceled state.
aborted(8), aborted(8),
The job has been aborted by the system, usually while the The job has been aborted by the system, usually while the
job was in the processing or processingStopped state and the job was in the processing or processingStopped state and
server or device has completed aborting the job and all MIB the server or device has completed aborting the job AND all
objects and attributes have reached their final values for MIB objects and attributes have reached their final values
the job. While the server or device is aborting the job, for the job. While the server or device is aborting the
the job's jmJobStateReasons1 object MAY contain the job, the job's jmJobStateReasons1 object MAY contain the
processingToStopPoint and abortedBySystem values. If processingToStopPoint and abortedBySystem values. If
implemented, the abortedBySystem value SHALL remain while implemented, the abortedBySystem value SHALL remain while
the job is in the aborted state. the job is in the aborted state.
completed(9) completed(9)
The job has completed successfully or with warnings or The job has completed successfully or with warnings or
errors after processing and all of the media have been errors after processing and all of the media have been
successfully stacked in the appropriate output bin(s). The successfully stacked in the appropriate output bin(s) AND
Job Monitoring MIB, V0.86 Sep 19, 1997 all MIB objects and attributes have reached their final
values for the job. The job's jmJobStateReasons1 object
job's jmJobStateReasons1 object SHOULD contain one of: SHOULD contain one of: completedSuccessfully,
completedSuccessfully, completedWithWarnings, or completedWithWarnings, or completedWithErrors values."
completedWithErrors values."
REFERENCE REFERENCE
"This is a type 2 enumeration. See Section 3.6.1.2." "This is a type 2 enumeration. See Section 3.7.1.2."
SYNTAX INTEGER { SYNTAX INTEGER {
unknown(2), unknown(2),
pending(3), pending(3),
pendingHeld(4), pendingHeld(4),
processing(5), processing(5),
processingStopped(6), processingStopped(6),
canceled(7), canceled(7),
aborted(8), aborted(8),
completed(9) completed(9)
} }
skipping to change at page 43, line 49 skipping to change at page 51, line 32
represent a pair of useful values (see mediumConsumed(171)). represent a pair of useful values (see mediumConsumed(171)).
These attributes are indicated with 'INTEGER:' AND 'OCTETS:' These attributes are indicated with 'INTEGER:' AND 'OCTETS:'
tags. See the jmAttributeGroup for the descriptions of these tags. See the jmAttributeGroup for the descriptions of these
two MANDATORY objects. two MANDATORY objects.
NOTE - The enum assignments are grouped logically with values NOTE - The enum assignments are grouped logically with values
assigned in groups of 20, so that additional values may be assigned in groups of 20, so that additional values may be
registered in the future and assigned a value that is part of registered in the future and assigned a value that is part of
their logical grouping. their logical grouping.
Values in the range 2**30 to 2**31-1 are reserved for private or Values in the range 2**30 to 2**31-1 are reserved for private
experimental usage. This range corresponds to the same range or experimental usage. This range corresponds to the same
reserved in IPP. Implementers are warned that use of such range reserved in IPP. Implementers are warned that use of
Job Monitoring MIB, V0.86 Sep 19, 1997 such values may conflict with other implementations.
Implementers are encouraged to request registration of enum
values may conflict with other implementations. Implementers values following the procedures in Section 3.7.1.
are encouraged to request registration of enum values following
the procedures in Section 3.6.1.
NOTE: No attribute name exceeds 31 characters. NOTE: No attribute name exceeds 31 characters.
The standard attribute types defined at the time of completion The standard attribute types defined at the time of completion
of the specification are: of the specification are:"
jmAttributeTypeIndex Datatype -- jmAttributeTypeIndex Datatype
-------------------- -------- -- -------------------- --------
other(1), Integer32(-2..2147483647) -- other(1), Integer32 (-2..2147483647)
AND/OR -- AND/OR
OCTET STRING(SIZE(0..63)) -- OCTET STRING(SIZE(0..63))
INTEGER: and/or OCTETS: An attribute that is not in the -- INTEGER: and/or OCTETS: An attribute that is not in the
list and/or that has not been approved and registered with -- list and/or that has not been approved and registered with
IANA. -- the PWG.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ Job State attributes -- + Job State attributes
+ -- +
+ The following attributes specify the state of a job. -- + The following attributes specify the state of a job.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
jobStateReasons2(3), JmJobStateReasons2TC -- jobStateReasons2(3), JmJobStateReasons2TC
INTEGER: Additional information about the job's current -- INTEGER: Additional information about the job's current
state that augments the jmJobState object. See the -- state that augments the jmJobState object. See the
description under the JmJobStateReasons1TC textual- -- description under the JmJobStateReasons1TC textual-
convention. -- convention.
jobStateReasons3(4), JmJobStateReasons3TC -- jobStateReasons3(4), JmJobStateReasons3TC
INTEGER: Additional information about the job's current -- INTEGER: Additional information about the job's current
state that augments the jmJobState object. See the -- state that augments the jmJobState object. See the
description under JmJobStateReasons1TC textual-convention. -- description under JmJobStateReasons1TC textual-convention.
jobStateReasons4(5), JmJobStateReasons4TC -- jobStateReasons4(5), JmJobStateReasons4TC
INTEGER: Additional information about the job's current -- INTEGER: Additional information about the job's current
state that augments the jmJobState object. See the -- state that augments the jmJobState object. See the
description under JmJobStateReasons1TC textual-convention. -- description under JmJobStateReasons1TC textual-convention.
processingMessage(6), JmUTF8StringTC(SIZE(0..63)) -- processingMessage(6), JmUTF8StringTC (SIZE(0..63))
OCTETS: MULTI-ROW: A coded character set message that is -- OCTETS: MULTI-ROW: A coded character set message that is
generated by the server or device during the processing of -- generated by the server or device during the processing of
the job as a simple form of processing log to show progress -- the job as a simple form of processing log to show progress
and any problems. -- and any problems. The natural language of each value is
-- specified by the corresponding
-- processingMessageNaturalLangTag(7) value.
Job Monitoring MIB, V0.86 Sep 19, 1997 -- NOTE - This attribute is intended for such conditions as
-- interpreter messages, rather than being the printable form
-- of the jmJobState and jmJobStateReasons1 objects and
-- jobStateReasons2, jobStateReasons3, and jobStateReasons4
-- attributes. In order to produce a localized printable form
-- of these job state objects/attribute, a management
-- application SHOULD produce a message from their enum and
-- bit values.
There is no restriction for the same message occurring in -- NOTE - There is no job description attribute in IPP/1.0
multiple rows. -- that corresponds to this attribute and this attribute does
-- not correspond to the IPP/1.0 'job-state-message' job
-- description attribute, which is just a printable form of
-- the IPP 'job-state' and 'job-state-reasons' job attributes.
jobCodedCharSet(7), CodedCharSet -- There is no restriction for the same message occurring in
INTEGER: The MIBenum identifier of the coded character set -- multiple rows.
that the agent is using to represent coded character set
objects and attributes of type 'JmJobStringTC'. These coded
character set objects and attributes are either: (1)
supplied by the job submitting client or (2) defaulted by
the server or device when omitted by the job submitting
client. 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 as identified by the jobCodedCharSet attribute.
These MIBenum values are assigned by IANA [IANA-charsets] -- processingMessageNaturalLangTag(7), OCTET STRING(SIZE(0..63))
when the coded character sets are registered. The coded -- OCTETS: MULTI-ROW: The natural language of the
character set SHALL be one of the ones registered with IANA -- corresponding processingMessage(6) attribute value. See
[IANA] and the enum value uses the CodedCharSet textual- -- section 3.6.1, entitled 'Text generated by the server or
convention from the Printer MIB. See the JmJobStringTC -- device'.
textual-convention.
If the agent does not know what coded character set was used -- If the agent does not know the natural language of the job
by the job submitting client, the agent SHALL either (1) -- processing message, the agent SHALL either (1) return a
return the 'unknown(2)' value for the jobCodedCharSet -- zero length string value for the
attribute or (2) not return the jobCodedCharSet attribute -- processingMessageNaturalLangTag(7) attribute or (2) not
for the job. See Section 3.5.2, entitled 'Text generated by -- return the processingMessageNaturalLangTag(7) attribute for
the job submitter'. -- the job.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -- There is no restriction for the same tag occurring in
+ Job Identification attributes -- multiple rows, since when this attribute is implemented, it
+ -- SHOULD have a value row for each corresponding
+ The following attributes help an end user, a system -- processingMessage(6) attribute value row.
+ operator, or an accounting program identify a job.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
jobURI(20), OCTET STRING(SIZE(1..255)) -- jobCodedCharSet(8), CodedCharSet
OCTETS: The job's Universal Resource Identifier (URI) [RFC- -- INTEGER: The MIBenum identifier of the coded character set
1738]. See IPP for example usage. -- that the agent is using to represent coded character set
-- objects and attributes of type 'JmJobStringTC'. These
-- coded character set objects and attributes are either: (1)
-- supplied by the job submitting client or (2) defaulted by
-- the server or device when omitted by the job submitting
-- client. 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 as identified by the jobCodedCharSet(8) attribute.
-- See section 3.6.2, entitled 'Text supplied by the job
-- submitter'.
NOTE - The agent may be able to generate this value on each -- These MIBenum values are assigned by IANA [IANA-charsets]
SNMP Get operation from smaller values, rather than having -- when the coded character sets are registered. The coded
to store the entire URI. -- character set SHALL be one of the ones registered with IANA
-- [IANA] and the enum value uses the CodedCharSet textual-
-- convention from the Printer MIB. See the JmJobStringTC
-- textual-convention.
Job Monitoring MIB, V0.86 Sep 19, 1997 -- If the agent does not know what coded character set was
-- used by the job submitting client, the agent SHALL either
-- (1) return the 'unknown(2)' value for the
-- jobCodedCharSet(8) attribute or (2) not return the
-- jobCodedCharSet(8) attribute for the job.
If the URI exceeds 255 octets, the agent SHALL truncate from -- jobNaturalLanguageTag(9), OCTET STRING(SIZE(0..63))
the beginning (since the end tends to be more unique than -- OCTETS: The natural language of the job attributes supplied
the beginning). -- by the job submitter or defaulted by the server or device
-- for the job, i.e., all objects and attributes represented
-- by the 'JmJobStringTC' textual-convention, such as jobName,
-- mediumRequested, etc. See Section 3.6.2, entitled 'Text
-- supplied by the job submitter'.
jobAccountName(21), OCTET STRING(SIZE(0..63)) -- If the agent does not know what natural language was used
OCTETS: Arbitrary binary information which MAY be coded -- by the job submitting client, the agent SHALL either (1)
character set data or encrypted data supplied by the -- return a zero length string value for the
submitting user for use by accounting services to allocate -- jobNaturalLanguageTag(9) attribute or (2) not return
or categorize charges for services provided, such as a -- jobNaturalLanguageTag(9) attribute for the job.
customer account name or number.
NOTE: This attribute NEED NOT be printable characters. -- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- + Job Identification attributes
-- +
-- + The following attributes help an end user, a system
-- + operator, or an accounting program identify a job.
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
serverAssignedJobName(22), JmJobStringTC(SIZE(0..63)) -- jobURI(20), OCTET STRING(SIZE(0..63))
OCTETS: Configuration 3 only: The human readable string -- OCTETS: MULTI-ROW: The job's Universal Resource
name, number, or ID of the job as assigned by the server -- Identifier (URI) [RFC-1738]. See IPP [ipp-model] for
that submitted the job to the device that the agent is -- example usage.
providing access to with this MIB.
NOTE - This attribute is intended for enabling a user to -- NOTE - The agent may be able to generate this value on each
find his/her job that a server submitted to a device when -- SNMP Get operation from smaller values, rather than having
either the client does not support the jmJobSubmissionID or -- to store the entire URI.
the server does not pass the jmJobSubmissionID through to
the device.
jobName(23), JmJobStringTC(SIZE(0..63)) -- If the URI exceeds 63 octets, the agent SHALL use multiple
OCTETS: The human readable string name of the job as -- values, with the next 63 octets coming in the second value,
assigned by the submitting user to help the user distinguish -- etc.
between his/her various jobs. This name does not need to be
unique.
This attribute is intended for enabling a user or the user's -- NOTE - IPP [ipp-model] has a 1023-octet maximum length for
application to convey a job name that MAY be printed on a -- a URI, though the URI standard itself and HTTP/1.1 specify
start sheet, returned in a query result, or used in -- no maximum length.
notification or logging messages.
In order to assist users to find their jobs for job -- jobAccountName(21), OCTET STRING(SIZE(0..63))
submission protocols that don't supply a jmJobSubmissionID, -- OCTETS: Arbitrary binary information which MAY be coded
the agent SHOULD maintain the jobName attribute for the time -- character set data or encrypted data supplied by the
specified by the jmGeneralJobPersistence object, rather than -- submitting user for use by accounting services to allocate
the (shorter) jmGeneralAttributePersistence object. -- or categorize charges for services provided, such as a
-- customer account name or number.
If this attribute is not specified when the job is -- NOTE: This attribute NEED NOT be printable characters.
submitted, no job name is assumed, but implementation
specific defaults are allowed, such as the value of the
documentName attribute of the first document in the job or
the fileName attribute of the first document in the job.
Job Monitoring MIB, V0.86 Sep 19, 1997 -- serverAssignedJobName(22), JmJobStringTC (SIZE(0..63))
-- OCTETS: Configuration 3 only: The human readable string
-- name, number, or ID of the job as assigned by the server
-- that submitted the job to the device that the agent is
-- providing access to with this MIB.
The jobName attribute is distinguished from the jobComment -- NOTE - This attribute is intended for enabling a user to
attribute, in that the jobName attribute is intended to -- find his/her job that a server submitted to a device when
permit the submitting user to distinguish between different -- either the client does not support the jmJobSubmissionID or
jobs that he/she has submitted. The jobComment attribute is -- the server does not pass the jmJobSubmissionID through to
intended to be free form additional information that a user -- the device.
might wish to use to communicate with himself/herself, such
as a reminder of what to do with the results or to indicate
a different set of input parameters were tried in several
different job submissions.
jobServiceTypes(24), JmJobServiceTypesTC -- jobName(23), JmJobStringTC (SIZE(0..63))
INTEGER: Specifies the type(s) of service to which the job -- OCTETS: The human readable string name of the job as
has been submitted (print, fax, scan, etc.). The service -- assigned by the submitting user to help the user
type is bit encoded with each job service type so that more -- distinguish between his/her various jobs. This name does
general and arbitrary services can be created, such as -- not need to be unique.
services with more than one destination type, or ones with
only a source or only a destination. For example, a job
service might scan, faxOut, and print a single job. In this
case, three bits would be set in the jobServiceTypes
attribute, corresponding to the hexadecimal values: 0x8 +
0x20 + 0x4, respectively, yielding: 0x2C.
Whether this attribute is set from a job attribute supplied -- This attribute is intended for enabling a user or the
by the job submission client or is set by the recipient job -- user's application to convey a job name that MAY be printed
submission server or device depends on the job submission -- on a start sheet, returned in a query result, or used in
protocol. This attribute SHALL be implemented if the server -- notification or logging messages.
or device has other types in addition to or instead of
printing.
One of the purposes of this attribute is to permit a -- In order to assist users to find their jobs for job
requester to filter out jobs that are not of interest. For -- submission protocols that don't supply a jmJobSubmissionID,
example, a printer operator may only be interested in jobs -- the agent SHOULD maintain the jobName attribute for the
that include printing. -- time specified by the jmGeneralJobPersistence object,
-- rather than the (shorter) jmGeneralAttributePersistence
-- object.
jobSourceChannelIndex(25), Integer32(0..2147483647) -- If this attribute is not specified when the job is
INTEGER: The index of the row in the associated Printer -- submitted, no job name is assumed, but implementation
MIB[print-mib] of the channel which is the source of the -- specific defaults are allowed, such as the value of the
print job. -- documentName attribute of the first document in the job or
-- the fileName attribute of the first document in the job.
jobSourcePlatformType(26), JmJobSourcePlatformTypeTC -- The jobName attribute is distinguished from the jobComment
INTEGER: The source platform type of the immediate upstream -- attribute, in that the jobName attribute is intended to
submitter that submitted the job to the server -- permit the submitting user to distinguish between different
(configuration 2) or device (configuration 1 and 3) to which -- jobs that he/she has submitted. The jobComment attribute
the agent is providing access. For configuration 1, this is -- is intended to be free form additional information that a
the type of the client that submitted the job to the device; -- user might wish to use to communicate with himself/herself,
for configuration 2, this is the type of the client that -- such as a reminder of what to do with the results or to
submitted the job to the server; and for configuration 3, -- indicate a different set of input parameters were tried in
Job Monitoring MIB, V0.86 Sep 19, 1997 -- several different job submissions.
this is the type of the server that submitted the job to the -- jobServiceTypes(24), JmJobServiceTypesTC
device. -- INTEGER: Specifies the type(s) of service to which the job
-- has been submitted (print, fax, scan, etc.). The service
-- type is bit encoded with each job service type so that more
-- general and arbitrary services can be created, such as
-- services with more than one destination type, or ones with
-- only a source or only a destination. For example, a job
-- service might scan, faxOut, and print a single job. In
-- this case, three bits would be set in the jobServiceTypes
-- attribute, corresponding to the hexadecimal values: 0x8 +
-- 0x20 + 0x4, respectively, yielding: 0x2C.
submittingServerName(27), JmJobStringTC(SIZE(0..63)) -- Whether this attribute is set from a job attribute supplied
OCTETS: For configuration 3 only: The administrative name -- by the job submission client or is set by the recipient job
of the server that submitted the job to the device. -- submission server or device depends on the job submission
-- protocol. This attribute SHALL be implemented if the
-- server or device has other types in addition to or instead
-- of printing.
submittingApplicationName(28), JmJobStringTC(SIZE(0..63)) -- One of the purposes of this attribute is to permit a
OCTETS: The name of the client application (not the server -- requester to filter out jobs that are not of interest. For
in configuration 3) that submitted the job to the server or -- example, a printer operator may only be interested in jobs
device. -- that include printing.
jobOriginatingHost(29), JmJobStringTC(SIZE(0..63)) -- jobSourceChannelIndex(25), Integer32 (0..2147483647)
OCTETS: The name of the client host (not the server host -- INTEGER: The index of the row in the associated Printer
name in configuration 3) that submitted the job to the -- MIB[print-mib] of the channel which is the source of the
server or device. -- print job.
deviceNameRequested(30), JmJobStringTC(SIZE(0..63)) -- jobSourcePlatformType(26), JmJobSourcePlatformTypeTC
OCTETS: The administratively defined coded character set -- INTEGER: The source platform type of the immediate
name of the target device requested by the submitting user. -- upstream submitter that submitted the job to the server
For configuration 1, its value corresponds to the Printer -- (configuration 2) or device (configuration 1 and 3) to
MIB[print-mib]: prtGeneralPrinterName object. For -- which the agent is providing access. For configuration 1,
configuration 2 and 3, its value is the name of the logical -- this is the type of the client that submitted the job to
or physical device that the user supplied to indicate to the -- the device; for configuration 2, this is the type of the
server on which device(s) they wanted the job to be -- client that submitted the job to the server; and for
processed. -- configuration 3, this is the type of the server that
-- submitted the job to the device.
queueNameRequested(31), JmJobStringTC(SIZE(0..63)) -- submittingServerName(27), JmJobStringTC (SIZE(0..63))
OCTETS: The administratively defined coded character set -- OCTETS: For configuration 3 only: The administrative name
name of the target queue requested by the submitting user. -- of the server that submitted the job to the device.
For configuration 1, its value corresponds to the queue in
the device for which the agent is providing access. For
configuration 2 and 3, its value is the name of the queue
that the user supplied to indicate to the server on which
device(s) they wanted the job to be processed.
NOTE - typically an implementation SHOULD support either the -- submittingApplicationName(28), JmJobStringTC (SIZE(0..63))
deviceNameRequested or queueNameRequested attribute, but not -- OCTETS: The name of the client application (not the server
both. -- in configuration 3) that submitted the job to the server or
-- device.
physicalDevice(32), hrDeviceIndex -- jobOriginatingHost(29), JmJobStringTC (SIZE(0..63))
AND/OR -- OCTETS: The name of the client host (not the server host
JmUTF8StringTC(SIZE(0..63)) -- name in configuration 3) that submitted the job to the
INTEGER: MULTI-ROW: The index of the physical device MIB -- server or device.
instance requested/used, such as the Printer MIB[print-mib].
This value is an hrDeviceIndex value. See the Host
Resources MIB[hr-mib].
Job Monitoring MIB, V0.86 Sep 19, 1997 -- deviceNameRequested(30), JmJobStringTC (SIZE(0..63))
-- OCTETS: The administratively defined coded character set
-- name of the target device requested by the submitting user.
-- For configuration 1, its value corresponds to the Printer
-- MIB[print-mib]: prtGeneralPrinterName object. For
-- configuration 2 and 3, its value is the name of the logical
-- or physical device that the user supplied to indicate to
-- the server on which device(s) they wanted the job to be
-- processed.
AND/OR -- queueNameRequested(31), JmJobStringTC (SIZE(0..63))
-- OCTETS: The administratively defined coded character set
-- name of the target queue requested by the submitting user.
-- For configuration 1, its value corresponds to the queue in
-- the device for which the agent is providing access. For
-- configuration 2 and 3, its value is the name of the queue
-- that the user supplied to indicate to the server on which
-- device(s) they wanted the job to be processed.
OCTETS: MULTI-ROW: The name of the physical device to -- NOTE - typically an implementation SHOULD support either
which the job is assigned. -- the deviceNameRequested or queueNameRequested attribute,
-- but not both.
numberOfDocuments(33), Integer32(-2..2147483647) -- physicalDevice(32), hrDeviceIndex
INTEGER: The number of documents in this job. -- AND/OR
-- JmUTF8StringTC (SIZE(0..63))
-- INTEGER: MULTI-ROW: The index of the physical device MIB
-- instance requested/used, such as the Printer MIB[print-
-- mib]. This value is an hrDeviceIndex value. See the Host
-- Resources MIB[hr-mib].
fileName(34), JmJobStringTC(SIZE(0..63)) -- AND/OR
OCTETS: MULTI-ROW: The coded character set file name or
URI[URI-spec] of the document.
There is no restriction on the same file name occurring in -- OCTETS: MULTI-ROW: The name of the physical device to
multiple rows. -- which the job is assigned.
documentName(35), JmJobStringTC(SIZE(0..63)) -- numberOfDocuments(33), Integer32 (-2..2147483647)
OCTETS: MULTI-ROW: The coded character set name of the -- INTEGER: The number of documents in this job.
document.
There is no restriction on the same document name occurring -- The agent SHOULD return this attribute if the job has more
in multiple rows. -- than one document.
jobComment(36), JmJobStringTC(SIZE(0..63)) -- fileName(34), JmJobStringTC (SIZE(0..63))
OCTETS: An arbitrary human-readable coded character text -- OCTETS: MULTI-ROW: The coded character set file name or
string supplied by the submitting user or the job submitting -- URI[URI-spec] of the document.
application program for any purpose. For example, a user
might indicate what he/she is going to do with the printed
output or the job submitting application program might
indicate how the document was produced.
The jobComment attribute is not intended to be a name; see -- There is no restriction on the same file name occurring in
the jobName attribute. -- multiple rows.
documentFormatIndex(37), Integer32(0..2147483647) -- documentName(35), JmJobStringTC (SIZE(0..63))
INTEGER: MULTI-ROW: The index in the prtInterpreterTable -- OCTETS: MULTI-ROW: The coded character set name of the
in the Printer MIB[print-mib] of the page description -- document.
language (PDL) or control language interpreter that this job
requires/uses. A document or a job MAY use more than one
PDL or control language.
NOTE - As with all intensive attributes where multiple rows -- There is no restriction on the same document name occurring
are allowed, there SHALL be only one distinct row for each -- in multiple rows.
distinct interpreter; there SHALL be no duplicates.
NOTE - This attribute type is intended to be used with an -- jobComment(36), JmJobStringTC (SIZE(0..63))
agent that implements the Printer MIB and SHALL not be used -- OCTETS: An arbitrary human-readable coded character text
Job Monitoring MIB, V0.86 Sep 19, 1997 -- string supplied by the submitting user or the job
-- submitting application program for any purpose. For
-- example, a user might indicate what he/she is going to do
-- with the printed output or the job submitting application
-- program might indicate how the document was produced.
if the agent does not implement the Printer MIB. Such an -- The jobComment attribute is not intended to be a name; see
agent SHALL use the documentFormat attribute instead. -- the jobName attribute.
documentFormat(38), PrtInterpreterLangFamilyTC -- documentFormatIndex(37), Integer32 (0..2147483647)
AND/OR -- INTEGER: MULTI-ROW: The index in the prtInterpreterTable
OCTET STRING(SIZE(0..63)) -- in the Printer MIB[print-mib] of the page description
INTEGER: MULTI-ROW: The interpreter language family -- language (PDL) or control language interpreter that this
corresponding to the Printer MIB[print-mib] -- job requires/uses. A document or a job MAY use more than
prtInterpreterLangFamily object, that this job -- one PDL or control language.
requires/uses. A document or a job MAY use more than one
PDL or control language.
AND/OR -- NOTE - As with all intensive attributes where multiple rows
-- are allowed, there SHALL be only one distinct row for each
-- distinct interpreter; there SHALL be no duplicates.
OCTETS: MULTI-ROW: The document format registered as a -- NOTE - This attribute type is intended to be used with an
media type[iana-media-types], i.e., the name of the MIME -- agent that implements the Printer MIB and SHALL not be used
content-type/subtype. Examples: 'application/postscript', -- if the agent does not implement the Printer MIB. Such an
'application/vnd.hp-PCL', and 'application/pdf' -- agent SHALL use the documentFormat attribute instead.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -- documentFormat(38), PrtInterpreterLangFamilyTC
+ Job Parameter attributes -- AND/OR
+ -- OCTET STRING(SIZE(0..63))
+ The following attributes represent input parameters -- INTEGER: MULTI-ROW: The interpreter language family
+ supplied by the submitting client in the job submission -- corresponding to the Printer MIB[print-mib]
+ protocol. -- prtInterpreterLangFamily object, that this job
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -- requires/uses. A document or a job MAY use more than one
-- PDL or control language.
jobPriority(50), Integer32(1..100) -- AND/OR
INTEGER: The priority for scheduling the job. It is used
by servers and devices that employ a priority-based
scheduling algorithm.
A higher value specifies a higher priority. The value 1 is -- OCTETS: MULTI-ROW: The document format registered as a
defined to indicate the lowest possible priority (a job -- media type[iana-media-types], i.e., the name of the MIME
which a priority-based scheduling algorithm SHALL pass over -- content-type/subtype. Examples: 'application/postscript',
in favor of higher priority jobs). The value 100 is defined -- 'application/vnd.hp-PCL', 'application/pdf', 'text/plain'
to indicate the highest possible priority. Priority is -- (US-ASCII SHALL be assumed), 'text/plain; charset=iso-8859-
expected to be evenly or 'normally' distributed across this -- 1', and 'application/octet-stream'. The IPP 'document-
range. The mapping of vendor-defined priority over this -- format' job attribute uses these same values with the same
range is implementation-specific. -- semantics. See the IPP [ipp-model] 'mimeMediaType'
-- attribute syntax and the document-format attribute for
-- further examples and explanation.
jobProcessAfterDateAndTime(51), DateAndTime (SNMPv2-TC) -- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
OCTETS: The calendar date and time of day after which the -- + Job Parameter attributes
job SHALL become a candidate to be scheduled for processing. -- +
If the value of this attribute is in the future, the server -- + The following attributes represent input parameters
SHALL set the value of the job's jmJobState object to -- + supplied by the submitting client in the job submission
pendingHeld and add the jobProcessAfterSpecified bit value -- + protocol.
Job Monitoring MIB, V0.86 Sep 19, 1997 -- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
to the job's jmJobStateReasons1 object. When the specified -- jobPriority(50), Integer32 (-2..100)
date and time arrives, the server SHALL remove the -- INTEGER: The priority for scheduling the job. It is used
jobProcessAfterSpecified bit value from the job's -- by servers and devices that employ a priority-based
jmJobStateReasons1 object and, if no other reasons remain, -- scheduling algorithm.
SHALL change the job's jmJobState object to pending.
jobHold(52), JmBooleanTC -- A higher value specifies a higher priority. The value 1 is
INTEGER: If the value is 'true(4)', a client has explicitly -- defined to indicate the lowest possible priority (a job
specified that the job is to be held until explicitly -- which a priority-based scheduling algorithm SHALL pass over
released. Until the job is explicitly released by a client, -- in favor of higher priority jobs). The value 100 is
the job SHALL be in the pendingHeld state with the -- defined to indicate the highest possible priority.
jobHoldSpecified value in the jmJobStateReasons1 attribute. -- Priority is expected to be evenly or 'normally' distributed
-- across this range. The mapping of vendor-defined priority
-- over this range is implementation-specific. -2 indicates
-- unknown.
jobHoldUntil(53), JmJobStringTC(SIZE(0..63)) -- jobProcessAfterDateAndTime(51), DateAndTime (SNMPv2-TC)
OCTETS: The named time period during which the job SHALL -- OCTETS: The calendar date and time of day after which the
become a candidate for processing, such as 'evening', -- job SHALL become a candidate to be scheduled for
'night', 'weekend', 'second-shift', 'third-shift', etc., as -- processing. If the value of this attribute is in the
defined by the system administrator. See IPP [ipp-model] -- future, the server SHALL set the value of the job's
for the standard keyword values. Until that time period -- jmJobState object to pendingHeld and add the
arrives, the job SHALL be in the pendingHeld state with the -- jobProcessAfterSpecified bit value to the job's
jobHoldUntilSpecified value in the jmJobStateReasons1 -- jmJobStateReasons1 object. When the specified date and
object. The value 'no-hold' SHALL indicate explicitly that -- time arrives, the server SHALL remove the
no time period has been specified; the absence of this -- jobProcessAfterSpecified bit value from the job's
attribute SHALL indicate implicitly that no time period has -- jmJobStateReasons1 object and, if no other reasons remain,
been specified. -- SHALL change the job's jmJobState object to pending.
outputBin(54), Integer32(0..2147483647) -- jobHold(52), JmBooleanTC
AND/OR -- INTEGER: If the value is 'true(4)', a client has
JmJobStringTC(SIZE(0..63)) -- explicitly specified that the job is to be held until
INTEGER: MULTI-ROW: The output subunit index in the -- explicitly released. Until the job is explicitly released
Printer MIB[print-mib] -- by a client, the job SHALL be in the pendingHeld state with
-- the jobHoldSpecified value in the jmJobStateReasons1
-- attribute.
AND/OR -- jobHoldUntil(53), JmJobStringTC (SIZE(0..63))
-- OCTETS: The named time period during which the job SHALL
-- become a candidate for processing, such as 'evening',
-- 'night', 'weekend', 'second-shift', 'third-shift', etc., as
-- defined by the system administrator. See IPP [ipp-model]
-- for the standard keyword values. Until that time period
-- arrives, the job SHALL be in the pendingHeld state with the
-- jobHoldUntilSpecified value in the jmJobStateReasons1
-- object. The value 'no-hold' SHALL indicate explicitly that
-- no time period has been specified; the absence of this
-- attribute SHALL indicate implicitly that no time period has
-- been specified.
OCTETS: the name or number (represented as ASCII digits) of -- outputBin(54), Integer32 (0..2147483647)
the output bin to which all or part of the job is placed in. -- AND/OR
-- JmJobStringTC (SIZE(0..63))
-- INTEGER: MULTI-ROW: The output subunit index in the
-- Printer MIB[print-mib]
sides(55), Integer32(-2..2) -- AND/OR
INTEGER: MULTI-ROW: The number of sides, '1' or '2', that
any document in this job requires/used.
finishing(56), JmFinishingTC -- OCTETS: MULTI-ROW: the name or number (represented as
INTEGER: MULTI-ROW: Type of finishing that any document in -- ASCII digits) of the output bin to which all or part of the
this job requires/used. -- job is placed in.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -- sides(55), Integer32 (-2..2)
+ Image Quality attributes (requested and consumed) -- INTEGER: MULTI-ROW: The number of sides, '1' or '2', that
Job Monitoring MIB, V0.86 Sep 19, 1997 -- any document in this job requires/used.
+ -- finishing(56), JmFinishingTC
+ For devices that can vary the image quality. -- INTEGER: MULTI-ROW: Type of finishing that any document
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -- in this job requires/used.
printQualityRequested(70), JmPrintQualityTC -- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
INTEGER: MULTI-ROW: The print quality selection requested -- + Image Quality attributes (requested and consumed)
for a document in the job for printers that allow quality -- +
differentiation. -- + For devices that can vary the image quality.
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
printQualityUsed(71), JmPrintQualityTC -- printQualityRequested(70), JmPrintQualityTC
INTEGER: MULTI-ROW: The print quality selection actually -- INTEGER: MULTI-ROW: The print quality selection requested
used by a document in the job for printers that allow -- for a document in the job for printers that allow quality
quality differentiation. -- differentiation.
printerResolutionRequested(72), JmPrinterResolutionTC -- printQualityUsed(71), JmPrintQualityTC
OCTETS: MULTI-ROW: The printer resolution requested for a -- INTEGER: MULTI-ROW: The print quality selection actually
document in the job for printers that support resolution -- used by a document in the job for printers that allow
selection. -- quality differentiation.
printerResolutionUsed(73), JmPrinterResolutionTC -- printerResolutionRequested(72), JmPrinterResolutionTC
OCTETS: MULTI-ROW: The printer resolution actually used by -- OCTETS: MULTI-ROW: The printer resolution requested for a
a document in the job for printers that support resolution -- document in the job for printers that support resolution
selection. -- selection.
tonerEcomonyRequested(74), JmTonerEconomyTC -- printerResolutionUsed(73), JmPrinterResolutionTC
INTEGER: MULTI-ROW: The toner economy selection requested -- OCTETS: MULTI-ROW: The printer resolution actually used
for documents in the job for printers that allow toner -- by a document in the job for printers that support
economy differentiation. -- resolution selection.
tonerEcomonyUsed(75), JmTonerEconomyTC -- tonerEcomonyRequested(74), JmTonerEconomyTC
INTEGER: MULTI-ROW: The toner economy selection actually -- INTEGER: MULTI-ROW: The toner economy selection requested
used by documents in the job for printers that allow toner -- for documents in the job for printers that allow toner
economy differentiation. -- economy differentiation.
tonerDensityRequested(76), Integer32(-2..100) -- tonerEcomonyUsed(75), JmTonerEconomyTC
INTEGER: MULTI-ROW: The toner density requested for a -- INTEGER: MULTI-ROW: The toner economy selection actually
document in this job for devices that can vary toner density -- used by documents in the job for printers that allow toner
levels. Level 1 is the lowest density and level 100 is the -- economy differentiation.
highest density level. Devices with a smaller range, SHALL
map the 1-100 range evenly onto the implemented range.
tonerDensityUsed(77), Integer32(-2..100) -- tonerDensityRequested(76), Integer32 (-2..100)
INTEGER: MULTI-ROW: The toner density used by documents in -- INTEGER: MULTI-ROW: The toner density requested for a
this job for devices that can vary toner density levels. -- document in this job for devices that can vary toner
Level 1 is the lowest density and level 100 is the highest -- density levels. Level 1 is the lowest density and level
density level. Devices with a smaller range, SHALL map the -- 100 is the highest density level. Devices with a smaller
1-100 range evenly onto the implemented range. -- range, SHALL map the 1-100 range evenly onto the
-- implemented range.
Job Monitoring MIB, V0.86 Sep 19, 1997 -- tonerDensityUsed(77), Integer32 (-2..100)
-- INTEGER: MULTI-ROW: The toner density used by documents
-- in this job for devices that can vary toner density levels.
-- Level 1 is the lowest density and level 100 is the highest
-- density level. Devices with a smaller range, SHALL map the
-- 1-100 range evenly onto the implemented range.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ Job Progress attributes (requested and consumed) -- + Job Progress attributes (requested and consumed)
+ -- +
+ Pairs of these attributes can be used by monitoring -- + Pairs of these attributes can be used by monitoring
+ applications to show an indication of relative progress -- + applications to show an indication of relative progress
+ to users. -- + to users. See section 3.4, entitled
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -- + 'Monitoring Job Progress'.
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
jobCopiesRequested(90), Integer32(-2..2147483647) -- jobCopiesRequested(90), Integer32 (-2..2147483647)
INTEGER: The number of copies of the entire job that are to -- INTEGER: The number of copies of the entire job that are
be produced. -- to be produced.
jobCopiesCompleted(91), Integer32(-2..2147483647) -- jobCopiesCompleted(91), Integer32 (-2..2147483647)
INTEGER: The number of copies of the entire job that have -- INTEGER: The number of copies of the entire job that have
been completed so far. -- been completed so far.
documentCopiesRequested(92), Integer32(-2..2147483647) -- documentCopiesRequested(92), Integer32 (-2..2147483647)
INTEGER: The total count of the number of document copies -- INTEGER: The total count of the number of document copies
requested for the job as a whole. If there are documents A, -- requested for the job as a whole. If there are documents
B, and C, and document B is specified to produce 4 copies, -- A, B, and C, and document B is specified to produce 4
the number of document copies requested is 6 for the job. -- copies, the number of document copies requested is 6 for
-- the job.
This attribute SHALL be used only when a job has multiple -- This attribute SHALL be used only when a job has multiple
documents. The jobCopiesRequested attribute SHALL be used -- documents. The jobCopiesRequested attribute SHALL be used
when the job has only one document. -- when the job has only one document.
documentCopiesCompleted(93), Integer32(-2..2147483647) -- documentCopiesCompleted(93), Integer32 (-2..2147483647)
INTEGER: The total count of the number of document copies -- INTEGER: The total count of the number of document copies
completed so far for the job as a whole. If there are -- completed so far for the job as a whole. If there are
documents A, B, and C, and document B is specified to -- documents A, B, and C, and document B is specified to
produce 4 copies, the number of document copies starts a 0 -- produce 4 copies, the number of document copies starts a 0
and runs up to 6 for the job as the job processes. -- and runs up to 6 for the job as the job processes.
This attribute SHALL be used only when a job has multiple -- This attribute SHALL be used only when a job has multiple
documents. The jobCopiesCompleted attribute SHALL be used -- documents. The jobCopiesCompleted attribute SHALL be used
when the job has only one document. -- when the job has only one document.
jobKOctetsTransferred(94), Integer32(-2..2147483647) -- jobKOctetsTransferred(94), Integer32 (-2..2147483647)
INTEGER: The number of K (1024) octets transferred to the -- INTEGER: The number of K (1024) octets transferred to the
server or device to which the agent is providing access. -- server or device to which the agent is providing access.
This count is independent of the number of copies of the job -- This count is independent of the number of copies of the
or documents that will be produced, but it is only a measure -- job or documents that will be produced, but it is only a
of the number of bytes transferred to the server or device. -- measure of the number of bytes transferred to the server or
-- device.
The agent SHALL round the actual number of octets -- The agent SHALL round the actual number of octets
transferred up to the next higher K. Thus 0 octets SHALL be -- transferred up to the next higher K. Thus 0 octets SHALL
represented as '0', 1-1024 octets SHALL BE represented as -- be represented as '0', 1-1024 octets SHALL BE represented
Job Monitoring MIB, V0.86 Sep 19, 1997 -- as '1', 1025-2048 SHALL be '2', etc. When the job
-- completes, the values of the jmJobKOctetsPerCopyRequested
-- object and the jobKOctetsTransferred attribute SHALL be
-- equal.
'1', 1025-2048 SHALL be '2', etc. When the job completes, -- NOTE - The jobKOctetsTransferred can be used with the
the values of the jmJobKOctetsRequested object and the -- jmJobKOctetsPerCopyRequested object in order to produce a
jobKOctetsTransferred attribute SHALL be equal. -- relative indication of the progress of the job for agents
-- that do not implement the jmJobKOctetsProcessed object.
NOTE - The jobKOctetsTransferred can be used with the -- sheetCompletedCopyNumber(95), Integer32 (-2..2147483647)
jmJobKOctetsRequested object in order to produce a relative -- INTEGER: The number of the copy being stacked for the
indication of the progress of the job for agents that do not -- current document. This number starts at 0, is set to 1
implement the jmJobKOctetsProcessed object. -- when the first sheet of the first copy for each document is
-- being stacked and is equal to n where n is the nth sheet
-- stacked in the current document copy. See section 3.4 ,
-- entitled 'Monitoring Job Progress'.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -- sheetCompletedDocumentNumber(96), Integer32 (-2..2147483647)
+ Impression attributes -- INTEGER: The ordinal number of the document in the job
+ -- that is currently being stacked. This number starts at 0,
+ For a print job, an impression is the marking of the -- increments to 1 when the first sheet of the first document
+ entire side of a sheet. Two-sided processing involves two -- in the job is being stacked, and is equal to n where n is
+ impressions per sheet. Two-up is the placement of two -- the nth document in the job, starting with 1.
+ logical pages on one side of a sheet and so is still a
+ single impression. See also jmJobImpressionsRequested and
+ jmJobImpressionsCompleted objects in the jmJobTable.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
impressionsSpooled(110), Integer32(-2..2147483647) -- Implementations that only support one document jobs SHOULD
INTEGER: The number of impressions spooled to the server or -- NOT implement this attribute.
device for the job so far.
impressionsSentToDevice(111), Integer32(-2..2147483647) -- jobCollationType(97), JmJobCollationTypeTC
INTEGER: The number of impressions sent to the device for -- INTEGER: The type of job collation. See also Section 3.4,
the job so far. -- entitled 'Monitoring Job Progress'.
impressionsInterpreted(112), Integer32(-2..2147483647) -- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
INTEGER: The number of impressions interpreted for the job -- + Impression attributes
so far. -- +
-- + See the definition of the terms 'impression', 'sheet',
-- + and 'page' in Section 2.
-- +
-- + See also jmJobImpressionsPerCopyRequested and
-- + jmJobImpressionsCompleted objects in the jmJobTable.
-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
impressionsCompletedCurrentCopy(113), Integer32(-2..2147483647) -- impressionsSpooled(110), Integer32 (-2..2147483647)
INTEGER: The number of impressions completed by the device -- INTEGER: The number of impressions spooled to the server
for the current copy of the current document so far. For -- or device for the job so far.
printing, the impressions completed includes interpreting,
marking, and stacking the output. For other types of job
services, the number of impressions completed includes the
number of impressions processed.
This value SHALL be reset to 0 for each document in the job -- impressionsSentToDevice(111), Integer32 (-2..2147483647)
and for each document copy. -- INTEGER: The number of impressions sent to the device for
-- the job so far.
fullColorImpressionsCompleted(114), Integer32(-2..2147483647) -- impressionsInterpreted(112), Integer32 (-2..2147483647)
INTEGER: The number of full color impressions completed by -- INTEGER: The number of impressions interpreted for the job
the device for this job so far. For printing, the -- so far.
impressions completed includes interpreting, marking, and
Job Monitoring MIB, V0.86 Sep 19, 1997
stacking the output. For other types of job services, the -- impressionsCompletedCurrentCopy(113),
number of impressions completed includes the number of -- Integer32 (-2..2147483647)
impressions processed. Full color impressions are typically -- INTEGER: The number of impressions completed by the device
defined as those requiring 3 or more colorants, but this MAY -- for the current copy of the current document so far. For
vary by implementation. -- printing, the impressions completed includes interpreting,
-- marking, and stacking the output. For other types of job
-- services, the number of impressions completed includes the
-- number of impressions processed.
highlightColorImpressionsCompleted(115), Integer32(-2.. -- This value SHALL be reset to 0 for each document in the job
2147483647) -- and for each document copy.
INTEGER: The number of highlight color impressions
completed by the device for this job so far. For printing,
the impressions completed includes interpreting, marking,
and stacking the output. For other types of job services,
the number of impressions completed includes the number of
impressions processed. Highlight color impressions are
typically defined as those requiring black plus one other
colorant, but this MAY vary by implementation.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -- fullColorImpressionsCompleted(114), Integer32 (-2..2147483647)
+ Page attributes -- INTEGER: The number of full color impressions completed by
+ -- the device for this job so far. For printing, the
+ A page is a logical page. Number up can impose more than -- impressions completed includes interpreting, marking, and
+ one page on a single side of a sheet. Two-up is the -- stacking the output. For other types of job services, the
+ placement of two logical pages on one side of a sheet so -- number of impressions completed includes the number of
+ that each side counts as two pages. -- impressions processed. Full color impressions are typically
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -- defined as those requiring 3 or more colorants, but this
-- MAY vary by implementation. In any case, the value of this
-- attribute counts by 1 for each side that has full color,
-- not by the number of colors per side (and the other
-- impression counters are incremented, except
-- highlightColorImpressionsCompleted(115)).
pagesRequested(130), Integer32(-2..2147483647) -- highlightColorImpressionsCompleted(115),
INTEGER: The number of logical pages requested by the job -- Integer32 (-2..2147483647)
to be processed. -- INTEGER: The number of highlight color impressions
-- completed by the device for this job so far. For printing,
-- the impressions completed includes interpreting, marking,
-- and stacking the output. For other types of job services,
-- the number of impressions completed includes the number of
-- impressions processed. Highlight color impressions are
-- typically defined as those requiring black plus one other
-- colorant, but this MAY vary by implementation. In any
-- case, the value of this attribute counts by 1 for each side
-- that has highlight color (and the other impression counters
-- are incremented, except
-- fullColorImpressionsCompleted(114)).
pagesCompleted(131), Integer32(-2..2147483647) -- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
INTEGER: The number of logical pages completed for this job -- + Page attributes
so far. -- +
-- + See the definition of 'impression', 'sheet', and 'page'
-- + in Section 2.
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
For implementations where multiple copies are produced by -- pagesRequested(130), Integer32 (-2..2147483647)
the interpreter with only a single pass over the data, the -- INTEGER: The number of logical pages requested by the job
final value SHALL be equal to the value of the -- to be processed.
pagesRequested object. For implementations where multiple
copies are produced by the interpreter by processing the
data for each copy, the final value SHALL be a multiple of
the value of the pagesRequested object.
NOTE - See the impressionsCompletedCurrentCopy and -- pagesCompleted(131), Integer32 (-2..2147483647)
pagesCompletedCurrentCopy attributes for attributes that are -- INTEGER: The number of logical pages completed for this
reset on each document copy. -- job so far.
Job Monitoring MIB, V0.86 Sep 19, 1997 -- For implementations where multiple copies are produced by
-- the interpreter with only a single pass over the data, the
-- final value SHALL be equal to the value of the
-- pagesRequested object. For implementations where multiple
-- copies are produced by the interpreter by processing the
-- data for each copy, the final value SHALL be a multiple of
-- the value of the pagesRequested object.
NOTE - The pagesCompleted object can be used with the -- NOTE - See the impressionsCompletedCurrentCopy and
pagesRequested object to provide an indication of the -- pagesCompletedCurrentCopy attributes for attributes that
relative progress of the job, provided that the -- are reset on each document copy.
multiplicative factor is taken into account for some
implementations of multiple copies.
pagesCompletedCurrentCopy(132), Integer32(-2..2147483647) -- NOTE - The pagesCompleted object can be used with the
INTEGER: The number of logical pages completed for the -- pagesRequested object to provide an indication of the
current copy of the document so far. This value SHALL be -- relative progress of the job, provided that the
reset to 0 for each document in the job and for each -- multiplicative factor is taken into account for some
document copy. -- implementations of multiple copies.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -- pagesCompletedCurrentCopy(132), Integer32 (-2..2147483647)
+ Sheet attributes -- INTEGER: The number of logical pages completed for the
+ -- current copy of the document so far. This value SHALL be
+ The sheet is a single piece of a medium, whether printing -- reset to 0 for each document in the job and for each
+ on one or both sides. -- document copy.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
sheetsRequested(150), Integer32(-2..2147483647) -- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
INTEGER: The number of medium sheets requested to be -- + Sheet attributes
processed for this job. -- +
-- + See the definition of 'impression', 'sheet', and 'page'
-- + in Section 2.
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
sheetsCompleted(151), Integer32(-2..2147483647) -- sheetsRequested(150), Integer32 (-2..2147483647)
INTEGER: The number of medium sheets that have completed -- INTEGER: The total number of medium sheets requested to be
marking and stacking for the entire job so far whether those -- produced for this job.
sheets have been processed on one side or on both.
sheetsCompletedCurrentCopy(152), Integer32(-2..2147483647) -- Unlike the jmJobKOctetsPerCopyRequested and
INTEGER: The number of medium sheets that have completed -- jmJobImpressionsPerCopyRequested attributes, the
marking and stacking for the current copy of a document in -- sheetsRequested(150) attribute SHALL include the
the job so far whether those sheets have been processed on -- multiplicative factor contributed by the number of copies
one side or on both. -- and so is the total number of sheets to be produced by the
-- job, as opposed to the size of the document(s) submitted.
The value of this attribute SHALL be reset to 0 as each -- sheetsCompleted(151), Integer32 (-2..2147483647)
document in the job starts being processed and for each -- INTEGER: The total number of medium sheets that have
document copy as it starts being processed. -- completed marking and stacking for the entire job so far
-- whether those sheets have been processed on one side or on
-- both.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -- sheetsCompletedCurrentCopy(152), Integer32 (-2..2147483647)
+ Resources attributes (requested and consumed) -- INTEGER: The number of medium sheets that have completed
+ -- marking and stacking for the current copy of a document in
+ Pairs of these attributes can be used by monitoring -- the job so far whether those sheets have been processed on
+ applications to show an indication of relative usage to -- one side or on both.
+ users.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Job Monitoring MIB, V0.86 Sep 19, 1997
mediumRequested(170), JmMediumTypeTC -- The value of this attribute SHALL be 0 before the job
AND/OR -- starts processing and SHALL be reset to 1 after the first
JmJobStringTC(SIZE(0..63)) -- sheet of each document and document copy in the job is
INTEGER: MULTI-ROW: The type -- processed and stacked.
AND/OR
OCTETS: the name of the medium that is required by the job.
mediumConsumed(171), Integer32(-2..2147483647) -- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
AND -- + Resources attributes (requested and consumed)
JmJobStringTC(SIZE(0..63)) -- +
INTEGER: The number of sheets -- + Pairs of these attributes can be used by monitoring
AND -- + applications to show an indication of relative usage to
OCTETS: MULTI-ROW: the name of the medium that has been -- + users.
consumed so far whether those sheets have been processed on -- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
one side or on both.
This attribute SHALL have both Integer32 and OCTET STRING -- mediumRequested(170), JmMediumTypeTC
(represented as JmJobStringTC) values. -- AND/OR
-- JmJobStringTC (SIZE(0..63))
-- INTEGER: MULTI-ROW: The type
-- AND/OR
-- OCTETS: MULTI-ROW: the name of the medium that is
-- required by the job.
colorantRequested(172), Integer32(-2..2147483647) -- NOTE - The name (JmJobStringTC) values correspond to the
AND/OR -- prtInputMediaName object in the Printer MIB [print-mib] and
JmJobStringTC(SIZE(0..63)) -- the values of the IPP 'media' attribute.
INTEGER: MULTI-ROW: The index (prtMarkerColorantIndex) in
the Printer MIB[print-mib]
AND/OR
OCTETS: the name of the colorant requested.
colorantConsumed(173), Integer32(-2..2147483647) -- mediumConsumed(171), Integer32 (-2..2147483647)
AND/OR -- AND
JmJobStringTC(SIZE(0..63)) -- JmJobStringTC (SIZE(0..63))
INTEGER: MULTI-ROW: The index (prtMarkerColorantIndex) in -- INTEGER: MULTI-ROW: The number of sheets
the Printer MIB[print-mib] -- AND
AND/OR -- OCTETS: MULTI-ROW: the name of the medium that has been
OCTETS: the name of the colorant consumed. -- consumed so far whether those sheets have been processed on
-- one side or on both.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -- This attribute SHALL have both Integer32 and OCTET STRING
+ Time attributes (set by server or device) -- (represented as JmJobStringTC) values.
+
+ This section of attributes are ones that are set by the
+ server or device that accepts jobs. Two forms of time are
+ provided. Each form is represented in a separate attribute.
+ See section 3.1.2 and section 3.1.3 for the
+ conformance requirements for time attribute for agents and
+ monitoring applications, respectively. The two forms are:
+
+ 'DateAndTime' is an 8 or 11 octet binary encoded year,
+ month, day, hour, minute, second, deci-second with
Job Monitoring MIB, V0.86 Sep 19, 1997
+ optional offset from UTC. See SNMPv2-TC [SMIv2-TC]. -- NOTE - The name (JmJobStringTC) values correspond to the
+ -- name values of the prtInputMediaName object in the Printer
+ NOTE: 'DateAndTime' is not printable characters; it is -- MIB [print-mib].
+ binary.
+
+ 'JmTimeStampTC' is the time of day measured in the number of
+ seconds since the system was booted.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
jobSubmissionToServerTime(190), JmTimeStampTC -- colorantRequested(172), Integer32 (-2..2147483647)
AND/OR -- AND/OR
DateAndTime -- JmJobStringTC (SIZE(0..63))
INTEGER: Configuration 3 only: The time -- INTEGER: MULTI-ROW: The index (prtMarkerColorantIndex) in
AND/OR -- the Printer MIB[print-mib]
OCTETS: the date and time that the job was submitted to the -- AND/OR
server (as distinguished from the device which uses -- OCTETS: MULTI-ROW: the name of the colorant requested.
jobSubmissionTime).
jobSubmissionTime(191), JmTimeStampTC -- NOTE - The name (JmJobStringTC) values correspond to the
AND/OR -- name values of the prtMarkerColorantValue object in the
DateAndTime -- Printer MIB. Examples are: red, blue.
INTEGER: Configurations 1, 2, and 3: The time
AND/OR
OCTETS: the date and time that the job was submitted to the
server or device to which the agent is providing access.
jobStartedBeingHeldTime(192), JmTimeStampTC -- colorantConsumed(173), Integer32 (-2..2147483647)
AND/OR -- AND/OR
DateAndTime -- JmJobStringTC (SIZE(0..63))
INTEGER: The time -- INTEGER: MULTI-ROW: The index (prtMarkerColorantIndex) in
AND/OR -- the Printer MIB[print-mib]
OCTETS: the date and time that the job last entered the -- AND/OR
pendingHeld state. If the job has never entered the -- OCTETS: MULTI-ROW: the name of the colorant consumed.
pendingHeld state, then the value SHALL be '0' or the
attribute SHALL not be present in the table.
jobStartedProcessingTime(193), JmTimeStampTC -- NOTE - The name (JmJobStringTC) values correspond to the
AND/OR -- name values of the prtMarkerColorantValue object in the
DateAndTime -- Printer MIB. Examples are: red, blue
INTEGER: The time
AND/OR
OCTETS: the date and time that the job started processing.
jobCompletionTime(194), JmTimeStampTC -- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
AND/OR -- + Time attributes (set by server or device)
DateAndTime -- +
Job Monitoring MIB, V0.86 Sep 19, 1997 -- + This section of attributes are ones that are set by the
-- + server or device that accepts jobs. Two forms of time are
-- + provided. Each form is represented in a separate attribute.
-- + See section 3.1.2 and section 3.1.3 for the
-- + conformance requirements for time attribute for agents and
-- + monitoring applications, respectively. The two forms are:
-- +
-- + 'DateAndTime' is an 8 or 11 octet binary encoded year,
-- + month, day, hour, minute, second, deci-second with
-- + optional offset from UTC. See SNMPv2-TC [SMIv2-TC].
-- +
-- + NOTE: 'DateAndTime' is not printable characters; it is
-- + binary.
-- +
-- + 'JmTimeStampTC' is the time of day measured in the number of
-- + seconds since the system was booted.
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
INTEGER: The time -- jobSubmissionToServerTime(190), JmTimeStampTC
AND/OR -- AND/OR
OCTETS: the date and time that the job entered the -- DateAndTime
completed, canceled, or aborted state. -- INTEGER: Configuration 3 only: The time
-- AND/OR
-- OCTETS: the date and time that the job was submitted to
-- the server (as distinguished from the device which uses
-- jobSubmissionTime).
jobProcessingCPUTime(195) Integer32(-2..2147483647) -- jobSubmissionTime(191), JmTimeStampTC
UNITS 'seconds' -- AND/OR
INTEGER: The amount of CPU time in seconds that the job has -- DateAndTime
been in the processing state. If the job enters the -- INTEGER: Configurations 1, 2, and 3: The time
processingStopped state, that elapsed time SHALL not be -- AND/OR
included. In other words, the jobProcessingCPUTime value -- OCTETS: the date and time that the job was submitted to
SHOULD be relatively repeatable when the same job is -- the server or device to which the agent is providing
processed again on the same device." -- access.
-- 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.
-- jobStartedProcessingTime(193), JmTimeStampTC
-- AND/OR
-- DateAndTime
-- INTEGER: The time
-- AND/OR
-- OCTETS: the date and time that the job started processing.
-- jobCompletionTime(194), JmTimeStampTC
-- AND/OR
-- DateAndTime
-- INTEGER: The time
-- AND/OR
-- OCTETS: the date and time that the job entered the
-- completed, canceled, or aborted state.
-- 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."
REFERENCE REFERENCE
"See Section 3.2 entitled 'The Attribute Mechanism' for a "See Section 3.2 entitled 'The Attribute Mechanism' for a
description of this textual-convention and its use in the description of this textual-convention and its use in the
jmAttributeTable. jmAttributeTable.
This is a type 2 enumeration. See Section 3.6.1.2." This is a type 2 enumeration. See Section 3.7.1.2."
SYNTAX INTEGER { SYNTAX INTEGER {
other(1), other(1),
unknown(2),
-- Job State attributes:
jobStateReasons2(3), jobStateReasons2(3),
jobStateReasons3(4), jobStateReasons3(4),
jobStateReasons4(5), jobStateReasons4(5),
processingMessage(6), processingMessage(6),
jobCodedCharSet(7), processingMessageNaturalLangTag(7),
jobCodedCharSet(8),
jobNaturalLanguageTag(9),
-- Job Identification attributes:
jobURI(20), jobURI(20),
jobAccountName(21), jobAccountName(21),
serverAssignedJobName(22), serverAssignedJobName(22),
jobName(23), jobName(23),
jobServiceTypes(24), jobServiceTypes(24),
jobSourceChannelIndex(25), jobSourceChannelIndex(25),
jobSourcePlatformType(26), jobSourcePlatformType(26),
submittingServerName(27), submittingServerName(27),
submittingApplicationName(28), submittingApplicationName(28),
jobOriginatingHost(29), jobOriginatingHost(29),
deviceNameRequested(30), deviceNameRequested(30),
queueNameRequested(31), queueNameRequested(31),
physicalDevice(32), physicalDevice(32),
numberOfDocuments(33), numberOfDocuments(33),
fileName(34), fileName(34),
documentName(35), documentName(35),
jobComment(36), jobComment(36),
documentFormatIndex(37), documentFormatIndex(37),
documentFormat(38), documentFormat(38),
Job Monitoring MIB, V0.86 Sep 19, 1997
-- Job Parameter attributes:
jobPriority(50), jobPriority(50),
jobProcessAfterDateAndTime(51), jobProcessAfterDateAndTime(51),
jobHold(52), jobHold(52),
jobHoldUntil(53), jobHoldUntil(53),
outputBin(54), outputBin(54),
sides(55), sides(55),
finishing(56), finishing(56),
-- Image Quality attributes:
printQualityRequested(70), printQualityRequested(70),
printQualityUsed(71), printQualityUsed(71),
printerResolutionRequested(72), printerResolutionRequested(72),
printerResolutionUsed(73), printerResolutionUsed(73),
tonerEcomonyRequested(74), tonerEcomonyRequested(74),
tonerEcomonyUsed(75), tonerEcomonyUsed(75),
tonerDensityRequested(76), tonerDensityRequested(76),
tonerDensityUsed(77), tonerDensityUsed(77),
-- Job Progress attributes:
jobCopiesRequested(90), jobCopiesRequested(90),
jobCopiesCompleted(91), jobCopiesCompleted(91),
documentCopiesRequested(92), documentCopiesRequested(92),
documentCopiesCompleted(93), documentCopiesCompleted(93),
jobKOctetsTransferred(94), jobKOctetsTransferred(94),
sheetCompletedCopyNumber(95),
sheetCompletedDocumentNumber(96),
jobCollationType(97),
-- Impression attributes:
impressionsSpooled(110), impressionsSpooled(110),
impressionsSentToDevice(111), impressionsSentToDevice(111),
impressionsInterpreted(112), impressionsInterpreted(112),
impressionsCompletedCurrentCopy(113), impressionsCompletedCurrentCopy(113),
fullColorImpressionsCompleted(114), fullColorImpressionsCompleted(114),
highlightColorImpressionsCompleted(115), highlightColorImpressionsCompleted(115),
-- Page attributes:
pagesRequested(130), pagesRequested(130),
pagesCompleted(131), pagesCompleted(131),
pagesCompletedCurrentCopy(132), pagesCompletedCurrentCopy(132),
-- Sheet attributes:
sheetsRequested(150), sheetsRequested(150),
sheetsCompleted(151), sheetsCompleted(151),
sheetsCompletedCurrentCopy(152), sheetsCompletedCurrentCopy(152),
-- Resource attributes:
mediumRequested(170), mediumRequested(170),
mediumConsumed(171), mediumConsumed(171),
colorantRequested(172), colorantRequested(172),
colorantConsumed(173), colorantConsumed(173),
-- Time attributes:
jobSubmissionToServerTime(190), jobSubmissionToServerTime(190),
jobSubmissionTime(191), jobSubmissionTime(191),
jobStartedBeingHeldTime(192), jobStartedBeingHeldTime(192),
jobStartedProcessingTime(193), jobStartedProcessingTime(193),
Job Monitoring MIB, V0.86 Sep 19, 1997
jobCompletionTime(194), jobCompletionTime(194),
jobProcessingCPUTime(195) jobProcessingCPUTime(195)
} }
JmJobServiceTypesTC ::= TEXTUAL-CONVENTION JmJobServiceTypesTC ::= TEXTUAL-CONVENTION
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Specifies the type(s) of service to which the job has been "Specifies the type(s) of service to which the job has been
submitted (print, fax, scan, etc.). The service type is submitted (print, fax, scan, etc.). The service type is
represented as an enum that is bit encoded with each job service represented as an enum that is bit encoded with each job
type so that more general and arbitrary services can be created, service type so that more general and arbitrary services can be
such as services with more than one destination type, or ones created, such as services with more than one destination type,
with only a source or only a destination. For example, a job or ones with only a source or only a destination. For example,
service might scan, faxOut, and print a single job. In this a job service might scan, faxOut, and print a single job. In
case, three bits would be set in the jobServiceTypes attribute, this case, three bits would be set in the jobServiceTypes
corresponding to the hexadecimal values: 0x8 + 0x20 + 0x4, attribute, corresponding to the hexadecimal values: 0x8 + 0x20
respectively, yielding: 0x2C. + 0x4, respectively, yielding: 0x2C.
Whether this attribute is set from a job attribute supplied by Whether this attribute is set from a job attribute supplied by
the job submission client or is set by the recipient job the job submission client or is set by the recipient job
submission server or device depends on the job submission submission server or device depends on the job submission
protocol. With either implementation, the agent SHALL return a protocol. With either implementation, the agent SHALL return a
non-zero value for this attribute indicating the type of the non-zero value for this attribute indicating the type of the
job. job.
One of the purposes of this attribute is to permit a requester One of the purposes of this attribute is to permit a requester
to filter out jobs that are not of interest. For example, a to filter out jobs that are not of interest. For example, a
skipping to change at page 62, line 4 skipping to change at page 72, line 45
other 0x1 other 0x1
The job contains some instructions that are not one of the The job contains some instructions that are not one of the
identified types. identified types.
unknown 0x2 unknown 0x2
The job contains some instructions whose type is unknown to The job contains some instructions whose type is unknown to
the agent. the agent.
print 0x4 print 0x4
Job Monitoring MIB, V0.86 Sep 19, 1997
The job contains some instructions that specify printing The job contains some instructions that specify printing
scan 0x8 scan 0x8
The job contains some instructions that specify scanning The job contains some instructions that specify scanning
faxIn 0x10 faxIn 0x10
The job contains some instructions that specify receive fax The job contains some instructions that specify receive fax
faxOut 0x20 faxOut 0x20
The job contains some instructions that specify sending fax The job contains some instructions that specify sending fax
skipping to change at page 62, line 16 skipping to change at page 73, line 4
The job contains some instructions that specify printing The job contains some instructions that specify printing
scan 0x8 scan 0x8
The job contains some instructions that specify scanning The job contains some instructions that specify scanning
faxIn 0x10 faxIn 0x10
The job contains some instructions that specify receive fax The job contains some instructions that specify receive fax
faxOut 0x20 faxOut 0x20
The job contains some instructions that specify sending fax The job contains some instructions that specify sending fax
getFile 0x40 getFile 0x40
The job contains some instructions that specify accessing The job contains some instructions that specify accessing
files or documents files or documents
putFile 0x80 putFile 0x80
The job contains some instructions that specify storing The job contains some instructions that specify storing
files or documents files or documents
mailList 0x100 mailList 0x100
The job contains some instructions that specify distribution The job contains some instructions that specify
of documents using an electronic mail system." distribution of documents using an electronic mail system."
REFERENCE REFERENCE
"These bit definitions are the equivalent of a type 2 enum "These bit definitions are the equivalent of a type 2 enum
except that combinations of them MAY be used together. See except that combinations of them MAY be used together. See
section 3.6.1.2." section 3.7.1.2."
SYNTAX INTEGER(0..2147483647) -- 31 bits, all but sign bit SYNTAX INTEGER(0..2147483647) -- 31 bits, all but sign bit
JmJobStateReasons1TC ::= TEXTUAL-CONVENTION JmJobStateReasons1TC ::= TEXTUAL-CONVENTION
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The JmJobStateReasonsNTC (N=1..4) textual-conventions are used "The JmJobStateReasonsNTC (N=1..4) textual-conventions are used
with the jmJobStateReasons1 object and jobStateReasonsN with the jmJobStateReasons1 object and jobStateReasonsN
(N=2..4), respectively, to provide additional information (N=2..4), respectively, to provide additional information
regarding the current jmJobState object value. These values MAY regarding the current jmJobState object value. These values
be used with any job state or states for which the reason makes MAY be used with any job state or states for which the reason
sense. makes sense.
NOTE - While values cannot be added to the jmJobState object NOTE - While values cannot be added to the jmJobState object
without impacting deployed clients that take actions upon without impacting deployed clients that take actions upon
receiving jmJobState values, it is the intent that additional receiving jmJobState values, it is the intent that additional
Job Monitoring MIB, V0.86 Sep 19, 1997 JmJobStateReasonsNTC enums can be defined and registered
without impacting such deployed clients. In other words, the
JmJobStateReasonsNTC enums can be defined and registered without
impacting such deployed clients. In other words, the
jmJobStateReasons1 object and jobStateReasonsN attributes are jmJobStateReasons1 object and jobStateReasonsN attributes are
intended to be extensible. intended to be extensible.
NOTE - The Job Monitoring MIB contains a superset of the IPP NOTE - The Job Monitoring MIB contains a superset of the IPP
values[ipp-model] for the IPP 'job-state-reasons' attribute, values[ipp-model] for the IPP 'job-state-reasons' attribute,
since the Job Monitoring MIB is intended to cover other job since the Job Monitoring MIB is intended to cover other job
submission protocols as well. Also some of the names of the submission protocols as well. Also some of the names of the
reasons have been changed from 'printer' to 'device', since the reasons have been changed from 'printer' to 'device', since the
Job Monitoring MIB is intended to cover additional types of Job Monitoring MIB is intended to cover additional types of
devices, including input devices, such as scanners. devices, including input devices, such as scanners.
The following standard values are defined (in hexadecimal) as The following standard values are defined (in hexadecimal) as
powers of two, since multiple values MAY be used at the same powers of two, since multiple values MAY be used at the same
time. For ease of understanding, the JmJobStateReasons1TC time. For ease of understanding, the JmJobStateReasons1TC
reasons are presented in the order in which the reasons are reasons are presented in the order in which the reasons are
likely to occur (if implemented), starting with the likely to occur (if implemented), starting with the
'jobIncoming' value and ending with the 'jobCompletedWithErrors' 'jobIncoming' value and ending with the
value. 'jobCompletedWithErrors' value.
other 0x1 other 0x1
The job state reason is not one of the standardized or The job state reason is not one of the standardized or
registered reasons. registered reasons.
unknown 0x2 unknown 0x2
The job state reason is not known to the agent or is The job state reason is not known to the agent or is
indeterminent. indeterminent.
jobIncoming 0x4 jobIncoming 0x4
The job has been accepted by the server or device, but the The job has been accepted by the server or device, but the
server or device is expecting (1) additional operations from server or device is expecting (1) additional operations
the client to finish creating the job and/or (2) is from the client to finish creating the job and/or (2) is
accessing/accepting document data. accessing/accepting document data.
submissionInterrupted 0x8 submissionInterrupted 0x8
The job was not completely submitted for some unforeseen The job was not completely submitted for some unforeseen
reason, such as: (1) the server has crashed before the job reason, such as: (1) the server has crashed before the job
was closed by the client, (2) the server or the document was closed by the client, (2) the server or the document
transfer method has crashed in some non-recoverable way transfer method has crashed in some non-recoverable way
before the document data was entirely transferred to the before the document data was entirely transferred to the
server, (3) the client crashed or failed to close the job server, (3) the client crashed or failed to close the job
before the time-out period. before the time-out period.
jobOutgoing 0x10 jobOutgoing 0x10
Configuration 2 only: The server is transmitting the job to Configuration 2 only: The server is transmitting the job
the device. to the device.
Job Monitoring MIB, V0.86 Sep 19, 1997
jobHoldSpecified 0x20 jobHoldSpecified 0x20
The value of the job's jobHold(52) attribute is TRUE. The The value of the job's jobHold(52) attribute is TRUE. The
job SHALL NOT be a candidate for processing until this job SHALL NOT be a candidate for processing until this
reason is removed and there are no other reasons to hold the reason is removed and there are no other reasons to hold
job. the job.
jobHoldUntilSpecified 0x40 jobHoldUntilSpecified 0x40
The value of the job's jobHoldUntil(53) attribute specifies The value of the job's jobHoldUntil(53) attribute specifies
a time period that is still in the future. The job SHALL a time period that is still in the future. The job SHALL
NOT be a candidate for processing until this reason is NOT be a candidate for processing until this reason is
removed and there are no other reasons to hold the job. removed and there are no other reasons to hold the job.
jobProcessAfterSpecified 0x80 jobProcessAfterSpecified 0x80
The value of the job's jobProcessAfterDateAndTime(51) The value of the job's jobProcessAfterDateAndTime(51)
attribute specifies a time that is still in the future. The attribute specifies a time that is still in the future.
job SHALL NOT be a candidate for processing until this The job SHALL NOT be a candidate for processing until this
reason is removed and there are no other reasons to hold the reason is removed and there are no other reasons to hold
job. the job.
resourcesAreNotReady 0x100 resourcesAreNotReady 0x100
At least one of the resources needed by the job, such as At least one of the resources needed by the job, such as
media, fonts, resource objects, etc., is not ready on any of media, fonts, resource objects, etc., is not ready on any
the physical devices for which the job is a candidate. This of the physical devices for which the job is a candidate.
condition MAY be detected when the job is accepted, or This condition MAY be detected when the job is accepted, or
subsequently while the job is pending or processing, subsequently while the job is pending or processing,
depending on implementation. depending on implementation.
deviceStoppedPartly 0x200 deviceStoppedPartly 0x200
One or more, but not all, of the devices to which the job is One or more, but not all, of the devices to which the job
assigned are stopped. If all of the devices are stopped (or is assigned are stopped. If all of the devices are stopped
the only device is stopped), the deviceStopped reason SHALL (or the only device is stopped), the deviceStopped reason
be used. SHALL be used.
deviceStopped 0x400 deviceStopped 0x400
The device(s) to which the job is assigned is (are all) The device(s) to which the job is assigned is (are all)
stopped. stopped.
jobInterpreting 0x800 jobInterpreting 0x800
The device to which the job is assigned is interpreting the The device to which the job is assigned is interpreting the
document data. document data.
jobPrinting 0x1000 jobPrinting 0x1000
The output device to which the job is assigned is marking The output device to which the job is assigned is marking
media. This attribute is useful for servers and output media. This value is useful for servers and output devices
devices which spend a great deal of time processing (1) when which spend a great deal of time processing (1) when no
no marking is happening and then want to show that marking marking is happening and then want to show that marking is
is now happening or (2) when the job is in the process of now happening or (2) when the job is in the process of
being canceled or aborted while the job remains in the being canceled or aborted while the job remains in the
Job Monitoring MIB, V0.86 Sep 19, 1997
processing state, but the marking has not yet stopped so processing state, but the marking has not yet stopped so
that impression or sheet counts are still increasing for the that impression or sheet counts are still increasing for
job. the job.
jobCanceledByUser 0x2000 jobCanceledByUser 0x2000
The job was canceled by the owner of the job, i.e., by a The job was canceled by the owner of the job, i.e., by a
user whose name is the same as the value of the job's user whose name is the same as the value of the job's
jmJobOwner object, or by some other authorized end-user, jmJobOwner object, or by some other authorized end-user,
such as a member of the job owner's security group. such as a member of the job owner's security group.
jobCanceledByOperator 0x4000 jobCanceledByOperator 0x4000
The job was canceled by the operator, i.e., by a user who The job was canceled by the operator, i.e., by a user who
has been authenticated as having operator privileges has been authenticated as having operator privileges
(whether local or remote). (whether local or remote).
jobCanceledAtDevice 0x8000 jobCanceledAtDevice 0x8000
The job was canceled by an unidentified local user, i.e., a The job was canceled by an unidentified local user, i.e., a
user at a console at the device. user at a console at the device.
abortedBySystem 0x10000 abortedBySystem 0x10000
The job (1) is in the process of being aborted, (2) has been The job (1) is in the process of being aborted, (2) has
aborted by the system and placed in the 'aborted' state, or been aborted by the system and placed in the 'aborted'
(3) has been aborted by the system and placed in the state, or (3) has been aborted by the system and placed in
'pendingHeld' state, so that a user or operator can manually the 'pendingHeld' state, so that a user or operator can
try the job again. manually try the job again.
processingToStopPoint 0x20000 processingToStopPoint 0x20000
The requester has issued an operation to cancel or interrupt The requester has issued an operation to cancel or
the job or the server/device has aborted the job, but the interrupt the job or the server/device has aborted the job,
server/device is still performing some actions on the job but the server/device is still performing some actions on
until a specified stop point occurs or job the job until a specified stop point occurs or job
termination/cleanup is completed. termination/cleanup is completed.
This reason is recommended to be used in conjunction with This reason is recommended to be used in conjunction with
the processing job state to indicate that the server/device the processing job state to indicate that the server/device
is still performing some actions on the job while the job is still performing some actions on the job while the job
remains in the processing state. After all the job's remains in the processing state. After all the job's
resources consumed counters have stopped incrementing, the resources consumed counters have stopped incrementing, the
server/device moves the job from the processing state to the server/device moves the job from the processing state to
canceled or aborted job states. the canceled or aborted job states.
serviceOffLine 0x40000 serviceOffLine 0x40000
The service or document transform is off-line and accepting The service or document transform is off-line and accepting
no jobs. All pending jobs are put into the pendingHeld no jobs. All pending jobs are put into the pendingHeld
state. This situation could be true if the service's or state. This situation could be true if the service's or
document transform's input is impaired or broken. document transform's input is impaired or broken.
Job Monitoring MIB, V0.86 Sep 19, 1997
jobCompletedSuccessfully 0x80000 jobCompletedSuccessfully 0x80000
The job completed successfully. The job completed successfully.
jobCompletedWithWarnings 0x100000 jobCompletedWithWarnings 0x100000
The job completed with warnings. The job completed with warnings.
jobCompletedWithErrors 0x200000 jobCompletedWithErrors 0x200000
The job completed with errors (and possibly warnings too). The job completed with errors (and possibly warnings too).
The following additional job state reasons have been added to The following additional job state reasons have been added to
skipping to change at page 66, line 38 skipping to change at page 77, line 14
jobInterrupted 0x800000 jobInterrupted 0x800000
The job has been interrupted while processing by a client The job has been interrupted while processing by a client
issuing an operation that specifies another job to be run issuing an operation that specifies another job to be run
instead of the current job. The server or device will instead of the current job. The server or device will
automatically resume the interrupted job when the automatically resume the interrupted job when the
interrupting job completes. interrupting job completes.
jobRetained 0x1000000 jobRetained 0x1000000
The job is being retained by the server or device with all The job is being retained by the server or device with all
of the job's document data (and submitted resources, such as of the job's document data (and submitted resources, such
fonts, logos, and forms, if any). Thus a client could issue as fonts, logos, and forms, if any). Thus a client could
an operation to the server or device to either (1) re-do the issue an operation to the server or device to either (1)
job (or a copy of the job) on the same server or device or re-do the job (or a copy of the job) on the same server or
(2) resubmit the job to another server or device. When a device or (2) resubmit the job to another server or device.
client could no longer re-do/resubmit the job, such as after When a client could no longer re-do/resubmit the job, such
the document data has been discarded, the agent SHALL remove as after the document data has been discarded, the agent
the jobRetained value from the jmJobStateReasons1 object." SHALL remove the jobRetained value from the
jmJobStateReasons1 object."
REFERENCE REFERENCE
"These bit definitions are the equivalent of a type 2 enum "These bit definitions are the equivalent of a type 2 enum
except that combinations of bits may be used together. See except that combinations of bits may be used together. See
section 3.6.1.2. The remaining bits are reserved for future section 3.7.1.2. The remaining bits are reserved for future
standardization and/or registration." standardization and/or registration."
SYNTAX INTEGER(0..2147483647) -- 31 bits, all but sign bit SYNTAX INTEGER(0..2147483647) -- 31 bits, all but sign bit
Job Monitoring MIB, V0.86 Sep 19, 1997
JmJobStateReasons2TC ::= TEXTUAL-CONVENTION JmJobStateReasons2TC ::= TEXTUAL-CONVENTION
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"This textual-convention is used with the jobStateReasons2 "This textual-convention is used with the jobStateReasons2
attribute to provides additional information regarding the attribute to provides additional information regarding the
jmJobState object. See the description under jmJobState object. See the description under
JmJobStateReasons1TC for additional information that applies to JmJobStateReasons1TC for additional information that applies to
all reasons. all reasons.
The following standard values are defined (in hexadecimal) as The following standard values are defined (in hexadecimal) as
powers of two, since multiple values may be used at the same powers of two, since multiple values may be used at the same
time: time:
cascaded 0x1 cascaded 0x1
An outbound gateway has transmitted all of the job's job and An outbound gateway has transmitted all of the job's job
document attributes and data to another spooling system. and document attributes and data to another spooling
system.
deletedByAdministrator 0x2 deletedByAdministrator 0x2
The administrator has deleted the job. The administrator has deleted the job.
discardTimeArrived 0x4 discardTimeArrived 0x4
The job has been deleted due to the fact that the time The job has been deleted due to the fact that the time
specified by the job's job-discard-time attribute has specified by the job's job-discard-time attribute has
arrived. arrived.
postProcessingFailed 0x8 postProcessingFailed 0x8
skipping to change at page 68, line 4 skipping to change at page 78, line 24
The server/device is interpreting document data and The server/device is interpreting document data and
producing another electronic representation. producing another electronic representation.
maxJobFaultCountExceeded 0x20 maxJobFaultCountExceeded 0x20
The job has faulted several times and has exceeded the The job has faulted several times and has exceeded the
administratively defined fault count limit. administratively defined fault count limit.
devicesNeedAttentionTimeOut 0x40 devicesNeedAttentionTimeOut 0x40
One or more document transforms that the job is using needs One or more document transforms that the job is using needs
human intervention in order for the job to make progress, human intervention in order for the job to make progress,
Job Monitoring MIB, V0.86 Sep 19, 1997
but the human intervention did not occur within the site- but the human intervention did not occur within the site-
settable time-out value. settable time-out value.
needsKeyOperatorTimeOut 0x80 needsKeyOperatorTimeOut 0x80
One or more devices or document transforms that the job is One or more devices or document transforms that the job is
using need a specially trained operator (who may need a key using need a specially trained operator (who may need a key
to unlock the device and gain access) in order for the job to unlock the device and gain access) in order for the job
to make progress, but the key operator intervention did not to make progress, but the key operator intervention did not
occur within the site-settable time-out value. occur within the site-settable time-out value.
jobStartWaitTimeOut 0x100 jobStartWaitTimeOut 0x100
The server/device has stopped the job at the beginning of The server/device has stopped the job at the beginning of
processing to await human action, such as installing a processing to await human action, such as installing a
special cartridge or special non-standard media, but the job special cartridge or special non-standard media, but the
was not resumed within the site-settable time-out value and job was not resumed within the site-settable time-out value
the server/device has transitioned the job to the and the server/device has transitioned the job to the
pendingHeld state. pendingHeld state.
jobEndWaitTimeOut 0x200 jobEndWaitTimeOut 0x200
The server/device has stopped the job at the end of The server/device has stopped the job at the end of
processing to await human action, such as removing a special processing to await human action, such as removing a
cartridge or restoring standard media, but the job was not special cartridge or restoring standard media, but the job
resumed within the site-settable time-out value and the was not resumed within the site-settable time-out value and
server/device has transitioned the job to the completed the server/device has transitioned the job to the completed
state. state.
jobPasswordWaitTimeOut 0x400 jobPasswordWaitTimeOut 0x400
The server/device has stopped the job at the beginning of The server/device has stopped the job at the beginning of
processing to await input of the job's password, but the processing to await input of the job's password, but the
password was not received within the site-settable time-out password was not received within the site-settable time-out
value. value.
deviceTimedOut 0x800 deviceTimedOut 0x800
A device that the job was using has not responded in a A device that the job was using has not responded in a
skipping to change at page 69, line 5 skipping to change at page 79, line 20
The server is attempting to connect to one or more devices The server is attempting to connect to one or more devices
which may be dial-up, polled, or queued, and so may be busy which may be dial-up, polled, or queued, and so may be busy
with traffic from other systems, but server was unable to with traffic from other systems, but server was unable to
connect to the device within the site-settable time-out connect to the device within the site-settable time-out
value. value.
transferring 0x2000 transferring 0x2000
The job is being transferred to a down stream server or The job is being transferred to a down stream server or
downstream device. downstream device.
Job Monitoring MIB, V0.86 Sep 19, 1997
queuedInDevice 0x4000 queuedInDevice 0x4000
The server/device has queued the job in a down stream server The server/device has queued the job in a down stream
or downstream device. server or downstream device.
jobQueued 0x8000 jobQueued 0x8000
The server/device has queued the document data. The server/device has queued the document data.
jobCleanup 0x10000 jobCleanup 0x10000
The server/device is performing cleanup activity as part of The server/device is performing cleanup activity as part of
ending normal processing. ending normal processing.
jobPasswordWait 0x20000 jobPasswordWait 0x20000
The server/device has selected the job to be next to The server/device has selected the job to be next to
process, but instead of assigning resources and starting the process, but instead of assigning resources and starting
job processing, the server/device has transitioned the job the job processing, the server/device has transitioned the
to the pendingHeld state to await entry of a password (and job to the pendingHeld state to await entry of a password
dispatched another job, if there is one). (and dispatched another job, if there is one).
validating 0x40000 validating 0x40000
The server/device is validating the job after accepting the The server/device is validating the job after accepting the
job. job.
queueHeld 0x80000 queueHeld 0x80000
The operator has held the entire job set or queue. The operator has held the entire job set or queue.
jobProofWait 0x100000 jobProofWait 0x100000
The job has produced a single proof copy and is in the The job has produced a single proof copy and is in the
skipping to change at page 70, line 4 skipping to change at page 80, line 17
pinRequired 0x1000000 pinRequired 0x1000000
The System Administrator settable device policy is (1) to The System Administrator settable device policy is (1) to
require PINs, and (2) to hold jobs that do not have a pin require PINs, and (2) to hold jobs that do not have a pin
supplied as an input parameter when the job was created. supplied as an input parameter when the job was created.
exceededAccountLimit 0x2000000 exceededAccountLimit 0x2000000
The account for which this job is drawn has exceeded its The account for which this job is drawn has exceeded its
limit. This condition SHOULD be detected before the job is limit. This condition SHOULD be detected before the job is
scheduled so that the user does not wait until his/her job scheduled so that the user does not wait until his/her job
Job Monitoring MIB, V0.86 Sep 19, 1997
is scheduled only to find that the account is overdrawn. is scheduled only to find that the account is overdrawn.
This condition MAY also occur while the job is processing This condition MAY also occur while the job is processing
either as processing begins or part way through processing. either as processing begins or part way through processing.
heldForRetry 0x4000000 heldForRetry 0x4000000
The job encountered some errors that the server/device could The job encountered some errors that the server/device
not recover from with its normal retry procedures, but the could not recover from with its normal retry procedures,
error might not be encountered if the job is processed again but the error might not be encountered if the job is
in the future. Example cases are phone number busy or processed again in the future. Example cases are phone
remote file system in-accessible. For such a situation, the number busy or remote file system in-accessible. For such
server/device SHALL transition the job from the processing a situation, the server/device SHALL transition the job
to the pendingHeld, rather than to the aborted state. from the processing to the pendingHeld, rather than to the
aborted state.
The following values are from the X/Open PSIS draft standard: The following values are from the X/Open PSIS draft standard:
canceledByShutdown 0x8000000 canceledByShutdown 0x8000000
The job was canceled because the server or device was The job was canceled because the server or device was
shutdown before completing the job. shutdown before completing the job.
deviceUnavailable 0x10000000 deviceUnavailable 0x10000000
This job was aborted by the system because the device is This job was aborted by the system because the device is
currently unable to accept jobs. currently unable to accept jobs.
wrongDevice 0x20000000 wrongDevice 0x20000000
This job was aborted by the system because the device is This job was aborted by the system because the device is
unable to handle this particular job; the spooler SHOULD try unable to handle this particular job; the spooler SHOULD
another device or the user should submit the job to another try another device or the user should submit the job to
device. another device.
badJob 0x40000000 badJob 0x40000000
This job was aborted by the system because this job has a This job was aborted by the system because this job has a
major problem, such as an ill-formed PDL; the spooler SHOULD major problem, such as an ill-formed PDL; the spooler
not even try another device. " SHOULD not even try another device. "
REFERENCE REFERENCE
"These bit definitions are the equivalent of a type 2 enum "These bit definitions are the equivalent of a type 2 enum
except that combinations of them may be used together. See except that combinations of them may be used together. See
section 3.6.1.2. See the description under JmJobStateReasons1TC section 3.7.1.2. See the description under
and the jobStateReasons2 attribute." JmJobStateReasons1TC and the jobStateReasons2 attribute."
SYNTAX INTEGER(0..2147483647) -- 31 bits, all but sign bit SYNTAX INTEGER(0..2147483647) -- 31 bits, all but sign bit
JmJobStateReasons3TC ::= TEXTUAL-CONVENTION JmJobStateReasons3TC ::= TEXTUAL-CONVENTION
STATUS current STATUS current
Job Monitoring MIB, V0.86 Sep 19, 1997
DESCRIPTION DESCRIPTION
"This textual-convention is used with the jobStateReasons3 "This textual-convention is used with the jobStateReasons3
attribute to provides additional information regarding the attribute to provides additional information regarding the
jmJobState object. See the description under jmJobState object. See the description under
JmJobStateReasons1TC for additional information that applies to JmJobStateReasons1TC for additional information that applies to
all reasons. all reasons.
The following standard values are defined (in hexadecimal) as The following standard values are defined (in hexadecimal) as
powers of two, since multiple values may be used at the same powers of two, since multiple values may be used at the same
time: time:
jobInterruptedByDeviceFailure 0x1 jobInterruptedByDeviceFailure 0x1
A device or the print system software that the job was using A device or the print system software that the job was
has failed while the job was processing. The server or using has failed while the job was processing. The server
device is keeping the job in the pendingHeld state until an or device is keeping the job in the pendingHeld state until
operator can determine what to do with the job." an operator can determine what to do with the job."
REFERENCE REFERENCE
"These bit definitions are the equivalent of a type 2 enum "These bit definitions are the equivalent of a type 2 enum
except that combinations of them may be used together. See except that combinations of them may be used together. See
section 3.6.1.2. The remaining bits are reserved for future section 3.7.1.2. The remaining bits are reserved for future
standardization and/or registration. See the description under standardization and/or registration. See the description under
JmJobStateReasons1TC and the jobStateReasons3 attribute." JmJobStateReasons1TC and the jobStateReasons3 attribute."
SYNTAX INTEGER(0..2147483647) -- 31 bits, all but sign bit SYNTAX INTEGER(0..2147483647) -- 31 bits, all but sign bit
JmJobStateReasons4TC ::= TEXTUAL-CONVENTION JmJobStateReasons4TC ::= TEXTUAL-CONVENTION
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"This textual-convention is used in the jobStateReasons4 "This textual-convention is used in the jobStateReasons4
attribute to provides additional information regarding the attribute to provides additional information regarding the
jmJobState object. See the description under jmJobState object. See the description under
skipping to change at page 71, line 48 skipping to change at page 81, line 49
The following standard values are defined (in hexadecimal) as The following standard values are defined (in hexadecimal) as
powers of two, since multiple values may be used at the same powers of two, since multiple values may be used at the same
time: time:
none yet defined. These bits are reserved for future none yet defined. These bits are reserved for future
standardization and/or registration." standardization and/or registration."
REFERENCE REFERENCE
"These bit definitions are the equivalent of a type 2 enum "These bit definitions are the equivalent of a type 2 enum
except that combinations of them may be used together. See except that combinations of them may be used together. See
section 3.6.1.2. See the description under JmJobStateReasons1TC section 3.7.1.2. See the description under
and the jobStateReasons4 attribute." JmJobStateReasons1TC and the jobStateReasons4 attribute."
Job Monitoring MIB, V0.86 Sep 19, 1997
SYNTAX INTEGER(0..2147483647) -- 31 bits, all but sign bit SYNTAX INTEGER(0..2147483647) -- 31 bits, all but sign bit
Job Monitoring MIB, V0.86 Sep 19, 1997
jobmonMIBObjects OBJECT IDENTIFIER ::= { jobmonMIB 1 } jobmonMIBObjects OBJECT IDENTIFIER ::= { jobmonMIB 1 }
-- The General Group (MANDATORY) -- The General Group (MANDATORY)
-- The jmGeneralGroup consists entirely of the jmGeneralTable. -- The jmGeneralGroup consists entirely of the jmGeneralTable.
jmGeneral OBJECT IDENTIFIER ::= { jobmonMIBObjects 1 } jmGeneral OBJECT IDENTIFIER ::= { jobmonMIBObjects 1 }
jmGeneralTable OBJECT-TYPE jmGeneralTable OBJECT-TYPE
SYNTAX SEQUENCE OF JmGeneralEntry SYNTAX SEQUENCE OF JmGeneralEntry
MAX-ACCESS not-accessible MAX-ACCESS not-accessible
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The jmGeneralTable consists of information of a general nature "The jmGeneralTable consists of information of a general nature
that are per-job-set, but are not per-job. See Section 2 that are per-job-set, but are not per-job. See Section 2
entitled 'Terminology and Job Model' for the definition of a job entitled 'Terminology and Job Model' for the definition of a
set." job set."
REFERENCE REFERENCE
"The MANDATORY-GROUP macro specifies that this group is "The MANDATORY-GROUP macro specifies that this group is
MANDATORY." MANDATORY."
::= { jmGeneral 1 } ::= { jmGeneral 1 }
jmGeneralEntry OBJECT-TYPE jmGeneralEntry OBJECT-TYPE
SYNTAX JmGeneralEntry SYNTAX JmGeneralEntry
MAX-ACCESS not-accessible MAX-ACCESS not-accessible
STATUS current STATUS current
DESCRIPTION DESCRIPTION
skipping to change at page 74, line 4 skipping to change at page 83, line 9
jmGeneralNewestActiveJobIndex Integer32(0..2147483647), jmGeneralNewestActiveJobIndex Integer32(0..2147483647),
jmGeneralJobPersistence Integer32(15..2147483647), jmGeneralJobPersistence Integer32(15..2147483647),
jmGeneralAttributePersistence Integer32(15..2147483647), jmGeneralAttributePersistence Integer32(15..2147483647),
jmGeneralJobSetName JmUTF8StringTC(SIZE(0..63)) jmGeneralJobSetName JmUTF8StringTC(SIZE(0..63))
} }
jmGeneralJobSetIndex OBJECT-TYPE jmGeneralJobSetIndex OBJECT-TYPE
SYNTAX Integer32(1..32767) SYNTAX Integer32(1..32767)
MAX-ACCESS not-accessible MAX-ACCESS not-accessible
STATUS current STATUS current
Job Monitoring MIB, V0.86 Sep 19, 1997
DESCRIPTION DESCRIPTION
"A unique value for each job set in this MIB. The jmJobTable "A unique value for each job set in this MIB. The jmJobTable
and jmAttributeTable tables have this same index as their and jmAttributeTable tables have this same index as their
primary index. primary index.
The value(s) of the jmGeneralJobSetIndex SHALL be persistent The value(s) of the jmGeneralJobSetIndex SHALL be persistent
across power cycles, so that clients that have retained across power cycles, so that clients that have retained
jmGeneralJobSetIndex values will access the same job sets upon jmGeneralJobSetIndex values will access the same job sets upon
subsequent power-up. subsequent power-up.
skipping to change at page 74, line 32 skipping to change at page 83, line 35
Corresponds to the first index in jmJobTable and Corresponds to the first index in jmJobTable and
jmAttributeTable."