draft-ietf-printmib-job-monitor-01.txt   draft-ietf-printmib-job-monitor-02.txt 
Job Monitoring MIB, V0.82 June 9, 1997 Job Monitoring MIB, V0.83 July 14, 1997
INTERNET-DRAFT Ron Bergman INTERNET-DRAFT Ron Bergman
Dataproducts Corp. Dataproducts Corp.
Tom Hastings Tom Hastings
Xerox Corporation Xerox Corporation
Scott Isaacson Scott Isaacson
Novell, Inc. Novell, Inc.
Harry Lewis Harry Lewis
IBM Corp. IBM Corp.
Job Monitoring MIB - V0.82 Job Monitoring MIB - V0.83
<draft-ietf-printmib-job-monitor-01.txt> <draft-ietf-printmib-job-monitor-02.txt>
Expires Dec 10, 1997 Expires Jan 14, 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 areas,
and its working groups. Note that other groups may also distribute and its working groups. Note that other groups may also distribute
working documents as Internet-Drafts. 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
skipping to change at page 1, line 41 skipping to change at page 1, line 41
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 the
"1id-abstracts.txt" listing contained in the Internet-Drafts Shadow "1id-abstracts.txt" listing contained in the Internet-Drafts Shadow
Directories on ftp.is.co.za (Africa), nic.nordu.net (Europe), Directories on ftp.is.co.za (Africa), nic.nordu.net (Europe),
munnari.oz.au (Pacific Rim), ds.internic.net (US East Coast), or munnari.oz.au (Pacific Rim), ds.internic.net (US East Coast), or
ftp.isi.edu (US West Coast). ftp.isi.edu (US West Coast).
Abstract Abstract
This Internet-Draft specifies a set of 17 SNMP MIB objects for (1) This Internet-Draft specifies a set of 18 SNMP MIB objects for (1)
monitoring the status and progress of print jobs (2) obtaining monitoring the status and progress of print jobs (2) obtaining
resource requirements before a job is processed, (3) monitoring resource requirements before a job is processed, (3) monitoring
resource consumption while a job is being processed and (4) resource consumption while a job is being processed and (4)
collecting resource accounting data after the completion of a job. 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 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 server that supports one or more printers. Use of the object set
is not limited to printing. However, support for services other is not limited to printing. However, support for services other
than printing is outside the scope of this Job Monitoring MIB. than printing is outside the scope of this Job Monitoring MIB.
Job Monitoring MIB, V0.82 June 9, 1997 Job Monitoring MIB, V0.83 July 14, 1997
Future extensions to this MIB may include, but are not limited to, Future extensions to this MIB may include, but are not limited to,
fax machines and scanners. fax machines and scanners.
Job Monitoring MIB, V0.82 June 9, 1997 Job Monitoring MIB, V0.83 July 14, 1997
TABLE OF CONTENTS TABLE OF CONTENTS
1. INTRODUCTION........................................................9 1. INTRODUCTION............................................8
1.1 Types of Information in the MIB ..................................9
1.2 Types of Job Monitoring Applications ............................11
2. TERMINOLOGY AND JOB MODEL..........................................12
3. SYSTEM CONFIGURATIONS FOR THE JOB MONITORING MIB...................14
3.1 Configuration 1 - client-printer ................................15
3.2 Configuration 2 - client-server-printer - agent in the server ...16
3.3 Configuration 3 - client-server-printer - client monitors printer
agent and server ....................................................17
4. CONFORMANCE CONSIDERATIONS.........................................18
4.1 Conformance Terminology .........................................19
4.2 Agent Conformance Requirements ..................................19
4.2.1 MIB II System Group objects .................................19
4.2.2 MIB II Interface Group objects ..............................20
4.2.3 Printer MIB objects .........................................20
4.3 Job Monitoring Application Conformance Requirements .............20
5. JOB IDENTIFICATION.................................................20
6. INTERNATIONALIZATION CONSIDERATIONS................................21
7. IANA CONSIDERATIONS................................................22
7.1 IANA Registration of enums ......................................22
7.1.1 Type 1 enumerations .........................................22
7.1.2 Type 2 enumerations .........................................22
Job Monitoring MIB, V0.82 June 9, 1997
7.1.3 Type 3 enumeration ..........................................23
7.2 IANA Registration of type 2 bit values ..........................23
7.3 IANA Registration of Job Submission Id Formats ..................23
8. SECURITY CONSIDERATIONS............................................24
8.1 Read-Write objects ..............................................24
8.2 Read-Only Objects In Other User's Jobs ..........................24 1.1 Types of Information in the MIB ......................8
9. RETURNING OBJECTS WITH NO VALUE IN MANDATORY GROUPS................24 1.2 Types of Job Monitoring Applications ................10
10. NOTIFICATION AND TRAPS............................................25 2. TERMINOLOGY AND JOB MODEL..............................11
11. MIB SPECIFICATION.................................................25 2.1 System Configurations for the Job Monitoring MIB ....13
2.1.1 Configuration 1 - client-printer ................13
2.1.2 Configuration 2 - client-server-printer - agent in the server
......................................................14
2.1.3 Configuration 3 - client-server-printer - client monitors
printer agent and server ..............................16
Textual conventions for this MIB module .............................27 3. MANAGED OBJECT USAGE...................................17
JmTimeStampTC - simple time in seconds ............................27
JmJobSourcePlatformTypeTC - operating system platform definitions .27
JmFinishingTC - device finishing definitions ......................28
JmPrintQualityTC - print quality ..................................29
JmPrinterResolutionTC - printer resolution ........................30
JmTonerEconomyTC - toner economy setting ..........................31
JmMediumTypeTC - medium type definitions ..........................31
JmJobStateTC - job state definitions ..............................32
JmAttributeTypeTC - attribute type definitions ....................35
other ..........................................................38
unknown ........................................................39
Job State attributes.............................................39
jobStateReasons2 ...............................................39
jobStateReasons3 ...............................................39
jobStateReasons4 ...............................................39
deviceAlertCode ................................................40
processingMessage ..............................................40
Job Identification attributes....................................40
jobOwner (MANDATORY) ...........................................40
jobAccountName .................................................41
serverAssignedJobName ..........................................41
jobName ........................................................41
jobServiceTypes ................................................42
jobSourceChannelIndex ..........................................42
jobSourcePlatformType ..........................................43
Job Monitoring MIB, V0.82 June 9, 1997
submittingServerName ...........................................43 3.1 Conformance Considerations ..........................17
submittingApplicationName ......................................43 3.1.1 Conformance Terminology .........................18
jobOriginatingHost .............................................43 3.1.2 Agent Conformance Requirements ..................18
deviceNameRequested ............................................43 3.1.2.1 MIB II System Group objects..................18
queueNameRequested .............................................44 3.1.2.2 MIB II Interface Group objects...............19
physicalDevice .................................................44 3.1.2.3 Printer MIB objects..........................19
numberOfDocuments ..............................................44 3.1.3 Job Monitoring Application Conformance Requirements 19
fileName .......................................................44
documentName ...................................................45
jobComment .....................................................45
documentFormatIndex ............................................45
documentFormat .................................................45
Job Parameter attributes.........................................46
jobPriority ....................................................46
jobProcessAfterDateAndTime .....................................46
jobHoldUntil ...................................................47
jobHoldUntil ...................................................47
outputBin ......................................................47
sides ..........................................................48
finishing ......................................................48
Image Quality attributes (requested and used)....................48
printQualityRequested ..........................................48
printQualityUsed ...............................................48
printerResolutionRequested .....................................48
printerResolutionUsed ..........................................48
tonerEcomonyRequested ..........................................49
tonerEcomonyUsed ...............................................49
tonerDensityRequested ..........................................49
tonerDensityUsed ...............................................49
Job Progress attributes (requested and consumed).................49
jobCopiesRequested .............................................49
jobCopiesCompleted .............................................50
documentCopiesRequested ........................................50
documentCopiesCompleted ........................................50
jobKOctetsTransferred ..........................................50
Impression attributes (requested and consumed)...................51
impressionsSpooled .............................................51
impressionsSentToDevice ........................................51
impressionsInterpreted .........................................51
impressionsCompletedCurrentCopy ................................52
fullColorImpressionsCompleted ..................................52
highlightColorImpressionsCompleted .............................52
Page attributes (requested and consumed).........................52
pagesRequested .................................................53
pagesCompleted .................................................53
pagesCompletedCurrentCopy ......................................53
Sheet attributes (requested and consumed)........................53
sheetsRequested ................................................53
Job Monitoring MIB, V0.82 June 9, 1997
sheetsCompleted ................................................53 3.2 The Job Tables and the Oldest Active and Newest Active Indexes 19
sheetsCompletedCurrentCopy .....................................54
Resource attributes (requested and consumed).....................54
mediumRequested ................................................54
mediumConsumedName .............................................54
colorantRequested ..............................................54
colorantConsumed ...............................................55
Time attributes (set by server or device)........................55
jobSubmissionToServerTime ......................................55
jobSubmissionToDeviceTime ......................................55
timeSinceJobWasSubmittedToDevice ...............................56
jobStartedBeingHeldTimeStamp ...................................56
jobStartedProcessingTime .......................................56
timeSinceStartedProcessing .....................................56
jobCompletedTime ...............................................56
timeSinceCompleted .............................................57
jobProcessingCPUTime ...........................................57
JmJobServiceTypesTC - bit encoded job service type definitions...57
JmJobStateReasons1TC - additional information about job states .59
JmJobStateReasons2TC - More additional information about job
states .........................................................62
JmJobStateReasons3TC - More additional information about job
states .........................................................66
JmJobStateReasons4TC - More additional information about job
states .........................................................67
The General Group (Mandatory)....................................69
jmGeneralNumberOfActiveJobs ....................................69
jmGeneralOldestActiveJobIndex ..................................70
jmGeneralNewestActiveJobIndex ..................................70
jmGeneralJobPersistence ........................................72
jmGeneralAttributePersistence ..................................72
jmGeneralJobSetName ............................................72
THE JOB ID GROUP (MANDATORY)..........................................73 3.3 The Attribute Mechanism .............................21
3.3.1 Conformance of Attribute Implementation .........22
3.3.2 Useful, 'Unknown', and 'Other' Values for Objects and
Attributes ............................................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.5 Requested Attributes ............................24
3.3.6 Consumption Attributes ..........................24
3.3.7 Index Value Attributes ..........................24
JMJOBSUBMISSIONID.....................................................74 3.4 Job Identification ..................................25
JMJOBSETINDEX.........................................................75 3.5 Internationalization Considerations .................25
Job Monitoring MIB, V0.83 July 14, 1997
JMJOBINDEX............................................................76 3.6 IANA Considerations .................................26
3.6.1 IANA Registration of enums ......................26
3.6.1.1 Type 1 enumerations..........................26
3.6.1.2 Type 2 enumerations..........................27
3.6.1.3 Type 3 enumeration...........................27
3.6.2 IANA Registration of type 2 bit values ..........27
3.6.3 IANA Registration of Job Submission Id Formats ..28
3.6.4 IANA Registration of MIME types/sub-types for document-formats
......................................................28
THE JOB GROUP (MANDATORY).............................................76 3.7 Security Considerations .............................28
Job Monitoring MIB, V0.82 June 9, 1997 3.7.1 Read-Write objects ..............................28
3.7.2 Read-Only Objects In Other User's Jobs ..........28
JMJOBSTATE............................................................77 3.8 Values for Objects ..................................22
JMJOBSTATEREASONS1....................................................78 3.9 Notification-s ......................................29
JMNUMBEROFINTERVENINGJOBS.............................................78 4. MIB SPECIFICATION......................................29
JMJOBKOCTETSREQUESTED.................................................79 Textual conventions for this MIB module .................31
JmTimeStampTC - simple time in seconds ................31
JmJobSourcePlatformTypeTC - operating system platform definitions 31
JmFinishingTC - device finishing definitions ..........32
JmPrintQualityTC - print quality ......................34
JmPrinterResolutionTC - printer resolution ............34
JmTonerEconomyTC - toner economy setting ..............36
JmBooleanTC - Boolean value ...........................36
JmMediumTypeTC - medium type definitions ..............36
JmJobSubmissionIDTypeTC - job submission ID type definitions 38
JmJobStateTC - job state definitions ..................40
JmAttributeTypeTC - attribute type definitions ........43
other (Int32(-2..) and/or Octets63) ..............43
Job State attributes.................................44
jobStateReasons2 (JmJobStateReasons2TC) ..........44
jobStateReasons3 (JmJobStateReasons3TC) ..........44
jobStateReasons4 (JmJobStateReasons4TC) ..........44
processingMessage (Octets63) .....................44
Job Identification attributes........................44
jobAccountName (Octets63) ........................45
serverAssignedJobName (Octets63) .................45
jobName (Octets63) ...............................45
jobServiceTypes (JmJobServiceTypesTC) ............46
jobSourceChannelIndex (Int32(0..)) ...............46
jobSourcePlatformType (JmJobSourcePlatformTypeTC) 46
submittingServerName (Octets63) ..................47
submittingApplicationName (Octets63) .............47
Job Monitoring MIB, V0.83 July 14, 1997
JMJOBKOCTETSPROCESSED.................................................79 jobOriginatingHost (Octets63) ....................47
deviceNameRequested (Octets63) ...................47
queueNameRequested (Octets63) ....................47
physicalDevice (hrDeviceIndex and/or Octets63) ...48
numberOfDocuments (Int32(-2..)) ..................48
fileName (Octets63) ..............................48
documentName (Octets63) ..........................48
jobComment (Octets63) ............................48
documentFormatIndex (Int32(0..)) .................49
documentFormat (PrtInterpreterLangFamilyTC and/or Octets63) 49
Job Parameter attributes.............................49
jobPriority (Int32(1..100)) ......................50
jobProcessAfterDateAndTime (DateAndTime) .........50
jobHold (JmBooleanTC) ............................50
jobHoldUntil (Octets63) ..........................50
outputBin (Int32(0..) and/or Octets63) ...........51
sides (Int32(-2..2)) .............................51
finishing (JmFinishingTC) ........................51
Image Quality attributes (requested and used)........51
printQualityRequested (JmPrintQualityTC) .........51
printQualityUsed (JmPrintQualityTC) ..............51
printerResolutionRequested (JmPrinterResolutionTC)51
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).....52
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..)) ......55
highlightColorImpressionsCompleted (Int32(-2..)) .55
Page attributes (requested and consumed).............55
pagesRequested (Int32(-2..)) .....................55
pagesCompleted (Int32(-2..)) .....................55
pagesCompletedCurrentCopy (Int32(-2..)) ..........56
Sheet attributes (requested and consumed)............56
sheetsRequested (Int32(-2..)) ....................56
sheetsCompleted (Int32(-2..)) ....................56
sheetsCompletedCurrentCopy (Int32(-2..)) .........56
Job Monitoring MIB, V0.83 July 14, 1997
JMJOBIMPRESSIONSREQUESTED.............................................80 Resource attributes (requested and consumed).........56
mediumRequested (JmMediumTypeTC and/or Octets63) .57
mediumConsumed (Octets63) ........................57
colorantRequested (Int32(-2..) and/or Octets63) ..57
colorantConsumed (Int32(-2..) and/or Octets63) ...57
Time attributes (set by server or device)............57
jobSubmissionToServerTime (JmTimeStampTC and/or DateAndTime) 58
jobSubmissionTime (JmTimeStampTC and/or DateAndTime) 58
jobStartedBeingHeldTime (JmTimeStampTC and/or DateAndTime) 58
jobStartedProcessingTime (JmTimeStampTC and/or DateAndTime) 59
jobCompletedTime (JmTimeStampTC and/or DateAndTime)59
jobProcessingCPUTime (Int32(-2..)) ...............59
JmJobServiceTypesTC - bit encoded job service type definitions 61
JmJobStateReasons1TC - additional information about job states 63
JmJobStateReasons2TC - More additional information about job states
......................................................66
JmJobStateReasons3TC - More additional information about job states
......................................................70
JmJobStateReasons4TC - More additional information about job states
......................................................71
JMJOBIMPRESSIONSCOMPLETED.............................................80 The General Group (MANDATORY) ...........................73
jmGeneralJobSetIndex (Int32(1..32767)) ..............73
jmGeneralNumberOfActiveJobs (Int32(0..)) ............74
jmGeneralOldestActiveJobIndex (Int32(0..)) ..........74
jmGeneralNewestActiveJobIndex (Int32(0..)) ..........75
jmGeneralJobPersistence (Int32(15..)) ...............75
jmGeneralAttributePersistence (Int32(15..)) .........76
jmGeneralJobSetName (Octets63) ......................76
THE ATTRIBUTE GROUP (MANDATORY).......................................81 The Job ID Group (MANDATORY) ............................76
jmJobSubmissionID (OCTET STRING(SIZE(48))) ..........77
jmJobIDJobSetIndex (Int32(1..32767)) ................78
jmJobIDJobIndex (Int32(1..)) ........................79
JMATTRIBUTETYPEINDEX..................................................82 The Job Group (MANDATORY) ...............................79
jmJobIndex (Int32(1..)) .............................80
jmJobState (JmJobStateTC) ...........................80
jmJobStateReasons1 (JmJobStateReasons1TC) ...........81
jmNumberOfInterveningJobs (Int32(-2..)) .............81
jmJobKOctetsRequested (Int32(-2..)) .................82
jmJobKOctetsProcessed (Int32(-2..)) .................82
jmJobImpressionsRequested (Int32(-2..)) .............83
jmJobImpressionsCompleted (Int32(-2..)) .............83
jmJobOwner (Octets63) ...............................83
JMATTRIBUTEINSTANCEINDEX..............................................82 The Attribute Group (MANDATORY) .........................84
jmAttributeTypeIndex (JmAttributeTypeTC) ............85
Job Monitoring MIB, V0.83 July 14, 1997
JMATTRIBUTEVALUEASINTEGER.............................................83 jmAttributeInstanceIndex (Int32(1..32767)) ..........86
jmAttributeValueAsInteger (Int32(-2..)) .............86
jmAttributeValueAsOctets (Octets63) .................87
JMATTRIBUTEVALUEASOCTETS..............................................84 5. APPENDIX A - IMPLEMENTING THE JOB LIFE CYCLE...........91
12. APPENDIX A - INSTRUMENTING THE JOB LIFE CYCLE.....................87 6. APPENDIX B - SUPPORT OF THE JOB SUBMISSION ID IN JOB SUBMISSION
PROTOCOLS.................................................92
13. APPENDIX B - SUPPORT OF THE JOB SUBMISSION ID IN JOB SUBMISSION 6.1 Hewlett-Packard's Printer Job Language (PJL) ........92
PROTOCOLS.............................................................88
13.1 Hewlett-Packard's Printer Job Language (PJL) ...................88 6.2 ISO DPA .............................................92
14. BIBLIOGRAPHY......................................................88 7. REFERENCES.............................................92
Job Monitoring MIB, V0.82 June 9, 1997
15. AUTHOR'S ADDRESSES................................................89 8. AUTHOR'S ADDRESSES.....................................93
16. INDEX.............................................................92 9. INDEX..................................................96
Job Monitoring MIB, V0.82 June 9, 1997 Job Monitoring MIB, V0.83 July 14, 1997
Job Monitoring MIB Job Monitoring MIB
1. Introduction 1. Introduction
The Job Monitoring MIB consists of a 6-object General Group, a 2-object The Job Monitoring MIB is intended to be implemented by an agent within
Job Submission ID Group, a 7-object Job Group, and a 2-object Attribute
Group. Each group is a table. The General Group contains general
information that applies to all jobs in a job set. The Job Submission
ID table maps the job submission ID that the client uses to identify a
job to the jmJobIndex that the Job Monitoring Agent uses to identify
jobs in the Job and Attribute tables. The Job table contains the
mandatory integer job state and status objects. The Attribute table
consists of multiple entries per job that specify (1) job and document
identification and parameters, (2) requested resources, and (3)
consumed resources during and after job processing/printing. One
MANDATORY attribute and 70 OPTIONAL attributes are defined as textual
conventions.
The Job Monitoring MIB is intended to be instrumented 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[2], those protocols would be used to monitor and protocols, like ISO DPA[iso-dpa], those protocols would be used to
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 7-object General Group, a 2-object
Job Submission ID Group, a 7-object Job Group, and a 2-object Attribute
Group. Each group is a table. The General Group contains general
information that applies to all jobs in a job set. The Job Submission
ID table maps the job submission ID that the client uses to identify a
job to the jmJobIndex that the Job Monitoring Agent uses to identify
jobs in the Job and Attribute tables. The Job table contains the
MANDATORY integer job state and status objects. The Attribute table
consists of multiple entries per job that specify (1) job and document
identification and parameters, (2) requested resources, and (3)
consumed resources during and after job processing/printing. Sixty five
job attributes are defined as textual conventions that an agent SHALL
return if the server or device implements the 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[1] (Appendix D - Roles of indicated Role Models in the Printer MIB[print-mib] (Appendix D - Roles
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.82 June 9, 1997 Job Monitoring MIB, V0.83 July 14, 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
skipping to change at page 11, line 5 skipping to change at page 10, line 5
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 networked devices without other PC environments for managing low-end networked devices without
unnecessary overhead or complexity, while also providing for higher end unnecessary overhead or complexity, while also providing for higher end
systems and devices. systems and devices.
Job Monitoring MIB, V0.82 June 9, 1997 Job Monitoring MIB, V0.83 July 14, 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 monitoring
applications: 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
finishing a defined period after the job completes. The Job finishing a defined period after the job completes. The Job
Submission ID table provides the map to find the specific job to be Submission ID table provides the map to find the specific job to be
monitored. 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 when generalizes to a "job set". End users may use such a program when
selecting a least busy printer, so the MIB is designed for such a selecting a least busy printer, so the MIB is designed for such a
program to start up quickly and find the information needed quickly program to start up quickly and find the information needed quickly
without having to read all (completed) jobs in order to find the without having to read all (completed) jobs in order to find the
active jobs. System operators may also use such a program, in active jobs. System operators may also use such a program, in
which case it would be running for a long period of time and may which case it would be running for a long period of time and may
also be interested in the jobs that have completed. Finally such a also be interested in the jobs that have completed. Finally such a
program may be co-located with the printer to provide an enhanced program may be used to provide an enhanced console and logging
console and logging capability. 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 accounting
system. It is recognized that depending on accounting programs to system. It is recognized that depending on accounting programs to
copy MIB data during the job-retention period is somewhat copy MIB data during the job-retention period is somewhat
unreliable, since the accounting program may not be running (or may unreliable, since the accounting program may not be running (or may
have crashed). Such a program is expected to keep a shadow copy of have crashed). Such a program is also expected to keep a shadow
the entire Job Attribute table including completed, canceled, and copy of the entire Job Attribute table including completed,
aborted jobs which the program updates on each polling cycle. Such canceled, and aborted jobs which the program updates on each
a program polls at the rate of the persistence of the Attribute polling cycle. Such a program polls at the rate of the persistence
table. The design is not optimized to help such an application of the Attribute table. The design is not optimized to help such
determine which jobs are completed, canceled, or aborted. Instead, an application determine which jobs are completed, canceled, or
the application SHALL query each job that the application's shadow aborted. Instead, the application SHALL query each job that the
copy shows was not complete, canceled, or aborted at the previous application's shadow copy shows was not complete, canceled, or
poll cycle to see if it is now complete or canceled, plus any new aborted at the previous poll cycle to see if it is now complete or
jobs that have been submitted. canceled, 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[2] and the Internet job and document attributes of the ISO DPA standard[iso-dpa] and the
Printing Protocol (IPP)[3], so that coherence is maintained between Internet Printing Protocol (IPP)[ipp-model], so that coherence is
these two protocols and the information presented to end users and maintained between these two protocols and the information presented to
system operators by monitoring applications. However, the job end users and system operators by monitoring applications. However, the
monitoring MIB is intended to be used with printers that implement other job monitoring MIB is intended to be used with printers that implement
job submitting and management protocols, such as IEEE 1284.1 (TIPSI)[4], other job submitting and management protocols, such as IEEE 1284.1
as well as with ones that do implement ISO DPA. So nothing in the job (TIPSI)[tipsi], as well as with ones that do implement ISO DPA. Thus
monitoring MIB requires implementation of the ISO DPA or IPP protocols. the job monitoring MIB does not require implementation of either the ISO
DPA or IPP protocols.
Job Monitoring MIB, V0.82 June 9, 1997 Job Monitoring MIB, V0.83 July 14, 1997
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 the
future for monitoring multi-function (scan, FAX, copy) jobs as an 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.
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[2]. For example, PostScript systems use the term session for standard[iso-dpa]. For example, PostScript systems use the term
what we call a job in this specification and the term job to mean what session for what we call a job in this specification and the term job
we call a document in this specification. PJL systems use the term to mean what we call a document in this specification. PJL systems
job to mean what we call a job in this specification. PJL also use the term job to mean what we call a job in this specification.
supports multiple documents per job, but does not support specifying PJL also supports multiple documents per job, but does not support
per-document attributes independently for each document. specifying per-document attributes independently for each document.
A job is a unit of work whose results are expected together without Job: a unit of work whose results are expected together without
interjection of unrelated results. A client is able to specify job interjection of unrelated results. A job contains one or more
instructions that apply to the job as a whole. Proscriptive
instructions specify how, when, and where the job is to be printed.
Descriptive instructions describe the job. A job contains one or more
documents. documents.
A job set is a set of jobs that are queued and scheduled together Job set: a group of jobs that are queued and scheduled together
according to a specified scheduling algorithm for a specified device or according to a specified scheduling algorithm for a specified device or
set of devices. For implementations that embed the SNMP agent in the 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, the MIB job set normally represents all the jobs known to the
device, so that the implementation only implements a single job set device, so that the implementation only implements a single job set. If
which MAY be identified with a hard-coded value 1. If the SNMP agent is the SNMP agent is implemented in a server that controls one or more
implemented in a server that controls one or more devices, each MIB job devices, each MIB job set represents a job queue for (1) a specific
set represents a job queue for (1) a specific device or (2) set of device or (2) set of devices, if the server uses a single queue to load
devices, if the server uses a single queue to load balance between balance between several devices. Each job set is disjoint; no job SHALL
several devices. Each job set is disjoint; no job SHALL be represented be represented in more than one MIB job set.
in more than one MIB job set.
A document is a sub-section within a job. A document contains print Document: a sub-section within a job that contains print data and
data and document instructions that apply to just the document. The document instructions that apply to just the document.
client is able to specify document instructions separately for each
document in a job. Proscriptive instructions specify how the document
is to be processed and printed by the server. Descriptive instructions
describe the document. Server implementation of more than one document
per job is optional.
A client is 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. configuration, using any job submission protocol.
Job Monitoring MIB, V0.82 June 9, 1997 Server: a network entity that accepts jobs from clients and in turn
A server is a network entity that accepts jobs from clients and in turn
submits the jobs to printers and other devices. A server MAY be a submits the jobs to printers and other devices. A server MAY be a
printer supervisor control program, or a print spooler. printer supervisor control program, or a print spooler.
A device is a hardware entity that (1) interfaces to humans in human Device: a hardware entity that (1) interfaces to humans in human
perceptible means, such as produces marks on paper, scans marks on paper perceptible means, such as produces marks on paper, scans marks on paper
to produce an electronic representations, or writes CD-ROMs or (2) to produce an electronic representations, or writes CD-ROMs or (2)
interfaces to a network, such as sends FAX data to another FAX device. interfaces to a network, such as sends FAX data to another FAX device.
A printer is a device that puts marks on media. Job Monitoring MIB, V0.83 July 14, 1997
A supervisor is a server that contains a control program that controls a Printer: a device that puts marks on media.
Supervisor: a server that contains a control program that controls a
printer or other device. A supervisor is a client to the printer or printer or other device. A supervisor is a client to the printer or
other device. other device.
A spooler is a server that accepts jobs, spools the data, and decides Spooler: a server that accepts jobs, spools the data, and decides when
when and on which printer to print the job. A spooler is a client to a and on which printer to print the job. A spooler is a client to a
printer or a printer supervisor, depending on implementation. printer or a printer supervisor, depending on implementation.
Spooling is the act of a device or server of (1) accepting jobs and (2) Spooling: the act of a device or server of (1) accepting jobs and (2)
writing the job's attributes and document data on to secondary storage. writing the job's attributes and document data on to secondary storage.
Queuing is the act of a device or server of ordering (queuing) the jobs Queuing: the act of a device or server of ordering (queuing) the jobs
for the purposes of scheduling the jobs to be processed. for the purposes of scheduling the jobs to be processed.
A monitor or job monitoring application is the network entity that End Monitor or Job Monitoring Application: the SNMP management application
Users, System Operators, Accountants, Asset Managers, and Capacity that End Users, and System Operators use to monitor jobs using SNMP. A
Planners use to monitor jobs using SNMP. A monitor MAY be either a monitor MAY be either a separate application or MAY be part of the
separate application or MAY be part of the client that also submits client that also submits jobs.
jobs.
An agent is the network entity that accepts SNMP requests from a monitor Accounting Application: the SNMP management application that copies job
and implements the Job Monitoring MIB by instrumenting a server or a information to some more permanent medium so that another application
device. can perform accounting on the data for Accountants, Asset Managers, and
Capacity Planners use.
A proxy is an agent that acts as a concentrator for one or more other Agent: the network entity that accepts SNMP requests from a monitor or
accounting application and provides access to the instrumentation for
managing jobs modeled by the management objects defined in the Job
Monitoring MIB module for a server or a device.
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.
A user is a person that uses a client or a monitor. User: is a person that uses a client or a monitor.
An end user is a user that uses a client to submit a print job. End User: is a user that uses a client to submit a print job.
A system operator is a user that uses a monitor to monitor the system System Operator: is a user that uses a monitor to monitor the system
and carries out tasks to keep the system running. and carries out tasks to keep the system running.
Job Monitoring MIB, V0.82 June 9, 1997 System Administrator: is a user that specifies policy for the system.
A system administrator is a user that specifies policy for the system.
A job instruction is an instruction specifying how, when, or where the Job Instruction: is an instruction specifying how, when, or where the
job is to be processed. Job instructions MAY be passed in the job job is to be processed. Job instructions MAY be passed in the job
Job Monitoring MIB, V0.83 July 14, 1997
submission protocol or MAY be embedded in the document data or a submission protocol or MAY be embedded in the document data or a
combination depending on the job submission protocol and implementation. combination depending on the job submission protocol and implementation.
A document instruction is an instruction specifying how to process the Document Instruction: is an instruction specifying how to process the
document. Document instructions MAY be passed in the job submission document. Document instructions MAY be passed in the job submission
protocol separate from the actual document data, or MAY be embedded in protocol separate from the actual document data, or MAY be embedded in
the document data or a combination, depending on the job submission the document data or a combination, depending on the job submission
protocol and implementation. protocol and implementation.
An SNMP information object is a name, value-pair that specifies an SNMP Information Object: is a name, value-pair that specifies an
action, a status, or a condition in an SNMP MIB. Objects are identified action, a status, or a condition in an SNMP MIB. Objects are identified
in SNMP by an OBJECT IDENTIFIER. in SNMP by an OBJECT IDENTIFIER.
An attribute is a name, value-pair that specifies an instruction, a Attribute: is a name, value-pair that specifies a job or document
status, or a condition of a job or a document that has been submitted to instruction, a status, or a condition of a job or a document that has
a server or device. A particular attribute NEED NOT be present in each been submitted to a server or device. A particular attribute NEED NOT
job instance. In other words, attributes are present in a job instance be present in each job instance. In other words, attributes are present
only when there is a need to express the value, either because (1) the in a job instance only when there is a need to express the value, either
client supplied a value in the job submission protocol, (2) the document because (1) the client supplied a value in the job submission protocol,
data contained an embedded attribute, or (3) the server or device (2) the document data contained an embedded attribute, or (3) the server
supplied a default value. An agent SHALL represent an attribute as an or device supplied a default value. An agent SHALL represent an
entry (row) in the Attribute table in this MIB in which entries are attribute as an entry (row) in the Attribute table in this MIB in which
present only when necessary. Attributes are identified in this MIB by entries are present only when necessary. Attributes are identified in
an enum. this MIB by an enum.
Job monitoring using SNMP is (1) identifying jobs within the serial Job Monitoring (using SNMP): is (1) identifying jobs within the serial
streams of data being processed by the server, printer or other devices, streams of data being processed by the server, printer or other devices,
(2) creating "rows" in the job table for each job, and (3) recording (2) creating "rows" in the job table for each job, and (3) recording
information, known by the agent, about the processing of the job in that information, known by the agent, about the processing of the job in that
"row". "row".
Job accounting is recording what happens to the job during the Job Accounting: is recording what happens to the job during the
processing and printing of the job. processing and printing of the job.
3. 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 Goals section. devices are shown as printers. See Goals section.
The diagram in the Printer MIB[1] entitled: "One Printer's View of the The diagram in the Printer MIB[print-mib] entitled: "One Printer's View
Network" is assumed for this MIB as well. Please refer to that diagram of the Network" is assumed for this MIB as well. Please refer to that
to aid in understanding the following system configurations. diagram to aid in understanding the following system configurations.
Job Monitoring MIB, V0.82 June 9, 1997
3.1 Configuration 1 - client-printer 2.1.1 Configuration 1 - client-printer
In the client-printer configuration, the client(s) submit jobs directly In the client-printer configuration, the client(s) submit jobs directly
to the printer, either by some direct connect, or by network connection. to the printer, either by some direct connect, or by network connection.
Job Monitoring MIB, V0.83 July 14, 1997
The client-printer configuration can accommodate multiple job submitting The client-printer configuration can accommodate multiple job submitting
clients in either of two ways: clients in either of two ways:
1.if each client relinquishes control of the Print Job Delivery 1.if each client relinquishes control of the Print Job Delivery
Channel after each job (or after a number of jobs) Channel after each job (or after a number of jobs)
2.if the printer supports more than one Print Job Delivery Channel 2.if the printer supports more than one Print Job Delivery Channel
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, and longer in order to implement the long as the job is in the Printer, plus a defined time period after the
completed state in which monitoring programs can copy out the accounting job enters the completed state in which accounting programs can copy out
data from the Job Monitoring MIB. 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 | | |
| +-------+ | | | +-------+ | |
| PRINTER <--------+ | PRINTER <--------+
| | Print Job Delivery Channel | | Print Job Delivery Channel
| | | |
+=============+ +=============+
Figure 3-1 - Configuration 1 - client-printer - agent in the printer Figure 2-1 - Configuration 1 - client-printer - agent in the printer
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 3-1): relationships (not shown in Figure 2-1):
1.Multiple clients MAY submit jobs to a printer. 1.Multiple clients MAY submit jobs to a printer.
2.Multiple clients MAY monitor a printer. 2.Multiple clients MAY monitor a printer.
3.Multiple monitors MAY monitor a printer. 3.Multiple monitors MAY monitor a printer.
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.
Job Monitoring MIB, V0.82 June 9, 1997 2.1.2 Configuration 2 - client-server-printer - agent in the server
3.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.83 July 14, 1997
The job submitting client and/or monitoring application monitor job by The job submitting client and/or monitoring application monitor job by
communicating directly with: communicating directly with:
1.a Job Monitoring MIB agent that is part of the server (or a A Job Monitoring MIB agent that is part of the server (or a front
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 this
configuration, the agent SHALL return the current values of the objects configuration, the agent SHALL return the current values of the objects
in the Job Monitoring MIB both for jobs the server keeps and jobs that in the Job Monitoring MIB both for jobs the server keeps and jobs that
the server has submitted to the printer. In configuration 2, the server the server has submitted to the printer. The Job Monitoring MIB agent
keeps a copy of the job during the time that the server has submitted SHALL obtain the required information from the printer by a method that
the job to the printer. Only some time after the printer completes the is beyond the scope of this document. The agent in the server SHALL
job, SHALL the server remove the representation of the job from the Job keep the job in the Job Monitoring MIB in the server as long as the job
Monitoring MIB in the server. The agent NEED NOT access the printer, is in the Printer, plus a defined time period after the job enters the
except when a monitor queries the agent using an SNMP Get for an object completed state in which accounting programs can copy out the accounting
in the Job Monitoring MIB. Or the agent can subscribe to the data from the Job Monitoring MIB.
notification events that the printer generates and keep the Job
Monitoring MIB update to date. The agent in the server SHALL keep the
job in the Job Monitoring MIB as long as the job is in the Printer, and
longer in order to implement the completed state in which monitoring
programs can copy 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 | |
+-------+ | +-------+ |
| server | | server |
+----+-----+--+ +----+-----+--+
control * | control * |
********** | ********** |
* | * |
+========v====+ | +========v====+ |
| | | | | |
| | | | | |
Job Monitoring MIB, V0.82 June 9, 1997
| PRINTER <---------+ | PRINTER <---------+
| | Print Job Delivery Channel | | Print Job Delivery Channel
| | | |
+=============+ +=============+
Figure 3-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 3-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.83 July 14, 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.
3.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
In the client-server-printer configuration 3, the client(s) submit jobs In the client-server-printer configuration 3, 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. the printer. That server does not contain a Job Monitoring MIB and
agent.
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:
1.the server using some protocol to monitor jobs in the server 1.The server using some undefined protocol to monitor jobs in the
that does not contain the Job Monitoring MIB AND server (that does not contain the Job Monitoring MIB) AND
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).
There is no SNMP Job Monitoring MIB agent in the server in configuration In configuration 3, the agent (in the printer) SHALL keep the values of
3, at least that the client or monitor are aware. In this the objects in the Job Monitoring MIB that the agent implements updated
configuration, the agent (in the printer) SHALL keep the values of the for a job that the server has submitted to the printer. The agent SHALL
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
obtain information about the jobs submitted to the printer from the obtain information about the jobs submitted to the printer from the
server (either in the job submission protocol, in the document data, or server (either in the job submission protocol, in the document data, or
by direct query of the server), in order to populate some of the objects by direct query of the server), in order to populate some of the objects
the Job Monitoring MIB in the printer. The agent in the printer SHALL the Job Monitoring MIB in the printer. The agent in the printer SHALL
Job Monitoring MIB, V0.82 June 9, 1997
keep the job in the Job Monitoring MIB as long as the job is in the keep the job in the Job Monitoring MIB as long as the job is in the
Printer, and longer in order to implement the completed state in which Printer, and longer in order to implement the completed state in which
monitoring programs can copy out the accounting data from the Job monitoring programs can copy out the accounting data from the Job
Monitoring MIB. Monitoring MIB.
Job Monitoring MIB, V0.83 July 14, 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==+
# | | # | |
# | server | # | server |
skipping to change at page 18, line 34 skipping to change at page 17, line 30
# ########## | # ########## |
# # | # # |
+==+=v===v=+==+ | +==+=v===v=+==+ |
| | agent | | | | | agent | | |
| +-------+ | | | +-------+ | |
| PRINTER <---------+ | PRINTER <---------+
| | Print Job Delivery Channel | | Print Job Delivery Channel
| | | |
+=============+ +=============+
Figure 3-3 - Configuration 3 - client-server-printer - client monitors Figure 2-3 - Configuration 3 - client-server-printer - client monitors
printer agent and server printer agent and 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 3-3): relationships (not shown in Figure 2-3):
1.Multiple clients MAY submit jobs to a server. 1.Multiple clients MAY submit jobs to a server.
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.
4. Conformance Considerations 3. Managed Object Usage
This section describes the usage of the objects in the MIB.
3.1 Conformance Considerations
In order to achieve interoperability between job monitoring applications In order to achieve interoperability between job monitoring applications
and job monitoring agents, this specification includes the conformance and job monitoring agents, this specification includes the conformance
requirements for both monitoring applications and agents. requirements for both monitoring applications and agents.
Job Monitoring MIB, V0.82 June 9, 1997 Job Monitoring MIB, V0.83 July 14, 1997
4.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 as NOT" to specify conformance requirements according to RFC 2119 [req-
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 have to implement in order to claim conformance to this not 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 the sentence to implement, but is not required, in order to of the sentence to implement, but is not required, in order to
claim conformance to this specification. claim conformance to this specification.
4.2 Agent Conformance Requirements 3.1.2 Agent Conformance Requirements
A conforming agent: A conforming agent:
1.SHALL implement all MANDATORY groups and attributes in this 1.SHALL implement all MANDATORY groups in this specification.
specification.
2.NEED NOT implement any OPTIONAL attributes, whether the agent is able 2.SHALL implement any attributes if (1) the server or device supports
to obtain the information from the server or device. the functionality represented by the attribute and (2) the
information is available to the agent.
3.NEED NOT 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 Octets forms, though attribute that permits a choice of INTEGER and OCTET STRING forms,
implementing both forms may help management applications by giving since implementing both forms may help management applications by
them a choice of representations, since the representation are giving them a choice of representations, since the representation are
equivalent. See page 55. equivalent. See the JmAttributeTypeTC 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 of SMIv2 that can be supported by SMIv1 and SNMPv1 subset of SMIv2 that can be supported by SMIv1 and SNMPv1
implementations. implementations.
4.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 (RFC 1213)[5], whether the Printer MIB[1] is implemented Group of MIB-II[mib-II], whether the Printer MIB[print-mib] is
or not. implemented or not.
Job Monitoring MIB, V0.82 June 9, 1997 Job Monitoring MIB, V0.83 July 14, 1997
4.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 (RFC 1213)[5], whether the Printer MIB[1] is Interfaces Group of MIB-II[mib-II], whether the Printer MIB[print-mib]
implemented or not. is implemented or not.
4.2.3 Printer MIB objects 3.1.2.3 Printer MIB objects
If the agent is instrumenting a device that is a printer, the agent If the agent is providing access to a device that is a printer, the
SHALL implement all of the mandatory objects in the Printer MIB[1] and agent SHALL implement all of the MANDATORY objects in the Printer
all the objects in other MIBs that conformance to the Printer MIB MIB[print-mib] and all the objects in other MIBs that conformance to the
requires, such as the Host Resources MIB (RFC 1514)[6]. If the agent is Printer MIB requires, such as the Host Resources MIB[hr-mib]. If the
instrumenting a server that controls one or more networked printers, the agent is providing access to a server that controls one or more
agent NEED NOT implement the Printer MIB and NEED NOT implement the Host networked printers, the agent NEED NOT implement the Printer MIB and
Resources MIB. NEED NOT implement the Host Resources MIB.
4.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 all objects in all MANDATORY groups and all MANDATORY 1.SHALL accept the full syntactic range for all objects in all
attributes that are required to be implemented by an agent according MANDATORY groups and all MANDATORY attributes that are required to be
to Section 4.2 and SHALL either present them to the user or ignore implemented by an agent according to Section 3.1.2 and SHALL either
them. present them to the user or ignore them.
2.SHALL accept all OPTIONAL attributes, including enum and bit values 2.SHALL accept the full syntactic range for all attributes, including
specified in this specification and additional ones that may be enum and bit values specified in this specification and additional
registered with IANA and SHALL either present them to the user or ones that may be registered with IANA and SHALL either present them
ignore them. In particular, a conforming job monitoring application to the user or ignore them. In particular, a conforming job
SHALL not malfunction when receiving any standard or registered enum monitoring application SHALL not malfunction when receiving any
or bit values. See Section 7 entitled "IANA Considerations" on page standard or registered enum or bit values. See Section 3.6 entitled
22. "IANA Considerations".
3.SHALL accept either form of time attribute, if it supports a time 3.SHALL NOT fail when operating with agents that materialize attributes
attribute, since agents are free to implement either time form. See after the job has been submitted, as opposed to when the job is
page 55. submitted.
5. Job Identification 4.SHALL, if it supports a time attribute, accept either form of the
time attribute, since agents are free to implement either time form.
There are a number of attributes that permit a user, operator or system 3.2 The Job Tables and the Oldest Active and Newest Active Indexes
administrator to identify jobs of interest, such as jobOwner, jobName,
etc. In addition, there is a Job Submission ID object that allows a
monitoring application to quickly locate and identify a particular job
of interest that was submitted from a particular client by the user
invoking the monitoring application. The Job Monitoring MIB needs to
provide for identification of the job at both sides of the job
submission process. The primary identification point is the client
side. The Job Submission ID allows the monitoring application to
Job Monitoring MIB, V0.82 June 9, 1997
identify the job of interest from all the jobs currently "known" by the The jmJobTable and jmAttributeTable contain objects and attributes,
server or device. The Job Submission ID can be assigned by either the respectively, for each job in a job set. These first two indexes are:
client's local system or a downstream server or device. The point of
assignment will be determined by the job submission protocol in use.
The server/device-side identifier, called the jmJobIndex object, will be 1.jmGeneralJobSetIndex - which job set
assigned by the server or device that accepts the jobs from submitting
clients. The MIB agent SHALL use the job identifier assigned by the 2.jmJobIndex - which job in the job set
server or device to the job as the value of the jmJobIndex object that Job Monitoring MIB, V0.83 July 14, 1997
defines the table rows (there are multiple tables) that contain the
information relating to the job. This object allows the interested In order for a monitoring application to quickly find that active jobs
party to obtain all objects desired that relate to this job. The MIB (jobs in the pending, processing, or processingStopped states), the MIB
provides a mapping table that maps each Job Submission ID to the contains two indexes:
corresponding jmJobIndex value, so that an application can determine the
1.jmGeneralOldestActiveJobIndex - the index of the active job that
has been in the tables the longest.
2.jmGeneralNewestActiveJobIndex - the index of the active job that
has been most recently added to the tables.
When a new job is accepted by the server or device that the agent is
providing access to , the agent SHALL assign the next available value to
the job's jmJobIndex that is used for storing job information in the
jmJobTable and the jmAttributeTable. If the value would exceed the
implementation-defined maximum value for jmJobIndex, the agent SHALL set
the value back to 1, i.e., 'wrap' around to the beginning of the job
tables.
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
single time, so as to minimize the pre-mature re-use of jmJobIndex value
for a newer job while clients retain the same 'stale' value for an older
job.
Each time a new job is accepted by the server or device that the agent
is providing access to AND that job is to be 'active' (pending,
processing, or processingStopped, but not pendingHeld), the agent SHALL
copy the value of the job's jmJobIndex to the
jmGeneralNewestActiveJobIndex object. If the new job is to be
'inactive' (pendingHeld state), the agent SHALL not change the value of
jmGeneralNewestActiveJobIndex object.
When a job transitions from one of the 'active' states (pending,
processing, processingStopped) to one of the 'inactive' states
(pendingHeld, completed, canceled, or aborted), with a jmJobIndex value
that matches the jmGeneralOldestActiveJobIndex object, the agent SHALL
advance (or wrap) the value to the next oldest 'active' job, if any.
Whenever a job changes from 'inactive' to 'active' (from pendingHeld to
pending or processing), the agent SHALL update the value of either the
jmGeneralOldestActiveJobIndex or the jmGeneralNewestActiveJobIndex
objects, or both, if the job's jmJobIndex value is outside the range
between jmGeneralOldestActiveJobIndex and jmGeneralNewestActiveJobIndex.
When all jobs become 'inactive', i.e., enter the pendingHeld, completed,
canceled, or aborted states, the agent SHALL set the value of both the
jmGeneralOldestActiveJobIndex and jmGeneralNewestActiveJobIndex objects
to 0.
Job Monitoring MIB, V0.83 July 14, 1997
NOTE - Applications that wish to efficiently access all of the active
jobs MAY use jmGeneralOldestActiveJobIndex value to start with the
oldest active job and continue until they reach the index value equal to
jmGeneralNewestActiveJobIndex, skipping over any pendingHeld, completed,
canceled, or aborted jobs that might intervene.
If an application detects that the jmGeneralNewestActiveJobIndex is
smaller than jmGeneralOldestActiveJobIndex, the job index has wrapped.
In this case, when the application detects that the returned OID is in a
different MIB (Get Next has moved to the next MIB in the agent), the
application SHALL start over at 1 and continue the GetNext operations to
find the rest of the active jobs.
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
the same jmJobIndex as recent jobs before the power cycle.
3.3 The Attribute Mechanism
Attributes are similar to information objects, except that attributes
are identified by an enum, instead of an OID, so that attributes may be
registered without requiring a new MIB. Also an implementation that
does not have the functionality represented by the attribute can omit
the attribute entirely, rather than having to return a distinguished
value. The agent is free to materialize an attribute in the
jmAttributeTable as soon as the agent is aware of the value of the
attribute.
The agent materializes job attributes in a four-indexed
jmAttributeTable:
1.jmGeneralJobSetIndex - which job set
2.jmJobIndex - which job in the job set
3.jmAttributeTypeIndex - which attribute
4.jmAttributeInstanceIndex - which attribute instance for those
attributes that can have multiple values per job.
Some attributes represent information about a job, such as a file-name,
a document-name, a submission-time or a completion time. Other
attributes represent resources required, e.g., a medium or a colorant,
etc. to process the job before the job starts processing OR to indicate
the amount of the resource consumed during and after processing, e.g.,
pages completed or impressions completed. If both a required and a
consumed value of a resource is needed, this specification assigns two
separate attribute enums in the textual convention.
Job Monitoring MIB, V0.83 July 14, 1997
NOTE - The table of contents lists all the attributes in order. This
order is the order of enum assignments which is the order that the SNMP
GetNext operation returns attributes. Most attributes apply to all
three configurations covered by this MIB specification (see section 2.1
entitled "System Configurations for the Job Monitoring MIB"). Those
attribute that apply to a particular configuration are indicated as
'Configuration n:' and SHALL NOT be used with other configurations.
3.3.1 Conformance of Attribute Implementation
An agent SHALL implement any attribute if (1) the server or device
supports the functionality represented by the attribute and (2) the
information is available to the agent. The agent MAY create the
attribute row in the jmAttributeTable when the information is available
or MAY create the row earlier with the designated 'unknown' value
appropriate for that attribute. See next section.
If the server or device does not implement or does not provide access to
the information about an attribute, the agent SHOULD NOT create the
corresponding row in the jmAttributeTable.
3.3.2 Useful, 'Unknown', and 'Other' Values for Objects and Attributes
Some attributes have a 'useful' INTEGER32 value, some have a 'useful'
OCTET STRING value, some MAY have either or both depending on
implementation, and some MUST have both. See the JmAttributeTypeTC
textual convention for the specification of each attribute.
SNMP requires that if an object cannot be implemented because its values
cannot be accessed, then a compliant agent SHALL return an SNMP error in
SNMPv1 or an exception value in SNMPv2. However, this MIB has been
designed so that 'all' objects can and SHALL be implemented by an agent,
so that neither the SNMPv1 error nor the SNMPv2 exception value SHALL be
generated by the agent. This MIB has also been designed so that when an
agent materializes an attribute, the agent SHALL materialize a row
consisting of both the jmAttributeValueAsInteger and
jmAttributeValueAsOctets objects.
In general, values for objects and attributes have been chosen so that a
management application will be able to determine whether a 'useful',
'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
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
counting integers.
Since each attribute is represented by a row consisting of both the
jmAttributeValueAsInteger and jmAttributeValueAsOctets MANDATORY
Job Monitoring MIB, V0.83 July 14, 1997
objects, SNMP requires that the agent SHALL always create an attribute
row with both objects specified. However, for most attributes the agent
SHALL return a "useful" value for one of the objects and SHALL return
the 'other' value for the other object. For integer only attributes,
the agent SHALL always return a zero-length string value for the
jmAttributeValueAsOctets object. For octet string only attributes, the
agent SHALL always return a '-1' value for the jmAttributeValueAsInteger
object.
3.3.3 Data Sub-types and Attribute Naming Conventions
Many attributes are sub-typed to give a more specific data sub-type than
Integer32 or OCTET STRING. The data sub-type of each attribute is
indicated on the first line(s) of the description. Some attributes have
several different data sub-type representations. When an attribute has
both an Integer32 data sub-type and an OCTET STRING data sub-type, the
attribute can be represented in a single row in the jmAttributeTable.
In this case, the data sub-type name is not included as the last part of
the name of the attribute, e.g., documentFormat(38) which is both an
enum and/or a name. When the data sub-types cannot be represented by a
single row in the jmAttributeTable, each such representation is
considered a separate attribute and is assigned a separate name and enum
value. For these attributes, the name of the data sub-type is the last
part of the name of the attribute: Name, Index, DateAndTime, TimeStamp,
etc. For example, documentFormatIndex(37) in an index.
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
is defined. The following abbreviations are used in the Table of
Contents as shown:
'Int32(-2..)' Integer32(-2..2147483647)
'Int32(0..)' Integer32(0..2147483647)
'Int32(1..)' Integer32(1..2147483647)
'Int32(m..n)' For all other Integer ranges, the lower
and upper bound of the range is
indicated.
'Octets63' OCTET STRING(SIZE(0..63))
'Octets(m..n)' For all other OCTET STRING ranges, the
exact range is indicated.
3.3.4 Single-Value (Row) Versus Multi-Value (MULTI-ROW) Attributes
Most attributes SHALL have only one row per job. However, a few
attributes can have multiple values per job or even per document, where
each value is a separate row in the jmAttributeTable. Unless indicated
with 'MULTI-ROW:' in JmAttributeTypeTC, an agent SHALL ensure that each
attribute occurs only once in the jmAttributeTable for a job.
Attributes that are permitted to appear multiple times in the
Job Monitoring MIB, V0.83 July 14, 1997
jmAttributeTable for a job are indicated with 'MULTI-ROW:' in their
specification in the JmAttributeTypeTC. However, such 'MULTI-ROW'
attributes SHALL not contain duplicates for 'intensive' (as opposed to
'extensive') attributes.
For example, a job or document(s) may use multiple PDLs. However, each
distinct documentFormat attribute value SHALL appear in the
jmAttributeTable only once for a job since the interpreter language is
an intensive attribute, even though the job has a number of documents
that all use the same PDL.
As another example of an intensive attribute that can have multiple
entries, if a document or job uses multiple types of media, there SHALL
be only one row in the jmAttributeTable for each media type, not one row
for each document that uses that medium type.
On the other hand, if a job contains two documents of the same name,
there can be separate rows for the documentName attribute with the same
name, since a document name is an extensive attribute. The
specification indicates that the values NEED NOT be unique for such
'MULTI-ROW: attributes'
3.3.5 Requested Attributes
A number of attributes record requirements for the job. Such attribute
names end with the word 'Requested'. In the interests of brevity, the
phrase 'requested' SHALL mean: (1) requested by the client (or
intervening server) in the job submission protocol that submitted the
job and MAY also mean (2) embedded in the submitted document data,
and/or (3) defaulted by the recipient device or server with the same
semantics as if the requester had supplied, depending on implementation.
3.3.6 Consumption Attributes
A number of attributes record consumption. Such attribute names end
with the word 'Completed' or 'Consumed'. If the job has not yet
consumed what that resource is metering, the agent either: (1) SHALL
return the value 0 or (2) SHALL not add this attribute to the
jmAttributeTable until the consumption begins. In the interests of
brevity, the semantics for 0 is specified once here and is not repeated
for each consumptive attribute specification.
3.3.7 Index Value Attributes
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
index value for a particular index attribute for a job, the agent SHALL
either: (1) return the value 0 or (2) not add this attribute to the
Job Monitoring MIB, V0.83 July 14, 1997
jmAttributeTable until the index value is assigned. In the interests of
brevity, the semantics for 0 is specified once here and is not repeated
for each index attribute specification.
3.4 Job Identification
There are a number of attributes that permit a user, operator or system
administrator to identify jobs of interest, such as jobName,
jobOriginatingHost, etc. In addition, there is a Job Submission ID
object that allows a monitoring application to quickly locate and
identify a particular job of interest that was submitted from a
particular client by the user invoking the monitoring application. The
Job Monitoring MIB needs to provide for identification of the job at
both sides of the job submission process. The primary identification
point is the client side. The Job Submission ID allows the monitoring
application to identify the job of interest from all the jobs currently
"known" by the server or device. The Job Submission ID can be assigned
by either the client's local system or a downstream server or device.
The point of assignment depends on the job submission protocol in use.
The server/device-side identifier, called the jmJobIndex object, SHALL
be assigned by the SNMP Job Monitoring MIB agent when the server or
device accepts the jobs from submitting clients. The jmJobIndex object
allows the interested party to obtain all objects desired that relate to
this job. The MIB provides a mapping table that maps each Job
Submission ID (generated by the client) to the corresponding jmJobIndex
value generated by the agent, so that an application can determine the
correct value for the jmJobIndex value for the job of interest in a correct value for the jmJobIndex value for the job of interest in a
single Get operation. See the jmJobIDGroup on page 73. single Get operation, given the Job Submission ID. See the
jmJobIDGroup.
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.
6. Internationalization Considerations 3.5 Internationalization Considerations
There are a number of objects in this MIB that are represented as coded There are a number of objects in this MIB that are represented as coded
character sets. The data type for such objects is OCTET STRING. Such character sets with a data type of OCTET STRING. Most of the objects
objects could be in different coded character sets and could be are supplied as job attributes by the client that submits the job to the
localized in the language and country, i.e., could be localized. server or device and so are represented in the coded character set
However, for the Job Monitoring MIB, most of the objects are supplied as specified by that client.
job attributes by the client that submits the job to the server or
device and so are represented in the coded character set specified by
that client. Therefore, the agent is not able to provide for different
representations depending on the locale of the server, device, or user
of the job monitoring application. The only exception is job submission
protocols that pass job or document attributes as OBJECT IDENTIFIERS or
enums. For those job and document attributes, the agent SHALL represent
the corresponding objects in the Job Monitoring MIB as coded character
sets in the current (default) locale of the server or printer as
established by the system administrator or the implementation.
For simplicity, this specification assumes that the clients, job For simplicity, this specification assumes that the clients, job
monitoring applications, servers, and devices are all running in the monitoring applications, servers, and devices are all running in the
same locale. However, this specification allows them to run in any same locale, including locales that use two-octet coded character sets,
locale, including locales that use two-octet coded character sets, such such as ISO 10646 (Unicode). Job monitoring applications are expected
as ISO 10646 (Unicode). Job monitors applications are expected to to understand the coded character set of the client (and job), server,
understand the coded character set of the client (and job), server, or Job Monitoring MIB, V0.83 July 14, 1997
device. No special means is provided for the monitor to discover the
or device. No special means is provided for the monitor to discover the
coded character set used by jobs or by the server or device. This coded character set used by jobs or by the server or device. This
specification does not contain an object that indicates what locale the specification does not contain an object that indicates what locale the
Job Monitoring MIB, V0.82 June 9, 1997
server or device is running in, let alone contain an object to control server or device is running in, let alone contain an object to control
what locale the agent is to use to represent coded character set what locale the agent is to use to represent coded character set
objects. objects.
This MIB also contains objects that are represented using the This MIB also contains objects that are represented using the
DateAndTime textual convention from SNMPv2-TC (RFC 1903). The job DateAndTime textual convention from SMIv2 [SMIv2]. The job management
management application SHALL display such objects in the locale of the application SHALL display such objects in the locale of the user running
user running the monitoring application. the monitoring application.
7. IANA Considerations 3.6 IANA Considerations
During the development of this standard, the Printer Working Group (PWG) During the development of this standard, the Printer Working Group (PWG)
working with IANA will register additional enums while the standard is working with IANA will register additional enums while the standard is
in the proposed and draft states according to the procedures described in the proposed and draft states according to the procedures described
in this section. IANA will handle registration of additional enums in this section. IANA will handle registration of additional enums
after this standard is approved in cooperation with an IANA-appointed after this standard is approved in cooperation with an IANA-appointed
registration editor from the PWG according to the procedures described registration editor from the PWG according to the procedures described
in this section: in this section:
7.1 IANA Registration of enums 3.6.1 IANA 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 of
symbolic values defined for use with one or more objects or attributes. symbolic values defined for use with one or more objects or attributes.
All enumeration sets and bit value sets are assigned a symbolic data All enumeration sets and bit value sets are assigned a symbolic data
type name (textual convention). As a convention the symbolic name ends type name (textual convention). As a convention the symbolic name ends
in "TC" for textual convention. These enumerations are defined at the in "TC" for textual convention. These enumerations are defined at the
beginning of the MIB module specification. beginning of the MIB module specification.
This working group has defined several type of enumerations for use in This working group has defined several type of enumerations for use in
the Job Monitoring MIB and the Printer MIB[1]. These types differ in the Job Monitoring MIB and the Printer MIB[print-mib]. These types
the method employed to control the addition of new enumerations. differ in the method employed to control the addition of new
Throughout this document, references to "type n enum", where n can be 1, enumerations. Throughout this document, references to "type n enum",
2 or 3 can be found in the various tables. The definitions of these where n can be 1, 2 or 3 can be found in the various tables. The
types of enumerations are: definitions of these types of enumerations are:
7.1.1 Type 1 enumerations 3.6.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.
NOTE - There are no type 1 enums in the current draft. There are no type 1 enums in the current draft.
7.1.2 Type 2 enumerations Job Monitoring MIB, V0.83 July 14, 1997
3.6.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
Job Monitoring MIB, V0.82 June 9, 1997
registered after review by this working group. The initial versions of registered after review by this working group. The initial versions of
the MIB will contain the values registered so far. After the MIB is the MIB will contain the values registered so far. After the MIB is
approved, additional values will be registered through IANA after approved, additional values will be registered through IANA after
approval by this working group. approval by this working group.
The following type 2 enums are contained in the current draft : The following type 2 enums are contained in the current draft :
1.JmTimeStampTC 1.JmTimeStampTC
2.JmFinishingTC 2.JmFinishingTC [same enum values as IPP "finishing" attribute]
3.JmPrintQualityTC 3.JmPrintQualityTC [same enum values as IPP "print-quality"
attribute]
4.JmTonerEconomyTC 4.JmTonerEconomyTC
5.JmPrinterResolutionTC 5.JmPrinterResolutionTC [same enum values as IPP "printer-resolution"
attribute]
6.JmMediumTypeTC 6.JmMediumTypeTC
7.JmJobStateTC 7.JmJobSubmissionTypeTC
8.JmAttributeTypeTC 8.JmJobStateTC [same enum values as IPP "job-state" attribute]
9.JmAttributeTypeTC
7.1.3 Type 3 enumeration Those textual conventions that are labeled "[same enum values as IPP]"
have the same enum values as the indicated IPP Job attribute. When IPP
registers additional values, those values shall be simultaneously
registered by IANA for use with the Job Monitoring MIB textual-
convention, so that the enum values stay in lock step between the IPP
protocol and the Job Monitoring MIB.
3.6.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 without working group review. The initial versions of the registered without working group review. The initial versions of the
MIB will contain the values registered so far. After the MIB is MIB will contain the values registered so far. After the MIB is
approved, additional values will be registered through IANA without approved, additional values will be registered through IANA without
approval by this working group. approval by this working group.
NOTE - There are no type 3 enums in the current draft. There are no type 3 enums in the current draft.
7.2 IANA Registration of type 2 bit values 3.6.2 IANA 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
Job Monitoring MIB, V0.83 July 14, 1997
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 they
can be used with SNMPv1 SMI. The jobStateReasonsn (n=1..4) attributes can be used with SNMPv1 SMI. The jobStateReasonsN (N=1..4) attributes
are defined as bit values using the corresponding JmJobStateReasonsnTC are defined as bit values using the corresponding JmJobStateReasonsNTC
textual-conventions. 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 7.1.2. Section 3.6.1.2.
7.3 IANA Registration of Job Submission Id Formats 3.6.3 IANA Registration of Job Submission Id Formats
In addition to enums and bit values, this specification assigns numbers In addition to enums and bit values, this specification assigns a single
to various job submission ID formats. See jmJobSubmissionID on page 74. 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.82 June 9, 1997 3.6.4 IANA Registration of MIME types/sub-types for document-formats
The registration of jmJobSubmissionID format numbers SHALL follow the The documentFormat(38) attribute has MIME type/sub-type values for
procedures for a type 2 enum as specified in Section 7.1.2. indicating document formats which IANA registers as "media type" names.
The values of the documentFormat(38) attribute are the same as the
corresponding Internet Printing Protocol (IPP) "document-format" Job
attribute values [ipp-model].
8. Security Considerations 3.7 Security Considerations
8.1 Read-Write objects 3.7.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 allow considerations. If another MIB augments this MIB, that MIB might accept
objects in this MIB to be modified. However, that MIB SHALL have to SNMP Write operations to objects in that MIB whose effect is to modify
support the required access control in order to achieve security, not the values of read-only objects in this MIB. However, that MIB SHALL
this MIB. have to support the required access control in order to achieve
security, not this MIB.
8.2 Read-Only Objects In Other User's Jobs 3.7.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 jmJobKOctetsRequested and
jmJobKOctetsCompleted objects, so that a user can tell how busy a jmJobKOctetsCompleted objects, so that a user can tell how busy a
printer is. Other sites might allow all unprivileged users to see all printer is. Other sites MAY allow all unprivileged users to see all
objects of all jobs. It is up to the agent to implement any such objects of all jobs. This MIB does not require, nor does it specify
restrictions based on the identification of the user making the SNMP how, such restrictions would be implemented. A monitoring application
request. This MIB does not require, nor does it specify how, such SHOULD enforce the site security policy with respect to returning
restrictions would be implemented. A monitoring application SHOULD information to an unprivileged end user that is using the monitoring
enforce the site security policy with respect to returning information Job Monitoring MIB, V0.83 July 14, 1997
to an unprivileged end user that is using the monitoring application to
monitor jobs that do not belong to that user, i.e., the jobOwner application to monitor jobs that do not belong to that user, i.e., the
attribute in the jmAttributeTable does not match the user's user name. jmJobOwner object in the jmJobTable does not match the user's user name.
See the JmAttributeTypeTC textual convention on page Error! Bookmark not
defined. and the jmAttributeTable on page 81.
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.
9. Returning Objects With No Value In Mandatory Groups 3.8 Notifications
If an object in a mandatory group does not have an instrumented value
for a particular job submission protocol or the job submitting client
did not supply a value (and the accepting server or device does not
supply a default), this MIB requires that the agent SHALL follow the
normal SNMP practice of returning a distinguished value, such as a zero-
length string, an unknown(2) value for an enum, or a (-2) for an integer
value.
Job Monitoring MIB, V0.82 June 9, 1997
10. Notification and Traps
This MIB does not specify any traps. For simplicity, management This MIB does not specify any notifications. For simplicity, management
applications are expected to poll for status. The resulting network applications are expected to poll for status. The
jmGeneralJobPersistence and jmGeneralAttributePersistence objects assist
an application to determine the polling rate. The resulting network
traffic is not expected to be significant. traffic is not expected to be significant.
11. 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.82 June 9, 1997 Job Monitoring MIB, V0.83 July 14, 1997
Job-Monitoring-MIB DEFINITIONS ::= BEGIN Job-Monitoring-MIB DEFINITIONS ::= BEGIN
IMPORTS IMPORTS
MODULE-IDENTITY, OBJECT-TYPE, experimental, MODULE-IDENTITY, OBJECT-TYPE, experimental,
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 certain attributes, but are not -- to implement certain attributes, but are not
-- needed to compile this MIB. They are -- needed to compile this MIB. They are
-- provided here for convenience: -- provided here for convenience:
-- DateAndTime FROM SNMPv2-TC -- DateAndTime FROM SNMPv2-TC
-- PrtAlertCodeTC, PrtInterpreterLangFamilyTC FROM Printer-MIB -- PrtInterpreterLangFamilyTC FROM Printer-MIB
-- Use the experimental (54) OID assigned to the Printer MIB[print-mib]
-- before it was published as RFC 1759.
-- Upon publication of the Job Monitoring MIB as an RFC, delete this -- Upon publication of the Job Monitoring MIB as an RFC, delete this
-- comment and the line following this comment and change the -- comment and the line following this comment and change the
-- reference of { temp 105 } (below) to { mib-2 X }.
-- This will result in changing: -- This will result in changing:
-- 1 3 6 1 3 54 jobmonMIB(105) to: -- 1 3 6 1 3 54 jobmonMIB(105) to:
-- 1 3 6 1 2 1 jobmonMIB(X) -- 1 3 6 1 2 1 jobmonMIB(X)
-- This will make it easier to translate prototypes to -- This will make it easier to translate prototypes to
-- the standard namespace because the lengths of the OIDs won't -- the standard namespace because the lengths of the OIDs won't
-- change. -- change.
temp OBJECT IDENTIFIER ::= { experimental 54 } temp OBJECT IDENTIFIER ::= { experimental 54 }
jobmonMIB MODULE-IDENTITY jobmonMIB MODULE-IDENTITY
LAST-UPDATED "9705200000Z" LAST-UPDATED "9707140000Z"
ORGANIZATION "IETF Printer MIB Working Group" ORGANIZATION "IETF Printer MIB Working Group"
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
Project (JMP) Mailing List: jmp@pwg.org
To learn how to subscribe to the JMP mailing list,
send email to: jmp-request@pwg.org
For further information, access the PWG web page under 'JMP':
Job Monitoring MIB, V0.83 July 14, 1997
http://www.pwg.org/"
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: jmp-mib.doc, .pdf, .txt, .mib File: draft-ietf-printmib-job-monitor-02.txt
Version: 0.82" Version: 0.83"
::= { temp 105 } ::= { temp 105 }
Job Monitoring MIB, V0.82 June 9, 1997
-- Textual conventions for this MIB module -- Textual conventions for this MIB module
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 than
100ths of seconds, so as to be simpler for agents to implement 100ths of seconds, so as to be simpler for agents to implement
(even if they have to implement the 100ths of a second to comply (even if they have to implement the 100ths of a second to comply
with implementing sysUpTime in MIB-II[5].) 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 (see page 83). The TimeStamp jmAttributeValueAsInteger object. The TimeStamp textual-
textual-convention defined in SMNPv2-TC is defined as an convention defined in SMNPv2-TC is defined as an APPLICATION 3
APPLICATION 3 IMPLICIT INTEGER tag, not an Integer32, so cannot IMPLICIT INTEGER tag, not an Integer32, so cannot be used in
be used in this MIB as one of the values of this MIB as one of the values of jmAttributeValueAsInteger."
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
-- This is a type 2 enumeration. See Section 7.1 on page 22. "This is a type 2 enumeration. See Section 3.6.1.2."
SYNTAX INTEGER { SYNTAX INTEGER {
other(1), other(1),
unknown(2), unknown(2),
Job Monitoring MIB, V0.83 July 14, 1997
sptUNIX(3), -- UNIX(tm) sptUNIX(3), -- UNIX(tm)
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
Job Monitoring MIB, V0.82 June 9, 1997
sptWindows95(11), -- Windows95 sptWindows95(11), -- Windows95
sptNetWare(33) -- NetWare sptNetWare(33) -- NetWare
} }
JmFinishingTC ::= TEXTUAL-CONVENTION JmFinishingTC ::= TEXTUAL-CONVENTION
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The type of finishing." "The type of finishing operation.
These values are the same as the enum values of the IPP
'finishings' attribute. See Section 3.6.1.2.
-- This is a type 2 enumeration. See Section 7.1 on page 22.
SYNTAX INTEGER {
other(1), other(1),
-- Some other finishing besides one of the specified or Some other finishing operation besides one of the specified
-- 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 Bind the document(s) with one or more staples. The exact
-- exact number and placement of the staples is site- number and placement of the staples is site-defined.
-- defined.
stapleTopLeft(5), stapleTopLeft(5),
-- Place one or more staples on the top left corner of Place one or more staples on the top left corner of the
-- the document(s). document(s).
stapleBottomLeft(6), stapleBottomLeft(6),
-- Place one or more staples on the bottom left corner Place one or more staples on the bottom left corner of the
-- of the document(s). document(s).
Job Monitoring MIB, V0.83 July 14, 1997
stapleTopRight(7), stapleTopRight(7),
-- Place one or more staples on the top right corner of Place one or more staples on the top right corner of the
-- the document(s). document(s).
stapleBottomRight(8), stapleBottomRight(8),
-- Place one or more staples on the bottom right corner Place one or more staples on the bottom right corner of the
-- of the document(s). document(s).
saddleStitch(9), saddleStitch(9),
Job Monitoring MIB, V0.82 June 9, 1997 Bind the document(s) with one or more staples (wire
stitches) along the middle fold. The exact number and
-- Bind the document(s) with one or more staples (wire placement of the stitches is site-defined.
-- stitches) along the middle fold. The exact number
-- and placement of the stitches is site-defined.
edgeStitch(10), edgeStitch(10),
-- Bind the document(s) with one or more staples (wire Bind the document(s) with one or more staples (wire
-- stitches) along one edge. The exact number and stitches) along one edge. The exact number and placement of
-- placement of the staples is site-defined. the staples is site-defined.
punch(11), punch(11),
-- This value indicates that holes are required in the This value indicates that holes are required in the finished
-- finished document. The exact number and placement of document. The exact number and placement of the holes is
-- the holes is site-defined The punch specification site-defined The punch specification MAY be satisfied (in a
-- MAY be satisfied (in a site- and implementation- site- and implementation-specific manner) either by
-- specific manner) either by drilling/punching, or by drilling/punching, or by substituting pre-drilled media.
-- substituting pre-drilled media.
cover(12), cover(12),
-- This value is specified when it is desired to select This value is specified when it is desired to select a non-
-- a non-printed (or pre-printed) cover for the printed (or pre-printed) cover for the document. This does
-- document. This does not supplant the specification of not supplant the specification of a printed cover (on cover
-- a printed cover (on cover stock medium) by the stock medium) by the document itself.
-- document itself.
bind(13) bind(13)
-- This value indicates that a binding is to be applied This value indicates that a binding is to be applied to the
-- to the document; the type and placement of the document; the type and placement of the binding is product-
-- binding is site-defined. specific."
REFERENCE
"This is a type 2 enumeration. See Section 3.6.1.2."
SYNTAX INTEGER {
other(1),
unknown(2),
none(3),
staple(4),
stapleTopLeft(5),
stapleBottomLeft(6),
stapleTopRight(7),
stapleBottomRight(8),
saddleStitch(9),
edgeStitch(10),
Job Monitoring MIB, V0.83 July 14, 1997
punch(11),
cover(12),
bind(13)
} }
JmPrintQualityTC ::= TEXTUAL-CONVENTION JmPrintQualityTC ::= TEXTUAL-CONVENTION
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Print quality settings." "Print quality settings.
-- This is a type 2 enumeration. See Section 7.1 on page 22. These values are the same as the enum values of the IPP 'print-
quality' attribute. See Section 3.6.1.2."
REFERENCE
"This is a type 2 enumeration. See Section 3.6.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
Job Monitoring MIB, V0.82 June 9, 1997
-- 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.
The values are type2 enums that represent single integers or The values represent single integer resolutions or pairs of
pairs of integers. The latter are to specify the resolution integer resolutions. The latter are to specify the resolution
when the x and y dimensions differ. When two integers are when the x and y dimensions differ. When two integers are
specified, the first is in the x direction, i.e., in the specified, the first is in the x direction, i.e., in the
direction of the shortest dimension of the medium, so that the direction of the shortest dimension of the medium, so that the
value is independent of whether the printer feeds long edge or value is independent of whether the printer feeds long edge or
short edge first." short edge first.
-- This is a type 2 enumeration. See Section 7.1 on page 22. These values are the same as the enum values of the IPP
'printer-resolution' attribute. See Section 3.6.1.2."
Job Monitoring MIB, V0.83 July 14, 1997
REFERENCE
"This is a type 2 enumeration. See Section 3.6.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.
normal(3), -- Normal resolution. normal(3), -- Normal resolution.
res100(4), -- 100 x 100 dpi res100(4), -- 100 x 100 dpi
res200(5), -- 200 x 200 dpi res200(5), -- 200 x 200 dpi
res240(6), -- 240 x 240 dpi res240(6), -- 240 x 240 dpi
res300(7), -- 300 x 300 dpi res300(7), -- 300 x 300 dpi
res360(8), -- 360 x 360 dpi res360(8), -- 360 x 360 dpi
res600(9), -- 600 x 600 dpi res400(9), -- 400 x 400 dpi
res720(10), -- 720 x 720 dpi res600(10), -- 600 x 600 dpi
res800(11), -- 800 x 800 dpi res720(11), -- 720 x 720 dpi
res1200(12), -- 1200 x 1200 dpi res800(12), -- 800 x 800 dpi
res1440(13), -- 1440 x 1440 dpi res1200(13), -- 1200 x 1200 dpi
res1800(14), -- 1800 x 1800 dpi res1440(14), -- 1440 x 1440 dpi
res100x200(15), -- 100 x 200 dpi res1600(15), -- 1600 x 1600 dpi
res300x600(16), -- 300 x 600 dpi res1800(16), -- 1800 x 1800 dpi
res600x300(17), -- 600 x 300 dpi
res360x720(18), -- 360 x 720 dpi
res720x360(19), -- 720 x 360 dpi
res400x800(20), -- 400 x 800 dpi
res800x400(21), -- 800 x 400 dpi
res600x1200(22), -- 600 x 1200 dpi
res1200x600(23), -- 1200 x 600 dpi
res720x1440(24), -- 720 x 1440 dpi
res1440x720(25), -- 1440 x 720 dpi
res1800x600(26) -- 1800 x 600 dpi
Job Monitoring MIB, V0.82 June 9, 1997
-- future equal resolutions will be added
-- here, the enum values will not be re-
-- sorted or re-assigned:
res100x200(100), -- 100 x 200 dpi
res200x100(101), -- 200 x 100 dpi
res300x600(102), -- 300 x 600 dpi
res600x300(103), -- 600 x 300 dpi
res360x720(104), -- 360 x 720 dpi
res720x360(105), -- 720 x 360 dpi
res400x800(106), -- 400 x 800 dpi
res800x400(107), -- 800 x 400 dpi
res600x1200(108), -- 600 x 1200 dpi
res1200x600(109), -- 1200 x 600 dpi
res720x1440(110), -- 720 x 1440 dpi
res1440x720(111), -- 1440 x 720 dpi
res1800x600(112) -- 1800 x 600 dpi
-- future unequal resolutions will be
-- added here, the enum values will not
-- be re-sorted or re-assigned:
} }
Job Monitoring MIB, V0.83 July 14, 1997
JmTonerEconomyTC ::= TEXTUAL-CONVENTION JmTonerEconomyTC ::= TEXTUAL-CONVENTION
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Toner economy settings." "Toner economy settings."
REFERENCE
"This is a type 2 enumeration. See Section 3.6.1.2."
SYNTAX INTEGER {
unknown(2), -- unknown.
off(3), -- Off. Normal. Use full toner.
on(4) -- On. Use less toner than normal.
}
-- This is a type 2 enumeration. See Section 7.1 on page 22. JmBooleanTC ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"Boolean true or false value."
REFERENCE
"This is a type 2 enumeration. See Section 3.6.1.2."
SYNTAX INTEGER { SYNTAX INTEGER {
off(0), -- Off. Normal. Use full toner. unknown(2), -- unknown.
on(1) -- On. Use less toner than normal. false(3), -- FALSE.
true(4) -- TRUE.
} }
JmMediumTypeTC ::= TEXTUAL-CONVENTION JmMediumTypeTC ::= TEXTUAL-CONVENTION
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Identifies the type of medium." "Identifies the type of medium.
-- This is a type 2 enumeration. See Section 7.1 on page 22.
SYNTAX INTEGER {
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.
unknown(2), unknown(2),
-- The type is not known. The type is not known.
Job Monitoring MIB, V0.83 July 14, 1997
stationery(3), stationery(3),
-- Separately cut sheets of an opaque material. Separately cut sheets of an opaque material.
transparency(4), transparency(4),
-- Separately cut sheets of a transparent material. Separately cut sheets of a transparent material.
envelope(5), envelope(5),
-- Envelopes that can be used for conventional mailing Envelopes that can be used for conventional mailing
-- purposes. purposes.
envelopePlain(6), envelopePlain(6),
Job Monitoring MIB, V0.82 June 9, 1997 Envelopes that are not preprinted and have no windows.
-- Envelopes that are not preprinted and have no windows.
envelopeWindow(7), envelopeWindow(7),
-- Envelopes that have windows for addressing purposes. Envelopes that have windows for addressing purposes.
continuousLong(8), continuousLong(8),
-- Continuously connected sheets of an opaque material Continuously connected sheets of an opaque material
-- connected along the long edge. connected along the long edge.
continuousShort(9), continuousShort(9),
-- Continuously connected sheets of an opaque material Continuously connected sheets of an opaque material
-- 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 Form medium composed of multiple layers not pre-attached to
-- to one another; each sheet MAY be drawn separately from one another; each sheet MAY be drawn separately from an
-- an input source. input source.
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 attached to one another, e.g. for use with impact printers."
-- printers. REFERENCE
"This is a type 2 enumeration. See Section 3.6.1.2."
SYNTAX INTEGER {
other(1),
unknown(2),
stationery(3),
transparency(4),
envelope(5),
envelopePlain(6),
envelopeWindow(7),
Job Monitoring MIB, V0.83 July 14, 1997
continuousLong(8),
continuousShort(9),
tabStock(10),
multiPartForm(11),
labels(12),
multiLayer(13)
} }
JmJobSubmissionTypeTC ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"Identifies the format type of a job submission ID.
The ASCII characters '0-9', 'A-Z', and 'a-z' are assigned in
order giving 62 possible formats.
Each job submission ID is a fixed-length, 48-octet printable
ASCII coded character string, consisting of the following
fields:
octet 1 The format letter.
octets 2-40 A 39-character, 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.
If the client does not supply a job submission ID in the job
submission protocol, then the server SHALL assign a job
submission ID using any of the standard formats and adding the
final 8 octets to distinguish the ID from others submitted from
the same client.
The format values registered so far are:
Format
Letter Description
------ ------------
'0' octets 2-40: last 39 bytes of the jmJobOwner
object.
octets 41-48: 8-decimal-digit sequential number
'1' octets 2-40: last 39 bytes of the jobName attribute.
octets 41-48: 8-decimal-digit random number
Job Monitoring MIB, V0.83 July 14, 1997
'2' octets 2-40: Client MAC address: in hexadecimal
with each nibble of the 6 octet address being
'0'-'9' or 'A' - 'F' (uppercase only).
Most significant octet first.
octets 41-48: 8-decimal-digit sequential number
'3' octets 2-40: last 39 bytes of the client URL
[URI-spec].
octets 41-48: 8-decimal-digit sequential number
'4' octets 2-40: last 39 bytes of the URI [URI-spec]
assigned by the server or device to the job when
the job was submitted for processing.
octets 41-48: 8-decimal-digit sequential number
'5' octets 2-40: last 39 bytes of a user number, such
as POSIX user number.
octets 41-48: 8-decimal-digit sequential number
'6' octets 2-40: last 39 bytes of the user account
number.
octets 41-48: 8-decimal-digit sequential number
'7' octets 2-40: last 39 bytes of the DTMF incoming
FAX routing number.
octets 41-48: 8-decimal-digit sequential number
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
"This is like a type 2 enumeration. See section 3.6.3."
SYNTAX OCTET STRING(SIZE(1)) -- ASCII "0"-"9", "A"-"Z", "a"-"z"
Job Monitoring MIB, V0.83 July 14, 1997
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)
/ /
Job Monitoring MIB, V0.82 June 9, 1997 +---> 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, processing, and processingStopped states. pendingHeld, processing, 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 are called 'in-active'." aborted, and completed are called 'inactive'.
These values are the same as the enum values of the IPP 'job-
state' job attribute. See Section 3.6.1.2.
-- This is a type 2 enumeration. See Section 7.1 on page 22.
SYNTAX INTEGER {
other(1), other(1),
-- The job state is not one of the defined states. The job state is not one of the defined states.
unknown(2), unknown(2),
-- The job state is not known, or its state is The job state is not known, or its state is indeterminate.
-- indeterminate.
pending(3), pending(3),
-- The job is a candidate to start processing, but is The job is a candidate to start processing, but is not yet
-- not yet processing. processing.
Job Monitoring MIB, V0.83 July 14, 1997
pendingHeld(4), pendingHeld(4),
-- The job is not a candidate for processing for any The job is not a candidate for processing for any number of
-- number of reasons but will return to the pending reasons but will return to the pending state as soon as the
-- state as soon as the reasons are no longer reasons are no longer present. The job's jmJobStateReasons1
-- present. The job's jmJobStateReasons1 object object and/or jobStateReasonsN (N=2..4) attributes SHALL
-- and/or jobStateReasonsn (n=2..4) attributes SHALL indicate why the job is no longer a candidate for
-- indicate why the job is no longer a candidate for processing. The reasons are represented as bits in the
-- processing. The reasons are represented as bits jmJobStateReasons1 object and/or jobStateReasonsN (N=2..4)
-- in the jmJobStateReasons1 object and/or attributes. See the JmJobStateReasonsNTC (N=1..4) textual
-- jobStateReasonsn (n=2..4) attributes. See the convention for the specification of each reason.
-- JmJobStateReasonsnTC (n=1..4) textual convention
-- on page (59) for the specification of each reason.
processing(5), processing(5),
Job Monitoring MIB, V0.82 June 9, 1997 Either:
-- Either: 1. The job is using, or is attempting to use, one or more
-- document transforms which include (1) purely software
-- 1. The job is using, or is attempting to use, one processes that are interpreting a PDL, and (2) hardware
-- or more document transforms which include (1) devices that are interpreting a PDL, making marks on a
-- purely software processes that are interpreting a medium, and/or performing finishing, such as stapling, etc.
-- PDL, and (2) hardware devices that are
-- interpreting a PDL, making marks on a medium, OR
-- and/or performing finishing, such as stapling,
-- etc. 2. (configuration 2) the server has made the job ready for
-- printing, but the output device is not yet printing it,
-- OR either because the job hasn't reached the output device or
-- because the job is queued in the output device or some other
-- 2. (configuration 2) the server has made the job spooler, awaiting the output device to print it.
-- ready for printing, but the output device is not
-- yet printing it, either because the job hasn't When the job is in the processing state, the entire job
-- reached the output device or because the job is state includes the detailed status represented in the device
-- queued in the output device or some other spooler, MIB indicated by the hrDeviceIndex value of the job's
-- awaiting the output device to print it. physicalDevice attribute, if the agent implements such a
-- device MIB.
-- When the job is in the processing state, the
-- entire job state includes the detailed status Implementations MAY, though they NEED NOT, include
-- represented in the device MIB indicated by the additional values in the job's jmJobStateReasons1 object to
-- hrDeviceIndex value of the job's physicalDevice indicate the progress of the job, such as adding the
-- attribute, if the agent implements such a device jobPrinting value to indicate when the device is actually
-- MIB. making marks on a medium.
--
-- Implementations MAY, though they NEED NOT, include
-- additional values in the job's jmJobStateReasons1
-- object to indicate the progress of the job, such
-- as adding the jobPrinting value to indicate when
-- the device is actually making marks on a medium.
processingStopped(6), processingStopped(6),
-- The job has stopped while processing for any The job has stopped while processing for any number of
-- number of reasons and will return to the reasons and will return to the processing state as soon as
-- processing state as soon as the reasons are no the reasons are no longer present.
-- longer present.
--
-- The job's jmJobStateReasons1 object and/or the
-- job's jobStateReasonsn (n=2..4) attributes MAY
-- indicate why the job has stopped processing. For
-- example, if the output device is stopped, the
-- deviceStopped value MAY be included in the job's
-- jmJobStateReasons1 object.
--
-- NOTE - When an output device is stopped, the
Job Monitoring MIB, V0.82 June 9, 1997
-- device usually indicate its condition in human The job's jmJobStateReasons1 object and/or the job's
-- readable form locally at the device. The jobStateReasonsN (N=2..4) attributes MAY indicate why the
-- management application can obtain more complete job has stopped processing. For example, if the output
-- device status remotely by querying the appropriate Job Monitoring MIB, V0.83 July 14, 1997
-- device MIB using the job's deviceIndex
-- attribute(s), if the agent implements such a device is stopped, the deviceStopped value MAY be included
-- device MIB in the job's jmJobStateReasons1 object.
NOTE - When an output device is stopped, the device usually
indicates its condition in human readable form at the
device. The management application can obtain more complete
device status remotely by querying the appropriate device
MIB using the job's deviceIndex attribute(s), if the agent
implements such a device MIB
canceled(7), canceled(7),
-- A client has canceled the job and the job is A client has canceled the job and the job is either: (1) in
-- either: (1) in the process of being terminated by the process of being terminated by the server or device or
-- the server or device or (2) has completed (2) has completed terminating. The job's jmJobStateReasons1
-- terminating. The job's jmJobStateReasons1 object object SHOULD contain either the canceledByUser or
-- SHOULD contain either the canceledByUser or canceledByOperator value.
-- canceledByOperator value.
aborted(8), aborted(8),
-- The job has been aborted by the system, usually The job has been aborted by the system, usually while the
-- while the job was in the processing or job was in the processing or processingStopped state.
-- processingStopped state.
completed(9) completed(9)
-- The job has completed successfully or with The job has completed successfully or with warnings or
-- warnings or errors after processing and all of the errors after processing and all of the media have been
-- media have been successfully stacked in the successfully stacked in the appropriate output bin(s). The
-- appropriate output bin(s). The job's job's jmJobStateReasons1 object SHOULD contain one of:
-- jmJobStateReasons1 object SHOULD contain one of: completedSuccessfully, completedWithWarnings, or
-- completedSuccessfully, completedWithWarnings, or completedWithErrors values."
-- completedWithErrors values. REFERENCE
"This is a type 2 enumeration. See Section 3.6.1.2."
SYNTAX INTEGER {
other(1),
unknown(2),
pending(3),
pendingHeld(4),
processing(5),
processingStopped(6),
canceled(7),
aborted(8),
completed(9)
} }
JmAttributeTypeTC ::= TEXTUAL-CONVENTION JmAttributeTypeTC ::= TEXTUAL-CONVENTION
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The type of the attribute which identifies the attribute. "The type of the attribute which identifies the attribute.
Some attributes represent information about a job, such as a Job Monitoring MIB, V0.83 July 14, 1997
file-name, or a document-name, or submission-time or completion
time. Other attributes represent resources required, e.g., a
medium or a colorant, etc. to process the job before the job
start processing OR to indicate the amount of the resource that
is being consumed while the job is processing, e.g., pages
completed or impressions completed. If both a required and a
consumed value of a resource is needed, this specification
assigns two separate attribute enums in the textual convention.
Job Monitoring MIB, V0.82 June 9, 1997 In the following definitions of the enums, each description
indicates whether the useful value of the attribute SHALL be
represented using the jmAttributeValueAsInteger or the
jmAttributeValueAsOctets objects by the initial tag: 'INTEGER:'
or 'OCTETS:', respectively.
Most attributes apply to all three configurations covered by Some attributes allow the agent implementer a choice of useful
this MIB specification (see section 3 on page 14). Those values of either an integer, an octets representation, or both,
attribute that apply to a particular configuration are indicated depending on implementation. These attributes are indicated
as 'Configuration n:'. with 'INTEGER:' AND/OR 'OCTETS:' tags.
Conformance of Attribute Implementation A very few attributes require both objects at the same time to
represent a pair of useful values (see mediumConsumed(171)).
These attributes are indicated with 'INTEGER:' AND 'OCTETS:'
tags. See the jmAttributeGroup for the descriptions of these
two MANDATORY objects.
A very few attributes are MANDATORY for conformance, and the NOTE - The enum assignments are grouped logically with values
rest are OPTIONAL. An agent SHALL instrument any MANDATORY assigned in groups of 20, so that additional values may be
attribute. If the server or device does not provide access to registered in the future and assigned a value that is part of
the information about the MANDATORY attribute, the agent SHALL their logical grouping.
return the 'unknown' value. For attributes represented by a
counting integer, the unknown value is (-2) and for attributes
represented by an enum, the unknown value is (2), as in the
Printer MIB[1]. For attributes represented by an OCTET STRING,
the unknown value is a zero-length string, unless specified
otherwise.
The MANDATORY attributes are: NOTE: No attribute name exceeds 31 characters.
jobOwner(20) In the following descriptions of each attribute, the tags:
'INTEGER:' or 'OCTETS:' specify whether the value SHALL be
represented in the jmAttributeValueAsInteger or the
jmAttributeValueAsOctets object, or both, respectively.
The attributes not labeled as MANDATORY are OPTIONAL. An agent The standard attribute types defined so far are:
MAY, but NEED NOT, implement any OPTIONAL attributes.
NOTE - The table of contents lists all the attributes in order jmAttributeTypeIndex Datatype
to help see the order of enum assignments which is the order -------------------- --------
that the GetNext operation can be used to get attributes. The
table of contents also indicates the MANDATORY attributes as:
(MANDATORY).
NOTE - The enum assignments are grouped logically with values other(1), Integer32(-2..2147483647)
assigned in groups of 20, so that additional values may be AND/OR
registered in the future and assigned a value that is part of OCTET STRING(SIZE(0..63))
their logical grouping. INTEGER: and/or OCTETS: An attribute that is not in the
list and/or that has not been approved and registered with
IANA.
Datatypes and Attribute Naming Conventions +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ Job State attributes
+
+ The following attributes specify the state of a job.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Job Monitoring MIB, V0.83 July 14, 1997
The datatype of each attribute is indicated on the first line(s) jobStateReasons2(3), JmJobStateReasons2TC
of the description. Some attributes have several different data INTEGER: Additional information about the job's current
type representations. When the data types can be represented in state that augments the jmJobState object. See the
a single row in the jmAttributeTable, the data type name is not description under the JmJobStateReasons1TC textual-
included as the last part of the name of the attribute. When convention.
the data types cannot be represented by a single row in the
jmAttributeTable, each such representation is considered a
separate attribute and is assigned a separate name and enum
value. For these attributes, the name of the datatype is the
Job Monitoring MIB, V0.82 June 9, 1997
last part of the name of the attribute: Name, Index, jobStateReasons3(4), JmJobStateReasons3TC
DateAndTime, TimeStamp, etc. INTEGER: Additional information about the job's current
state that augments the jmJobState object. See the
description under JmJobStateReasons1TC textual-convention.
NOTE: No attribute name exceeds 31 characters. jobStateReasons4(5), JmJobStateReasons4TC
INTEGER: Additional information about the job's current
state that augments the jmJobState object. See the
description under JmJobStateReasons1TC textual-convention.
Single-Value (Row) Versus Multi-Value (MULTI-ROW) Attributes processingMessage(6), OCTET STRING(SIZE(0..63))
OCTETS: MULTI-ROW: A coded character set message that is
generated during the processing of the job as a simple form
of processing log to show progress and any problems.
Most attributes SHALL have only one row per job. However, a few There is no restriction for the same message to occur in
attributes can have multiple values per job or even per multiple rows.
document, where each value is a separate row in the
jmAttributeTable. Unless indicated with 'MULTI-ROW:' in
JmAttributeTypeTC, an agent SHALL ensure that each attribute
item occurs only once in the jmAttributeTable for a job.
Attributes that are permitted to appear multiple times in the
jmAttributeTable for a job are indicated with 'MULTI-ROW:' in
their specification in the JmAttributeTypeTC. However, such
'MULTI-ROW' attribute items SHALL not contain duplicates for
'intensive' (as opposed to 'extensive') attributes.
For example, a job or document(s) may use multiple PDLs. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
However, each distinct documentFormat attribute value + Job Identification attributes
SHALL appear in the jmAttributeTable only once for a job +
since the interpreter language is an intensive attribute + The following attributes help an end user, a system
item, even though the job has a number of documents that + operator, or an accounting program identify a job.
all use the same PDL. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
As another example of an intensive attribute that can jobAccountName(21), OCTET STRING(SIZE(0..63))
have multiple entries, if a document or job uses OCTETS: Arbitrary binary information which MAY be coded
multiple types of media, there SHALL be only one row in character set data or encrypted data supplied by the
the jmAttributeTable for each media type, not one row submitting user for use by accounting services to allocate
for each document that uses that medium type. or categorize charges for services provided, such as a
customer account name or number.
On the other hand, if a job contains two documents of NOTE: This attribute NEED NOT be printable characters.
the same name, there can be separate rows for the
documentName attribute item with the same name, since a
document name is an extensive attribute item. The
specification indicates that the values NEED NOT be
unique for such 'MULTI-ROW: attributes'
Value Represented As Integer Or Octets serverAssignedJobName(22), OCTET STRING(SIZE(0..63))
OCTETS: Configuration 3 only: The human readable string
name, number, or ID of the job as assigned by the server
Job Monitoring MIB, V0.83 July 14, 1997
In the following definitions of the enums, each description that submitted the job to the device that the agent is
indicates whether the value of the attribute SHALL be providing access to with this MIB.
represented using the jmAttributeValueAsInteger or the
jmAttributeValueAsOctets objects by the initial tag: 'INTEGER:'
or 'OCTETS:', respectively. Some attributes allow the agent a
choice of either an integer and/or an octets representation,
depending on implementation. These attributes are indicated
Job Monitoring MIB, V0.82 June 9, 1997
with 'INTEGER:' and/or 'OCTETS:' tags. A very few attributes NOTE - This attribute is intended for enabling a user to
require both objects at the same time to represent a pair of find his/her job that a server submitted to a device when
values (see mediumConsumed(171)). These attributes are either the client does not support the jmJobSubmissionID or
indicated with 'INTEGER:' and/or 'OCTETS:' tags. See the the server does not pass the jmJobSubmissionID through to
jmAttributeGroup starting on page 81 for the descriptions of the device.
these objects.
Consumption Attributes jobName(23), OCTET STRING(SIZE(0..63))
OCTETS: The human readable string name of the job as
assigned by the submitting user to help the user distinguish
between his/her various jobs. This name does not need to be
unique.
A number of attributes record consumption. Such attribute names This attribute is intended for enabling a user or the user's
end with the word 'Completed' or 'Consumed'. If the job has not application to convey a job name that MAY be printed on a
yet consumed what that resource is metering, the agent either: start sheet, returned in a query result, or used in
(1) SHALL return the value 0 or (2) SHALL not add this attribute notification or logging messages.
to the jmAttributeTable until the consumption begins. In the
interests of brevity, the semantics for 0 is specified once here
and is not repeated for each xxxxYyyyCompleted and
xxxxYyyyConsumed attribute specification.
Index Value Attributes In order to assist users to find their jobs for job
submission protocols that don't supply a jmJobSubmissionID,
the agent SHOULD maintain the jobName attribute for the time
specified by the jmGeneralJobPersistence object, rather than
the (shorter) jmGeneralAttributePersistence object.
A number of attributes are indexes in other tables. Such If this attribute is not specified when the job is
attribute names end with the word 'Index'. If the agent does submitted, no job name is assumed, but implementation
not (yet) know the index value for a particular index attribute specific defaults are allowed, such as the value of the
for a job, the agent either: (1) SHALL return the value 0 or (2) documentName attribute of the first document in the job or
SHALL not add this attribute to the jmAttributeTable until the the fileName attribute of the first document in the job.
index value is known. In the interests of brevity, the
semantics for 0 is specified once here and is not repeated for
each index attribute specification.
The standard attribute types defined so far are:" The jobName attribute is distinguished from the jobComment
attribute, in that the jobName attribute is intended to
permit the submitting user to distinguish between different
jobs that he/she has submitted. The jobComment attribute is
intended to be free form additional information that a user
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.
-- This is a type 2 enumeration. See Section 7.1 on page 22. jobServiceTypes(24), JmJobServiceTypesTC
SYNTAX INTEGER { INTEGER: Specifies the type(s) of service to which the job
-- jmAttributeTypeIndex Datatype has been submitted (print, fax, scan, etc.). The service
-- Description - including 'OCTETS:' or 'INTEGER:' to type is bit encoded with each job service type so that more
-- specify whether the value SHALL be represented in the general and arbitrary services can be created, such as
-- jmAttributeValueAsOctets or the jmAttributeValueAsInteger services with more than one destination type, or ones with
-- object, or both, respectively. Job Monitoring MIB, V0.83 July 14, 1997
other(1), -- Integer32(-2..2147483647) only a source or only a destination. For example, a job
-- AND/OR service might scan, faxOut, and print a single job. In this
-- OCTET STRING(SIZE(0..63)) case, three bits would be set in the jobServiceTypes
-- INTEGER: and/or OCTETS: An attribute that is not in attribute, corresponding to the hexadecimal values: 0x8 +
-- the list and/or that has not been approved and registered 0x20 + 0x4, respectively, yielding: 0x2C.
-- with IANA.
unknown(2), -- Integer32(-2..2147483647) Whether this attribute is set from a job attribute supplied
Job Monitoring MIB, V0.82 June 9, 1997 by the job submission client or is set by the recipient job
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.
-- OR One of the purposes of this attribute is to permit a
-- OCTET STRING(SIZE(0..63)) requester to filter out jobs that are not of interest. For
-- INTEGER: or OCTETS: An attribute whose semantics are example, a printer operator may only be interested in jobs
-- not known to the agent. that include printing.
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ jobSourceChannelIndex(25), Integer32(0..2147483647)
-- Job State attributes INTEGER: The index of the row in the associated Printer
-- MIB[print-mib] of the channel which is the source of the
-- The following attributes specify the state of a job. print job.
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
jobStateReasons2(3), -- JmJobStateReasons2TC (pg 62) jobSourcePlatformType(26), JmJobSourcePlatformTypeTC
-- INTEGER: Additional information about the job's current INTEGER: The source platform type of the immediate upstream
-- state that augments the jmJobState object. See the submitter that submitted the job to the server
-- description under the JmJobStateReasons1TC textual- (configuration 2) or device (configuration 1 and 3) to which
-- convention on page 59. the agent is providing access. For configuration 1, this is
the type of the client that submitted the job to the device;
for configuration 2, this is the type of the client that
submitted the job to the server; and for configuration 3,
this is the type of the server that submitted the job to the
device.
jobStateReasons3(4), -- JmJobStateReasons3TC (pg 66) submittingServerName(27), OCTET STRING(SIZE(0..63))
-- INTEGER: Additional information about the job's current OCTETS: For configuration 3 only: The administrative name
-- state that augments the jmJobState object. See the of the server that submitted the job to the device.
-- description under JmJobStateReasons1TC textual-convention
-- on page 59.
jobStateReasons4(5), -- JmJobStateReasons4TC (pg 67) submittingApplicationName(28), OCTET STRING(SIZE(0..63))
-- INTEGER: Additional information about the job's current OCTETS: The name of the client application (not the server
-- state that augments the jmJobState object. See the in configuration 3) that submitted the job to the server or
-- description under JmJobStateReasons1TC textual-convention device.
-- on page 59.
deviceAlertCode(6), -- PrtAlertCodeTC (Printer-MIB) jobOriginatingHost(29), OCTET STRING(SIZE(0..63))
-- INTEGER: The device alert code when the job is stopped OCTETS: The name of the client host (not the server host
-- because the device needs attention, i.e., needs human name in configuration 3) that submitted the job to the
-- intervention. When the device is a printer, this device server or device.
-- alert code SHALL be the printer alert code defined by the
-- Printer MIB[1] using the PrtAlertCodeTC textual
-- convention or equivalent.
processingMessage(7), -- OCTET STRING(SIZE(0..63)) Job Monitoring MIB, V0.83 July 14, 1997
-- OCTETS: MULTI-ROW: A coded character set message that
Job Monitoring MIB, V0.82 June 9, 1997
-- is generated during the processing of the job as a simple deviceNameRequested(30), OCTET STRING(SIZE(0..63))
-- form of processing log to show progress and any problems. OCTETS: The administratively defined coded character set
-- name of the target device requested by the submitting user.
-- There is no restriction on the same message in multiple For configuration 1, its value corresponds to the Printer
-- rows. 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.
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ queueNameRequested(31), OCTET STRING(SIZE(0..63))
-- Job Identification attributes OCTETS: The administratively defined coded character set
-- name of the target queue requested by the submitting user.
-- The following attributes help an end user, a system For configuration 1, its value corresponds to the queue in
-- operator, or an accounting program identify a job. 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.
jobOwner(20), -- OCTET STRING(SIZE(0..63)) NOTE - typically an implementation SHOULD support either the
-- (MANDATORY) deviceNameRequested or queueNameRequested attribute, but not
-- OCTETS: The coded character set name of the user that both.
-- submitted the job. The method of assigning this user
-- name will be system and/or site specific but the method
-- must insure that the name is unique to the network that
-- is visible to the client and target device.
--
-- This value SHOULD be the authenticated name of the user
-- submitting the job.
--
-- In order to assist users to find their jobs for job
-- submission protocols that don't supply a
-- jmJobSubmissionID, the agent SHOULD maintain the jobOwner
-- attribute for the time specified by the
-- jmGeneralJobPersistence object, rather than the (shorter)
-- jmGeneralAttributePersistence object.
jobAccountName(21), -- OCTET STRING(SIZE(0..63)) physicalDevice(32), hrDeviceIndex (see HR MIB)
-- OCTETS: Arbitrary binary information which MAY be coded AND/OR
-- character set data or encrypted data supplied by the OCTET STRING(SIZE(0..63))
-- submitting user for use by accounting services to INTEGER: MULTI-ROW: The index of the physical device MIB
-- allocate or categorize charges for services provided, instance requested/used, such as the Printer MIB[print-mib].
-- such as a customer account name. This value is an hrDeviceIndex value. See the Host
-- Resources MIB[hr-mib].
-- NOTE: This attribute NEED NOT be printable characters.
serverAssignedJobName(22), -- OCTET STRING(SIZE(0..63)) AND/OR
-- OCTETS: Configuration 3 only: The human readable string
-- name of the job as assigned by the server that submitted
-- the job to the device that the agent in instrumenting
-- with this MIB.
--
-- NOTE - This attribute is intended for enabling a user to
Job Monitoring MIB, V0.82 June 9, 1997
-- find his/her job that a server submitted to a device OCTETS: MULTI-ROW: The name of the physical device to
-- after the user submitted the job to the server when the which the job is assigned.
-- jmJobSubmissionID is not supported by the job submission
-- protocol.
jobName(23), -- OCTET STRING(SIZE(0..63)) numberOfDocuments(33), Integer32(-2..2147483647)
-- OCTETS: The human readable string name of the job as INTEGER: The number of documents in this job.
-- assigned by the submitting user to help the user
-- distinguish 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 application to convey a job name that MAY be
-- printed on a start sheet, returned in a query result, or
-- used in notification or logging messages.
--
-- In order to assist users to find their jobs for job
-- submission protocols that don't supply a
-- jmJobSubmissionID, the agent SHOULD maintain the jobName
-- attribute for the time specified by the
-- jmGeneralJobPersistence object, rather than the (shorter)
-- jmGeneralAttributePersistence object.
--
-- If this attribute is not specified when the job is
-- 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.
--
-- The jobName attribute is distinguished from the
-- jobComment attribute, in that the jobName attribute is
-- intended to permit the submitting user to distinguish
-- between different jobs that he/she has submitted. The
-- jobComment attribute is intended to be free form
-- additional information that a user 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 (pg 57) fileName(34), OCTET STRING(SIZE(0..63))
-- INTEGER: Specifies the type(s) of service to which the OCTETS: MULTI-ROW: The coded character set file name or
-- job has been submitted (print, fax, scan, etc.). The URI[URI-spec] of the document.
-- 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
Job Monitoring MIB, V0.82 June 9, 1997
-- example, a job service might scan, faxOut, and print a There is no restriction on the same file name in multiple
-- single job. In this case, three bits would be set in the rows.
-- jobServiceTypes attribute, corresponding to the
-- hexadecimal values: 0x8 + 0x20 + 0x4, respectively,
-- yielding: 0x2C.
--
-- Whether this attribute is set from a job attribute
-- supplied by the job submission client or is set by the
-- recipient job 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.
--
-- One of the purposes of this attribute is to permit a
-- requester to filter out jobs that are not of interest.
-- For example, a printer operator may only be interested in
-- jobs that include printing. That is why this attribute
-- is in the job identification category.
jobSourceChannelIndex(25), -- Integer32(0..2147483647) Job Monitoring MIB, V0.83 July 14, 1997
-- INTEGER: The index of the row in the associated Printer
-- MIB[1] of the channel which is the source of the print
-- job.
--
-- NOTE - the Job Monitoring MIB points to the Channel row
-- in the Printer MIB[1], so there is no need for a port
-- attribute in the Job Monitoring MIB, since the PWG is
-- adding a prtChannelInformation object to the Channel
-- table of the draft Printer MIB.
jobSourcePlatformType(26), -- JmJobSourcePlatformTypeTC documentName(35), OCTET STRING(SIZE(0..63))
-- (pg 27) OCTETS: MULTI-ROW: The coded character set name of the
-- INTEGER: The source platform type of the immediate document.
-- upstream submitter that submitted the job to the server
-- (configuration 2) or device (configuration 1 and 3) that
-- the agent is instrumenting. For configuration 1, this is
-- the type of the client that submitted the job to the
-- device; for configuration 2, this is the type of the
-- client that submitted the job to the server; and for
-- configuration 3, this is the type of the server that
-- submitted the job to the device.
submittingServerName(27), -- OCTET STRING(SIZE(0..63)) There is no restriction on the same document name in
-- OCTETS: For configuration 3 only: The administrative multiple rows.
-- name of the server that submitted the job to the device.
submittingApplicationName(28), -- OCTET STRING(SIZE(0..63)) jobComment(36), OCTET STRING(SIZE(0..63))
-- OCTETS: The name of the client application (not the OCTETS: An arbitrary human-readable coded character text
Job Monitoring MIB, V0.82 June 9, 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.
-- server in configuration 3) that submitted the job to the The jobComment attribute is not intended to be a name; see
-- server or device. the jobName attribute.
jobOriginatingHost(29), -- OCTET STRING(SIZE(0..63)) documentFormatIndex(37), Integer32(0..2147483647)
-- OCTETS: The name of the client host (not the server host INTEGER: MULTI-ROW: The index in the prtInterpreterTable
-- name in configuration 3) that submitted the job to the in the Printer MIB[print-mib] of the page description
-- server or device. 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.
deviceNameRequested(30), -- OCTET STRING(SIZE(0..63)) NOTE - As with all intensive attributes where multiple rows
-- OCTETS: The administratively defined coded character set are allowed, there SHALL be only one distinct row for each
-- name of the target device requested by the submitting distinct interpreter; there SHALL be no duplicates.
-- user. For configuration 1, its value corresponds to the
-- Printer MIB[1]: prtGeneralPrinterName object (added to
-- the draft Printer MIB) for printers. 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.
queueNameRequested(31), -- OCTET STRING(SIZE(0..63)) NOTE - This attribute type is intended to be used with an
-- OCTETS: The administratively defined coded character set agent that implements the Printer MIB and SHALL not be used
-- name of the target queue requested by the submitting if the agent does not implement the Printer MIB. Such an
-- user. For configuration 1, its value corresponds to the agent SHALL use the documentFormat attribute instead.
-- queue in the device that the agent is instrumenting. 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 deviceNameRequested or queueNameRequested attribute,
-- but not both.
physicalDevice(32), -- hrDeviceIndex (see HR MIB) documentFormat(38), PrtInterpreterLangFamilyTC
-- AND/OR AND/OR
-- OCTET STRING(SIZE(0..63)) OCTET STRING(SIZE(0..63))
-- INTEGER: MULTI-ROW: The index of the physical device INTEGER: MULTI-ROW: The interpreter language family
-- MIB instance requested/used, such as the Printer MIB[1]. corresponding to the Printer MIB[print-mib]
-- This value is an hrDeviceIndex value. See the Host prtInterpreterLangFamily object, that this job
-- Resources MIB[6]. requires/uses. A document or a job MAY use more than one
-- AND/OR PDL or control language.
-- OCTETS: MULTI-ROW: The name of the physical device to
-- which the job is assigned.
numberOfDocuments(33), -- Integer32(0..2147483647) AND/OR
-- INTEGER: The number of documents in this job. If this
-- attribute is not present, the number of documents SHALL
-- be 1.
Job Monitoring MIB, V0.82 June 9, 1997 OCTETS: MULTI-ROW: The document format registered as a
media type[iana-media-types], i.e., the name of the MIME
Job Monitoring MIB, V0.83 July 14, 1997
fileName(34), -- OCTET STRING(SIZE(0..63)) content-type/subtype. Examples: 'application/postscript',
-- OCTETS: MULTI-ROW: The coded character set file name of 'application/vnd.hp-PCL', and 'application/pdf'
-- the document.
--
-- There is no restriction on the same file name in multiple
-- rows.
documentName(35), -- OCTET STRING(SIZE(0..63)) +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- OCTETS: MULTI-ROW: The coded character set name of the + Job Parameter attributes
-- document. +
-- + The following attributes represent input parameters
-- There is no restriction on the same document name in + supplied by the submitting client in the job submission
-- multiple rows. + protocol.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
jobComment(36), -- OCTET STRING(SIZE(0..63)) jobPriority(50), Integer32(1..100)
-- OCTETS: An arbitrary human-readable coded character text INTEGER: The priority for scheduling the job. It is used by
-- string supplied by the submitting user or the job servers and devices that employ a priority-based scheduling
-- submitting application program for any purpose. For algorithm.
-- 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 the jobName attribute.
documentFormatIndex(37), -- Integer32(0..2147483647) A higher value specifies a higher priority. The value 1 is
-- INTEGER: MULTI-ROW: The index in the defined to indicate the lowest possible priority (a job
-- prtInterpreterTable in the Printer MIB[1] of the page which a priority-based scheduling algorithm SHALL pass over
-- description language (PDL) or control language in favor of higher priority jobs). The value 100 is defined
-- interpreter that this job requires/uses. A document or a to indicate the highest possible priority. Priority is
-- job MAY use more than one PDL or control language. expected to be evenly or 'normally' distributed across this
-- range. The mapping of vendor-defined priority over this
-- NOTE - As with all intensive attribute items where range is implementation-specific.
-- multiple rows are allowed, there SHALL be only one
-- distinct row for each distinct interpreter; there SHALL
-- be no duplicates.
--
-- NOTE - This attribute type is intended to be used with an
-- agent that implements the Printer MIB and SHALL not be
-- used if the agent does not implement the Printer MIB.
-- Such an agent SHALL use the documentFormat attribute
-- instead.
documentFormat(38), -- PrtInterpreterLangFamilyTC jobProcessAfterDateAndTime(51), DateAndTime (SNMPv2-TC)
-- AND/OR OCTETS: The calendar date and time of day after which the
-- OCTET STRING(SIZE(0..63)) job SHALL become a candidate to be scheduled for processing.
-- INTEGER: MULTI-ROW: The interpreter language family If the value of this attribute is in the future, the server
Job Monitoring MIB, V0.82 June 9, 1997 SHALL set the value of the job's jmJobState object to
pendingHeld and add the jobProcessAfterSpecified bit value
to the job's jmJobStateReasons1 object. When the specified
date and time arrives, the server SHALL remove the
jobProcessAfterSpecified bit value from the job's
jmJobStateReasons1 object and, if no other reasons remain,
SHALL change the job's jmJobState object to pending.
-- corresponding to the Printer MIB[1] jobHold(52), JmBooleanTC
-- prtInterpreterLangFamily object, that this job INTEGER: If the value is 'true(4)', a client has explicitly
-- requires/uses. A document or a job MAY use more than one specified that the job is to be held until explicitly
-- PDL or control language. released. Until the job is explicitly released by a client,
-- the job SHALL be in the pendingHeld state with the
-- NOTE - This attribute is represented by a type 2 enum jobHoldSpecified value in the jmJobStateReasons1 attribute.
-- defined in the draft Printer MIB[1], but is not in RFC
-- 1759.
--
-- AND/OR
--
-- OCTETS: MULTI-ROW: The document format registered as a
-- MIME type, i.e., the name of the MIME type.
--
-- NOTE - IPP[3] uses MIME type keywords to identify
-- document formats.
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ jobHoldUntil(53), OCTET STRING(SIZE(0..63))
-- Job Parameter attributes OCTETS: The named time period during which the job SHALL
-- become a candidate for processing, such as 'no-hold',
-- The following attributes represent input parameters Job Monitoring MIB, V0.83 July 14, 1997
-- supplied by the submitting client in the job submission
-- protocol.
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
jobPriority(50), -- Integer32(1..100) 'evening', 'night', 'weekend', 'second-shift', 'third-
-- INTEGER: The priority for scheduling the job. It is used shift', etc., as defined by the system administrator. Until
-- by servers and devices that employ a priority-based that time period arrives, the job SHALL be in the
-- scheduling algorithm. pendingHeld state with the jobHoldUntilSpecified value in
-- the jmJobStateReasons1 object.
-- A higher value specifies a higher priority. The value 1
-- is defined to indicate the lowest possible priority (a
-- job which a priority-based scheduling algorithm SHALL
-- pass over in favor of higher priority jobs). The value
-- 100 is defined to indicate the highest possible priority.
-- Priority is expected to be evenly or 'normally'
-- distributed across this range. The mapping of vendor-
-- defined priority over this range is implementation-
-- specific.
jobProcessAfterDateAndTime(51), -- DateAndTime (SNMPv2-TC) outputBin(54), Integer32(0..2147483647)
-- INTEGER: The calendar date and time of day after which AND/OR
-- the job SHALL become a candidate to be scheduled for OCTET STRING(SIZE(0..63))
-- processing. If the value of this attribute is in the INTEGER: MULTI-ROW: The output subunit index in the
-- future, the server SHALL set the value of the job's Printer MIB[print-mib]
-- jmJobState object to pendingHeld and add the
-- jobProcessAfterSpecified bit value to the job's
Job Monitoring MIB, V0.82 June 9, 1997
-- jmJobStateReasons1 object and SHALL not schedule the job AND/OR
-- for processing until the specified date and time has
-- passed. When the specified date and time arrives, the
-- server SHALL remove the jobProcessAfterSpecified bit
-- value from the job's jmJobStateReasons1 object and, if no
-- other reasons remain, SHALL change the job's jmJobState
-- object to pending so that the job becomes a candidate for
-- being scheduled on devices(s).
--
-- The agent SHALL assign an empty value to the
-- jobProcessAfterDateAndTime attribute when no process
-- after time has been specified, so that the job SHALL be a
-- candidate for processing immediately.
--
jobHold(52), -- Integer32(0..1)
-- INTEGER: If the value is 1, a client has explicitly
-- specified that the job is to be held until explicitly
-- released. Until the job is explicitly released by a
-- client, the job SHALL be in the pendingHeld state with
-- the jobHoldSpecified value in the jmJobStateReasons1
-- attribute.
jobHoldUntil(53), -- OCTET STRING(SIZE(0..63)) OCTETS: the name or number (represented as ASCII digits) of
-- OCTETS: The named time period during which the job SHALL the output bin to which all or part of the job is placed in.
-- become a candidate for processing, such as 'no-hold',
-- 'evening', 'night', 'weekend', 'second-shift', 'third-
-- shift', etc., as defined by the system administrator.
-- Until that time period arrives, the job SHALL be in the
-- pendingHeld state with the jobHoldUntilSpecified value in
-- the jmJobStateReasons1 object.
outputBin(54), -- Integer32(0..2147483647) sides(55), Integer32(-2..2)
-- AND/OR INTEGER: MULTI-ROW: The number of sides, '1' or '2', that
-- OCTET STRING(SIZE(0..63)) any document in this job requires/used.
-- INTEGER: MULTI-ROW: The output subunit index in the
-- Printer MIB[1]
-- AND/OR
-- OCTETS: the name of the output bin to which all or part
-- of the job is placed in.
sides(55), -- Integer32(-2..1) finishing(56), JmFinishingTC
-- INTEGER: MULTI-ROW: The number of sides that any INTEGER: MULTI-ROW: Type of finishing that any document in
-- document in this job requires/used. this job requires/used.
finishing(56), -- JmFinishingTC (pg 28) +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- INTEGER: MULTI-ROW: Type of finishing that any document + Image Quality attributes (requested and consumed)
Job Monitoring MIB, V0.82 June 9, 1997 +
+ For devices that can vary the image quality.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- in this job requires/used. printQualityRequested(70), JmPrintQualityTC
INTEGER: MULTI-ROW: The print quality selection requested
for a document in the job for printers that allow quality
differentiation.
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ printQualityUsed(71), JmPrintQualityTC
-- Image Quality attributes (requested and consumed) INTEGER: MULTI-ROW: The print quality selection actually
-- used by a document in the job for printers that allow
-- For devices that can vary the image quality. quality differentiation.
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
printQualityRequested(70), -- JmPrintQualityTC (pg 29) printerResolutionRequested(72), JmPrinterResolutionTC
-- INTEGER: MULTI-ROW: The print quality selection INTEGER: MULTI-ROW: The printer resolution requested for a
-- requested for document in the job for printers that allow document in the job for printers that support resolution
-- quality differentiation. selection.
printQualityUsed(71), -- JmPrintQualityTC (pg 29) Job Monitoring MIB, V0.83 July 14, 1997
-- INTEGER: MULTI-ROW: The print quality selection
-- actually used by documents in the job for printers that
-- allow quality differentiation.
printerResolutionRequested(72), -- JmPrinterResolutionTC printerResolutionUsed(73), JmPrinterResolutionTC
-- (pg 30) INTEGER: MULTI-ROW: The printer resolution actually used
-- INTEGER: MULTI-ROW: The print quality selection by a document in the job for printers that support
-- requested for document in the job for printers that allow resolution selection.
-- quality differentiation.
printerResolutionUsed(73), -- JmPrinterResolutionTC tonerEcomonyRequested(74), JmTonerEconomyTC
-- (pg 30) INTEGER: MULTI-ROW: The print quality selection requested
-- INTEGER: MULTI-ROW: The print quality selection for documents in the job for printers that allow toner
-- actually used by documents in the job for printers that quality differentiation.
-- allow quality differentiation.
tonerEcomonyRequested(74), -- JmTonerEconomyTC (pg 31) tonerEcomonyUsed(75), JmTonerEconomyTC
-- INTEGER: MULTI-ROW: The print quality selection INTEGER: MULTI-ROW: The print quality selection actually
-- requested for documents in the job for printers that used by documents in the job for printers that allow toner
-- allow toner quality differentiation. quality differentiation.
tonerEcomonyUsed(75), -- JmTonerEconomyTC (pg 31) tonerDensityRequested(76), Integer32(-2..100)
-- INTEGER: MULTI-ROW: The print quality selection INTEGER: MULTI-ROW: The toner density requested for a
-- actually used by documents in the job for printers that document in this job for devices that can vary toner density
-- allow toner quality differentiation. 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.
tonerDensityRequested(76), -- Integer32(1..20) tonerDensityUsed(77), Integer32(-2..100)
-- INTEGER: MULTI-ROW: The toner density requested for INTEGER: MULTI-ROW: The toner density used by documents in
-- documents in this job for devices that can vary toner this job for devices that can vary toner density levels.
-- density levels. Level 1 is the lowest density and level Level 1 is the lowest density and level 100 is the highest
-- 20 is the highest density level. Devices with a smaller density level. Devices with a smaller range, SHALL map the
-- range, SHALL map the 1-20 range evenly onto the 1-100 range evenly onto the implemented range.
-- implemented range.
Job Monitoring MIB, V0.82 June 9, 1997 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ Job Progress attributes (requested and consumed)
+
+ Pairs of these attributes can be used by monitoring
+ applications to show an indication of relative progress
+ to users.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tonerDensityUsed(77), -- Integer32(1..20) jobCopiesRequested(90), Integer32(-2..2147483647)
-- INTEGER: MULTI-ROW: The toner density used by documents INTEGER: The number of copies of the entire job that are to
-- in this job for devices that can vary toner density be produced.
-- levels. Level 1 is the lowest density and level 20 is
-- the highest density level. Devices with a smaller range,
-- SHALL map the 1-20 range evenly onto the implemented
-- range.
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ jobCopiesCompleted(91), Integer32(-2..2147483647)
-- Job Progress attributes (requested and consumed) INTEGER: The number of copies of the entire job that have
-- been completed so far.
-- Pairs of these attributes can be used by monitoring
-- applications to show 'thermometers' of progress to users.
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
jobCopiesRequested(90), -- Integer32(-2..2147483647) documentCopiesRequested(92), Integer32(-2..2147483647)
-- INTEGER: The number of copies of the entire job that are INTEGER: The total count of the number of document copies
-- to be produced. Job Monitoring MIB, V0.83 July 14, 1997
jobCopiesCompleted(91), -- Integer32(-2..2147483647) requested. If there are documents A, B, and C, and document
-- INTEGER: The number of copies of the entire job that B is specified to produce 4 copies, the number of document
-- have been completed so far. copies requested is 6 for the job.
documentCopiesRequested(92), -- Integer32(-2..2147483647) This attribute SHALL be used only when a job has multiple
-- INTEGER: The total count of the number of document documents. The jobCopiesRequested attribute SHALL be used
-- copies requested. If there are documents A, B, and C, when the job has only one document.
-- and document B is specified to produce 4 copies, the
-- number of document copies requested is 6 for the job.
--
-- This attribute SHALL be used only when a job has multiple
-- documents. The jobCopiesRequested attribute SHALL be
-- used 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 INTEGER: The total count of the number of document copies
-- copies completed so far for the job as a whole. If there completed so far for the job as a whole. If there are
-- 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 produce 4 copies, the number of document copies starts a 0
-- 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
-- documents. The jobCopiesCompleted attribute SHALL be
-- used when the job has only one document.
Job Monitoring MIB, V0.82 June 9, 1997 This attribute SHALL be used only when a job has multiple
documents. The jobCopiesCompleted attribute SHALL be used
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 INTEGER: The number of K (1024) octets transferred to the
-- the server or device that the agent is instrumenting. server or device to which the agent is providing access.
-- This count is independent of the number of copies of the This count is independent of the number of copies of the job
-- job or documents that will be produced, but is just a or documents that will be produced, but it is only a measure
-- measure of the number of bytes transferred to the server of the number of bytes transferred to the server or device.
-- or device.
--
-- The agent SHALL round the actual number of octets
-- transferred up to the next higher K. Thus 0 octets SHALL
-- be represented as 0, 1-1024 octets SHALL BE represented
-- as 1, 1025-2048 SHALL be 2, etc. When the job completes,
-- the values of the jmJobKOctetsRequested object and the
-- jobKOctetsTransferred attribute SHALL be equal.
--
-- NOTE - The jobKOctetsTransferred can be used in the
-- numerator with the jmJobKOctetsRequested object in the
-- denominator in order to produce a "thermometer" that
-- indicates the progress of the job for agents that do not
-- implement the jmJobKOctetsProcessed object.
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ The agent SHALL round the actual number of octets
-- Impression attributes transferred up to the next higher K. Thus 0 octets SHALL be
-- represented as '0', 1-1024 octets SHALL BE represented as
-- For a print job, an impression is the marking of the '1', 1025-2048 SHALL be '2', etc. When the job completes,
-- entire side of a sheet. Two-sided processing involves two the values of the jmJobKOctetsRequested object and the
-- impressions per sheet. Two-up is the placement of two jobKOctetsTransferred attribute SHALL be equal.
-- logical pages on one side of a sheet and so is still a
-- single impression. See also jmJobImpressionsRequested and
-- jmJobImpressionsCompleted objects in the jmJobTable on page
-- 80.
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
impressionsSpooled(110), -- Integer32(-2..2147483647) NOTE - The jobKOctetsTransferred can be used with the
-- INTEGER: The number of impressions spooled to the server jmJobKOctetsRequested object in order to produce a relative
-- or device for the job so far. indication of the progress of the job for agents that do not
implement the jmJobKOctetsProcessed object.
impressionsSentToDevice(111), -- Integer32(-2..2147483647) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- INTEGER: The number of impressions sent to the device + Impression attributes
-- for the job so far. +
+ For a print job, an impression is the marking of the
+ entire side of a sheet. Two-sided processing involves two
+ impressions per sheet. Two-up is the placement of two
+ logical pages on one side of a sheet and so is still a
+ single impression. See also jmJobImpressionsRequested and
+ jmJobImpressionsCompleted objects in the jmJobTable.
impressionsInterpreted(112), -- Integer32(-2..2147483647) Job Monitoring MIB, V0.83 July 14, 1997
-- INTEGER: The number of impressions interpreted for the
-- job so far.
Job Monitoring MIB, V0.82 June 9, 1997 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
impressionsCompletedCurrentCopy(113), -- Integer32(-2.. impressionsSpooled(110), Integer32(-2..2147483647)
-- 2147483647) INTEGER: The number of impressions spooled to the server or
-- INTEGER: The number of impressions completed by the device for the job so far.
-- device for the current copy of the current document 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.
--
-- This value SHALL be reset to 0 for each document in the
-- job and for each document copy.
fullColorImpressionsCompleted(114), -- Integer32(-2.. impressionsSentToDevice(111), Integer32(-2..2147483647)
-- 2147483647) INTEGER: The number of impressions sent to the device for
-- INTEGER: The number of full color impressions completed the job so far.
-- 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. Full color impressions are
-- typically defined as those requiring 3 or more colorants,
-- but this MAY vary by implementation.
--
highlightColorImpressionsCompleted(115), -- Integer32(-2..
-- 2147483647)
-- 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.
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ impressionsInterpreted(112), Integer32(-2..2147483647)
-- Page attributes INTEGER: The number of impressions interpreted for the job
-- so far.
-- A page is a logical page. Number up can impose more than
-- one page on a single side of a sheet. Two-up is the
-- placement of two logical pages on one side of a sheet so
-- that each side counts as two pages.
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Job Monitoring MIB, V0.82 June 9, 1997
pagesRequested(130), -- Integer32(-2..2147483647) impressionsCompletedCurrentCopy(113), Integer32(-2..2147483647)
-- INTEGER: The number of logical pages requested by the INTEGER: The number of impressions completed by the device
-- job to be processed. for the current copy of the current document 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.
pagesCompleted(131), -- Integer32(-2..2147483647) This value SHALL be reset to 0 for each document in the job
-- INTEGER: The number of logical pages completed for this and for each document copy.
-- job so far.
pagesCompletedCurrentCopy(132), -- Integer32(-2..2147483647) fullColorImpressionsCompleted(114), Integer32(-2..2147483647)
-- INTEGER: The number of logical pages completed for the INTEGER: The number of full color impressions completed by
-- current copy of the document so far. This value SHALL be the device for this job so far. For printing, the
-- reset to 0 for each document in the job and for each impressions completed includes interpreting, marking, and
-- document copy. stacking the output. For other types of job services, the
number of impressions completed includes the number of
impressions processed. Full color impressions are typically
defined as those requiring 3 or more colorants, but this MAY
vary by implementation.
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ highlightColorImpressionsCompleted(115), Integer32(-2..
-- Sheet attributes 2147483647)
-- INTEGER: The number of highlight color impressions
-- The sheet is a single piece of a medium, whether printing completed by the device for this job so far. For printing,
-- on one or both sides. 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.
sheetsRequested(150), -- Integer32(-2..2147483647) +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- INTEGER: The number of medium sheets requested to be Job Monitoring MIB, V0.83 July 14, 1997
-- processed for this job.
sheetsCompleted(151), -- Integer32(-2..2147483647) + Page attributes
-- INTEGER: The number of medium sheets that have completed +
-- marking and stacking for the entire job so far whether + A page is a logical page. Number up can impose more than
-- those sheets have been processed on one side or on both. + one page on a single side of a sheet. Two-up is the
-- + placement of two logical pages on one side of a sheet so
sheetsCompletedCurrentCopy(152), -- Integer32(-2..2147483647) + that each side counts as two pages.
-- INTEGER: The number of medium sheets that have completed +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- marking and stacking for the current copy of a document
-- in the job so far whether those sheets have been
-- processed on one side or on both.
--
-- The value of this attribute SHALL be reset to 0 as each
-- document in the job starts being processed and for each
-- document copy as it starts being processed.
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ pagesRequested(130), Integer32(-2..2147483647)
-- Resources attributes (requested and consumed) INTEGER: The number of logical pages requested by the job
-- to be processed.
-- Pairs of these attributes can be used by monitoring
-- applications to show 'thermometers' of usage to users.
Job Monitoring MIB, V0.82 June 9, 1997 pagesCompleted(131), Integer32(-2..2147483647)
INTEGER: The number of logical pages completed for this job
so far.
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ pagesCompletedCurrentCopy(132), Integer32(-2..2147483647)
INTEGER: The number of logical pages completed for the
current copy of the document so far. This value SHALL be
reset to 0 for each document in the job and for each
document copy.
mediumRequested(170), -- JmMediumTypeTC (pg 31) +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- AND/OR + Sheet attributes
-- OCTET STRING(SIZE(0..63)) +
-- INTEGER: MULTI-ROW: The type + The sheet is a single piece of a medium, whether printing
-- AND/OR + on one or both sides.
-- OCTETS: the name of the medium that is required by the +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- job.
mediumConsumed(171), -- OCTET STRING(SIZE(0..63)) sheetsRequested(150), Integer32(-2..2147483647)
-- AND INTEGER: The number of medium sheets requested to be
-- Integer32(-2..2147483647) processed for this job.
-- OCTETS: MULTI-ROW: The name of the medium
-- AND
-- INTEGER: the number of sheets that have been consumed so
-- far whether those sheets have been processed on one side
-- or on both. This attribute SHALL have both values.
colorantRequested(172), -- Integer32(0..2147483647) sheetsCompleted(151), Integer32(-2..2147483647)
-- AND/OR INTEGER: The number of medium sheets that have completed
-- OCTET STRING(SIZE(0..63)) marking and stacking for the entire job so far whether those
-- INTEGER: MULTI-ROW: The index (prtMarkerColorantIndex) sheets have been processed on one side or on both.
-- in the Printer MIB[1]
-- AND/OR
-- OCTETS: the name of the colorant requested.
colorantConsumed(173), -- Integer32(0..2147483647) sheetsCompletedCurrentCopy(152), Integer32(-2..2147483647)
-- AND/OR INTEGER: The number of medium sheets that have completed
-- OCTET STRING(SIZE(0..63)) marking and stacking for the current copy of a document in
-- INTEGER: MULTI-ROW: The index (prtMarkerColorantIndex) the job so far whether those sheets have been processed on
-- in the Printer MIB[1] one side or on both.
-- AND/OR
-- OCTETS: the name of the colorant consumed.
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ The value of this attribute SHALL be reset to 0 as each
-- Time attributes (set by server or device) document in the job starts being processed and for each
-- document copy as it starts being processed.
-- 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.
Job Monitoring MIB, V0.82 June 9, 1997 Job Monitoring MIB, V0.83 July 14, 1997
-- See section 4.2 on page 19 and section 4.3 on page 20 for the ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- conformance requirements for agents and monitoring + Resources attributes (requested and consumed)
-- applications, respectively. The two forms are: +
-- + Pairs of these attributes can be used by monitoring
-- DateAndTime is an 8 or 11 octet binary encoded year, + applications to show an indication of relative usage to
-- month, day, hour, minute, second, deci-second with + users.
-- optional offset from UTC. See SNMPv2-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. See page 27.
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
jobSubmissionToServerTime(190), -- JmTimeStampTC (pg 27) mediumRequested(170), JmMediumTypeTC
-- AND/OR AND/OR
-- DateAndTime (SNMPv2-TC) OCTET STRING(SIZE(0..63))
-- INTEGER: Configuration 2 and 3: The time INTEGER: MULTI-ROW: The type
-- AND/OR AND/OR
-- OCTETS: the date and time that the job was submitted to OCTETS: the name of the medium that is required by the job.
-- the server.
jobSubmissionToDeviceTime(191), -- JmTimeStampTC (pg 27) mediumConsumed(171), Integer32(-2..2147483647)
-- AND/OR AND
-- DateAndTime (SNMPv2-TC) OCTET STRING(SIZE(0..63))
-- INTEGER: Configuration 1 and 3: The time INTEGER: The number of sheets
-- AND/OR AND
-- OCTETS: the date and time that the job was submitted to OCTETS: MULTI-ROW: the name of the medium that have been
-- the device. consumed so far whether those sheets have been processed on
one side or on both.
timeSinceJobWasSubmittedToDevice(192), -- Integer32(0.. This attribute SHALL have both Integer32 and OCTET STRING
-- 2147483647) values.
-- INTEGER: The time in seconds since the job was submitted
-- to the device.
jobStartedBeingHeldTimeStamp(193), -- JmTimeStampTC (pg 27) colorantRequested(172), Integer32(-2..2147483647)
-- INTEGER: The time that the job started being held, i.e., AND/OR
-- the time that the job entered the pendingHeld state most OCTET STRING(SIZE(0..63))
-- recently. If the job has never entered the pendingHeld INTEGER: MULTI-ROW: The index (prtMarkerColorantIndex) in
-- state, then the value SHALL be 0 or the attribute SHALL the Printer MIB[print-mib]
-- not be present in the table. AND/OR
OCTETS: the name of the colorant requested.
jobStartedProcessingTime(194), -- JmTimeStampTC (pg 27) colorantConsumed(173), Integer32(-2..2147483647)
-- AND/OR AND/OR
-- DateAndTime (SNMPv2-TC) OCTET STRING(SIZE(0..63))
Job Monitoring MIB, V0.82 June 9, 1997 INTEGER: MULTI-ROW: The index (prtMarkerColorantIndex) in
the Printer MIB[print-mib]
AND/OR
OCTETS: the name of the colorant consumed.
-- INTEGER: The time +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- AND/OR + Time attributes (set by server or device)
-- OCTETS: the date and time that the job started Job Monitoring MIB, V0.83 July 14, 1997
-- processing.
timeSinceStartedProcessing(195), -- Integer32(-2..2147483647) +
-- INTEGER: The time in milliseconds since the job started + This section of attributes are ones that are set by the
-- processing. + 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.
+
+ 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.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
jobCompletedTime(196), -- JmTimeStampTC (pg 27) jobSubmissionToServerTime(190), JmTimeStampTC
-- AND/OR AND/OR
-- DateAndTime (SNMPv2-TC) DateAndTime (SNMPv2-TC)
-- INTEGER: The time INTEGER: Configuration 3 only: The time
-- AND/OR AND/OR
-- OCTETS: the date and time that the job completed OCTETS: the date and time that the job was submitted to the
-- processing and the medium is completely stacked in the server (as distinguished from the device which uses
-- output bin, i.e., when the job entered the completed, jobSubmissionTime).
-- canceled, or aborted state.
timeSinceCompleted(197), -- Integer32(-2..2147483647) jobSubmissionTime(191), JmTimeStampTC
-- INTEGER: The time in milliseconds since the job AND/OR
-- completed processing and the medium was completely DateAndTime (SNMPv2-TC)
-- stacked in the output bin, i.e., since the job entered INTEGER: Configurations 1, 2, and 3: The time
-- the completed, canceled, or aborted state. AND/OR
OCTETS: the date and time that the job was submitted to the
server or device to which the agent is providing access.
jobProcessingCPUTime(198) -- Integer32(-2..2147483647) jobStartedBeingHeldTime(192), JmTimeStampTC
-- INTEGER: The amount of CPU time that the job has been AND/OR
-- processing in seconds, i.e., in the processing job state. DateAndTime (SNMPv2-TC)
-- If the device stops and/or the job enters the INTEGER: 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 last entered the
-- SHOULD be relatively repeatable when the same job is pendingHeld state. If the job has never entered the
-- submitted again. pendingHeld state, then the value SHALL be '0' or the
attribute SHALL not be present in the table.
Job Monitoring MIB, V0.83 July 14, 1997
jobStartedProcessingTime(193), JmTimeStampTC
AND/OR
DateAndTime (SNMPv2-TC)
INTEGER: The time
AND/OR
OCTETS: the date and time that the job started processing.
jobCompletedTime(194), JmTimeStampTC
AND/OR
DateAndTime (SNMPv2-TC)
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
"See Section 3.2 entitled '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 the same jmJobIndex
as recent jobs before the power cycle.
The Attribute Mechanism' for a description of this textual-
convention and its use in the jmAttributeTable.
This is a type 2 enumeration. See Section 3.6.1.2."
SYNTAX INTEGER {
other(1),
unknown(2),
jobStateReasons2(3),
jobStateReasons3(4),
jobStateReasons4(5),
processingMessage(6),
jobAccountName(21),
serverAssignedJobName(22),
jobName(23),
jobServiceTypes(24),
jobSourceChannelIndex(25),
jobSourcePlatformType(26),
submittingServerName(27),
Job Monitoring MIB, V0.83 July 14, 1997
submittingApplicationName(28),
jobOriginatingHost(29),
deviceNameRequested(30),
queueNameRequested(31),
physicalDevice(32),
numberOfDocuments(33),
fileName(34),
documentName(35),
jobComment(36),
documentFormatIndex(37),
documentFormat(38),
jobPriority(50),
jobProcessAfterDateAndTime(51),
jobHold(52),
jobHoldUntil(53),
outputBin(54),
sides(55),
finishing(56),
printQualityRequested(70),
printQualityUsed(71),
printerResolutionRequested(72),
printerResolutionUsed(73),
tonerEcomonyRequested(74),
tonerEcomonyUsed(75),
tonerDensityRequested(76),
tonerDensityUsed(77),
jobCopiesRequested(90),
jobCopiesCompleted(91),
documentCopiesRequested(92),
documentCopiesCompleted(93),
jobKOctetsTransferred(94),
impressionsSpooled(110),
impressionsSentToDevice(111),
impressionsInterpreted(112),
impressionsCompletedCurrentCopy(113),
fullColorImpressionsCompleted(114),
highlightColorImpressionsCompleted(115),
pagesRequested(130),
pagesCompleted(131),
pagesCompletedCurrentCopy(132),
sheetsRequested(150),
sheetsCompleted(151),
Job Monitoring MIB, V0.83 July 14, 1997
sheetsCompletedCurrentCopy(152),
mediumRequested(170),
mediumConsumed(171),
colorantRequested(172),
colorantConsumed(173),
jobSubmissionToServerTime(190),
jobSubmissionTime(191),
jobStartedBeingHeldTime(192),
jobStartedProcessingTime(193),
jobCompletedTime(194),
jobProcessingCPUTime(195)
} }
JmJobServiceTypesTC ::= TEXTUAL-CONVENTION JmJobServiceTypesTC ::= TEXTUAL-CONVENTION
STATUS current STATUS current
DESCRIPTION DESCRIPTION
Job Monitoring MIB, V0.82 June 9, 1997
"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 service
type so that more general and arbitrary services can be created, type so that more general and arbitrary services can be created,
such as services with more than one destination type, or ones such as services with more than one destination type, or ones
with only a source or only a destination. For example, a job with only a source or only a destination. For example, a job
service might scan, faxOut, and print a single job. In this service might scan, faxOut, and print a single job. In this
case, three bits would be set in the jobServiceTypes attribute, case, three bits would be set in the jobServiceTypes attribute,
corresponding to the hexadecimal values: 0x8 + 0x20 + 0x4, corresponding to the hexadecimal values: 0x8 + 0x20 + 0x4,
respectively, yielding: 0x2C. respectively, yielding: 0x2C.
skipping to change at page 55, line 30 skipping to change at page 60, line 5
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
printer operator MAY only be interested in jobs that include printer operator MAY only be interested in jobs that include
printing. That is why the attribute is in the job printing. That is why the attribute is in the job
identification category. identification category.
Job Monitoring MIB, V0.83 July 14, 1997
The following service component types are defined (in The following service component types are defined (in
hexadecimal) and are assigned a separate bit value for use with hexadecimal) and are assigned a separate bit value for use with
the jobServiceTypes attribute: the jobServiceTypes attribute:
other 0x1 other 0x1
The job contains some document production instructions that are The job contains some instructions that are not one of the
not one of the identified types. identified types.
unknown 0x2 unknown 0x2
The job contains some document production instructions whose The job contains some instructions whose type is unknown to
type is unknown to the agent. the agent.
print 0x4 print 0x4
The job contains some document production instructions that The job contains some instructions that specify printing
specify printing
scan 0x8 scan 0x8
The job contains some document production instructions that The job contains some instructions that specify scanning
specify scanning
faxIn 0x10 faxIn 0x10
The job contains some document production instructions that The job contains some instructions that specify receive fax
specify receive fax
Job Monitoring MIB, V0.82 June 9, 1997
faxOut 0x20 faxOut 0x20
The job contains some document production instructions that The job contains some instructions that specify sending fax
specify sending fax
getFile 0x40 getFile 0x40
The job contains some document production instructions that The job contains some instructions that specify accessing
specify accessing files or documents files or documents
putFile 0x80 putFile 0x80
The job contains some document production instructions that The job contains some instructions that specify storing
specify storing files or documents files or documents
mailList 0x100 mailList 0x100
The job contains some document production instructions that The job contains some instructions that specify distribution
specify distribution of documents using an electronic mail of documents using an electronic mail system."
system. REFERENCE
"These bit definitions are the equivalent of a type 2 enum
These bit definitions are the equivalent of a type 2 enum except except that combinations of them MAY be used together. See
that combinations of them MAY be used together. See section 7.1.2 section 3.6.1.2."
on page 22."
SYNTAX INTEGER(0..2147483647) -- 31 bits, all but sign bit SYNTAX INTEGER(0..2147483647) -- 31 bits, all but sign bit
Job Monitoring MIB, V0.83 July 14, 1997
JmJobStateReasons1TC ::= TEXTUAL-CONVENTION JmJobStateReasons1TC ::= TEXTUAL-CONVENTION
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"This textual-convention is used with the jmJobStateReasons1 "The JmJobStateReasonsNTC (N=1..4) textual-conventions are used
object to provides additional information regarding the with the jmJobStateReasons1 object and jobStateReasonsN
jmJobState object values. (N=2..4), respectively, to provides additional information
regarding the current jmJobState object value. These values MAY
be used with any job state or states for which the reason makes
sense.
The following standard values are defined (in hexadecimal) as NOTE - While values cannot be added to the jmJobState object
powers of two, since multiple values MAY be used at the same without impacting deployed clients that take actions upon
time. receiving jmJobState values, it is the intent that additional
JmJobStateReasonsNTC enums can be defined and registered without
impacting such deployed clients. In other words, the
jmJobStateReasons1 object and jobStateReasonsN attributes are
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[3] for the IPP 'job-state-reasons' attribute, since the values[ipp-model] for the IPP 'job-state-reasons' attribute,
Job Monitoring MIB is intended to cover other job submission since the Job Monitoring MIB is intended to cover other job
protocols as well. Also some of the names of the reasons have submission protocols as well. Also some of the names of the
been changed from 'printer' to 'device', since the Job reasons have been changed from 'printer' to 'device', since the
Job Monitoring MIB, V0.82 June 9, 1997 Job Monitoring MIB is intended to cover additional types of
devices, including input devices, such as scanners.
Monitoring MIB is intended to cover additional types of devices,
including input devices, such as scanners.
NOTE - For easy of understanding the order of the reasons is The following standard values are defined (in hexadecimal) as
presented in the order in which the reason is most likely to powers of two, since multiple values MAY be used at the same
occur. time. For ease of understanding, the JmJobStateReasons1TC
reasons are presented in the order in which the reason is most
likely to occur, not counting the 'other' and 'unknown' reasons.
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 expected (1) additional operations to finish server or device is expecting (1) additional operations from
creating the job and/or (2) is accessing/accepting document the client to finish creating the job and/or (2) is
data. accessing/accepting document data.
Job Monitoring MIB, V0.83 July 14, 1997
jobOutgoing 0x8 jobOutgoing 0x8
Configuration 2 only: The server is transmitting the job to the Configuration 2 only: The server is transmitting the job to
device. the device.
jobHoldSpecified 0x10 jobHoldSpecified 0x10
The value of the job's jobHold(52) attribute (see page 47) is The value of the job's jobHold(52) attribute is TRUE. The
TRUE, either set when the job was created or subsequently by an job SHALL NOT be a candidate for processing until this
explicit modify job operation. The job SHALL NOT be a candidate reason is removed and there are no other reasons to hold the
for processing until this reason is removed and there are no job.
other reasons to hold the job.
jobHoldUntilSpecified 0x20 jobHoldUntilSpecified 0x20
The value of the job's jobHoldUntil(53) (see page 47) attribute The value of the job's jobHoldUntil(53) attribute specifies
specifies a time period that is still in the future, either set a time period that is still in the future. The job SHALL
when the job was created or subsequently by an explicit modify NOT be a candidate for processing until this reason is
job operation. The job SHALL NOT be a candidate for processing removed and there are no other reasons to hold the job.
until this reason is removed and there are no other reasons to
hold the job.
jobProcessAfterSpecified 0x40 jobProcessAfterSpecified 0x40
The value of the job's jobProcessAfterDateAndTime(51) (see page The value of the job's jobProcessAfterDateAndTime(51)
46) attribute specifies a time that is still in the future, attribute specifies a time that is still in the future,
either set when the job was created or subsequently by an either set when the job was created or subsequently by an
explicit modify job operation. The job SHALL NOT be a candidate explicit modify job operation. The job SHALL NOT be a
for processing until this reason is removed and there are no candidate for processing until this reason is removed and
other reasons to hold the job. there are no other reasons to hold the job.
Job Monitoring MIB, V0.82 June 9, 1997
resourcesAreNotReady 0x80 resourcesAreNotReady 0x80
At least one of the resources needed by the job, such as media, At least one of the resources needed by the job, such as
fonts, resource objects, etc., is not ready on any of the media, fonts, resource objects, etc., is not ready on any of
physical devices for which the job is a candidate. This the physical devices for which the job is a candidate. This
condition MAY be detected when the job is accepted, or condition MAY be detected when the job is accepted, or
subsequently while the job is pending or processing, depending subsequently while the job is pending or processing,
on implementation. depending on implementation.
deviceStoppedPartly 0x100 deviceStoppedPartly 0x100
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 is
assigned are stopped. If all of the devices are stopped (or the assigned are stopped. If all of the devices are stopped (or
only device is stopped), the deviceStopped reason SHALL be used. the only device is stopped), the deviceStopped reason SHALL
be used.
deviceStopped 0x200 deviceStopped 0x200
The device(s) to which the job is assigned is (are all) stopped. The device(s) to which the job is assigned is (are all)
stopped.
jobPrinting 0x400 jobPrinting 0x400
The output device is marking media. This attribute is useful for The output device is marking media. This attribute is useful
servers and output devices which spend a great deal of time for servers and output devices which spend a great deal of
processing when no marking is happening and then want to show time processing when no marking is happening and then want
that marking is now happening. to show that marking is now happening or when the job is in
the canceled or aborted state, but the marking has not yet
Job Monitoring MIB, V0.83 July 14, 1997
stopped so that impression or sheet counts are still
increasing for the job.
jobCanceledByUser 0x800 jobCanceledByUser 0x800
The job was canceled by the user, i.e., by a user whose name is The job was canceled by the user, i.e., by an unknown user
the same as the value of the job's jobOwner attribute. or by a user whose name is the same as the value of the
job's jmJobOwner object.
jobCanceledByOperator 0x1000 jobCanceledByOperator 0x1000
The job was canceled by the operator, i.e., by a user whose name The job was canceled by the operator, i.e., by a user whose
is different than the value of the job's jobOwner attribute. name is different than the value of the job's jmJobOwner
object.
abortedBySystem 0x2000 abortedBySystem 0x2000
The job was aborted by the system. NOTE - this reason is needed The job was aborted by the system.
only when the job is not placed in the aborted job state.
NOTE - this reason is needed only when the system aborts a
job, but does not put the job in the aborted job state. For
example, if the system aborts the job, but places the job in
the pendingHeld state, so that a user or operator can try
the job again.
jobCompletedSuccessfully 0x4000 jobCompletedSuccessfully 0x4000
The job completed successfully. The job completed successfully.
jobCompletedWithWarnings 0x8000 jobCompletedWithWarnings 0x8000
The job completed with warnings. The job completed with warnings.
jobCompletedWithErrors 0x10000 jobCompletedWithErrors 0x10000
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
represent job states that are in ISO DPA[2] and other job submission to represent job states that are in ISO DPA[iso-dpa] and
protocols: other job submission protocols:
jobPaused 0x20000 jobPaused 0x20000
The job has been indefinitely suspended by a client issuing an The job has been indefinitely suspended by a client issuing
Job Monitoring MIB, V0.82 June 9, 1997 an operation to suspend the job so that other jobs may
proceed using the same devices. The client MAY issue an
operation to suspend the job so that other jobs may proceed operation to resume the paused job at any time, in which
using the same devices. The client MAY issue an operation to case the agent SHALL remove the jobPaused values from the
resume the paused job at any time, in which case the agent SHALL job's jmJobStateReasons1 object and the job is eventually
remove the jobPaused values from the job's jmJobStateReasons1 resumed at or near the point where the job was paused.
object and the job is eventually resumed at or near the point
where the job was paused.
jobInterrupted 0x40000 jobInterrupted 0x40000
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 interrupting Job Monitoring MIB, V0.83 July 14, 1997
job completes.
jobRetained 0x80000 automatically resume the interrupted job when the
The job is being retained by the server or device with all of interrupting job completes.
the job's document data (and submitted resources, such as fonts,
logos, and forms, if any). Thus a client could issue an
operation to resubmit the job (or a copy of the job). When a
client could no longer resubmit the job, such as after the
document data has been discarded, the agent SHALL remove the
jobRetained value from the jmJobStateReasons1 object.
These bit definitions are the equivalent of a type 2 enum except jobRetained 0x80000
that combinations of bits may be used together. See section 7.1.2 The job is being retained by the server or device with all
on page 22. The remaining bits are reserved for future of the job's document data (and submitted resources, such as
fonts, logos, and forms, if any). Thus a client could issue
an operation to the server or device to either (1) re-do the
job (or a copy of the job) on the same server or device or
(2) resubmit the job to another server or device. When a
client could no longer re-do/resubmit the job, such as after
the document data has been discarded, the agent SHALL remove
the jobRetained value from the jmJobStateReasons1 object."
REFERENCE
"These bit definitions are the equivalent of a type 2 enum
except that combinations of bits may be used together. See
section 3.6.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
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 on page 59. JmJobStateReasons1TC for additional information that applies to
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:
Job Monitoring MIB, V0.82 June 9, 1997
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 and
document attributes and data to another spooling system. 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 specified The job has been deleted due to the fact that the time
by the job's job-discard-time has arrived. Job Monitoring MIB, V0.83 July 14, 1997
specified by the job's job-discard-time attribute has
arrived.
postProcessingFailed 0x8 postProcessingFailed 0x8
The post-processing agent failed while trying to log accounting The post-processing agent failed while trying to log
attributes for the job; therefore the job has been placed into accounting attributes for the job; therefore the job has
the completed state with the jobRetained jmJobStateReasons1 been placed into the completed state with the jobRetained
object value for a system-defined period of time, so the jmJobStateReasons1 object value for a system-defined period
administrator can examine it, resubmit it, etc. of time, so the administrator can examine it, resubmit it,
etc.
submissionInterrupted 0x10 submissionInterrupted 0x10
Indicates that the job was not completely submitted for the Indicates that the job was not completely submitted for some
following reasons: (1) the server has crashed before the job was unforeseen reason, such as: (1) the server has crashed
closed by the client, (2) the server or the document transfer before the job was closed by the client, (2) the server or
method has crashed in some non-recoverable way before the the document transfer method has crashed in some non-
document data was entirely transferred to the server, (3) the recoverable way before the document data was entirely
client crashed or failed to close the job before the time-out transferred to the server, (3) the client crashed or failed
period. Whether the server or device puts the job into the to close the job before the time-out period.
pendingHeld or aborted state depends on implementation.
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, but human intervention in order for the job to make progress,
the human intervention did not occur within the site-settable but the human intervention did not occur within the site-
time-out value. settable time-out value.
needsKeyOperatorTimeOut 0x80 needsKeyOperatorTimeOut 0x80
One or more devices or document transforms that the job is using One or more devices or document transforms that the job is
need a specially trained operator (who may need a key to unlock using need a specially trained operator (who may need a key
the device and gain access) in order for the job to make to unlock the device and gain access) in order for the job
progress, but the key operator intervention did not occur within to make progress, but the key operator intervention did not
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 special processing to await human action, such as installing a
Job Monitoring MIB, V0.82 June 9, 1997 special cartridge or special non-standard media, but the job
was not resumed within the site-settable time-out value and
cartridge or special non-standard media, but the job was not the server/device has transitioned the job to the
resumed within the site-settable time-out value and the pendingHeld state.
server/device has transitioned the job to the pendingHeld state.
Normally, the job is resumed by means outside the job submission
protocol, such as some local function on the device.
jobEndWaitTimeOut 0x200 jobEndWaitTimeOut 0x200
The server/device has stopped the job at the end of processing The server/device has stopped the job at the end of
to await human action, such as removing a special cartridge or processing to await human action, such as removing a special
restoring standard media, but the job was not resumed within the Job Monitoring MIB, V0.83 July 14, 1997
site-settable time-out value and the server/device has
transitioned the job to the completed state. Normally, the job cartridge or restoring standard media, but the job was not
is resumed by means outside the job submission protocol, such as resumed within the site-settable time-out value and the
some local function on the device, whereupon the job SHALL server/device has transitioned the job to the completed
transition immediately 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 human processing to await input of the job's password, but the
intervention did not occur 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 period A device that the job was using has not responded in a
specified by the device's site-settable attribute. period specified by the device's site-settable attribute.
connectingToDeviceTimeOut 0x1000 connectingToDeviceTimeOut 0x1000
The server is attempting to connect to one or more devices which The server is attempting to connect to one or more devices
may be dial-up, polled, or queued, and so may be busy with which may be dial-up, polled, or queued, and so may be busy
traffic from other systems, but server was unable to connect to with traffic from other systems, but server was unable to
the device within the site-settable time-out value. connect to the device within the site-settable time-out
value.
transferring 0x2000 transferring 0x2000
The job is being transferred to a down stream server or device. The job is being transferred to a down stream server or
device.
queuedInDevice 0x4000 queuedInDevice 0x4000
The job has been queued in a down stream server or device. The job has been queued in a down stream server or device.
jobCleanup 0x8000 jobCleanup 0x8000
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.
processingToStopPoint 0x10000 processingToStopPoint 0x10000
The requester has issued an operation to interrupt the job and The requester has issued an operation to interrupt the job
the server/device is processing up until the specified stop and the server/device is processing up until the specified
point occurs. stop point occurs.
Job Monitoring MIB, V0.82 June 9, 1997
jobPasswordWait 0x20000 jobPasswordWait 0x20000
The server/device has selected the job to be next to process, The server/device has selected the job to be next to
but instead of assigning resources and started the job process, but instead of assigning resources and starting the
processing, the server/device has transitioned the job to the job processing, the server/device has transitioned the job
pendingHeld state to await entry of a password (and dispatched to the pendingHeld state to await entry of a password (and
another job, if there is one). dispatched another job, if there is one).
validating 0x40000 validating 0x40000
The server/device is validating the job after accepting the job. The server/device is validating the job after accepting the
job.
Job Monitoring MIB, V0.83 July 14, 1997
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
pendingHeld state waiting for the requester to issue an pendingHeld state waiting for the requester to issue an
operation to release the job to print normally, obeying any job operation to release the job to print normally, obeying any
and document copy attributes that were originally submitted. job and document copy attributes that were originally
submitted.
heldForDiagnostics 0x200000 heldForDiagnostics 0x200000
The system is running intrusive diagnostics, so that all jobs The system is running intrusive diagnostics, so that all
are being held. jobs are being held.
serviceOffLine 0x400000 serviceOffLine 0x400000
The service/document transform is off-line and accepting no The service/document transform is off-line and accepting no
jobs. All pending jobs are put into the pendingHeld state. jobs. All pending jobs are put into the pendingHeld state.
This could be true if its input is impaired or broken. This could be true if its input is impaired or broken.
noSpaceOnServer 0x800000 noSpaceOnServer 0x800000
There is no room on the server to store all of the job. For There is no room on the server to store all of the job.
example, there is no room for the document data.
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. The supplied as an input parameter when the job was created.
requester SHALL either (1) enter a pin locally at the device or
issue a remote operation supplying the PIN in order for the job
to be able to proceed.
exceededAccountLimit 0x2000000 exceededAccountLimit 0x2000000
The account for which this job is drawn has exceeded its limit. The account for which this job is drawn has exceeded its
This condition SHOULD be detected before the job is scheduled so limit. This condition SHOULD be detected before the job is
that the user does not wait until his/her job is scheduled only scheduled so that the user does not wait until his/her job
to find that the account is overdrawn. This condition MAY also is scheduled only to find that the account is overdrawn.
occur while the job is processing either as processing begins or This condition MAY also occur while the job is processing
part way through processing. either as processing begins or part way through processing.
Job Monitoring MIB, V0.82 June 9, 1997
An overdraft mechanism SHOULD be included to be user-friendly,
so as to minimize the chances that the job cannot finish or that
media is wasted. For example, the server/device SHOULD finish
the current copy for a job with collated document copies, rather
than stopping in the middle of the current document copy.
heldForRetry 0x4000000 heldForRetry 0x4000000
The job encountered some errors that the server/device could not The job encountered some errors that the server/device could
recover from with its normal retry procedures, but the error is not recover from with its normal retry procedures, but the
worth trying the job later, such as phone number busy or remote error might not be encountered if the job is re-tried in the
file system in-accessible. For such a situation, the future, such as phone number busy or remote file system in-
server/device SHALL transition the job from the processing to accessible. For such a situation, the server/device SHALL
the pendingHeld, rather than to the aborted state. transition the job 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:
Job Monitoring MIB, V0.83 July 14, 1997
canceledByShutdown 0x8000000 canceledByShutdown 0x8000000
The job was canceled because the server or device was shutdown The job was canceled because the server or device was
before completing the job. Whether the job is placed in the shutdown before completing the job.
pendingHeld or aborted state, depends on implementation.
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. Whether the job is placed in currently unable to accept jobs.
the pendingHeld or aborted state, depends on implementation.
wrongDevice 0x20000000 wrongDevice 0x20000000
This job was aborted by the system because the device is unable This job was aborted by the system because the device is
to handle this particular job; the spooler SHOULD try another unable to handle this particular job; the spooler SHOULD try
device or the user should submit the job to another device. another device or the user should submit the job to another
Whether the job is placed in the pendingHeld or aborted state, device.
depends on implementation.
badJob 0x40000000 badJob 0x40000000
This job was aborted by the system because this job has a major This job was aborted by the system because this job has a
problem, such as an ill-formed PDL; the spooler SHOULD not even major problem, such as an ill-formed PDL; the spooler SHOULD
try another device. not even try another device. "
REFERENCE
These bit definitions are the equivalent of a type 2 enum except that "These bit definitions are the equivalent of a type 2 enum
combinations of them may be used together. See section 7.1.2 on page except that combinations of them may be used together. See
22." section 3.6.1.2. See the description under 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
Job Monitoring MIB, V0.82 June 9, 1997
JmJobStateReasons3TC ::= TEXTUAL-CONVENTION JmJobStateReasons3TC ::= TEXTUAL-CONVENTION
STATUS current STATUS current
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 on page 59. JmJobStateReasons1TC for additional information that applies to
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 has A device or the print system software that the job was using
failed while the job was processing. The server or device is has failed while the job was processing. The server or
keeping the job in the pendingHeld state until an operator can Job Monitoring MIB, V0.83 July 14, 1997
determine what to do with the job.
These bit definitions are the equivalent of a type 2 enum except
that combinations of them may be used together. See section 7.1.2
on page 22. The remaining bits are reserved for future
standardization and/or registration."
device is keeping the job in the pendingHeld state until an
operator can determine what to do with the job."
REFERENCE
"These bit definitions are the equivalent of a type 2 enum
except that combinations of them may be used together. See
section 3.6.1.2. The remaining bits are reserved for future
standardization and/or registration. See the description under
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
JmJobStateReasons1TC on page 59. JmJobStateReasons1TC for additional information that applies to
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:
none yet defined. none yet defined. These bits are reserved for future
These bit definitions are the equivalent of a type 2 enum except
that combinations of them may be used together. See section
Job Monitoring MIB, V0.82 June 9, 1997
7.1.2 on page 22. These bits are reserved for future
standardization and/or registration." standardization and/or registration."
REFERENCE
"These bit definitions are the equivalent of a type 2 enum
except that combinations of them may be used together. See
section 3.6.1.2. See the description under JmJobStateReasons1TC
and the jobStateReasons4 attribute."
SYNTAX INTEGER(0..2147483647) -- 31 bits, all but sign bit SYNTAX INTEGER(0..2147483647) -- 31 bits, all but sign bit
Job Monitoring MIB, V0.82 June 9, 1997 Job Monitoring MIB, V0.83 July 14, 1997
jobmonMIBObjects OBJECT IDENTIFIER ::= { jobmonMIB 1 } jobmonMIBObjects OBJECT IDENTIFIER ::= { jobmonMIB 1 }
-- 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 Terminology and that are per-job-set, but are not per-job. See Section 2
Job Model on page 12 for the definition of a job set." entitled 'Terminology and Job Model' for the definition of a job
set."
REFERENCE
"The MANDATORY-GROUP macro specifies that this group is
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
"Information about a job set (queue). "Information about a job set (queue).
An entry SHALL exist in this table for each job set." An entry SHALL exist in this table for each job set."
INDEX { jmJobSetIndex } INDEX { jmGeneralJobSetIndex }
::= { jmGeneralTable 1 } ::= { jmGeneralTable 1 }
JmGeneralEntry ::= SEQUENCE { JmGeneralEntry ::= SEQUENCE {
jmGeneralJobSetIndex Integer32(1..32767),
jmGeneralNumberOfActiveJobs Integer32(0..2147483647), jmGeneralNumberOfActiveJobs Integer32(0..2147483647),
jmGeneralOldestActiveJobIndex Integer32(0..2147483647), jmGeneralOldestActiveJobIndex Integer32(0..2147483647),
jmGeneralNewestActiveJobIndex Integer32(0..2147483647), jmGeneralNewestActiveJobIndex Integer32(0..2147483647),
jmGeneralJobPersistence Integer32(0..2147483647), jmGeneralJobPersistence Integer32(15..2147483647),
jmGeneralAttributePersistence Integer32(0..2147483647), jmGeneralAttributePersistence Integer32(15..2147483647),
jmGeneralJobSetName OCTET STRING(SIZE(0..63)) jmGeneralJobSetName OCTET STRING(SIZE(0..63))
} }
jmGeneralJobSetIndex OBJECT-TYPE
SYNTAX Integer32(1..32767)
MAX-ACCESS not-accessible
STATUS current
Job Monitoring MIB, V0.83 July 14, 1997
DESCRIPTION
"A unique value for each job set in this MIB. The jmJobTable
and jmAttributeTable tables have this same index as their
primary index.
The value(s) of the jmGeneralJobSetIndex SHALL be persistent
across power cycles, so that clients that have retained
jmGeneralJobSetIndex values will access the same job sets upon
subsequent power-up.
An implementation that has only one job set, such as a printer
with a single queue, SHALL hard code this object with the value
1."
REFERENCE
"See Section 2 entitled 'Terminology and Job Model' for the
definition of a job set. Corresponds to the first index in
jmJobTable and jmAttributeTable."
::= { jmGeneralEntry 1 }
jmGeneralNumberOfActiveJobs OBJECT-TYPE jmGeneralNumberOfActiveJobs OBJECT-TYPE
SYNTAX Integer32(0..2147483647) SYNTAX Integer32(0..2147483647)
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
Job Monitoring MIB, V0.82 June 9, 1997
"The current number of 'active' jobs in the jmJobIDTable, "The current number of 'active' jobs in the jmJobIDTable,
jmJobTable, and jmAttributeTable, i.e., the total number of jobs jmJobTable, and jmAttributeTable, i.e., the total number of jobs
that are in the pending, processing, or processingStopped that are in the pending, processing, or processingStopped
states. See JmJobStateTC on page 32 for the exact specification states. See the JmJobStateTC textual-convention for the exact
of the semantics of the job states. specification of the semantics of the job states."
::= { jmGeneralEntry 2 }
If there are no active jobs, the value of this object SHALL be
0."
::= { jmGeneralEntry 1 }
jmGeneralOldestActiveJobIndex OBJECT-TYPE jmGeneralOldestActiveJobIndex OBJECT-TYPE
SYNTAX Integer32 (0..2147483647) SYNTAX Integer32 (0..2147483647)
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The jmJobIndex of the oldest job that is still in one of the "The jmJobIndex of the oldest job that is still in one of the
'active' states (pending, processing, or processingStopped). In 'active' states (pending, processing, or processingStopped). In
other words, the index of the 'active' job that has been in the other words, the index of the 'active' job that has been in the
job tables the longest. job tables the longest.
When a job transitions from one of the 'active' states (pending,
processing, processingStopped) to one of the 'in-active' states
(pendingHeld, completed, canceled, or aborted), with a
jmJobIndex value that matches this object, the agent SHALL
advance (or wrap - see jmGeneralNewestActiveJobIndex) the value
to the next oldest 'active' job, if any.
On the other hand, when a job transitions from one of the 'in-
active' states to one of the 'active' state, the agent SHALL
reduce (or wrap) the value of this object, if the job's
jmJobIndex is smaller than the current value.
If there are no active jobs, the agent SHALL set the value of If there are no active jobs, the agent SHALL set the value of
this object to 0." this object to 0."
::= { jmGeneralEntry 2 } REFERENCE
"See Section 3.2 entitled 'The Job Tables and the Oldest Active
and Newest Active Indexes' for a description of the usage of
this object."
::= { jmGeneralEntry 3 }
Job Monitoring MIB, V0.83 July 14, 1997
jmGeneralNewestActiveJobIndex OBJECT-TYPE jmGeneralNewestActiveJobIndex OBJECT-TYPE
SYNTAX Integer32 (0..2147483647) SYNTAX Integer32 (0..2147483647)
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The jmJobIndex of the newest job that is in one of the 'active' "The jmJobIndex of the newest job that is in one of the 'active'
states (pending, processing, or processingStopped). In other states (pending, processing, or processingStopped). In other
words, the index of the 'active' job that has been most recently words, the index of the 'active' job that has been most recently
added to the job tables. added to the job tables.
When a new job is accepted by the server or device that the
agent is instrumenting, the agent SHALL assign the next
Job Monitoring MIB, V0.82 June 9, 1997
available value to the job's jmJobIndex that is used for storing
job information in the jmJobIDTable, the jmJobTable, and the
jmAttributeTable. If the value would exceed the implementation-
defined maximum value for jmJobIndex, the agent SHALL set the
value back to 1, i.e., wrap around to the beginning of the job
tables.
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 single time, so as to minimize the pre-mature
re-use of jmJobIndex value for a newer job while clients retain
the same 'stale' value for an older job.
Each time a new job is accepted by the server or device that the
agent is instrumenting AND that job is to be 'active' (pending,
processing, or processingStopped, but not pendingHeld), the
agent SHALL copy the value of the job's jmJobIndex to the
jmGeneralNewestActiveJobIndex object. If the new job is 'in-
active' (pendingHeld state), the agent SHALL not change the
value of jmGeneralNewestActiveJobIndex object.
When all jobs become 'inactive', i.e., enter the pendingHeld, When all jobs become 'inactive', i.e., enter the pendingHeld,
completed, canceled, or aborted states, the agent SHALL set the completed, canceled, or aborted states, the agent SHALL set the
value of this object to 0. Whenever a job changes from 'in- value of this object to 0."
active' to 'active' (from pendingHeld to pending or processing), REFERENCE
the agent SHALL update the value of either the "See Section 3.2 entitled 'The Job Tables and the Oldest Active
jmGeneralOldestActiveJobIndex or the and Newest Active Indexes' for a description of the usage of
jmGeneralNewestActiveJobIndex objects, or both, if the job's this object."
jmJobIndex value is outside the range between ::= { jmGeneralEntry 4 }
jmGeneralOldestActiveJobIndex and jmGeneralNewestActiveJobIndex.
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 the same jmJobIndex as recent jobs before
the power cycle.
NOTE - Applications that wish to efficiently access all of the
active jobs MAY use jmGeneralOldestActiveJobIndex value to start
with the oldest active job and continue until they reach the
index value equal to jmGeneralNewestActiveJobIndex, skipping
over any pendingHeld, completed, canceled, or aborted jobs that
might intervene.
If an application detects that the jmGeneralNewestActiveJobIndex
is smaller than jmGeneralOldestActiveJobIndex, the job index has
wrapped. In this case, when the application exceeds the maximum
job index (detected by a no such object status returned from a
GetNext operation for the next conceptual row), the application
Job Monitoring MIB, V0.82 June 9, 1997
SHALL start over at 1 and continue the GetNext operations to
find the rest of the active jobs."
::= { jmGeneralEntry 3 }
jmGeneralJobPersistence OBJECT-TYPE jmGeneralJobPersistence OBJECT-TYPE
SYNTAX Integer32(0..2147483647) SYNTAX Integer32(15..2147483647)
UNITS "seconds"
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The minimum time in seconds for this instance of the Job Set "The minimum time in seconds for this instance of the Job Set
that an entry will remain in the jmJobIDTable and jmJobTable that an entry SHALL remain in the jmJobIDTable and jmJobTable
after processing has completed, i.e., the minimum time in after processing has completed, i.e., the minimum time in
seconds starting when the job enters the completed, canceled, or seconds starting when the job enters the completed, canceled, or
aborted state. Depending on implementation, the value of this aborted state.
object MAY be either: (1) set by the system administrator by
means outside this specification or (2) fixed by the Depending on implementation, the value of this object MAY be
implementation." either: (1) set by the system administrator by means outside
::= { jmGeneralEntry 4 } this specification or (2) fixed by the implementation.
This value SHALL be equal to or greater than the value of
jmGeneralAttributePersistence. This value SHOULD be at least 60
which gives a monitoring application one minute in which to poll
for job data."
DEFVAL { 60 } -- one minute
::= { jmGeneralEntry 5 }
jmGeneralAttributePersistence OBJECT-TYPE jmGeneralAttributePersistence OBJECT-TYPE
SYNTAX Integer32(0..2147483647) SYNTAX Integer32(15..2147483647)
UNITS "seconds"
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
Job Monitoring MIB, V0.83 July 14, 1997
DESCRIPTION DESCRIPTION
"The minimum time in seconds for this instance of the Job Set "The minimum time in seconds for this instance of the Job Set
that an entry will remain in the jmAttributeTable after that an entry SHALL remain in the jmAttributeTable after
processing has completed , i.e., the time in seconds starting processing has completed , i.e., the time in seconds starting
when the job enters the completed, canceled, or aborted state. when the job enters the completed, canceled, or aborted state.
The value of this object MAY be either (1) set by the system
administrator by means outside this specification or MAY be (2)
fixed by the implementation, depending on implementation.
This value SHALL be equal to or less than the value of Depending on implementation, the value of this object MAY be
jmGeneralJobPersistence." either (1) set by the system administrator by means outside this
::= { jmGeneralEntry 5 } specification or MAY be (2) fixed by the implementation.
This value SHOULD be at least 60 which gives a monitoring
application one minute in which to poll for job data."
DEFVAL { 60 } -- one minute
::= { jmGeneralEntry 6 }
jmGeneralJobSetName OBJECT-TYPE jmGeneralJobSetName OBJECT-TYPE
SYNTAX OCTET STRING(SIZE(0..63)) SYNTAX OCTET STRING(SIZE(0..63))
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The human readable administratively assigned name of this job "The human readable name of this job set assigned by the system
set (by means outside of this MIB). Typically, this name will administrator (by means outside of this MIB). Typically, this
be the name of the job queue. If a server or device has only a name SHOULD be the name of the job queue. If a server or device
single job set, this object can be the administratively assigned has only a single job set, this object can be the
name of the server or device itself. This name does not need to administratively assigned name of the server or device itself.
be unique, though each job set in a single Job Monitoring MIB This name does not need to be unique, though each job set in a
SHOULD have distinct names. single Job Monitoring MIB SHOULD have distinct names.
Job Monitoring MIB, V0.82 June 9, 1997
NOTE - The purpose of this object is to help the user of the job NOTE - The purpose of this object is to help the user of the job
monitoring application distinguish between several job sets in monitoring application distinguish between several job sets in
implementations that support more than one job set." implementations that support more than one job set."
::= { jmGeneralEntry 6 } REFERENCE
"See the OBJECT compliance macro for the minimum maximum length
required for conformance."
::= { jmGeneralEntry 7 }
-- The Job ID Group (MANDATORY)
-- The jmJobIDGroup consists entirely of the jmJobIDTable. -- The jmJobIDGroup consists entirely of the jmJobIDTable.
jmJobID OBJECT IDENTIFIER ::= { jobmonMIBObjects 2 } jmJobID OBJECT IDENTIFIER ::= { jobmonMIBObjects 2 }
jmJobIDTable OBJECT-TYPE jmJobIDTable OBJECT-TYPE
SYNTAX SEQUENCE OF JmJobIDEntry SYNTAX SEQUENCE OF JmJobIDEntry
Job Monitoring MIB, V0.83 July 14, 1997
MAX-ACCESS not-accessible MAX-ACCESS not-accessible
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The jmJobIDTable provides a correspondence map (1) between the "The jmJobIDTable provides a correspondence map (1) between the
job submission ID that a client uses to refer to a job and (2) job submission ID that a client uses to refer to a job and (2)
the jmJobSetIndex and jmJobIndex that the Job Monitoring MIB the jmGeneralJobSetIndex and jmJobIndex that the Job Monitoring
agent assigned to the job and that are used to access the job in MIB agent assigned to the job and that are used to access the
all of the other tables in the MIB. If a monitoring application job in all of the other tables in the MIB. If a monitoring
already knows the jmJobIndex of the job it is querying, that application already knows the jmGeneralJobSetIndex and the
application NEED NOT use the jmJobIDTable." jmJobIndex of the job it is querying, that application NEED NOT
use the jmJobIDTable."
REFERENCE
"The MANDATORY-GROUP macro specifies that this group is
MANDATORY."
::= { jmJobID 1 } ::= { jmJobID 1 }
jmJobIDEntry OBJECT-TYPE jmJobIDEntry OBJECT-TYPE
SYNTAX JmJobIDEntry SYNTAX JmJobIDEntry
MAX-ACCESS not-accessible MAX-ACCESS not-accessible
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The map from (1) the jmJobSubmissionID to (2) the jmJobSetIndex "The map from (1) the jmJobSubmissionID to (2) the
and jmJobIndex. jmGeneralJobSetIndex and jmJobIndex.
An entry SHALL exist in this table for each job, no matter what
the state of the job and no matter what job set the job is in.