Service Location Working Group                          Pete St.  Pierre
INTERNET DRAFT                                          Sun Microsystems
                                                        17 December 1997

       Definition of printer:  URLs for use with Service Location
                draft-ietf-srvloc-printer-scheme-01.txt


Status of This Memo

   This document is a submission by the Service Location Working Group
   of the Internet Engineering Task Force (IETF).  Comments should be
   submitted to the srvloc@corp.home.net mailing list.

   Distribution of this memo is unlimited.

   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), ftp.nordu.net (North
   Europe), ftp.nis.garr.it (South Europe), munnari.oz.au (Pacific Rim),
   ds.internic.net (US East Coast), or ftp.isi.edu (US West Coast).


Abstract

   This document defines the printer service type and the attributes
   associated with it.  This template is designed to be used in
   conjuction with the Service Location Protocol [1], but may be
   used with any directory service supporting attribute/value pair
   registration.

   The printer service type is designed as an abstract service type.  It
   is expected that printers advertised with the printer type may be
   accessible by one or more protocols.  IPP and lpr are a two examples
   of printing protocols that may be used to perform the actual printing
   function.









St.Pierre                 Expires 17 June 1998                  [Page i]


Internet Draft        Service Templates and URLs        17 December 1997




                                Contents


Status of This Memo                                                    i

Abstract                                                               i

 1. Printer service: URL Scheme                                        1

 2. urlpath Definition                                                 1
     2.1. IPP . . . . . . . . . . . . . . . . . . . . . . . . . . .    1
     2.2. lpr . . . . . . . . . . . . . . . . . . . . . . . . . . .    2

 3. Printer Scheme Background                                          2

 4. Printer Service Template                                           3

 5. Summary of Required Attributes                                     8

 6. Acknowledgments                                                    8

 A. Attribute Origins                                                  9

 B. References                                                         9


1. Printer service: URL Scheme

   Service Type templates are used to describe in a standard way those
   services which use the service: URL. The template described in this
   document is an abstract type that includes concrete types such as
   the printing protocol defined in RFC 1179 [2], "Line Printer Daemon
   Protocol".  The service type for this service: URL is printer.


2. urlpath Definition

   The printer type is an abstract service type.  Because an abstract
   service type may contain one of many concrete types, the urlpath
   associated with a printer URL may vary.  Two types of printers that
   are expected to be common in printer URLs are ipp and lpr.


2.1. IPP

   An IPP printer uses the http protocol and the queue name for a
   printer is inherent in the http URL. The definition of an IPP printer



St.Pierre                 Expires 17 June 1998                  [Page 1]


Internet Draft        Service Templates and URLs        17 December 1997


   object is defined in section 2.1 of the IPP Model and Semantics
   draft.[3] Using this definition, a Service URL for an IPP printer
   would look like:

   service:printer:http://server.sun.com/cgi-bin/public-printer
   service:printer:http://www.sun.com/cgi-bin/printers?public-printer



2.2. lpr

   An lpr accessible printer includes a queue name as the last part of
   the URL. If a queue name is absent, the print server is assumed to
   use a default print queue.

   service:printer:lpr://server.sun.com
   service:printer:lpr://server.sun.com/public-printer



3. Printer Scheme Background

   The printer scheme provides for consistent registration of printer
   services.  The attributes described within this draft are a
   combination of previous works conducted by the IETF Printer MIB WG,
   the IETF IPP WG and the Salutation Consortium.

   The attributes specified are intended to facilitate both automatic
   as well as manual selection of services not to provide service
   statistics or notification.  In short, the target audience of service
   attributes are users, either programatic or end users, whereas the
   audience of MIB statistics are network managers.




















St.Pierre                 Expires 17 June 1998                  [Page 2]


Internet Draft        Service Templates and URLs        17 December 1997


4. Printer Service Template

   The printer template, as defined below, conforms to the grammar
   described in "Service Templates and service:  Schemes".  Please refer
   to [4] for detailed explaination of the syntax.

-------------------- template begins here --------------------
        type = printer

        version = 0.0

        language = en

        description =
            The printer service template describes the attributes
            supported by network printing devices.  Devices may be either
            directly connected to a network, or connected to a printer
            spooler that understands the a network queuing protocol such as
            IPP, lpr or the Salutation Architecture.

        url-syntax =
            url-path    = ippurl / lprurl
            ippurl      = url as defined in [3]
            lprurl      = "lpr://" hostport [ "/" qname ]
            hostport    = host [ ":" port ]
            host        = hostname / hostnumber
            hostname    = *( domainlavel "." ) toplabel
            domainlabel = alphanum /
                          alphanum * [alphanum / "-"] alphanum
            toplabel    = alpha / alpha * [alphanum / "-"] alphanum
            hostnumber  = ipv4-number / ipv6-number
            ipv4-number = 1*3digit 3*3("." 1*3digit)
            ipv6-number = 32*hex
            3digit      = digit digit digit
            port        = 1*digit
            alphanum    = alpha / digit
            alpha       = "a" / "b" / "c" / "d" / "e" / "f" / "g" /
                          "h" / "i" / "j" / "k" / "l" / "m" / "n" /
                          "o" / "p" / "q" / "r" / "s" / "t" / "u" /
                          "v" / "w" / "x" / "y" / "z" /
                          "A" / "B" / "C" / "D" / "E" / "F" / "G" /
                          "H" / "I" / "J" / "K" / "L" / "M" / "N" /
                          "O" / "P" / "Q" / "R" / "S" / "T" / "U" /
                          "V" / "W" / "X" / "Y" / "Z"
            digit       = "0" / "1" / "2" / "3" / "4" / "5" / "6" /
                          "7" / "8" / "9"

        name = STRING
            # This attribute contains the name of the printer.  It is a



St.Pierre                 Expires 17 June 1998                  [Page 3]


Internet Draft        Service Templates and URLs        17 December 1997


            # name that is more user friendly than the printer-URI.
            # An administrator determines a printer's name and sets this
            # attribute to that name.  This name may be the last part of
            # the printer's URI or it may be unrelated.  In non-US-English
            # locales, a name may contain characters that are not allowed
            # in a URI.

        description = STRING
            # A free form string that can contain any site-specific
            # descriptive information about this printer.

        printer-info = STRING L O
            # A URI used to obtain more information about
            # this specific printer.  For example, this could
            # be an HTTP type URI referencing an HTML page accessible
            # to a Web Browser.  The information obtained from this
            # URI is intended for end user consumption.  Features
            # outside the scope of IPP can be accessed from this URI.

        protocols = STRING L M
            # The names of the concrete protocol types supported
            # by the printer abstract service type.  Example values
            # include http and lpr

        make-model = STRING L O
            # A simple text string defined by the manufacturer
            # The syntax shall be:
            # vendor-name "/" model-name
            # where the vendor-name is the same as that registered with
            # IANA for use in domain names.
            # For example:  "vendor-x/super-duper-printer".

        location-description = STRING O
            # A free form description of this printer's physical
            # location For example:  "2nd floor, near the fire escape"

        location-address = STRING O
            # Physical/Postal address for this device.  Useful for
            # nailing down a group of printers in a very large corporate
            # network.  For example:  960 Main Street, San Jose, CA 95130

        operator = STRING L M O
            # A person, or persons responsible for maintaining a
            # printer on a day-to-day basis.

        duplex-mode = STRING M O
            simplex
            # The duplex capabilities a printer can handle.
            simplex, duplex, tumble



St.Pierre                 Expires 17 June 1998                  [Page 4]


Internet Draft        Service Templates and URLs        17 December 1997



        priority-queue = BOOLEAN O
            FALSE
            # The printer or print queue is a priority queuing device.

        fonts-supported = STRING L M O
            # A list of fonts that are supported by the printer.

        number-up = INTEGER O
            1
            # Specifies the number of source page-images to impose
            # upon a single side of an instance of a selected
            # medium.  For example, if the value is:
            # '1':  The Printer SHALL place one logical page on a
            # single side of an instance of the selected medium
            # (MAY add some sort of translation, scaling, or
            # rotation).
            # '2':  The Printer SHALL place two logical pages on a
            # single side of an instance of the selected medium
            # (MAY add some sort of translation, scaling, or
            # rotation).
            # '4':  The Printer SHALL place four logical pages on a
            # single side of an instance of the selected medium
            # (MAY add some sort of translation, scaling, or
            # rotation).
            1, 2, 4

        media-size = STRING L M O
            na-letter
            # Size values follow the ISO standards.
            iso-a0, iso-a1, iso-a2, iso-a3, iso-a4, iso-a5, iso-a6,
            iso-a7, iso-a8, iso-a9, iso-a10, iso-b0, iso-b1, iso-b2,
            iso-b3, iso-b4, iso-b5, iso-b6, iso-b7, iso-b8, iso-b9,
            iso-b10, na-letter, na-legal, executive, folio, invoice,
            ledger, quarto, iso-c3, iso-c4, iso-c5, iso-c6,
            iso-designated-long, na-10x13-envelope, na-9x12-envelope,
            na-number-10-envelope, na-7x9-envelope, na-7x9-envelope,
            na-9x11-envelope, na-10x14-envelope, na-number-9-envelope,
            na-6x9-envelope, na-10x15-envelope, monarch-envelope, a,
            b, c, d, jis-b0, jis-b1, jis-b2, jis-b3, jis-b4, jis-b5,
            jis-b6, jis-b7, jis-b8, jis-b9, jis-b10, unknown

        media-color = STRING M O
            white
            # The color of the print media
            other, unknown, white, pink, yellow, buff, goldenrod, blue,
            green, transparent

        color-supported = BOOLEAN O



St.Pierre                 Expires 17 June 1998                  [Page 5]


Internet Draft        Service Templates and URLs        17 December 1997


            false
            # Indicates whether color is supported

        color-type = STRING L M O
            none
            # Whether the printer supports color
            none, highlight, three color, four color, monochromatic

        marker-color = STRING L M O
            black
            # The name of the color of this colorant(ink).
            other, unknown, white, red, green, blue, cyan, magenta,
            yellow, black

        max-speed = INTEGER O
            # The maximum speed of the printer expressed in Speed
            # units.

        speed-units = STRING O
            sheetsPerHour
            # Unit of speed for the Max speed value.
            tenThousandthsOfInchesPerHour, micrometersPerHour,
            charactersPerHour, linesPerHour, impressionsPerHour,
            sheetsPerHour, dotRowPerHour, feetPerHour, metersPerHour

        document-format = STRING O M
            # The format of the data to be printed.  The standard
            # values for this attribute are Internet Media types
            # which are sometimes called MIME types.

        paper-output = STRING M L O
            standard
            # The mode in which pages output are arranged.
            standard, noncollated sort, collated sort, stack, unknown

        media-direction = STRING O
            portrait
            # The orientation of the media as it is fed to the
            # printer.
            portrait, landscape, unknown

        print-quality = STRING O
            normal
            # Subjective evaluation of the overall printing quality.
            draft, normal, high

        resolution = STRING L M O
            unknown
            # The pixel density of the printer in dots per inch.



St.Pierre                 Expires 17 June 1998                  [Page 6]


Internet Draft        Service Templates and URLs        17 December 1997


            other, res-100, res-200, res-240, res-300, res-600, res-800,
            res-1200, res-1800, res-100x200, res-300x600, res-600x300,
            res-400x800, res-800x400, res-600x1200, res-1200x600,
            res-1800x600, unknown

        copy-count = INTEGER O
            -1
            # The maximum number of copies of a document
            # that will be printed as a single job.  A value of -1
            # indicates there is no limit.

        max-job-size = INTEGER O
            -1
            # The maximum size, in Kilobytes, of a print job that
            # the print queue will accept." A value of -1 indicates
            # there is no limit.

        finishing = STRING M O
            none
            # Identifies the finishing operationssupported by the printer.
            none, staple, staple-top-left, staple-bottom-left,
            staple-top-right, staple-bottom-right, saddle-stitch,
            edge-stitch, punch, bind, cover

        stacking-order = STRING O
            unknown
            # The current state of the stacking order for the associated
            # output sub-unit.  'firstToLast' means that as pages are
            # output, the front of the next page is placed against the
            # back of the previous page.  'lastToFirst' means that as
            # pages are output, the back of the next page is placed
            # against the front of the previous page.
            unknown, First to Last, Last to First

        delivery-orientation = STRING O
            unknown
            # Orientation of pages as the are printed and ejected from
            # the printer.
            unknown, face up, face down

        service-person = STRING O M
            # A list of service contact names for this printer.

        media-type = STRING O M
            stationery
            # Media types available to be printed upon.
            stationery, transparency, envelope, envelope-plain,
            envelope-window, continuous-long, continuous-short,
            tab-stock, multi-part-form, labels, multi-layer, unknown



St.Pierre                 Expires 17 June 1998                  [Page 7]


Internet Draft        Service Templates and URLs        17 December 1997



        media-length = INTEGER O
            -1
            # Indicates the length (in the direction of the printer
            # feed) of the media.  The value -2 indicates that the
            # length is unknown -1 means there is no limit.

        media-capacity = INTEGER O
            # The total amount of media that may be contained in a
            # media tray.  Used with the media size, the maximum size of
            # a print job may be calculated.  This assumes the media
            # tray is full.

        media-capacity-units = STRING O
            -1
            # The unit of media capacity.
            # -1 indicates that the units are unknown.
            -1, .0001 inches, micrometers, sheets, feet, meters

-------------------- template ends here ----------------------



5. Summary of Required Attributes

   The purpose of having attributes associated with a service URL is
   to provide a dynamic search capability to service location clients.
   It is not intended to burden server implementations with additional
   information to provide in a registration.  For this reason, the only
   a subset of the attributes included in this template are required in
   compliant implemenations.  The only attributes that are required are
   name, description and protocols.


6. Acknowledgments

   This document is a product of the Service Location Working group.

   A special thanks goes out to Scott Isaacson and members of the IPP
   working group for their work on an IPP directory schema, and review
   of the attributes carried forward into this document.











St.Pierre                 Expires 17 June 1998                  [Page 8]


Internet Draft        Service Templates and URLs        17 December 1997


A. Attribute Origins

   The following table summarizes the attributes included in the printer
   scheme and their origins.  This table does not include attributes
   required in the "Service Templates and URLs" Draft.  It also includes
   attributes that may not have a specific origin, but were deemed
   useful in locating a printer service.

       Attribute        Printer MIB[5]    IPP[3]        Salutation[6]
   Printer Name                              X
   Printer Description                       X
   Printer Info                              X
   Protocols
   Make/Model                                X
   Location Description                      X
   Location Address
   Operator                  X
   Duplex Mode                                             X
   Priority Queue                                          X
   Fonts Supported                           X
   Number Up                                 X
   Media Size                                X             X
   Media Color               X
   Color Supported                           X
   Color Type
   Colors
   Max Speed                 X               X
   Speed Units               X               X
   Document Format                           X             X
   Paper Output                              X
   Media Direction                           X
   Print Quality                             X
   Resolution                X               X
   Max Copy Count                                          X
   Max Job Size              X
   Finishings Supported                      X
   Stacking Order            X
   Stacking Orientation      X                             X
   Service Person            X
   Media Type                X
   Media Length              X
   Media Capacity            X
   Media Capacity Units      X



B. References





St.Pierre                 Expires 17 June 1998                  [Page 9]


Internet Draft        Service Templates and URLs        17 December 1997


    [1]J. Veizades, E. Guttman, C. Perkins, and S. Kaplan.  "Service
    Location Protocol", RFC 2165.  June 1997.

    [2]L. McLaughlin III, "Line Printer Daemon Protocol",
    RFC 1179.  August 1990.

    [3]R. deBry, T. Hastings, R. Herriot, S. Isaacson,
    P. Powell, "IPP/1.0:  Model and Semantics", Work
    in progress, November 1997.

    [4]E. Guttman, C. Perkins, J. Kempf, "Service Templates and service:
    Schemes", Work in Progress, November, 1997
    draft-ietf-svrloc-service-scheme-06.txt

    [5]R. Smith, F. Wright, T. Hastings, S. Zilles, J. Gyllenskog,
    "Printer MIB", RFC 1759.  03/28/1995.

    [6]Salutation Consortium, Inc., "Salutation Architecture
    Specification V2.0", December 1996.




Full Copyright Statement

   Copyright (C) The Internet Society (1997).  All Rights Reserved.

   This document and translations of it may be copied and furnished to
   others, and derivative works that comment on or otherwise explain it
   or assist in its implementation may be prepared, copied, published
   and distributed, in whole or in part, without restriction of any
   kind, provided that the above copyright notice and this paragraph
   are included on all such copies and derivative works.  However,
   this document itself may not be modified in any way, such as by
   removing the copyright notice or references to the Internet Society
   or other Internet organizations, except as needed for the purpose
   of developing Internet standards in which case the procedures
   for copyrights defined in the Internet Standards process must be
   followed, or as required to translate it into languages other than
   English.

   The limited permissions granted above are perpetual and will not be
   revoked by the Internet Society or its successors or assigns.

   This document and the information contained herein is provided on an
   "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
   TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
   BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION




St.Pierre                 Expires 17 June 1998                 [Page 10]


Internet Draft        Service Templates and URLs        17 December 1997


   HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
   MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE."


Authors' Addresses

   Questions about this memo can be directed to:

   Pete St. Pierre
   Sun Microsystems
   901 San Antonio Avenue
   Palo Alto, CA 94043
   USA
   Phone: +1 415 786-5790
   email: Pete.StPierre@Eng.Sun.COM





































St.Pierre                 Expires 17 June 1998                 [Page 11]