RFC2567 - Design Goals for an Internet Printing Protocol(2)

时间:2005-02-16 来源: 作者: 点击:
corporate firewall. The printer is available to anyone behind the firewall and no authorization or authentication is required. The data is pushed to the printer. The job consists of two separate docu
  
corporate firewall. The printer is available to anyone behind the
firewall and no authorization or authentication is required. The data
is pushed to the printer. The job consists of two separate documents.
The printer is capable of spooling the output. No errors occur.

Client IPP Printer

+---------------------------------------------------------- >
Here is a print job
- job name = MyJob
- notify me by email when done printing
- print on iso-a4-white paper
- print on both sides of the paper
- return status of the printer in response

< ----------------------------------------------------------+

Print job accepted and spooled
- job id = #12345
- submission time = 02/12/97, 15:35
+---------------------------------------------------------- >
- here is the document to print

< ----------------------------------------------------------+
- OK

+---------------------------------------------------------- >
- here is the document to print, it is the last document.

< ----------------------------------------------------------+
- OK

10.8. SUBMITTING A PRINT JOB AS A FILE, PRINTING FAILS

An end-user wants to submit a print job. The print file already
exists on his workstation. The client and printer are behind the same
corporate firewall. The printer is available to anyone behind the
firewall and no authorization or authentication is required. The data
is pushed to the printer. The printer is not capable of spooling the
output so it begins printing while still receiving the file. An error
occurs and the printer cannot complete printing (in this case the
user requires A4 paper and that paper size is not available on the
printer.)

Client IPP Printer

+---------------------------------------------------------- >
Here is a print job
- job name = MyJob
- notify me by email when done printing
- print on iso-a4-white paper
- print on both sides of the paper
- return status of the printer in response
- document is in Postscript format
- here is the document to print

< ----------------------------------------------------------+
Print job accepted

- printing failed
- current state of print job = canceled (A4 not available)
- submission time = 02/12/97, 15:35
- printer state = ready

10.9. SUBMITTING A PRINT JOB WITH AUTHENTICATION, PRIVACY AND 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.

Client IPP Printer

+---------------------------------------------------------- >
< ----------------------------------------------------------+

Mutual authentication and exchange of secret keys

+---------------------------------------------------------- >
Here is a print job (encrypted)
- job name = MyJob
- notify me by email when done printing
- print on iso-a4-white paper
- print on both sides of the paper
- return status of the printer in response
- tell me where to pick up output
- document is in Postscript format
- here is the document to print

< ----------------------------------------------------------+
Print job accepted and spooled (encrypted)
- job id = #12345
- current state of print job = spooled
- submission time = 02/12/97, 15:35
- printer state = printing
- payment required to proceed with job
- pick up at 230 East Main after 3:30 pm today

+---------------------------------------------------------- >
< ----------------------------------------------------------+
Payment transaction

10.10. SUBMITTING A PRINT JOB WITH DECRYPTION ERROR

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. An error occurs during
decryption.

Client IPP Printer

+---------------------------------------------------------- >
< ----------------------------------------------------------+
Mutual authentication and exchange of secret keys

+---------------------------------------------------------- >
Here is a print job (encrypted)
- job name = MyJob
- notify me by email when done printing
- print on iso-a4-white paper
- print on both sides of the paper
- return status of the printer in response
- tell me where to pick up output
- document is in Postscript format
- here is the document to print

< ----------------------------------------------------------+
Print job accepted and spooled (encrypted)
- job id = #12345
- current state of print job = spooled
- submission time = 02/12/97, 15:35
- printer state = printing
- payment required to proceed with job
- pick up at 230 East Main after 3:30 pm today

+---------------------------------------------------------- >
< ----------------------------------------------------------+
Payment transaction
.
.
.
< ----------------------------------------------------------+
Asynchronous response (email in this case)
- decryption failed on job #12345

- no pages printed
- current state of job = aborted

10.11. SUBMITTING A PRINT JOB WITH AUTHENTICATION

An end-user wants to submit a print job. The print file already
exists on his workstation. The client and printer are behind the same
corporate firewall. The printer is available to anyone behind the
firewall but authentication and authorization is required.
Authorization takes place using the authenticated end-user's name.
The data is pushed to the printer. The printer is capable of spooling
the output.

Client IPP Printer

+---------------------------------------------------------- >
< ----------------------------------------------------------+
Authentication

Note: An authentication failure would end the transaction at
this point.

+---------------------------------------------------------- >
Here is a print job
- job name = MyJob
- notify me by email when done printing
- print on iso-a4-white paper
- print on both sides of the paper
- return status of the printer in response
- tell me where to pick up output
- document is in Postscript format
- here is the document to print

< ----------------------------------------------------------+
Print job accepted and spooled
- job id = #12345
- current state of print job = spooled
- submission time = 02/12/97, 15:35
- printer state = printing

10.12. SUBMITTING A PRINT JOB GENERATED DYNAMICALLY

An end-user wants to submit a print job. The print data is generated
dynamically and is being transmitted by a printer driver on the
client workstation as available. The client and printer are behind
the same corporate firewall. The printer is available to anyone
behind the firewall and no authentication and authorization is
required. The data is pushed to the printer. The printer is capable
of spooling the output. No error occurs.

Client IPP Printer

+---------------------------------------------------------- >
Here is a print job
- job name = MyJob
- notify me by email when done printing
- print on iso-a4-white paper
- print on both sides of the paper
- return status of the printer in response
- document is in Postscript format
- here is the print job

< ----------------------------------------------------------+
Print data accepted and spooling started
- job id = #12345
- current job state = spooled
- submission time = 02/12/97, 15:35
- printer state = printing

10.13. SUBMITTING A PRINT JOB WITH A PRINTER JAM - CANCELED

An end-user wants to submit a print job. The print data is generated
dynamically and is being transmitted by a printer driver on the
client workstation as available. The client and printer are behind
the same corporate firewall. The printer is available to anyone
behind the firewall and no authentication and authorization is
required. The data is pushed to the printer. The printer is not
capable of spooling the output. The printer jams notifies the user
and the user chooses to cancel the job.

Client IPP Printer
+---------------------------------------------------------- >
Here is a print job
- job name = MyJob
- notify me by email when done printing
- print on iso-a4-white paper
- print on both sides of the paper

- return status of the printer in response
- document is in Postscript format
- here is the document to print

< ----------------------------------------------------------+
Print data accepted and printing started
- job id = #12345

+---------------------------------------------------------- >
- What is the status of print job #12345?

< --------------------------------------------------------- +
- Job #12345 accepted but printer jammed, cannot continue

+---------------------------------------------------------- >
- Cancel job #12345

* Printer flushes remaining data
< ----------------------------------------------------------+
Print job terminated
- current job state = canceled
- submission time = 02/12/97, 15:35
- printer state = jammed

10.14. SUBMITTING A PRINT JOB WITH A PRINTER JAM - RECOVERED

An end-user wants to submit a print job. The print data is generated
dynamically and is being transmitted by a printer driver on the
client workstation as available. The client and printer are behind
the same corporate firewall. The printer is available to anyone
behind the firewall and no authentication and authorization is
required. The data is pushed to the printer. The printer is not
capable of spooling the output. The printer jams, notifies the user
and the user clears the jam and elects to continue.

Client IPP Printer

+---------------------------------------------------------- >
Here is a print job
- job name = MyJob
- notify me by email when done printing
- print on iso-a4-white paper
- print on both sides of the paper
- return status of the printer in response
- document is in Postscript format
- here is the document to print

< ----------------------------------------------------------+

Print data accepted and printing started
- job id = #12345

< --------------------------------------------------------- +
- Notification: printer jammed, cannot continue

* Jam is clear by human intervention, printing continues

+---------------------------------------------------------- >
Here is the last part of the document to print

< ----------------------------------------------------------+
Print job received
- current job state = printing
- submission time = 02/12/97, 15:35
- printer state = printing

10.15. SUBMITTING A PRINT JOB WITH SERVER PULL

An end-user wants to submit a print job. The print data is in a file
and is publicly available. It is pulled by the printer. The client
and printer are behind the same corporate firewall. The printer is
available to anyone behind the firewall and no authentication and
authorization is required. The printer is capable of spooling the
output. Printing may start before the entire job has been pulled.

Client IPP Printer

+---------------------------------------------------------- >
Here is a print job

- job name = MyJob
- notify me by email when done printing
- print on iso-a4-white paper
- print on both sides of the paper
- return status of the printer in response
- here is a reference to the data to be printed

< ----------------------------------------------------------+
Print data accepted and printing started
- job id = #12345
- current state of job = spooled
- submission time = 02/12/97, 13:15
- printer state = printing

.
.
< ----------------------------------------------------------+

Get the file to be printed

+---------------------------------------------------------- >
Here it is

Note: Failure to find the file, would end the transaction
with an error at this point and an asynchronous
notification would be send to the Client.

< ----------------------------------------------------------+
Data received

10.16. SUBMITTING A PRINT JOB WITH REFERENCED RESOURCES

An end-user wants to submit a print job. Part of the print data is
on a file on the user's workstation. It is pushed by the client, but
the print job requires some resource not included in the print file.
The client and printer are behind the same corporate firewall. The
printer is available to anyone behind the firewall and no
authentication and authorization is required. The printer is capable
of spooling the output. No errors occur.

Client IPP Printer

+---------------------------------------------------------- >
Here is a print job
- job name = MyJob
- notify me by email when done printing
- print on iso-a4-white paper
- print on both sides of the paper
- return status of the printer in response

< ----------------------------------------------------------+
Print job accepted and spooled
- job id = #12345
- submission time = 02/12/97, 15:35

+---------------------------------------------------------- >
- here is the document to print

< ----------------------------------------------------------+
- OK

+---------------------------------------------------------- >
- here is the URI to print, it is the last document.

< ----------------------------------------------------------+
- OK

< ----------------------------------------------------------+
Get the external resource

+---------------------------------------------------------- >
Here it is

10.17. GETTING CAPABILITIES

10.17.1. Submission Attributes

An end-user wants to get the production and scheduling attributes
that are supported or required when submitting jobs to this printer.
The client will use these attributes when forming the subsequent
print request.

Client IPP Printer
+---------------------------------------------------------- >
I'm going to submit a Postscript job
give me your job submission attributes

< ----------------------------------------------------------+
Postscript production attributes for this Printer are:
- medium-select = us-letter-white, us-legal-white
- default is us-letter-white
- copies = 1,2,3,4,5
- default is 1
- print-quality = draft, normal, high
- default is draft
- sides = 1-sided, 2-sided-long-edge
- default is 2-sided-long-edge
- Job scheduling attributes for this Printer are:
- job-priority = 1,2,3
- default = 3

10.17.2. Printer Capabilities

An end-user wants to determine the resolution, marking technology,
and PDLs supported by the printer.

Client IPP Printer
+---------------------------------------------------------- >
Please tell me the
- resolution of the printer
- the marking technology of the printer
- PDLs supported
< ----------------------------------------------------------+
Printer resolution = 600 dpi
Marking Technology = laser

PDLs supported = Postscript level 2, PCL/6

10.18. GETTING STATUS

10.18.1. Printer State/Status

An end-user wants to determine the state or status of the printer.

Client IPP Printer

+---------------------------------------------------------- >
What is the state of the printer?

< ----------------------------------------------------------+
Printer state = out-of-paper

10.18.2. Job Status

An end user wants to get the status of a job he has submitted.

Client IPP Printer

+---------------------------------------------------------- >
Please tell me the status of job #12345

< ----------------------------------------------------------+
Job #12345 is queued
it is number 3 in the queue
printer state = printing

10.18.3. Status of All My Jobs

An end user wants to get a list of all of the jobs he has submitted
to this Printer.

Client IPP Printer

+---------------------------------------------------------- >
Please tell me the status of my jobs

< ----------------------------------------------------------+
Job #00012 is complete
Printed at 12:35 on 01/23/97

Job #09876 is printing

Job #12345 is queued
it is number 3 in the queue

Job #34567 is queued
it is number 7 in the queue

10.19. ASYNCHRONOUS NOTIFICATION

10.19.1. Job Completion

An end-user wants to get notification of events that affect his print
jobs. Print job completes without error.

Client IPP Printer

< ----------------------------------------------------------+
Print job #123 completed

10.19.2. Job Complete with Data

An end-user wants to get notification of events that affect his print
jobs. Print job completes, users asked for all end of job
information.

Client IPP Printer

< ----------------------------------------------------------+
Print job #123 completed
- total pages printed = 15
- number of copies printed = 3
- total cost to print = $7.45
- pick up copies in room H-6, building 005

10.19.3. Print Job Fails

An end-user wants to get notification of events that affect his print
jobs. Print job fails. Printer is unattended.

Client IPP Printer

< ----------------------------------------------------------+
Print job #123 failed
- total pages printed = 15
- number of pages submitted = 25
- printer-state = jammed

10.20. CANCEL A JOB

The end-user submits a print job and later decides to cancel it.

Client IPP Printer

+---------------------------------------------------------- >
< ----------------------------------------------------------+
Authentication.

+---------------------------------------------------------- >
Cancel job #1234

< ----------------------------------------------------------+
Job #1234 Canceled

10.21. END TO END SCENARIO - WITHIN AN ENTERPRISE

An office worker prints on shared departmental printers. All printers
in the office are public, that is, no authentication or authorization
is required. Printers are protected from external access by a
firewall. No billing or accounting is required. Most printing is done
from desktop applications. A help desk is provided for printing
problems. Standard operating systems and applications are used.
Drivers are available, but are installed manually by support
personnel. This scenario assumes that drivers have been installed and
that drivers are not IPP aware, that is, they cannot communicate
across an IPP connection to obtain status and capabilities. IPP
printers appear in application pull-down menus. Printer
configuration data is hard wired into the driver.

End-user selects print from the application pull down menu. An IPP
printer is selected from the list of Printers offered

The driver puts up a dialogue with hard-wired set of options for this
printer. The end-user makes choices and submits job.

Client IPP Printer
+---------------------------------------------------------- >
Here is a print job
- job-name = memo-to-boss
- notify me by email when job is complete
- print on us-letter-white paper
- print 1 copy
- print at normal quality
- print on 1 side

- give me the state of the printer in response

The driver generates the print data and passes it to the IPP driver a
piece at a time as it is generated.

+---------------------------------------------------------- >
Here is the print data

< ----------------------------------------------------------+
Print data received, file is spooled
- printer state = printing
- time submitted = 2/12/97, 15:35
- current job state = spooled

Client adds this job to list of current jobs. List of jobs and state
of 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
status.

+---------------------------------------------------------- >
Give me the state of job #1234
and the state of the Printer

< ----------------------------------------------------------+
Job #1234 state = spooled
- it is number 3 in the queue
- printer state = printing

The job completes without error

< ----------------------------------------------------------+
Job #1234 completed
12 of 12 pages printed

10.22. END TO END SCENARIO - ACROSS ENTERPRISES

An office worker in Company A needs to print an office document on a
"public" printer at Company B, a business partner. Both companies
have corporate firewalls so the print request must flow out of A's
firewall and into B's firewall. The office worker can look at public
printers in Company B's directory service. The document is generated
by a desktop application. Since the printer is "public" no
authentication or authorization is required. A driver is downloaded.
The driver is IPP aware, that is, it can communicate dynamically
through the IPP protocol layer to obtain information about the
printer.

Client Company B's Directory Service

End user connects to B's Directory service

+---------------------------------------------------------- >
Find a Printer with these characteristics
- public (no authorization or authentication required)
- is in Lexington, building 004
- prints black and white

< ----------------------------------------------------------+
Printer "Public-A"
- http://www.lexmark.com/pubprinter/a

Printer "Public-B"
- http://www.lexmark.com/pubprinter/b

End user selects Public-A

Client Public-A

+---------------------------------------------------------- >
Where can I find a driver for you?

< ----------------------------------------------------------+
Drivers at http://www.lexmark.com/pubprinters/a/os245

End user gets driver and installs it on his PC.

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
give me your job submission attributes

< ----------------------------------------------------------+

Production attributes for this Printer are:
- medium-select = us-letter-white, us-legal-white
- default is us-letter-white
- copies = 1,2,3,4,5
- default is 1
- print-quality = draft, normal, high
- default is draft
- sides = 1-sided, 2-sided-long-edge
- default is 2-sided-long-edge

Job scheduling attributes for this Printer are:
- job-priority = 1,2,3
default = 3

Driver puts up dialogue with available options and fills in the
defaults.

End-user makes choices and submits job

+---------------------------------------------------------- >
Here is a print job
- job-name = memo-to-Don-Wright
- notify me by email when job is complete
- print on us-letter-white paper
- print 1 copy
- print at normal quality
- print on 1 side
- give me the state of the printer in response

The driver generates the print data and passes it to the IPP driver a
piece at a time.

+---------------------------------------------------------- >
Here is the print data

< ----------------------------------------------------------+
Print data received, and spooling started
print job id = #1234

Print data received, file is spooled

- printer state = printing
- time submitted = 2/12/97, 15:35
- current job state = spooled

Client adds this job to list of current jobs. List of jobs and state
of 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
status.

+---------------------------------------------------------- >
Give me the state of job #1234
and the state of the Printer

< ----------------------------------------------------------+
Job #1234 state = spooled

- it is number 3 in the queue
- printer state = printing

* The job completes without error
< ----------------------------------------------------------+
Job #1234 completed
12 of 12 pages printed

10.23. END TO END SCENARIO - ON THE INTERNET

An executive in her hotel room is finishing an important presentation
on her laptop computer. She connects to a local print shop through
the web to get a copy of her charts printed for tomorrow's
presentation. She must find a print shop that is convenient and can
print color transparencies. She must download and temporarily install
a driver in order to generate the PDL required by the print shop.
Mutual authentication is required by the print shop and payment must
be made in advance. The job is encrypted on the wire to prevent
eavesdropping.

End-user completes presentation. She goes to the web and connects to
the SirZippy home page.

Client SirZippy Directory Service
+---------------------------------------------------------- >

Find me a printer with these characteristics
- Near Market Street in San Jose
- Prints color transparencies
- drivers can be downloaded
- supports privacy (encryption)
-

Available Printers matching these characteristics are looked up in the
Directory Service

< ----------------------------------------------------------+

Printer "Color-A"
- located at 123 First Street in San Jose
- URI is http://www.SirZippy.com/FirstStreet/Color-A
- prints color transparencies
- 600 dpi laser
- driver ABC-Postscript-V1.3 available at this URI
- cost = $.75 per page
- authentication required to use printer
- payment required prior to printing

Printer "Color-B"
- located at 67 San Carlos Street, San Jose
- URI is http://www.SirZippy.com/SanCarlos/Color-B
- prints color transparencies
- 1200 dpi laser
- driver XYZ-PostScript-V4.3 available at this URI
- cost = $1.25 per page
- authentication required to use printer
- payment required prior to printing
- more information at this URI

The user decides to use the first printer because it is closer. She
connects to the URI given to get a driver.

Client Driver URI

+---------------------------------------------------------- >
I need a driver for "Color-A"

< ----------------------------------------------------------+
Driver installer is at http://www.xerox.com/prtdrvrs

Driver is installed

User connects to
"Color-A"

Client IPP Printer "Color-A"

+---------------------------------------------------------- >
< ----------------------------------------------------------+
Mutual authentication and exchange of secret keys

+---------------------------------------------------------- >
I'm going to submit a print job
give me your job submission attributes

< ----------------------------------------------------------+
Production attributes for this Printer are:
- medium-select = us-letter-white, us-legal-white
- default is us-letter-white
- copies = 1,2,3,4,5
- default is 1
- print-quality = draft, normal, high
- default is draft
- sides = 1-sided, 2-sided-long-edge
- default is 2-sided-long-edge

Job scheduling attributes for this Printer are:
- job-priority = 1,2,3
default = 3

Driver puts up dialogue with available options and fills in the
defaults.

End-user makes choices and submits job

+---------------------------------------------------------- >
Here is a print job

- job-name = presentation
- notify me by email when job is complete
- print on us-letter-transparency
- print 1 copy
- print at high quality
- print by 9:00 am tomorrow morning
- give me the state of the printer in response

The driver generates the print data and passes it to the IPP driver a
piece at a time.

+---------------------------------------------------------- >
Here is the print data

< ---------------------------------------------------------+
Print data received, and spooling started
print job id = #1234

Print data received, file is spooled
- printer state = printing
- time submitted = 2/12/97, 15:35
- current job state = held, waiting for payment

+---------------------------------------------------------- >
< ----------------------------------------------------------+
Payment transaction

< ----------------------------------------------------------+
Job is scheduled to print, pick up after 9:00am tomorrow
Thank you for using SirZippy

11. Full Copyright Statement

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

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

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

This document and the information contained herein is provided on an
"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
------分隔线----------------------------
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
最新评论 查看所有评论
发表评论 查看所有评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码:
推荐内容