INTERNET DRAFT F.D. Wright, Lexmark International November 27, 1996 Expires: May 27, 1997 Requirements for WEB Browser-based Internet Printing 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). 1. ABSTRACT This document describes the requirements for WEB browser-based Internet printing protocol. It describes the end-user, operator and administrator wants and needs in the context of printing documents from a variety of sources. These sources include standard desktop applications (e.g. word processors, spreadsheets, and browsers), documents selected by reference (e.g. URL) and documents created by batch or background applications. Additionally, requirements for light-weight printer status and management and job status and management services will be discussed. 2. TERMINOLOGY Internet Printing for the purposes of this document is the application of World Wide Web tools, programs, servers and networks to allow ''end-users'' to print to a remote printer using, after initial setup or configuration, the same methods, operations and paradigms as would be used for a locally attached or a local area network attached printer. This includes the use of HTTP servers and browsers for providing static, dynamic and interactive printer locating services, user installation, Wright draft-wright-ipp-req-00.txt [Page 1] INTERNET DRAFT Internet Printing Requirements Nov 27, 1996 selection, configuration, and status inquiry of remote printers and jobs. For the purposes of this document, a WEB Browser is software available from a number of sources including but not limited to the following: Microsoft Internet Explorer, NCSA Mosaic, Netscape Navigator, Sun Hot Java!. The major task of these products is to use the Hypertext Transport Protocol (HTTP) to retrieve, interpret and display Hypertext Markup Language (HTML). Throughout this document, 'printer' shall be interpreted to include any device which is capable of marking on a piece of media using any available technology. No assumption is made about multi-tiered printing solutions involving servers (single or multiple) logically in front of the actual printing device and all such configurations shall be supported but shall appear to the ''end-user'' as only a single device. 3. REQUIREMENTS The next three sections identify the requirements of a Web-based Internet printing protocol from three roles assumed by humans: ''end-user'', ''operator'', and ''administrator.'' The requirements defined here are only those that need to be addressed by an application level Internet printing protocol. Other requirements, such as that the ''operator'' needs physical access to the printer are not covered by this document. 3.1 End-user An ''end-user'' of a printer accepting jobs through the Internet is one of the roles in which humans act. The ''end-user'' is the person that will submit a job to be printed on the printer. The requirements of the ''end-user'' are broken down into six categories: finding/locating, local instance, viewing printer status, submitting a print job, viewing job status, altering the print job. 3.1.1 Finding or locating a printer. ''End-users'' wants to be able to find and locate printers to which they are authorized to print. They want to be able to perform this function using a standard WEB browser. Multiple criteria can be applied to find the printers needed. These criteria include but are not limited to: Wright draft-wright-ipp-req-00.txt [Page 2] Expires: May 27, 1997 INTERNET DRAFT Internet Printing Requirements Nov 27, 1996 - by name (Printer 1, Joes-color-printer, etc.) - by geographic location (bldg 1, Kentucky, etc.) - by capability or attribute (color, duplex, legal paper, etc.) Additionally, ''end-users'' want to be able to limit the scope of their searching to: - inside the corporate firewall - include only a particular domain (lexmark.com) - exclude specified domains 3.1.2 Create an instance of the printer. After finding the desired printer, an ''end-user'' needs to be able to create a local instance of that printer within the ''end-user'' operating system or desktop. This local instance will vary depending upon the printing paradigm of the operating system. For example, some UNIX users will only want a queue created on the machine while other UNIX users and Windows NT users will want not only the queue but also the necessary icons and registry entries to be created and initialized. Where required, drivers may need to be downloaded from some repository and installed on the computer. All necessary decompressing, unpacking, and other installation actions should occur without ''end-user'' interaction or intervention excepting initial approval by the ''end-user.'' Once the local instance of the printer has been installed, it shall appear to the ''end-user'' of operating system and to the applications running there as any other printer (local, local area network connected, or network operating system connected) on the ''end-user'' desktop or environment. 3.1.3 Viewing the status of a printer. Before using a selected printer or, in fact at any time, the ''end-user'' needs the ability to verify the characteristics and status of both printers and jobs queued for that printer using the WEB browser. When checking the characteristics of a printer, the ''end-user'' typically wants to be able to determine the capability of the device, e.g.: - loaded media, commonly paper, by size and type - paper handling capability, e.g. duplex, collating, finishing - color capability When checking the status of the printer, the ''end-user'' typically wants to be able to determine: Wright draft-wright-ipp-req-00.txt [Page 3] Expires: May 27, 1997 INTERNET DRAFT Internet Printing Requirements Nov 27, 1996 - is the printer on-line? - what are the defaults to be used for printing? When checking the status on jobs queued for the printer, the ''end-user'' typically wants to be able to determine: - how many jobs are queued for the printer? - how are job priorities assigned? 3.1.4 S ubmitting a print job. Once the desired printer has been located and installed, the ''end-user'' wants to print to that printer from normal applications using standard methods. These normal applications include such programs as word processors, spreadsheets, data-base applications, WEB browsers, etc. In addition to printing from an application, the ''end-user'' needs to have the ability to submit a print job by reference. Printing by reference is defined to mean using a WEB browser to submit a job by providing a reference to an existing document. The reference, which could be a URL, will be resolved before the actual print process occurs. Some means shall be provided to determine if the format of a job matches the capability of the printer. This can either be done automatically by the printer or can be done by the ''end-user.'' A standard action shall be defined should the job's requirements not match the capabilities of the printer. Because the ''end-user'' does not want to know the details of the underlying printing process, the protocol must support job-to- printer capability matching (all implementations are not necessarily required to implement this function.) This matching capability requires knowing both the printer's capabilities and attributes and those capabilities and attributes required by the job. Actions taken when a print job requires capabilities or attributes that are not available on the printer vary and can include but are not limited to: - rejecting the print job - redirecting the print job to another printer - printing the job, accepting differences in the appearance Print jobs will be submitted by background or batch applications without human intervention. Any application level Internet printing application must support this type of printing. Wright draft-wright-ipp-req-00.txt [Page 4] Expires: May 27, 1997 INTERNET DRAFT Internet Printing Requirements Nov 27, 1996 ''End-users'' need the ability to set certain print job parameters at the time the job is submitted. These parameters include but are not limited to: - number of copies - job priority - job defaults 3.1.5 Viewing the status of a submitted print job. After a job has been submitted to a printer, the ''end-user'' needs a way to view the status of that job (i.e. job waiting, job printing, job done) using a WEB browser. In addition to the need to inquire about the status of a print job, automatic notification of the completion of that job is also required. This notification capability is not defined by the protocol but the protocol must provide a means of enabling and disabling the notification. 3.1.6 Altering the status of a submitted print job. While a job is waiting to be printing or has been started but not yet completed, the original creator/submitter of the print job (i.e. the ''end-user'') shall be able to cancel the job entirely (job is waiting) or the remaining portion of it (job is printing.) 3.2 Operator An ''operator'' of a printer accepting jobs through the Internet is one of the roles in which humans act. The ''operator'' has the responsibility of monitoring the status of the printer as well as managing and controlling the jobs at the device. These responsibilities include but are not limited to the replenishing of supplies (ink, toner, paper, etc.), the clearing of minor errors (paper jams, etc.) and the reprioritization of ''end- user'' jobs. The requirements of the ''operator'' include all those of the ''end-user.'' 3.2.1 Alerting. One of the required ''operator'' functions is having the ability to discover or to be alerted to changes in the status of the printer particularly those changes that cause the Wright draft-wright-ipp-req-00.txt [Page 5] Expires: May 27, 1997 INTERNET DRAFT Internet Printing Requirements Nov 27, 1996 printer to stop printing and to be able to correct those problems. As such, an Internet printing protocol shall be able to alert a designated ''operator'' or ''operators'' to these conditions such as ‘out of paper’, ‘out of ink’, etc. Additionally. the ''operator'' shall be able to, asynchronous to other printer activity, inquire as to the printer or job status. 3.2.2 Changing Print and Job Status. Another of the required ''operator'' functions is the ability to affect changes to printer and job status remotely. For example, the ''operator'' will need to be able to reprioritize or cancel any print jobs on a printer to which the ''operator'' has authority. 3.3 Administrator An ''administrator'' of a printer accepting jobs through the Internet is one of the roles in which humans act. The ''administrator'' has the responsibility of creating the printer instances and controlling the authorization of other ''end-users'' and ''operators.'' The requirements of the ''administrator'' include all those of the ''end-user.'' Additionally the ''administrator'' must have tools, programs, utilities and supporting protocols available to be able to: - create an instance of a printer - create, edit and maintain the list of authorized ''end-users'' - create, edit and maintain the list of authorized ''operators'' - create, edit and maintain the list of authorized ''administrators'' - create, customize, change or otherwise alter the manner in which the status of printers and jobs are presented - create, customize, change or otherwise alter front-end or pre-print processes - create, customize, change or otherwise alter back-end or post-print processes - administrate billing or other charge-back mechanisms - create sets of defaults - create sets of capabilities The ''administrator'' must have the capability to perform all the above tasks locally or remotely to the printer. 4.0 OBJECTIVES OF THE PROTOCOL Wright draft-wright-ipp-req-00.txt [Page 6] Expires: May 27, 1997 INTERNET DRAFT Internet Printing Requirements Nov 27, 1996 The protocol to be defined by an Internet printing working group will address the requirements of the ''end-user''. It will not, at least initially, address the ''operator'' or ''administrator'' requirements. The protocol defined shall be independent of the operating system of both the client and the server. Any platform providing a WEB Browser shall be supported as a client. Any platform providing a WEB/HTTP server and printing services shall be supported as a server. 4.1 Security There are general requirements for security in an Internet printing application. These requirements include authentication, authorization, privacy, and commercial transaction. 4.2 Interaction with LPD (RFC1179) Many versions of UNIX and in fact other operating systems provide a means of printing as described in RFC1179 (Line Printer Daemon Protocol.) This document describes the file formats for the control and data files as well as the messages used by the protocol. Because of the simplistic approach taken by this protocol, many manufacturers have include proprietary enhancements and extensions to 'lpd.' Because of this divergence and due to other requirements described in this document, there is no requirement for backward compatibility with 'lpd'. 4.3 Firewalls As stated in the ''end-user'' requirements section, Internet printing shall by definition support printing from one enterprise to another. As such, the Internet printing protocol must be capable of passing through firewalls (where enabled by the firewall administrator) preferably without modification to the existing firewall technology. 4.4 Internationalization Users of Internet printing will come from all over the world. As such, where appropriate, internationalization and localization will be enabled for the protocol. Wright draft-wright-ipp-req-00.txt [Page 7] Expires: May 27, 1997 INTERNET DRAFT Internet Printing Requirements Nov 27, 1996 5.0 REFERENCES RFC1179 - Line Printer Daemon Protocol RFC1759 - Printer MIB ISO/IEC 10175, Document Printing Application 6.0 ACKNOWLEDGMENTS This document draws heavily from preliminary work done by others. The author gratefully acknowledges the contributions of: Scott Isaacson Novell scott_isaacson@novell.com Roger Debry IBM rdebry@us1.ibm.com Carl-Uno Manros Xerox manros@cp10.es.xerox.com 7.0 AUTHOR'S ADDRESS F.D. (Don) Wright Lexmark International C14/035-3 740 New Circle Rd Lexington, KY 40511 Phone: 606-232-4808 Fax: 606-232-6740 E-mail: don@lexmark.com Wright draft-wright-ipp-req-00.txt [Page 8] Expires: May 27, 1997