Subject: JMP> Draft Job Submission Protocol Mapping RFC

From: Ron Bergman <[email-masked]>
Date: Mon, 8 Sep 1997 15:28:11 -0700 (Pacific Daylight Time)

I have started work on the companion RFC to the Job Monitoring MIB that
defines the Job Submission Protocol Mapping.  To get a discussion started
quickly, I have limited the scope of this first draft to only LPD.

We can concentrate the efforts on the presentation format and then add the
other protocols without a significant amount of extra work.  

A discussion of this document will likely be on the agenda for Atlanta.

	Ron Bergman
	Dataproducts Corp.

Proposed document attached:

INTERNET-DRAFT                                              Ron Bergman
                                                      Dataproducts Corp.
                                                       September 8, 1997

             Job Submission Protocol Mapping Recommendations
                       for the Job Monitoring MIB

                <draft-ietf-printmib-job-protomap-00.txt>

                           Expires Mar 8, 1997

Status of this Memo

     This document is an Internet-Draft.  Internet-Drafts are working
     documents of the Internet Engineering Task Force (IETF), its areas,
     and its working groups.  Note that other groups may also distribute
     working documents as Internet-Drafts.

     Internet-Drafts are draft documents valid for a maximum of six
     months and may be updated, replaced, or obsoleted by other
     documents at any time.  It is inappropriate to use Internet-Drafts
     as reference material or to cite them other than as "work in
     progress".

     To learn the current status of any Internet-Draft, please check the
     "1id-abstracts.txt" listing contained in the Internet-Drafts Shadow
     Directories on ftp.is.co.za (Africa), nic.nordu.net (Europe),
     munnari.oz.au (Pacific Rim), ds.internic.net (US East Coast), or
     ftp.isi.edu (US West Coast).

                                Abstract

     This Internet-Draft defines the recommended mapping for some 
     currently popular Job submission protocols to the Job Monitoring 
     MIB.

1.0  INTRODUCTION

The Job Monitoring MIB [JobMIB] is functional with any job submission 
protocol.  However, the information available and the method of 
presentation varies significantly by job submission protocol.  A common 
method of mapping job submission information to the Job Monitoring MIB 
is essential for interoperability of Job MIB agents and monitoring 
applications.  This document defines recommended mappings for most 
popular job submission protocols to insure this compatibility.

2.0  LINE PRINTER DAEMON (LPD) PROTOCOL

The LPD printing protocol [LPD] is commonly used with BSD Unix systems 
in the client-server-printer configuration.  Usage of the Job Monitoring 
MIB with LPD will most likely conform to Configuration 3 (see figure 2-3 
in the Job Monitoring MIB [JobMIB]), where the monitor application or 
the server uses SNMP to obtain job information from the printer.  The 
client communicates with the Unix server using the existing LPD protocol 
to obtain job information.

The LPD protocol is also occasionally used in the Windows environment to 
implement peer-to-peer printing, as shown in configuration 1 (see figure 
2-1 in the Job Monitoring MIB).  In this case, SNMP is used by the 
client and/or the monitor application to obtain the job information.

One of the major problems of LPD is the large number of vendor unique 
extensions currently used with the protocol and the resulting 
compatibility issues between available implementations.  To avoid these 
issues, this mapping of LPD is restricted to the protocol as defined by 
RFC 1179.

The LPD protocol provides most of the information concerning the print 
job in the control file.  In many LPD implementations, the control file 
is transferred following the data file.  Thus all of the information 
concerning the job is not available until the completion of the data 
transmission.

2.1  The Job Id Group Mapped to LPD

jmJobSubmissionId
-----------------

The LPD Receive Data File command contains a parameter which defines the 
name of the data file.  This name field is structured as follows:

        dfaXXX<host-name>

Where XXX is the numeric job number assigned by the LPD server 
submitting the print job.  The recommended mapping of this name field to 
jmJobSubmissionId is:

  octet 1:   '1'

  octets 2-40:  Contains the <host-name> portion of the name field.  If 
                the <host-name> portion is less than 40 octets, the 
                left-most character in the string shall appear in octet 
                position 2.  Otherwise, only the last 39 bytes shall be 
                included.

  octets 41-48:  dfaXXX followed by two null characters.

2.2  The Job Group Mapped to LPD

jmJobIndex
---------------

The job index is assigned by the SNMP job monitoring agent and is 
independent the XXX index assigned by the LPD server.  This will allow 
the SNMP agent to accept jobs from multiple sources.

jmJobKOctetsRequested
---------------------

The LPD Receive Data File command defines the number of bytes in the 
print data file.  This value shall be saved as jmJobKOctetsRequested.

jmJobOwner
----------

LPD provides a User Identification string in the control file.  This 
string shall be the jmJobOwner by the agent.

2.3  The Attribute Group Mapped to LPD

The following information is saved as either integer or string job 
attributes.  Other attributes that are applicable, but not defined in 
this section, may also be included.

serverAssignedJobName
---------------------

The name of the data file (see jmJobSubmissionId) shall also be saved as 
this attribute and presented using jmAttributeValueAsOctets.

jobSourceChannelIndex
---------------------

If the agent also implements the Printer MIB [PrtMIB], this attribute 
shall contain the value of prtChannelIndex corresponding to the LPD 
channel.  The attribute shall be presented using 
jmAttributeValueAsInteger.

queueNameRequested
------------------

The queue name as presented in the data file shall be saved as this 
attribute and presented using jmAttributeValueAsOctets.

fileName
--------

The name of the source file, if present in the control file, shall be 
saved as this attribute and presented using jmAttributeValueAsOctets.

documentName
------------

The document title name, if present in the control file, shall be saved 
as this attribute and presented using jmAttributeValueAsOctets.

3.0  APPLETALK PROTOCOL

4.0  INTERNET PRINTING PROTOCOL (IPP)

5.0  INTELLIGENT PRINTER DATA STREAM (IPDS)

6.0  DOCUMENT PRINTING APPLICATION (DPA)

7.0  NOVELL DISTRIBUTED PRINT SERVICE (NDPS)

8.0  PRINTER JOB LANGUAGE (PJL)

9.0  POSTSCRIPT

10.0  NETWARE PSERVER

11.0  NETWARE RPRINTER

12.0  SERVER MESSAGE BLOCK (SMB) PROTOCOL

13.0  TRANSPORT INDEPENDENT PRINTER/SYSTEM INTERFACE (TIP/SI)

14.0  REFERENCES

[JobMIB]  The Job Monitoring MIB, RFC XXXX, IETF informational document.

[LPD]  Line Printer Daemon Protocol, RFC 1179, IETF informational 
document.

[PrtMIB]  The Printer MIB, RFC 1759, IETF standards track document.