]>
Commit | Line | Data |
---|---|---|
ef416fc2 | 1 | |
2 | ||
3 | ||
4 | ||
5 | ||
6 | ||
7 | Network Working Group C. Kugler | |
8 | Request for Comments: 3239 H. Lewis | |
9 | Category: Informational IBM Corporation | |
10 | T. Hastings | |
11 | Xerox Corporation | |
12 | February 2002 | |
13 | ||
14 | ||
15 | Internet Printing Protocol (IPP): | |
16 | Requirements for Job, Printer, and Device Administrative Operations | |
17 | ||
18 | ||
19 | Status of this Memo | |
20 | ||
21 | This memo provides information for the Internet community. It does | |
22 | not specify an Internet standard of any kind. Distribution of this | |
23 | memo is unlimited. | |
24 | ||
25 | Copyright Notice | |
26 | ||
27 | Copyright (C) The Internet Society (2002). All Rights Reserved. | |
28 | ||
29 | Abstract | |
30 | ||
31 | This document specifies the requirements and uses cases for some | |
32 | optional administrative operations for use with the Internet Printing | |
33 | Protocol (IPP) version 1.0 and version 1.1. Some of these | |
34 | administrative operations operate on the IPP Job and Printer objects. | |
35 | The remaining operations operate on a new Device object that more | |
36 | closely models a single output device. | |
37 | ||
38 | Table of Contents | |
39 | ||
40 | 1 Introduction.....................................................2 | |
41 | 2 Terminology......................................................2 | |
42 | 3 Requirements and Use Cases.......................................3 | |
43 | 4 IANA Considerations.............................................10 | |
44 | 5 Internationalization Considerations.............................10 | |
45 | 6 Security Considerations.........................................10 | |
46 | 7 References......................................................11 | |
47 | Appendix A: Description of base IPP documents......................12 | |
48 | Authors' Addresses.................................................14 | |
49 | Full Copyright Statement...........................................15 | |
50 | ||
51 | List of Tables | |
52 | ||
53 | Table 1 - List of Printer Operations and corresponding Device | |
54 | Operations ..................................................... 9 | |
55 | ||
56 | ||
57 | ||
58 | Kugler, Lewis & Hastings Informational [Page 1] | |
59 | \f | |
60 | RFC 3239 IPP: Req. for Job and Printer Admin Ops February 2002 | |
61 | ||
62 | ||
63 | 1 Introduction | |
64 | ||
65 | The Internet Printing Protocol (IPP) is an application level protocol | |
66 | that can be used for distributed printing using Internet tools and | |
67 | technologies. IPP version 1.1 ([RFC2911, RFC2910]) focuses on end | |
68 | user functionality with a few administrative operations included (for | |
69 | a description of the base IPP documents, see Appendix A). This | |
70 | document defines the requirements and use cases for additional | |
71 | optional end user, operator, and administrator operations used to | |
72 | control Job objects, Printer objects (see [RFC2911]) and a new Device | |
73 | object. The new Device object more closely models a single output | |
74 | device and has no notion of a job, while the Printer object models a | |
75 | print service which understands jobs and may represent one or more | |
76 | output devices. | |
77 | ||
78 | The scope of IPP is characterized in RFC 2567 [RFC2567] "Design Goals | |
79 | for an Internet Printing Protocol". It is not the intent of this | |
80 | document to revise or clarify this scope or conjecture as to the | |
81 | degree of industry adoption or trends related to IPP within printing | |
82 | systems. It is the intent of this document to extend the original | |
83 | set of operations - in a similar fashion to the Set1 extensions which | |
84 | referred to IPP/1.0 and were later incorporated into IPP/1.1. | |
85 | ||
86 | 2 Terminology | |
87 | ||
88 | This section defines terminology used throughout this document and | |
89 | the corresponding documents that define the Administrative operations | |
90 | on Job, Printer, and Device objects. | |
91 | ||
92 | This document uses terms such as "client", "Printer", "Job", | |
93 | "attributes", "keywords", and "support". These terms have special | |
94 | meaning and are defined in the model terminology [RFC2911] section | |
95 | 12.2. | |
96 | ||
97 | In addition, the following capitalized terms are defined: | |
98 | ||
99 | IPP Printer object (or Printer for short) - a software abstraction | |
100 | defined by [RFC2911]. | |
101 | ||
102 | Printer Operation - an operation whose target is an IPP Printer | |
103 | object and whose effect is on the Printer object. | |
104 | ||
105 | Output Device - the physical imaging mechanism that an IPP Printer | |
106 | controls. Note: while this term is capitalized in this | |
107 | specification (but not in [RFC2911]), there is no formal object | |
108 | called an Output Device. | |
109 | ||
110 | ||
111 | ||
112 | ||
113 | ||
114 | Kugler, Lewis & Hastings Informational [Page 2] | |
115 | \f | |
116 | RFC 3239 IPP: Req. for Job and Printer Admin Ops February 2002 | |
117 | ||
118 | ||
119 | Device Operation - an operation whose target is an IPP Printer | |
120 | object and whose defined effect is on an Output Device. | |
121 | ||
122 | Output Device Fan-Out - a configuration in which an IPP Printer | |
123 | controls more that one output-device. | |
124 | ||
125 | Printer fan-out - a configuration in which an IPP Printer object | |
126 | controls more than one Subordinate IPP Printer object. | |
127 | ||
128 | Printer fan-in - a configuration in which an IPP Printer object is | |
129 | controlled by more than one IPP Printer object. | |
130 | ||
131 | Subordinate Printer - an IPP Printer object that is controlled by | |
132 | another IPP Printer object. Such a Subordinate Printer may | |
133 | have one or more Subordinate Printers. | |
134 | ||
135 | Leaf Printer - a Subordinate Printer that has no Subordinate | |
136 | Printers. | |
137 | ||
138 | Non-Leaf Printer - an IPP Printer object that has one or more | |
139 | Subordinate Printers. | |
140 | ||
141 | Chained Printer - a Non-Leaf Printer that has exactly one | |
142 | Subordinate Printer. | |
143 | ||
144 | Job Creation operations - IPP operations that create a Job object: | |
145 | Print-Job, Print-URI, and Create-Job. | |
146 | ||
147 | 3 Requirements and Use Cases | |
148 | ||
149 | The Administrative operations for Job and Printer objects will be | |
150 | defined in one document [ipp-ops-set2]. The Administrative | |
151 | operations for Device objects will be defined in a separate document. | |
152 | The requirements are presented here together to show the parallelism. | |
153 | ||
154 | 1. Have separate operations for affecting the IPP Printer | |
155 | versus affecting the Output Device, so its clear what the | |
156 | intent of each is, and implementers can implement one or the | |
157 | other or both. | |
158 | ||
159 | 2. Support fan-out of Printer objects. | |
160 | ||
161 | 3. Support fan-out of Output Devices. | |
162 | ||
163 | 4. Support fan-in of Printer objects, as long as it doesn't | |
164 | make the semantics more complicated when not supporting | |
165 | fan-in. | |
166 | ||
167 | ||
168 | ||
169 | ||
170 | Kugler, Lewis & Hastings Informational [Page 3] | |
171 | \f | |
172 | RFC 3239 IPP: Req. for Job and Printer Admin Ops February 2002 | |
173 | ||
174 | ||
175 | 5. Support fan-in of output objects, as long as it doesn't make | |
176 | the semantics more complicated when not supporting fan-in. | |
177 | ||
178 | 6. Instead of having operation attributes that alter the | |
179 | behavior of the operation significantly, have separate | |
180 | operations, so that it is simple and clear to a client which | |
181 | semantics the Printer is supporting (by querying the | |
182 | "operations-supported" attribute) and it is simple to | |
183 | describe the capabilities of a Printer implementation in | |
184 | written documentation (just list the optional operations | |
185 | supported). | |
186 | ||
187 | 7. Need a Printer Operation to prevent a Printer object from | |
188 | accepting new IPP jobs, but currently accepted jobs continue | |
189 | unaffected to be scheduled and processed. Need a companion | |
190 | one to restore the Printer object to accept new IPP jobs. | |
191 | ||
192 | Usage: Operator is preparing to take the IPP Printer out of | |
193 | service or to change the configuration of the IPP Printer. | |
194 | ||
195 | Suggested name and operations: Disable-Printer and Enable- | |
196 | Printer | |
197 | ||
198 | 8. Need a Device Operation to prevent an Output Device from | |
199 | accepting any new jobs from any job submission protocol and | |
200 | a companion one to restore the Output Device to accepting | |
201 | any jobs. | |
202 | ||
203 | Usage: Operator is preparing to take the Output Device out | |
204 | of service. | |
205 | ||
206 | Suggested name and operations: Disable-Device and Enable | |
207 | Device | |
208 | ||
209 | 9. Need a Printer Operation to stop the processing after the | |
210 | current IPP job completes and not start processing any | |
211 | additional IPP jobs (either by scheduling the jobs or | |
212 | sending them to the Output Device), but continue to accept | |
213 | new IPP jobs. Need a companion operation to start | |
214 | processing/sending IPP jobs again. | |
215 | ||
216 | Usage: Operator wants to gracefully stop the IPP Printer at | |
217 | the next job boundary. The Pause-Printer-After-Current-Job | |
218 | operation is also invoked implicitly by the Deactivate- | |
219 | Printer and the Shutdown-Printer Operations. | |
220 | ||
221 | Suggested name and operations: Pause-Printer-After- | |
222 | Current-Job, (IPP/1.1) Resume-Printer | |
223 | ||
224 | ||
225 | ||
226 | Kugler, Lewis & Hastings Informational [Page 4] | |
227 | \f | |
228 | RFC 3239 IPP: Req. for Job and Printer Admin Ops February 2002 | |
229 | ||
230 | ||
231 | 10. Need a Device Operation to stop the processing the current | |
232 | job "immediately", no matter what protocol. Its like the | |
233 | Pause button on the Output Device. This operation is for | |
234 | emergencies. The stop point depends on implementation, but | |
235 | can be mid page, end of page, end of sheet, or after a few | |
236 | sheets for Output Devices that can't stop that quickly. The | |
237 | paper path isn't run out. Need a companion operation to | |
238 | start processing the current any-protocol job without losing | |
239 | any thing. | |
240 | ||
241 | Usage: Operator sees something bad about to happen, such as | |
242 | the paper is about to jam, or the toner is running out, or | |
243 | the device is overheating or wants to add more paper. | |
244 | ||
245 | Suggested name and operations: Pause-Device-Now, Resume- | |
246 | Device | |
247 | ||
248 | 11. Need a Printer Operation to stop the processing of IPP jobs | |
249 | after all of the currently accepted jobs have been | |
250 | processed, but any newly accepted jobs go into the | |
251 | 'processing-held' state. | |
252 | ||
253 | Usage: This allows an operator to reconfigure the Output | |
254 | Device in order to let jobs that are held waiting for | |
255 | resources, such as special media, get a chance. Then the | |
256 | operator uses another operation after reconfiguring. He | |
257 | repeats the two operations to restore the Output Device to | |
258 | its normal media. | |
259 | ||
260 | Suggested name and operations: Hold-New-Jobs, Release- | |
261 | Held-New-Jobs | |
262 | ||
263 | 12. Need a Device Operation to stop processing the current any- | |
264 | protocol job at a convenient point, such as after the | |
265 | current copy (or end of job if last or only copy). Need a | |
266 | companion operation to start processing the current any- | |
267 | protocol job or next job without losing any thing. | |
268 | ||
269 | Usage: The operator wants to empty the output bin that is | |
270 | near full. The paper path is run out. | |
271 | ||
272 | Suggested name and operations: Pause-Device-After-Current- | |
273 | Copy, Resume-Device | |
274 | ||
275 | ||
276 | ||
277 | ||
278 | ||
279 | ||
280 | ||
281 | ||
282 | Kugler, Lewis & Hastings Informational [Page 5] | |
283 | \f | |
284 | RFC 3239 IPP: Req. for Job and Printer Admin Ops February 2002 | |
285 | ||
286 | ||
287 | 13. Need a Device Operation that always pauses on a device- | |
288 | defined boundary, no matter how many copies, in order to not | |
289 | break up a job. Need a companion operation to start | |
290 | processing the current any-protocol job or next job without | |
291 | losing any thing. | |
292 | ||
293 | Usage: The operator wants to empty the output bin that is | |
294 | near full, but he doesn't want to break up a job in case it | |
295 | has multiple copies. The paper path is run out. | |
296 | ||
297 | Suggested name and operations: Pause-Device-After-Current- | |
298 | Job, Resume-Device | |
299 | ||
300 | 14. Need a Printer Operation that combines Disable-Printer, | |
301 | Pause-Printer-After-Current-Job, and rejects all other Job, | |
302 | Printer, and Device Operations, except Job and Printer | |
303 | queries, System Administrator Set-Printer-Attributes, and | |
304 | the companion operation to resume activity. In other words, | |
305 | this operation makes the Printer a read-only object in a | |
306 | graceful manner for end-users and the operator. | |
307 | ||
308 | Usage: The administrator wants to reconfigure the Printer | |
309 | object using the Set-Printer-Attributes operation without | |
310 | disturbing the current in process work, but wants to make | |
311 | sure that the operator isn't also trying to change the | |
312 | Printer object as part of running the Printer. | |
313 | ||
314 | Suggested name and operation: Deactivate-Printer, | |
315 | Activate-Printer | |
316 | ||
317 | 15. Need a Device Operation that combines Disable-Device, | |
318 | Pause-Device-After-Current-Job, and rejects all other Device | |
319 | Operations, except Job and Printer queries and the companion | |
320 | operation to resume activity. In other words, this | |
321 | operation makes the Output Device a read-only object in a | |
322 | graceful manner. | |
323 | ||
324 | Usage: The field service person wants to open up the device | |
325 | without disturbing the current in process work, perhaps to | |
326 | replace staples, or replace the toner cartridge. | |
327 | ||
328 | Suggested name and operation: Deactivate-Device, Activate- | |
329 | Device | |
330 | ||
331 | ||
332 | ||
333 | ||
334 | ||
335 | ||
336 | ||
337 | ||
338 | Kugler, Lewis & Hastings Informational [Page 6] | |
339 | \f | |
340 | RFC 3239 IPP: Req. for Job and Printer Admin Ops February 2002 | |
341 | ||
342 | ||
343 | 16. Need a Printer Operation to recover from the IPP Printer | |
344 | software that has gotten confused (run out of heap memory or | |
345 | gotten into a state that it doesn't seem to be able to get | |
346 | out of). This is a condition that shouldn't happen, but | |
347 | does in real life. Any volatile information is saved if | |
348 | possible before the software is re-initialized. No | |
349 | companion operation is needed to undo this. We don't want | |
350 | to go back to the "confused" state :-). | |
351 | ||
352 | Usage: The IPP Printer software has gotten confused or | |
353 | isn't responding properly. | |
354 | ||
355 | Suggested name and operation: Restart-Printer | |
356 | ||
357 | 17. Need a Device Operation to recover from the Output Device | |
358 | hardware and software that has gotten confused (gotten into | |
359 | a state that it doesn't seem to be able to get out of, run | |
360 | out of heap memory, etc.). This is a condition that | |
361 | shouldn't happen, but does in real life. This is the same | |
362 | and has the same options as the Printer MIB reset. No | |
363 | companion operation is needed to undo this. We don't want | |
364 | to go back to the "confused" state :-). | |
365 | ||
366 | Usage: The Output Device has gotten confused or need | |
367 | resetting to some initial conditions. | |
368 | ||
369 | Suggested name and operation: Reset-Device | |
370 | ||
371 | 18. Need a Printer Operation to put the IPP Printer object out | |
372 | of business with no way in the protocol to bring that | |
373 | instantiation back to life (but see Startup-Printer which | |
374 | brings up exactly one new instantiation to life with the | |
375 | same URL). Any volatile information is saved if possible. | |
376 | ||
377 | Usage: The Printer is being moved or the building's power | |
378 | is being shut off. | |
379 | ||
380 | Suggested name and operation: Shutdown-Printer | |
381 | ||
382 | 19. Need a Printer Operation to bring an IPP Printer to life | |
383 | when there is an already running host. | |
384 | ||
385 | Usage: After the host is started (by means outside the IPP | |
386 | protocol), the operator is able to ask the host to bring up | |
387 | any number of Printer objects (that the host has been | |
388 | configured in some way) each with distinct URLs. | |
389 | ||
390 | Suggested name and operation: Startup-Printer | |
391 | ||
392 | ||
393 | ||
394 | Kugler, Lewis & Hastings Informational [Page 7] | |
395 | \f | |
396 | RFC 3239 IPP: Req. for Job and Printer Admin Ops February 2002 | |
397 | ||
398 | ||
399 | 20. Need a Device Operation to power off the Output Device after | |
400 | writing out any software state. It is assumed that other | |
401 | operations have more gracefully prepared the Output Device | |
402 | for this drastic and immediate. There is no companion | |
403 | Device Operation to bring the power back on. | |
404 | ||
405 | Usage: The Output Device is going to be moved, the power in | |
406 | the building is going to be shutoff, the repair man has | |
407 | arrived and needs to take the Output Device apart. | |
408 | ||
409 | Suggested name and operation: Power-Off-Device | |
410 | ||
411 | 21. Need a Device Operation to startup a powered-off device. | |
412 | ||
413 | Usage: After a Power-Off-Device, if the device can be | |
414 | powered back up (possibly by an intervening host that | |
415 | supports the Device Operation). | |
416 | ||
417 | Suggest name and operation: Power-On-Device | |
418 | ||
419 | ||
420 | ||
421 | ||
422 | ||
423 | ||
424 | ||
425 | ||
426 | ||
427 | ||
428 | ||
429 | ||
430 | ||
431 | ||
432 | ||
433 | ||
434 | ||
435 | ||
436 | ||
437 | ||
438 | ||
439 | ||
440 | ||
441 | ||
442 | ||
443 | ||
444 | ||
445 | ||
446 | ||
447 | ||
448 | ||
449 | ||
450 | Kugler, Lewis & Hastings Informational [Page 8] | |
451 | \f | |
452 | RFC 3239 IPP: Req. for Job and Printer Admin Ops February 2002 | |
453 | ||
454 | ||
455 | The tentative list of Printer and the corresponding Device Operations | |
456 | is shown in Table 1: | |
457 | ||
458 | Table 1 - List of Printer Operations and corresponding Device | |
459 | Operations | |
460 | ||
461 | Printer Operation Corresponding Device Operation | |
462 | equivalent | |
463 | ||
464 | Disable-Printer Disable-Device | |
465 | ||
466 | Enable-Printer Enable-Device | |
467 | ||
468 | Pause-Printer (IPP/1.1 - [RFC2911] Pause-Device-Now | |
469 | - one interpretation) | |
470 | ||
471 | no Pause-Device-After-Current-Copy | |
472 | ||
473 | Pause-Printer-After-Current-Job Pause-Device-After-Current-Job | |
474 | ||
475 | Resume-Printer (IPP/1.1 - Resume-Device | |
476 | [RFC2911]) | |
477 | ||
478 | Hold-New-Jobs no | |
479 | ||
480 | Release-Held-New-Jobs no | |
481 | ||
482 | Deactivate-Printer Deactivate-Device | |
483 | ||
484 | Activate-Printer Activate-Device | |
485 | ||
486 | Purge-Jobs (IPP/1.1 - [RFC2911]) Purge-Device | |
487 | ||
488 | Restart-Printer Reset-Device | |
489 | ||
490 | Shutdown-Printer Power-Off-Device | |
491 | ||
492 | Startup-Printer Power-On-Device | |
493 | ||
494 | There are no conformance dependencies between Printer Operations and | |
495 | Device Operations. Either may be supported without supporting the | |
496 | corresponding operations. | |
497 | ||
498 | ||
499 | ||
500 | ||
501 | ||
502 | ||
503 | ||
504 | ||
505 | ||
506 | Kugler, Lewis & Hastings Informational [Page 9] | |
507 | \f | |
508 | RFC 3239 IPP: Req. for Job and Printer Admin Ops February 2002 | |
509 | ||
510 | ||
511 | 4 IANA Considerations | |
512 | ||
513 | This document does not define anything to be registered. When a | |
514 | document is produced that defines operations that meet the | |
515 | requirements in this document, those operations will be registered | |
516 | according to the procedures in [RFC2911] section 6.4. | |
517 | ||
518 | 5 Internationalization Considerations | |
519 | ||
520 | This document has the same localization considerations as the | |
521 | [RFC2911]. | |
522 | ||
523 | 6 Security Considerations | |
524 | ||
525 | This document defines the requirements for operations that are | |
526 | intended to be used by an operator or system administrator. These | |
527 | operations, when defined, would affect how the Printer behaves and | |
528 | establish policy and/or operating behavior that ordinary users | |
529 | shouldn't be able to perform. Printer implementations that support | |
530 | such operations should authenticate users and authorized them as | |
531 | being an operator or a system administrator for the system. | |
532 | Otherwise, unprivileged users could affect the policy and behavior of | |
533 | IPP Printers, thereby affecting other users. Similarly clients that | |
534 | supports such operations should be prepared to provide the necessary | |
535 | authentication information. See the security provisions in [RFC2911] | |
536 | for authentication, such as TLS. | |
537 | ||
538 | ||
539 | ||
540 | ||
541 | ||
542 | ||
543 | ||
544 | ||
545 | ||
546 | ||
547 | ||
548 | ||
549 | ||
550 | ||
551 | ||
552 | ||
553 | ||
554 | ||
555 | ||
556 | ||
557 | ||
558 | ||
559 | ||
560 | ||
561 | ||
562 | Kugler, Lewis & Hastings Informational [Page 10] | |
563 | \f | |
564 | RFC 3239 IPP: Req. for Job and Printer Admin Ops February 2002 | |
565 | ||
566 | ||
567 | 7 References | |
568 | ||
569 | [ipp-ntfy] Herriot, R., Hastings, T., Isaacson, S., Martin, J., | |
570 | deBry, R., Shepherd, M. and R. Bergman, "Internet | |
571 | Printing Protocol/1.1: IPP Event Notifications and | |
572 | Subscriptions", Work in Progress. | |
573 | ||
574 | [ipp-ops-set2] Kugler, C., Hastings, T. and H. Lewis, "Internet | |
575 | Printing Protocol (IPP): Job and Printer | |
576 | Administrative Operations", Work in Progress. | |
577 | ||
578 | [RFC2565] Herriot, R., Butler, S., Moore, P. and R. Tuner, | |
579 | "Internet Printing Protocol/1.0: Encoding and | |
580 | Transport", RFC 2565, April 1999. | |
581 | ||
582 | [RFC2566] deBry, R., Hastings, T., Herriot, R. and S. Isaacson, | |
583 | P. Powell, "Internet Printing Protocol/1.0: Model and | |
584 | Semantics", RFC 2566, April 1999. | |
585 | ||
586 | [RFC2567] Wright, D., "Design Goals for an Internet Printing | |
587 | Protocol", RFC 2567, April 1999. | |
588 | ||
589 | [RFC2568] Zilles, S., "Rationale for the Structure and Model and | |
590 | Protocol for the Internet Printing Protocol", RFC | |
591 | 2568, April 1999. | |
592 | ||
593 | [RFC2569] Herriot, R., Hastings, T., Jacobs, N. and J. Martin, | |
594 | "Mapping between LPD and IPP Protocols", RFC 2569, | |
595 | April 1999. | |
596 | ||
597 | [RFC2616] Fielding, R., Gettys, J., Mogul, J., Frystyk, H., | |
598 | Masinter, L., Leach, P. and T. Berners-Lee, "Hypertext | |
599 | Transfer Protocol - HTTP/1.1", RFC 2616, June 1999. | |
600 | ||
601 | [RFC2910] Herriot, R., Butler, S., Moore, P. and R. Tuner, | |
602 | "Internet Printing Protocol/1.1: Encoding and | |
603 | Transport", RFC 2910, September 2000. | |
604 | ||
605 | [RFC2911] deBry, R., Hastings, T., Herriot, R., Isaacson, S. and | |
606 | P. Powell, "Internet Printing Protocol/1.0: Model and | |
607 | Semantics", RFC 2911, September 2000. | |
608 | ||
609 | [RFC3196] Hastings, T., Manros, C., Zehler, P., Kuger, C. and H. | |
610 | Holst, "Internet Printing Protocol/1.1: Implementer's | |
611 | Guide", RFC 3196, November 2001. | |
612 | ||
613 | ||
614 | ||
615 | ||
616 | ||
617 | ||
618 | Kugler, Lewis & Hastings Informational [Page 11] | |
619 | \f | |
620 | RFC 3239 IPP: Req. for Job and Printer Admin Ops February 2002 | |
621 | ||
622 | ||
623 | Appendix A: Description of base IPP documents | |
624 | ||
625 | The base set of IPP documents includes: | |
626 | ||
627 | Design Goals for an Internet Printing Protocol [RFC2567] | |
628 | Rationale for the Structure and Model and Protocol for the | |
629 | Internet Printing Protocol [RFC2568] | |
630 | Internet Printing Protocol/1.1: Model and Semantics [RFC2911] | |
631 | Internet Printing Protocol/1.1: Encoding and Transport [RFC2910] | |
632 | Internet Printing Protocol/1.1: Implementer's Guide [RFC3196] | |
633 | Mapping between LPD and IPP Protocols [RFC2569] | |
634 | Internet Printing Protocol (IPP): IPP Event Notifications and | |
635 | Subscriptions [ipp-ntfy] | |
636 | ||
637 | The "Design Goals for an Internet Printing Protocol" document takes a | |
638 | broad look at distributed printing functionality, and it enumerates | |
639 | real-life scenarios that help to clarify the features that need to be | |
640 | included in a printing protocol for the Internet. It identifies | |
641 | requirements for three types of users: end users, operators, and | |
642 | administrators. It calls out a subset of end user requirements that | |
643 | are satisfied in IPP/1.0. A few optional operator operations have | |
644 | been added to IPP/1.1. | |
645 | ||
646 | The "Rationale for the Structure and Model and Protocol for the | |
647 | Internet Printing Protocol" document describes IPP from a high level | |
648 | view, defines a roadmap for the various documents that form the suite | |
649 | of IPP specification documents, and gives background and rationale | |
650 | for the IETF working group's major decisions. | |
651 | ||
652 | The "Internet Printing Protocol/1.1: Model and Semantics" document | |
653 | describes a simplified model with abstract objects, their attributes, | |
654 | and their operations that are independent of encoding and transport. | |
655 | It introduces a Printer and a Job object. The Job object optionally | |
656 | supports multiple documents per Job. It also addresses security, | |
657 | internationalization, and directory issues. | |
658 | ||
659 | The "Internet Printing Protocol/1.1: Encoding and Transport" document | |
660 | is a formal mapping of the abstract operations and attributes defined | |
661 | in the model document onto HTTP/1.1 [RFC2616]. It defines the | |
662 | encoding rules for a new Internet MIME media type called | |
663 | "application/ipp". This document also defines the rules for | |
664 | transporting over HTTP a message body whose Content-Type is | |
665 | "application/ipp". This document defines the 'ippget' scheme for | |
666 | identifying IPP printers and jobs. | |
667 | ||
668 | ||
669 | ||
670 | ||
671 | ||
672 | ||
673 | ||
674 | Kugler, Lewis & Hastings Informational [Page 12] | |
675 | \f | |
676 | RFC 3239 IPP: Req. for Job and Printer Admin Ops February 2002 | |
677 | ||
678 | ||
679 | The "Internet Printing Protocol/1.1: Implementer's Guide" document | |
680 | gives insight and advice to implementers of IPP clients and IPP | |
681 | objects. It is intended to help them understand IPP/1.1 and some of | |
682 | the considerations that may assist them in the design of their client | |
683 | and/or IPP object implementations. For example, a typical order of | |
684 | processing requests is given, including error checking. Motivation | |
685 | for some of the specification decisions is also included. | |
686 | ||
687 | The "Mapping between LPD and IPP Protocols" document gives some | |
688 | advice to implementers of gateways between IPP and LPD (Line Printer | |
689 | Daemon) implementations. | |
690 | ||
691 | The "IPP Event Notifications and Subscriptions" document defines an | |
692 | extension to IPP/1.0 [RFC2566, RFC2565] and IPP/1.1 [RFC2911, | |
693 | RFC2910]. This extension allows a client to subscribe to printing | |
694 | related Events and defines the semantics for delivering asynchronous | |
695 | ||
696 | Event Notifications to the specified Notification Recipient via a | |
697 | specified Delivery Method (i.e., protocols) defined in (separate) | |
698 | Delivery Method documents. | |
699 | ||
700 | ||
701 | ||
702 | ||
703 | ||
704 | ||
705 | ||
706 | ||
707 | ||
708 | ||
709 | ||
710 | ||
711 | ||
712 | ||
713 | ||
714 | ||
715 | ||
716 | ||
717 | ||
718 | ||
719 | ||
720 | ||
721 | ||
722 | ||
723 | ||
724 | ||
725 | ||
726 | ||
727 | ||
728 | ||
729 | ||
730 | Kugler, Lewis & Hastings Informational [Page 13] | |
731 | \f | |
732 | RFC 3239 IPP: Req. for Job and Printer Admin Ops February 2002 | |
733 | ||
734 | ||
735 | Authors' Addresses | |
736 | ||
737 | Carl Kugler | |
738 | IBM | |
739 | Boulder CO | |
740 | ||
741 | Phone: (303) 924-5060 | |
742 | EMail: kugler@us.ibm.com | |
743 | ||
744 | ||
745 | Tom Hastings | |
746 | Xerox Corporation | |
747 | 737 Hawaii St. ESAE 231 | |
748 | El Segundo, CA 90245 | |
749 | ||
750 | Phone: 310-333-6413 | |
751 | Fax: 310-333-5514 | |
752 | EMail: hastings@cp10.es.xerox.com | |
753 | ||
754 | ||
755 | Harry Lewis | |
756 | IBM | |
757 | Boulder CO | |
758 | ||
759 | Phone: (303) 924-5337 | |
760 | EMail: harryl@us.ibm.com | |
761 | ||
762 | IPP Web Page: http://www.pwg.org/ipp/ | |
763 | IPP Mailing List: ipp@pwg.org | |
764 | ||
765 | To subscribe to the ipp mailing list, send the following email: | |
766 | ||
767 | 1) send it to majordomo@pwg.org | |
768 | 2) leave the subject line blank | |
769 | 3) put the following two lines in the message body: | |
770 | subscribe ipp | |
771 | end | |
772 | ||
773 | Implementers of this specification document are encouraged to join | |
774 | the IPP Mailing List in order to participate in any discussions of | |
775 | clarification issues and review of registration proposals for | |
776 | additional attributes and values. In order to reduce spam the | |
777 | mailing list rejects mail from non-subscribers, so you must subscribe | |
778 | to the mailing list in order to send a question or comment to the | |
779 | mailing list. | |
780 | ||
781 | ||
782 | ||
783 | ||
784 | ||
785 | ||
786 | Kugler, Lewis & Hastings Informational [Page 14] | |
787 | \f | |
788 | RFC 3239 IPP: Req. for Job and Printer Admin Ops February 2002 | |
789 | ||
790 | ||
791 | Full Copyright Statement | |
792 | ||
793 | Copyright (C) The Internet Society (2002). All Rights Reserved. | |
794 | ||
795 | This document and translations of it may be copied and furnished to | |
796 | others, and derivative works that comment on or otherwise explain it | |
797 | or assist in its implementation may be prepared, copied, published | |
798 | and distributed, in whole or in part, without restriction of any | |
799 | kind, provided that the above copyright notice and this paragraph are | |
800 | included on all such copies and derivative works. However, this | |
801 | document itself may not be modified in any way, such as by removing | |
802 | the copyright notice or references to the Internet Society or other | |
803 | Internet organizations, except as needed for the purpose of | |
804 | developing Internet standards in which case the procedures for | |
805 | copyrights defined in the Internet Standards process must be | |
806 | followed, or as required to translate it into languages other than | |
807 | English. | |
808 | ||
809 | The limited permissions granted above are perpetual and will not be | |
810 | revoked by the Internet Society or its successors or assigns. | |
811 | ||
812 | This document and the information contained herein is provided on an | |
813 | "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING | |
814 | TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING | |
815 | BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION | |
816 | HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF | |
817 | MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. | |
818 | ||
819 | Acknowledgement | |
820 | ||
821 | Funding for the RFC Editor function is currently provided by the | |
822 | Internet Society. | |
823 | ||
824 | ||
825 | ||
826 | ||
827 | ||
828 | ||
829 | ||
830 | ||
831 | ||
832 | ||
833 | ||
834 | ||
835 | ||
836 | ||
837 | ||
838 | ||
839 | ||
840 | ||
841 | ||
842 | Kugler, Lewis & Hastings Informational [Page 15] | |
843 | \f |