home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1997 December / Internet_Info_CD-ROM_Walnut_Creek_December_1997.iso / drafts / draft_ietf_j_p / draft-ietf-printmib-job-monitor-00.txt < prev    next >
Text File  |  1997-04-29  |  189KB  |  4,836 lines

  1.                          Job Monitoring MIB, V0.81   April 24, 1997
  2.  
  3. INTERNET-DRAFT
  4.                                                              Ron Bergman
  5.                                                       Dataproducts Corp.
  6.                                                             Tom Hastings
  7.                                                        Xerox Corporation
  8.                                                           Scott Isaacson
  9.                                                             Novell, Inc.
  10.                                                              Harry Lewis
  11.                                                                IBM Corp.
  12.                                                               April 1997
  13.  
  14.  
  15.                        Job Monitoring MIB - V0.81
  16.                 <draft-ietf-printmib-job-monitor-00.txt>
  17.                           Expires Oct 24, 1997
  18.  
  19.  
  20. Status of this Memo
  21.  
  22.      This document is an Internet-Draft.  Internet-Drafts are working
  23.      documents of the Internet Engineering Task Force (IETF), its areas,
  24.      and its working groups.  Note that other groups may also distribute
  25.      working documents as Internet-Drafts.
  26.  
  27.      Internet-Drafts are draft documents valid for a maximum of six
  28.      months and may be updated, replaced, or obsoleted by other
  29.      documents at any time.  It is inappropriate to use Internet-Drafts
  30.      as reference material or to cite them other than as "work in
  31.      progress."
  32.  
  33.      To learn the current status of any Internet-Draft, please check the
  34.      "1id-abstracts.txt" listing contained in the Internet-Drafts Shadow
  35.      Directories on ftp.is.co.za (Africa), nic.nordu.net (Europe),
  36.      munnari.oz.au (Pacific Rim), ds.internic.net (US East Coast), or
  37.      ftp.isi.edu (US West Coast).
  38.                                 Abstract
  39.  
  40.      This Internet-Draft specifies a set of 13 SNMP MIB objects for (1)
  41.      monitoring the status and progress of print jobs (2) obtaining
  42.      resource requirements before a job is processed, (3) monitoring
  43.      resource consumption while a job is being processed and (4)
  44.      collecting resource accounting data after the completion of a job.
  45.      This MIB is intended to be implemented (1) in a printer or (2) in a
  46.      server that supports one or more printers.  Use of the object set
  47.      is not limited to printing.  However, support for services other
  48.      than printing is outside the scope of this Job Monitoring MIB.
  49.      Future extensions to this MIB may include, but are not limited to,
  50.      fax machines and scanners.
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61. Bergman, Hastings, Isaacson, Lewis                  [Page 1]
  62.  
  63.                          Job Monitoring MIB, V0.81   April 24, 1997
  64.  
  65.  
  66.                            TABLE OF CONTENTS
  67.  
  68. 1. INTRODUCTION                                                      6
  69.  
  70.  1.1 Types of Information in the MIB                                 6
  71.  
  72.  1.2 Types of Job Monitoring Applications                            7
  73.  
  74. 2. TERMINOLOGY AND JOB MODEL                                         8
  75.  
  76. 3. SYSTEM CONFIGURATIONS FOR THE JOB MONITORING MIB                 10
  77.  
  78.  3.1 Configuration 1 - client-printer                               11
  79.  
  80.  3.2 Configuration 2 - client-server-printer - agent in the server  11
  81.  
  82.  3.3 Configuration 3 - client-server-printer - client monitors printer
  83.  agent and server                                                   13
  84.  
  85. 4. CONFORMANCE CONSIDERATIONS                                       14
  86.  
  87.  4.1 Conformance Terminology                                        14
  88.  
  89.  4.2 Agent Conformance Requirements                                 14
  90.  
  91.  4.3 Job Monitoring Application Conformance Requirements            15
  92.  
  93. 5. JOB IDENTIFICATION                                               15
  94.  
  95. 6. INTERNATIONALIZATION CONSIDERATIONS                              16
  96.  
  97. 7. IANA CONSIDERATIONS                                              17
  98.  
  99.  7.1 IANA Registration of enums                                     17
  100.  
  101.  7.2 IANA Registration of type 2 bit values                         18
  102.  
  103.  7.3 IANA Registration of Job Submission Id Formats                 18
  104.  
  105. 8. SECURITY CONSIDERATIONS                                          18
  106.  
  107.  8.1 Read-Write objects                                             18
  108.  
  109.  8.2 Read-Only Objects In Other User's Jobs                         19
  110.  
  111. 9. RETURNING OBJECTS WITH NO VALUE IN MANDATORY GROUPS              19
  112.  
  113. 10. NOTIFICATION AND TRAPS                                          19
  114.  
  115. 11. MIB SPECIFICATION                                               19
  116.  
  117.  Textual conventions for this MIB module                            20
  118.    JmTimeStampTC - simple time in seconds                           20
  119.    JmJobSourcePlatformTypeTC - operating system platform definitions21
  120.  
  121.  
  122.  
  123. Bergman, Hastings, Isaacson, Lewis                  [Page 2]
  124.  
  125.                          Job Monitoring MIB, V0.81   April 24, 1997
  126.  
  127.    JmFinishingTC - device finishing definitions                     21
  128.    JmPrintQualityTC - print quality                                 23
  129.    JmTonerEconomyTC - toner economy setting                         23
  130.    JmMediumTypeTC - medium type definitions                         23
  131.    JmJobStateTC - job state definitions                             24
  132.    JmAttributeTypeTC - attribute type definitions                   27
  133.       other                                                         29
  134.       unknown                                                       30
  135.      Job State attributes                                           30
  136.       jobState (mandatory)                                          30
  137.       jobStateAssociatedValue                                       30
  138.       jobStateReasons1                                              31
  139.       jobStateReasons2                                              31
  140.       jobStateReasons3                                              31
  141.       jobStateReasons4                                              31
  142.       numberOfInterveningJobs (mandatory)                           32
  143.       deviceAlertCode (mandatory)                                   32
  144.       processingMessage                                             32
  145.      Job Identification attributes                                  32
  146.       serverAssignedJobName                                         32
  147.       jobName                                                       32
  148.       jobServiceTypes                                               33
  149.       jobOwner                                                      33
  150.       jobAccountName                                                33
  151.       jobSourceChannelIndex                                         34
  152.       jobSourcePlatformType                                         34
  153.       submittingServerName                                          34
  154.       submittingApplicationName                                     34
  155.       deviceNameRequested                                           34
  156.       queueNameRequested                                            34
  157.       physicalDeviceIndex                                           35
  158.       physicalDeviceName                                            35
  159.       numberOfDocuments                                             35
  160.       fileName                                                      35
  161.       documentName                                                  35
  162.       jobComment                                                    35
  163.       documentFormatIndex                                           35
  164.       documentFormatType                                            36
  165.      Job Parameter attributes                                       36
  166.       jobPriority                                                   36
  167.       jobProcessAfterDateAndTime                                    36
  168.       jobHoldUntil                                                  37
  169.       outputBinIndex                                                37
  170.       outputBinName (mandatory)                                     37
  171.       sides                                                         37
  172.       finishing                                                     37
  173.      Image Quality attributes (requested and used)                  37
  174.       printQualityRequested                                         37
  175.       printQualityUsed                                              37
  176.       tonerEcomonyRequested                                         38
  177.       tonerEcomonyUsed                                              38
  178.       tonerDensityRequested                                         38
  179.       tonerDensityUsed                                              38
  180.      Job Progress attributes (requested and consumed)               38
  181.       jobCopiesRequested                                            38
  182.  
  183.  
  184.  
  185. Bergman, Hastings, Isaacson, Lewis                  [Page 3]
  186.  
  187.                          Job Monitoring MIB, V0.81   April 24, 1997
  188.  
  189.       jobCopiesCompleted                                            38
  190.       documentCopiesRequested                                       38
  191.       documentCopiesCompleted                                       38
  192.       jobKOctetsRequested (mandatory)                               39
  193.       jobKOctetsTransferred (mandatory)                             39
  194.       jobKOctetsCompleted (mandatory)                               40
  195.      Impression attributes (requested and consumed)                 40
  196.       impressionsSpooled                                            40
  197.       impressionsSentToDevice                                       41
  198.       impressionsInterpreted                                        41
  199.       impressionsRequested (mandatory)                              41
  200.       impressionsCompleted (mandatory)                              41
  201.       impressionsCompletedCurrentCopy                               41
  202.      Page attributes (requested and consumed)                       41
  203.       pagesRequested                                                41
  204.       pagesCompleted                                                41
  205.       pagesCompletedCurrentCopy                                     41
  206.      Sheet attributes (requested and consumed)                      42
  207.       sheetsRequested                                               42
  208.       sheetsCompleted                                               42
  209.       sheetsCompletedCurrentCopy                                    42
  210.      Resource attributes (requested and consumed)                   42
  211.       mediumRequestedType                                           42
  212.       mediumRequestedName                                           42
  213.       mediumConsumedName                                            42
  214.       colorantRequestedIndex                                        42
  215.       colorantRequestedName                                         43
  216.       colorantConsumedIndex                                         43
  217.       colorantConsumedName                                          43
  218.      Time attributes (set by server or device)                      43
  219.       jobSubmissionToServerDateAndTime                              43
  220.       jobSubmissionToDeviceDateAndTime                              43
  221.       jobSubmissionToDeviceTimeStamp                                43
  222.       jobStartedBeingHeldTimeStamp                                  43
  223.       jobStartedProcessingDateAndTime                               43
  224.       jobStartedProcessingTimeStamp                                 44
  225.       jobCompletedDateAndTime                                       44
  226.       jobCompletedTimeStamp                                         44
  227.       jobProcessingCPUTime                                          44
  228.    JmJobServiceTypesTC - bit encoded job service type definitions   44
  229.    JmJobStateReasons1TC - additional information about job states   45
  230.    JmJobStateReasons2TC - More additional information about job states
  231.                                                                     48
  232.    JmJobStateReasons3TC - More additional information about job states
  233.                                                                     53
  234.    JmJobStateReasons4TC - More additional information about job states
  235.                                                                     54
  236.  
  237.  The General Group (Mandatory)                                      56
  238.    jmGeneralNumberOfActiveJobs                                      56
  239.    jmGeneralOldestActiveJobIndex                                    57
  240.    jmGeneralNewestActiveJobIndex                                    57
  241.    jmGeneralJobPersistence                                          58
  242.    jmGeneralAttributePersistence                                    58
  243.    jmGeneralJobSetName                                              58
  244.  
  245.  
  246.  
  247. Bergman, Hastings, Isaacson, Lewis                  [Page 4]
  248.  
  249.                          Job Monitoring MIB, V0.81   April 24, 1997
  250.  
  251.  The Job ID Group (Mandatory)                                       59
  252.    jmJobSubmissionIDIndex                                           60
  253.    jmJobSetIndex                                                    61
  254.    jmJobIndex                                                       61
  255.  
  256.  The Job State Group (Mandatory)                                    61
  257.    jmJobState                                                       62
  258.    jmJobStateKOctetsCompleted                                       63
  259.    jmJobStateImpressionsCompleted                                   63
  260.    jmJobStateAssociatedValue                                        63
  261.  
  262.  The Attribute Group (Mandatory)                                    64
  263.    jmAttributeTypeIndex                                             65
  264.    jmAttributeInstanceIndex                                         66
  265.    jmAttributeValueAsInteger                                        66
  266.    jmAttributeValueAsOctets                                         67
  267.  
  268. 12. JOB LIFE CYCLE                                                  70
  269.  
  270. 13. BIBLIOGRAPHY                                                    71
  271.  
  272. 14. AUTHOR'S ADDRESSES                                              71
  273.  
  274. 15. INDEX                                                           74
  275.  
  276.  
  277.  
  278.  
  279.  
  280.  
  281.  
  282.  
  283.  
  284.  
  285.  
  286.  
  287.  
  288.  
  289.  
  290.  
  291.  
  292.  
  293.  
  294.  
  295.  
  296.  
  297.  
  298.  
  299.  
  300.  
  301.  
  302.  
  303.  
  304.  
  305.  
  306.  
  307.  
  308.  
  309. Bergman, Hastings, Isaacson, Lewis                  [Page 5]
  310.  
  311.                          Job Monitoring MIB, V0.81   April 24, 1997
  312.  
  313.                            Job Monitoring MIB
  314.  
  315. 1. Introduction
  316.  
  317. The Job Monitoring MIB consists of a 5-object General Group, a 2-object
  318. Job Submission ID Group, a 4-object Job State Group, and a 2-object
  319. Attribute Group.  Each group is a table.  The General Group contains
  320. general information that applies to all jobs in a job set.  The Job
  321. Submission ID table maps the job submission ID that the client uses to
  322. identify a job to the jmJobIndex that the Job Monitoring Agent uses to
  323. identify jobs in the Job State and Attribute tables.  The Job State
  324. table contains the job state and copies of three salient attributes for
  325. each job's current state.  The Attribute table consists of multiple
  326. entries per job that specify (1) job and document identification and
  327. parameters,  (2) requested resources, and (3) consumed resources during
  328. and after job processing/printing.  The Job Monitoring MIB is intended
  329. to be instrumented by an agent within a printer or the first server
  330. closest to the printer, where the printer is either directly connected
  331. to the server only or the printer does not contain the job monitoring
  332. MIB agent.  It is recommended that implementations place the SNMP agent
  333. as close as possible to the processing of the print job.  This MIB
  334. applies to printers with and without spooling capabilities.  This MIB is
  335. designed to be compatible with most current commonly-used job submission
  336. protocols.  In most environments that support high function job
  337. submission/job control protocols, like ISO DPA[2], those protocols would
  338. be used to monitor and manage print jobs rather than using the Job
  339. Monitoring MIB.
  340.  
  341. 1.1 Types of Information in the MIB
  342.  
  343. The job MIB is intended to provide the following information for the
  344. indicated Role Models in the Printer MIB[1] (Refer to RFC 1759, Appendix
  345. D - Roles of Users).
  346.  
  347.    User:
  348.  
  349.       Provide the ability to identify the least busy printer.  The user
  350.       will be able to determine the number and size of jobs waiting for
  351.       each printer.  No attempt is made to actually predict the length
  352.       of time that jobs will take.
  353.  
  354.       Provide the ability to identify the current status of the job
  355.       (user queries).
  356.  
  357.       Provide a timely notification that the job has completed and where
  358.       it can be found.
  359.  
  360.       Provide error and diagnostic information for jobs that did not
  361.       successfully complete.
  362.  
  363.    Operator:
  364.  
  365.       Provide a presentation of the state of all the jobs in the print
  366.       system.
  367.  
  368.  
  369.  
  370.  
  371. Bergman, Hastings, Isaacson, Lewis                  [Page 6]
  372.  
  373.                          Job Monitoring MIB, V0.81   April 24, 1997
  374.  
  375.       Provide the ability to identify the user that submitted the print
  376.       job.
  377.  
  378.       Provide the ability to identify the resources required by each
  379.       job.
  380.  
  381.       Provide the ability to define which physical printers are
  382.       candidates for the print job.
  383.  
  384.       Provide some idea of how long each job will take.  However, exact
  385.       estimates of time to process a job is not being attempted.
  386.       Instead, objects are included that allow the operator to be able
  387.       to make gross estimates.
  388.  
  389.    Capacity Planner:
  390.  
  391.       Provide the ability to determine printer utilization as a function
  392.       of time.
  393.  
  394.       Provide the ability to determine how long jobs wait before
  395.       starting to print.
  396.  
  397.    Accountant:
  398.  
  399.       Provide information to allow the creation of a record of resources
  400.       consumed and printer usage data for charging users or groups for
  401.       resources consumed.
  402.  
  403.       Provide information to allow the prediction of consumable usage
  404.       and resource need.
  405.  
  406. The MIB supports printers that can contain more than one job at a time,
  407. but still be usable for low end printers that only contain a single job
  408. at a time.  In particular, the MIB supports the needs of Windows and
  409. other PC environments for managing low-end networked devices without
  410. unnecessary overhead or complexity, while also providing for higher end
  411. systems and devices.
  412.  
  413. 1.2 Types of Job Monitoring Applications
  414.  
  415. The Job Monitoring MIB is designed for the following types of monitoring
  416. applications:
  417.  
  418.   1.monitor a single job starting when the job is submitted and
  419.     finishing a defined period after the job completes.  The Job
  420.     Submission ID table provides the map to find the specific job to be
  421.     monitored.
  422.  
  423.   2.monitor all active of the jobs in a queue, which is generalized to
  424.     a job set.  End users may use such a program when selecting a least
  425.     busy printer, so the MIB is designed for such a program to start up
  426.     quickly and find the information needed quickly without having to
  427.     read all (completed) jobs in order to find the active jobs.  System
  428.     operators may also use such a program in which case it would be
  429.     running for a long period of time and may also be interested in the
  430.  
  431.  
  432.  
  433. Bergman, Hastings, Isaacson, Lewis                  [Page 7]
  434.  
  435.                          Job Monitoring MIB, V0.81   April 24, 1997
  436.  
  437.     jobs that have completed.  Finally such a program may be co-located
  438.     with the printer to provide an enhanced console capability.
  439.  
  440.   3.collect resource usage for accounting or system utilization
  441.     purposes that copy the completed job statistics to an accounting
  442.     system. It is recognized that depending on accounting programs to
  443.     copy MIB data during the job-retention period is somewhat
  444.     unreliable, since the accounting program may not be running (or may
  445.     have crashed).  Such a program is expected to keep a shadow copy of
  446.     the entire Job Attribute table including canceled and completed
  447.     jobs which the program updates on each polling cycle.  Such a
  448.     program polls at the rate of the persistence of the Attribute
  449.     table.  The design is not optimized to help such an application
  450.     determine which jobs are completed or canceled.  Instead, the
  451.     application shall query each job that the application's shadow copy
  452.     shows was not complete or canceled at the previous poll cycle to
  453.     see if it is now complete or canceled, plus any new jobs that have
  454.     been submitted.
  455.  
  456. The MIB provides a set of objects that represent a compatible subset of
  457. job and document attributes of the ISO DPA standard[2], so that
  458. coherence is maintained between the two protocols and information
  459. presented to end users and system operators.  However, the job
  460. monitoring MIB is intended to be used with printers that implement other
  461. job submitting and management protocols, such as IEEE 1284.1 (TIPSI)[4],
  462. as well as with ones that do implement ISO DPA.  So nothing in the job
  463. monitoring MIB shall require implementation of the ISO DPA protocol.
  464.  
  465. The MIB is designed so that an additional MIB(s) can be specified in the
  466. future for  monitoring  multi-function  (scan, FAX,  copy)  jobs  as  an
  467. augmentation to this MIB.
  468.  
  469. 2. Terminology and Job Model
  470.  
  471. This section defines the terms that are used in this specification and
  472. the general model for jobs.
  473.  
  474.   NOTE - Existing systems use conflicting terms, so these terms are
  475.   drawn from the ISO 10175 Document Printing Application (DPA)
  476.   standard[2].  For example, PostScript systems use the term session for
  477.   what we call a job in this specification and the term job to mean what
  478.   we call a document in this paper.  PJL systems use the term ..
  479.  
  480. A job is a unit of work whose results are expected together without
  481. interjection of unrelated results.  A client is able to specify job
  482. instructions that apply to the job as a whole.  Proscriptive
  483. instructions specify how, when, and where the job is to be printed.
  484. Descriptive instructions describe the job.  A job contains one or more
  485. documents.
  486.  
  487. A job set is a set of jobs that are queued and scheduled together
  488. according to a specified scheduling algorithm for a specified device or
  489. set of devices.  For implementations that embed the SNMP agent in the
  490. device, the MIB job set normally represents all the jobs known to the
  491. device, so that the implementation only implements a single job set
  492.  
  493.  
  494.  
  495. Bergman, Hastings, Isaacson, Lewis                  [Page 8]
  496.  
  497.                          Job Monitoring MIB, V0.81   April 24, 1997
  498.  
  499. which may be identified with a hard-coded value 1.  If the SNMP agent is
  500. implemented in a server that controls one or more devices, each MIB job
  501. set represents a job queue for (1) a specific device or (2) set of
  502. devices, if the server uses a single queue to load balance between
  503. several devices.  Each job set is disjoint; no job shall be represented
  504. in more than one MIB job set.
  505.  
  506. A document is a sub-section within a job.  A document contains print
  507. data and document instructions that apply to just the document.  The
  508. client is able to specify document instructions separately for each
  509. document in a job.  Proscriptive instructions specify how the document
  510. is to be processed and printed by the server.  Descriptive instructions
  511. describe the document.  Server implementation of more than one document
  512. per job is optional.
  513.  
  514. A client is the network entity that end users use to submit jobs to
  515. spoolers, servers, or printers and other devices, depending on the
  516. configuration, using any job submission protocol.
  517.  
  518. A server is a network entity that accepts jobs from clients and in turn
  519. submits the jobs to printers and other devices.  A server may be a
  520. printer supervisor control program, or a print spooler.
  521.  
  522. A device is a hardware entity that (1) interfaces to humans in human
  523. perceptible means, such as produces marks on paper, scans marks on paper
  524. to produce an electronic representations, or writes CD-ROMs or (2)
  525. interfaces to a network, such as sends FAX data to another FAX device.
  526.  
  527. A printer is a device that puts marks on media.
  528.  
  529. A supervisor is a server that contains a control program that controls a
  530. printer or other device.  A supervisor is a client to the printer or
  531. other device.
  532.  
  533. A spooler is a server that accepts jobs, spools the data, and decides
  534. when and on which printer to print the job.  A spooler is a client to a
  535. printer or a printer supervisor, depending on implementation.
  536.  
  537. Spooling is the act of a device or server of (1) accepting jobs and (2)
  538. writing the job's attributes and document data on to secondary storage.
  539.  
  540. Queuing is the act of a device or server of ordering (queuing) the jobs
  541. for the purposes of scheduling the jobs to be processed.
  542.  
  543. A monitor or job monitoring application  is the network entity that End
  544. Users, System Operators, Accountants, Asset Managers, and Capacity
  545. Planners use to monitor jobs using SNMP.  A monitor may be either a
  546. separate application or may be part of the client that also submits
  547. jobs.
  548.  
  549. An agent is the network entity that accepts SNMP requests from a monitor
  550. and implements the Job Monitoring MIB.
  551.  
  552. A proxy is an agent that acts as a concentrator for one or more other
  553. agents by accepting SNMP operations on the behalf of one or more other
  554.  
  555.  
  556.  
  557. Bergman, Hastings, Isaacson, Lewis                  [Page 9]
  558.  
  559.                          Job Monitoring MIB, V0.81   April 24, 1997
  560.  
  561. agents, forwarding them on to those other agents, gathering responses
  562. from those other agents and returning them to the original requesting
  563. monitor.
  564.  
  565. A user is a person that uses a client or a monitor.
  566.  
  567. An end user is a user that uses a client to submit a print job.
  568.  
  569. A system operator is a user that uses a monitor to monitor the system
  570. and carries out tasks to keep the system running.
  571.  
  572. A system administrator is a user that specifies policy for the system.
  573.  
  574. A job instruction is an instruction specifying how, when, or where the
  575. job is to be processed.  Job instructions may be passed in the job
  576. submission protocol or may be embedded in the document data or a
  577. combination depending on the job submission protocol and implementation.
  578.  
  579. A document instruction is an instruction specifying how to process the
  580. document.  Document instructions may be passed in the job submission
  581. protocol separate from the actual document data, or may be embedded in
  582. the document data or a combination, depending on the job submission
  583. protocol and implementation.
  584.  
  585. An SNMP information object is a name, value-pair that specifies an
  586. action, a status, or a condition in an SNMP MIB.  Objects are identified
  587. in SNMP by an OBJECT IDENTIFIER.
  588.  
  589. An attribute is a name, value-pair that specifies an instruction, a
  590. status, or a condition of a job or a document that has been submitted to
  591. a server or device.  A particular attribute need not be present in each
  592. job instance.  In other words, attributes are present in a job instance
  593. only when there is a need to express the value, either because (1) the
  594. client supplied a value in the job submission protocol, (2) the document
  595. data contained an embedded attribute, or (3) the server or device
  596. supplied a default value.  An agent shall represent an attribute as an
  597. entry (row) in the attribute table in this MIB in which entries are
  598. present only when necessary.  Attributes are identified in this MIB by
  599. an enum..
  600.  
  601. Job monitoring using SNMP is (1) identifying jobs within the serial
  602. streams of data being processed by the server, printer or other devices,
  603. (2) creating "rows" in the job table for each job, and (3) recording
  604. information, known by the agent, about the processing of the job in that
  605. "row".
  606.  
  607. Job accounting is recording what happens to the job during the
  608. processing and printing of the job.
  609.  
  610. 3. System Configurations for the Job Monitoring MIB
  611.  
  612. This section enumerates the three configurations for which the Job
  613. Monitoring MIB is intended to be used.  To simplify the pictures, the
  614. devices are shown as printers.  See Goals section.
  615.  
  616.  
  617.  
  618.  
  619. Bergman, Hastings, Isaacson, Lewis                 [Page 10]
  620.  
  621.                          Job Monitoring MIB, V0.81   April 24, 1997
  622.  
  623. The diagram in the Printer MIB[1] entitled: "One Printer's View of the
  624. Network" is assumed for this MIB as well.  Please refer to that diagram
  625. to aid in understand the following system configurations.
  626.  
  627. 3.1 Configuration 1 - client-printer
  628.  
  629. In the client-printer configuration, the client(s) submit jobs directly
  630. to the printer, either by some direct connect, or by network connection.
  631. The client-printer configuration can accommodate multiple job submitting
  632. clients in either of two ways:
  633.  
  634.      1.if each client relinquishes control of the Print Job Delivery
  635.        Channel after each job (or after a number of jobs)
  636.  
  637.      2.if the printer supports more than one Print Job Delivery Channel
  638.  
  639. The job submitting client and/or monitoring application monitor jobs by
  640. communicating directly with an agent that is part of the printer.  The
  641. agent in the printer shall keep the job in the Job Monitoring MIB as
  642. long as the job is in the Printer, and longer in order to implement the
  643. completed state in which monitoring programs can copy out the accounting
  644. data from the Job Monitoring MIB.
  645.  
  646.  
  647.                all         end-user     ######## SNMP query
  648.             +-------+     +--------+    ---- job submission
  649.             |monitor|     | client |
  650.             +---#---+     +--#--+--+
  651.                 #            #  |
  652.                 # ############  |
  653.                 # #             |
  654.          +==+===#=#=+==+        |
  655.          |  | agent |  |        |
  656.          |  +-------+  |        |
  657.          |   PRINTER   <--------+
  658.          |             | Print Job Delivery Channel
  659.          |             |
  660.          +=============+
  661.  
  662. Figure 1 - Configuration 1 - client-printer - agent in the printer
  663.  
  664.  
  665. The Job Monitoring MIB is designed to support the following
  666. relationships (not shown in Figure 1):
  667.   1.Multiple clients may submit jobs to a printer.
  668.   2.Multiple clients may monitor a printer.
  669.   3.Multiple monitors may monitor a printer.
  670.   4.A client may submit jobs to multiple printers.
  671.   5.A monitor may monitor multiple printers.
  672.  
  673. 3.2 Configuration 2 - client-server-printer - agent in the server
  674.  
  675. In the client-server-printer configuration 2, the client(s) submit jobs
  676. to an intermediate server by some network connection, not directly to
  677.  
  678.  
  679.  
  680.  
  681. Bergman, Hastings, Isaacson, Lewis                 [Page 11]
  682.  
  683.                          Job Monitoring MIB, V0.81   April 24, 1997
  684.  
  685. the printer.  While configuration 2 is included, the design center for
  686. this MIB is configurations 1 and 3,
  687.  
  688. The job submitting client and/or monitoring application monitor job by
  689. communicating directly with:
  690.  
  691.      1.a Job Monitoring MIB agent that is part of the server (or a
  692.        front for the server)
  693.  
  694. There is no SNMP Job Monitoring MIB agent in the printer in
  695. configuration 2, at least that the client or monitor are aware.  In this
  696. configuration, the agent shall return the current values of the objects
  697. in the Job Monitoring MIB both for jobs the server keeps and jobs that
  698. the server has submitted to the printer.  In configuration 2, the server
  699. keeps a copy of the job during the time that the server has submitted
  700. the job to the printer.  Only some time after the printer completes the
  701. job, shall the server remove the representation of the job from the Job
  702. Monitoring MIB in the server.  The agent need not access the printer,
  703. except when a monitor queries the agent using an SNMP Get for an object
  704. in the Job Monitoring MIB.  Or the agent can subscribe to the
  705. notification events that the printer generates and keep the Job
  706. Monitoring MIB update to date.  The agent in the server shall keep the
  707. job in the Job Monitoring MIB as long as the job is in the Printer, and
  708. longer in order to implement the completed state in which monitoring
  709. programs can copy out the accounting data from the Job Monitoring MIB.
  710.  
  711.              all          end-user
  712.           +-------+     +----------+
  713.           |monitor|     |  client  |     ######## SNMP query
  714.           +---+---#     +---#----+-+     **** non-SNMP cntrl
  715.                    #        #    |       ---- job submission
  716.                     #       #    |
  717.                      #      #    |
  718.                       #=====#=+==v==+
  719.                       | agent |     |
  720.                       +-------+     |
  721.                       |    server   |
  722.                       +----+-----+--+
  723.                    control *     |
  724.                   **********     |
  725.                   *              |
  726.          +========v====+         |
  727.          |             |         |
  728.          |             |         |
  729.          |   PRINTER   <---------+
  730.          |             | Print Job Delivery Channel
  731.          |             |
  732.          +=============+
  733.  
  734. Figure 2 - Configuration 2 - client-server-printer - agent in the server
  735.  
  736.  
  737. The Job Monitoring MIB is designed to support the following
  738. relationships (not shown in Figure 2):
  739.   1.Multiple clients may submit jobs to a server.
  740.  
  741.  
  742.  
  743. Bergman, Hastings, Isaacson, Lewis                 [Page 12]
  744.  
  745.                          Job Monitoring MIB, V0.81   April 24, 1997
  746.  
  747.   2.Multiple clients may monitor a server.
  748.   3.Multiple monitors may monitor a server.
  749.   4.A client may submit jobs to multiple servers.
  750.   5.A monitor may monitor multiple servers.
  751.   6.Multiple servers may submit jobs to a printer.
  752.   7.Multiple servers may control a printer.
  753.  
  754. 3.3 Configuration 3 - client-server-printer - client monitors printer
  755. agent and server
  756.  
  757. In the client-server-printer configuration 3, the client(s) submit jobs
  758. to an intermediate server by some network connection, not directly to
  759. the printer.
  760.  
  761. The job submitting client and/or monitoring application monitor jobs by
  762. communicating directly with:
  763.  
  764.      1.the server using some protocol to monitor jobs in the server
  765.        that does not contain the Job Monitoring MIB AND
  766.  
  767.      2.a Job Monitoring MIB agent that is part of the printer to
  768.        monitor jobs after the server passes the jobs to the printer.
  769.        In such configurations, the server deletes its copy of the job
  770.        from the server after submitting the job to the printer usually
  771.        almost immediately (before the job does much processing, if
  772.        any).
  773.  
  774. There is no SNMP Job Monitoring MIB agent in the server in configuration
  775. 3, at least that the client or monitor are aware.  In this
  776. configuration, the agent (in the printer) shall keep the values of the
  777. objects in the Job Monitoring MIB that the agent implements updated for
  778. a job that the server has submitted to the printer.  The agent shall
  779. obtain information about the jobs submitted to the printer from the
  780. server (either in the job submission protocol, in the document data, or
  781. by direct query of the server), in order to populate some of the objects
  782. the Job Monitoring MIB in the printer.  The agent in the printer shall
  783. keep the job in the Job Monitoring MIB as long as the job is in the
  784. Printer, and longer in order to implement the completed state in which
  785. monitoring programs can copy out the accounting data from the Job
  786. Monitoring MIB.
  787.  
  788.              all          end-user
  789.           +-------+     +----------+
  790.           |monitor|     |  client  |     ######## SNMP query
  791.           +---+---*     +---*----+-+     **** non-SNMP query
  792.               #    *        *    |       ---- job submission
  793.               #     *       *    |
  794.               #      *      *    |
  795.               #       *=====v====v==+
  796.               #       |             |
  797.               #       |    server   |
  798.               #       |             |
  799.               #       +----#-----+--+
  800.               #    optional#     |
  801.               #   ##########     |
  802.  
  803.  
  804.  
  805. Bergman, Hastings, Isaacson, Lewis                 [Page 13]
  806.  
  807.                          Job Monitoring MIB, V0.81   April 24, 1997
  808.  
  809.               #   #              |
  810.          +==+=v===v=+==+         |
  811.          |  | agent |  |         |
  812.          |  +-------+  |         |
  813.          |   PRINTER   <---------+
  814.          |             | Print Job Delivery Channel
  815.          |             |
  816.          +=============+
  817.  
  818. Figure 3 - Configuration 3 - client-server-printer - client monitors
  819. printer agent and server
  820.  
  821.  
  822. The Job Monitoring MIB is designed to support the following
  823. relationships (not shown in Figure 3):
  824.   1.Multiple clients may submit jobs to a server.
  825.   2.Multiple clients may monitor a server.
  826.   3.Multiple monitors may monitor a server.
  827.   4.A client may submit jobs to multiple servers.
  828.   5.A monitor may monitor multiple servers.
  829.   6.Multiple servers may submit jobs to a printer.
  830.   7.Multiple servers may control a printer.
  831.  
  832. 4. Conformance Considerations
  833.  
  834. In order to achieve interoperability between job monitoring applications
  835. and job monitoring agents, this specification includes the conformance
  836. requirements for both monitoring applications and agents.
  837.  
  838. 4.1 Conformance Terminology
  839.  
  840. This specification uses the verbs: "shall", "should", "may", and "need
  841. not" to specify conformance requirements as follows:
  842.  
  843.   . "shall":  indicates an action that the subject of the sentence must
  844.     implement in order to claim conformance to this specification
  845.  
  846.   . "may":  indicates an action that the subject of the sentence does
  847.     not have to implement in order to claim conformance to this
  848.     specification, in other words that action is an implementation
  849.     option
  850.  
  851.   . "need not":  indicates an action that the subject of the sentence
  852.     does not have to implement in order to claim conformance to this
  853.     specification.  The verb "need not" is used instead of "may not",
  854.     since "may not" sounds like a prohibition.
  855.  
  856.   . "should":  indicates an action that is recommended for the subject
  857.     of the sentence to implement, but is not required, in order to
  858.     claim conformance to this specification.
  859.  
  860. 4.2 Agent Conformance Requirements
  861.  
  862. A conforming agent:
  863.  
  864.  
  865.  
  866.  
  867. Bergman, Hastings, Isaacson, Lewis                 [Page 14]
  868.  
  869.                          Job Monitoring MIB, V0.81   April 24, 1997
  870.  
  871. 1.shall implement all mandatory groups and attributes in this
  872.   specification.
  873.  
  874. 2.shall implement each  conditionally mandatory attributes, if the
  875.   server or device that the agent is instrumenting has the feature
  876.   represented by the conditionally mandatory attribute..
  877.  
  878. 3.need not implement both forms of a time attribute if it implements a
  879.   time attribute and is recommended not to provide both forms for a
  880.   particular time attribute.  See page 43.
  881.  
  882.   NOTE - This MIB, like the Printer MIB, is written following the
  883.   subset of SMIv2 that can be supported by SMIv1 and SNMPv1
  884.   implementations.
  885.  
  886. 4.2.1 MIB II System Group objects
  887.  
  888. The Job Monitoring MIB agent shall implement all objects in the system
  889. group of MIB-II (RFC 1213)[5], whether the Printer MIB[1] is implemented
  890. or not.
  891.  
  892. 4.2.2 MIB II Interface Group objects
  893.  
  894. The Job Monitoring MIB agent shall implement all objects in the
  895. Interfaces Group of MIB-II (RFC 1213)[5], whether the Printer MIB[1] is
  896. implemented or not.
  897.  
  898. 4.2.3 Printer MIB objects
  899.  
  900. If the agent is instrumenting a device that is a printer, the agent
  901. shall implement all of the mandatory objects in the Printer MIB[1] and
  902. all the objects in other MIBs that conformance to the Printer MIB
  903. requires, such as the Host Resources MIB (RFC 1514)[6].  If the agent is
  904. instrumenting a server that controls one or more networked printers, the
  905. agent need not implement the Printer MIB and need not implement the Host
  906. Resources MIB.
  907.  
  908. 4.3 Job Monitoring Application Conformance Requirements
  909.  
  910. A conforming job monitoring application:
  911.  
  912. 1.shall accept all objects in all mandatory groups and all mandatory
  913.   and conditionally mandatory attributes that are required to be
  914.   implemented by an agent according to Section 4.2 and shall either
  915.   present them to the user or ignore them.
  916.  
  917. 2.shall accept all enum and bit values specified in this standard and
  918.   additional ones that may be registered with IANA and shall either
  919.   present them to the user or ignore them.  In particular, a conforming
  920.   job monitoring application shall not malfunction when receiving any
  921.   standard or registered enum or bit values.  See Section 7 entitled
  922.   "IANA Considerations" on page 17.
  923.  
  924.  
  925.  
  926.  
  927.  
  928.  
  929. Bergman, Hastings, Isaacson, Lewis                 [Page 15]
  930.  
  931.                          Job Monitoring MIB, V0.81   April 24, 1997
  932.  
  933. 3.shall accept either form of time attribute, if it supports a time
  934.   attribute, since agents are free to implement either time form.  See
  935.   page 43.
  936.  
  937. 5. Job Identification
  938.  
  939. There are a number of attributes that permit a user, operator or system
  940. administrator to identify jobs of interest, such as jobOwner, jobName,
  941. etc.  In addition, there is a Job Submission ID object that allows a
  942. monitoring application to quickly locate and identify a particular job
  943. of interest that was submitted from a particular client by the user
  944. invoking the monitoring application.  The Job Monitoring MIB needs to
  945. provide for identification of the job at both sides of the job
  946. submission process.  The primary identification point is the client
  947. side.  The Job Submission ID allows the monitoring application to
  948. identify the job of interest from all the jobs currently "known" by the
  949. server or device.  The Job Submission ID can be assigned by either the
  950. client's local system or a downstream server or device.  The point of
  951. assignment will be determined by the job submission protocol in use.
  952.  
  953. The server/device-side identifier, called the jmJobIndex object, will be
  954. assigned by the server or device that accepts the jobs from submitting
  955. clients.  The MIB agent shall use the job identifier assigned by the
  956. server or device to the job as the value of the jmJobIndex object that
  957. defines the table rows (there are multiple tables) that contain the
  958. information relating to the job.  This object allows the interested
  959. party to obtain all objects desired that relate to this job.  The MIB
  960. provides a mapping table that maps each Job Submission ID to the
  961. corresponding jmJobIndex value, so that an application can determine the
  962. correct value for the jmJobIndex value for the job of interest in a
  963. single Get operation.  See the jmJobIDGroup on page 59.
  964.  
  965. The jobName attribute provides a name that the user supplies an a job
  966. attribute with the job.  The jobName attribute is not necessarily
  967. unique, even for one user, let alone across users.
  968.  
  969. 6. Internationalization Considerations
  970.  
  971. There are a number of objects in this MIB that are represented as coded
  972. character sets.  The data type for such objects is OCTET STRING.  Such
  973. objects could be in different coded character sets and could be
  974. localized in the language and country, i.e., could be localized.
  975. However, for the Job Monitoring MIB, most of the objects are supplied as
  976. job attributes by the client that submits the job to the server or
  977. device and so are represented in the coded character set specified by
  978. that client.  Therefore, the agent is not able to provide for different
  979. representations depending on the locale of the server, device, or user
  980. of the job monitoring application.  The only exception is job submission
  981. protocols that pass job or document attributes as OBJECT IDENTIFIERS or
  982. enums.  For those job and document attributes, the agent shall represent
  983. the corresponding objects in the Job Monitoring MIB as coded character
  984. sets in the current (default) locale of the server or printer as
  985. established by the system administrator or the implementation.
  986.  
  987.  
  988.  
  989.  
  990.  
  991. Bergman, Hastings, Isaacson, Lewis                 [Page 16]
  992.  
  993.                          Job Monitoring MIB, V0.81   April 24, 1997
  994.  
  995. For simplicity, this specification assumes that the clients, job
  996. monitoring applications, servers, and devices are all running in the
  997. same locale.  However, this specification allows them to run in any
  998. locale, including locales that use two-octet coded character sets, such
  999. as ISO 10646 (Unicode).  Job monitors applications are expected to
  1000. understand the coded character set of the client (and job), server, or
  1001. device.  No special means is provided for the monitor to discover the
  1002. coded character set used by jobs or by the server or device.  This
  1003. specification does not contain an object that indicates what locale the
  1004. server or device is running in, let alone contain an object to control
  1005. what locale the agent is to use to represent coded character set
  1006. objects.
  1007.  
  1008. This MIB also contains objects that are represented using the
  1009. DateAndTime textual convention from SNMPv2-TC (RFC 1903).  The job
  1010. management application shall display such objects in the locale of the
  1011. user running the monitoring application.
  1012.  
  1013. 7. IANA Considerations
  1014.  
  1015. During the development of this standard, the Printer Working Group (PWG)
  1016. working with IANA will register additional enums while the standard is
  1017. in the proposed and draft states according to the procedures described
  1018. in this section.  IANA will handle registration of additional enums
  1019. after this standard is approved in cooperation with an IANA-appointed
  1020. registration editor from the PWG according to the procedures described
  1021. in this section:
  1022.  
  1023. 7.1 IANA Registration of enums
  1024.  
  1025. This specification uses textual conventions to define enumerated values
  1026. (enums) and bit values.  Enumerations (enums) and bit values are sets of
  1027. symbolic values defined for use with one or more objects or attributes.
  1028. All enumeration sets and bit value sets are assigned a symbolic data
  1029. type name (textual convention).  As a convention the symbolic name ends
  1030. in "TC" for textual convention.  These enumerations are defined at the
  1031. beginning of the MIB module specification.
  1032.  
  1033. This working group has defined several type of enumerations for use in
  1034. the Job Monitoring MIB and the Printer MIB[1].  These types differ in
  1035. the method employed to control the addition of new enumerations.
  1036. Throughout this document, references to "type n enum", where n can be 1,
  1037. 2 or 3 can be found in the various tables.  The definitions of these
  1038. types of enumerations are:
  1039.  
  1040. 7.1.1 Type 1 enumerations
  1041.  
  1042. Type 1 enumeration:  All the values are defined in the Job Monitoring
  1043. MIB specification (RFC for the Job Monitoring MIB).  Additional
  1044. enumerated values require a new RFC.
  1045.  
  1046. NOTE - There are no type 1 enums in the current draft.
  1047.  
  1048.  
  1049.  
  1050.  
  1051.  
  1052.  
  1053. Bergman, Hastings, Isaacson, Lewis                 [Page 17]
  1054.  
  1055.                          Job Monitoring MIB, V0.81   April 24, 1997
  1056.  
  1057. 7.1.2 Type 2 enumerations
  1058.  
  1059. Type 2 enumeration:  An initial set of values are defined in the Job
  1060. Monitoring MIB specification.  Additional enumerated values are
  1061. registered after review by this working group. The initial versions of
  1062. the MIB will contain the values registered so far. After the MIB is
  1063. approved, additional values will be registered through IANA after
  1064. approval by this working group.
  1065.  
  1066. The following type 2 enums are contained in the current draft :
  1067.   1.JmTimeStampTC
  1068.   2.JmFinishingTC
  1069.   3.JmPrintQualityTC
  1070.   4.JmTonerEconomyTC
  1071.   5.JmTonerDensityTC
  1072.   6.JmMediumTypeTC
  1073.   7.JmJobStateTC
  1074.   8.JmAttributeTypeTC
  1075.  
  1076. 7.1.3 Type 3 enumeration
  1077.  
  1078. Type 3 enumeration:  An initial set of values are defined in the Job
  1079. Monitoring MIB specification.  Additional enumerated values are
  1080. registered without working group review.  The initial versions of the
  1081. MIB will contain the values registered so far.  After the MIB is
  1082. approved, additional values will be registered through IANA without
  1083. approval by this working group.
  1084.  
  1085. NOTE - There are no type 3 enums in the current draft.
  1086.  
  1087. 7.2 IANA Registration of type 2 bit values
  1088.  
  1089. This draft contains the following type 2 bit value textual-conventions:
  1090.   1.JmJobServiceTypesTC
  1091.   2.JmJobStateReasons1TC
  1092.   3.JmJobStateReasons2TC
  1093.   4.JmJobStateReasons3TC
  1094.   5.JmJobStateReasons4TC
  1095.  
  1096. These textual-conventions are defined as bits in an Integer so that they
  1097. may be used with SNMPv1 SMI..  The jobStateReasonsn (n=1..4) attributes
  1098. are defined as bit values using the JmJobStateReasonsnTC textual-
  1099. convention.
  1100.  
  1101. The registration of JmJobServiceTypesTC and JmJobStateReasonsnTC bit
  1102. values shall follow the procedures for a type 2 enum as specified in
  1103. Section 7.1.2.
  1104.  
  1105. 7.3 IANA Registration of Job Submission Id Formats
  1106.  
  1107. In addition to enums and bit values, this specification assigns numbers
  1108. to various job submission ID formats.  See jmJobSubmissionIDIndex on
  1109. page 60.  The registration of  jmJobSubmissionIDIndex format numbers
  1110. shall follow the procedures for a type 2 enum as specified in Section
  1111. 7.1.2.
  1112.  
  1113.  
  1114.  
  1115. Bergman, Hastings, Isaacson, Lewis                 [Page 18]
  1116.  
  1117.                          Job Monitoring MIB, V0.81   April 24, 1997
  1118.  
  1119. 8. Security Considerations
  1120.  
  1121. 8.1 Read-Write objects
  1122.  
  1123. All objects are read-only greatly simplifying the security
  1124. considerations.  If another MIB augments this MIB, that MIB might allow
  1125. objects in this MIB to be modified.  However, that MIB shall have to
  1126. support the required access control in order to achieve security, not
  1127. this MIB.
  1128.  
  1129. 8.2 Read-Only Objects In Other User's Jobs
  1130.  
  1131. The security policy of some sites may be that unprivileged users can
  1132. only get the objects from jobs that they submitted, plus a few minimal
  1133. objects from other jobs, such as the jobKOctetsRequested and
  1134. jobKOctetsCompleted attributes, so that a user can tell how busy a
  1135. printer is.  Other sites might allow all unprivileged users to see all
  1136. objects of all jobs.  It is up to the agent to implement any such
  1137. restrictions based on the identification of the user making the SNMP
  1138. request.  This MIB does not require, nor does it specify how, such
  1139. restrictions would be implemented.  A monitoring application should
  1140. enforce the site security policy with respect to returning information
  1141. to an unprivileged end user that is using the monitoring application to
  1142. monitor jobs that do not belong to that user, i.e., the jobOwner
  1143. attribute in the jmAttributeTable does not match the user's user name.
  1144. See the JmAttributeTypeTC textual convention on page 41 and the
  1145. jmAttributeTable.
  1146.  
  1147. An operator is a privileged user that would be able to see all objects
  1148. of all jobs, independent of the policy for unprivileged users.
  1149.  
  1150. 9. Returning Objects With No Value In Mandatory Groups
  1151.  
  1152. If an object in a mandatory group does not have an instrumented value
  1153. for a particular job submission protocol or the job submitting client
  1154. did not supply a value (and the accepting server or device does not
  1155. supply a default), this MIB requires that the agent shall follow the
  1156. normal SNMP practice of returning a distinguished value, such as a zero-
  1157. length string, an unknown(2) value for an enum, or a (-2) for an integer
  1158. value.
  1159.  
  1160. 10. Notification and Traps
  1161.  
  1162. This MIB does not specify any traps.  For simplicity, management
  1163. applications are expected to poll for status.  The resulting network
  1164. traffic is not expected to be significant.
  1165.  
  1166. 11. MIB specification
  1167.  
  1168. The following pages constitute the actual Job Monitoring MIB.
  1169.  
  1170.  
  1171.  
  1172.  
  1173.  
  1174.  
  1175.  
  1176.  
  1177. Bergman, Hastings, Isaacson, Lewis                 [Page 19]
  1178.  
  1179.                          Job Monitoring MIB, V0.81   April 24, 1997
  1180.  
  1181. Job-Monitoring-MIB DEFINITIONS ::= BEGIN
  1182.  
  1183. IMPORTS
  1184.     MODULE-IDENTITY, OBJECT-TYPE, experimental,
  1185.     Integer32                                        FROM SNMPv2-SMI
  1186.     TEXTUAL-CONVENTION                               FROM SNMPv2-TC
  1187.     MODULE-COMPLIANCE, OBJECT-GROUP                  FROM SNMPv2-CONF;
  1188.     -- The following textual-conventions are needed
  1189.     -- to implement certain attributes, but are not
  1190.     -- needed to compile this MIB.  They are
  1191.     -- provided here for convenience:
  1192.     -- DateAndTime                                   FROM SNMPv2-TC
  1193.     -- PrtAlertCodeTC, PrtInterpreterLangFamilyTC    FROM Printer-MIB
  1194.  
  1195. -- Use the experimental (54) OID assigned to the Printer MIB[1] before
  1196. -- it was published as RFC 1759.
  1197. -- Upon publication of the Job Monitoring MIB as an RFC, delete this
  1198. -- comment and the line following this comment and change the
  1199. -- reference of { temp 104 } (below) to { mib-2 X }.
  1200. -- This will result in changing:
  1201. -- 1 3 6 1 3 54 jobmonMIB(105)    to:
  1202. -- 1 3 6 1 2  1 jobmonMIB(X)
  1203. -- This will make it easier to translate prototypes to
  1204. -- the standard namespace because the lengths of the OIDs won't
  1205. -- change.
  1206. temp OBJECT IDENTIFIER ::= { experimental 54 }
  1207.  
  1208. jobmonMIB MODULE-IDENTITY
  1209.     LAST-UPDATED "9704240000Z"
  1210.     ORGANIZATION "IETF Printer MIB Working Group"
  1211.     CONTACT-INFO
  1212.         "Tom Hastings
  1213.         Postal:  Xerox Corp.
  1214.                  Mail stop ESAE-231
  1215.                  701 S. Aviation Blvd.
  1216.                  El Segundo, CA 90245
  1217.  
  1218.         Tel:     (301)333-6413
  1219.         Fax:     (301)333-5514
  1220.         E-mail:  hastings@cp10.es.xerox.com"
  1221.     DESCRIPTION
  1222.         "The MIB module for monitoring job in servers, printers, and
  1223.         other devices.
  1224.  
  1225.         File: jmp-mib.doc,  .pdf,  .txt,  .mib
  1226.         Version: 0.81"
  1227.     ::= { temp 105 }
  1228.  
  1229.  
  1230.  
  1231. -- Textual conventions for this MIB module
  1232.  
  1233.  
  1234.  
  1235. JmTimeStampTC ::= TEXTUAL-CONVENTION
  1236.  
  1237.  
  1238.  
  1239. Bergman, Hastings, Isaacson, Lewis                 [Page 20]
  1240.  
  1241.                          Job Monitoring MIB, V0.81   April 24, 1997
  1242.  
  1243.     STATUS      current
  1244.     DESCRIPTION
  1245.         "The simple time at which an event took place.  The units shall
  1246.         be in seconds since the system was booted.
  1247.  
  1248.         NOTE - JmTimeStampTC is defined in units of seconds, rather than
  1249.         100ths of seconds, so as to be simpler for agents to implement
  1250.         (even if they have to implement the 100ths of a second to comply
  1251.         with implementing sysUpTime in MIB-II[5].)
  1252.  
  1253.         NOTE - JmTimeStampTC is defined as an Integer32 so that it can
  1254.         be used as a value of an attribute, i.e., as a value of the
  1255.         jmAttributeValueAsInteger object (see page 66).  The TimeStamp
  1256.         textual-convention defined in SMNPv2-TC is defined as an
  1257.         APPLICATION 3 IMPLICIT INTEGER tag, not an Integer32, so cannot
  1258.         be used in this MIB as one of the values of
  1259.         jmAttributeValueAsInteger."
  1260.     SYNTAX      INTEGER(0..2147483647)
  1261.  
  1262.  
  1263.  
  1264.  
  1265.  
  1266. JmJobSourcePlatformTypeTC ::= TEXTUAL-CONVENTION
  1267.     STATUS      current
  1268.     DESCRIPTION
  1269.         "The source platform type that can submit jobs to servers or
  1270.         devices in any of the 3 configurations."
  1271.  
  1272.     -- This is a type 2 enumeration.  See Section 7.1 on page 17.
  1273.     SYNTAX      INTEGER {
  1274.         other(1),
  1275.         unknown(2),
  1276.         sptUNIX(3),            -- UNIX(tm)
  1277.         sptOS2(4),             -- OS/2
  1278.         sptPCDOS(5),           -- DOS
  1279.         sptNT(6),              -- NT
  1280.         sptMVS(7),             -- MVS
  1281.         sptVM(8),              -- VM
  1282.         sptOS400(9),           -- OS/400
  1283.         sptVMS(10),            -- VMS
  1284.         sptWindows95(11),      -- Windows95
  1285.         sptNetWare(33)         -- NetWare
  1286.     }
  1287.  
  1288.  
  1289.  
  1290.  
  1291.  
  1292.  
  1293. JmFinishingTC ::= TEXTUAL-CONVENTION
  1294.     STATUS      current
  1295.     DESCRIPTION
  1296.         "The type of finishing."
  1297.  
  1298.  
  1299.  
  1300.  
  1301. Bergman, Hastings, Isaacson, Lewis                 [Page 21]
  1302.  
  1303.                          Job Monitoring MIB, V0.81   April 24, 1997
  1304.  
  1305.     -- This is a type 2 enumeration.  See Section 7.1 on page 17.
  1306.     SYNTAX      INTEGER {
  1307.         other(1),
  1308.             --  Some other finishing besides one of the specified or
  1309.             --  registered values.
  1310.  
  1311.         unknown(2),
  1312.             --  The finishing is unknown.
  1313.  
  1314.         none(3),
  1315.             --  Perform no finishing.
  1316.  
  1317.         staple(4),
  1318.             --  Bind the document(s) with one or more staples. The exact
  1319.             --  number and placement of the staples is site-defined.
  1320.  
  1321.         stapleTopLeft(5),
  1322.             --  Place one or more staples on the top left corner of the
  1323.             --  document(s).
  1324.  
  1325.         stapleBottomLeft(6),
  1326.             --  Place one or more staples on the bottom left corner of
  1327.             --  the document(s).
  1328.  
  1329.         stapleTopRight(7),
  1330.             --  Place one or more staples on the top right corner of the
  1331.             --  document(s).
  1332.  
  1333.         stapleBottomRight(8),
  1334.             --  Place one or more staples on the bottom right corner of
  1335.             --  the document(s).
  1336.  
  1337.         saddleStitch(9),
  1338.             --  Bind the document(s) with one or more staples (wire
  1339.             --  stitches) along the middle fold.  The exact number and
  1340.             --  placement of the stitches is site-defined.
  1341.  
  1342.         edgeStitch(10),
  1343.             --  Bind the document(s) with one or more staples (wire
  1344.             --  stitches) along one edge.  The exact number and 
  1345.             --  placement of the staples is site-defined.
  1346.  
  1347.         punch(11),
  1348.             --  This value indicates that holes are required in the
  1349.             --  finished document. The exact number and placement of the
  1350.             --  holes is site-defined  The punch specification may be
  1351.             --  satisfied (in a site- and implementation-specific 
  1352.             --  manner) either by drilling/punching, or by substituting 
  1353.             --  pre-drilled media.
  1354.  
  1355.         cover(12),
  1356.             --  This value is specified when it is desired to select a
  1357.             --  non-printed (or pre-printed) cover for the document. 
  1358.             --  This does not supplant the specification of a printed 
  1359.             --  cover (on cover stock medium) by the document itself.
  1360.  
  1361.  
  1362.  
  1363. Bergman, Hastings, Isaacson, Lewis                 [Page 22]
  1364.  
  1365.                          Job Monitoring MIB, V0.81   April 24, 1997
  1366.  
  1367.  
  1368.         bind(13)
  1369.             --  This value indicates that a binding is to be applied to
  1370.             --  the document; the type and placement of the binding is
  1371.             --  site-defined.
  1372.  
  1373.     }
  1374.  
  1375.  
  1376.  
  1377.  
  1378.  
  1379.  
  1380. JmPrintQualityTC ::= TEXTUAL-CONVENTION
  1381.     STATUS      current
  1382.     DESCRIPTION
  1383.         "Print quality settings."
  1384.  
  1385.     -- This is a type 2 enumeration.  See Section 7.1 on page 17.
  1386.     SYNTAX      INTEGER {
  1387.         other(1),     --  Not one of the specified or registered values.
  1388.         unknown(2),   --  The actual value is unknown.
  1389.         draft(3),     --  Lowest quality available on the printer.
  1390.         normal(4),    --  Normal or intermediate quality on the printer.
  1391.         high(5)       --  Highest quality available on the printer.
  1392.     }
  1393.  
  1394.  
  1395.  
  1396.  
  1397.  
  1398.  
  1399. JmTonerEconomyTC ::= TEXTUAL-CONVENTION
  1400.     STATUS      current
  1401.     DESCRIPTION
  1402.         "Toner economy settings."
  1403.  
  1404.     -- This is a type 2 enumeration.  See Section 7.1 on page 17.
  1405.     SYNTAX      INTEGER {
  1406.         off(0),        --  Off.  Normal.  Use full toner.
  1407.         on(1)          --  On.  Use less toner than normal.
  1408.     }
  1409.  
  1410.  
  1411.  
  1412.  
  1413.  
  1414.  
  1415. JmMediumTypeTC ::= TEXTUAL-CONVENTION
  1416.     STATUS      current
  1417.     DESCRIPTION
  1418.         "Identifies the type of medium."
  1419.  
  1420.     -- This is a type 2 enumeration.  See Section 7.1 on page 17.
  1421.     SYNTAX      INTEGER {
  1422.  
  1423.  
  1424.  
  1425. Bergman, Hastings, Isaacson, Lewis                 [Page 23]
  1426.  
  1427.                          Job Monitoring MIB, V0.81   April 24, 1997
  1428.  
  1429.      other(1),
  1430.          -- The type is neither one of the values listed in this
  1431.          -- specification nor a registered value.
  1432.  
  1433.      unknown(2),
  1434.          -- The type is not known.
  1435.  
  1436.      stationery(3),
  1437.          -- Separately cut sheets of an opaque material.
  1438.  
  1439.      transparency(4),
  1440.          -- Separately cut sheets of a transparent material.
  1441.  
  1442.      envelope(5),
  1443.          -- Envelopes that can be used for conventional mailing
  1444.          -- purposes.
  1445.  
  1446.      envelopePlain(6),
  1447.          -- Envelopes that are not preprinted and have no windows.
  1448.  
  1449.      envelopeWindow(7),
  1450.          -- Envelopes that have windows for addressing purposes.
  1451.  
  1452.      continuousLong(8),
  1453.          -- Continuously connected sheets of an opaque material
  1454.          -- connected along the long edge.
  1455.  
  1456.      continuousShort(9),
  1457.          -- Continuously connected sheets of an opaque material
  1458.          -- connected along the short edge.
  1459.  
  1460.      tabStock(10),
  1461.          -- Media with tabs.
  1462.  
  1463.      multiPartForm(11),
  1464.          -- Form medium composed of multiple layers not pre-attached
  1465.          -- to one another;  each sheet may be drawn separately from
  1466.          -- an input source.
  1467.  
  1468.      labels(12),
  1469.          -- Label-stock.
  1470.  
  1471.      multiLayer(13)
  1472.          -- Form medium composed of multiple layers which are pre-
  1473.          -- attached to one another, e.g. for use with impact
  1474.          -- printers.
  1475.  
  1476.     }
  1477.  
  1478.  
  1479.  
  1480.  
  1481.  
  1482.  
  1483. JmJobStateTC ::= TEXTUAL-CONVENTION
  1484.  
  1485.  
  1486.  
  1487. Bergman, Hastings, Isaacson, Lewis                 [Page 24]
  1488.  
  1489.                          Job Monitoring MIB, V0.81   April 24, 1997
  1490.  
  1491.     STATUS      current
  1492.     DESCRIPTION
  1493.         "The current state of the job (pending, processing, held, etc.)
  1494.  
  1495.         Management applications shall be prepared to receive all the
  1496.         standard job states.  Agents instrumenting servers and devices
  1497.         are not required to generate all job states, only those that are
  1498.         indicated as 'mandatory' in the enum definitions below.  The
  1499.         remaining job states are 'conditionally mandatory', i.e., an
  1500.         agent for a server or device shall implement each of the
  1501.         remaining states if server or device jobs have states with the
  1502.         same semantics.  See Section 12 entitled 'Job Life Cycle' on
  1503.         page 70 for additional job state semantics, legal job state
  1504.         transitions, and implementation considerations.
  1505.  
  1506.         Companion textual conventions (JmJobStateReasonsnTC, n=1..4) and
  1507.         corresponding attributes (jobStateReasonsn) provide additional
  1508.         information about job states.  While the job states cannot be
  1509.         added to without impacting deployed clients, it is the intent
  1510.         that additional JmJobStateReasonsnTC enums can be defined
  1511.         without impacting deployed clients that take actions upon
  1512.         receiving job state values.  In other words, the
  1513.         JmJobStateReasonsnTC TCs are intended to be extensible.  See
  1514.         page 45.
  1515.  
  1516.         The following job state standard values are defined:"
  1517.  
  1518.     -- This is a type 2 enumeration.  See Section 7.1 on page 17.
  1519.     SYNTAX      INTEGER {
  1520.         other(1),
  1521.             -- The job state is not one of the defined states.
  1522.  
  1523.         unknown(2),
  1524.             -- The job state is not known, or is indeterminate.
  1525.  
  1526.         held(3),
  1527.             -- The job is not yet a candidate for processing for any
  1528.             -- number of reasons.  The reasons are represented as bits
  1529.             -- in the jobStateReasons1 attribute.  Some reasons are used
  1530.             -- in other states to give added information about the job
  1531.             -- state.  See the JmJobStateReasons1TC textual convention
  1532.             -- for the specification of each reason and in which states
  1533.             -- the reasons may be used.
  1534.  
  1535.         pending(4),
  1536.             -- The job is a candidate for processing, but is not yet
  1537.             -- processing.
  1538.  
  1539.         processing(5),                      -- mandatory
  1540.             -- The job is using one or more document transforms which
  1541.             -- include purely software processes, such as interpreting a
  1542.             -- PDL, and hardware devices, but is not yet making marks on
  1543.             -- a medium.
  1544.             --
  1545.             -- If an implementation does not distinguish between
  1546.  
  1547.  
  1548.  
  1549. Bergman, Hastings, Isaacson, Lewis                 [Page 25]
  1550.  
  1551.                          Job Monitoring MIB, V0.81   April 24, 1997
  1552.  
  1553.             -- processing and printing, then the processing state shall
  1554.             -- be implemented.
  1555.  
  1556.         printing(6),
  1557.             -- The job is printing, i.e., making marks on a medium.
  1558.             --
  1559.             -- If an implementation does not distinguish between
  1560.             -- processing and printing, then the processing state shall
  1561.             -- be implemented.
  1562.  
  1563.         needsAttention(7),                  -- mandatory
  1564.             -- The job is using one or more devices, but has encountered
  1565.             -- a problem with at least one device that requires human
  1566.             -- intervention before the job can continue using that
  1567.             -- device.  Examples include running out of paper or a paper
  1568.             -- jam.
  1569.             --
  1570.             -- Usually devices indicate their condition in human
  1571.             -- readable form locally at the device.  The management
  1572.             -- application can obtain more complete device status
  1573.             -- remotely by querying the appropriate device MIB using the
  1574.             -- job's deviceIndex attribute.
  1575.  
  1576.         canceled(8),                        -- mandatory
  1577.             -- The job is in the process of being terminated by the
  1578.             -- server or device or has completed terminating the job,
  1579.             -- either because the client canceled the job or because a
  1580.             -- serious problem was encountered by a document transform
  1581.             -- while processing the job.  The job's jobStateReasons1
  1582.             -- attribute shall contain the reasons that the job was
  1583.             -- canceled.  The job shall remain in the canceled state for
  1584.             -- the same period of time as if the job had completed,
  1585.             -- before transiting to the unknown state.  See the
  1586.             -- completed state description.
  1587.  
  1588.         completed(9)                        -- mandatory
  1589.             -- The job has (1) completed after processing/printing and
  1590.             -- all of the media have been successfully stacked in the
  1591.             -- output bin(s).
  1592.             --
  1593.             -- The job has completed successfully or with warnings or
  1594.             -- errors.  The job's jobStateReasons1 attribute shall
  1595.             -- contain the reasons that the job has entered the
  1596.             -- completed state.
  1597.             --
  1598.             -- The length of time that a job may be in the completed
  1599.             -- state, before transitioning to unknown, is specified by
  1600.             -- the value of the jmGeneralJobPersistence object.  In
  1601.             -- addition, the agent shall maintain all of the attributes
  1602.             -- in the jmAttributeTable for at least the time specified
  1603.             -- in the jmGeneralAttributePersistence object, so that a
  1604.             -- management application accounting program can copy all
  1605.             -- the attributes to an accounting log.
  1606.  
  1607.     }
  1608.  
  1609.  
  1610.  
  1611. Bergman, Hastings, Isaacson, Lewis                 [Page 26]
  1612.  
  1613.                          Job Monitoring MIB, V0.81   April 24, 1997
  1614.  
  1615.  
  1616.  
  1617.  
  1618. JmAttributeTypeTC ::= TEXTUAL-CONVENTION
  1619.     STATUS      current
  1620.     DESCRIPTION
  1621.         "The type of the attribute.
  1622.  
  1623.         Some attributes represent information about a job, such as a
  1624.         file-name, or a document-name, or submission-time or completion
  1625.         time.  Other attributes represent resources required, e.g., a
  1626.         medium or a colorant, etc. to process the job before the job
  1627.         start processing OR to indicate the amount of the resource that
  1628.         is being consumed while the job is processing, e.g., pages
  1629.         completed or impressions completed.  If both a required and a
  1630.         consumed value of a resource is needed, this specification
  1631.         assigns two separate attribute enums in the textual convention.
  1632.  
  1633.         Datatypes
  1634.  
  1635.         The datatype of each attribute is indicated on the first line of
  1636.         the description.  Some attributes have several different data
  1637.         type representations.  Each such representation is considered a
  1638.         separate attribute and is assigned a separate name and enum
  1639.         value.  For these attributes, the name of the datatype is the
  1640.         last part of the name of the attribute.
  1641.  
  1642.         Single-Value (Row) Versus Multi-Value (MULTI-ROW) Attributes
  1643.  
  1644.         Most attributes shall have only one row per job.  However, a few
  1645.         attributes can have multiple values per job or even per
  1646.         document, where each value is a separate row in the
  1647.         jmAttributeTable.  Unless indicated with 'MULTI-ROW:' in
  1648.         JmAttributeTypeTC, an agent shall ensure that each attribute
  1649.         item occurs only once in the jmAttributeTable for a job.
  1650.         Attributes that may appear multiple times in the
  1651.         jmAttributeTable for a job are indicated with 'MULTI-ROW:' in
  1652.         their specification in the JmAttributeTypeTC.  However, such
  1653.         attribute items shall not contain duplicates for 'intensive' (as
  1654.         opposed to 'extensive') attributes.
  1655.  
  1656.                 For example, each documentFormatType attribute entry
  1657.                 shall appear in the jmAttributeTable only once for a job
  1658.                 since the interpreter language is an intensive attribute
  1659.                 item, even though the job has a number of documents that
  1660.                 all use the same PDL.
  1661.  
  1662.                 As another example of an intensive attribute that can
  1663.                 have multiple entries, if a document or job uses
  1664.                 multiple types of media, there shall be only one row in
  1665.                 the jmAttributeTable for each media type, not one row
  1666.                 for each document that uses that medium type.
  1667.  
  1668.                 On the other hand, if a job contains two documents of
  1669.                 the same name, there can be separate rows for the
  1670.  
  1671.  
  1672.  
  1673. Bergman, Hastings, Isaacson, Lewis                 [Page 27]
  1674.  
  1675.                          Job Monitoring MIB, V0.81   April 24, 1997
  1676.  
  1677.                 documentName attribute item with the same name, since a
  1678.                 document name is an extensive attribute item.  The
  1679.                 specification indicates that the values need not be
  1680.                 unique for such 'MULTI-ROW:'
  1681.  
  1682.         Value Represented As Integer Or Octets
  1683.  
  1684.         In the following definitions of the enums, each description
  1685.         indicates whether the value of the attribute shall be
  1686.         represented using the jmAttributeValueAsInteger or the
  1687.         jmAttributeValueAsOctets objects by the initial tag: 'INTEGER:'
  1688.         or 'OCTETS:', respectively.  A very few attributes use both
  1689.         objects at the same time to represent a pair of values
  1690.         (mediumConsumed) and so have both tags.  See the
  1691.         jmAttributeGroup on page 64 for the descriptions of these
  1692.         objects.
  1693.  
  1694.         For the attributes that do not use the jmAttributeValueAsInteger
  1695.         object (no 'INTEGER:' tag), the agent shall return the value (-
  1696.         1) indicating other.  For the attributes that do not use the
  1697.         jmAttributeValueAsOctets object (no 'OCTETS:' tag), the agent
  1698.         shall return a zero-length octet string.
  1699.  
  1700.         Attribute Creation
  1701.  
  1702.         An agent shall create a row in the jmAttributeTable for each
  1703.         attribute that is (1) supplied with a job when the job is
  1704.         accepted by a server or device or that (2) the server or device
  1705.         supplies as a default either when the job is accepted or later
  1706.         during processing.
  1707.  
  1708.         Consumption Attributes
  1709.  
  1710.         A number of attributes record consumption.  Such attribute names
  1711.         end with the word 'Completed'.  If the job has not yet consumed
  1712.         what that resource is metering, the agent either: (1) shall
  1713.         return the value 0 or (2) shall not add this attribute to the
  1714.         jmAttributeTable until the consumption begins.  In the interests
  1715.         of brevity, the semantics for 0 is specified here and is not
  1716.         repeated for each xxxxYyyyCompleted attribute specification.
  1717.  
  1718.         Index Value Attributes
  1719.  
  1720.         A number of attributes are indexes in other tables.  Such
  1721.         attribute names end with the word 'Index'.  If the agent does
  1722.         not (yet) know the index value for a particular index attribute
  1723.         for a job, the agent either: (1) shall return the value 0 or (2)
  1724.         shall not add this attribute to the jmAttributeTable until the
  1725.         index value is known.  In the interests of brevity, the
  1726.         semantics for 0 is specified here and is not repeated for each
  1727.         index attribute specification.
  1728.  
  1729.         Attribute Naming Conventions
  1730.  
  1731.  
  1732.  
  1733.  
  1734.  
  1735. Bergman, Hastings, Isaacson, Lewis                 [Page 28]
  1736.  
  1737.                          Job Monitoring MIB, V0.81   April 24, 1997
  1738.  
  1739.         Attribute names often end in the data type, especially when
  1740.         there are more than one data type for the same information.
  1741.         Thus the suffixes are used: Name, Index, DateAndTime, TimeStamp,
  1742.         etc.
  1743.  
  1744.         NOTE: No attribute name exceeds 31 characters.
  1745.  
  1746.         Conformance of Attribute Implementation
  1747.  
  1748.         Some attributes are mandatory for conformance, and the rest are
  1749.         conditionally mandatory.  An agent shall instrument any
  1750.         mandatory attribute.  If the server or device does not provide
  1751.         access to the information about the mandatory attribute, the
  1752.         agent shall return the 'unknown' value.  For attributes
  1753.         represented by a counting integer, the unknown value is (-2) and
  1754.         for attributes represented by an enum, the unknown value is (2),
  1755.         as in the Printer MIB[1].  An agent shall instrument any
  1756.         conditionally mandatory attribute if the server or device
  1757.         provides access to the information about the attribute to the
  1758.         agent.  If the server or device does not provide access to the
  1759.         information about the conditionally mandatory attribute, the
  1760.         agent need not create the row in the jmAttributeTable.
  1761.  
  1762.         The mandatory attributes are the ones required to have copies in
  1763.         the jmJobStateTable and to remain in the jmAttributeTable
  1764.         longer.  The mandatory attributes are:
  1765.  
  1766.             jobState(3)
  1767.             numberOfInterveningJobs(9)
  1768.             deviceAlertCode(10)
  1769.             jobKOctetsRequested(48)
  1770.             jobKOctetsCompleted(50)
  1771.             impressionsRequested(54)
  1772.             impressionsCompleted(55)
  1773.             outputBinName(35)
  1774.  
  1775.         The table of contents lists the attributes in order to help see
  1776.         the order of enum assignments which is the order that the
  1777.         GetNext operation can be used to get attributes.
  1778.  
  1779.         The standard attribute types defined so far are:"
  1780.  
  1781.     -- This is a type 2 enumeration.  See Section 7.1 on page 17.
  1782.     SYNTAX      INTEGER {
  1783.      -- jmAttributeTypeIndex             Datatype
  1784.          -- Description - including 'OCTETS:' or 'INTEGER:' to
  1785.          -- specify whether the value shall be represented in the
  1786.          -- jmAttributeValueAsOctets or the jmAttributeValueAsInteger
  1787.          -- object, or both, respectively.
  1788.  
  1789.      other(1),                        -- Integer32(-2..2147483647)
  1790.                                       -- OR
  1791.                                       -- OCTET STRING(SIZE(0..63))
  1792.          -- INTEGER:  or  OCTETS:  An attribute that is not in the
  1793.          -- list and/or that has not been approved and registered
  1794.  
  1795.  
  1796.  
  1797. Bergman, Hastings, Isaacson, Lewis                 [Page 29]
  1798.  
  1799.                          Job Monitoring MIB, V0.81   April 24, 1997
  1800.  
  1801.          -- with IANA.
  1802.  
  1803.      unknown(2),                      -- Integer32(-2..2147483647)
  1804.                                       -- OR
  1805.                                       -- OCTET STRING(SIZE(0..63))
  1806.          -- INTEGER:  or  OCTETS:  An attribute whose semantics are
  1807.          -- not known to the agent.
  1808.  
  1809.  
  1810.      -- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  1811.      -- Job State attributes
  1812.      --
  1813.      -- The following attributes specify the state of a job.
  1814.      -- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  1815.  
  1816.      jobState(3),                     -- JmJobStateTC (pg 24)
  1817.          -- INTEGER:  The current state of the job (pending,
  1818.          -- processing, held, etc.).  The final value for this
  1819.          -- attribute shall be either completed or canceled, before
  1820.          -- the agent removes the job from the table.
  1821.          --
  1822.          -- Management applications shall be prepared to receive all
  1823.          -- the standard job states.  Servers and devices are not
  1824.          -- required to generate all job states, only those which are
  1825.          -- appropriate for the particular implementation.
  1826.          --
  1827.          -- NOTE - Companion textual conventions,
  1828.          -- JmJobStateReasonsnTC (n=1..4 - see page 45) and
  1829.          -- corresponding attributes (jobStateReasons1(5) - see page
  1830.          -- 31) provides additional information about job states.
  1831.          -- While the job states cannot be added to without impacting
  1832.          -- deployed clients, it is the intent that additional
  1833.          -- JmJobStateReasonsnTC enums can be defined without
  1834.          -- impacting deployed clients.
  1835.  
  1836.      jobStateAssociatedValue(4),      -- Integer32(-2..2147483647)
  1837.          -- INTEGER:  The value of the most relevant attribute
  1838.          -- associated with the job's current state.
  1839.          --
  1840.          -- Which attribute depends on the job's current state (as
  1841.          -- specified by the value of the jmJobState/jobState
  1842.          -- object/attribute) as follows:
  1843.          --
  1844.          --    jmJobState       Associated Attribute            Page
  1845.          --    /jobState
  1846.          --
  1847.          --    held             jobStartedBeingHeldTimeStamp(73)  43
  1848.          --    pending          numberOfInterveningJobs(9)        43
  1849.          --    processing       jobKOctetsRequested(48)           47
  1850.          --    printing         impressionsRequested(54)          49
  1851.          --    needsAttention   deviceAlertCode(10)               32
  1852.          --    canceled         impressionsCompleted(55)          41
  1853.          --    completed        outputBinName(35)                 37
  1854.          --
  1855.          -- NOTE - The jobStateAssociatedValue attribute selects from
  1856.  
  1857.  
  1858.  
  1859. Bergman, Hastings, Isaacson, Lewis                 [Page 30]
  1860.  
  1861.                          Job Monitoring MIB, V0.81   April 24, 1997
  1862.  
  1863.          -- amongst seven mandatory attributes that attribute that is
  1864.          -- most relevant to the job's current state.  the
  1865.          -- jobStateAssociatedValue attribute is provided as an
  1866.          -- efficiency improvement, so that an application can obtain
  1867.          -- the most relevant attribute for each job's current state
  1868.          -- (1) without first having to determine the job's state or
  1869.          -- (2) having to request all seven mandatory attributes in
  1870.          -- the same GetNext operation that obtains the next job in
  1871.          -- the next conceptual row in the jmAttributeTable.
  1872.  
  1873.      jobStateReasons1(5),             -- JmJobStateReasons1TC (pg 45)
  1874.          -- OCTETS:  Additional information about the job's current
  1875.          -- state that augments the jmJobState/jobState
  1876.          -- object/attribute.  The jobStateReasons1 attribute
  1877.          -- identifies the reason or reasons that the job is in the
  1878.          -- held, pending, processing, needsAttention, canceled, or
  1879.          -- completed state.  The agent shall indicate the particular
  1880.          -- reason(s) by setting the value of the jobStateReasons1
  1881.          -- attribute.  When the job does not have any reasons for
  1882.          -- being in its current state, the agent shall set the value
  1883.          -- of the jobStateReasons1 attribute to 0.
  1884.          --
  1885.          -- While the job states cannot be added to without impacting
  1886.          -- deployed clients, it is the intent that additional
  1887.          -- JmJobStateReasons1TC bit values can be defined without
  1888.          -- impacting deployed clients.  In other words, the
  1889.          -- JmJobStateReasons1TC TC is intended to be extensible.
  1890.          --
  1891.          -- Companion job state reasons TCs: JmJobStateReasons2TC,
  1892.          -- JmJobStateReasons3TC, JmJobStateReasons4TC, are
  1893.          -- defined/reserved for additional 31*3 = 93 job state
  1894.          -- reasons for use with the corresponding attributes:
  1895.          -- jobStateReasons2, jobStateReasons3, and jobStateReasons4.
  1896.          -- This is a type 2 bit definition.  See section 7.1.2 on
  1897.          -- page 17.
  1898.  
  1899.      jobStateReasons2(6),             -- JmJobStateReasons2TC (pg 45)
  1900.          -- OCTETS:  Additional information about the job's current
  1901.          -- state that augments the jmJobState/jobState
  1902.          -- object/attribute.  See the description under
  1903.          -- jobStateReasons1 attribute on page 31.
  1904.          --
  1905.          -- This is a type 2 bit definition.  See section 7.1.2 on
  1906.          -- page 17.
  1907.  
  1908.      jobStateReasons3(7),             -- JmJobStateReasons3TC (pg 45)
  1909.          -- OCTETS:  Additional information about the job's current
  1910.          -- state that augments the jmJobState/jobState
  1911.          -- object/attribute.  See the description under
  1912.          -- jobStateReasons1 attribute on page 31.
  1913.  
  1914.      jobStateReasons4(8),             -- JmJobStateReasons4TC (pg 45)
  1915.          -- OCTETS:  Additional information about the job's current
  1916.          -- state that augments the jmJobState/jobState
  1917.          -- object/attribute.  See the description under
  1918.  
  1919.  
  1920.  
  1921. Bergman, Hastings, Isaacson, Lewis                 [Page 31]
  1922.  
  1923.                          Job Monitoring MIB, V0.81   April 24, 1997
  1924.  
  1925.          -- jobStateReasons1 attribute on page 31.
  1926.  
  1927.      numberOfInterveningJobs(9),      -- Integer32(-2..2147483647)
  1928.          -- INTEGER:  The number of jobs that are expected to be
  1929.          -- processed before this job is processed according to the
  1930.          -- implementation's queuing algorithm if no other jobs were
  1931.          -- to be submitted.  In other words, this value is the job's
  1932.          -- queue position.  The agent shall return a value of 0 for
  1933.          -- this attribute when this job starts processing (since
  1934.          -- there are no jobs in front of the job).
  1935.  
  1936.      deviceAlertCode(10),             -- PrtAlertCodeTC (Printer-MIB)
  1937.          -- INTEGER:  The device alert code when the job is stopped
  1938.          -- because the device needs attention, i.e., needs human
  1939.          -- intervention.  When the device is a printer, this device
  1940.          -- alert code shall be the printer alert code defined by the
  1941.          -- Printer MIB[1] using the PrtAlertCodeTC textual
  1942.          -- convention or equivalent.
  1943.  
  1944.      processingMessage(11),           -- OCTET STRING(SIZE(0..63))
  1945.          -- OCTETS:  MULTI-ROW:  A coded character set message that
  1946.          -- is generated during the processing of the job as a simple
  1947.          -- form of processing log to show progress and any problems.
  1948.          --
  1949.          -- There is no restriction on the same message in multiple
  1950.          -- rows.
  1951.  
  1952.  
  1953.      -- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  1954.      -- Job Identification attributes
  1955.      --
  1956.      -- The following attributes help an end user, a system
  1957.      -- operator, or an accounting program identify a job.
  1958.      -- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  1959.  
  1960.      serverAssignedJobName(12),       -- OCTET STRING(SIZE(0..63))
  1961.          -- OCTETS:  Configuration 3 only:  The human readable string
  1962.          -- name of the job as assigned by the server that submitted
  1963.          -- the job to the device that the agent in instrumenting
  1964.          -- with this MIB.
  1965.          --
  1966.          -- NOTE - This attribute is intended for enabling a user to
  1967.          -- find his/her job that a server submitted to a device
  1968.          -- after the user submitted the job to the server when the
  1969.          -- jmJobIDGroup is not implemented.
  1970.  
  1971.      jobName(13),                     -- OCTET STRING(SIZE(0..63))
  1972.          -- OCTETS:  The human readable string name of the job as
  1973.          -- assigned by the submitting user to help the user
  1974.          -- distinguish between his/her various jobs.  This name does
  1975.          -- not need to be unique.
  1976.          --
  1977.          -- This attribute is intended for enabling a user or the
  1978.          -- user's application to convey a job name that may be
  1979.          -- printed on a start sheet, returned in a query result, or
  1980.  
  1981.  
  1982.  
  1983. Bergman, Hastings, Isaacson, Lewis                 [Page 32]
  1984.  
  1985.                          Job Monitoring MIB, V0.81   April 24, 1997
  1986.  
  1987.          -- used in notification or logging messages.
  1988.          --
  1989.          -- If this attribute is not specified when the job is
  1990.          -- submitted, no job name is assumed, but implementation
  1991.          -- specific defaults are allowed, such as the value of the
  1992.          -- documentName resource item of the first document in the
  1993.          -- job or the fileName resource item of the first document
  1994.          -- in the job.
  1995.          --
  1996.          -- The jobName attribute is distinguished from the
  1997.          -- jobComment attribute, in that the jobName attribute is
  1998.          -- intended to permit the submitting user to distinguish
  1999.          -- between different jobs that he/she has submitted.  The
  2000.          -- jobComment attribute is intended to be free form
  2001.          -- additional information that a user might wish to use to
  2002.          -- communicate with himself/herself, such as a reminder of
  2003.          -- what to do with the results or to indicate a different
  2004.          -- set of input parameters were tried in several different
  2005.          -- job submissions.
  2006.  
  2007.      jobServiceTypes(14),             -- JmJobServiceTypesTC (pg 44)
  2008.          -- INTEGER:  Specifies the type(s) of service to which the
  2009.          -- job has been submitted (print, fax, scan, etc.).  The
  2010.          -- service type is bit encoded with each job service type so
  2011.          -- that more general and arbitrary services can be created,
  2012.          -- such as services with more than one destination type, or
  2013.          -- ones with only a source or only a destination.  For
  2014.          -- example, a job service might scan, faxOut, and print a
  2015.          -- single job.  In this case, three bits would be set in the
  2016.          -- jobServiceTypes attribute, corresponding to the
  2017.          -- hexadecimal values: 0x8 + 0x20 + 0x4, respectively,
  2018.          -- yielding: 0x2C.
  2019.          --
  2020.          -- Whether this attribute is set from a job attribute
  2021.          -- supplied by the job submission client or is set by the
  2022.          -- recipient job submission server or device depends on the
  2023.          -- job submission protocol.  This attribute shall be
  2024.          -- implemented if the server or device has other types in
  2025.          -- addition to or instead of printing.
  2026.          --
  2027.          -- One of the purposes of this attribute is to permit a
  2028.          -- requester to filter out jobs that are not of interest.
  2029.          -- For example, a printer operator may only be interested in
  2030.          -- jobs that include printing.  That is why this attribute
  2031.          -- is in the job identification category.
  2032.  
  2033.      jobOwner(15),                    -- OCTET STRING(SIZE(0..63))
  2034.          -- OCTETS:  The coded character set name of the user that
  2035.          -- submitted the job.  The method of assigning this user
  2036.          -- name will be system and/or site specific but the method
  2037.          -- must insure that the name is unique to the network that
  2038.          -- is visible to the client and target device.
  2039.          --
  2040.          -- This value should be the authenticated name of the user
  2041.          -- submitting the job.
  2042.  
  2043.  
  2044.  
  2045. Bergman, Hastings, Isaacson, Lewis                 [Page 33]
  2046.  
  2047.                          Job Monitoring MIB, V0.81   April 24, 1997
  2048.  
  2049.  
  2050.      jobAccountName(16),              -- OCTET STRING(SIZE(0..63))
  2051.          -- OCTETS:  Arbitrary binary information which may be coded
  2052.          -- character set data or encrypted data supplied by the
  2053.          -- submitting user for use by accounting services to
  2054.          -- allocate or categorize charges for services provided,
  2055.          -- such as a customer account name.
  2056.          --
  2057.          -- NOTE: This attribute need not be printable characters.
  2058.  
  2059.      jobSourceChannelIndex(17),       -- Integer32(0..2147483647)
  2060.          -- INTEGER:  The index of the row in the associated Printer
  2061.          -- MIB[1] of the channel which is the source of the print
  2062.          -- job.
  2063.          --
  2064.          -- NOTE - the Job Monitoring MIB points to the Channel row
  2065.          -- in the Printer MIB[1], so there is no need for a port
  2066.          -- attribute in the Job Monitoring MIB, since the PWG is
  2067.          -- adding a prtChannelInformation object to the Channel
  2068.          -- table of the draft Printer MIB.
  2069.  
  2070.      jobSourcePlatformType(18),       -- JmJobSourcePlatformTypeTC
  2071.                                       -- (pg 21)
  2072.          -- INTEGER:  The source platform type of the immediate
  2073.          -- upstream submitter that submitted the job to the server
  2074.          -- (configuration 2) or device (configuration 1 and 3) that
  2075.          -- the agent is instrumenting.  For configuration 1, this is
  2076.          -- the type of the client that submitted the job to the
  2077.          -- device;  for configuration 2, this is the type of the
  2078.          -- client that submitted the job to the server; and for
  2079.          -- configuration 3, this is the type of the server that
  2080.          -- submitted the job to the device.
  2081.  
  2082.      submittingServerName(19),        -- OCTET STRING(SIZE(0..63))
  2083.          -- OCTETS:  For configuration 3 only:  The administrative
  2084.          -- name of the server that submitted the job to the device.
  2085.  
  2086.      submittingApplicationName(20),   -- OCTET STRING(SIZE(0..63))
  2087.          -- OCTETS:  The name of the client application (not the
  2088.          -- server in configuration 3) that submitted the job to the
  2089.          -- server or device.
  2090.  
  2091.      deviceNameRequested(21),         -- OCTET STRING(SIZE(0..63))
  2092.          -- OCTETS:  The administratively defined coded character set
  2093.          -- name of the target device requested by the submitting
  2094.          -- user.  For configuration 1, its value corresponds to the
  2095.          -- Printer MIB[1]: prtGeneralPrinterName object (added to
  2096.          -- the draft Printer MIB) for printers.  For configuration 2
  2097.          -- and 3, its value is the name of the logical or physical
  2098.          -- device that the user supplied to indicate to the server
  2099.          -- on which device(s) they wanted the job to be processed.
  2100.  
  2101.      queueNameRequested(22),          -- OCTET STRING(SIZE(0..63))
  2102.          -- OCTETS:  The administratively defined coded character set
  2103.          -- name of the target queue requested by the submitting
  2104.  
  2105.  
  2106.  
  2107. Bergman, Hastings, Isaacson, Lewis                 [Page 34]
  2108.  
  2109.                          Job Monitoring MIB, V0.81   April 24, 1997
  2110.  
  2111.          -- user.  For configuration 1, its value corresponds to the
  2112.          -- queue in the device that the agent is instrumenting.  For
  2113.          -- configuration 2 and 3, its value is the name of the queue
  2114.          -- that the user supplied to indicate to the server on which
  2115.          -- device(s) they wanted the job to be processed.
  2116.          --
  2117.          -- NOTE - typically an implementation should support either
  2118.          -- the deviceNameRequested or queueNameRequested attribute,
  2119.          -- but not both.
  2120.  
  2121.      physicalDeviceIndex(23),         -- hrDeviceIndex (see HR MIB)
  2122.          -- INTEGER:  MULTI-ROW:  The index of the physical device
  2123.          -- MIB instance requested/used, such as the Printer MIB[1].
  2124.          -- This value is an hrDeviceIndex value.  See the Host
  2125.          -- Resources MIB[6].
  2126.  
  2127.      physicalDeviceName(24),          -- OCTET STRING(SIZE(0..63))
  2128.          -- OCTETS:  MULTI-ROW:  The name of the physical device to
  2129.          -- which the job is assigned.
  2130.  
  2131.      numberOfDocuments(25),           -- Integer32(0..2147483647)
  2132.          -- INTEGER:  The number of documents in this job.  If this
  2133.          -- attribute is not present, the number of documents shall
  2134.          -- be 1.
  2135.  
  2136.      fileName(26),                    -- OCTET STRING(SIZE(0..63))
  2137.          -- OCTETS:  MULTI-ROW:  The coded character set file name of
  2138.          -- the document.
  2139.          --
  2140.          -- There is no restriction on the same file name in multiple
  2141.          -- rows.
  2142.  
  2143.      documentName(27),                -- OCTET STRING(SIZE(0..63))
  2144.          -- OCTETS:  MULTI-ROW:  The coded character set name of the
  2145.          -- document.
  2146.          --
  2147.          -- There is no restriction on the same document name in
  2148.          -- multiple rows.
  2149.  
  2150.      jobComment(28),                  -- OCTET STRING(SIZE(0..63))
  2151.          -- OCTETS:  An arbitrary human-readable coded character text
  2152.          -- string supplied by the submitting user or the job
  2153.          -- submitting application program for any purpose.  For
  2154.          -- example, a user might indicate what he/she is going to do
  2155.          -- with the printed output or the job submitting application
  2156.          -- program might indicate how the document was produced.
  2157.          --
  2158.          -- The jobComment attribute is not intended to be a name;
  2159.          -- see the jobName attribute.
  2160.  
  2161.      documentFormatIndex(29),         -- Integer32(0..2147483647)
  2162.          -- INTEGER:  MULTI-ROW:  The interpreter language family
  2163.          -- index in the Printer MIB[1] of the
  2164.          -- prtInterpreterLangFamily object, that this job
  2165.          -- requires/uses.  A document or a job may use more than one
  2166.  
  2167.  
  2168.  
  2169. Bergman, Hastings, Isaacson, Lewis                 [Page 35]
  2170.  
  2171.                          Job Monitoring MIB, V0.81   April 24, 1997
  2172.  
  2173.          -- PDL.
  2174.          --
  2175.          -- NOTE - As with all intensive attribute items where
  2176.          -- multiple rows are allowed, there shall be only one
  2177.          -- distinct row for each distinct PDL; there shall be no
  2178.          -- duplicates.
  2179.          --
  2180.          -- NOTE - This attribute type is intended to be used with an
  2181.          -- agent that implements the Printer MIB and shall not be
  2182.          -- used if the agent does not implement the Printer MIB.
  2183.          -- Such as agent shall use the documentFormatType attribute
  2184.          -- instead.
  2185.  
  2186.      documentFormatType(30),          -- PrtInterpreterLangFamilyTC
  2187.          -- INTEGER:  MULTI-ROW:  The interpreter language family
  2188.          -- corresponding to the Printer MIB[1]
  2189.          -- prtInterpreterLangFamily object, that this job
  2190.          -- requires/uses.  A document or a job may use more than one
  2191.          -- PDL.
  2192.          --
  2193.          -- NOTE - This attribute is represented by a type 2 enum
  2194.          -- defined in the draft Printer MIB[1], but is not in RFC
  2195.          -- 1759.
  2196.  
  2197.  
  2198.      -- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  2199.      -- Job Parameter attributes
  2200.      --
  2201.      -- The following attributes represent input parameters
  2202.      -- supplied by the submitting client in the job submission
  2203.      -- protocol.
  2204.      -- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  2205.  
  2206.      jobPriority(31),                 -- Integer32(1..100)
  2207.          -- INTEGER:  The priority for scheduling the job. It is used
  2208.          -- by servers and devices that employ a priority-based
  2209.          -- scheduling algorithm.
  2210.          --
  2211.          -- A higher value specifies a higher priority. The value 1
  2212.          -- is defined to indicate the lowest possible priority (a
  2213.          -- job which a priority-based scheduling algorithm shall
  2214.          -- pass over in favor of higher priority jobs). The value
  2215.          -- 100 is defined to indicate the highest possible priority.
  2216.          -- Priority is expected to be evenly or 'normally'
  2217.          -- distributed across this range. The mapping of vendor-
  2218.          -- defined priority over this range is implementation-
  2219.          -- specific.
  2220.  
  2221.      jobProcessAfterDateAndTime(32),  -- DateAndTime (SNMPv2-TC)
  2222.          -- INTEGER:  The calendar date and time of day after which
  2223.          -- the job shall become a candidate to be scheduled for
  2224.          -- processing.  If the value of this attribute is in the
  2225.          -- future, the server shall set the value of the job's
  2226.          -- jmJobState/jobState object/attribute to held and add the
  2227.          -- jobProcessAfterSpecified bit value to the job's
  2228.  
  2229.  
  2230.  
  2231. Bergman, Hastings, Isaacson, Lewis                 [Page 36]
  2232.  
  2233.                          Job Monitoring MIB, V0.81   April 24, 1997
  2234.  
  2235.          -- jobStateReasons1 attribute and shall not schedule the job
  2236.          -- for processing until the specified date and time has
  2237.          -- passed.  When the specified date and time arrives, the
  2238.          -- server shall remove the jobProcessAfterSpecified bit
  2239.          -- value from the job's jobStateReasons1 attribute and, if
  2240.          -- no other reasons remain, shall change the job's
  2241.          -- jmJobState and the job's jobState attribute to pending so
  2242.          -- that the job becomes a candidate for being scheduled on
  2243.          -- devices(s).
  2244.          --
  2245.          -- The agent shall assign an empty value to the
  2246.          -- jobProcessAfterDateAndTime attribute when no process
  2247.          -- after time has been specified, so that the job shall be a
  2248.          -- candidate for processing immediately.
  2249.  
  2250.      jobHoldUntil(33),                -- OCTET STRING(SIZE(0..63))
  2251.          -- OCTETS:  The named time period during which the job shall
  2252.          -- become a candidate for processing, such as 'no-hold',
  2253.          -- 'evening', 'night', 'weekend', 'second-shift', 'third-
  2254.          -- shift', etc., as defined by the system administrator.
  2255.          -- Until that time period arrives, the job shall be in the
  2256.          -- held state with the jobHoldUntilSpecified value in the
  2257.          -- jobStateReasons1 attribute.
  2258.  
  2259.      outputBinIndex(34),              -- Integer32(0..2147483647)
  2260.          -- INTEGER:  MULTI-ROW:  The output subunit index in the
  2261.          -- Printer MIB[1] of the output bin to which all or part of
  2262.          -- the job is placed in.
  2263.  
  2264.      outputBinName(35),               -- OCTET STRING(SIZE(0..63))
  2265.          -- OCTETS:  MULTI-ROW:  The name of the output bin to which
  2266.          -- all or part of the job is placed in.
  2267.  
  2268.      sides(36),                       -- Integer32(-2..1)
  2269.          -- INTEGER:  MULTI-ROW:  The number of sides that any
  2270.          -- document in this job requires/used.
  2271.  
  2272.      finishing(37),                   -- JmFinishingTC (pg 21)
  2273.          -- INTEGER:  MULTI-ROW:  Type of finishing that any document
  2274.          -- in this job requires/used.
  2275.  
  2276.  
  2277.      -- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  2278.      -- Image Quality attributes (requested and consumed)
  2279.      --
  2280.      -- For devices that can vary the image quality.
  2281.      -- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  2282.  
  2283.      printQualityRequested(38),       -- JmPrintQualityTC (pg 23)
  2284.          -- INTEGER:  MULTI-ROW:  The print quality selection
  2285.          -- requested for document in the job for printers that allow
  2286.          -- quality differentiation.
  2287.  
  2288.      printQualityUsed(39),            -- JmPrintQualityTC (pg 23)
  2289.          -- INTEGER:  MULTI-ROW:  The print quality selection
  2290.  
  2291.  
  2292.  
  2293. Bergman, Hastings, Isaacson, Lewis                 [Page 37]
  2294.  
  2295.                          Job Monitoring MIB, V0.81   April 24, 1997
  2296.  
  2297.          -- actually used by documents in the job for printers that
  2298.          -- allow quality differentiation.
  2299.  
  2300.      tonerEcomonyRequested(40),       -- JmTonerEconomyTC (pg 23)
  2301.          -- INTEGER:  MULTI-ROW:  The print quality selection
  2302.          -- requested for documents in the job for printers that
  2303.          -- allow toner quality differentiation.
  2304.  
  2305.      tonerEcomonyUsed(41),            -- JmTonerEconomyTC (pg 23)
  2306.          -- INTEGER:  MULTI-ROW:  The print quality selection
  2307.          -- actually used by documents in the job for printers that
  2308.          -- allow toner quality differentiation.
  2309.  
  2310.      tonerDensityRequested(42),       -- Integer32(1..20)
  2311.          -- INTEGER:  MULTI-ROW:  The toner density requested for
  2312.          -- documents in this job for devices that can vary toner
  2313.          -- density levels.  Level 1 is the lowest density and level
  2314.          -- 20 is the highest density level.  Devices with a smaller
  2315.          -- range, shall map the 1-20 range evenly onto the
  2316.          -- implemented range.
  2317.  
  2318.      tonerDensityUsed(43),            -- Integer32(1..20)
  2319.          -- INTEGER:  MULTI-ROW:  The toner density used by documents
  2320.          -- in this job for devices that can vary toner density
  2321.          -- levels.  Level 1 is the lowest density and level 20 is
  2322.          -- the highest density level.  Devices with a smaller range,
  2323.          -- shall map the 1-20 range evenly onto the implemented
  2324.          -- range.
  2325.  
  2326.  
  2327.      -- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  2328.      -- Job Progress attributes (requested and consumed)
  2329.      --
  2330.      -- Pairs of these attributes can be used by monitoring
  2331.      -- applications to show 'thermometers' of progress to users.
  2332.      -- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  2333.  
  2334.      jobCopiesRequested(44),          -- Integer32(-2..2147483647)
  2335.          -- INTEGER:  The number of copies of the entire job that are
  2336.          -- to be produced.
  2337.  
  2338.      jobCopiesCompleted(45),          -- Integer32(-2..2147483647)
  2339.          -- INTEGER:  The number of copies of the entire job that
  2340.          -- have been completed so far.
  2341.  
  2342.      documentCopiesRequested(46),     -- Integer32(-2..2147483647)
  2343.          -- INTEGER:  The total count of the number of document
  2344.          -- copies requested.  If there are documents A, B, and C,
  2345.          -- and document B is specified to produce 4 copies, the
  2346.          -- number of document copies requested is 6 for the job.
  2347.  
  2348.      documentCopiesCompleted(47),     -- Integer32(-2..2147483647)
  2349.          -- INTEGER:  The total count of the number of document
  2350.          -- copies completed so far for the job as a whole.  If there
  2351.          -- are documents A, B, and C, and document B is specified to
  2352.  
  2353.  
  2354.  
  2355. Bergman, Hastings, Isaacson, Lewis                 [Page 38]
  2356.  
  2357.                          Job Monitoring MIB, V0.81   April 24, 1997
  2358.  
  2359.          -- produce 4 copies, the number of document copies starts a
  2360.          -- 0 and runs up to 6 for the job as the job processes.
  2361.  
  2362.      jobKOctetsRequested(48),         -- Integer32(-2..2147483647)
  2363.          -- INTEGER:  The total number of K (1024) octets being
  2364.          -- requested to be processed in the job, including document
  2365.          -- and job copies.  The agent shall round the actual number
  2366.          -- of octets up to the next highest K.  Thus 0 octets shall
  2367.          -- be represented as 0, 1-1024 octets shall be represented
  2368.          -- as 1, 1025-2048 shall be represented as 2, etc.
  2369.          --
  2370.          -- The server/device may update the value of this attribute
  2371.          -- after each document has been transferred to the
  2372.          -- server/device or the server/device may provide this value
  2373.          -- after all documents have been transferred to the
  2374.          -- server/device, depending on implementation.  In other
  2375.          -- words, while the job is in the held state with the
  2376.          -- jobStateReasons1 attribute containing a documentsNeeded
  2377.          -- or preProcessing value, the value of the
  2378.          -- jobKOctetsRequested attribute depends on implementation
  2379.          -- and may not correctly reflect the size of the job.
  2380.          --
  2381.          -- In computing this value, the server/device shall include
  2382.          -- the multiplicative factors contributed by (1) the number
  2383.          -- of document copies, and (2) the number of job copies,
  2384.          -- independent of whether the device can process multiple
  2385.          -- copies of the job or document without making multiple
  2386.          -- passes over the job or document data and independent of
  2387.          -- whether the output is collated or not.  Thus the
  2388.          -- server/device computation is independent of the
  2389.          -- implementation and shall be:
  2390.          --
  2391.          --     (1) Document contribution:  Multiply the size of each
  2392.          --     document in octets by the number of document copies
  2393.          --     of that document.
  2394.          --
  2395.          --     (2) Add each document contribution together.
  2396.          --
  2397.          --     (3) Job copy contribution:  Multiply the job size by
  2398.          --     the number of job copies.
  2399.          --
  2400.          --     (4) Round up the result to the next higher K (1024
  2401.          --     multiple).
  2402.  
  2403.      jobKOctetsTransferred(49),       -- Integer32(-2..2147483647)
  2404.          -- INTEGER:  The number of K (1024) octets transferred to
  2405.          -- the server or device that the agent is instrumenting.
  2406.          -- This count is independent of the number of copies of the
  2407.          -- job or documents that will be produced, but is just a
  2408.          -- measure of the number of bytes transferred to the server
  2409.          -- or device.
  2410.          --
  2411.          -- The agent shall round the actual number of octets
  2412.          -- completed up to the next higher K.  Thus 0 octets is
  2413.          -- represented as 0, 1-1023, is represented as 1, 1024-2047
  2414.  
  2415.  
  2416.  
  2417. Bergman, Hastings, Isaacson, Lewis                 [Page 39]
  2418.  
  2419.                          Job Monitoring MIB, V0.81   April 24, 1997
  2420.  
  2421.          -- is 2, etc.  When the job completes, the values of the
  2422.          -- jobKOctetsRequested and the jobKOctetsTransferred
  2423.          -- attributes shall be equal.
  2424.          --
  2425.          -- NOTE - The jobKOctetsTransferred can be used in the
  2426.          -- numerator with the jobKOctetsRequested attribute in the
  2427.          -- denominator in order to produce a "thermometer" that
  2428.          -- indicates the progress of the job for agents that do not
  2429.          -- instrument the jobKOctetsCompleted attribute.
  2430.  
  2431.      jobKOctetsCompleted(50),         -- Integer32(-2..2147483647)
  2432.          -- INTEGER:  The number of K (1024) octets currently
  2433.          -- processed by the server or device, including document and
  2434.          -- job copies.  For printing, the completed count only
  2435.          -- includes processing (interpreting) if the implementation
  2436.          -- distinguishes between the processing and printing states;
  2437.          -- otherwise, the completed count includes both processing
  2438.          -- (interpreting) and marking combined together.  For
  2439.          -- scanning, the completed count only includes scanning, if
  2440.          -- the implementation distinguishes between the processing
  2441.          -- and (to be registered) scanning states; otherwise the
  2442.          -- completed count includes both scanning and processing
  2443.          -- (formatting).
  2444.          --
  2445.          -- The agent shall round the actual number of octets
  2446.          -- completed up to the next higher K.  Thus 0 octets is
  2447.          -- represented as 0, 1-1023, is represented as 1, 1024-2047
  2448.          -- is 2, etc.  When the job completes, the values of the
  2449.          -- jobKOctetsRequested and the jobKOctetsCompleted
  2450.          -- attributes shall be equal.
  2451.          --
  2452.          -- For multiple copies generated from a single data stream,
  2453.          -- the value shall be incremented as if each copy was
  2454.          -- printed from a new data stream without resetting the
  2455.          -- count between copies.  See the pagesCompletedCurrentCopy
  2456.          -- attribute that is reset on each document copy.
  2457.          --
  2458.          -- NOTE - The jobKOctetsCompleted can be used in the
  2459.          -- numerator with the jobKOctetsRequested attribute in the
  2460.          -- denominator in order to produce a "thermometer" that
  2461.          -- indicates the progress of the job.
  2462.  
  2463.  
  2464.      -- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  2465.      -- Impression attributes
  2466.      --
  2467.      -- For a print job, an impression is the marking of the
  2468.      -- entire side of a sheet.  Two-sided processing involves two
  2469.      -- impressions per sheet.  Two-up is the placement of two
  2470.      -- logical pages on one side of a sheet and so is still a
  2471.      -- single impression.
  2472.      -- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  2473.  
  2474.      impressionsSpooled(51),          -- Integer32(-2..2147483647)
  2475.          -- INTEGER:  The number of impressions spooled to the server
  2476.  
  2477.  
  2478.  
  2479. Bergman, Hastings, Isaacson, Lewis                 [Page 40]
  2480.  
  2481.                          Job Monitoring MIB, V0.81   April 24, 1997
  2482.  
  2483.          -- or device for the job so far.
  2484.  
  2485.      impressionsSentToDevice(52),     -- Integer32(-2..2147483647)
  2486.          -- INTEGER:  The number of impressions sent to the device
  2487.          -- for the job so far.
  2488.  
  2489.      impressionsInterpreted(53),      -- Integer32(-2..2147483647)
  2490.          -- INTEGER:  The number of impressions interpreted for the
  2491.          -- job so far.
  2492.  
  2493.      impressionsRequested(54),        -- Integer32(-2..2147483647)
  2494.          -- INTEGER:  The number of impressions requested by this job
  2495.          -- to produce.
  2496.  
  2497.      impressionsCompleted(55),        -- Integer32(-2..2147483647)
  2498.          -- INTEGER:  The total number of impressions completed by
  2499.          -- the device for this job so far.  For printing, the
  2500.          -- impressions completed includes interpreting, marking, and
  2501.          -- stacking the output.  For other types of job services,
  2502.          -- the number of impressions completed includes the number
  2503.          -- of impressions processed.
  2504.  
  2505.      impressionsCompletedCurrentCopy(56), -- Integer32(-2..
  2506.                                           -- 2147483647)
  2507.          -- INTEGER:  The number of impressions completed by the
  2508.          -- device for the current copy of the current document so
  2509.          -- far.  For printing, the impressions completed includes
  2510.          -- interpreting, marking, and stacking the output.  For
  2511.          -- other types of job services, the number of impressions
  2512.          -- completed includes the number of impressions processed.
  2513.          --
  2514.          -- This value shall be reset to 0 for each document in the
  2515.          -- job and for each document copy.
  2516.  
  2517.  
  2518.      -- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  2519.      -- Page attributes
  2520.      --
  2521.      -- A page is a logical page.  Number up can impose more than
  2522.      -- one page on a single side of a sheet.  Two-up is the
  2523.      -- placement of two logical pages on one side of a sheet so
  2524.      -- that each side counts as two pages.
  2525.      -- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  2526.  
  2527.      pagesRequested(57),              -- Integer32(-2..2147483647)
  2528.          -- INTEGER:  The number of logical pages requested by the
  2529.          -- job to be processed.
  2530.  
  2531.      pagesCompleted(58),              -- Integer32(-2..2147483647)
  2532.          -- INTEGER:  The total number of logical pages completed for
  2533.          -- this job so far.
  2534.  
  2535.      pagesCompletedCurrentCopy(59),   -- Integer32(-2..2147483647)
  2536.          -- INTEGER:  The number of logical pages completed for the
  2537.          -- current copy of the document so far.  This value shall be
  2538.  
  2539.  
  2540.  
  2541. Bergman, Hastings, Isaacson, Lewis                 [Page 41]
  2542.  
  2543.                          Job Monitoring MIB, V0.81   April 24, 1997
  2544.  
  2545.          -- reset to 0 for each document in the job and for each
  2546.          -- document copy.
  2547.  
  2548.  
  2549.      -- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  2550.      -- Sheet attributes
  2551.      --
  2552.      -- The sheet is a single piece of a medium, whether printing
  2553.      -- on one or both sides.
  2554.      -- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  2555.  
  2556.      sheetsRequested(60),             -- Integer32(-2..2147483647)
  2557.          -- INTEGER:  The total number of medium sheets requested to
  2558.          -- be processed for this job.
  2559.  
  2560.      sheetsCompleted(61),             -- Integer32(-2..2147483647)
  2561.          -- INTEGER:  The total number of medium sheets that have
  2562.          -- completed marking and stacking for the entire job so far
  2563.          -- whether those sheets have been processed on one side or
  2564.          -- on both.
  2565.  
  2566.      sheetsCompletedCurrentCopy(62),  -- Integer32(-2..2147483647)
  2567.          -- INTEGER:  The number of medium sheets that have completed
  2568.          -- marking and stacking for the current copy of a document
  2569.          -- in the job so far whether those sheets have been
  2570.          -- processed on one side or on both.
  2571.          --
  2572.          -- The value of this attribute shall be reset to 0 as each
  2573.          -- document in the job starts being processed and for each
  2574.          -- document copy as it starts being processed.
  2575.  
  2576.  
  2577.      -- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  2578.      -- Resources attributes (requested and consumed)
  2579.      --
  2580.      -- Pairs of these attributes can be used by monitoring
  2581.      -- applications to show 'thermometers' of usage to users.
  2582.      -- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  2583.  
  2584.      mediumRequestedType(63),         -- JmMediumTypeTC (pg 23)
  2585.          -- OCTETS:  MULTI-ROW:  The type of the medium that is
  2586.          -- required by the job.
  2587.  
  2588.      mediumRequestedName(64),         -- OCTET STRING(SIZE(0..63))
  2589.          -- OCTETS:  MULTI-ROW:  The name of the medium that is
  2590.          -- required by the job.
  2591.  
  2592.      mediumConsumedName(65),          -- OCTET STRING(SIZE(0..63))
  2593.                                       -- AND
  2594.                                       -- Integer32(-2..2147483647)
  2595.          -- OCTETS: MULTI-ROW:  The name of the medium AND
  2596.          --
  2597.          -- INTEGER:  the number of sheets that have been consumed so
  2598.          -- far whether those sheets have been processed on one side
  2599.          -- or on both.  This attribute shall have both values.
  2600.  
  2601.  
  2602.  
  2603. Bergman, Hastings, Isaacson, Lewis                 [Page 42]
  2604.  
  2605.                          Job Monitoring MIB, V0.81   April 24, 1997
  2606.  
  2607.  
  2608.      colorantRequestedIndex(66),      -- Integer32(0..2147483647)
  2609.          -- INTEGER:  MULTI-ROW:  The index (prtMarkerColorantIndex)
  2610.          -- in the Printer MIB[1] of the colorant requested.
  2611.  
  2612.      colorantRequestedName(67),       -- OCTET STRING(SIZE(0..63))
  2613.          -- OCTETS:  MULTI-ROW:  The name of the colorant requested.
  2614.  
  2615.      colorantConsumedIndex(68),       -- Integer32(0..2147483647)
  2616.          -- INTEGER:  MULTI-ROW:  The index (prtMarkerColorantIndex)
  2617.          -- in the Printer MIB[1] of the colorant consumed.
  2618.  
  2619.      colorantConsumedName(69),        -- OCTET STRING(SIZE(0..63))
  2620.          -- OCTETS:  MULTI-ROW:  The name of the colorant consumed.
  2621.  
  2622.  
  2623.      -- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  2624.      -- Time attributes (set by server or device)
  2625.      --
  2626.      -- This section of attributes are ones that are set by the
  2627.      -- server or device that accepts jobs.  Two forms of time are
  2628.      -- provided.  Each form is represented in a separate attribute.
  2629.      -- See section 4.2 on page 14 and section 4.3 on page 15 for the
  2630.      -- conformance requirements for agents and monitoring
  2631.      -- applications, respectively.  The two forms are:
  2632.      --
  2633.      -- DateAndTime is an 8 or 11 octet binary encoded year,
  2634.      -- month, day, hour, minute, second, deci-second with
  2635.      -- optional offset from UTC.  See SNMPv2-TC.
  2636.      --
  2637.      -- NOTE: DateAndTime is not printable characters; it is
  2638.      -- binary.
  2639.      --
  2640.      -- JmTimeStampTC is the time of day measured in the number of
  2641.      -- seconds since the system was booted.  See page 20.
  2642.      -- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  2643.  
  2644.      jobSubmissionToServerDateAndTime(70), -- DateAndTime (SNMPv2-TC)
  2645.          -- OCTETS:  Configuration 2 and 3:  The date and time that
  2646.          -- the job was submitted to the server.
  2647.  
  2648.      jobSubmissionToDeviceDateAndTime(71), -- DateAndTime (SNMPv2-TC)
  2649.          -- OCTETS:  Configuration 1 and 3:  The date and time that
  2650.          -- the job was submitted to the device.
  2651.  
  2652.      jobSubmissionToDeviceTimeStamp(72),   -- JmTimeStampTC (pg 20)
  2653.          -- INTEGER:  The time that the job was submitted.
  2654.  
  2655.      jobStartedBeingHeldTimeStamp(73),  -- JmTimeStampTC (pg 20)
  2656.          -- INTEGER:  The time that the job started being held, i.e.,
  2657.          -- the time that the job entered the held state most
  2658.          -- recently.  If the job has never entered the held state,
  2659.          -- then the value shall be 0 or the attribute shall not be
  2660.          -- present in the table.
  2661.  
  2662.  
  2663.  
  2664.  
  2665. Bergman, Hastings, Isaacson, Lewis                 [Page 43]
  2666.  
  2667.                          Job Monitoring MIB, V0.81   April 24, 1997
  2668.  
  2669.      jobStartedProcessingDateAndTime(74), -- DateAndTime (SNMPv2-TC)
  2670.          -- OCTETS:  The date and time that the job started
  2671.          -- processing.
  2672.  
  2673.      jobStartedProcessingTimeStamp(75), -- JmTimeStampTC (pg 20)
  2674.          -- INTEGER:  The time that the job started processing.
  2675.  
  2676.      jobCompletedDateAndTime(76),     -- DateAndTime (SNMPv2-TC)
  2677.          -- OCTETS:  The date and time that the job completed
  2678.          -- processing and the medium is completely stacked in the
  2679.          -- output bin, i.e., when the job entered the completed
  2680.          -- state.
  2681.  
  2682.      jobCompletedTimeStamp(77),       -- JmTimeStampTC (pg 20)
  2683.          -- INTEGER:  The time that the job completed processing and
  2684.          -- the medium is completely stacked in the output bin, i.e.,
  2685.          -- when the job entered the completed state.
  2686.  
  2687.      jobProcessingCPUTime(78)         -- Integer32(-2..2147483647)
  2688.          -- INTEGER:  The amount of CPU time that the job has been
  2689.          -- processing in seconds.  If the job needs attention, that
  2690.          -- elapsed time shall not be included.  In other words, the
  2691.          -- jobProcessingCPUTime value should be relatively
  2692.          -- repeatable when the same job is submitted again.
  2693.  
  2694.     }
  2695.  
  2696.  
  2697.  
  2698.  
  2699.  
  2700. JmJobServiceTypesTC ::= TEXTUAL-CONVENTION
  2701.     STATUS      current
  2702.     DESCRIPTION
  2703.         "Specifies the type(s) of service to which the job has been
  2704.         submitted (print, fax, scan, etc.).  The service type is
  2705.         represented as an enum that is bit encoded with each job service
  2706.         type so that more general and arbitrary services can be created,
  2707.         such as services with more than one destination type, or ones
  2708.         with only a source or only a destination.  For example, a job
  2709.         service might scan, faxOut, and print a single job.  In this
  2710.         case, three bits would be set in the jobServiceTypes attribute,
  2711.         corresponding to the hexadecimal values: 0x8 + 0x20 + 0x4,
  2712.         respectively, yielding: 0x2C.
  2713.  
  2714.         Whether this attribute is set from a job attribute supplied by
  2715.         the job submission client or is set by the recipient job
  2716.         submission server or device depends on the job submission
  2717.         protocol.  With either implementation, the agent shall return a
  2718.         non-zero value for this attribute indicating the type of the
  2719.         job.
  2720.  
  2721.         One of the purposes of this attribute is to permit a requester
  2722.         to filter out jobs that are not of interest.  For example, a
  2723.         printer operator may only be interested in jobs that include
  2724.  
  2725.  
  2726.  
  2727. Bergman, Hastings, Isaacson, Lewis                 [Page 44]
  2728.  
  2729.                          Job Monitoring MIB, V0.81   April 24, 1997
  2730.  
  2731.         printing.  That is why the attribute is in the job
  2732.         identification category.
  2733.  
  2734.         The following service component types are defined (in
  2735.         hexadecimal) and are assigned a separate bit value for use with
  2736.         the jobServiceTypes attribute:
  2737.  
  2738.          other                               0x1
  2739.              The job contains some document production instructions that
  2740.              are not one of the identified types.
  2741.  
  2742.          unknown                             0x2
  2743.              The job contains some document production instructions 
  2744.              whose type is unknown to the agent.
  2745.  
  2746.          print                               0x4
  2747.              The job contains some document production instructions that
  2748.              specify printing
  2749.  
  2750.          scan                                0x8
  2751.              The job contains some document production instructions that
  2752.              specify scanning
  2753.  
  2754.          faxIn                               0x10
  2755.              The job contains some document production instructions that
  2756.              specify receive fax
  2757.  
  2758.          faxOut                              0x20
  2759.              The job contains some document production instructions that
  2760.              specify sending fax
  2761.  
  2762.          getFile                             0x40
  2763.              The job contains some document production instructions that
  2764.              specify accessing files or documents
  2765.  
  2766.          putFile                             0x80
  2767.              The job contains some document production instructions that
  2768.              specify storing files or documents
  2769.  
  2770.          mailList                            0x100
  2771.              The job contains some document production instructions that
  2772.              specify distribution of documents using an electronic mail
  2773.              system.
  2774.  
  2775.  
  2776.         These bit definitions are the equivalent of a type 2 enum except
  2777.         that combinations of them may be used together.  See section
  2778.         7.1.2 on page 17."
  2779.  
  2780.     SYNTAX      INTEGER(0..2147483647)   -- 31 bits, all but sign bit
  2781.  
  2782.  
  2783.  
  2784.  
  2785.  
  2786.  
  2787.  
  2788.  
  2789. Bergman, Hastings, Isaacson, Lewis                 [Page 45]
  2790.  
  2791.                          Job Monitoring MIB, V0.81   April 24, 1997
  2792.  
  2793.  
  2794.  
  2795.  
  2796. JmJobStateReasons1TC ::= TEXTUAL-CONVENTION
  2797.     STATUS      current
  2798.     DESCRIPTION
  2799.         "This textual-convention is used with the jobStateReasons1
  2800.         attribute to provides additional information regarding the
  2801.         jmJobState/jobState object/attribute.  The jobStateReasons1
  2802.         attributes identifies the reason or reasons that the job is in
  2803.         the held, pending, processing, printing, needsAttention,
  2804.         canceled, or completed state.  The server shall indicate the
  2805.         particular reason(s) by setting the value of the
  2806.         jobStateReasons1 attribute.  While the job states cannot be
  2807.         added to without impacting deployed clients, it is the intent
  2808.         that additional JmJobStateReasons1TC enums can be defined
  2809.         without impacting deployed clients.  In other words, the
  2810.         JmJobStateReasons1TC is intended to be extensible.
  2811.  
  2812.         When the job does not have any reasons for being in its current
  2813.         state, the server shall set the value of the jobStateReasons1
  2814.         attribute to zeros.
  2815.  
  2816.         Companion job state reasons TCs: JmJobStateReasons2TC,
  2817.         JmJobStateReasons3TC, JmJobStateReasons4TC, are defined/reserved
  2818.         for additional 31*3 = 93 job state reasons.  This is a type 2
  2819.         bit definition.  See section 7.1.2 on page 17.
  2820.  
  2821.         The following standard values are defined (in hexadecimal) as
  2822.         powers of two, since multiple values may be used at the same
  2823.         time:
  2824.  
  2825.      other                               0x1
  2826.          The job state reason is not one of the standardized or
  2827.          registered reasons.
  2828.  
  2829.      unknown                             0x2
  2830.          The job state reason is not known to the agent.
  2831.  
  2832.      documentsNeeded                     0x4
  2833.          The job is in the held state because the server or device is
  2834.          waiting for the job's files to start and/or finish being
  2835.          transferred before the job can be scheduled to be processed.
  2836.  
  2837.      jobHoldSet                          0x8
  2838.          The job is in the held state because the client specified
  2839.          that the job is to be held.
  2840.  
  2841.      jobProcessAfterSpecified            0x10
  2842.          The job is in the held state because the client specified a
  2843.          time specification reflected in the value of the job's
  2844.          jobProcessAfterDateAndTime attribute that has not yet
  2845.          occurred.
  2846.  
  2847.      requiredResourcesNotReady           0x20
  2848.  
  2849.  
  2850.  
  2851. Bergman, Hastings, Isaacson, Lewis                 [Page 46]
  2852.  
  2853.                          Job Monitoring MIB, V0.81   April 24, 1997
  2854.  
  2855.          The job is in the held state because at least one of the
  2856.          resources needed by the job, such as media, fonts, resource
  2857.          objects, etc., is not ready on any of the physical devices
  2858.          for which the job is a candidate.
  2859.  
  2860.      successfulCompletion                0x40
  2861.          The job is in the completed state having completed
  2862.          successfully.
  2863.  
  2864.      completedWithWarnings               0x80
  2865.          The job is in the canceled or completed states having
  2866.          completed with warnings.
  2867.  
  2868.      completedWithErrors                 0x100
  2869.          The job is in the canceled or completed states having
  2870.          completed with errors (and possibly warnings too).
  2871.  
  2872.      canceledByUser                      0x200
  2873.          The job is in the canceled,  state having been canceled by
  2874.          the user.
  2875.  
  2876.      canceledByOperator                  0x400
  2877.          The job is in the canceled state having been canceled by the
  2878.          operator.
  2879.  
  2880.      abortedBySystem                     0x800
  2881.          The job is in the canceled, state having been aborted by the
  2882.          system.
  2883.  
  2884.      logfilePending                      0x1000
  2885.          The job's logfile is pending file transfer.
  2886.  
  2887.      logfileTransferring                 0x2000
  2888.          The job is in the canceled or completed states and the job's
  2889.          logfile is being transferred.
  2890.  
  2891.  
  2892.      The following additional job state reasons have been added to
  2893.      specify sub-states of the held or completed states that may be
  2894.      used to represent states that are in ISO DPA[2]:
  2895.  
  2896.      jobPreProcessing                    0x4000
  2897.          The job has been created on the server or device but the
  2898.          submitting client is in the process of adding additional job
  2899.          components and no documents have started processing.  The
  2900.          job maybe in the process of being checked by the
  2901.          server/device for attributes, defaults being applied, a
  2902.          device being selected, etc.
  2903.  
  2904.      jobPaused                           0x8000
  2905.          The job has been indefinitely suspended by a client issuing
  2906.          an operation to suspend the job so that other jobs may
  2907.          proceed using the same devices.  The client may issue an
  2908.          operation to resume the paused job at any time, in which
  2909.          case the server or device places the job in the held or
  2910.  
  2911.  
  2912.  
  2913. Bergman, Hastings, Isaacson, Lewis                 [Page 47]
  2914.  
  2915.                          Job Monitoring MIB, V0.81   April 24, 1997
  2916.  
  2917.          pending states and the job is eventually resumed at the
  2918.          point where the job was paused.
  2919.  
  2920.      jobInterrupted                      0x10000
  2921.          The job has been interrupted while processing by a client
  2922.          issuing an operation that specifies another job to be run
  2923.          instead of the current job.  The server or device will
  2924.          automatically resume the interrupted job when the
  2925.          interrupting job completes.
  2926.  
  2927.      jobRetained                         0x20000
  2928.          The job is being retained by the server or device after
  2929.          processing and all of the media have been successfully
  2930.          stacked in the output bin(s).
  2931.  
  2932.          The job (1) has completed successfully or with warnings or
  2933.          errors, (2) has been aborted while printing by the
  2934.          server/device, or (3) has been canceled by the submitting
  2935.          user or operator before or during processing.  The job's
  2936.          jobStateReasons1 attribute shall contain the reasons that
  2937.          the job has entered the completed state.
  2938.  
  2939.          While the jobRetained state reason is , all of the job's
  2940.          document data (and submitted resources, such as fonts,
  2941.          logos, and forms, if any) are retained by the server or
  2942.          device; thus a client could issue an operation to resubmit
  2943.          the job (or a copy of the job).
  2944.  
  2945.      The following job state reasons have been added to align with
  2946.      the Internet Printing Protocol (IPP):
  2947.  
  2948.      jobHoldUntil                        0x40000
  2949.          The jobHoldUntil(33) attribute was specified for a named
  2950.          time period that is still in the future.  The job remains in
  2951.          the held state until the time period arrives and there are
  2952.          no other reasons to hold the job.
  2953.  
  2954.         These bit definitions are the equivalent of a type 2 enum except
  2955.         that combinations of them may be used together.  See section
  2956.         7.1.2 on page 17."
  2957.  
  2958.     SYNTAX      INTEGER(0..2147483647)   -- 31 bits, all but sign bit
  2959.  
  2960.  
  2961.  
  2962.  
  2963.  
  2964. JmJobStateReasons2TC ::= TEXTUAL-CONVENTION
  2965.     STATUS      current
  2966.     DESCRIPTION
  2967.         "This textual-convention is used with the jobStateReasons2
  2968.         attribute to provides additional information regarding the
  2969.         jmJobState/jobState object/attribute.  See the description under
  2970.         JmJobStateReasons1TC on page 45.
  2971.  
  2972.  
  2973.  
  2974.  
  2975. Bergman, Hastings, Isaacson, Lewis                 [Page 48]
  2976.  
  2977.                          Job Monitoring MIB, V0.81   April 24, 1997
  2978.  
  2979.         The following standard values are defined (in hexadecimal) as
  2980.         powers of two, since multiple values may be used at the same
  2981.         time:
  2982.  
  2983.      cascaded                            0x1
  2984.          After the outbound gateway retrieves all job and document
  2985.          attributes and data, it stores the information into a spool
  2986.          directory.  Once it has done this, it sends the supervisor a
  2987.          job-processing event with this job-state-reason which tells
  2988.          the supervisor to transition to a new job state.
  2989.  
  2990.      deletedByAdministrator              0x2
  2991.          The administrator has issued a Delete operation on the job
  2992.          or a Clean operation on the server or queue containing the
  2993.          job; therefore the job may have been canceled before or
  2994.          during processing, and will have no retention-period or
  2995.          completion-period.
  2996.  
  2997.      discardTimeArrived                  0x4
  2998.          The job has been deleted (canceled with the job-retention-
  2999.          period set to 0) due to the fact that the time specified by
  3000.          the job's job-discard-time has arrived [if the job had
  3001.          already completed, the only action that would have occurred
  3002.          is that the job-retention-period would be set to 0 and the
  3003.          job is deleted].
  3004.  
  3005.      postProcessingFailed                0x8
  3006.          The post-processing agent failed while trying to log
  3007.          accounting attributes for the job; therefore the job has
  3008.          been placed into completed state with the retained
  3009.          jobStateReasons1 attribute value for a system-defined period
  3010.          of time, so the administrator can examine it, resubmit it,
  3011.          etc.  The post-processing agent is a plug-and-play mechanism
  3012.          which the system and the customer uses to add functionality
  3013.          that is executed after a job has finished processing.
  3014.  
  3015.      submissionInterrupted               0x10
  3016.          Indicates that the job was not completely submitted for the
  3017.          following reasons: (1) the server has crashed before the job
  3018.          was closed by the client.  The server shall put the job into
  3019.          the completed state (and shall not print the job). (2) the
  3020.          server or the document transfer method has crashed in some
  3021.          non-recoverable way before the document data was entirely
  3022.          transferred to the server.  The server shall put the job
  3023.          into the completed state (and shall not print the job). (3)
  3024.          the client crashed or failed to close the job before the
  3025.          time-out period.  The server shall close the job and put the
  3026.          job into the held state with job-state-reasons of
  3027.          submission-interrupted and job-hold-set and with the job's
  3028.          job-hold attribute set to TRUE.  The user may release the
  3029.          job for scheduling by issuing a job submission or management
  3030.          protocol operation.
  3031.  
  3032.      maxJobFaultCountExceeded            0x20
  3033.          The job has been faulted and returned by the server several
  3034.  
  3035.  
  3036.  
  3037. Bergman, Hastings, Isaacson, Lewis                 [Page 49]
  3038.  
  3039.                          Job Monitoring MIB, V0.81   April 24, 1997
  3040.  
  3041.          times and that the job-fault-count exceeded the device's (or
  3042.          server's, if not defined for the device) cfg-max-job-fault-
  3043.          count.  The job is automatically put into the held state
  3044.          regardless of the hold-jobs-interrupted-by-device-failure
  3045.          attribute. This job-state-reasons value is used in
  3046.          conjunction with the job-interrupted-by-device-failure
  3047.          value.
  3048.  
  3049.      devicesNeedAttentionTimeOut         0x40
  3050.          One or more document transforms that the job is using needs
  3051.          human intervention in order for the job to make progress,
  3052.          but the human intervention did not occur within the site-
  3053.          settable time-out value and the server/device has
  3054.          transitioned the job to the held state.
  3055.  
  3056.      needsKeyOperatorTimeOut             0x80
  3057.          One or more devices or document transforms that the job is
  3058.          using need a specially trained operator (who may need a key
  3059.          to unlock the device and gain access) in order for the job
  3060.          to make progress, but the key operator intervention did not
  3061.          occur within the site-settable time-out value and the
  3062.          server/device has transitioned the job to the held state.
  3063.  
  3064.      jobStartWaitTimeOut                 0x100
  3065.          The server/device has stopped the job at the beginning of
  3066.          processing to await human action, such as installing a
  3067.          special cartridge or special non-standard media, but the job
  3068.          was not resumed within the site-settable time-out value and
  3069.          the server/device has transitioned the job to the held
  3070.          state.  Normally, the job is resumed by means outside the
  3071.          job submission protocol, such as some local function on the
  3072.          device.
  3073.  
  3074.      jobEndWaitTimeOut                   0x200
  3075.          The server/device has stopped the job at the end of
  3076.          processing/printing to await human action, such as removing
  3077.          a special cartridge or restoring standard media, but the job
  3078.          was not resumed within the site-settable time-out value and
  3079.          the server/device has transitioned the job to the completed
  3080.          state.  Normally, the job is resumed by means outside the
  3081.          job submission protocol, such as some local function on the
  3082.          device, whereupon the job shall transition immediately to
  3083.          the canceled state.
  3084.  
  3085.      jobPasswordWaitTimeOut              0x400
  3086.          The server/device has stopped the job at the beginning of
  3087.          processing to await input of the job's password, but the
  3088.          human intervention did not occur within the site-settable
  3089.          time-out value and the server/device has transitioned the
  3090.          job to the held state.  Normally, the password is input and
  3091.          the job is resumed by means outside the job submission
  3092.          protocol, such as some local function on the device.
  3093.  
  3094.      deviceTimedOut                      0x800
  3095.          A device that the job was using has not responded in a
  3096.  
  3097.  
  3098.  
  3099. Bergman, Hastings, Isaacson, Lewis                 [Page 50]
  3100.  
  3101.                          Job Monitoring MIB, V0.81   April 24, 1997
  3102.  
  3103.          period specified by the device's site-settable attribute.
  3104.  
  3105.      connectingToDeviceTimeOut           0x1000
  3106.          The server is attempting to connect to one or more devices
  3107.          which may be dial-up, polled, or queued, and so may be busy
  3108.          with traffic from other systems, but server was unable to
  3109.          connect to the device within the site-settable time-out
  3110.          value and the server has transitioned the job to the held
  3111.          state.
  3112.  
  3113.      transferring                        0x2000
  3114.          The job is being transferred to a down stream server or
  3115.          device.
  3116.  
  3117.      queuedInDevice                      0x4000
  3118.          The job has been queued in a down stream server or device.
  3119.  
  3120.      jobCleanup                          0x8000
  3121.          The server/device is performing cleanup activity as part of
  3122.          ending normal processing.
  3123.  
  3124.      processingToStopPoint               0x10000
  3125.          The requester has issued an operation to interrupt the job
  3126.          and the server/device is processing up until the specified
  3127.          stop point occurs.
  3128.  
  3129.      jobPasswordWait                     0x20000
  3130.          The server/device has selected the job to be next to
  3131.          process, but instead of assigning resources and started the
  3132.          job processing, the server/device has transitioned the job
  3133.          to the held state to await entry of a password (and
  3134.          dispatched another job, if there is one).  The user resumes
  3135.          the job either locally or by issuing a remote operation and
  3136.          supplying a job-password=secret-code input parameter that
  3137.          must match the job's job-password attribute.
  3138.  
  3139.      validating                          0x40000
  3140.          The server/device is validating the job after accepting the
  3141.          job.  The job state may be held, pending, or processing.
  3142.  
  3143.      queueHeld                           0x80000
  3144.          The operator has held the entire queue by means outside the
  3145.          scope of the Job model.
  3146.  
  3147.      jobProofWait                        0x100000
  3148.          The job has produced a single proof copy and is in the held
  3149.          state waiting for the requester to issue an operation to
  3150.          release the job to print normally, obeying the job-copies
  3151.          and copy-count job and document attributes that were
  3152.          originally submitted.
  3153.  
  3154.      heldForDiagnostics                  0x200000
  3155.          The system is running intrusive diagnostics, so the all jobs
  3156.          are being held.
  3157.  
  3158.  
  3159.  
  3160.  
  3161. Bergman, Hastings, Isaacson, Lewis                 [Page 51]
  3162.  
  3163.                          Job Monitoring MIB, V0.81   April 24, 1997
  3164.  
  3165.      serviceOffLine                      0x400000
  3166.          The service/document transform is off-line and accepting no
  3167.          jobs.  All pending jobs are put into the held state.  This
  3168.          could be true if its input is impaired or broken.
  3169.  
  3170.      noSpaceOnServer                     0x800000
  3171.          The job is held because there is no room on the server to
  3172.          store all of the job.  For example, there is no room for the
  3173.          document data or a scan-to-file job.
  3174.  
  3175.      pinRequired                         0x1000000
  3176.          The System Administrator settable device policy is (1) to
  3177.          require PINs, and (2) to hold jobs that do not have a pin
  3178.          supplied as an input parameter when the job was created. The
  3179.          requester shall either (1) enter a pin locally at the device
  3180.          or issue a remote operation supplying the PIN in order for
  3181.          the job to be able to proceed.
  3182.  
  3183.      exceededAccountLimit                0x2000000
  3184.          The account for which this job is drawn has exceeded its
  3185.          limit.  This condition should be detected before the job is
  3186.          scheduled so that the user does not wait until his/her job
  3187.          is scheduled only to find that the account is overdrawn.
  3188.          This condition may also occur while the job is processing
  3189.          either as processing begins or part way through processing.
  3190.  
  3191.          An overdraft mechanism should be included to be user-
  3192.          friendly, so as to minimize the chances that the job cannot
  3193.          finish or that media is wasted.  For example, the
  3194.          server/device should finish the current copy for a job with
  3195.          collated document copies, rather than stopping in the middle
  3196.          of the current document copy.
  3197.  
  3198.      heldForRetry                        0x4000000
  3199.          The job encountered some errors that the server/device could
  3200.          not recover from with its normal retry procedures, but the
  3201.          error is worth trying the job later, such as phone number
  3202.          busy or remote file system in-accessible.  For such a
  3203.          situation, the server/device shall add the held-for-retry
  3204.          value to the job's jobStateReasons2 attribute and transition
  3205.          the job from the processing to the held, rather than to the
  3206.          completed state.
  3207.  
  3208.  
  3209.      The following values are from the X/Open PSIS draft standard:
  3210.  
  3211.      canceledByShutdown                  0x8000000
  3212.          The job was canceled because the server or device was
  3213.          shutdown before completing the job.  The job shall be placed
  3214.          in the pending state [if the job was not started, else the
  3215.          job shall be placed in the terminating state].
  3216.  
  3217.      deviceUnavailable                   0x10000000
  3218.          This job was aborted by the system because the device is
  3219.          currently unable to accept jobs. This reason [shall be] used
  3220.  
  3221.  
  3222.  
  3223. Bergman, Hastings, Isaacson, Lewis                 [Page 52]
  3224.  
  3225.                          Job Monitoring MIB, V0.81   April 24, 1997
  3226.  
  3227.          in conjunction with the reason aborted-by-system. The job
  3228.          shall be placed in the pending state.
  3229.  
  3230.      wrongDevice                         0x20000000
  3231.          This job was aborted by the system because the device is
  3232.          unable to handle this particular job; the spooler should try
  3233.          another device.  This reason [shall be] used in conjunction
  3234.          with the reason aborted-by- system.  The job shall be
  3235.          pending if the queue contains other physical devices that
  3236.          the job could print on, and the spooler is capable of not
  3237.          sending the job back to a physical device that has rejected
  3238.          the job for this job-state-reasons value. Otherwise, [the
  3239.          job] shall be placed in the completed state with the
  3240.          retained value set in the jobStateReasons2 attribute.
  3241.  
  3242.      badJob                              0x40000000
  3243.          This job was aborted by the system because this job has a
  3244.          major problem, such as an ill-formed PDL; the spooler should
  3245.          not even try another device. This reason shall be used in
  3246.          conjunction with the reason aborted-by-system. The job shall
  3247.          be placed in the terminating state.
  3248.  
  3249.         These bit definitions are the equivalent of a type 2 enum except
  3250.         that combinations of them may be used together.  See section
  3251.         7.1.2 on page 17."
  3252.  
  3253.     SYNTAX      INTEGER(0..2147483647)   -- 31 bits, all but sign bit
  3254.  
  3255.  
  3256.  
  3257.  
  3258.  
  3259.  
  3260. JmJobStateReasons3TC ::= TEXTUAL-CONVENTION
  3261.     STATUS      current
  3262.     DESCRIPTION
  3263.         "This textual-convention is used with the jobStateReasons3
  3264.         attribute to provides additional information regarding the
  3265.         jmJobState/jobState object/attribute.  See the description under
  3266.         JmJobStateReasons1TC on page 45.
  3267.  
  3268.         The following standard values are defined (in hexadecimal) as
  3269.         powers of two, since multiple values may be used at the same
  3270.         time:
  3271.  
  3272.      jobInterruptedByDeviceFailure       0x1
  3273.          A device or the print system software that the job was using
  3274.          has failed while the job was processing.  The device is
  3275.          keeping the job in the held state until an operator can
  3276.          determine what to do with the job.
  3277.  
  3278.         These bit definitions are the equivalent of a type 2 enum except
  3279.         that combinations of them may be used together.  See section
  3280.         7.1.2 on page 17."
  3281.  
  3282.  
  3283.  
  3284.  
  3285. Bergman, Hastings, Isaacson, Lewis                 [Page 53]
  3286.  
  3287.                          Job Monitoring MIB, V0.81   April 24, 1997
  3288.  
  3289.     SYNTAX      INTEGER(0..2147483647)   -- 31 bits, all but sign bit
  3290.  
  3291.  
  3292.  
  3293.  
  3294.  
  3295. JmJobStateReasons4TC ::= TEXTUAL-CONVENTION
  3296.     STATUS      current
  3297.     DESCRIPTION
  3298.         "This textual-convention is used in the jobStateReasons4
  3299.         attribute to provides additional information regarding the
  3300.         jmJobState/jobState object/attribute.  See the description under
  3301.         JmJobStateReasons1TC on page 45.
  3302.  
  3303.         The following standard values are defined (in hexadecimal) as
  3304.         powers of two, since multiple values may be used at the same
  3305.         time:
  3306.  
  3307.     none yet defined.
  3308.  
  3309.         These bit definitions are the equivalent of a type 2 enum except
  3310.         that combinations of them may be used together.  See section
  3311.         7.1.2 on page 17."
  3312.  
  3313.     SYNTAX      INTEGER(0..2147483647)   -- 31 bits, all but sign bit
  3314.  
  3315.  
  3316.  
  3317.  
  3318.  
  3319. --  The following tables 1-4 show the JmJobStateReasonsnTC values
  3320. --  (n=1..4) and the job states for which they are applicable:
  3321.  
  3322. -- Table 1 - JmJobStateReasons1TC: Legal Job States for each Job State
  3323. --                                 Reason
  3324.  
  3325.  
  3326. --  Descriptive Name                        Allowed job states
  3327.  
  3328.  
  3329. --  documents-needed(1)                     held
  3330.  
  3331. --  job-hold-set(2)                         held
  3332.  
  3333. --  job-process-after-specified(3)          held
  3334.  
  3335. --  required-resources-not-ready(4)         held
  3336.  
  3337. --  successful-completion(5)                completed
  3338.  
  3339. --  completed-with-warnings(6)              completed
  3340.  
  3341. --  completed-with-errors(7)                completed
  3342.  
  3343.  
  3344.  
  3345.  
  3346.  
  3347. Bergman, Hastings, Isaacson, Lewis                 [Page 54]
  3348.  
  3349.                          Job Monitoring MIB, V0.81   April 24, 1997
  3350.  
  3351.  
  3352. --  Descriptive Name                        Allowed job states
  3353.  
  3354.  
  3355. --  canceled-by-user(8)                     canceled
  3356.  
  3357. --  canceled-by-operator(9)                 canceled
  3358.  
  3359. --  aborted-by-system(10)                   canceled
  3360.  
  3361. --  logfile-pending(11)                     canceled
  3362.  
  3363. --  logfile-transferring(12)                canceled
  3364.  
  3365.  
  3366.  
  3367. --  jobPreProcessing(45)                    held
  3368.  
  3369. --  jobPaused(46)                           held
  3370.  
  3371. --  jobInterrupted(47)                      held
  3372.  
  3373. --  jobRetained(48)                         canceled, completed
  3374.  
  3375.  
  3376.  
  3377. --  jobHoldUntilSpecified(49)               held
  3378.  
  3379.  
  3380.  
  3381. -- Table 2 - JmJobStateReasons2TC: Legal Job States for each Job State
  3382. --                                 Reason
  3383.  
  3384.  
  3385. --  Descriptive Name                        Allowed job states
  3386.  
  3387.  
  3388.  
  3389.  
  3390. --  cascaded(13)                            canceled
  3391.  
  3392. --  deleted-by-administrator(14)            canceled
  3393.  
  3394. --  discard-time-arrived(15)                canceled
  3395.  
  3396. --  postprint-failed(16)                    canceled, completed
  3397.  
  3398. --  submission-interrupted(17)              canceled
  3399.  
  3400. --  max-job-fault-count-exceeded(18)        canceled
  3401.  
  3402.  
  3403.  
  3404. --  devices-need-attention-time-out(19)     held, canceled
  3405.  
  3406.  
  3407.  
  3408.  
  3409. Bergman, Hastings, Isaacson, Lewis                 [Page 55]
  3410.  
  3411.                          Job Monitoring MIB, V0.81   April 24, 1997
  3412.  
  3413.  
  3414. --  Descriptive Name                        Allowed job states
  3415.  
  3416.  
  3417. --  needs-key-operator-time-out(20)         held, canceled
  3418.  
  3419. --  job-start-wait-time-out(21)             canceled
  3420.  
  3421. --  job-end-wait-time-out(22)               canceled
  3422.  
  3423. --  job-password-wait-time-out(23)          held, pending
  3424.  
  3425. --  device-timed-out(24)                    held, canceled
  3426.  
  3427. --  connecting-to-device-time-out(25)       held, canceled
  3428.  
  3429.  
  3430.  
  3431. --  transferring(26)                        processing
  3432.  
  3433. --  queued-in-device(27)                    processing
  3434.  
  3435. --  job-cleanup(28)                         processing
  3436.  
  3437. --  processing-to-stop-point(29)            processing
  3438.  
  3439. --  job-password-wait(30)                   held, processing
  3440.  
  3441. --  validating(31)                          held, pending, processing
  3442.  
  3443. --  queue-held(32)                          held
  3444.  
  3445. --  job-proof-wait(33)                      held
  3446.  
  3447. --  held-for-diagnostics(34)                held
  3448.  
  3449. --  service-off-line(35)                    held
  3450.  
  3451. --  no-space-on-server(36)                  held
  3452.  
  3453. --  pin-required(37)                        held, canceled
  3454.  
  3455. --  exceeded-account-limit(38)              held, canceled
  3456.  
  3457. --  held-for-retry(39)                      held
  3458.  
  3459.  
  3460.  
  3461. --  canceledByShutdown(40)                  canceled
  3462.  
  3463. --  deviceUnavailable(41)                   pending
  3464.  
  3465. --  wrongDevice(42)                         canceled
  3466.  
  3467.  
  3468.  
  3469.  
  3470.  
  3471. Bergman, Hastings, Isaacson, Lewis                 [Page 56]
  3472.  
  3473.                          Job Monitoring MIB, V0.81   April 24, 1997
  3474.  
  3475.  
  3476. --  Descriptive Name                        Allowed job states
  3477.  
  3478.  
  3479. --  badJob(43)                              canceled
  3480.  
  3481.  
  3482.  
  3483. -- Table 3 - JmJobStateReasons3TC: Legal Job States for each Job State
  3484. --                                 Reason
  3485.  
  3486.  
  3487. --  jobInterruptedByDeviceFailure(44)       held
  3488.  
  3489.  
  3490.  
  3491.  
  3492.  
  3493.  
  3494.  
  3495.  
  3496.  
  3497.  
  3498.  
  3499.  
  3500.  
  3501.  
  3502.  
  3503.  
  3504.  
  3505.  
  3506.  
  3507.  
  3508.  
  3509.  
  3510.  
  3511.  
  3512.  
  3513.  
  3514.  
  3515.  
  3516.  
  3517.  
  3518.  
  3519.  
  3520.  
  3521.  
  3522.  
  3523.  
  3524.  
  3525.  
  3526.  
  3527.  
  3528.  
  3529.  
  3530.  
  3531.  
  3532.  
  3533. Bergman, Hastings, Isaacson, Lewis                 [Page 57]
  3534.  
  3535.                          Job Monitoring MIB, V0.81   April 24, 1997
  3536.  
  3537.  
  3538. -- The General Group (Mandatory)
  3539.  
  3540. -- The jmGeneralGroup consists entirely of the jmGeneralTable.
  3541.  
  3542. -- Implementation of every object in this group is mandatory.
  3543. -- See Section 4 entitled 'Conformance Considerations' on page 14.
  3544.  
  3545. jmGeneral  OBJECT IDENTIFIER ::= { jobmonMIB 5 }
  3546.  
  3547. jmGeneralTable  OBJECT-TYPE
  3548.     SYNTAX      SEQUENCE OF JmGeneralEntry
  3549.     MAX-ACCESS  not-accessible
  3550.     STATUS      current
  3551.     DESCRIPTION
  3552.         "The jmGeneralTable consists of information of a general nature
  3553.         that are per-job-set, but are not per-job.  See Terminology and
  3554.         Job Model on page 8 for the definition of a job set."
  3555.     ::= { jmGeneral 1 }
  3556.  
  3557. jmGeneralEntry  OBJECT-TYPE
  3558.     SYNTAX      JmGeneralEntry
  3559.     MAX-ACCESS  not-accessible
  3560.     STATUS      current
  3561.     DESCRIPTION
  3562.         "Information about a job set (queue).
  3563.  
  3564.         An entry shall exist in this table for each job set."
  3565.     INDEX  { jmJobSetIndex }
  3566.     ::= { jmGeneralTable 1 }
  3567.  
  3568. JmGeneralEntry ::= SEQUENCE {
  3569.     jmGeneralNumberOfActiveJobs       Integer32(0..2147483647),
  3570.     jmGeneralOldestActiveJobIndex     Integer32(0..2147483647),
  3571.     jmGeneralNewestActiveJobIndex     Integer32(0..2147483647),
  3572.     jmGeneralJobPersistence           Integer32(0..2147483647),
  3573.     jmGeneralAttributePersistence     Integer32(0..2147483647),
  3574.     jmGeneralJobSetName               OCTET STRING(SIZE(0..63))
  3575. }
  3576.  
  3577. jmGeneralNumberOfActiveJobs OBJECT-TYPE
  3578.     SYNTAX      Integer32(0..2147483647)
  3579.     MAX-ACCESS  read-only
  3580.     STATUS      current
  3581.     DESCRIPTION
  3582.         "The current number of active jobs in the jmJobIDTable,
  3583.         jmJobStateTable, and jmAttributeTable, i.e., the total number of
  3584.         jobs that are in neither the completed nor the canceled states.
  3585.         See JmJobStateTC on page 24 for the exact specification of the
  3586.         semantics of the job states.
  3587.  
  3588.         If there are no active jobs, the value of this object shall be
  3589.         0."
  3590.     ::= { jmGeneralEntry 1 }
  3591.  
  3592.  
  3593.  
  3594.  
  3595. Bergman, Hastings, Isaacson, Lewis                 [Page 58]
  3596.  
  3597.                          Job Monitoring MIB, V0.81   April 24, 1997
  3598.  
  3599. jmGeneralOldestActiveJobIndex  OBJECT-TYPE
  3600.     SYNTAX      Integer32 (0..2147483647)
  3601.     MAX-ACCESS  read-only
  3602.     STATUS      current
  3603.     DESCRIPTION
  3604.         "The jmJobIndex of the oldest active job, i.e., the job in the
  3605.         jmJobStateTable and jmAttributeTable that has been there the
  3606.         longest and has neither completed nor been canceled.
  3607.  
  3608.         When a job completes or is canceled with a jmJobIndex value that
  3609.         matches this object, the agent shall advance the value to the
  3610.         next oldest active job, if any.
  3611.  
  3612.         If there are no active jobs, the agent shall the value of this
  3613.         object to 0."
  3614.     ::= { jmGeneralEntry 2 }
  3615.  
  3616. jmGeneralNewestActiveJobIndex  OBJECT-TYPE
  3617.     SYNTAX      Integer32 (0..2147483647)
  3618.     MAX-ACCESS  read-only
  3619.     STATUS      current
  3620.     DESCRIPTION
  3621.         "The jmJobIndex of the newest active job, i.e., the job in the
  3622.         jmJobStateTable and jmAttributeTable that has been added most
  3623.         recently and has neither completed nor been canceled.
  3624.  
  3625.         When a new job is accepted by the server or device that the
  3626.         agent is instrumenting, the agent shall increment this object by
  3627.         1 and store the job attributes in the row specified by the
  3628.         incremented value.  If the value would exceed the
  3629.         implementation-defined maximum value for jmJobIndex, the agent
  3630.         shall set the value back to 1, i.e., wrap around to the
  3631.         beginning of the job tables.
  3632.  
  3633.         It is recommended that the largest value for jmJobIndex be much
  3634.         larger than the maximum number of jobs that the implementation
  3635.         can contain at a single time, so as to minimize the pre-mature
  3636.         re-use of jmJobIndex value for a newer job while clients retain
  3637.         the same 'stale' value for an older job.
  3638.  
  3639.         When all jobs become inactive, i.e., enter the completed or
  3640.         canceled state, the agent shall leave the value of this object
  3641.         unchanged.
  3642.  
  3643.         When the server or device is power-cycled, the value of this
  3644.         object shall be persistent, so that new jobs are not assigned
  3645.         the same jmJobIndex as recent jobs before the power cycle.
  3646.         Therefore, the agent shall return the value 0 only on the first
  3647.         power-up of the server or device.
  3648.  
  3649.         NOTE - Applications that wish to efficiently access all of the
  3650.         active jobs may use jmGeneralOldestActiveJobIndex value to start
  3651.         with the oldest active job and continue until they reach the
  3652.         index value equal to jmGeneralNewestActiveJobIndex, skipping
  3653.         over any completed or canceled jobs that might intervene.  If an
  3654.  
  3655.  
  3656.  
  3657. Bergman, Hastings, Isaacson, Lewis                 [Page 59]
  3658.  
  3659.                          Job Monitoring MIB, V0.81   April 24, 1997
  3660.  
  3661.         application detects that the jmGeneralNewestActiveJobIndex is
  3662.         smaller than jmGeneralOldestActiveJobIndex, the job index has
  3663.         wrapped.  In this case, when the application exceeds the maximum
  3664.         job index (detected by a no such object status returned from a
  3665.         GetNext operation for the next conceptual row), the application
  3666.         shall start over at 1 and continue the GetNext operations to
  3667.         find the rest of the active jobs."
  3668.     ::= { jmGeneralEntry 3 }
  3669.  
  3670. jmGeneralJobPersistence OBJECT-TYPE
  3671.     SYNTAX      Integer32(0..2147483647)
  3672.     MAX-ACCESS  read-only
  3673.     STATUS      current
  3674.     DESCRIPTION
  3675.         "The minimum time in seconds that an entry will remain in the
  3676.         jmJobIDTable and jmJobStateTable after processing/printing has
  3677.         completed for this instance of the Job Set, i.e., the time in
  3678.         seconds starting when the job enters the completed or canceled
  3679.         state.  Depending on implementation, the value of this object
  3680.         may be either: (1) set by the system administrator by means
  3681.         outside this specification or (2)fixed by the implementation."
  3682.     ::= { jmGeneralEntry 4 }
  3683.  
  3684. jmGeneralAttributePersistence OBJECT-TYPE
  3685.     SYNTAX      Integer32(0..2147483647)
  3686.     MAX-ACCESS  read-only
  3687.     STATUS      current
  3688.     DESCRIPTION
  3689.         "The minimum time in seconds that an entry will remain in the
  3690.         jmAttributeTable after processing/printing has completed for
  3691.         this instance of the Job Set, i.e., the time in seconds starting
  3692.         when the job enters the completed or canceled state.  The value
  3693.         of this object may be either (1) set by the system administrator
  3694.         by means outside this specification or may be (2) fixed by the
  3695.         implementation, depending on implementation.
  3696.  
  3697.         This value shall be equal to or less than the value of
  3698.         jmGeneralJobPersistence.  Attributes that are shared between the
  3699.         jmJobIDTable/jmJobStateTable and the jmAttributeTable shall be
  3700.         governed by the larger value in all tables."
  3701.     ::= { jmGeneralEntry 5 }
  3702.  
  3703. jmGeneralJobSetName OBJECT-TYPE
  3704.     SYNTAX      OCTET STRING(SIZE(0..63))
  3705.     MAX-ACCESS  read-only
  3706.     STATUS      current
  3707.     DESCRIPTION
  3708.         "The human readable administratively assigned name of this job
  3709.         set (by means outside of this MIB).  Typically, this name will
  3710.         be the name of the job queue.  If a server or device has only a
  3711.         single job set, this object can be the administratively assigned
  3712.         name of the server or device itself.  This name does not need to
  3713.         be unique, though each job set in a single Job Monitoring MIB
  3714.         should have distinct names.
  3715.  
  3716.  
  3717.  
  3718.  
  3719. Bergman, Hastings, Isaacson, Lewis                 [Page 60]
  3720.  
  3721.                          Job Monitoring MIB, V0.81   April 24, 1997
  3722.  
  3723.         NOTE - The purpose of this object is to help the user of the job
  3724.         monitoring application distinguish between several job sets in
  3725.         implementations that support more than one job set."
  3726.     ::= { jmGeneralEntry 6 }
  3727.  
  3728.  
  3729.  
  3730.  
  3731.  
  3732. -- The Job ID Group (Mandatory)
  3733.  
  3734. -- The jmJobIDGroup consists entirely of the jmJobIDTable.
  3735. --
  3736. -- The two key indexes that are used in other tables to index jobs:
  3737. -- jmJobSetIndex and jmJobIndex are materialized in this group.
  3738. --
  3739. -- Implementation of every object in this group is mandatory.
  3740. -- See Section 4 entitled 'Conformance Considerations' on page 14.
  3741.  
  3742. jmJobID  OBJECT IDENTIFIER ::= { jobmonMIB 6 }
  3743.  
  3744. jmJobIDTable  OBJECT-TYPE
  3745.     SYNTAX      SEQUENCE OF JmJobIDEntry
  3746.     MAX-ACCESS  not-accessible
  3747.     STATUS      current
  3748.     DESCRIPTION
  3749.         "The jmJobIDTable provides a correspondence map (1) between the
  3750.         job submission ID that a client uses to refer to a job and (2)
  3751.         the jmJobSetIndex and jmJobIndex that the Job Monitoring MIB
  3752.         agent assigned to the job and that are used to access the job in
  3753.         all of the other tables in the MIB.  If a monitoring application
  3754.         already knows the jmJobIndex of the job it is querying, that
  3755.         application need not use the jmJobIDTable."
  3756.     ::= { jmJobID 1 }
  3757.  
  3758. jmJobIDEntry  OBJECT-TYPE
  3759.     SYNTAX      JmJobIDEntry
  3760.     MAX-ACCESS  not-accessible
  3761.     STATUS      current
  3762.     DESCRIPTION
  3763.         "The map from (1) the jmJobSubmissionIDIndex to (2) the
  3764.         jmJobSetIndex and jmJobIndex.
  3765.  
  3766.         An entry shall exist in this table for each job, no matter what
  3767.         the state of the job and no matter what job set the job is in.
  3768.         Each job shall appear in one and only one job set."
  3769.     INDEX  { jmJobSubmissionIDIndex }
  3770.     ::= { jmJobIDTable 1 }
  3771.  
  3772. JmJobIDEntry ::= SEQUENCE {
  3773.     jmJobSubmissionIDIndex            OCTET STRING(SIZE(0..32)),
  3774.     jmJobSetIndex                     Integer32(1..32767),
  3775.     jmJobIndex                        Integer32(1..2147483647)
  3776. }
  3777.  
  3778.  
  3779.  
  3780.  
  3781. Bergman, Hastings, Isaacson, Lewis                 [Page 61]
  3782.  
  3783.                          Job Monitoring MIB, V0.81   April 24, 1997
  3784.  
  3785. jmJobSubmissionIDIndex OBJECT-TYPE
  3786.     SYNTAX      OCTET STRING(SIZE(0..32))
  3787.     MAX-ACCESS  not-accessible
  3788.     STATUS      current
  3789.     DESCRIPTION
  3790.         "A quasi-unique 32-octet string ID which identifies the job
  3791.         uniquely within a particular client-server environment.  Either
  3792.         the client or the server assigns the job submission ID for each
  3793.         job.  The monitoring application whether in the client or
  3794.         running separately, uses the job submission ID to help the user
  3795.         identify which jmJobIndex was assigned by the agent.
  3796.  
  3797.         There are multiple formats for the jmJobSubmissionIDIndex.  Each
  3798.         format shall be registered using the procedures of a type 2
  3799.         enum.  See section entitled: 'IANA Registration of enums' on
  3800.         page 17.
  3801.  
  3802.         The value of jmJobSubmissionIDIndex should be one of the
  3803.         registered format types.  The first two octets of the string
  3804.         shall indicate which registered format is being used.  The agent
  3805.         shall assign a string of registered format (00) for any job
  3806.         without a Job Submission ID.  The format values registered so
  3807.         far are:
  3808.  
  3809.           Format
  3810.           Number   Description
  3811.           ------   ------------
  3812.           00       Set by the agent when neither the client nor the
  3813.                    server assigned a job submission ID.
  3814.  
  3815.           01       octets 3-10:  8-decimal-digit random number
  3816.                    octets 11-32: last 22 bytes of the jobName attribute
  3817.  
  3818.           02       octets 3-10:  8-decimal-digit sequential number
  3819.                    octets 11-32: Client MAC address
  3820.  
  3821.           03       octets 3-10:  8-decimal-digit sequential number
  3822.                    octets 11-32: last 22 bytes of the client URL
  3823.  
  3824.           ..       to be registered according to procedures of a type 2
  3825.                    enum.  See section 7.3 on page 18.
  3826.  
  3827.         NOTE - the job submission id is only intended to be unique
  3828.         between a limited set of clients for a limited duration of time,
  3829.         namely, for the life time of the job in the context of the
  3830.         server or device that is processing the job.  Some of the
  3831.         formats include something that is unique per client and a random
  3832.         number so that the same job submitted by the same client will
  3833.         have a different job submission id.  For other formats, where
  3834.         part of the id is guaranteed to be unique for each client, such
  3835.         as the MAC address or URL, a sequential number should suffice
  3836.         for each client (and may be easier for each client to manage).
  3837.         Therefore, the length of the job submission id has been selected
  3838.         to reduce the probability of collision to a very low number, but
  3839.         is not intended to be an absolute guarantee of uniqueness.
  3840.  
  3841.  
  3842.  
  3843. Bergman, Hastings, Isaacson, Lewis                 [Page 62]
  3844.  
  3845.                          Job Monitoring MIB, V0.81   April 24, 1997
  3846.  
  3847.         None-the-less, collisions could occur, but without bad
  3848.         consequences, since this MIB is intended to be used only for
  3849.         monitoring jobs, not for controlling and managing them."
  3850.     ::= { jmJobIDEntry 1 }
  3851.  
  3852. jmJobSetIndex OBJECT-TYPE
  3853.     SYNTAX      Integer32(1..32767)
  3854.     MAX-ACCESS  read-only
  3855.     STATUS      current
  3856.     DESCRIPTION
  3857.         "The job set index of the job set in which the job was placed
  3858.         when that server or device accepted the job.  This 16-bit value
  3859.         in combination with the jmJobIndex value permits the management
  3860.         application to access the other tables to obtain the job-
  3861.         specific objects.  This value shall be the same for a job in the
  3862.         jmJobIDTable as the corresponding jmJobSetIndex value in the
  3863.         jmJobStateTable and jmAttributeTable for this job.
  3864.  
  3865.         The value(s) of the jmJobSetIndex shall be persistent across
  3866.         power cycles, so that clients that have retained jmJobSetIndex
  3867.         values will access the same job sets upon subsequent power-up.
  3868.  
  3869.         NOTE - an implementation that has only one job set, such as a
  3870.         printer with a single queue, shall hard code this object with
  3871.         the value 1.  See Terminology and Job Model on page 8 for the
  3872.         definition of a job set."
  3873.     ::= { jmJobIDEntry 2 }
  3874.  
  3875. jmJobIndex OBJECT-TYPE
  3876.     SYNTAX      Integer32(1..2147483647)
  3877.     MAX-ACCESS  read-only
  3878.     STATUS      current
  3879.     DESCRIPTION
  3880.         "The sequential, monatonically increasing identifier index for
  3881.         the job generated by the server or device when that server or
  3882.         device accepted the job.  This index value permits the
  3883.         management application to access the other tables to obtain the
  3884.         job-specific row entries.  This value shall be the index used in
  3885.         the jmJobStateTable and jmAttributeTable for this job.
  3886.  
  3887.         See jmGeneralNewestActiveJobIndex on page 57 for a discussion
  3888.         about the largest value of jmJobIndex for an implementation.
  3889.  
  3890.         NOTE - Agents instrumenting systems that contain jobs with a job
  3891.         identifier of 0 shall map the job identifier value 0 to a
  3892.         jmJobIndex value that is one higher than the highest job
  3893.         identifier value that any job can have on that system."
  3894.     ::= { jmJobIDEntry 3 }
  3895.  
  3896.  
  3897.  
  3898.  
  3899. -- The Job State Group (Mandatory)
  3900.  
  3901. -- The jmJobStateGroup consists entirely of the jmJobStateTable.
  3902.  
  3903.  
  3904.  
  3905. Bergman, Hastings, Isaacson, Lewis                 [Page 63]
  3906.  
  3907.                          Job Monitoring MIB, V0.81   April 24, 1997
  3908.  
  3909. --
  3910. -- Implementation of every object in this group is mandatory.
  3911. -- See Section 4 entitled 'Conformance Considerations' on page 14.
  3912.  
  3913. jmJobStateG  OBJECT IDENTIFIER ::= { jobmonMIB 7 }
  3914.  
  3915. jmJobStateTable  OBJECT-TYPE
  3916.     SYNTAX      SEQUENCE OF JmJobStateEntry
  3917.     MAX-ACCESS  not-accessible
  3918.     STATUS      current
  3919.     DESCRIPTION
  3920.         "The jmJobStateTable consists of basic job state and status
  3921.         information for each job in a job set that (1) monitoring
  3922.         applications need to be able to access in a single SNMP Get
  3923.         operation, (2) that have a single value per job, and (3) that
  3924.         shall always be implemented.
  3925.  
  3926.         NOTE - Every accessible object in this table shall have the same
  3927.         value as one of the attributes in the jmAttributeTable.
  3928.         Implementations may either keep a separate copy or may share
  3929.         each value that is common between the jmJobStateTable and the
  3930.         jmAttributeTable.  The persistence of the two tables may be
  3931.         different depending on implementation and/or system
  3932.         administrator policy as specified by the jmGeneralJobPersistence
  3933.         and jmGeneralAttributePersistence objects defined on page 58.
  3934.         Thus an accounting application need only copy the entire
  3935.         jmAttributeTable or selected job rows and will obtain all of the
  3936.         information about those jobs and their states."
  3937.     ::= { jmJobStateG 1 }
  3938.  
  3939. jmJobStateEntry  OBJECT-TYPE
  3940.     SYNTAX      JmJobStateEntry
  3941.     MAX-ACCESS  not-accessible
  3942.     STATUS      current
  3943.     DESCRIPTION
  3944.         "Basic per-job state and status information.
  3945.  
  3946.         An entry shall exist in this table for each job, no matter what
  3947.         the state of the job is.  Each job shall appear in one and only
  3948.         one job set."
  3949.     INDEX  { jmJobSetIndex, jmJobIndex }
  3950.     ::= { jmJobStateTable 1 }
  3951.  
  3952. JmJobStateEntry ::= SEQUENCE {
  3953.     jmJobState                            JmJobStateTC,        -- pg 24
  3954.     jmJobStateKOctetsCompleted            Integer32(-2..2147483647),
  3955.     jmJobStateImpressionsCompleted        Integer32(-2..2147483647),
  3956.     jmJobStateAssociatedValue             Integer32(-2..2147483647)
  3957. }
  3958.  
  3959.  
  3960.  
  3961. jmJobState OBJECT-TYPE
  3962.     SYNTAX      JmJobStateTC              -- See page 24
  3963.     MAX-ACCESS  read-only
  3964.  
  3965.  
  3966.  
  3967. Bergman, Hastings, Isaacson, Lewis                 [Page 64]
  3968.  
  3969.                          Job Monitoring MIB, V0.81   April 24, 1997
  3970.  
  3971.     STATUS      current
  3972.     DESCRIPTION
  3973.         "The current state of the job (pending, processing, held, etc.).
  3974.  
  3975.         The value of this object shall always be the same as that of the
  3976.         jobState attribute, so that this information appears in both the
  3977.         jmJobStateTable and the jmAttributeTable simultaneously.  See
  3978.         the JmJobStateTC textual-convention on page 20 and the jobState
  3979.         attribute on page 30 in the jmAttributeTable for the full
  3980.         specification of this object/attribute."
  3981.     ::= { jmJobStateEntry 1 }
  3982.  
  3983.  
  3984. jmJobStateKOctetsCompleted OBJECT-TYPE
  3985.     SYNTAX      Integer32(-2..2147483647)
  3986.     MAX-ACCESS  read-only
  3987.     STATUS      current
  3988.     DESCRIPTION
  3989.         "The current number of octets completed processing by the server
  3990.         or device measured in units of K (1024) octets.
  3991.  
  3992.         The value of this object shall always be the same as that of the
  3993.         jobKOctetsCompleted attribute, so that this information appears
  3994.         in both the jmJobStateTable and the jmAttributeTable
  3995.         simultaneously.  See the jobKOctetsCompleted attribute on page
  3996.         40 in the jmAttributeTable for the full specification of this
  3997.         object/attribute."
  3998.     ::= { jmJobStateEntry 2 }
  3999.  
  4000. jmJobStateImpressionsCompleted OBJECT-TYPE
  4001.     SYNTAX      Integer32(-2..2147483647)
  4002.     MAX-ACCESS  read-only
  4003.     STATUS      current
  4004.     DESCRIPTION
  4005.         "The current number of impressions completed being marked and
  4006.         stacked by the device for this job so far.
  4007.  
  4008.         The value of this object shall always be the same as that of the
  4009.         impressionsCompleted attribute, so that this information appears
  4010.         in both the jmJobStateTable and the jmAttributeTable
  4011.         simultaneously.  See the impressionsCompleted attribute on page
  4012.         41 in the jmAttributeTable for the full specification of this
  4013.         object/attribute."
  4014.     ::= { jmJobStateEntry 3 }
  4015.  
  4016. jmJobStateAssociatedValue OBJECT-TYPE
  4017.     SYNTAX      Integer32(-2..2147483647)
  4018.     MAX-ACCESS  read-only
  4019.     STATUS      current
  4020.     DESCRIPTION
  4021.         "The value of the most relevant attribute associated with the
  4022.         job's current state.
  4023.  
  4024.         The value of this object shall always be the same as that of the
  4025.         jobStateAssociatedValue attribute, so that this information
  4026.  
  4027.  
  4028.  
  4029. Bergman, Hastings, Isaacson, Lewis                 [Page 65]
  4030.  
  4031.                          Job Monitoring MIB, V0.81   April 24, 1997
  4032.  
  4033.         appears in both the jmJobStateTable and the jmAttributeTable
  4034.         simultaneously.  See the jobStateAssociatedValue attribute on
  4035.         page 30 in the jmAttributeTable for the full specification of
  4036.         this object/attribute."
  4037.     ::= { jmJobStateEntry 4 }
  4038.  
  4039.  
  4040.  
  4041.  
  4042. -- The Attribute Group (Mandatory)
  4043.  
  4044. -- The jmAttributeGroup consists entirely of the jmAttributeTable.
  4045. --
  4046. -- Implementation of every object in this group is mandatory.
  4047. -- See Section 4 entitled 'Conformance Considerations' on page 14.
  4048. --
  4049. -- Some attributes are mandatory for agent conformance, and the rest are
  4050. -- conditionally mandatory.  See the specification of the
  4051. -- JmAttributeTypeTC on page 27 for which attributes are mandatory for
  4052. -- agents to implement.
  4053.  
  4054. jmAttribute  OBJECT IDENTIFIER ::= { jobmonMIB 8 }
  4055.  
  4056. jmAttributeTable  OBJECT-TYPE
  4057.     SYNTAX      SEQUENCE OF JmAttributeEntry
  4058.     MAX-ACCESS  not-accessible
  4059.     STATUS      current
  4060.     DESCRIPTION
  4061.         "The jmAttributeTable shall contain attributes of the job and
  4062.         document(s) for each job in a job set.  Instead of allocating
  4063.         distinct objects for each attribute, each attribute is
  4064.         represented as a separate row in the jmAttributeTable.  Some
  4065.         attributes represent information about the job and document(s),
  4066.         such as file-names, document-names, submission-time, completion-
  4067.         time, size, etc.  Other attributes represent requested and/or
  4068.         consumed resources for each job for use by monitoring and
  4069.         accounting applications.
  4070.  
  4071.         The jmAttributeTable is a per-job table with an extra index for
  4072.         each type of attribute (jmAttributeTypeIndex) that a job can
  4073.         have and an additional index (jmAttributeInstanceIndex) for
  4074.         those attributes that can have multiple instances per job.  The
  4075.         jmAttributeTypeIndex object shall contain an enum type that
  4076.         indicates the type of attribute (see JmAttributeTypeTC on page
  4077.         27).  The value of the attribute shall be represented in either
  4078.         the jmAttributeValueAsInteger or jmAttributeValueAsOctets
  4079.         objects, or both, as specified in the JmAttributeTypeTC textual-
  4080.         convention.
  4081.  
  4082.         1)The agent shall create rows in the jmAttributeTable as the
  4083.           server or device is able to discover the attributes either
  4084.           from the job submission protocol itself or from the document
  4085.           PDL.  As the documents are interpreted, the interpreter may
  4086.           discover additional attributes and so the agent adds
  4087.           additional rows to this table.  As the attributes that
  4088.  
  4089.  
  4090.  
  4091. Bergman, Hastings, Isaacson, Lewis                 [Page 66]
  4092.  
  4093.                          Job Monitoring MIB, V0.81   April 24, 1997
  4094.  
  4095.           represent resources are actually consumed, the usage counter
  4096.           contained in the jmAttributeValueAsInteger object is
  4097.           incremented according to the units indicated in the
  4098.           description of the JmAttributeTypeTC enum."
  4099.     ::= { jmAttribute 1 }
  4100.  
  4101. jmAttributeEntry  OBJECT-TYPE
  4102.     SYNTAX      JmAttributeEntry
  4103.     MAX-ACCESS  not-accessible
  4104.     STATUS      current
  4105.     DESCRIPTION
  4106.         "Attributes representing information about the job and
  4107.         document(s) or resources required and/or consumed.
  4108.  
  4109.         Zero or more entries shall exist in this table for each job in a
  4110.         job set.  Each job shall appear in one and only one job set."
  4111.     INDEX  { jmJobSetIndex, jmJobIndex, jmAttributeTypeIndex,
  4112.     jmAttributeInstanceIndex }
  4113.     ::= { jmAttributeTable 1 }
  4114.  
  4115. JmAttributeEntry ::= SEQUENCE {
  4116.     jmAttributeTypeIndex          JmAttributeTypeTC,        -- pg 27
  4117.     jmAttributeInstanceIndex      Integer32(1..32767),
  4118.     jmAttributeValueAsInteger     Integer32(-2..2147483647),
  4119.     jmAttributeValueAsOctets      OCTET STRING(SIZE(0..63))
  4120. }
  4121.  
  4122. jmAttributeTypeIndex OBJECT-TYPE
  4123.     SYNTAX      JmAttributeTypeTC        -- See page 27
  4124.     MAX-ACCESS  not-accessible
  4125.     STATUS      current
  4126.     DESCRIPTION
  4127.         "The type of attribute that this row entry represents.
  4128.  
  4129.         The type may identify information about the job or document(s)
  4130.         or may identify a resource required to process the job before
  4131.         the job start processing and/or consumed by the job as the job
  4132.         is processed.
  4133.  
  4134.         Examples of job and document information include:
  4135.         jobCopiesRequested, documentCopiesRequested, jobCopiesCompleted,
  4136.         documentCopiesCompleted, fileName, and documentName.
  4137.  
  4138.         Examples of resources required and consumed include:
  4139.         jobKOctetsRequested, jobKOctetsCompleted, pagesRequested,
  4140.         pagesCompleted, mediumRequested, and mediumConsumed,
  4141.         respectively.
  4142.  
  4143.         In the definitions of the enums in the JmAttributeTypeTC textual
  4144.         convention, each description indicates whether the value of the
  4145.         attribute shall be represented using the
  4146.         jmAttributeValueAsInteger or the jmAttributeValueAsOctets
  4147.         objects by the initial tag: 'INTEGER:' or 'OCTETS:',
  4148.         respectively.  A very few attributes use both objects
  4149.         (mediumConsumed) and so have both tags.
  4150.  
  4151.  
  4152.  
  4153. Bergman, Hastings, Isaacson, Lewis                 [Page 67]
  4154.  
  4155.                          Job Monitoring MIB, V0.81   April 24, 1997
  4156.  
  4157.  
  4158.         If the jmAttributeValueAsInteger object is not used (no
  4159.         'INTEGER:' tag), the agent shall return the value (-1)
  4160.         indicating other.  If the jmAttributeValueAsOctets object is not
  4161.         used (no 'OCTETS:' tag), the agent shall return a zero-length
  4162.         octet string."
  4163.     ::= { jmAttributeEntry 1 }
  4164.  
  4165. jmAttributeInstanceIndex OBJECT-TYPE
  4166.     SYNTAX      Integer32(1..32767)
  4167.     MAX-ACCESS  not-accessible
  4168.     STATUS      current
  4169.     DESCRIPTION
  4170.         "A running 16-bit index of the attributes of the same type for
  4171.         each job.  For those attributes with only a single instance per
  4172.         job, this index value shall be 1.  For those attributes that are
  4173.         a single value per document, the index value shall be the
  4174.         document number, starting with 1 for the first document in the
  4175.         job.  Jobs with only a single document shall use the index value
  4176.         of 1.  For those attributes that can have multiple values per
  4177.         job or per document, such as documentFormatIndex or
  4178.         documentFormatType, the index shall be a running index for the
  4179.         job as a whole, starting at 1."
  4180.     ::= { jmAttributeEntry 2 }
  4181.  
  4182. jmAttributeValueAsInteger OBJECT-TYPE
  4183.     SYNTAX      Integer32(-2..2147483647)
  4184.     MAX-ACCESS  read-only
  4185.     STATUS      current
  4186.     DESCRIPTION
  4187.         "The integer value of the attribute.  The value of the attribute
  4188.         shall be represented as an integer if the enum description in
  4189.         the JmAttributeTypeTC definition (see page 27) has the tag:
  4190.         'INTEGER:'.
  4191.  
  4192.         Depending on the enum definition, this object value may be an
  4193.         integer, a counter, an index, or an enum, depending on the
  4194.         jmAttributeTypeIndex value.  The units of this value are
  4195.         specified in the enum description.
  4196.  
  4197.         For those attributes that are accumulating job consumption as
  4198.         the job is processed as specified in the JmAttributeTypeTC,
  4199.         shall contain the final value after the job completes
  4200.         processing, i.e., this value shall indicate the total usage of
  4201.         this resource made by the job.
  4202.  
  4203.         A monitoring application is able to copy this value to a
  4204.         suitable longer term storage for later processing as part of an
  4205.         accounting system.
  4206.  
  4207.         Since the agent may add attributes representing resources to
  4208.         this table while the job is waiting to be processed or being
  4209.         processed, which can be a long time before any of the resources
  4210.         are actually used, the agent shall set the value of the
  4211.  
  4212.  
  4213.  
  4214.  
  4215. Bergman, Hastings, Isaacson, Lewis                 [Page 68]
  4216.  
  4217.                          Job Monitoring MIB, V0.81   April 24, 1997
  4218.  
  4219.         jmAttributeValueAsInteger object to 0 for resources that the job
  4220.         has not yet consumed.
  4221.  
  4222.         Attributes for which the concept of an integer value is
  4223.         meaningless, such as fileName, interpreter, and
  4224.         physicalDeviceName, do not have the 'INTEGER:' tag in the
  4225.         JmAttributeTypeTC definition and so shall return a value of (-1)
  4226.         to indicate other for jmAttributeValueAsInteger.
  4227.  
  4228.         For attributes which do have the 'INTEGER:' tag in the
  4229.         JmAttributeTypeTC definition, if the integer value is not (yet)
  4230.         known, the value shall be (-2) to represent unknown or the
  4231.         attribute row shall not be present in the table."
  4232.     ::= { jmAttributeEntry 3 }
  4233.  
  4234. jmAttributeValueAsOctets OBJECT-TYPE
  4235.     SYNTAX      OCTET STRING(SIZE(0..63))
  4236.     MAX-ACCESS  read-only
  4237.     STATUS      current
  4238.     DESCRIPTION
  4239.         "The octet string value of the attribute.  The value of the
  4240.         attribute shall be represented as an OCTET STRING if the enum
  4241.         description in the JmAttributeTypeTC definition (see page 27)
  4242.         has the tag: 'OCTETS:'.
  4243.  
  4244.         Depending on the enum definition, this object value may be a
  4245.         coded character set string (text) or a binary octet string, such
  4246.         as DateAndTime.
  4247.  
  4248.         Attributes for which the concept of an octet string value is
  4249.         meaningless, such as pagesCompleted, do not have the tag
  4250.         'OCTETS:' in the JmAttributeTypeTC definition and so shall
  4251.         return a value of a zero length string for the
  4252.         jmAttributeValueAsOctets object."
  4253.     ::= { jmAttributeEntry 4 }
  4254.  
  4255.  
  4256. -- Conformance Information
  4257.  
  4258. jmMIBConformance OBJECT IDENTIFIER ::= { jobmonMIB 2 }
  4259.  
  4260. -- compliance statements
  4261. jmMIBCompliance MODULE-COMPLIANCE
  4262.     STATUS  current
  4263.     DESCRIPTION
  4264.         "The compliance statement for agents that implement the
  4265.         job monitoring MIB."
  4266.     MODULE -- this module
  4267.     MANDATORY-GROUPS {
  4268.         jmGeneralGroup, jmJobIDGroup, jmJobStateGroup, jmAttributeGroup
  4269.         }
  4270.  
  4271.         OBJECT  jmJobState
  4272.         SYNTAX      INTEGER {
  4273.               processing(5),
  4274.  
  4275.  
  4276.  
  4277. Bergman, Hastings, Isaacson, Lewis                 [Page 69]
  4278.  
  4279.                          Job Monitoring MIB, V0.81   April 24, 1997
  4280.  
  4281.               needsAttention(7),
  4282.               canceled(8),
  4283.               completed(9)
  4284.         }
  4285.     DESCRIPTION
  4286.         "It is conformant for an agent to implement just these four
  4287.         states in this object.  Any additional states are conditionally
  4288.         mandatory, i.e., an agent shall represent any additional states
  4289.         that the server or device implements.  However, a client shall
  4290.         accept all of the states from an agent."
  4291.  
  4292.         -- OBJECT jmAttributeTypeIndex
  4293.         -- SYNTAX      INTEGER {
  4294.         --    jobState(3),
  4295.         --    numberOfInterveningJobs(9),
  4296.         --    deviceAlertCode(10),
  4297.         --    jobKOctetsRequested(48),
  4298.         --    jobKOctetsCompleted(50),
  4299.         --    impressionsRequested(54),
  4300.         --    impressionsCompleted(55),
  4301.         --    outputBinName(35)
  4302.         -- }
  4303.     -- DESCRIPTION
  4304.         --"It is conformant for an agent to implement just these 8
  4305.         -- attributes.  Any additional attributes are conditionally
  4306.         -- mandatory, i.e., an agent shall represent any additional
  4307.         -- states that the server or device implements.  However, a
  4308.         -- client shall accept all of the attributes from an agent and
  4309.         -- either display them to its user or ignore them.
  4310.         --
  4311.         -- NOTE - SMI does not allow an enum to be declared as mandatory
  4312.         -- if that enum is not a member of a group, but
  4313.         -- jmAttributeTypeIndex cannot be a member of a group and still
  4314.         -- be not-accessible.  So this MIB comments the mandatory
  4315.         -- attributes as if SMI allowed such a declaration in order to
  4316.         -- declare the mandatory attributes."
  4317.  
  4318. -- There are no conditionally mandatory or optional groups.
  4319.  
  4320.     ::= { jmMIBConformance 1 }
  4321.  
  4322. jmMIBGroups      OBJECT IDENTIFIER ::= { jmMIBConformance 2 }
  4323.  
  4324. jmGeneralGroup OBJECT-GROUP
  4325.     OBJECTS {
  4326.         jmGeneralNumberOfActiveJobs, jmGeneralOldestActiveJobIndex,
  4327.         jmGeneralNewestActiveJobIndex, jmGeneralJobPersistence,
  4328.         jmGeneralAttributePersistence, jmGeneralJobSetName}
  4329.     STATUS  current
  4330.     DESCRIPTION
  4331.         "The general group."
  4332.     ::= { jmMIBGroups 1 }
  4333.  
  4334. jmJobIDGroup OBJECT-GROUP
  4335.     OBJECTS {
  4336.  
  4337.  
  4338.  
  4339. Bergman, Hastings, Isaacson, Lewis                 [Page 70]
  4340.  
  4341.                          Job Monitoring MIB, V0.81   April 24, 1997
  4342.  
  4343.         jmJobSetIndex, jmJobIndex }
  4344.     STATUS  current
  4345.     DESCRIPTION
  4346.         "The job ID group."
  4347.     ::= { jmMIBGroups 2 }
  4348.  
  4349. jmJobStateGroup OBJECT-GROUP
  4350.     OBJECTS {
  4351.         jmJobState, jmJobStateKOctetsCompleted,
  4352.         jmJobStateImpressionsCompleted, jmJobStateAssociatedValue }
  4353.     STATUS  current
  4354.     DESCRIPTION
  4355.         "The job state group."
  4356.     ::= { jmMIBGroups 3 }
  4357.  
  4358. jmAttributeGroup OBJECT-GROUP
  4359.     OBJECTS {
  4360.         jmAttributeValueAsInteger, jmAttributeValueAsOctets }
  4361.     STATUS  current
  4362.     DESCRIPTION
  4363.         "The attribute group."
  4364.     ::= { jmMIBGroups 4 }
  4365.  
  4366.  
  4367. END
  4368.  
  4369.  
  4370.  
  4371.  
  4372.  
  4373.  
  4374.  
  4375.  
  4376.  
  4377.  
  4378.  
  4379.  
  4380.  
  4381.  
  4382.  
  4383.  
  4384.  
  4385.  
  4386.  
  4387.  
  4388.  
  4389.  
  4390.  
  4391.  
  4392.  
  4393.  
  4394.  
  4395.  
  4396.  
  4397.  
  4398.  
  4399.  
  4400.  
  4401. Bergman, Hastings, Isaacson, Lewis                 [Page 71]
  4402.  
  4403.                          Job Monitoring MIB, V0.81   April 24, 1997
  4404.  
  4405.  
  4406.                       Appendix A - Job Life Cycle
  4407.  
  4408. 12. Job Life Cycle
  4409.  
  4410. The job object has well-defined states and client operations that affect
  4411. the transition between the job states.  Internal server and device
  4412. actions also affect the transitions of the job between the job states.
  4413. These states and transitions are referred to as the job's life cycle.
  4414.  
  4415. Not all implementations of job submission protocols have all of the
  4416. states of the job model specified here.  The job model specified here is
  4417. intended to be a superset of most implementations.  It is the purpose of
  4418. the agent to map the particular implementation's job life cycle onto the
  4419. one specified here.  The agent may omit any states not implemented.
  4420. Only the processing, needsAttention, canceled, and completed states are
  4421. required to be implemented by an agent.  However, a management
  4422. application shall be prepared to accept any of the states in the job
  4423. life cycle specified here, so that the management application can
  4424. interoperate with any conforming agent.
  4425.  
  4426. The job states are intended to be the user visible.  The agent shall
  4427. make these states visible in the MIB, but only for the subset of job
  4428. states that the implementation has.  Implementations may need to have
  4429. sub-states of these user-visible states.  Such implementation is not
  4430. specified in this model, is not supported by this Job Monitoring MIB,
  4431. and will vary from implementation to implementation.
  4432.  
  4433. One of the purposes of the job model is to specify what is invariant
  4434. from implementation to implementation as far as the MIB specification
  4435. and the user is concerned.  Therefore, job states are all intended to
  4436. last a user-visible length of time in most implementations.  However,
  4437. some jobs may pass through some states in zero time in some situations
  4438. and/or in some implementations.
  4439.  
  4440. The job model does not specify how accounting and auditing is
  4441. implemented, except to require that accounting and auditing logs are
  4442. separate from the job life cycle and last longer than job objects.  Jobs
  4443. in the completed state are not logs, since jobs in the completed state
  4444. are accessible via job submission and/or job management protocol
  4445. operations and are removed from these job tables after a site-settable
  4446. period of time.  Accounting information may be copied incrementally to
  4447. the accounting logs as a job processes, or may be copied while the job
  4448. is in the completed state, depending on implementation.  The same is
  4449. true for auditing logs.
  4450.  
  4451. The jmJobState object and the jobState attribute both specify the
  4452. standard job states.  The legal job state transitions are shown in the
  4453. state transition diagram presented in Table 1.  An implementation need
  4454. not support all legal job state transitions.
  4455.  
  4456.  
  4457.  
  4458.  
  4459.  
  4460.  
  4461.  
  4462. Bergman, Hastings, Isaacson, Lewis                            [Page
  4463. 72]
  4464.  
  4465.                          Job Monitoring MIB, V0.81   April 24, 1997
  4466.  
  4467.              Table 12-2 - Legal Job State Transition Table
  4468.  
  4469.  
  4470.  
  4471.  
  4472.  
  4473.  
  4474.                   New State
  4475.  
  4476.  
  4477.  
  4478.                          "active" jobs
  4479.  
  4480.  
  4481.  
  4482.                   unkno  hel  pend   proce prin  needsAt  cance  compl
  4483.                   wn     d    ing    ssing ting  tention  led    eted
  4484. Old state         2      3    4      5     6     7        8      9
  4485.  
  4486.  
  4487.  
  4488. unknown(2)               yes  yes    yes   yes
  4489.  
  4490. held(3)                       yes    yes   yes            yes
  4491.  
  4492. pending(4)               yes         yes   yes            yes
  4493.  
  4494. processing(5)            yes               yes   yes      yes    yes
  4495.  
  4496. printing(6)              yes                     yes      yes    yes
  4497.  
  4498. needsAttention(7)        yes         yes   yes            yes
  4499.  
  4500. canceled(8)       yes
  4501.  
  4502. completed(9)      yes
  4503.  
  4504.  
  4505.  
  4506.  
  4507.  
  4508.  
  4509. 13. Bibliography
  4510.  
  4511. [1] The Printer MIB - RFC 1579, proposed IETF standard.  Also an
  4512. Internet-Draft on the standards track as a draft standard: draft-ietf-
  4513. printmib-mib-info-01.txt
  4514.  
  4515. [2] ISO/IEC 10175 Document Printing Application (DPA).  See
  4516. ftp://ftp.pwg.org/pub/pwg/dpa/
  4517.  
  4518. [3] Internet Printing Protocol (IPP), in progress on the IETF standards
  4519. track.  See draft-ietf-ipp-model-00.txt.  See also
  4520. http://www.pwg.org/ipp/index.html
  4521.  
  4522.  
  4523.  
  4524. Bergman, Hastings, Isaacson, Lewis                            [Page
  4525. 73]
  4526.  
  4527.                          Job Monitoring MIB, V0.81   April 24, 1997
  4528.  
  4529. [4] IEEE 1284.1, Transport-independent Printer System Interface (TIPSI).
  4530.  
  4531. [5] MIB-II, RFC 1213.
  4532.  
  4533. [6] Host Resources MIB, RFC 1514
  4534.  
  4535. 14. Author's Addresses
  4536.     Ron Bergman
  4537.     Dataproducts Corp.
  4538.  
  4539.     Phone: 805-578-4421
  4540.     Fax:
  4541.     Email: rbergman@dpc.com
  4542.  
  4543.  
  4544.     Tom Hastings
  4545.     Xerox Corporation, ESAE-231
  4546.     701 S. Aviation Blvd.
  4547.     El Segundo, CA   90245
  4548.  
  4549.     Phone: 310-333-6413
  4550.     Fax:   310-333-5514
  4551.     EMail: hastings@cp10.es.xerox.com
  4552.  
  4553.  
  4554.     Scott A. Isaacson
  4555.     Novell, Inc.
  4556.     122 E 1700 S
  4557.     Provo, UT   84606
  4558.  
  4559.     Phone: 801-861-7366
  4560.     Fax:   801-861-4025
  4561.     EMail: scott_isaacson@novell.com
  4562.  
  4563.  
  4564.     Harry Lewis
  4565.     IBM Corporation
  4566.     6300 Diagonal Hwy
  4567.     Boulder, CO 80301
  4568.  
  4569.     Phone: (303) 924-5337
  4570.     Fax:
  4571.     Email: harryl@us.ibm.com
  4572.  
  4573.  
  4574.     Send comments to:
  4575.     JMP Mailing List:  jmp@pwg.org
  4576.  
  4577.     JMP Mailing List Subscription Information:
  4578.     jmp-request@pwg.org
  4579.  
  4580.  
  4581.  
  4582.  
  4583.  
  4584.  
  4585.  
  4586. Bergman, Hastings, Isaacson, Lewis                            [Page
  4587. 74]
  4588.  
  4589.                          Job Monitoring MIB, V0.81   April 24, 1997
  4590.  
  4591. Other Participants:
  4592.     Chuck Adams - Tektronix
  4593.     Jeff Barnett - IBM
  4594.     Keith Carter, IBM Corporation
  4595.     Jeff Copeland - QMS
  4596.     Andy Davidson - Tektronix
  4597.     Roger deBry - IBM
  4598.     Mabry Dozier - QMS
  4599.     Lee Ferrel - Canon
  4600.     Steve Gebert - IBM
  4601.     Robert Herriot - Sun Microsystems Inc.
  4602.     Shige Kanemitsu - Kyocera
  4603.     David Kellerman - Northlake Software
  4604.     Rick Landau - Digital
  4605.     Harry Lewis - IBM
  4606.     Pete Loya - HP
  4607.     Ray Lutz - Cognisys
  4608.     Jay Martin - Underscore
  4609.     Mike MacKay, Novell, Inc.
  4610.     Stan McConnell - Xerox
  4611.     Carl-Uno Manros, Xerox, Corp.
  4612.     Pat Nogay - IBM
  4613.     Bob Pentecost - HP
  4614.     Rob Rhoads - Intel
  4615.     David Roach - Unisys
  4616.     Hiroyuki Sato - Canon
  4617.     Bob Setterbo - Adobe
  4618.     Gail Songer, EFI
  4619.     Mike Timperman - Lexmark
  4620.     Randy Turner - Sharp
  4621.     William Wagner - Digital Products
  4622.     Jim Walker - Dazel
  4623.     Chris Wellens - Interworking Labs
  4624.     Rob Whittle - Novell
  4625.     Don Wright - Lexmark
  4626.     Lloyd Young - Lexmark
  4627.     Atsushi Yuki - Kyocera
  4628.     Peter Zehler, Xerox, Corp.
  4629.  
  4630.  
  4631.  
  4632.  
  4633.  
  4634.  
  4635.  
  4636.  
  4637.  
  4638.  
  4639.  
  4640.  
  4641.  
  4642.  
  4643.  
  4644.  
  4645.  
  4646.  
  4647.  
  4648. Bergman, Hastings, Isaacson, Lewis                            [Page
  4649. 75]
  4650.  
  4651.                          Job Monitoring MIB, V0.81   April 24, 1997
  4652.  
  4653. 15. INDEX
  4654.  
  4655. This index includes the textual conventions, the objects, and the
  4656. attributes.  Textual conventions all start with the prefix:  "JM" and
  4657. end with the suffix:  "TC".  Objects all starts with the prefix:  "jm"
  4658. followed by the group name.  Attributes are identified with enums, and
  4659. so start with any lower case letter and have no special prefix.
  4660.  
  4661. colorantConsumedIndex, 43
  4662. colorantConsumedName, 43
  4663. colorantRequestedIndex, 42
  4664. colorantRequestedName, 43
  4665. deviceAlertCode, 32
  4666. deviceNameRequested, 34
  4667. documentCopiesCompleted, 38
  4668. documentCopiesRequested, 38
  4669. documentFormatIndex, 35
  4670. documentFormatType, 36
  4671. documentName, 35
  4672. fileName, 35
  4673. finishing, 37
  4674. impressionsCompleted, 41
  4675. impressionsCompletedCurrentCopy, 41
  4676. impressionsInterpreted, 41
  4677. impressionsRequested, 41
  4678. impressionsSentToDevice, 41
  4679. impressionsSpooled, 40
  4680. jmAttributeInstanceIndex, 66
  4681. jmAttributeTypeIndex, 65
  4682. JmAttributeTypeTC, 27
  4683. jmAttributeValueAsInteger, 66
  4684. jmAttributeValueAsOctets, 67
  4685. JmFinishingTC, 21
  4686. jmGeneralAttributePersistence, 58
  4687. jmGeneralJobPersistence, 58
  4688. jmGeneralJobSetName, 58
  4689. jmGeneralNewestActiveJobIndex, 57
  4690. jmGeneralNumberOfActiveJobs, 56
  4691. jmGeneralOldestActiveJobIndex, 57
  4692. jmJobIndex, 61
  4693. JmJobServiceTypesTC, 44
  4694. jmJobSetIndex, 61
  4695. JmJobSourcePlatformTypeTC, 21
  4696. jmJobState, 62
  4697. jmJobStateAssociatedValue, 63
  4698. jmJobStateImpressionsCompleted, 63
  4699. jmJobStateKOctetsCompleted, 63
  4700. JmJobStateReasons1TC, 45
  4701. JmJobStateReasons2TC, 48
  4702. JmJobStateReasons3TC, 53
  4703. JmJobStateReasons4TC, 54
  4704. JmJobStateTC, 24
  4705. jmJobSubmissionIDIndex, 60
  4706. JmMediumTypeTC, 23
  4707.  
  4708.  
  4709.  
  4710. Bergman, Hastings, Isaacson, Lewis                            [Page
  4711. 76]
  4712.  
  4713.                          Job Monitoring MIB, V0.81   April 24, 1997
  4714.  
  4715. JmPrintQualityTC, 23
  4716. JmTimeStampTC, 20
  4717. JmTonerEconomyTC, 23
  4718. jobAccountName, 33
  4719. jobComment, 35
  4720. jobCompletedDateAndTime, 44
  4721. jobCompletedTimeStamp, 44
  4722. jobCopiesCompleted, 38
  4723. jobCopiesRequested, 38
  4724. jobHoldUntil, 37
  4725. jobKOctetsCompleted, 40
  4726. jobKOctetsRequested, 39
  4727. jobKOctetsTransferred, 39
  4728. jobName, 32
  4729. jobOwner, 33
  4730. jobPriority, 36
  4731. jobProcessAfterDateAndTime, 36
  4732. jobProcessingCPUTime, 44
  4733. jobServiceTypes, 33
  4734. jobSourceChannelIndex, 34
  4735. jobSourcePlatformType, 34
  4736. jobStartedBeingHeldTimeStamp, 43
  4737. jobStartedProcessingDateAndTime, 43
  4738. jobStartedProcessingTimeStamp, 44
  4739. jobState, 30
  4740. jobStateAssociatedValue, 30
  4741. jobStateReasons1, 31
  4742. jobStateReasons2, 31
  4743. jobStateReasons3, 31
  4744. jobStateReasons4, 31
  4745. jobSubmissionToDeviceDateAndTime, 43
  4746. jobSubmissionToDeviceTimeStamp, 43
  4747. jobSubmissionToServerDateAndTime, 43
  4748. mediumConsumedName, 42
  4749. mediumRequestedName, 42
  4750. mediumRequestedType, 42
  4751. numberOfDocuments, 35
  4752. numberOfInterveningJobs, 32
  4753. other, 29
  4754. outputBinIndex, 37
  4755. outputBinName, 37
  4756. pagesCompleted, 41
  4757. pagesCompletedCurrentCopy, 41
  4758. pagesRequested, 41
  4759. physicalDeviceIndex, 35
  4760. physicalDeviceName, 35
  4761. printQualityRequested, 37
  4762. printQualityUsed, 37
  4763. processingMessage, 32
  4764. queueNameRequested, 34
  4765. serverAssignedJobName, 32
  4766. sheetsCompleted, 42
  4767. sheetsCompletedCurrentCopy, 42
  4768. sheetsRequested, 42
  4769.  
  4770.  
  4771.  
  4772. Bergman, Hastings, Isaacson, Lewis                            [Page
  4773. 77]
  4774.  
  4775.                          Job Monitoring MIB, V0.81   April 24, 1997
  4776.  
  4777. sides, 37
  4778. submittingApplicationName, 34
  4779. submittingServerName, 34
  4780. tonerDensityRequested, 38
  4781. tonerDensityUsed, 38
  4782. tonerEcomonyRequested, 38
  4783. tonerEcomonyUsed, 38
  4784. unknown, 30
  4785.  
  4786.  
  4787.  
  4788.  
  4789.  
  4790.  
  4791.  
  4792.  
  4793.  
  4794.  
  4795.  
  4796.  
  4797.  
  4798.  
  4799.  
  4800.  
  4801.  
  4802.  
  4803.  
  4804.  
  4805.  
  4806.  
  4807.  
  4808.  
  4809.  
  4810.  
  4811.  
  4812.  
  4813.  
  4814.  
  4815.  
  4816.  
  4817.  
  4818.  
  4819.  
  4820.  
  4821.  
  4822.  
  4823.  
  4824.  
  4825.  
  4826.  
  4827.  
  4828.  
  4829.  
  4830.  
  4831.  
  4832.  
  4833.  
  4834. Bergman, Hastings, Isaacson, Lewis                          [Page 78]
  4835.  
  4836.