Presentation is loading. Please wait.

Presentation is loading. Please wait.

Internet Printing Protocol (IPP)

Similar presentations


Presentation on theme: "Internet Printing Protocol (IPP)"— Presentation transcript:

1 Internet Printing Protocol (IPP)
Scott Isaacson Corporate Architect Novell, Inc. WWW7 Developer Day April 18, 1998 4/18/98 IPP - WWW7

2 Agenda Background Requirements Model Encoding HTTP Mapping Summary
Objects Operations Encoding HTTP Mapping Summary 4/18/98 IPP - WWW7

3 Internet Printing Protocol (IPP) Background
Fall of 1996 Printer Working Group (PWG) meeting on Internet and web printing PWG is a loose, unincorporated alliance among printer vendors, OS vendors, and developers IEEE 1284, Printer MIB, Job Monitoring MIB Presentations Lightweight Document Printing Application (LDPA) HyperText Printing Protocol (HTPP) Simple Web Printing (SWP) 4/18/98 IPP - WWW7

4 IPP Background (cont.) PWG chartered a working group IETF
12/96: IETF BOF 3/97: IETF WG charter 4-11/97: Various Internet-Drafts 2/98: WG final call Major Contributors System vendors, OS vendors, device vendors, driver vendors, application vendors 4/18/98 IPP - WWW7

5 Online References Mailing List: Sites: Internet-Drafts (www.ietf.org)
Sites: AND ftp.pwg.org/pub/pwg/ipp/ Internet-Drafts ( Requirements: draft-ietf-ipp-req-02.txt Model: draft-ietf-ipp-model-09.txt Encoding and Transport: draft-ietf-ipp-protocol-04.txt Rationale: draft-ietf-ipp-rat-01.txt LPD Mapping: draft-ietf-ipp-lpd-ipp-map-01.txt 4/18/98 IPP - WWW7

6 IPP WG Schedule Proposed Standard by end of April 98
Prototyping now being done “Interoperability bake-off” 1998 Use the Internet 4 Vendors have shown interoperability Test suites Conference Demos BrainShare, Xplore, Seybold, etc. 4/18/98 IPP - WWW7

7 Why IPP? Evolution of network printing Multiple solutions
client attached server attached network attached Multiple solutions SPX/IPX LPR/LPD (TCP) Appletalk Netbeui (SMBs) No interoperability High administrative overhead and complexity 4/18/98 IPP - WWW7

8 IPP Mission Statement Web tools, applications, and technologies working together to support printing on the Internet Web browsers URLs MIME HTTP LDAP SLP SLP LDAP Directory MIME HTTP 4/18/98 IPP - WWW7

9 Scope for IPP/1.0 End User features: Query, Submit, Cancel
Out of scope: Driver download (URL to installation information) Notification (current WG discussions) Presentation and UI Only hooks for HTML page, no standard No Operator features As allowed by local authorization policy No Administrator features Assume product specific administrative solution 4/18/98 IPP - WWW7

10 Vision: Inter-Enterprise Examples
Print from an Application Any application via IPP client pushes document data to printer Print from a Document Repository IPP aware application (Web Browser) pushes document data to printer Print using a Reference Printer pulls document data using reference 4/18/98 IPP - WWW7

11 Example 1: Application Printing
Enterprise A Enterprise B Firewall Firewall Internet IPP Printer Application IPP any Print Data 4/18/98 IPP - WWW7

12 Example 2: Existing File Printing
Enterprise A Enterprise B Firewall Firewall Internet IPP Printer Browser IPP any Print Data Repository 4/18/98 IPP - WWW7

13 Example 3: Print by Reference
Enterprise A Enterprise B Firewall Firewall Internet IPP Printer Browser IPP Print Data any URI Reference Repository 4/18/98 IPP - WWW7

14 Architecture and Layering
Application Spooler Print Driver End User File Browser Notification Directory Naming IPP Client Secure Transport IPP Server IPP Printer Print Service Output Device 4/18/98 IPP - WWW7

15 IPP Objects Printer Job 4/18/98 IPP - WWW7

16 IPP Printer Implements IPP Logical or physical device
Multiple configurations server embedded Job processing Options for spooling and scheduling Provide job status 4/18/98 IPP - WWW7

17 IPP Printer Configurations
any IPP Printer IPP any 4/18/98 IPP - WWW7

18 Printer Attributes (Mandatory)
Uniform Resource Identifier (URI) Name State Accepting jobs Localization Natural Language (RFC 1766: “en-US”) Default, Supported Charset (RFC 2046: “utf-8”, “utf-16”) 4/18/98 IPP - WWW7

19 Job Attributes (Mandatory)
Job Identifier Job Owner’s Identity Job State 4/18/98 IPP - WWW7

20 Document Format Use MIME Internet Media Types
Types for traditional Page Description Languages (PDLs) “application/postscript” (PostScript) and others (PJL/PCL, IPDS, Interpress, etc.) Types for emerging document formats “text/html” “application/pdf” Etc. 4/18/98 IPP - WWW7

21 Printer Operations (Mandatory)
Print-Job Submits a Job, “pushes” job data to the Printer Validate-Job Validates client supplied attributes (no job data) Get-Jobs Lists jobs at the Printer Get-Printer-Attributes Responds with Printer attributes 4/18/98 IPP - WWW7

22 Example: Get-Printer-Attributes
IPP Printer Get-Printer-Attributes Request requested-attributes: all Get-Printer-Attributes Response printer-name: John’s Printer printer-location: Bldg. A, Room 5 printer-state: processing document-format-supported: ps, pcl media-supported: iso-a4, na-letter sides-supported: two-sided queued-job-count: 45 error-code: ok 4/18/98 IPP - WWW7

23 Example: Get-Printer-Attributes (Printer Stopped)
IPP Printer Get-Printer-Attributes Request requested-attributes:printer-description Get-Printer-Attributes Response printer-name: HR Color Printer printer-state: stopped printer-state-reasons: media-jam-error printer-state-message: Feed Tray 1 queued-job-count:5 error-code: ok 4/18/98 IPP - WWW7

24 Example: Print-Job Print-Job Request Print-Job Response
IPP Printer Print-Job Request job-name: file1.doc copies: 5 print-quality: draft finishing: staple-top-left job-sheet: none data: <octet string> Print-Job Response job-id: 1234 job-state: pending error-code: ok 4/18/98 IPP - WWW7

25 Example: Print-Job (error)
IPP Printer Print-Job Request job-name: file2.doc priority: 100 media: na-letter-transparent finishing: punch number-up: two data: <octet string> Print-Job Response finishing: punch (unsupported) number-up: attribute-unsupported error-code: unsupported-attributes 4/18/98 IPP - WWW7

26 Job Operations (Mandatory)
Cancel-Job End User initiated abort Get-Job-Attributes Responds with current attribute values 4/18/98 IPP - WWW7

27 Example: Cancel-Job Cancel-Job Request Cancel-Job Response
IPP Printer Cancel-Job Request job-id: 1234 message: “Please discard any printed pages.” Cancel-Job Response error-code: ok 4/18/98 IPP - WWW7

28 Multiple Document Jobs (Optional)
“Create-Job” Creates a Job object Validates attributes Followed by multiple “Send-Document” Last Document Flag Existing practice 4/18/98 IPP - WWW7

29 Example: Create-Job Create-Job Request Create-Job Response
IPP Printer Create-Job Request <attributes only, no data> Create-Job Response job-id: 5678 error-code: ok Send-Document Request last-document: false; document data; response: ok last-document: true; document data; response: ok 4/18/98 IPP - WWW7

30 Print by Reference (Optional)
“Print-URI” operation Client supplies attributes Client supplies URI reference to data Printer retrieves document data Multiple document with references “Send-URI” 4/18/98 IPP - WWW7

31 Example: Print-URI Print-URI Request Print-URI Response
IPP Printer Print-URI Request job-name: Acme’s Web Page copies: 1 document-format: text/html document-uri: Print-URI Response job-id: 25 job-state: processing error-code: ok 4/18/98 IPP - WWW7

32 Job Template Attributes
1) Printer supports some values 2) Printer has a default value 3) Client requests a certain value Example: “finishings” Printer supports: staple, cover, bind Printer default: staple Client requests: cover, bind Printer Supports: a, b, d Printer Default: b Client Requests: a 4/18/98 IPP - WWW7

33 Job Template (cont.) Cover Events Priority Hold Media Number UP Sides
Copies Resolution Quality Document Format (PDLs) Compression 4/18/98 IPP - WWW7

34 Fidelity Printing Semantics Client supplied “fidelity” attribute
“I expect the job exactly as specified - don’t print it if you can’t do it” “Just print the job the best you can - ignore or make substitutions as needed” Client supplied “fidelity” attribute boolean 4/18/98 IPP - WWW7

35 IPP Override of PDL Client supplies Job Template attributes
Affect rendering, production, and finishing Conflicting instructions Embedded PDL instructions Example: Request “a4” media for a job that is “letter” Printer’s “PDL Override” attribute Values: attempted, not-attempted 4/18/98 IPP - WWW7

36 Printer Attributes (Optional)
Location More Info HTML page Site contact info Description Make and Model Driver Installer Color Printing Supported PDL Override State Reasons Job Count Privacy Supported Security Supported 4/18/98 IPP - WWW7

37 Job Attributes (Optional)
More Info HTML page Language State reasons Output device assigned Size Octets, impressions Time submitted Time since Pending Processing Completed Number of intervening jobs 4/18/98 IPP - WWW7

38 Extensibility Defined mechanisms Well defined space for
Type1: Requires an update to the specification Type2: Requires approval of the PWG Type3: Requires IANA registration Type4: Allows for site-by-site additions Well defined space for Private Experimental 4/18/98 IPP - WWW7

39 Security Does not reinvent the wheel Look to HTTP Look to Transport
basic, digest, and beyond Look to Transport Transport Layer Security (TLS) 4/18/98 IPP - WWW7

40 Encoding and Transport
Encoding: application/ipp Simple, regular, binary Embedded solutions “application/ipp” Proposal: XML for protocol data Transport: HTTP/1.1 Ubiquitous (HTTP/1.0 still possible although not optimal) Leverage features (URI naming, chunking, etc.) Printing has already embraced HTTP servers (administration) Focus on simplicity (complexity relates to proxy servers) Security 4/18/98 IPP - WWW7

41 Transport Mapping Use HTTP/1.1 Each IPP operation is an HTTP POST
“Request URI” is the IPP object “Content Type” is “application/ipp” Authentication/authorization checks Leverage HTTP negotiation: Cache and proxy control Proposal: Add new PRINT operations to HTTP 4/18/98 IPP - WWW7

42 Encoding Diagram: “application/ipp”
POST HTTP/1.1 Content-Type: application/ipp VERSION 2 bytes - required REQUEST ID 2 bytes - required OPERATION / STATUS CODE 2 bytes - required ATTRIBUTE TAG 1 byte 0 or more ATTRIBUTE SEQUENCE n bytes DATA TAG 1 byte - required DATA m bytes 4/18/98 IPP - WWW7

43 Conclusion IPP is close to ratification as a set of IETF Proposed Standard RFCs Several interoperable prototypes Ongoing discussions for new features and standard extensions All are invited to participate “application/ipp” operations over HTTP Flexible, Scalable Diverse implementations Diverse configurations 4/18/98 IPP - WWW7


Download ppt "Internet Printing Protocol (IPP)"

Similar presentations


Ads by Google