| < draft-ietf-ipp-req-02.txt | draft-ietf-ipp-req-03.txt > | |||
|---|---|---|---|---|
| INTERNET DRAFT F.D. Wright, Lexmark International | INTERNET DRAFT F.D. Wright, Lexmark International | |||
| <draft-ietf-ipp-req-02.txt> | <draft-ietf-ipp-req-03.txt> | |||
| June 30, 1997 Expires: Dec 30, 1998 | November 16, 1998 Expires: May 16, 1999 | |||
| Design Goals for an Internet Printing Protocol | Design Goals for an Internet Printing Protocol | |||
| STATUS OF THIS MEMO | STATUS OF THIS MEMO | |||
| This document is an Internet-Draft. Internet-Drafts are working | This document is an Internet-Draft. Internet-Drafts are working | |||
| documents of the Internet Engineering Task Force (IETF), its | documents of the Internet Engineering Task Force (IETF), its areas, and | |||
| areas, and its working groups. Note that other groups may also | its working groups. Note that other groups may also distribute working | |||
| distribute working documents as Internet-Drafts. | documents as Internet-Drafts. | |||
| Internet-Drafts are draft documents valid for a maximum of six | Internet-Drafts are draft documents valid for a maximum of six months | |||
| months and may be updated, replaced, or obsoleted by other | and may be updated, replaced, or obsoleted by other documents at any | |||
| documents at any time. It is inappropriate to use Internet- | time. It is inappropriate to use Internet-Drafts as reference material | |||
| Drafts as reference material or to cite them other than as ''work | or to cite them other than as ''work in progress.'' | |||
| in progress.'' | ||||
| To learn the current status of any Internet-Draft, please check | To learn the current status of any Internet-Draft, please check the | |||
| the ''1id-abstracts.txt'' listing contained in the Internet- | ''1id-abstracts.txt'' listing contained in the Internet-Drafts Shadow | |||
| Drafts Shadow Directories on ftp.is.co.za (Africa), nic.nordu.net | Directories on ftp.is.co.za (Africa), nic.nordu.net (Europe), | |||
| (Europe), munnari.oz.au (Pacific Rim), ftp.ietf.org (US East | munnari.oz.au (Pacific Rim), ftp.ietf.org (US East Coast), or | |||
| Coast), or ftp.isi.edu (US West Coast). | ftp.isi.edu (US West Coast). | |||
| Abstract | Abstract | |||
| This document is one of a set of documents, which together | This document is one of a set of documents, which together describe all | |||
| describe all aspects of a new Internet Printing Protocol (IPP). | aspects of a new Internet Printing Protocol (IPP). IPP is an | |||
| IPP is an application level protocol that can be used for | application level protocol that can be used for distributed printing | |||
| distributed printing using Internet tools and technologies. The | using Internet tools and technologies. This document takes a broad look | |||
| protocol is heavily influenced by the printing model introduced | at distributed printing functionality, and it enumerates real-life | |||
| in the Document Printing Application (DPA) [ISO10175] standard. | scenarios that help to clarify the features that need to be included in | |||
| Although DPA specifies both end user and administrative features, | a printing protocol for the Internet. It identifies requirements for | |||
| IPP version 1.0 (IPP/1.0) focuses only on end user functionality. | three types of users: end users, operators, and administrators. The | |||
| design goals document calls out a subset of end user requirements that | ||||
| are satisfied in IPP/1.0. Operator and administrator requirements are | ||||
| out of scope for version 1.0. | ||||
| Expires May 16, 1999 | ||||
| The full set of IPP documents includes: | The full set of IPP documents includes: | |||
| Design Goals for an Internet Printing Protocol (this document) | Design Goals for an Internet Printing Protocol (this document) | |||
| (informational) | ||||
| Rationale for the Structure and Model and Protocol for the | Rationale for the Structure and Model and Protocol for the | |||
| Internet Printing Protocol [IPP-RAT] (informational) | Internet Printing Protocol [IPP-RAT] | |||
| Internet Printing Protocol/1.0: Model and Semantics [IPP MOD] | Internet Printing Protocol/1.0: Model and Semantics [IPP-MOD] | |||
| Internet Printing Protocol/1.0: Encoding and Transport [IPP-PRO] | Internet Printing Protocol/1.0: Encoding and Transport [IPP-PRO] | |||
| Mapping between LPD and IPP Protocols [IPP LPD] (informational) | Internet Printing Protocol/1.0: Implementer's Guide [IPP-IIG] | |||
| Copyright(C) The Internet Society 1998. All Rights Reserved. | Mapping between LPD and IPP Protocols [IPP LPD] | |||
| The design goals document, "Design Goals for an Internet Printing | The "Rationale for the Structure and Model and Protocol for the Internet | |||
| Protocol", takes a broad look at distributed printing | Printing Protocol" document describes IPP from a high level view, | |||
| functionality, and it enumerates real-life scenarios that help to | defines a roadmap for the various documents that form the suite of IPP | |||
| clarify the features that need to be included in a printing | specifications, and gives background and rationale for the IETF working | |||
| protocol for the Internet. It identifies requirements for three | group's major decisions. | |||
| types of users: end users, operators, and administrators. The | ||||
| design goals document calls out a subset of end user requirements | ||||
| that are satisfied in IPP/1.0. Operator and administrator | ||||
| requirements are out of scope for version 1.0. The rationale | ||||
| document, "Rationale for the Structure and Model and Protocol for | ||||
| the Internet Printing Protocol", describes IPP from a high level | ||||
| view, defines a roadmap for the various documents that form the | ||||
| suite of IPP specifications, and gives background and rationale | ||||
| for the IETF working group's major decisions. The document, | ||||
| "Internet Printing Protocol/1.0: Model and Semantics", describes | ||||
| simplified model with abstract objects, their attributes, and | ||||
| their operations. The model introduces a Printer and a Job. The | ||||
| Job supports multiple documents per Job. The model document also | ||||
| addresses how security, internationalization, and directory | ||||
| issues are addressed. The protocol specification, "Internet | ||||
| Printing Protocol/1.0: Encoding and Transport", is a formal | ||||
| mapping of the abstract operations and attributes defined in the | ||||
| model document onto HTTP/1.1. The protocol specification defines | ||||
| the encoding rules for a new Internet media type called | ||||
| "application/ipp". The "Mapping between LPD and IPP Protocols" | ||||
| gives some advice to implementers of gateways between IPP and LPD | ||||
| (Line Printer Daemon) implementations. | ||||
| Expires: Dec 30, 1998 | The "Internet Printing Protocol/1.0: Model and Semantics" document | |||
| Copyright(C) The Internet Society 1998. All Rights Reserved. | describes a simplified model consisting of abstract objects, their | |||
| attributes, and their operations that is independent of encoding and | ||||
| transport. The model consists of a Printer and a Job object. The Job | ||||
| optionally supports multiple documents. IPP 1.0 semantics allow end- | ||||
| users and operators to query printer capabilities, submit print jobs, | ||||
| inquire about the status of print jobs and printers, and cancel print | ||||
| jobs. This document also addresses security, internationalization, and | ||||
| directory issues. | ||||
| TABLE OF CONTENTS | The "Internet Printing Protocol/1.0: Encoding and Transport" document is | |||
| a formal mapping of the abstract operations and attributes defined in | ||||
| the model document onto HTTP/1.1. It defines the encoding rules for a | ||||
| new Internet media type called "application/ipp". | ||||
| 1. TERMINOLOGY.................................................5 | The "Internet Printing Protocol/1.0: Implementer's Guide" document gives | |||
| 2. DESIGN GOALS................................................7 | insight and advice to implementers of IPP clients and IPP objects. It | |||
| 2.1. End-user ................................................7 | is intended to help them understand IPP/1.0 and some of the | |||
| 2.1.1. Finding or locating a printer. ......................7 | considerations that may assist them in the design of their client and/or | |||
| 2.1.2. Create an instance of the printer. ..................8 | IPP object implementations. For example, a typical order of processing | |||
| 2.1.3. Viewing the status and capabilities of a printer. ...8 | requests is given, including error checking. Motivation for some of the | |||
| 2.1.4. Submitting a print job. .............................9 | specification decisions is also included. | |||
| 2.1.5. Viewing the status of a submitted print job. .......10 | ||||
| 2.1.6. Canceling a Print Job ..............................10 | ||||
| 2.2. Operator (NOT REQUIRED FOR V1.0) .......................10 | ||||
| 2.2.1. Alerting. ..........................................11 | ||||
| 2.2.2. Changing Print and Job Status. .....................11 | ||||
| 2.3. Administrator (NOT REQUIRED FOR v1.0) ..................11 | ||||
| 3. OBJECTIVES OF THE PROTOCOL.................................13 | ||||
| 3.1. SECURITY CONSIDERATIONS ................................13 | ||||
| 3.2. Interaction with LPD (RFC1179) .........................14 | ||||
| 3.3. Extensibility ..........................................15 | ||||
| 3.4. Firewalls ..............................................15 | ||||
| 3.5. Internationalization ...................................15 | ||||
| 4. IPP SCENARIOS..............................................17 | ||||
| 4.1. Printer Discovery ......................................18 | ||||
| 4.2. Driver Installation ....................................19 | ||||
| 4.3. Submitting a Print Job .................................19 | ||||
| 4.4. Getting Status/Capabilities ............................20 | ||||
| 4.5. Asynchronous Notification ..............................21 | ||||
| 4.6. Job Canceling ..........................................21 | ||||
| 5. COPYRIGHT..................................................23 | ||||
| 6. REFERENCES.................................................24 | ||||
| 7. ACKNOWLEDGMENTS............................................25 | ||||
| 8. AUTHOR'S ADDRESS...........................................25 | ||||
| 9. APPENDIX - DETAILED SCENARIOS..............................26 | ||||
| 9.1. Printer discovery within an enterprise .................26 | ||||
| 9.2. Printer discovery across enterprises ...................28 | ||||
| 9.3. Printer discovery on the Internet -logical operations ..29 | ||||
| 9.4. Printer discovery on the Internet - authentication .....30 | ||||
| 9.5. Driver Download ........................................32 | ||||
| 9.6. Submitting a print job as a file .......................33 | ||||
| 9.7. Submitting a print job with two documents ..............34 | ||||
| 9.8. Submitting a print job as a file, printing fails .......35 | ||||
| 9.9. Submitting a print job with authentication, PRIVACY and | ||||
| payment .....................................................35 | ||||
| 9.10. Submitting a print job with decryption error ..........37 | ||||
| 9.11. Submitting a print job with authentication ............39 | ||||
| Expires: Dec 30, 1998 | The "Mapping between LPD and IPP Protocols" document gives some advice | |||
| Copyright(C) The Internet Society 1998. All Rights Reserved. | to implementers of gateways between IPP and LPD (Line Printer Daemon) | |||
| implementations. | ||||
| 9.12. Submitting a print job generated dynamically ..........40 | Expires: May 16, 1999 | |||
| 9.13. Submitting a print job with a Printer jam - CANCELED ..41 | TABLE OF CONTENTS | |||
| 9.14. Submitting a print job with a Printer jam - recovered .42 | ||||
| 9.15. Submitting a print job with server pull ...............43 | ||||
| 9.16. Submitting a print job with referenced resources ......44 | ||||
| 9.17. Getting Capabilities ..................................45 | ||||
| 9.17.1. Submission Attributes .............................45 | ||||
| 9.17.2. Printer Capabilities ..............................45 | ||||
| 9.18. Getting Status ........................................46 | ||||
| 9.18.1. Printer State/Status ..............................46 | ||||
| 9.18.2. Job Status ........................................46 | ||||
| 9.18.3. Status of All My Jobs .............................46 | ||||
| 9.19. Asynchronous Notification .............................48 | ||||
| 9.19.1. Job Completion ....................................48 | ||||
| 9.19.2. Job Complete with Data ............................48 | ||||
| 9.19.3. Print Job Fails ...................................48 | ||||
| 9.20. Cancel a job ..........................................49 | ||||
| 9.21. End to end Scenario - within an enterprise ............50 | ||||
| 9.22. End to end Scenario - across enterprises ..............52 | ||||
| 9.23. End to End Scenario - on the internet .................55 | ||||
| Expires: Dec 30, 1998 | 1. INTRODUCTION.......................................................5 | |||
| Copyright(C) The Internet Society 1998. All Rights Reserved. | 2. TERMINOLOGY........................................................5 | |||
| 3. DESIGN GOALS.......................................................7 | ||||
| 3.1. End-user.......................................................7 | ||||
| 3.1.1. Finding or locating a printer..............................7 | ||||
| 3.1.2. Create an instance of the printer..........................7 | ||||
| 3.1.3. Viewing the status and capabilities of a printer...........8 | ||||
| 3.1.4. Submitting a print job.....................................8 | ||||
| 3.1.5. Viewing the status of a submitted print job................9 | ||||
| 3.1.6. Canceling a Print Job.....................................10 | ||||
| 3.2. Operator (NOT REQUIRED FOR V1.0)..............................10 | ||||
| 3.2.1. Alerting..................................................10 | ||||
| 3.2.2. Changing Print and Job Status.............................10 | ||||
| 3.3. Administrator (NOT REQUIRED FOR v1.0).........................11 | ||||
| 4. OBJECTIVES OF THE PROTOCOL........................................12 | ||||
| 4.1. SECURITY CONSIDERATIONS.......................................12 | ||||
| 4.2. Interaction with LPD (RFC1179)................................13 | ||||
| 4.3. Extensibility.................................................13 | ||||
| 4.4. Firewalls.....................................................14 | ||||
| 4.5. Internationalization..........................................14 | ||||
| 5. IPP SCENARIOS.....................................................15 | ||||
| 5.1. Printer Discovery.............................................16 | ||||
| 5.2. Driver Installation...........................................17 | ||||
| 5.3. Submitting a Print Job........................................17 | ||||
| 5.4. Getting Status/Capabilities...................................18 | ||||
| 5.5. Asynchronous Notification.....................................19 | ||||
| 5.6. Job Canceling.................................................19 | ||||
| 6. Security Considerations...........................................20 | ||||
| 7. COPYRIGHT.........................................................21 | ||||
| 8. REFERENCES........................................................22 | ||||
| 9. ACKNOWLEDGMENTS...................................................23 | ||||
| 10. AUTHOR'S ADDRESS.................................................23 | ||||
| 11. APPENDIX - DETAILED SCENARIOS....................................24 | ||||
| 11.1. Printer discovery within an enterprise.......................24 | ||||
| 11.2. Printer discovery across enterprises.........................26 | ||||
| 11.3. Printer discovery on the Internet -logical operations........27 | ||||
| 11.4. Printer discovery on the Internet - authentication...........28 | ||||
| 11.5. Driver Download..............................................29 | ||||
| 11.6. Submitting a print job as a file.............................30 | ||||
| 11.7. Submitting a print job with two documents....................31 | ||||
| 11.8. Submitting a print job as a file, printing fails.............32 | ||||
| 11.9. Submitting a print job with authentication, PRIVACY and payment | ||||
| ...................................................................32 | ||||
| 11.10. Submitting a print job with decryption error................34 | ||||
| 11.11. Submitting a print job with authentication..................35 | ||||
| 11.12. Submitting a print job generated dynamically................36 | ||||
| 11.13. Submitting a print job with a Printer jam - CANCELED........37 | ||||
| 11.14. Submitting a print job with a Printer jam - recovered.......38 | ||||
| 11.15. Submitting a print job with server pull.....................39 | ||||
| 1. TERMINOLOGY | Expires: May 16, 1999 | |||
| 11.16. Submitting a print job with referenced resources............40 | ||||
| 11.17. Getting Capabilities........................................41 | ||||
| 11.17.1. Submission Attributes...................................41 | ||||
| 11.17.2. Printer Capabilities....................................41 | ||||
| 11.18. Getting Status..............................................42 | ||||
| 11.18.1. Printer State/Status....................................42 | ||||
| 11.18.2. Job Status..............................................42 | ||||
| 11.18.3. Status of All My Jobs...................................42 | ||||
| 11.19. Asynchronous Notification...................................43 | ||||
| 11.19.1. Job Completion..........................................43 | ||||
| 11.19.2. Job Complete with Data..................................43 | ||||
| 11.19.3. Print Job Fails.........................................43 | ||||
| 11.20. Cancel a job................................................44 | ||||
| 11.21. End to end Scenario - within an enterprise..................45 | ||||
| 11.22. End to end Scenario - across enterprises....................47 | ||||
| 11.23. End to End Scenario - on the internet.......................50 | ||||
| Internet Printing for the purposes of this document is the | Expires: May 16, 1999 | |||
| application of Internet 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 could include the use of HTTP | ||||
| servers and browsers and other applications for providing static, | ||||
| dynamic and interactive printer locating services, user | ||||
| installation, selection, configuration, print job submission, | ||||
| printer capability inquiry and status inquiry of remote printers | ||||
| and jobs. | ||||
| For the purposes of this document, a WEB Browser is software | 1. INTRODUCTION | |||
| 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). These | ||||
| products are often a part of a complete Internet Printing system | ||||
| because they are often used as a means of obtaining the status of | ||||
| or more information about the printing system; however, they may | ||||
| not be present in all implementations. | ||||
| Throughout this document, 'printer' shall be interpreted to | The IPP protocol is heavily influenced by the printing model introduced | |||
| include any device which is capable of marking on a piece of | in the Document Printing Application (DPA) [ISO10175] standard. | |||
| media using any available technology. These design goals do not | Although DPA specifies both end user and administrative features, IPP | |||
| include support for multi-tiered printing solutions involving | version 1.0 (IPP/1.0) focuses only on end user functionality. | |||
| servers (single or multiple) logically in front of the actual | ||||
| printing device yet all such configurations shall be supported | ||||
| but shall appear to the end-user as only a single device. | ||||
| Throughout this document 'driver' refers to the code installed in | 2. TERMINOLOGY | |||
| some client operating system to generate the print data stream | ||||
| for the intended printer. Some computing environments may not | ||||
| include a separate printer driver. Rather, the generation of the | ||||
| proper print data stream is accomplished in an application on | ||||
| that computer. How such a computer environment or application is | ||||
| updated to support a new printer now made available using IPP is | ||||
| outside the scope of IPP. The actual details for installing a | ||||
| printer driver are operating system dependent and are also | ||||
| outside the scope of IPP. See also section 3.1 (SECURITY | ||||
| Expires: Dec 30, 1998 | Internet Printing for the purposes of this document is the application | |||
| Copyright(C) The Internet Society 1998. All Rights Reserved. | of Internet 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 could | ||||
| include the use of HTTP servers and browsers and other applications for | ||||
| providing static, dynamic and interactive printer locating services, | ||||
| user installation, selection, configuration, print job submission, | ||||
| printer capability inquiry and status inquiry of remote printers and | ||||
| jobs. | ||||
| CONSIDERATIONS) for security implications of driver download and | For the purposes of this document, a WEB Browser is software available | |||
| installation. | 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). These products are often a part of a complete | ||||
| Internet Printing system because they are often used as a means of | ||||
| obtaining the status of or more information about the printing system; | ||||
| however, they may not be present in all implementations. | ||||
| The IPP protocol will support the following physical | Throughout this document, 'printer' shall be interpreted to include any | |||
| configurations: | device which is capable of marking on a piece of media using any | |||
| available technology. These design goals do not include support for | ||||
| multi-tiered printing solutions involving servers (single or multiple) | ||||
| logically in front of the actual printing device yet all such | ||||
| configurations shall be supported but shall appear to the end-user as | ||||
| only a single device. | ||||
| - An IPP client talking to an IPP Printer object imbedded in a | Throughout this document 'driver' refers to the code installed in some | |||
| single, physical output device. | client operating system to generate the print data stream for the | |||
| - An IPP Client talking to a server containing one or more IPP | intended printer. Some computing environments may not include a separate | |||
| Printer objects. Each Printer object is associated with | printer driver. Rather, the generation of the proper print data stream | |||
| exactly one physical output device supported by the server. | is accomplished in an application on that computer. How such a computer | |||
| The protocol between the server and the output devices is | environment or application is updated to support a new printer now made | |||
| undefined. | available using IPP is outside the scope of IPP. The actual details for | |||
| - An IPP Client talking to an IPP Printer object in a server. | installing a printer driver are operating system dependent and are also | |||
| The Printer object is associated with one or more physical | outside the scope of IPP. See also section 4.1 (SECURITY CONSIDERATIONS) | |||
| output devices, but the client only sees the Printer object, | for security implications of driver download and installation. | |||
| which is an abstraction and represents all of the associated | ||||
| physical output devices. The protocol between the server and | ||||
| the physical output devices is undefined. | ||||
| Throughout this document, certain design goals will be identified | The IPP protocol will support the following physical configurations: | |||
| as not being a part of version 1.0 (or V1.0) of the protocol or | ||||
| as being satisfied by means outside of IPP. IPP is assumed to be | ||||
| one part, an enabler, of a complete Internet Printing solution. | ||||
| For example printer instance creation is not performed by but is | ||||
| enabled by the protocol. Globally, none of the operator or | ||||
| administrators wants and needs are included in the design goals | ||||
| for version 1.0. Some of the end-user wants and needs may also | ||||
| be excluded from version 1.0 and will be so noted in the | ||||
| description of them. Subsequent versions of the protocol (e.g. | ||||
| V2.0) may include support for these initially excluded wants and | ||||
| needs. | ||||
| Expires: Dec 30, 1998 | Expires: May 16, 1999 | |||
| Copyright(C) The Internet Society 1998. All Rights Reserved. | - An IPP client talking to an IPP Printer object imbedded in a single, | |||
| physical output device. | ||||
| - An IPP Client talking to a server containing one or more IPP Printer | ||||
| objects. Each Printer object is associated with exactly one physical | ||||
| output device supported by the server. The protocol between the | ||||
| server and the output devices is undefined. | ||||
| - An IPP Client talking to an IPP Printer object in a server. The | ||||
| Printer object is associated with one or more physical output | ||||
| devices, but the client only sees the Printer object, which is an | ||||
| abstraction and represents all of the associated physical output | ||||
| devices. The protocol between the server and the physical output | ||||
| devices is undefined. | ||||
| 2. DESIGN GOALS | Throughout this document, certain design goals will be identified as not | |||
| being a part of version 1.0 (or V1.0) of the protocol or as being | ||||
| satisfied by means outside of IPP. IPP is assumed to be one part, an | ||||
| enabler, of a complete Internet Printing solution. For example printer | ||||
| instance creation is not performed by but is enabled by the protocol. | ||||
| Globally, none of the operator or administrators wants and needs are | ||||
| included in the design goals for version 1.0. Some of the end-user | ||||
| wants and needs may also be excluded from version 1.0 and will be so | ||||
| noted in the description of them. Subsequent versions of the protocol | ||||
| (e.g. V2.0) may include support for these initially excluded wants and | ||||
| needs. | ||||
| Expires: May 16, 1999 | ||||
| 3. DESIGN GOALS | ||||
| The next three sections identify the design goals for an Internet | The next three sections identify the design goals for an Internet | |||
| printing protocol from three roles assumed by humans: end-user, | printing protocol from three roles assumed by humans: end-user, | |||
| operator, and administrator. The goals defined here are only | operator, and administrator. The goals defined here are only those that | |||
| those that need to be addressed by an Internet printing protocol. | need to be addressed by an Internet printing protocol. Other wants and | |||
| Other wants and needs, such as that the operator needs physical | needs, such as that the operator needs physical access to the printer | |||
| access to the printer (e.g. to be able to load paper or clear | (e.g. to be able to load paper or clear jams) are not covered by this | |||
| jams) are not covered by this document. Section 4 contains | document. Section 5 contains scenarios which provide more detailed | |||
| scenarios which provide more detailed examples of the entire | examples of the entire process including discovery, status, printing and | |||
| process including discovery, status, printing and end-of-job | end-of-job reporting. | |||
| reporting. | ||||
| 2.1. END-USER | 3.1. END-USER | |||
| An end-user of a printer accepting jobs through the Internet is | An end-user of a printer accepting jobs through the Internet is one of | |||
| one of the roles in which humans act. The end-user is the person | the roles in which humans act. The end-user is the person that will | |||
| that will submit a job to be printed on the printer. | submit a job to be printed on the printer. | |||
| The wants and needs of the end-user are broken down into six | The wants and needs of the end-user are broken down into six categories: | |||
| categories: finding/locating a printer, creating a local instance | finding/locating a printer, creating a local instance of a printer, | |||
| of a printer, viewing printer status, viewing printer | viewing printer status, viewing printer capabilities, submitting a print | |||
| capabilities, submitting a print job, viewing print job status, | job, viewing print job status, altering the attributes of a print job. | |||
| altering the attributes of a print job. | ||||
| 2.1.1. Finding or locating a printer. | 3.1.1. Finding or locating a printer. | |||
| End-users want to be able to find and locate printers to which | End-users want to be able to find and locate printers to which they are | |||
| they are authorized to print. They want to be able to perform | authorized to print. They want to be able to perform this function | |||
| this function using a standard WEB browser or other application. | using a standard WEB browser or other application. Multiple criteria | |||
| Multiple criteria can be applied to find the printers needed. | can be applied to find the printers needed. These criteria include but | |||
| These criteria include but are not limited to: | are not limited to: | |||
| - by name (Printer 1, Joes-color-printer, etc.) | - by name (Printer 1, Joes-color-printer, etc.) | |||
| - by geographic location (bldg 1, Kentucky, etc.) | - by geographic location (bldg 1, Kentucky, etc.) | |||
| - by capability or attribute (color, duplex, legal paper, etc.) | - by capability or attribute (color, duplex, legal paper, etc.) | |||
| Additionally, while it is outside of scope of IPP, end-users want | Additionally, while it is outside of scope of IPP, end-users want to be | |||
| to be able to limit the scope of their searching to: | able to limit the scope of their searching to: | |||
| - inside a functional sub-domain | - inside a functional sub-domain | |||
| - include only a particular domain (lexmark.com) | - include only a particular domain (lexmark.com) | |||
| - exclude specified domains | - exclude specified domains | |||
| Expires: Dec 30, 1998 | While an Internet printing protocol may not of itself include this | |||
| Copyright(C) The Internet Society 1998. All Rights Reserved. | function, IPP must define and enable a directory schema which will | |||
| provide the necessary information for a directory service implementation | ||||
| While an Internet printing protocol may not of itself include | to consistently represent printers by their IPP attributes. | |||
| this function, IPP must define and enable a directory schema | ||||
| which will provide the necessary information for a directory | ||||
| service implementation to consistently represent printers by | ||||
| their IPP attributes. | ||||
| 2.1.2. Create an instance of the printer. | 3.1.2. Create an instance of the printer. | |||
| After finding the desired printer, an end-user needs to be able | Expires: May 16, 1999 | |||
| to create a local instance of that printer within the end-user | After finding the desired printer, an end-user needs to be able to | |||
| operating system or desktop. This local instance will vary | create a local instance of that printer within the end-user operating | |||
| depending upon the printing paradigm of the operating system. | system or desktop. This local instance will vary depending upon the | |||
| For example, some UNIX users will only want a queue or a | printing paradigm of the operating system. For example, some UNIX users | |||
| reference to a remote printer created on their machine while | will only want a queue or a reference to a remote printer created on | |||
| other UNIX users and Windows NT users will want the queue and | their machine while other UNIX users and Windows NT users will want the | |||
| also the necessary icons and registry entries to be created and | queue and also the necessary icons and registry entries to be created | |||
| initialized. Where required, drivers may need to be downloaded | and initialized. Where required, drivers may need to be downloaded from | |||
| from some repository and installed on the computer. All | some repository and installed on the computer. All necessary | |||
| necessary decompressing, unpacking, and other installation | decompressing, unpacking, and other installation actions should occur | |||
| actions should occur without end-user interaction or intervention | without end-user interaction or intervention excepting initial approval | |||
| excepting initial approval by the end-user. Once the local | by the end-user. Once the local instance of the printer has been | |||
| instance of the printer has been installed, it shall appear to | installed, it shall appear to the end-user of the operating system and | |||
| the end-user of operating system and to the applications running | to the applications running there as any other printer (local, local | |||
| there as any other printer (local, local area network connected, | area network connected, or network operating system connected) on the | |||
| or network operating system connected) on the end-user desktop or | end-user desktop or environment. IPP's role in this goal is simply to | |||
| environment. An IPP's role in this goal is simply to enable the | enable the creation of the printer instance providing information such | |||
| creation of the printer instance providing information such as | as where to locate a printer driver for this printer, as an attribute of | |||
| where to locate a printer driver for this printer, as an | an IPP Printer. | |||
| attribute of an IPP Printer. | ||||
| 2.1.3. Viewing the status and capabilities of a printer. | 3.1.3. Viewing the status and capabilities of a printer. | |||
| Before using a selected printer or, in fact at any time, the end- | Before using a selected printer or, in fact at any time, the end-user | |||
| user needs the ability to verify the characteristics and status | needs the ability to verify the characteristics and status of both | |||
| of both printers and jobs queued for that printer. When checking | printers and jobs queued for that printer. When checking the | |||
| the characteristics of a printer, the end-user typically wants to | characteristics of a printer, the end-user typically wants to be able to | |||
| be able to determine the capability of the device, e.g.: | determine the capability of the device, e.g.: | |||
| - supported media, commonly paper, by size and type | - supported media, commonly paper, by size and type | |||
| - paper handling capability, e.g. duplex, collating, finishing | - paper handling capability, e.g. duplex, collating, finishing | |||
| - color capability | - color capability | |||
| When checking the status of the printer and its print jobs, the | When checking the status of the printer and its print jobs, the end-user | |||
| end-user typically wants to be able to determine: | typically wants to be able to determine: | |||
| Expires: Dec 30, 1998 | ||||
| Copyright(C) The Internet Society 1998. All Rights Reserved. | ||||
| - is the printer on-line? | - is the printer on-line? | |||
| - what are the defaults to be used for printing? | - what are the defaults to be used for printing? | |||
| - how many jobs are queued for the printer? | - how many jobs are queued for the printer? | |||
| - how are job priorities assigned? (outside the scope of IPP) | - how are job priorities assigned? (outside the scope of IPP) | |||
| 2.1.4. Submitting a print job. | 3.1.4. Submitting a print job. | |||
| Once the desired printer has been located and installed, the end- | Once the desired printer has been located and installed, the end-user | |||
| user wants to print to that printer from normal applications | wants to print to that printer from normal applications using standard | |||
| using standard methods. These normal applications include such | methods. These normal applications include such programs as word | |||
| programs as word processors, spreadsheets, data-base | processors, spreadsheets, data-base applications, WEB browsers, | |||
| applications, WEB browsers, production printing applications, | production printing applications, etc. Additionally, the end-user may | |||
| etc. Additionaly, the end-user may want to print a file already | want to print a file already existing on the end-user's computer -- | |||
| existing on the end-user's computer -- "simple push." In | "simple push." In addition to printing from an application and simple | |||
| addition to printing from an application and simple push, the | push, the end-user needs to have the ability to submit a print job by | |||
| end-user needs to have the ability to submit a print job by | reference. Printing by reference is defined to mean as submitting a job | |||
| reference. Printing by reference is defined to mean as | ||||
| submitting a job by providing a reference to an existing | ||||
| document. The reference, a URI, will be resolved before the | ||||
| actual print process occurs. Submitting a job by reference | ||||
| relieves the user from downloading the job from the remote server | ||||
| and then sending it via IPP to the printer. This saves both time | ||||
| and network bandwidth. | ||||
| Some means shall be provided to determine if the format of a job | Expires: May 16, 1999 | |||
| matches the capability of the printer. This can be done by one | by providing a reference to an existing document. The reference, a URI, | |||
| of the following (all of which are outside of scope of the IPP | will be resolved before the actual print process occurs. Submitting a | |||
| protocol): | job by reference relieves the user from downloading the document from | |||
| the remote server and then sending it via IPP to the printer. This | ||||
| saves both time and network bandwidth. | ||||
| Some means shall be provided to determine if the format of a job matches | ||||
| the capability of the printer. This can be done by one of the following | ||||
| (all of which are outside of scope of the IPP protocol): | ||||
| - the end-user selects the correct printer driver | - the end-user selects the correct printer driver | |||
| - the printer automatically selects the proper interpreter | - the printer automatically selects the proper interpreter | |||
| - the end-user uses some other manual procedure. | - the end-user uses some other manual procedure. | |||
| A standard action shall be defined should the job's requirements | A standard action shall be defined should the job's requirements not | |||
| not match the capabilities of the printer. | 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: | ||||
| Expires: Dec 30, 1998 | Because the end-user does not want to know the details of the underlying | |||
| Copyright(C) The Internet Society 1998. All Rights Reserved. | 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 | - rejecting the print job | |||
| - redirecting the print job to another printer (Not in V1.0) | - redirecting the print job to another printer (Not in V1.0) | |||
| - printing the job, accepting differences in the appearance | - printing the job, accepting differences in the appearance | |||
| Print jobs will also be submitted by background or batch | Print jobs will also be submitted by background or batch applications | |||
| applications without human intervention. | without human intervention. | |||
| End-users need the ability to set certain print job parameters at | End-users need the ability to set certain print job parameters at the | |||
| the time the job is submitted. These parameters include but are | time the job is submitted. These parameters include but are not limited | |||
| not limited to: | to: | |||
| - number of copies | - number of copies | |||
| - single or two sided printing | - single or two sided printing | |||
| - finishing | - finishing | |||
| - job priority | - job priority | |||
| 2.1.5. Viewing the status of a submitted print job. | 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) and to determine where the job is in the | ||||
| print queue. | ||||
| 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. Notification means are not defined by the protocol but | ||||
| the protocol must provide a means of enabling and disabling the | ||||
| notification. | ||||
| 2.1.6. Canceling a Print Job | ||||
| While a job is waiting to be printing or has been started but not | After a job has been submitted to a printer, the end-user needs a way to | |||
| yet completed, the original creator/submitter of the print job | view the status of that job (i.e. job waiting, job printing, job done) | |||
| (i.e. the end-user) shall be able to cancel the job entirely (job | and to determine where the job is in the print queue. | |||
| is waiting) or the remaining portion of it (job is printing.) | ||||
| Altering the print job itself is not a V1.0 design goal. | ||||
| 2.2. OPERATOR (NOT REQUIRED FOR V1.0) | 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. | ||||
| An operator of a printer accepting jobs through the Internet is | Expires: May 16, 1999 | |||
| one of the roles in which humans act. The operator has the | Notification means are not defined by the protocol but the protocol must | |||
| provide a means of enabling and disabling the notification. | ||||
| Expires: Dec 30, 1998 | 3.1.6. Canceling a Print Job | |||
| Copyright(C) The Internet Society 1998. All Rights Reserved. | ||||
| responsibility of monitoring the status of the printer as well as | While a job is waiting to be printing or has been started but not yet | |||
| managing and controlling the jobs at the device. These | completed, the original creator/submitter of the print job (i.e. the | |||
| responsibilities include but are not limited to the replenishing | end-user) shall be able to cancel the job entirely (job is waiting) or | |||
| of supplies (ink, toner, paper, etc.), the clearing of minor | the remaining portion of it (job is printing.) Altering the print job | |||
| errors (paper jams, etc.) and the re-prioritization of end-user | itself is not a V1.0 design goal. | |||
| jobs. Operator wants and needs will not be addressed by V1.0 of | ||||
| the protocol. | ||||
| The wants and needs of the operator include all those of the end- | 3.2. OPERATOR (NOT REQUIRED FOR V1.0) | |||
| user but may include additional privileges. For example, an | ||||
| operator may be able to view all print jobs on a printer while | ||||
| the end-user may only be able to see his own jobs. | ||||
| 2.2.1. Alerting. | 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 re-prioritization of | ||||
| end-user jobs. Operator wants and needs will not be addressed by V1.0 | ||||
| of the protocol. | ||||
| One of the required operator functions is having the ability to | The wants and needs of the operator include all those of the end-user | |||
| discover or to be alerted to changes in the status of a printer | but may include additional privileges. For example, an operator may be | |||
| particularly those changes that cause a printer to stop printing | able to view all print jobs on a printer while the end-user might only | |||
| and to be able to correct those problems. As such, an Internet | be able to see his own jobs. | |||
| 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 a printer's | ||||
| or a job's status. | ||||
| 2.2.2. Changing Print and Job Status. | 3.2.1. Alerting. | |||
| Another of the required operator functions is the ability to | One of the required operator functions is having the ability to discover | |||
| affect changes to printer and job status remotely. For example, | or to be alerted to changes in the status of a printer particularly | |||
| the operator will need to be able to re-prioritize or cancel any | those changes that cause a printer to stop printing and to be able to | |||
| print jobs on a printer to which the operator has authority. | 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 | ||||
| a printer's or a job's status. | ||||
| 2.3. ADMINISTRATOR (NOT REQUIRED FOR V1.0) | 3.2.2. Changing Print and Job Status. | |||
| An administrator of a printer accepting jobs through the Internet | Another of the required operator functions is the ability to affect | |||
| is one of the roles in which humans act. The administrator has | changes to printer and job status remotely. For example, the operator | |||
| the responsibility of creating the printer instances and | will need to be able to re-prioritize or cancel any print jobs on a | |||
| controlling the authorization of other end-users and operators. | printer to which the operator has authority. | |||
| Administrator wants and needs will not be addressed by V1.0 of | ||||
| the protocol. | ||||
| The wants and needs of the administrator include all those of the | Expires: May 16, 1999 | |||
| end-user and, in some environments, some or all of those of the | 3.3. ADMINISTRATOR (NOT REQUIRED FOR V1.0) | |||
| operator. Minimally, the administrator must also have the tools, | ||||
| Expires: Dec 30, 1998 | An administrator of a printer accepting jobs through the Internet is one | |||
| Copyright(C) The Internet Society 1998. All Rights Reserved. | 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. Administrator wants and | ||||
| needs will not be addressed by V1.0 of the protocol. | ||||
| programs, utilities and supporting protocols available to be able | The wants and needs of the administrator include all those of the end- | |||
| to: | user and, in some environments, some or all of those of the operator. | |||
| Minimally, the administrator must also have the tools, programs, | ||||
| utilities and supporting protocols available to be able to: | ||||
| - create an instance of a printer | - create an instance of a printer | |||
| - create, edit and maintain the list of authorized end-users | - 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 operators | |||
| - create, edit and maintain the list of authorized | - create, edit and maintain the list of authorized | |||
| administrators | administrators | |||
| - create, customize, change or otherwise alter the manner in | - create, customize, change or otherwise alter the manner in | |||
| which the status capabilities and other information about | which the status capabilities and other information about printers | |||
| printers and jobs are presented | and jobs are presented | |||
| - create, customize, or change other printer or job features | - create, customize, or change other printer or job features | |||
| - administrate billing or other charge-back mechanisms | - administrate billing or other charge-back mechanisms | |||
| - create sets of defaults | - create sets of defaults | |||
| - create sets of capabilities | - create sets of capabilities | |||
| The administrator must have the capability to perform all the | The administrator must have the capability to perform all the above | |||
| above tasks locally or remotely to the printer. | tasks locally or remotely to the printer. | |||
| Expires: Dec 30, 1998 | ||||
| Copyright(C) The Internet Society 1998. All Rights Reserved. | ||||
| 3. OBJECTIVES OF THE PROTOCOL | ||||
| The protocol to be defined by an Internet printing working group | ||||
| will address the wants and needs of the end-user (V1.0). It will | ||||
| not, at least initially, address the operator or administrator | ||||
| wants and needs (V2.0). | ||||
| The protocol defined shall be independent of the operating system | Expires: May 16, 1999 | |||
| of both the client and the server. Generally, any platform | 4. OBJECTIVES OF THE PROTOCOL | |||
| capable of supporting a WEB Browser should be capable of being a | ||||
| client. Generally, any platform providing a WEB/HTTP server and | ||||
| printing services should be capable of being a server. Usage of | ||||
| the WEB Browser and Server is not required for IPP; the operating | ||||
| system, operating system extensions or other applications may | ||||
| provide IPP functionality directly. | ||||
| In many environments such as Windows 95, Windows NT and OS/2, the | The protocol to be defined by an Internet printing working group will | |||
| print data is created and transmitted to the printer on the fly | address the wants and needs of the end-user (V1.0). It will not, at | |||
| rather than being created, spooled and then transmitted to the | least initially, address the operator or administrator wants and needs | |||
| printer (a typical UNIX method.) The Internet Printing Protocol | (V2.0). | |||
| must properly handle either methodology and make this transparent | ||||
| to the end-user. | ||||
| 3.1. SECURITY CONSIDERATIONS | The protocol defined shall be independent of the operating system of | |||
| both the client and the server. Generally, any platform capable of | ||||
| supporting a WEB Browser should be capable of being a client. | ||||
| Generally, any platform providing a WEB/HTTP server and printing | ||||
| services should be capable of being a server. Usage of the WEB Browser | ||||
| and Server is not required for IPP; the operating system, operating | ||||
| system extensions or other applications may provide IPP functionality | ||||
| directly. | ||||
| It is required that the Internet Printing Protocol be able to | In many environments such as Windows 95, Windows NT and OS/2, the print | |||
| operate within a secure environment. Wherever reasonable, IPP | data is created and transmitted to the printer on the fly rather than | |||
| ought to make use of existing security protocols and services. | being created, spooled and then transmitted to the printer (a typical | |||
| IPP will not invent new security features when the design goals | UNIX method.) The Internet Printing Protocol must properly handle | |||
| described in this document can be met by existing protocols and | either methodology and make this transparent to the end-user. | |||
| services. Examples of such services include Transport Layer | ||||
| Security (TLS) and HTTP Digest Authentication. | ||||
| Since we cannot anticipate the security levels or the specific | 4.1. SECURITY CONSIDERATIONS | |||
| threats that any given IPP print administrator may be concerned | ||||
| with, IPP must be capable of operating with different security | ||||
| mechanisms and policies as required by the individual | ||||
| installation. The initial security needs of IPP are derived from | ||||
| two primary considerations. First, the printing environments | ||||
| described in this document take into account that the client, the | ||||
| Printer, and the document to be printed may each exist in | ||||
| different security domains. When objects are in different | ||||
| security domains the design goals for authentication and message | ||||
| Expires: Dec 30, 1998 | It is required that the Internet Printing Protocol be able to operate | |||
| Copyright(C) The Internet Society 1998. All Rights Reserved. | within a secure environment. Wherever reasonable, IPP ought to make use | |||
| of existing security protocols and services. IPP will not invent new | ||||
| security features when the design goals described in this document can | ||||
| be met by existing protocols and services. Examples of such services | ||||
| include Secure Socket Layer Version 3 (SSL3) [SSL] and HTTP Digest | ||||
| Access Authentication [RFC2069]. Note: SSL3 is not on the IETF | ||||
| standards track. | ||||
| protection may be much stronger than when they are all in the | Since we cannot anticipate the security levels or the specific threats | |||
| same domain. | that any given IPP print administrator may be concerned with, IPP must | |||
| be capable of operating with different security mechanisms and policies | ||||
| as required by the individual installation. The initial security needs | ||||
| of IPP are derived from two primary considerations. First, the printing | ||||
| environments described in this document take into account that the | ||||
| client, the Printer, and the document to be printed may each exist in | ||||
| different security domains. When objects are in different security | ||||
| domains the design goals for authentication and message protection may | ||||
| be much stronger than when they are all in the same domain. | ||||
| Secondly, the sensitivity and value of the content being printed | Secondly, the sensitivity and value of the content being printed will | |||
| will vary from one instance of a print job to another. For | vary from one instance of a print job to another. For example, a | |||
| example, a publicly available document does not need the same | publicly available document does not need the same level of protection | |||
| level of protection as a payroll document does. Message | as a payroll document does. Message protection design goals include | |||
| protection design goals include data origin authentication, | data origin authentication, privacy, integrity, and non-repudiation. | |||
| privacy, integrity, and non-repudiation. | ||||
| In many environments (e.g. Windows, OS/2) a printer driver may be | Expires: May 16, 1999 | |||
| needed to create the proper datastream for printer. This | In many environments (e.g. Windows, OS/2) a printer driver may be needed | |||
| document discusses downloading such a new driver from a variety | to create the proper datastream for printer. This document discusses | |||
| of sources. Downloading and installing any software, including | downloading such a new driver from a variety of sources. Downloading | |||
| drivers) on a computer exposes that computer to a number of | and installing any software, including drivers) on a computer exposes | |||
| security risks including but not limited to: | that computer to a number of security risks including but not limited | |||
| to: | ||||
| - defective software | - defective software | |||
| - malicious software (e.g. trojan horses) | - malicious software (e.g. Trojan horses) | |||
| - inappropriate software (i.e. software doing something | - inappropriate software (i.e. software doing something | |||
| deemed unreasonable by the user.) | deemed unreasonable by the user.) | |||
| As such, proper security considerations and actions need to be | As such, proper security considerations and actions need to be taken by | |||
| taken by the user and/or a system administrator to prevent the | the user and/or a system administrator to prevent the compromising of | |||
| compromising of the computer. IPP design goals do not include | the computer. Administrators should configure downloading mechanism for | |||
| addressing the security considerations associated with the | printer drivers in such a way as to be able to verify the source of | |||
| downloading and installing of software (including drivers) on a | driver software and encrypt or otherwise protect that software during | |||
| computer. | download. | |||
| Examples including security considerations can be found in | ||||
| sections 4 (IPP SCENARIOS) and 9 (APPENDIX - DETAILED SCENARIOS) | ||||
| later in this document. | ||||
| 3.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 design goals described in this document, there | ||||
| is no requirement for backward compatibility or interoperability | ||||
| Expires: Dec 30, 1998 | ||||
| Copyright(C) The Internet Society 1998. All Rights Reserved. | ||||
| with 'lpd'. However, a mapping of LPD functionality and IPP | Examples including security considerations can be found in sections 5 | |||
| functionality shall be provided so as to enable a gateway between | (IPP SCENARIOS) and 11 (APPENDIX - DETAILED SCENARIOS) later in this | |||
| LPD and IPP. | document. | |||
| 3.3. EXTENSIBILITY | 4.2. INTERACTION WITH LPD (RFC1179) | |||
| The Internet Printing Protocol shall be extensible by several | Many versions of UNIX and in fact other operating systems provide a | |||
| means that facilitate interoperability and prevent implementation | means of printing as described in [RFC1179] (Line Printer Daemon | |||
| collisions: | 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 design goals described in this | ||||
| document, there is no requirement for backward compatibility or | ||||
| interoperability with 'lpd'. However, a mapping of LPD functionality | ||||
| and IPP functionality shall be provided so as to enable a gateway | ||||
| between LPD and IPP. | ||||
| - by providing a process whereby implementers can submit | 4.3. EXTENSIBILITY | |||
| proposals for registration of new attributes and new | ||||
| enumerated values for existing attributes. | ||||
| * that require review and approval. The Internet | The Internet Printing Protocol shall be extensible by several means that | |||
| Assigned Number Authority (IANA) will be the repository | facilitate interoperability and prevent implementation collisions: | |||
| for such accepted registration proposals after review. | ||||
| * that do not require review and approval. IANA will | - by providing a process whereby implementers can submit proposals | |||
| be the repository for such registrations. | for registration of new attributes and new enumerated values for | |||
| existing attributes. | ||||
| - by providing syntax in the protocol so that implementers | * that require review and approval. The Internet Assigned | |||
| may add private (i.e. unregistered) attributes and | Number Authority (IANA) will be the repository for such | |||
| enumerated attribute values. | accepted registration proposals after review. | |||
| - by providing versioning and negotiation so as to enable | Expires: May 16, 1999 | |||
| future implementations of IPP to interoperate with | * that do not require review and approval. IANA will be the | |||
| implementations of version 1.0 of IPP. | repository for such registrations. | |||
| 3.4. FIREWALLS | - by providing syntax in the protocol so that implementers may add | |||
| private (i.e. unregistered) attributes and enumerated attribute | ||||
| values. | ||||
| As stated in the end-user wants and needs section, Internet | - by providing versioning and negotiation so as to enable future | |||
| printing shall by definition support printing from one enterprise | implementations of IPP to interoperate with implementations of | |||
| to another. As such, the Internet printing protocol must be | version 1.0 of IPP. | |||
| capable of passing through firewalls and/or proxy servers (where | ||||
| enabled by the firewall administrator) preferably without | ||||
| modification to the existing firewall technology. | ||||
| 3.5. INTERNATIONALIZATION | 4.4. FIREWALLS | |||
| Expires: Dec 30, 1998 | As stated in section 3 Design Goals, Internet printing shall, by | |||
| Copyright(C) The Internet Society 1998. All Rights Reserved. | definition, support printing from one enterprise to another. As such, | |||
| the Internet printing protocol must be capable of passing through | ||||
| firewalls and/or proxy servers (where enabled by the firewall | ||||
| administrator) preferably without modification to the existing firewall | ||||
| technology. | ||||
| Users of Internet printing will come from all over the world. As | 4.5. INTERNATIONALIZATION | |||
| such, where appropriate, internationalization and localization | ||||
| will be enabled for the protocol. | ||||
| Expires: Dec 30, 1998 | Users of Internet printing will come from all over the world. As such, | |||
| Copyright(C) The Internet Society 1998. All Rights Reserved. | where appropriate, internationalization and localization will be enabled | |||
| for the protocol. | ||||
| 4. IPP SCENARIOS | Expires: May 16, 1999 | |||
| 5. IPP SCENARIOS | ||||
| Each of the scenarios in this section describes a specific IPP | Each of the scenarios in this section describes a specific IPP | |||
| operation, such as submitting a print job. Section 9.0 contains | operation, such as submitting a print job. Section 11 contains several | |||
| several detailed flows for each scenario to provide additional | detailed flows for each scenario to provide additional detail. The | |||
| detail. The examples should not be considered exhaustive, but | examples should not be considered exhaustive, but illustrative of the | |||
| illustrative of the functions and features required in the | functions and features required in the protocol. Flows are intended to | |||
| protocol. Flows are intended to be protocol neutral. It is not | be protocol neutral. It is not assumed that all of the functions and | |||
| assumed that all of the functions and features described in these | features described in these scenarios will necessarily be supported | |||
| scenarios will necessarily be supported directly by IPP or in | directly by IPP or in version 1.0 of IPP. | |||
| version 1.0 of IPP. | ||||
| See the IPP Model and Semantics document for details on | ||||
| configurations of clients, servers and firewalls. | ||||
| Expires: Dec 30, 1998 | See the IPP Model and Semantics document for details on configurations | |||
| Copyright(C) The Internet Society 1998. All Rights Reserved. | of clients, servers and firewalls. | |||
| 4.1. PRINTER DISCOVERY | Expires: May 16, 1999 | |||
| 5.1. PRINTER DISCOVERY | ||||
| Client Directory | Client Directory Service | |||
| Service Service | Service | |||
| +----------------------------------------------------------- > | +----------------------------------------------------------- > | |||
| give me information on printers with these characteristics | give me information on printers with these characteristics | |||
| < -----------------------------------------------------------+ | < -----------------------------------------------------------+ | |||
| Information on Printers matching these characteristics | Information on Printers matching these characteristics | |||
| The objective of printer discovery is to locate printers that | The objective of printer discovery is to locate printers that meet the | |||
| meet the client's wants and needs. The Directory Service should | client's wants and needs. The Directory Service should provide enough | |||
| provide enough information for the client to make an initial | information for the client to make an initial choice. The client may | |||
| choice. The client may have to connect to each individual Printer | have to connect to each individual Printer offered to get more detail. | |||
| offered to get more detail. Not all information available from | Not all information available from the Directory Service is obtained | |||
| the Directory Service is obtained using IPP; some information may | using IPP; some information may be administratively provided. | |||
| be administratively provided. | ||||
| The actual protocol used between client and Directory or Name | The actual protocol used between client and Directory or Name Service is | |||
| Service is considered outside the scope of IPP. Printer Discover | considered outside the scope of IPP. Printer Discover is included in the | |||
| is included in the scenarios to provide design goals for the | scenarios to provide design goals for the directory schema for IPP | |||
| directory schema for IPP Printers and to further define Printer | Printers and to further define Printer attributes. | |||
| attributes. | ||||
| Characteristics that might be considered when locating a Printer | Characteristics that might be considered when locating a Printer | |||
| include: | include: | |||
| - capabilities of the Printer, e.g. PDLs supported | - capabilities of the Printer, e.g. PDLs supported | |||
| - physical location, e.g. in building 010 | - physical location, e.g. in building 010 | |||
| - driver required and location | - driver required and location | |||
| - cost per page to print (outside the scope of IPP) | - cost per page to print (outside the scope of IPP) | |||
| - whether or not printer is access controlled | - whether or not printer is access controlled | |||
| - whether or not usage requires client authentication | - whether or not usage requires client authentication | |||
| - whether or not Printer can be authenticated | - whether or not Printer can be authenticated | |||
| - whether or not payment is required for printing (outside the | - whether or not payment is required for printing (outside the scope of | |||
| scope of IPP) | IPP) | |||
| - maximum job size (spool size) (outside the scope of IPP) | - maximum job size (spool size) (outside the scope of IPP) | |||
| - whether or not Printer support compression (outside the scope | - whether or not Printer support compression (outside the scope of IPP) | |||
| of IPP) | ||||
| - whether or not Printer supports encryption | - whether or not Printer supports encryption | |||
| whether or not Printer support compression (outside the scope of IPP) | ||||
| - administrative limits on this Printer | - administrative limits on this Printer | |||
| Expires: Dec 30, 1998 | ||||
| Copyright(C) The Internet Society 1998. All Rights Reserved. | ||||
| - maximum number of copies per job | - maximum number of copies per job | |||
| - maximum number of pages per job | - maximum number of pages per job | |||
| Responses could additionally include: | Responses could additionally include: | |||
| - how to get more information | - how to get more information | |||
| - web page | - web page | |||
| - telephone number | - telephone number | |||
| - help desk | - help desk | |||
| 4.2. DRIVER INSTALLATION | Expires: May 16, 1999 | |||
| 5.2. DRIVER INSTALLATION | ||||
| Client Printer | Client Printer | |||
| +----------------------------------------------------------- > | +----------------------------------------------------------- > | |||
| Where can I find a driver & software to install it? | Where can I find a driver & software to install it? | |||
| < -----------------------------------------------------------+ | < -----------------------------------------------------------+ | |||
| URIs for drivers and install software | URIs for drivers and install software | |||
| Driver here refers to the code installed in some client operating | Driver here refers to the code installed in some client operating system | |||
| system to generate the print data stream for the intended | to generate the print data stream for the intended printer. The actual | |||
| printer. The actual details for installing a printer driver are | details for installing a printer driver are operating system dependent | |||
| operating system dependent and are also outside the scope of IPP. | and are also outside the scope of IPP. However, an IPP printer or a | |||
| However, an IPP printer or a directory service advertising an IPP | directory service advertising an IPP Printer should be capable of | |||
| Printer should be capable of telling a client what drivers are | telling a client what drivers are available and /or required, where they | |||
| available and /or required, where they can be found, and provide | can be found, and provide pointers to installation instructions, | |||
| pointers to installation instructions, installation code or | installation code or initialization strings required to install the | |||
| initialization strings required to install the driver. See | driver. See section 4.1 (SECURITY CONSIDERATIONS) for security | |||
| section 3.1 (SECURITY CONSIDERATIONS) for security implications | implications of driver download and installation. | |||
| of driver download and installation. | ||||
| 4.3. SUBMITTING A PRINT JOB | 5.3. SUBMITTING A PRINT JOB | |||
| Client IPP Printer | Client IPP Printer | |||
| +----------------------------------------------------------- > | +----------------------------------------------------------- > | |||
| Here is a Print Job | Here is a Print Job | |||
| - Job attributes | - Job attributes | |||
| - Print data | - Print data | |||
| Expires: Dec 30, 1998 | ||||
| Copyright(C) The Internet Society 1998. All Rights Reserved. | ||||
| < -----------------------------------------------------------+ | < -----------------------------------------------------------+ | |||
| Response | Response | |||
| The protocol must support these sources of client data: | The protocol must support these sources of client data: | |||
| - Print data is a file submitted with the job | - Print data is a file submitted with the job | |||
| - Print data is generated on the fly by an application | - Print data is generated on the fly by an application | |||
| - Print data is a file referenced by a URI | - Print data is a file referenced by a URI | |||
| The protocol must handle overrun conditions in the printer and | The protocol must handle overrun conditions in the printer and must | |||
| must support overlapped printing and downloading of the file in | support overlapped printing and downloading of the file in devices that | |||
| devices that are unable to spool files before printing them. | are unable to spool files before printing them. | |||
| Expires: May 16, 1999 | ||||
| Every print request will have a response. Responses will indicate | Every print request will have a response. Responses will indicate | |||
| success or failure of the request and provide information on | success or failure of the request and provide information on failures | |||
| failures when they occur. Responses would include things like: | when they occur. Responses would include things like: | |||
| - Got the print job and queued it | - Got the print job and queued it | |||
| - Got the print job and am printing it | - Got the print job and am printing it | |||
| - Got the print job, started to print it, but printing failed | - Got the print job, started to print it, but printing failed | |||
| - why it failed (e.g. unrecoverable PostScript error) | - why it failed (e.g. unrecoverable PostScript error) | |||
| - state of the printer | - state of the printer | |||
| - how much printed | - how much printed | |||
| - Got the print job but couldn't print it | - Got the print job but couldn't print it | |||
| - why it can't be printed | - why it can't be printed | |||
| - state of the printer | - state of the printer | |||
| - Got the print job but don't know what to do with it | - Got the print job but don't know what to do with it | |||
| - Didn't get a complete print job (e.g. communication failure) | - Didn't get a complete print job (e.g. communication failure) | |||
| 4.4. GETTING STATUS/CAPABILITIES | 5.4. GETTING STATUS/CAPABILITIES | |||
| Client IPP Printer | Client IPP Printer | |||
| +----------------------------------------------------------- > | +----------------------------------------------------------- > | |||
| Get status and/or capabilities of Printer | Get status and/or capabilities of Printer | |||
| < -----------------------------------------------------------+ | < -----------------------------------------------------------+ | |||
| Status/Capabilities | Status/Capabilities | |||
| Clients will need to get information about | Clients will need to get information about | |||
| Expires: Dec 30, 1998 | ||||
| Copyright(C) The Internet Society 1998. All Rights Reserved. | ||||
| - Static capabilities of the device | - Static capabilities of the device | |||
| - Dynamic state of the Printer (e.g. out of paper) | - Dynamic state of the Printer (e.g. out of paper) | |||
| - State of a specific job owned by this client | - State of a specific job owned by this client | |||
| - State of all jobs owned by this client | - State of all jobs owned by this client | |||
| - queued | - queued | |||
| - printing | - printing | |||
| - completed | - completed | |||
| - Job submission attributes supported/required | - Job submission attributes supported/required | |||
| - scheduling attributes (e.g. priority) | - scheduling attributes (e.g. priority) | |||
| - production attributes (e.g. number of copies) | - production attributes (e.g. number of copies) | |||
| 4.5. ASYNCHRONOUS NOTIFICATION | Expires: May 16, 1999 | |||
| 5.5. ASYNCHRONOUS NOTIFICATION | ||||
| Client IPP Printer | Client IPP Printer | |||
| +----------------------------------------------------------- > | +----------------------------------------------------------- > | |||
| Use the following method to notify me of Printer events | Use the following method to notify me of Printer events | |||
| . | . | |||
| . | . | |||
| . | . | |||
| < -----------------------------------------------------------+ | < -----------------------------------------------------------+ | |||
| Asynchronous notification of Printer event | Asynchronous notification of Printer event | |||
| Clients must be able to request asynchronous notification for | Clients must be able to request asynchronous notification for Printer | |||
| Printer events such as | events such as | |||
| - job completion | - job completion | |||
| - a fatal error that requires the job to be resubmitted | - a fatal error that requires the job to be resubmitted | |||
| - a condition that severely impacts a queued job for this client | - a condition that severely impacts a queued job for this client | |||
| e.g. printer is out of paper | e.g. printer is out of paper | |||
| Note: end-user notification is a V1.0 design goal while operator | Note: end-user notification is a V1.0 design goal while operator | |||
| notification is for V2.0. | notification is for V2.0. | |||
| 4.6. JOB CANCELING | 5.6. JOB CANCELING | |||
| Client IPP Printer | Client IPP Printer | |||
| Expires: Dec 30, 1998 | ||||
| Copyright(C) The Internet Society 1998. All Rights Reserved. | ||||
| +----------------------------------------------------------- > | +----------------------------------------------------------- > | |||
| Cancel the named job as indicated | Cancel the named job as indicated | |||
| < -----------------------------------------------------------+ | < -----------------------------------------------------------+ | |||
| Response (did it or not) | Response (did it or not) | |||
| Similarly clients must be able to make changes to jobs which have | Similarly clients must be able to make changes to jobs which have been | |||
| been submitted and are queued for printing. Changing of job | submitted and are queued for printing. Changing of job attributes | |||
| attributes should also be supported. Job modifications, holding | should also be supported. Job modifications, holding and releasing of | |||
| and releasing of jobs are not included in the design goals for | jobs are not included in the design goals for IPP v1.0. | |||
| IPP v1.0. | ||||
| Expires: Dec 30, 1998 | ||||
| Copyright(C) The Internet Society 1998. All Rights Reserved. | ||||
| 5. COPYRIGHT | ||||
| Copyright(C) The Internet Society 1997. All Rights Reserved. | Expires: May 16, 1999 | |||
| 6. SECURITY CONSIDERATIONS | ||||
| This document and translations of it may be copied and furnished | The security considerations for IPP are described in Section 4.1 above. | |||
| 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 | Expires: May 16, 1999 | |||
| be revoked by the Internet Society or its successors or assigns. | 7. COPYRIGHT | |||
| This document and the information contained herein is provided on | Copyright(C) The Internet Society 1997. All Rights Reserved. | |||
| 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 HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY | ||||
| IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR | ||||
| PURPOSE." | ||||
| Expires: Dec 30, 1998 | This document and translations of it may be copied and furnished to | |||
| Copyright(C) The Internet Society 1998. All Rights Reserved. | 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. | ||||
| 6. REFERENCES | The limited permissions granted above are perpetual and will not be | |||
| revoked by the Internet Society or its successors or assigns. | ||||
| RFC1179 - Line Printer Daemon Protocol | 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 HEREIN WILL NOT | ||||
| INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR | ||||
| FITNESS FOR A PARTICULAR PURPOSE." | ||||
| RFC1759 - Printer MIB | Expires: May 16, 1999 | |||
| 8. REFERENCES | ||||
| ISO/IEC 10175, Document Printing Application | [IPP-IIG] | |||
| Hastings, T., Manros, C., "Internet Printing Protocol/1.0: | ||||
| Implementer's Guide", draft-ietf-ipp-implementers-guide-00.txt, | ||||
| November 1998, work in progress. | ||||
| [IPP LPD] | [IPP-LPD] | |||
| Herriot, R., Hastings, T., Jacobs, N., Martin, J., | Herriot, R., Hastings, T., Jacobs, N., Martin, J., | |||
| "Mapping between LPD and IPP Protocols", | "Mapping between LPD and IPP Protocols", | |||
| draft-ietf-ipp-lpd-ipp-map-04.txt, June 1998. | draft-ietf-ipp-lpd-ipp-map-05.txt, November 1998. | |||
| [IPP-MOD] | [IPP-MOD] | |||
| Isaacson, S., deBry, R., Hastings, T., Herriot, R., Powell, P., | deBry, R., Hastings, T., Herriot, R., Isaacson, S., Powell, | |||
| "Internet Printing Protocol/1.0: Model and Semantics" | P., "Internet Printing Protocol/1.0: Model and Semantics" | |||
| draft-ietf-ipp-mod-10.txt, June, 1998. | draft-ietf-ipp-mod-11.txt, November, 1998. | |||
| [IPP-PRO] | [IPP-PRO] | |||
| Herriot, R., Butler, S., Moore, P., Tuner, R., | Herriot, R., Butler, S., Moore, P., Tuner, R., | |||
| "Internet Printing Protocol/1.0: Encoding and Transport", | "Internet Printing Protocol/1.0: Encoding and Transport", | |||
| draft-ietf-ipp-pro-06.txt, June, 1998. | draft-ietf-ipp-pro-07.txt, November, 1998. | |||
| [IPP-RAT] | [IPP-RAT] | |||
| Zilles, S., "Rationale for the Structure and Model and Protocol | Zilles, S., "Rationale for the Structure and Model and Protocol | |||
| for the Internet Printing Protocol", | for the Internet Printing Protocol", | |||
| draft-ietf-ipp-rat-03.txt, June, 1998. | draft-ietf-ipp-rat-04.txt, November, 1998. | |||
| [IPP-REQ] | [ISO10175] | |||
| (this document) | ISO/IEC 10175, Document Printing Application, June 1996. | |||
| Expires: Dec 30, 1998 | [RFC1179] | |||
| Copyright(C) The Internet Society 1998. All Rights Reserved. | McLaughlin, L. III, (editor), "Line Printer Daemon Protocol" | |||
| RFC 1179, August 1990. | ||||
| 7. ACKNOWLEDGMENTS | [SSL] | |||
| Netscape, The SSL Protocol, Version 3, (Text version 3.02), November | ||||
| 1996. | ||||
| Expires: May 16, 1999 | ||||
| 9. ACKNOWLEDGMENTS | ||||
| This document draws heavily from preliminary work done by others | This document draws heavily from preliminary work done by others | |||
| especially in the Printer Working Group (PWG). The author | especially in the Printer Working Group (PWG). The author gratefully | |||
| gratefully acknowledges the specific contributions of: | acknowledges the specific contributions of: | |||
| Scott Isaacson Roger Debry | Scott Isaacson Roger deBry | |||
| Novell IBM | Novell IBM | |||
| sisaacson@novell.com rdebry@us.ibm.com | sisaacson@novell.com rdebry@us.ibm.com | |||
| Carl-Uno Manros Robert Herriot | Carl-Uno Manros Robert Herriot | |||
| Xerox Sun | Xerox Sun | |||
| manros@cp10.es.xerox.com Robert.Herriot@eng.sun.com | manros@cp10.es.xerox.com Robert.Herriot@eng.sun.com | |||
| Tom Hastings Peter Zehler | Tom Hastings Peter Zehler | |||
| Xerox Xerox | Xerox Xerox | |||
| hastings@cp10.es.xerox.com Peter.Zehler@usa.xerox.com | hastings@cp10.es.xerox.com Peter.Zehler@usa.xerox.com | |||
| 8. AUTHOR'S ADDRESS | 10. AUTHOR'S ADDRESS | |||
| F.D. (Don) Wright | F.D. (Don) Wright | |||
| Lexmark International | Lexmark International | |||
| C14/035-3 | C14/035-3 | |||
| 740 New Circle Rd | 740 New Circle Rd | |||
| Lexington, KY 40550 | Lexington, KY 40550 | |||
| Phone: 606-232-4808 | Phone: 606-232-4808 | |||
| Fax: 606-232-6740 | Fax: 606-232-6740 | |||
| E-mail: don@lexmark.com | E-mail: don@lexmark.com | |||
| Expires: Dec 30, 1998 | Expires: May 16, 1999 | |||
| Copyright(C) The Internet Society 1998. All Rights Reserved. | 11. APPENDIX - DETAILED SCENARIOS | |||
| 9. APPENDIX - DETAILED SCENARIOS | ||||
| The following are more detailed scenarios illustrating how the | The following are more detailed scenarios illustrating how the Internet | |||
| Internet Printing Protocol is expected to be used as a part of a | Printing Protocol is expected to be used as a part of a complete | |||
| complete Internet Printing system. Some parts of the scenarios | Internet Printing system. Some parts of the scenarios include concepts, | |||
| include concepts, functions and information that may be outside | functions and information that may be outside of the scope of version | |||
| of the scope of version 1.0 of IPP (e.g. cost per page, payments | 1.0 of IPP (e.g. cost per page, payments means available, etc.) The | |||
| means available, etc.) The information contained herein is meant | information contained herein is meant to be generic. There may not be | |||
| to be generic. There may not be an exact wording or terminology | an exact wording or terminology match between these scenarios and the | |||
| match between these scenarios and the implementation documents. | implementation documents. | |||
| 9.1. PRINTER DISCOVERY WITHIN AN ENTERPRISE | 11.1. PRINTER DISCOVERY WITHIN AN ENTERPRISE | |||
| A user wants to find a color Postscript printer in his/her | A user wants to find a color Postscript printer in his/her enterprise | |||
| enterprise which will print transparencies. The client, | which will print transparencies. The client, directory service, and | |||
| directory service, and printer are all behind the same corporate | printer are all behind the same corporate firewall. Because color foils | |||
| firewall. Because color foils are expensive, printers of this | are expensive, printers of this type are access controlled and require | |||
| type are access controlled and require an account to be | an account to be established so that printing can be billed back to the | |||
| established so that printing can be billed back to the using | using department. Note the request to find a printer usable by Dept. | |||
| department. Note the request to find a printer usable by Dept. | J15. Drivers for all supported printers are available from the server | |||
| J15. Drivers for all supported printers are available from the | they are associated with. A help desk is provided for end user support. | |||
| server they are associated with. A help desk is provided for end | The printer is unattended. | |||
| user support. The printer is unattended. | ||||
| Client Directory Service | Client Directory Service | |||
| +---------------------------------------------------------- > | +---------------------------------------------------------- > | |||
| Find a printer with these characteristics | Find a printer with these characteristics | |||
| - prints color, prints transparencies | - prints color, prints transparencies | |||
| - prints Postscript | - prints Postscript | |||
| - is in building 003 | - is in building 003 | |||
| - accessible by the client | - accessible by the client | |||
| < ----------------------------------------------------------+ | < ----------------------------------------------------------+ | |||
| Printer "Color-A" | Printer "Color-A" | |||
| - prints color, prints transparencies | - prints color, prints transparencies | |||
| - prints Postscript | - prints Postscript | |||
| - in room H-6, building 003 | - in room H-6, building 003 | |||
| - driver ABC-Postscript-V1.3 required, here is URI | - driver ABC-Postscript-V1.3 required, here is URI | |||
| - cost is $.45 per page for color transparencies | - cost is $.45 per page for color transparencies | |||
| - limit is 10 pages per job | - limit is 10 pages per job | |||
| - authentication required to use printer | - authentication required to use printer | |||
| Expires: Dec 30, 1998 | ||||
| Copyright(C) The Internet Society 1998. All Rights Reserved. | ||||
| - printer is unattended | - printer is unattended | |||
| - help desk at x5001 | - help desk at x5001 | |||
| Printer "Color-B" | Printer "Color-B" | |||
| - prints color, prints transparencies | - prints color, prints transparencies | |||
| - prints Postscript | - prints Postscript | |||
| - in room J-10, building 003 | - in room J-10, building 003 | |||
| Expires: May 16, 1999 | ||||
| - driver XYZ-Postscript-V2.4 required, here is URI | - driver XYZ-Postscript-V2.4 required, here is URI | |||
| - cost is $1.25 page for color transparencies | - cost is $1.25 page for color transparencies | |||
| - limit is 5 pages per job | - limit is 5 pages per job | |||
| - authentication is required to use printer | - authentication is required to use printer | |||
| - printer is unattended | - printer is unattended | |||
| - help desk at x5001 | - help desk at x5001 | |||
| Expires: Dec 30, 1998 | Expires: May 16, 1999 | |||
| Copyright(C) The Internet Society 1998. All Rights Reserved. | ||||
| 9.2. PRINTER DISCOVERY ACROSS ENTERPRISES | 11.2. PRINTER DISCOVERY ACROSS ENTERPRISES | |||
| A user in Company A wants to find a public printer in a business | A user in Company A wants to find a public printer in a business | |||
| partner's enterprise (Company B) on which to print a purchase | partner's enterprise (Company B) on which to print a purchase order. The | |||
| order. The client is behind one corporate firewall and the | client is behind one corporate firewall and the directory service and | |||
| directory service and the printer are behind a different | the printer are behind a different corporate firewall. Drivers for all | |||
| corporate firewall. Drivers for all supported printers are | supported printers are available from the server they are associated | |||
| available from the server they are associated with. A web page is | with. A web page is provided for end user support for public printers. | |||
| provided for end user support for public printers. | ||||
| Client Company B Directory Service | Client Company B Directory Service | |||
| +---------------------------------------------------------- > | +---------------------------------------------------------- > | |||
| Find a printer with these characteristics | Find a printer with these characteristics | |||
| - prints black and white | - prints black and white | |||
| - is in El Segundo, building A | - is in El Segundo, building A | |||
| - is a public printer | - is a public printer | |||
| < ----------------------------------------------------------+ | < ----------------------------------------------------------+ | |||
| skipping to change at page 29, line 5 ¶ | skipping to change at page 27, line 5 ¶ | |||
| - help available at http://xerox/elSegundo/publicPrinters | - help available at http://xerox/elSegundo/publicPrinters | |||
| Printer "Public-B" | Printer "Public-B" | |||
| - prints black and white | - prints black and white | |||
| - prints PCL/5e | - prints PCL/5e | |||
| - is in El Segundo, room J-10, building A | - is in El Segundo, room J-10, building A | |||
| - driver XYZ-PCL-V2.4 required, here is URI | - driver XYZ-PCL-V2.4 required, here is URI | |||
| - printer is public | - printer is public | |||
| - help available at http://xerox/elSegundo/publicPrinters | - help available at http://xerox/elSegundo/publicPrinters | |||
| Expires: Dec 30, 1998 | Expires: May 16, 1999 | |||
| Copyright(C) The Internet Society 1998. All Rights Reserved. | ||||
| 9.3. PRINTER DISCOVERY ON THE INTERNET -LOGICAL OPERATIONS | 11.3. PRINTER DISCOVERY ON THE INTERNET -LOGICAL OPERATIONS | |||
| A student wants to print a paper on a printer at his neighborhood | A student wants to print a paper on a printer at his neighborhood Ink- | |||
| Ink-o's print shop. The report was written using Microsoft Word. | o's print shop. The report was written using Microsoft Word. The student | |||
| The student is interested in the cost of printing since his | is interested in the cost of printing since his budget is limited. Note | |||
| budget is limited. Note the use of logical operators to find this | the use of logical operators to find this information. | |||
| information. | ||||
| Client Ink-o's Directory Service | Client Ink-o's Directory Service | |||
| +---------------------------------------------------------- > | +---------------------------------------------------------- > | |||
| Find a Printer with these characteristics | Find a Printer with these characteristics | |||
| - prints color or black and white | - prints color or black and white | |||
| - costs less than $.50 per page | - costs less than $.50 per page | |||
| - tell me about resolution and marking technology | - tell me about resolution and marking technology | |||
| < ----------------------------------------------------------+ | < ----------------------------------------------------------+ | |||
| skipping to change at page 30, line 5 ¶ | skipping to change at page 28, line 5 ¶ | |||
| Printer "Mono-B" | Printer "Mono-B" | |||
| - prints black and white | - prints black and white | |||
| - 300 dpi inkjet printer | - 300 dpi inkjet printer | |||
| - prints Postscript | - prints Postscript | |||
| - driver XYZ-Postscript-V2.4 required, here is URI | - driver XYZ-Postscript-V2.4 required, here is URI | |||
| - cost is $0.35 page for black and white | - cost is $0.35 page for black and white | |||
| - payment required prior to submitting print job | - payment required prior to submitting print job | |||
| - here is URI for more information on Ink-o's | - here is URI for more information on Ink-o's | |||
| Expires: Dec 30, 1998 | Expires: May 16, 1999 | |||
| Copyright(C) The Internet Society 1998. All Rights Reserved. | ||||
| 9.4. PRINTER DISCOVERY ON THE INTERNET - AUTHENTICATION | 11.4. PRINTER DISCOVERY ON THE INTERNET - AUTHENTICATION | |||
| An executive in her hotel room is finishing an important | An executive in her hotel room is finishing an important presentation on | |||
| presentation on her laptop computer. She connects to a local | her laptop computer. She connects to a local print shop through the web | |||
| print shop through the web to get a copy of her charts printed | to get a copy of her charts printed for tomorrow's presentation. She | |||
| for tomorrow's presentation. She must find a print shop that is | must find a print shop that is convenient to her hotel and can print | |||
| convenient to her hotel and can print color transparencies. She | color transparencies. She wants to be sure that the printer can be | |||
| wants to be sure that the printer can be authenticated and can | authenticated and can accept encrypted data. | |||
| accept encrypted data. | ||||
| Client SirZippy Directory Service | Client SirZippy Directory Service | |||
| +---------------------------------------------------------- > | +---------------------------------------------------------- > | |||
| Find a Printer with these characteristics | Find a Printer with these characteristics | |||
| - prints color transparencies | - prints color transparencies | |||
| - is in Boulder, Colorado | - is in Boulder, Colorado | |||
| - Printer can be authenticated | - Printer can be authenticated | |||
| - Printer supports encryption | - Printer supports encryption | |||
| skipping to change at page 31, line 4 ¶ | skipping to change at page 28, line 45 ¶ | |||
| - Located at 1670 Pearl Street, Boulder, CO | - Located at 1670 Pearl Street, Boulder, CO | |||
| - This Branch is open 24 hours a day | - This Branch is open 24 hours a day | |||
| Printer "Color-B" | Printer "Color-B" | |||
| - prints color transparencies | - prints color transparencies | |||
| - prints Postscript | - prints Postscript | |||
| - driver ABC-Postscript-V1.3 required, here is URI | - driver ABC-Postscript-V1.3 required, here is URI | |||
| - payment required prior to submitting print job | - payment required prior to submitting print job | |||
| - Printer can be authenticated | - Printer can be authenticated | |||
| - Data can be encrypted | - Data can be encrypted | |||
| Expires: Dec 30, 1998 | ||||
| Copyright(C) The Internet Society 1998. All Rights Reserved. | ||||
| - Located at 1220 Arapahoe, Boulder, CO | - Located at 1220 Arapahoe, Boulder, CO | |||
| - This Branch is open from 9:00am to 6:30pm | - This Branch is open from 9:00 am to 6:30 pm | |||
| Expires: Dec 30, 1998 | Expires: May 16, 1999 | |||
| Copyright(C) The Internet Society 1998. All Rights Reserved. | ||||
| 9.5. DRIVER DOWNLOAD | 11.5. DRIVER DOWNLOAD | |||
| An end user in an enterprise wants to print a lengthy report on a | An end user in an enterprise wants to print a lengthy report on a newly | |||
| newly installed high speed PostScript printer. Since she will | installed high speed PostScript printer. Since she will likely use this | |||
| likely use this printer often, she would like to download a | printer often, she would like to download a driver and install it on her | |||
| driver and install it on her workstation. She is running Windows | workstation. She is running Windows 95. Note: Driver download is not a | |||
| 95. Note: Driver download is not a V1.0 design goal. | V1.0 design goal. | |||
| Client IPP Printer | Client IPP Printer | |||
| +---------------------------------------------------------- > | +---------------------------------------------------------- > | |||
| Tell me where to find print drivers for you | Tell me where to find print drivers for you | |||
| < ----------------------------------------------------------+ | < ----------------------------------------------------------+ | |||
| Driver install file is at | Driver install file is at | |||
| http://www.ibm.com/drivers/NP12a/Win95 | http://www.ibm.com/drivers/NP12a/Win95 | |||
| Expires: Dec 30, 1998 | Expires: May 16, 1999 | |||
| Copyright(C) The Internet Society 1998. All Rights Reserved. | ||||
| 9.6. SUBMITTING A PRINT JOB AS A FILE | 11.6. SUBMITTING A PRINT JOB AS A FILE | |||
| An end-user wants to submit a print job. The print file already | An end-user wants to submit a print job. The print file already exists | |||
| exists on his workstation. The client and printer are behind the | on his workstation. The client and printer are behind the same corporate | |||
| same corporate firewall. The printer is available to anyone | firewall. The printer is available to anyone behind the firewall and no | |||
| behind the firewall and no authorization or authentication is | authorization or authentication is required. The data is pushed to the | |||
| required. The data is pushed to the printer. The printer is | printer. The printer is capable of spooling the output. No errors occur. | |||
| capable of spooling the output. No errors occur. | ||||
| Client IPP Printer | Client IPP Printer | |||
| +---------------------------------------------------------- > | +---------------------------------------------------------- > | |||
| Here is a print job | Here is a print job | |||
| - job name = MyJob | - job name = MyJob | |||
| - notify me by email when done printing | - notify me by email when done printing | |||
| - print on iso-a4-white paper | - print on iso-a4-white paper | |||
| - print on both sides of the paper | - print on both sides of the paper | |||
| - return status of the printer in response | - return status of the printer in response | |||
| - document is in Postscript format | - document is in Postscript format | |||
| - here is the document to print | - here is the document to print | |||
| < ----------------------------------------------------------+ | < ----------------------------------------------------------+ | |||
| Print job accepted and spooled | Print job accepted and spooled | |||
| - job id = #12345 | - job id = #12345 | |||
| - current state of print job = spooled | - current state of print job = spooled | |||
| - submission time = 02/12/97, 15:35 | - submission time = 02/12/97, 15:35 | |||
| - printer state = printing | - printer state = printing | |||
| Expires: Dec 30, 1998 | Expires: May 16, 1999 | |||
| Copyright(C) The Internet Society 1998. All Rights Reserved. | ||||
| 9.7. SUBMITTING A PRINT JOB WITH TWO DOCUMENTS | 11.7. SUBMITTING A PRINT JOB WITH TWO DOCUMENTS | |||
| An end-user wants to submit a print job. The print file already | An end-user wants to submit a print job. The print file already exists | |||
| exists on his workstation. The client and printer are behind the | on his workstation. The client and printer are behind the same corporate | |||
| same corporate firewall. The printer is available to anyone | firewall. The printer is available to anyone behind the firewall and no | |||
| behind the firewall and no authorization or authentication is | authorization or authentication is required. The data is pushed to the | |||
| required. The data is pushed to the printer. The job consists of | printer. The job consists of two separate documents. The printer is | |||
| two separate documents. The printer is capable of spooling the | capable of spooling the output. No errors occur. | |||
| output. No errors occur. | ||||
| Client IPP Printer | Client IPP Printer | |||
| +---------------------------------------------------------- > | +---------------------------------------------------------- > | |||
| Here is a print job | Here is a print job | |||
| - job name = MyJob | - job name = MyJob | |||
| - notify me by email when done printing | - notify me by email when done printing | |||
| - print on iso-a4-white paper | - print on iso-a4-white paper | |||
| - print on both sides of the paper | - print on both sides of the paper | |||
| - return status of the printer in response | - return status of the printer in response | |||
| skipping to change at page 35, line 5 ¶ | skipping to change at page 32, line 5 ¶ | |||
| < ----------------------------------------------------------+ | < ----------------------------------------------------------+ | |||
| - OK | - OK | |||
| +---------------------------------------------------------- > | +---------------------------------------------------------- > | |||
| - here is the document to print, it is the last document. | - here is the document to print, it is the last document. | |||
| < ----------------------------------------------------------+ | < ----------------------------------------------------------+ | |||
| - OK | - OK | |||
| Expires: Dec 30, 1998 | Expires: May 16, 1999 | |||
| Copyright(C) The Internet Society 1998. All Rights Reserved. | ||||
| 9.8. SUBMITTING A PRINT JOB AS A FILE, PRINTING FAILS | 11.8. SUBMITTING A PRINT JOB AS A FILE, PRINTING FAILS | |||
| An end-user wants to submit a print job. The print file already | An end-user wants to submit a print job. The print file already exists | |||
| exists on his workstation. The client and printer are behind the | on his workstation. The client and printer are behind the same corporate | |||
| same corporate firewall. The printer is available to anyone | firewall. The printer is available to anyone behind the firewall and no | |||
| behind the firewall and no authorization or authentication is | authorization or authentication is required. The data is pushed to the | |||
| required. The data is pushed to the printer. The printer is not | printer. The printer is not capable of spooling the output so it begins | |||
| capable of spooling the output so it begins printing while still | printing while still receiving the file. An error occurs and the printer | |||
| receiving the file. An error occurs and the printer cannot | cannot complete printing (in this case the user requires A4 paper and | |||
| complete printing (in this case the user requires A4 paper and | ||||
| that paper size is not available on the printer.) | that paper size is not available on the printer.) | |||
| Client IPP Printer | Client IPP Printer | |||
| +---------------------------------------------------------- > | +---------------------------------------------------------- > | |||
| Here is a print job | Here is a print job | |||
| - job name = MyJob | - job name = MyJob | |||
| - notify me by email when done printing | - notify me by email when done printing | |||
| - print on iso-a4-white paper | - print on iso-a4-white paper | |||
| - print on both sides of the paper | - print on both sides of the paper | |||
| skipping to change at page 35, line 40 ¶ | skipping to change at page 32, line 38 ¶ | |||
| - here is the document to print | - here is the document to print | |||
| < ----------------------------------------------------------+ | < ----------------------------------------------------------+ | |||
| Print job accepted | Print job accepted | |||
| - printing failed | - printing failed | |||
| - current state of print job = canceled (A4 not available) | - current state of print job = canceled (A4 not available) | |||
| - submission time = 02/12/97, 15:35 | - submission time = 02/12/97, 15:35 | |||
| - printer state = ready | - printer state = ready | |||
| 9.9. SUBMITTING A PRINT JOB WITH AUTHENTICATION, PRIVACY AND | 11.9. SUBMITTING A PRINT JOB WITH AUTHENTICATION, PRIVACY AND PAYMENT | |||
| PAYMENT | ||||
| A traveling executive needs to print a set of transparencies for | ||||
| an important business meeting. The charts are in Lotus Freelance | ||||
| format on his notebook computer. He has located a SirZippy print | ||||
| shop near his hotel that will print color transparencies. Because | ||||
| the information on the charts is sensitive, he wants to be sure | ||||
| that his data is sent to the Printer in an encrypted format. He | ||||
| also wants to authenticate the Printer. The Printer also | ||||
| authenticates the user. Payment occurs across the Internet. | ||||
| Expires: Dec 30, 1998 | A traveling executive needs to print a set of transparencies for an | |||
| Copyright(C) The Internet Society 1998. All Rights Reserved. | important business meeting. The charts are in Lotus Freelance format on | |||
| his notebook computer. He has located a SirZippy print shop near his | ||||
| hotel that will print color transparencies. Because the information on | ||||
| the charts is sensitive, he wants to be sure that his data is sent to | ||||
| the Printer in an encrypted format. He also wants to authenticate the | ||||
| Printer. The Printer also authenticates the user. Payment occurs across | ||||
| the Internet. | ||||
| Client IPP Printer | Client IPP Printer | |||
| +---------------------------------------------------------- > | +---------------------------------------------------------- > | |||
| < ----------------------------------------------------------+ | < ----------------------------------------------------------+ | |||
| Mutual authentication and exchange of secret keys | Mutual authentication and exchange of secret keys | |||
| Expires: May 16, 1999 | ||||
| +---------------------------------------------------------- > | +---------------------------------------------------------- > | |||
| Here is a print job (encrypted) | Here is a print job (encrypted) | |||
| - job name = MyJob | - job name = MyJob | |||
| - notify me by email when done printing | - notify me by email when done printing | |||
| - print on iso-a4-white paper | - print on iso-a4-white paper | |||
| - print on both sides of the paper | - print on both sides of the paper | |||
| - return status of the printer in response | - return status of the printer in response | |||
| - tell me where to pick up output | - tell me where to pick up output | |||
| - document is in Postscript format | - document is in Postscript format | |||
| - here is the document to print | - here is the document to print | |||
| < ----------------------------------------------------------+ | < ----------------------------------------------------------+ | |||
| Print job accepted and spooled (encrypted) | Print job accepted and spooled (encrypted) | |||
| - job id = #12345 | - job id = #12345 | |||
| - current state of print job = spooled | - current state of print job = spooled | |||
| - submission time = 02/12/97, 15:35 | - submission time = 02/12/97, 15:35 | |||
| - printer state = printing | - printer state = printing | |||
| - payment required to proceed with job | - payment required to proceed with job | |||
| - pick up at 230 East Main after 3:30pm today | - pick up at 230 East Main after 3:30 pm today | |||
| +---------------------------------------------------------- > | +---------------------------------------------------------- > | |||
| < ----------------------------------------------------------+ | < ----------------------------------------------------------+ | |||
| Payment transaction | Payment transaction | |||
| Expires: Dec 30, 1998 | Expires: May 16, 1999 | |||
| Copyright(C) The Internet Society 1998. All Rights Reserved. | ||||
| 9.10. SUBMITTING A PRINT JOB WITH DECRYPTION ERROR | 11.10. SUBMITTING A PRINT JOB WITH DECRYPTION ERROR | |||
| A traveling executive needs to print a set of transparencies for | A traveling executive needs to print a set of transparencies for an | |||
| an important business meeting. The charts are in Lotus Freelance | important business meeting. The charts are in Lotus Freelance format on | |||
| format on his notebook computer. He has located a SirZippy print | his notebook computer. He has located a SirZippy print shop near his | |||
| shop near his hotel that will print color transparencies. Because | hotel that will print color transparencies. Because the information on | |||
| the information on the charts is sensitive, he wants to be sure | the charts is sensitive, he wants to be sure that his data is sent to | |||
| that his data is sent to the printer in an encrypted format. He | the printer in an encrypted format. He also wants to authenticate the | |||
| also wants to authenticate the printer. The printer also | printer. The printer also authenticates the user. Payment occurs across | |||
| authenticates the user. Payment occurs across the Internet. An | the Internet. An error occurs during decryption. | |||
| error occurs during decryption. | ||||
| Client IPP Printer | Client IPP Printer | |||
| +---------------------------------------------------------- > | +---------------------------------------------------------- > | |||
| < ----------------------------------------------------------+ | < ----------------------------------------------------------+ | |||
| Mutual authentication and exchange of secret keys | Mutual authentication and exchange of secret keys | |||
| +---------------------------------------------------------- > | +---------------------------------------------------------- > | |||
| Here is a print job (encrypted) | Here is a print job (encrypted) | |||
| - job name = MyJob | - job name = MyJob | |||
| skipping to change at page 37, line 44 ¶ | skipping to change at page 34, line 42 ¶ | |||
| - document is in Postscript format | - document is in Postscript format | |||
| - here is the document to print | - here is the document to print | |||
| < ----------------------------------------------------------+ | < ----------------------------------------------------------+ | |||
| Print job accepted and spooled (encrypted) | Print job accepted and spooled (encrypted) | |||
| - job id = #12345 | - job id = #12345 | |||
| - current state of print job = spooled | - current state of print job = spooled | |||
| - submission time = 02/12/97, 15:35 | - submission time = 02/12/97, 15:35 | |||
| - printer state = printing | - printer state = printing | |||
| - payment required to proceed with job | - payment required to proceed with job | |||
| - pick up at 230 East Main after 3:30pm today | - pick up at 230 East Main after 3:30 pm today | |||
| +---------------------------------------------------------- > | +---------------------------------------------------------- > | |||
| < ----------------------------------------------------------+ | < ----------------------------------------------------------+ | |||
| Payment transaction | Payment transaction | |||
| . | . | |||
| Expires: Dec 30, 1998 | ||||
| Copyright(C) The Internet Society 1998. All Rights Reserved. | ||||
| . | . | |||
| . | . | |||
| < ----------------------------------------------------------+ | < ----------------------------------------------------------+ | |||
| Asynchronous response (email in this case) | Asynchronous response (email in this case) | |||
| - decryption failed on job #12345 | - decryption failed on job #12345 | |||
| - no pages printed | - no pages printed | |||
| - current state of job = aborted | - current state of job = aborted | |||
| Expires: Dec 30, 1998 | Expires: May 16, 1999 | |||
| Copyright(C) The Internet Society 1998. All Rights Reserved. | ||||
| 9.11. SUBMITTING A PRINT JOB WITH AUTHENTICATION | 11.11. SUBMITTING A PRINT JOB WITH AUTHENTICATION | |||
| An end-user wants to submit a print job. The print file already | An end-user wants to submit a print job. The print file already exists | |||
| exists on his workstation. The client and printer are behind the | on his workstation. The client and printer are behind the same corporate | |||
| same corporate firewall. The printer is available to anyone | firewall. The printer is available to anyone behind the firewall but | |||
| behind the firewall but authentication and authorization is | authentication and authorization is required. Authorization takes place | |||
| required. Authorization takes place using the authenticated end- | using the authenticated end-user's name. The data is pushed to the | |||
| user's name. The data is pushed to the printer. The printer is | printer. The printer is capable of spooling the output. | |||
| capable of spooling the output. | ||||
| Client IPP Printer | Client IPP Printer | |||
| +---------------------------------------------------------- > | +---------------------------------------------------------- > | |||
| < ----------------------------------------------------------+ | < ----------------------------------------------------------+ | |||
| Authentication | Authentication | |||
| Note: An authentication failure would end the transaction at | Note: An authentication failure would end the transaction at | |||
| this point. | this point. | |||
| skipping to change at page 40, line 5 ¶ | skipping to change at page 36, line 5 ¶ | |||
| - document is in Postscript format | - document is in Postscript format | |||
| - here is the document to print | - here is the document to print | |||
| < ----------------------------------------------------------+ | < ----------------------------------------------------------+ | |||
| Print job accepted and spooled | Print job accepted and spooled | |||
| - job id = #12345 | - job id = #12345 | |||
| - current state of print job = spooled | - current state of print job = spooled | |||
| - submission time = 02/12/97, 15:35 | - submission time = 02/12/97, 15:35 | |||
| - printer state = printing | - printer state = printing | |||
| Expires: Dec 30, 1998 | Expires: May 16, 1999 | |||
| Copyright(C) The Internet Society 1998. All Rights Reserved. | ||||
| 9.12. SUBMITTING A PRINT JOB GENERATED DYNAMICALLY | 11.12. SUBMITTING A PRINT JOB GENERATED DYNAMICALLY | |||
| An end-user wants to submit a print job. The print data is | An end-user wants to submit a print job. The print data is generated | |||
| generated dynamically and is being transmitted by a printer | dynamically and is being transmitted by a printer driver on the client | |||
| driver on the client workstation as available. The client and | workstation as available. The client and printer are behind the same | |||
| printer are behind the same corporate firewall. The printer is | corporate firewall. The printer is available to anyone behind the | |||
| available to anyone behind the firewall and no authentication and | firewall and no authentication and authorization is required. The data | |||
| authorization is required. The data is pushed to the printer. The | is pushed to the printer. The printer is capable of spooling the output. | |||
| printer is capable of spooling the output. No error occurs. | No error occurs. | |||
| Client IPP Printer | Client IPP Printer | |||
| +---------------------------------------------------------- > | +---------------------------------------------------------- > | |||
| Here is a print job | Here is a print job | |||
| - job name = MyJob | - job name = MyJob | |||
| - notify me by email when done printing | - notify me by email when done printing | |||
| - print on iso-a4-white paper | - print on iso-a4-white paper | |||
| - print on both sides of the paper | - print on both sides of the paper | |||
| - return status of the printer in response | - return status of the printer in response | |||
| - document is in Postscript format | - document is in Postscript format | |||
| - here is the print job | - here is the print job | |||
| < ----------------------------------------------------------+ | < ----------------------------------------------------------+ | |||
| Print data accepted and spooling started | Print data accepted and spooling started | |||
| - job id = #12345 | - job id = #12345 | |||
| - current job state = spooled | - current job state = spooled | |||
| - submission time = 02/12/97, 15:35 | - submission time = 02/12/97, 15:35 | |||
| - printer state = printing | - printer state = printing | |||
| Expires: Dec 30, 1998 | Expires: May 16, 1999 | |||
| Copyright(C) The Internet Society 1998. All Rights Reserved. | ||||
| 9.13. SUBMITTING A PRINT JOB WITH A PRINTER JAM - CANCELED | 11.13. SUBMITTING A PRINT JOB WITH A PRINTER JAM - CANCELED | |||
| An end-user wants to submit a print job. The print data is | An end-user wants to submit a print job. The print data is generated | |||
| generated dynamically and is being transmitted by a printer | dynamically and is being transmitted by a printer driver on the client | |||
| driver on the client workstation as available. The client and | workstation as available. The client and printer are behind the same | |||
| printer are behind the same corporate firewall. The printer is | corporate firewall. The printer is available to anyone behind the | |||
| available to anyone behind the firewall and no authentication and | firewall and no authentication and authorization is required. The data | |||
| authorization is required. The data is pushed to the printer. The | is pushed to the printer. The printer is not capable of spooling the | |||
| printer is not capable of spooling the output. The printer jams | output. The printer jams notifies the user and the user chooses to | |||
| notifies the user and the user chooses to cancel the job. | cancel the job. | |||
| Client IPP Printer | Client IPP Printer | |||
| +---------------------------------------------------------- > | +---------------------------------------------------------- > | |||
| Here is a print job | Here is a print job | |||
| - job name = MyJob | - job name = MyJob | |||
| - notify me by email when done printing | - notify me by email when done printing | |||
| - print on iso-a4-white paper | - print on iso-a4-white paper | |||
| - print on both sides of the paper | - print on both sides of the paper | |||
| - return status of the printer in response | - return status of the printer in response | |||
| - document is in Postscript format | - document is in Postscript format | |||
| skipping to change at page 42, line 5 ¶ | skipping to change at page 38, line 5 ¶ | |||
| +---------------------------------------------------------- > | +---------------------------------------------------------- > | |||
| - Cancel job #12345 | - Cancel job #12345 | |||
| * Printer flushes remaining data | * Printer flushes remaining data | |||
| < ----------------------------------------------------------+ | < ----------------------------------------------------------+ | |||
| Print job terminated | Print job terminated | |||
| - current job state = canceled | - current job state = canceled | |||
| - submission time = 02/12/97, 15:35 | - submission time = 02/12/97, 15:35 | |||
| - printer state = jammed | - printer state = jammed | |||
| Expires: Dec 30, 1998 | Expires: May 16, 1999 | |||
| Copyright(C) The Internet Society 1998. All Rights Reserved. | ||||
| 9.14. SUBMITTING A PRINT JOB WITH A PRINTER JAM - RECOVERED | 11.14. SUBMITTING A PRINT JOB WITH A PRINTER JAM - RECOVERED | |||
| An end-user wants to submit a print job. The print data is | An end-user wants to submit a print job. The print data is generated | |||
| generated dynamically and is being transmitted by a printer | dynamically and is being transmitted by a printer driver on the client | |||
| driver on the client workstation as available. The client and | workstation as available. The client and printer are behind the same | |||
| printer are behind the same corporate firewall. The printer is | corporate firewall. The printer is available to anyone behind the | |||
| available to anyone behind the firewall and no authentication and | firewall and no authentication and authorization is required. The data | |||
| authorization is required. The data is pushed to the printer. The | is pushed to the printer. The printer is not capable of spooling the | |||
| printer is not capable of spooling the output. The printer jams, | output. The printer jams, notifies the user and the user clears the jam | |||
| notifies the user and the user clears the jam and elects to | and elects to continue. | |||
| continue. | ||||
| Client IPP Printer | Client IPP Printer | |||
| +---------------------------------------------------------- > | +---------------------------------------------------------- > | |||
| Here is a print job | Here is a print job | |||
| - job name = MyJob | - job name = MyJob | |||
| - notify me by email when done printing | - notify me by email when done printing | |||
| - print on iso-a4-white paper | - print on iso-a4-white paper | |||
| - print on both sides of the paper | - print on both sides of the paper | |||
| - return status of the printer in response | - return status of the printer in response | |||
| skipping to change at page 43, line 5 ¶ | skipping to change at page 39, line 5 ¶ | |||
| +---------------------------------------------------------- > | +---------------------------------------------------------- > | |||
| Here is the last part of the document to print | Here is the last part of the document to print | |||
| < ----------------------------------------------------------+ | < ----------------------------------------------------------+ | |||
| Print job received | Print job received | |||
| - current job state = printing | - current job state = printing | |||
| - submission time = 02/12/97, 15:35 | - submission time = 02/12/97, 15:35 | |||
| - printer state = printing | - printer state = printing | |||
| Expires: Dec 30, 1998 | Expires: May 16, 1999 | |||
| Copyright(C) The Internet Society 1998. All Rights Reserved. | ||||
| 9.15. SUBMITTING A PRINT JOB WITH SERVER PULL | 11.15. SUBMITTING A PRINT JOB WITH SERVER PULL | |||
| An end-user wants to submit a print job. The print data is in a | An end-user wants to submit a print job. The print data is in a file and | |||
| file and is publicly available. It is pulled by the printer. The | is publicly available. It is pulled by the printer. The client and | |||
| client and printer are behind the same corporate firewall. The | printer are behind the same corporate firewall. The printer is available | |||
| printer is available to anyone behind the firewall and no | to anyone behind the firewall and no authentication and authorization is | |||
| authentication and authorization is required. The printer is | required. The printer is capable of spooling the output. Printing may | |||
| capable of spooling the output. Printing may start before the | start before the entire job has been pulled. | |||
| entire job has been pulled. | ||||
| Client IPP Printer | Client IPP Printer | |||
| +---------------------------------------------------------- > | +---------------------------------------------------------- > | |||
| Here is a print job | Here is a print job | |||
| - job name = MyJob | - job name = MyJob | |||
| - notify me by email when done printing | - notify me by email when done printing | |||
| - print on iso-a4-white paper | - print on iso-a4-white paper | |||
| - print on both sides of the paper | - print on both sides of the paper | |||
| - return status of the printer in response | - return status of the printer in response | |||
| skipping to change at page 44, line 5 ¶ | skipping to change at page 40, line 5 ¶ | |||
| +---------------------------------------------------------- > | +---------------------------------------------------------- > | |||
| Here it is | Here it is | |||
| Note: Failure to find the file, would end the transaction | Note: Failure to find the file, would end the transaction | |||
| with an error at this point and an asynchronous | with an error at this point and an asynchronous | |||
| notification would be send to the Client. | notification would be send to the Client. | |||
| < ----------------------------------------------------------+ | < ----------------------------------------------------------+ | |||
| Data received | Data received | |||
| Expires: Dec 30, 1998 | Expires: May 16, 1999 | |||
| Copyright(C) The Internet Society 1998. All Rights Reserved. | ||||
| 9.16. SUBMITTING A PRINT JOB WITH REFERENCED RESOURCES | 11.16. SUBMITTING A PRINT JOB WITH REFERENCED RESOURCES | |||
| An end-user wants to submit a print job. Part of the print data | An end-user wants to submit a print job. Part of the print data is on a | |||
| is on a file on the user's workstation. It is pushed by the | file on the user's workstation. It is pushed by the client, but the | |||
| client, but the print job requires some resource not included in | print job requires some resource not included in the print file. The | |||
| the print file. The client and printer are behind the same | client and printer are behind the same corporate firewall. The printer | |||
| corporate firewall. The printer is available to anyone behind the | is available to anyone behind the firewall and no authentication and | |||
| firewall and no authentication and authorization is required. The | authorization is required. The printer is capable of spooling the | |||
| printer is capable of spooling the output. No errors occur. | output. No errors occur. | |||
| Client IPP Printer | Client IPP Printer | |||
| +---------------------------------------------------------- > | +---------------------------------------------------------- > | |||
| Here is a print job | Here is a print job | |||
| - job name = MyJob | - job name = MyJob | |||
| - notify me by email when done printing | - notify me by email when done printing | |||
| - print on iso-a4-white paper | - print on iso-a4-white paper | |||
| - print on both sides of the paper | - print on both sides of the paper | |||
| - return status of the printer in response | - return status of the printer in response | |||
| skipping to change at page 45, line 5 ¶ | skipping to change at page 41, line 5 ¶ | |||
| < ----------------------------------------------------------+ | < ----------------------------------------------------------+ | |||
| - OK | - OK | |||
| < ----------------------------------------------------------+ | < ----------------------------------------------------------+ | |||
| Get the external resource | Get the external resource | |||
| +---------------------------------------------------------- > | +---------------------------------------------------------- > | |||
| Here it is | Here it is | |||
| Expires: Dec 30, 1998 | Expires: May 16, 1999 | |||
| Copyright(C) The Internet Society 1998. All Rights Reserved. | ||||
| 9.17. GETTING CAPABILITIES | 11.17. GETTING CAPABILITIES | |||
| 9.17.1. Submission Attributes | 11.17.1. Submission Attributes | |||
| An end-user wants to get the production and scheduling attributes | An end-user wants to get the production and scheduling attributes that | |||
| that are supported or required when submitting jobs to this | are supported or required when submitting jobs to this printer. The | |||
| printer. The client will use these attributes when forming the | client will use these attributes when forming the subsequent print | |||
| subsequent print request. | request. | |||
| Client IPP Printer | Client IPP Printer | |||
| +---------------------------------------------------------- > | +---------------------------------------------------------- > | |||
| I'm going to submit a Postscript job | I'm going to submit a Postscript job | |||
| give me your job submission attributes | give me your job submission attributes | |||
| < ----------------------------------------------------------+ | < ----------------------------------------------------------+ | |||
| Postscript production attributes for this Printer are: | Postscript production attributes for this Printer are: | |||
| - medium-select = us-letter-white, us-legal-white | - medium-select = us-letter-white, us-legal-white | |||
| - default is us-letter-white | - default is us-letter-white | |||
| - copies = 1,2,3,4,5 | - copies = 1,2,3,4,5 | |||
| - default is 1 | - default is 1 | |||
| - print-quality = draft, normal, high | - print-quality = draft, normal, high | |||
| - default is draft | - default is draft | |||
| - sides = 1-sided, 2-sided-long-edge | - sides = 1-sided, 2-sided-long-edge | |||
| - default is 2-sided-long-edge | - default is 2-sided-long-edge | |||
| - Job scheduling attributes for this Printer are: | - Job scheduling attributes for this Printer are: | |||
| - job-priority = 1,2,3 | - job-priority = 1,2,3 | |||
| - default = 3 | - default = 3 | |||
| 9.17.2. Printer Capabilities | 11.17.2. Printer Capabilities | |||
| An end-user wants to determine the resolution, marking | An end-user wants to determine the resolution, marking technology, and | |||
| technology, and PDLs supported by the printer. | PDLs supported by the printer. | |||
| Client IPP Printer | Client IPP Printer | |||
| +---------------------------------------------------------- > | +---------------------------------------------------------- > | |||
| Please tell me the | Please tell me the | |||
| - resolution of the printer | - resolution of the printer | |||
| - the marking technology of the printer | - the marking technology of the printer | |||
| - PDLs supported | - PDLs supported | |||
| < ----------------------------------------------------------+ | < ----------------------------------------------------------+ | |||
| Printer resolution = 600 dpi | Printer resolution = 600 dpi | |||
| Marking Technology = laser | Marking Technology = laser | |||
| PDLS supported = Postscript level 2, PCL/6 | PDLs supported = Postscript level 2, PCL/6 | |||
| Expires: Dec 30, 1998 | Expires: May 16, 1999 | |||
| Copyright(C) The Internet Society 1998. All Rights Reserved. | ||||
| 9.18. GETTING STATUS | 11.18. GETTING STATUS | |||
| 9.18.1. Printer State/Status | 11.18.1. Printer State/Status | |||
| An end-user wants to determine the state or status of the | An end-user wants to determine the state or status of the printer. | |||
| printer. | ||||
| Client IPP Printer | Client IPP Printer | |||
| +---------------------------------------------------------- > | +---------------------------------------------------------- > | |||
| What is the state of the printer? | What is the state of the printer? | |||
| < ----------------------------------------------------------+ | < ----------------------------------------------------------+ | |||
| Printer state = out-of-paper | Printer state = out-of-paper | |||
| 9.18.2. Job Status | 11.18.2. Job Status | |||
| An end user wants to get the status of a job he has submitted. | An end user wants to get the status of a job he has submitted. | |||
| Client IPP Printer | Client IPP Printer | |||
| +---------------------------------------------------------- > | +---------------------------------------------------------- > | |||
| Please tell me the status of job #12345 | Please tell me the status of job #12345 | |||
| < ----------------------------------------------------------+ | < ----------------------------------------------------------+ | |||
| Job #12345 is queued | Job #12345 is queued | |||
| it is number 3 in the queue | it is number 3 in the queue | |||
| printer state = printing | printer state = printing | |||
| 9.18.3. Status of All My Jobs | 11.18.3. Status of All My Jobs | |||
| An end user wants to get a list of all of the jobs he has | An end user wants to get a list of all of the jobs he has submitted to | |||
| submitted to this Printer. | this Printer. | |||
| Client IPP Printer | Client IPP Printer | |||
| +---------------------------------------------------------- > | +---------------------------------------------------------- > | |||
| Please tell me the status of my jobs | Please tell me the status of my jobs | |||
| < ----------------------------------------------------------+ | < ----------------------------------------------------------+ | |||
| Job #00012 is complete | Job #00012 is complete | |||
| Printed at 12:35 on 01/23/97 | Printed at 12:35 on 01/23/97 | |||
| Expires: Dec 30, 1998 | ||||
| Copyright(C) The Internet Society 1998. All Rights Reserved. | ||||
| Job #09876 is printing | Job #09876 is printing | |||
| Job #12345 is queued | Job #12345 is queued | |||
| it is number 3 in the queue | it is number 3 in the queue | |||
| Job #34567 is queued | Job #34567 is queued | |||
| it is number 7 in the queue | it is number 7 in the queue | |||
| Expires: Dec 30, 1998 | Expires: May 16, 1999 | |||
| Copyright(C) The Internet Society 1998. All Rights Reserved. | ||||
| 9.19. ASYNCHRONOUS NOTIFICATION | 11.19. ASYNCHRONOUS NOTIFICATION | |||
| 9.19.1. Job Completion | 11.19.1. Job Completion | |||
| An end-user wants to get notification of events that affect his | An end-user wants to get notification of events that affect his print | |||
| print jobs. Print job completes without error. | jobs. Print job completes without error. | |||
| Client IPP Printer | Client IPP Printer | |||
| < ----------------------------------------------------------+ | < ----------------------------------------------------------+ | |||
| Print job #123 completed | Print job #123 completed | |||
| 9.19.2. Job Complete with Data | 11.19.2. Job Complete with Data | |||
| An end-user wants to get notification of events that affect his | An end-user wants to get notification of events that affect his print | |||
| print jobs. Print job completes, users asked for all end of job | jobs. Print job completes, users asked for all end of job information. | |||
| information. | ||||
| Client IPP Printer | Client IPP Printer | |||
| < ----------------------------------------------------------+ | < ----------------------------------------------------------+ | |||
| Print job #123 completed | Print job #123 completed | |||
| - total pages printed = 15 | - total pages printed = 15 | |||
| - number of copies printed = 3 | - number of copies printed = 3 | |||
| - total cost to print = $7.45 | - total cost to print = $7.45 | |||
| - pick up copies in room H-6, building 005 | - pick up copies in room H-6, building 005 | |||
| 9.19.3. Print Job Fails | 11.19.3. Print Job Fails | |||
| An end-user wants to get notification of events that affect his | An end-user wants to get notification of events that affect his print | |||
| print jobs. Print job fails. Printer is unattended. | jobs. Print job fails. Printer is unattended. | |||
| Client IPP Printer | Client IPP Printer | |||
| < ----------------------------------------------------------+ | < ----------------------------------------------------------+ | |||
| Print job #123 failed | Print job #123 failed | |||
| - total pages printed = 15 | - total pages printed = 15 | |||
| - number of pages submitted = 25 | - number of pages submitted = 25 | |||
| - printer-state = jammed | - printer-state = jammed | |||
| Expires: Dec 30, 1998 | Expires: May 16, 1999 | |||
| Copyright(C) The Internet Society 1998. All Rights Reserved. | ||||
| 9.20. CANCEL A JOB | 11.20. CANCEL A JOB | |||
| The end-user submits a print job and later decides to cancel it. | The end-user submits a print job and later decides to cancel it. | |||
| Client IPP Printer | Client IPP Printer | |||
| +---------------------------------------------------------- > | +---------------------------------------------------------- > | |||
| < ----------------------------------------------------------+ | < ----------------------------------------------------------+ | |||
| Authentication. | Authentication. | |||
| +---------------------------------------------------------- > | +---------------------------------------------------------- > | |||
| Cancel job #1234 | Cancel job #1234 | |||
| < ----------------------------------------------------------+ | < ----------------------------------------------------------+ | |||
| Job #1234 Canceled | Job #1234 Canceled | |||
| Expires: Dec 30, 1998 | Expires: May 16, 1999 | |||
| Copyright(C) The Internet Society 1998. All Rights Reserved. | ||||
| 9.21. END TO END SCENARIO - WITHIN AN ENTERPRISE | 11.21. END TO END SCENARIO - WITHIN AN ENTERPRISE | |||
| An office worker prints on shared departmental printers. All | An office worker prints on shared departmental printers. All printers in | |||
| printers in the office are public, that is, no authentication or | the office are public, that is, no authentication or authorization is | |||
| authorization is required. Printers are protected from external | required. Printers are protected from external access by a firewall. No | |||
| access by a firewall. No billing or accounting is required. Most | billing or accounting is required. Most printing is done from desktop | |||
| printing is done from desktop applications. A help desk is | applications. A help desk is provided for printing problems. Standard | |||
| provided for printing problems. Standard operating systems and | operating systems and applications are used. Drivers are available, but | |||
| applications are used. Drivers are available, but are installed | are installed manually by support personnel. This scenario assumes that | |||
| manually by support personnel. This scenario assumes that drivers | drivers have been installed and that drivers are not IPP aware, that is, | |||
| have been installed and that drivers are not IPP aware, that is, | they cannot communicate across an IPP connection to obtain status and | |||
| they cannot communicate across an IPP connection to obtain status | capabilities. IPP printers appear in application pull-down menus. | |||
| and capabilities. IPP printers appear in application pull-down | Printer configuration data is hard wired into the driver. | |||
| menus. Printer configuration data is hard wired into the driver. | ||||
| End-user selects print from the application pull down menu. An | End-user selects print from the application pull down menu. An IPP | |||
| IPP printer is selected from the list of Printers offered | printer is selected from the list of Printers offered | |||
| The driver puts up a dialogue with hard-wired set of options | The driver puts up a dialogue with hard-wired set of options | |||
| for this printer. The end-user makes choices and submits job. | for this printer. The end-user makes choices and submits job. | |||
| Client IPP Printer | Client IPP Printer | |||
| +---------------------------------------------------------- > | +---------------------------------------------------------- > | |||
| Here is a print job | Here is a print job | |||
| - job-name = memo-to-boss | - job-name = memo-to-boss | |||
| - notify me by email when job is complete | - notify me by email when job is complete | |||
| - print on us-letter-white paper | - print on us-letter-white paper | |||
| - print 1 copy | - print 1 copy | |||
| - print at normal quality | - print at normal quality | |||
| - print on 1 side | - print on 1 side | |||
| - give me the state of the printer in response | - give me the state of the printer in response | |||
| The driver generates the print data and passes it to the IPP | The driver generates the print data and passes it to the IPP driver a | |||
| driver a piece at a time as it is generated. | piece at a time as it is generated. | |||
| +---------------------------------------------------------- > | +---------------------------------------------------------- > | |||
| Here is the print data | Here is the print data | |||
| < ----------------------------------------------------------+ | < ----------------------------------------------------------+ | |||
| Print data received, file is spooled | Print data received, file is spooled | |||
| - printer state = printing | - printer state = printing | |||
| - time submitted = 2/12/97, 15:35 | - time submitted = 2/12/97, 15:35 | |||
| Expires: Dec 30, 1998 | ||||
| Copyright(C) The Internet Society 1998. All Rights Reserved. | ||||
| - current job state = spooled | - current job state = spooled | |||
| Client adds this job to list of current jobs. List of jobs and | Client adds this job to list of current jobs. List of jobs and state of | |||
| state of each is available on a pull-down menu on the client. | each is available on a pull-down menu on the client. | |||
| End-user selects job #1234 from list and clicks on it to see its | End-user selects job #1234 from list and clicks on it to see its status. | |||
| status. | ||||
| Expires: May 16, 1999 | ||||
| +---------------------------------------------------------- > | +---------------------------------------------------------- > | |||
| Give me the state of job #1234 | Give me the state of job #1234 | |||
| and the state of the Printer | and the state of the Printer | |||
| < ----------------------------------------------------------+ | < ----------------------------------------------------------+ | |||
| Job #1234 state = spooled | Job #1234 state = spooled | |||
| - it is number 3 in the queue | - it is number 3 in the queue | |||
| - printer state = printing | - printer state = printing | |||
| The job completes without error | The job completes without error | |||
| < ----------------------------------------------------------+ | < ----------------------------------------------------------+ | |||
| Job #1234 completed | Job #1234 completed | |||
| 12 of 12 pages printed | 12 of 12 pages printed | |||
| Expires: Dec 30, 1998 | Expires: May 16, 1999 | |||
| Copyright(C) The Internet Society 1998. All Rights Reserved. | ||||
| 9.22. END TO END SCENARIO - ACROSS ENTERPRISES | 11.22. END TO END SCENARIO - ACROSS ENTERPRISES | |||
| An office worker in Company A needs to print an office document | An office worker in Company A needs to print an office document on a | |||
| on a "public" printer at Company B, a business partner. Both | "public" printer at Company B, a business partner. Both companies have | |||
| companies have corporate firewalls so the print request must flow | corporate firewalls so the print request must flow out of A's firewall | |||
| out of A's firewall and into B's firewall. The office worker can | and into B's firewall. The office worker can look at public printers in | |||
| look at public printers in Company B's directory service. The | Company B's directory service. The document is generated by a desktop | |||
| document is generated by a desktop application. Since the printer | application. Since the printer is "public" no authentication or | |||
| is "public" no authentication or authorization is required. A | authorization is required. A driver is downloaded. The driver is IPP | |||
| driver is downloaded. The driver is IPP aware, that is, it can | aware, that is, it can communicate dynamically through the IPP protocol | |||
| communicate dynamically through the IPP protocol layer to obtain | layer to obtain information about the printer. | |||
| information about the printer. | ||||
| Client Company B's Directory Service | Client Company B's Directory Service | |||
| End user connects to B's Directory service | End user connects to B's Directory service | |||
| +---------------------------------------------------------- > | +---------------------------------------------------------- > | |||
| Find a Printer with these characteristics | Find a Printer with these characteristics | |||
| - public (no authorization or authentication required) | - public (no authorization or authentication required) | |||
| - is in Lexington, building 004 | - is in Lexington, building 004 | |||
| - prints black and white | - prints black and white | |||
| skipping to change at page 53, line 5 ¶ | skipping to change at page 47, line 48 ¶ | |||
| Client Public-A | Client Public-A | |||
| +---------------------------------------------------------- > | +---------------------------------------------------------- > | |||
| Where can I find a driver for you? | Where can I find a driver for you? | |||
| < ----------------------------------------------------------+ | < ----------------------------------------------------------+ | |||
| Drivers at http://www.lexmark.com/pubprinters/a/os245 | Drivers at http://www.lexmark.com/pubprinters/a/os245 | |||
| End user gets driver and installs it on his PC. | End user gets driver and installs it on his PC. | |||
| Expires: Dec 30, 1998 | End-user selects print from the application pull down menu. "Public-A" | |||
| Copyright(C) The Internet Society 1998. All Rights Reserved. | is selected from the list of Printers offered | |||
| End-user selects print from the application pull down menu. | ||||
| "Public-A" is selected from the list of Printers offered | ||||
| +---------------------------------------------------------- > | +---------------------------------------------------------- > | |||
| I'm going to submit a print job | I'm going to submit a print job | |||
| give me your job submission attributes | give me your job submission attributes | |||
| < ----------------------------------------------------------+ | < ----------------------------------------------------------+ | |||
| Expires: May 16, 1999 | ||||
| Production attributes for this Printer are: | Production attributes for this Printer are: | |||
| - medium-select = us-letter-white, us-legal-white | - medium-select = us-letter-white, us-legal-white | |||
| - default is us-letter-white | - default is us-letter-white | |||
| - copies = 1,2,3,4,5 | - copies = 1,2,3,4,5 | |||
| - default is 1 | - default is 1 | |||
| - print-quality = draft, normal, high | - print-quality = draft, normal, high | |||
| - default is draft | - default is draft | |||
| - sides = 1-sided, 2-sided-long-edge | - sides = 1-sided, 2-sided-long-edge | |||
| - default is 2-sided-long-edge | - default is 2-sided-long-edge | |||
| skipping to change at page 53, line 45 ¶ | skipping to change at page 48, line 35 ¶ | |||
| +---------------------------------------------------------- > | +---------------------------------------------------------- > | |||
| Here is a print job | Here is a print job | |||
| - job-name = memo-to-Don-Wright | - job-name = memo-to-Don-Wright | |||
| - notify me by email when job is complete | - notify me by email when job is complete | |||
| - print on us-letter-white paper | - print on us-letter-white paper | |||
| - print 1 copy | - print 1 copy | |||
| - print at normal quality | - print at normal quality | |||
| - print on 1 side | - print on 1 side | |||
| - give me the state of the printer in response | - give me the state of the printer in response | |||
| The driver generates the print data and passes it to the IPP | The driver generates the print data and passes it to the IPP driver a | |||
| driver a piece at a time. | piece at a time. | |||
| +---------------------------------------------------------- > | +---------------------------------------------------------- > | |||
| Here is the print data | Here is the print data | |||
| < ----------------------------------------------------------+ | < ----------------------------------------------------------+ | |||
| Expires: Dec 30, 1998 | ||||
| Copyright(C) The Internet Society 1998. All Rights Reserved. | ||||
| Print data received, and spooling started | Print data received, and spooling started | |||
| print job id = #1234 | print job id = #1234 | |||
| Print data received, file is spooled | Print data received, file is spooled | |||
| - printer state = printing | - printer state = printing | |||
| - time submitted = 2/12/97, 15:35 | - time submitted = 2/12/97, 15:35 | |||
| - current job state = spooled | - current job state = spooled | |||
| Client adds this job to list of current jobs. List of jobs and | Client adds this job to list of current jobs. List of jobs and state of | |||
| state of each is available on a pull-down menu on the client. | each is available on a pull-down menu on the client. | |||
| End-user selects job #1234 from list and clicks on it to see its | End-user selects job #1234 from list and clicks on it to see its status. | |||
| status. | ||||
| Expires: May 16, 1999 | ||||
| +---------------------------------------------------------- > | +---------------------------------------------------------- > | |||
| Give me the state of job #1234 | Give me the state of job #1234 | |||
| and the state of the Printer | and the state of the Printer | |||
| < ----------------------------------------------------------+ | < ----------------------------------------------------------+ | |||
| Job #1234 state = spooled | Job #1234 state = spooled | |||
| - it is number 3 in the queue | - it is number 3 in the queue | |||
| - printer state = printing | - printer state = printing | |||
| * The job completes without error | * The job completes without error | |||
| < ----------------------------------------------------------+ | < ----------------------------------------------------------+ | |||
| Job #1234 completed | Job #1234 completed | |||
| 12 of 12 pages printed | 12 of 12 pages printed | |||
| Expires: Dec 30, 1998 | Expires: May 16, 1999 | |||
| Copyright(C) The Internet Society 1998. All Rights Reserved. | ||||
| 9.23. END TO END SCENARIO - ON THE INTERNET | 11.23. END TO END SCENARIO - ON THE INTERNET | |||
| An executive in her hotel room is finishing an important | An executive in her hotel room is finishing an important presentation on | |||
| presentation on her laptop computer. She connects to a local | her laptop computer. She connects to a local print shop through the web | |||
| print shop through the web to get a copy of her charts printed | to get a copy of her charts printed for tomorrow's presentation. She | |||
| for tomorrow's presentation. She must find a print shop that is | must find a print shop that is convenient and can print color | |||
| convenient and can print color transparencies. She must download | transparencies. She must download and temporarily install a driver in | |||
| and temporarily install a driver in order to generate the PDL | order to generate the PDL required by the print shop. Mutual | |||
| required by the print shop. Mutual authentication is required by | authentication is required by the print shop and payment must be made in | |||
| the printshop and payment must be made in advance. The job is | advance. The job is encrypted on the wire to prevent eavesdropping. | |||
| encrypted on the wire to prevent eavesdropping. | ||||
| End-user completes presentation. She goes to the web and connects | End-user completes presentation. She goes to the web and connects | |||
| to the SirZippy home page. | to the SirZippy home page. | |||
| Client SirZippy Directory Service | Client SirZippy Directory Service | |||
| +---------------------------------------------------------- > | +---------------------------------------------------------- > | |||
| Find me a printer with these characteristics | Find me a printer with these characteristics | |||
| - Near Market Street in San Jose | - Near Market Street in San Jose | |||
| - Prints color transparencies | - Prints color transparencies | |||
| - drivers can be downloaded | - drivers can be downloaded | |||
| - supports privacy (encryption) | - supports privacy (encryption) | |||
| - | - | |||
| Available Printers matching these characteristics are looked up | Available Printers matching these characteristics are looked up in the | |||
| in the Directory Service | Directory Service | |||
| < ----------------------------------------------------------+ | < ----------------------------------------------------------+ | |||
| Printer "Color-A" | Printer "Color-A" | |||
| - located at 123 First Street in San Jose | - located at 123 First Street in San Jose | |||
| - URI is http://www.SirZippy.com/FirstStreet/Color-A | - URI is http://www.SirZippy.com/FirstStreet/Color-A | |||
| - prints color transparencies | - prints color transparencies | |||
| - 600 dpi laser | - 600 dpi laser | |||
| - driver ABC-Postscript-V1.3 available at this URI | - driver ABC-Postscript-V1.3 available at this URI | |||
| - cost = $.75 per page | - cost = $.75 per page | |||
| - authentication required to use printer | - authentication required to use printer | |||
| - payment required prior to printing | - payment required prior to printing | |||
| Printer "Color-B" | Printer "Color-B" | |||
| - located at 67 San Carlos Street, San Jose | - located at 67 San Carlos Street, San Jose | |||
| - URI is http://www.SirZippy.com/SanCarlos/Color-B | - URI is http://www.SirZippy.com/SanCarlos/Color-B | |||
| Expires: Dec 30, 1998 | ||||
| Copyright(C) The Internet Society 1998. All Rights Reserved. | ||||
| - prints color transparencies | - prints color transparencies | |||
| - 1200 dpi laser | - 1200 dpi laser | |||
| - driver XYZ-Poscscript-V4.3 available at this URI | - driver XYZ-PostScript-V4.3 available at this URI | |||
| - cost = $1.25 per page | - cost = $1.25 per page | |||
| - authentication required to use printer | - authentication required to use printer | |||
| - payment required prior to printing | - payment required prior to printing | |||
| - | - | |||
| Expires: May 16, 1999 | ||||
| - more information at this URI | - more information at this URI | |||
| The user decides to use the first printer because it is closer. | The user decides to use the first printer because it is closer. She | |||
| She connects to the URI given to get a driver. | connects to the URI given to get a driver. | |||
| Client Driver URI | Client Driver URI | |||
| +---------------------------------------------------------- > | +---------------------------------------------------------- > | |||
| I need a driver for "Color-A" | I need a driver for "Color-A" | |||
| < ----------------------------------------------------------+ | < ----------------------------------------------------------+ | |||
| Driver installer is at http://www.xerox.com/prtdrvrs | Driver installer is at http://www.xerox.com/prtdrvrs | |||
| Driver is installed | Driver is installed | |||
| skipping to change at page 57, line 4 ¶ | skipping to change at page 51, line 43 ¶ | |||
| < ----------------------------------------------------------+ | < ----------------------------------------------------------+ | |||
| Production attributes for this Printer are: | Production attributes for this Printer are: | |||
| - medium-select = us-letter-white, us-legal-white | - medium-select = us-letter-white, us-legal-white | |||
| - default is us-letter-white | - default is us-letter-white | |||
| - copies = 1,2,3,4,5 | - copies = 1,2,3,4,5 | |||
| - default is 1 | - default is 1 | |||
| - print-quality = draft, normal, high | - print-quality = draft, normal, high | |||
| - default is draft | - default is draft | |||
| - sides = 1-sided, 2-sided-long-edge | - sides = 1-sided, 2-sided-long-edge | |||
| Expires: Dec 30, 1998 | ||||
| Copyright(C) The Internet Society 1998. All Rights Reserved. | ||||
| - default is 2-sided-long-edge | - default is 2-sided-long-edge | |||
| Job scheduling attributes for this Printer are: | Job scheduling attributes for this Printer are: | |||
| - job-priority = 1,2,3 | - job-priority = 1,2,3 | |||
| default = 3 | default = 3 | |||
| Driver puts up dialogue with available options and fills in the | Driver puts up dialogue with available options and fills in the | |||
| defaults. | defaults. | |||
| End-user makes choices and submits job | End-user makes choices and submits job | |||
| +---------------------------------------------------------- > | +---------------------------------------------------------- > | |||
| Here is a print job | Here is a print job | |||
| Expires: May 16, 1999 | ||||
| - job-name = presentation | - job-name = presentation | |||
| - notify me by email when job is complete | - notify me by email when job is complete | |||
| - print on us-letter-transparency | - print on us-letter-transparency | |||
| - print 1 copy | - print 1 copy | |||
| - print at high quality | - print at high quality | |||
| - print by 9:00 am tomorrow morning | - print by 9:00 am tomorrow morning | |||
| - give me the state of the printer in response | - give me the state of the printer in response | |||
| The driver generates the print data and passes it to the IPP | The driver generates the print data and passes it to the IPP driver a | |||
| driver a piece at a time. | piece at a time. | |||
| +---------------------------------------------------------- > | +---------------------------------------------------------- > | |||
| Here is the print data | Here is the print data | |||
| < ---------------------------------------------------------+ | < ---------------------------------------------------------+ | |||
| Print data received, and spooling started | Print data received, and spooling started | |||
| print job id = #1234 | print job id = #1234 | |||
| Print data received, file is spooled | Print data received, file is spooled | |||
| - printer state = printing | - printer state = printing | |||
| skipping to change at line 2118 ¶ | skipping to change at line 1996 ¶ | |||
| - current job state = held, waiting for payment | - current job state = held, waiting for payment | |||
| +---------------------------------------------------------- > | +---------------------------------------------------------- > | |||
| < ----------------------------------------------------------+ | < ----------------------------------------------------------+ | |||
| Payment transaction | Payment transaction | |||
| < ----------------------------------------------------------+ | < ----------------------------------------------------------+ | |||
| Job is scheduled to print, pick up after 9:00am tomorrow | Job is scheduled to print, pick up after 9:00am tomorrow | |||
| Thank you for using SirZippy | Thank you for using SirZippy | |||
| Expires: Dec 30, 1998 | Expires: May 16, 1999 | |||
| Copyright(C) The Internet Society 1998. All Rights Reserved. | ||||
| End of changes. 247 change blocks. | ||||
| 932 lines changed or deleted | 809 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||