Network Working Group T. Hastings, Ed. Request for Comments: 3997 Xerox Corporation Category: Informational R. K. deBry Utah Valley State College H. Lewis IBM Corporation March 2005
Network Working Group T. Hastings, Ed. Request for Comments: 3997 Xerox Corporation Category: Informational R. K. deBry Utah Valley State College H. Lewis IBM Corporation March 2005
Internet Printing Protocol (IPP): Requirements for IPP Notifications
互联网打印协议(IPP):IPP通知的要求
Status of This Memo
关于下段备忘
This memo provides information for the Internet community. It does not specify an Internet standard of any kind. Distribution of this memo is unlimited.
本备忘录为互联网社区提供信息。它没有规定任何类型的互联网标准。本备忘录的分发不受限制。
Copyright Notice
版权公告
Copyright (C) The Internet Society (2005).
版权所有(C)互联网协会(2005年)。
Abstract
摘要
This document is one of a set of documents that together describe all aspects of the Internet Printing Protocol (IPP). IPP is an application-level protocol that can be used for distributed printing on the Internet. There are multiple parts to IPP, but the primary architectural components are the Model, the Protocol, and an interface to Directory Services. This document provides a statement of the requirements for notifications as an optional part of an IPP Service.
本文档是描述互联网打印协议(IPP)所有方面的一组文档之一。IPP是一种应用程序级协议,可用于Internet上的分布式打印。IPP有多个部分,但主要的体系结构组件是模型、协议和目录服务接口。本文件说明了作为IPP服务可选部分的通知要求。
Table of Contents
目录
1. Introduction. . . . . . . . . . . . . . . . . . . . . . . . . 2 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 2 3. Scenarios . . . . . . . . . . . . . . . . . . . . . . . . . . 6 4. Requirements. . . . . . . . . . . . . . . . . . . . . . . . . 10 5. Security Considerations for IPP Notifications Requirements. . 12 6. Internationalization Considerations . . . . . . . . . . . . . 13 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 13 8. References. . . . . . . . . . . . . . . . . . . . . . . . . . 14 8.1. Normative References. . . . . . . . . . . . . . . . . . 14 8.2. Informative References. . . . . . . . . . . . . . . . . 14 9. Appendix A: Description of the Base IPP Documents . . . . . . 15 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 16 Full Copyright Statement . . . . . . . . . . . . . . . . . . . . . 17
1. Introduction. . . . . . . . . . . . . . . . . . . . . . . . . 2 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 2 3. Scenarios . . . . . . . . . . . . . . . . . . . . . . . . . . 6 4. Requirements. . . . . . . . . . . . . . . . . . . . . . . . . 10 5. Security Considerations for IPP Notifications Requirements. . 12 6. Internationalization Considerations . . . . . . . . . . . . . 13 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 13 8. References. . . . . . . . . . . . . . . . . . . . . . . . . . 14 8.1. Normative References. . . . . . . . . . . . . . . . . . 14 8.2. Informative References. . . . . . . . . . . . . . . . . 14 9. Appendix A: Description of the Base IPP Documents . . . . . . 15 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 16 Full Copyright Statement . . . . . . . . . . . . . . . . . . . . . 17
This document is one of a set of documents that together describe all aspects of the Internet Printing Protocol (IPP). IPP is an application level protocol that can be used for distributed printing on the Internet. There are multiple parts to IPP, but the primary architectural components are the Model, the Protocol, and an interface to Directory Services. This document provides a statement of the requirements for notifications as an optional part of an IPP Service. See section 10 for a description of the base IPP documents.
本文档是描述互联网打印协议(IPP)所有方面的一组文档之一。IPP是一种应用程序级协议,可用于Internet上的分布式打印。IPP有多个部分,但主要的体系结构组件是模型、协议和目录服务接口。本文件说明了作为IPP服务可选部分的通知要求。有关基本IPP文件的说明,请参见第10节。
The scope of this requirements document covers functionality used by the following kinds of IPP Users: End Users, Print Administrators, and Operators. See [RFC3995] for the extensions to the Internet Printing Protocol/1.0 (IPP) [RFC2565], [RFC2566], IPP/1.1 [RFC2911], [RFC2910], and future versions.
本需求文档的范围涵盖以下类型IPP用户使用的功能:最终用户、打印管理员和操作员。有关Internet打印协议/1.0(IPP)[RFC2565]、[RFC2566]、IPP/1.1[RFC2911]、[RFC2910]和未来版本的扩展,请参见[RFC3995]。
It is necessary to define a set of terms to be able to clearly express the requirements for notification services in an IPP System.
有必要定义一组术语,以便能够清楚地表达IPP系统中通知服务的要求。
A human end user who submits a print job to an IPP Printer. This person may or may not be within the same security domain as the Printer. This person may or may not be geographically near the printer.
向IPP打印机提交打印作业的人工最终用户。此人可能与打印机在同一安全域内,也可能不在同一安全域内。此人可能在打印机附近,也可能不在打印机附近。
A human user who established policy for and configures the print system.
为打印系统建立策略并进行配置的人工用户。
A human user who carries out the policy established by the Administrator and controls the day-to-day running of the print system.
执行管理员制定的策略并控制打印系统日常运行的人工用户。
An application (for example, a batch application), acting on behalf of a Job Submitting End User, that submits a print job to an IPP Printer. The application may or may not be within the same security domain as the Printer. This application may or may not be geographically near the printer.
代表作业提交最终用户向IPP打印机提交打印作业的应用程序(例如,批处理应用程序)。应用程序可能与打印机在同一安全域内,也可能不在同一安全域内。此应用程序可能在打印机附近,也可能不在打印机附近。
For the purposes of this discussion, the set of network components that can communicate without going through a proxy or firewall. A security domain may be geographically very large; for example, anywhere within example.com.
在本讨论中,可以在不通过代理或防火墙的情况下进行通信的一组网络组件。安全域在地理上可能非常大;例如,example.com中的任何位置。
The software component that sends IPP requests to an IPP Printer object and accepts IPP responses from an IPP Printer.
向IPP打印机对象发送IPP请求并接受来自IPP打印机的IPP响应的软件组件。
A human who is the ultimate consumer of the print job. In many cases this will be the same person as the Job-Submitting End User, but this need not always be the case. For example, if I use IPP to print a document on a printer in a business partner's office, I am the Job-Submitting End User, and the person whom I intend the document for in my business partner's office is the Job Recipient. Since one of the goals of IPP is to be able to print near the Job Recipient, we would normally expect that person to be in the same security domain as, and geographically near, the Printer. However, this may not always be the case. For example, I submit a print job across the Internet to a XYZ's print shop. I am both the Submitting End User and the Job Recipient, but I am neither near nor in the same security domain as the Printer.
印刷工作的最终消费者。在许多情况下,这与提交作业的最终用户是同一个人,但情况并非总是如此。例如,如果我使用IPP在业务合作伙伴办公室的打印机上打印文档,我就是提交作业的最终用户,而我打算在业务合作伙伴办公室中为其提供文档的人就是作业接收人。由于IPP的目标之一是能够在作业收件人附近打印,因此我们通常希望该人员与打印机位于同一安全域内,并且地理位置靠近打印机。然而,情况并非总是如此。例如,我通过Internet将打印作业提交给XYZ的打印商店。我既是提交最终用户,也是作业接收者,但我既不靠近打印机,也不与打印机处于同一安全域中。
A person acting on behalf of the Job Recipient. The Job Recipient Proxy physically picks up the printed document from the Printer if the Job Recipient cannot do so. The Proxy is by definition geographically near and in the same security domain as the printer. For example, I submit a print job from home to be printed on a printer at work. I'd like my secretary to pick up the print job and put it on my desk. In this case, I am acting as both a Job-Submitting End User and a Job Recipient. My secretary is acting as a Job Recipient Proxy.
代表工作接受者的人。如果作业收件人无法从打印机中实际拾取打印的文档,则作业收件人代理将从打印机中实际拾取该文档。根据定义,代理在地理位置上靠近打印机,并且与打印机位于同一安全域中。例如,我在家提交打印作业,以便在工作时在打印机上打印。我想让我的秘书把打印工作拿到我桌上。在本例中,我既是作业提交最终用户,也是作业接收者。我的秘书是工作接受者的代理人。
A client that requests the IPP Printer to send Event Notifications to one or more Notification Recipients. A Notification Subscriber may be a Job-Submitting End User or an End User, an Operator, or an Administrator that is not submitting a job.
请求IPP打印机向一个或多个通知收件人发送事件通知的客户端。通知订户可以是提交作业的最终用户,也可以是未提交作业的最终用户、操作员或管理员。
The entity that sends Event Notifications.
发送事件通知的实体。
The entity that receives IPP Notifications about Job and/or Printer events. A Notification Recipient may be a Job Submitting End User, a Job-Submitting Application, a Job Recipient, a Job Recipient Proxy, an Operator, an Administrator, etc., and his or her representative, log file, usage statistics-gathering application, or other active or passive entities.
接收有关作业和/或打印机事件的IPP通知的实体。通知接收者可以是作业提交最终用户、作业提交应用程序、作业接收者、作业接收者代理、操作员、管理员等,以及其代表、日志文件、使用统计数据收集应用程序或其他主动或被动实体。
A program that receives Event Notifications on behalf of the Notification Recipient. The agent may take some action on behalf of the recipient, forward the notification to the recipient via some alternative means (for example, page the recipient), or queue the notification for later retrieval by the recipient.
代表通知接收者接收事件通知的程序。代理可以代表接收者采取一些行动,通过一些替代手段(例如,呼叫接收者)将通知转发给接收者,或者将通知排队等待接收者稍后检索。
An Event is an occurrence (either expected or unexpected) within the printing system of a change of state, condition, or configuration of a Job or Printer object.
事件是打印系统内作业或打印机对象的状态、条件或配置发生变化(预期或意外)。
When an event occurs, an Event Notification is generated that fully describes the event (what the event was, where it occurred, when it occurred, etc.). Event Notifications are delivered to all the Notification Recipients that are subscribed to that Event, if any. The Event Notification is delivered to the address of the Notification Recipient by using the notification delivery method defined in the subscription. However, an Event Notification is sent ONLY if there is a corresponding subscription.
当事件发生时,将生成一个事件通知,该通知将全面描述事件(事件是什么、发生在哪里、发生时间等)。事件通知将传递给订阅该事件的所有通知收件人(如果有)。使用订阅中定义的事件传递方法将通知传递到收件人。但是,仅当存在相应的订阅时,才会发送事件通知。
A Notification Subscription is a request by a Notification Subscriber to the IPP Printer to send Event Notifications to specified Notification Recipient(s) when an event occurs.
通知订阅是通知订户向IPP打印机发出的请求,用于在事件发生时向指定的通知收件人发送事件通知。
IPP Objects (for example, a print job) from which notification are being sent may have associated attributes. A user may want to have one or more of these returned along with a particular notification. In general, these may include any attribute associated with the object emitting the notification. Examples include the following:
从中发送通知的IPP对象(例如打印作业)可能具有相关属性。用户可能希望将其中一个或多个通知与特定通知一起返回。通常,这些属性可能包括与发出通知的对象关联的任何属性。例子包括:
number-of-intervening jobs job-k-octets job-k-octets processed job impressions job-impressions-interpreted job-impressions-completed impressionsCompletedCurrentCopy (job MIB) sheetCompletedCopyNumber (job MIB) sheetsCompletedDocumentNumber (job MIB) Copies-requested Copy-type Output-destination Job-state-reasons Job ID Printer URI Subscription ID (for job independent subscription)
干预作业数job-k-octets job-k-octets处理的作业印象解释的作业印象已完成的印象已完成的当前副本(作业MIB)工作表已完成的副本编号(作业MIB)工作表已完成的副本编号文档编号(作业MIB)副本请求的副本类型输出目标作业状态原因作业ID打印机URI订阅ID(适用于职务独立订阅)
Event Notifications are delivered by using a Delivery Method. An example of a Delivery Method is email.
通过使用传递方法传递事件通知。传递方法的一个例子是电子邮件。
Notifications sent to the Notification Recipient or the Notification Recipient's agent in such a way that the notification arrives immediately, within the limits of common addressing, routing, network congestion, and quality of service.
发送给通知接收者或通知接收者代理的通知,其发送方式应确保通知在公共地址、路由、网络拥塞和服务质量的限制范围内立即到达。
Notifications that are not necessarily delivered to Notification Recipients immediately but are queued for delivery by an intermediate network application, for later retrieval. Email is an example of a store-and-forward notification delivery method.
通知不一定立即传递给通知收件人,但由中间网络应用程序排队等待传递,以便稍后检索。电子邮件是存储转发通知传递方法的一个示例。
Notifications that are delivered by a reliable delivery of packets or character stream, with acknowledgement and retry, so that delivery of the notification is guaranteed within determinate time limits. For example, if the Notification Recipient has logged off and gone home for the day, an immediate notification cannot be guaranteed, even when sent over a reliable transport, because there is nothing there to catch it. Guaranteed delivery requires both store-and-forward notification and a reliable transport.
通过数据包或字符流的可靠传递以及确认和重试来传递的通知,以便在确定的时间限制内保证通知的传递。例如,如果通知收件人已注销并回家一天,则无法保证立即发送通知,即使通过可靠的传输发送,因为没有任何东西可以捕捉到它。保证交付要求存储和转发通知以及可靠的传输。
Notifications are delivered via the fundamental transport address and routing framework, but no acknowledgement or retry is required. Process-to-process communications, if involved, are unconstrained.
通知通过基本传输地址和路由框架传递,但不需要确认或重试。进程间通信(如果涉及)不受限制。
Notifications intended to be consumed by human end users only. Email would be an example of a Human-Consumable Notification, though it could also contain Machine-Consumable Notification.
仅由人工最终用户使用的通知。电子邮件将是人类消费品通知的一个示例,尽管它也可能包含机器消费品通知。
Notifications that are intended for consumption by a program only, such as an IPP Client. Machine-Consumable Notifications may not contain human-readable information. Do we need both human and machine? Machine readable is intended for application-to-application only. The Notification Recipient could process the machine-readable Event Notification into human-readable format.
仅供程序(如IPP客户端)使用的通知。机器耗材通知可能不包含人类可读的信息。我们需要人和机器吗?机器可读仅适用于应用程序对应用程序。通知接收者可以将机器可读的事件通知处理为人类可读的格式。
A mixed notification contains both Human-Consumable and Machine-Consumable information.
混合通知同时包含人类消耗品和机器消耗品信息。
1. Sitting in my office, I submit a print job to the printer down the hall. I am in the same security domain as the printer and, of course, geographically near. I want to know immediately when my print job will be completed (or if there is a problem) because the document I am working on is urgent. I submit the print job with the following attributes:
1. 坐在办公室里,我向楼下的打印机提交一份打印作业。我和打印机在同一个安全域,当然,地理位置也很近。我想立即知道我的打印工作何时完成(或者是否有问题),因为我正在处理的文档很紧急。我提交具有以下属性的打印作业:
- Notification Recipient: Me - Notification Events: All - Notification Attributes: Job-state-reason - Notification Type: Immediate
- 通知收件人:Me-通知事件:全部-通知属性:作业状态原因-通知类型:立即
2. Working from home, I submit a print job to the same printer as in the previous example. However, I am not at work, I cannot physically get the print file or do anything with it. It can wait until I get to work this afternoon. However, I'd like my secretary to pick up the output and put it on my desk so that it doesn't get lost or misfiled. I'd also like a store-and-forward notification sent to my email so that when I get to work I can tell whether there was a problem with the print job. I submit a print job with the following attributes:
2. 在家工作时,我将打印作业提交到与上一个示例相同的打印机。但是,我不在工作,我无法实际获取打印文件或对其执行任何操作。可以等到我今天下午上班。但是,我想让我的秘书把输出的文件拿起来放在我的桌子上,这样它就不会丢失或打错。我也希望一个商店和转发通知发送到我的电子邮件,这样当我开始工作,我可以告诉是否有打印作业的问题。我提交具有以下属性的打印作业:
- Notification Recipient: My secretary - Notification Events: Print complete - Notification Type: Immediate
- 通知收件人:我的秘书-通知事件:打印完成-通知类型:立即
- Notification Recipient: Me - Notification Events: Print complete - Notification Attributes: Impressions completed - Notification Type: Store and forward
- 通知收件人:Me-通知事件:打印完成-通知属性:印象完成-通知类型:存储并转发
3. Sitting in my office, I submit a print job to a client at an engineering firm my company works with on a daily basis. The engineering firm is in Belgium. I would like my client to know when the print job is complete so that she can pick it up from the printer in her building. It is important that she review it right away and send her comments back to me. I submit the print job with the following attributes:
3. 坐在我的办公室里,我每天向我公司工作的一家工程公司的客户提交一份打印作业。这家工程公司在比利时。我想让我的客户知道打印工作何时完成,以便她可以从大楼的打印机中取出。重要的是,她要立即审查,并将她的意见反馈给我。我提交具有以下属性的打印作业:
- Notification Recipient: Client at engineering firm - Notification Events: Print complete - Notification Type: Immediate - Notification Language: French
- 通知收件人:工程公司的客户-通知事件:打印完成-通知类型:立即-通知语言:法语
4. From a hotel room, I send a print job to a Kinko's store in the town I am working in, in order to get a printed report for the meeting I am attending in the morning. As I'm going out to dinner after I get this job submitted, an immediate notification won't do me much good. However, I'd like to check in the morning before I drive to the Kinko's store to see whether the file has been printed. An email notification is sufficient for this purpose. I submit the print job with the following attributes:
4. 我从一个酒店房间里,把一份打印工作发送到我工作所在城镇的一家Kinko商店,以便为我上午参加的会议得到一份打印报告。因为我在收到这份工作后要出去吃饭,所以立即通知对我没有多大好处。但是,我想在早上开车去Kinko商店之前检查一下文件是否已经打印出来了。就本通知而言,电子邮件已足够。我提交具有以下属性的打印作业:
- Notification Recipient: Me - Notification Events: Print complete - Notification Type: Store and forward
- 通知收件人:Me-通知事件:打印完成-通知类型:存储并转发
5. I am printing a large, complex print file. I want to have some immediate feedback on the progress of the print job as it prints. I submit the print job with the following attributes:
5. 我正在打印一个大而复杂的打印文件。我想在打印作业打印时立即获得一些关于打印作业进度的反馈。我提交具有以下属性的打印作业:
- Notification Recipient: Me - Notification Type: Immediate - Notification Events: All state transitions - Notification Attributes: Impression completed
- 通知收件人:Me-通知类型:立即-通知事件:所有状态转换-通知属性:印象已完成
6. I am an operator and one of my duties is to keep the printer running. I subscribe independently from a job submission so that my subscription outlasts any particular job. I subscribe with the following attributes:
6. 我是一名操作员,我的职责之一是保持打印机运行。我独立于作业提交进行订阅,以便我的订阅持续任何特定作业。我使用以下属性进行订阅:
- Notification Recipient: Me - Notification Type: Immediate - Notification Events: All Printer state transitions - Notification Attributes: Printer state, printer state reasons, device powering up, device powering down
- 通知收件人:Me-通知类型:立即-通知事件:所有打印机状态转换-通知属性:打印机状态、打印机状态原因、设备通电、设备断电
7. I am a usage statistics gathering application. I subscribe independently from a job submission so that my subscription outlasts any particular job. My subscription may persist across power cycles. I subscribe with the following attributes:
7. 我是一个使用统计数据收集应用程序。我独立于作业提交进行订阅,以便我的订阅持续任何特定作业。我的订阅可能会在整个电源周期内持续。我使用以下属性进行订阅:
- Notification Recipient: Me - Notification Type: Immediate - Notification Events: Job completion - Notification Attributes: Impression completed, sheets completed, time submitted, time started, time completed, job owner, job size in octets, etc.
- 通知收件人:Me-通知类型:立即-通知事件:作业完成-通知属性:印象完成、工作表完成、提交时间、开始时间、完成时间、作业所有者、作业大小(以八位字节为单位)等。
8. I am a client application program that displays a list of jobs currently queued for printing on a printer. I display the "job-name", "job-state", "job-state-reasons", "page-count", and "intervening-jobs", either for the user's jobs or for all jobs. The window displaying the job list remains open for an independent amount of time, and it is desired that it represent the current state of the queue. It is desired that the application only perform a slow poll in order to recover from any missed notifications. So the event delivery mechanism provides the means to update the screen on all needed changes, including querying for some attributes that may not be delivered in the Notification.
8. 我是一个客户端应用程序,它显示当前排队等待在打印机上打印的作业列表。我显示用户作业或所有作业的“作业名称”、“作业状态”、“作业状态原因”、“页面计数”和“干预作业”。显示作业列表的窗口在一段独立的时间内保持打开状态,并且希望它表示队列的当前状态。希望应用程序只执行慢速轮询,以便从任何错过的通知中恢复。因此,事件传递机制提供了根据所有需要的更改更新屏幕的方法,包括查询通知中可能未传递的某些属性。
9. I am a client application program that displays a list of printers. For each Printer, I display the current state and configuration. The window displaying the printer list remains open for an independent amount of time, and it is desired that it represent the current state of each printer. It is desired that the application only need to perform a slow poll in order to recover from any missed notifications. So the event delivery mechanism provides the means to update the screen on all needed changes, including querying for some attributes that may not be delivered in the Notification.
9. 我是一个显示打印机列表的客户端应用程序。对于每台打印机,我显示当前状态和配置。显示打印机列表的窗口在一段独立的时间内保持打开状态,希望它代表每个打印机的当前状态。希望应用程序只需执行慢速轮询即可从任何错过的通知中恢复。因此,事件传递机制提供了根据所有需要的更改更新屏幕的方法,包括查询通知中可能未传递的某些属性。
10. I am an IPP Server that controls one or more devices and that implements an IPP Printer object to represent each device. I want to support IPP Notification for each of the IPP Printer objects that I implement. Many of these devices do not support notification (or IPP). So I need to support the IPP Notification semantics specified for each IPP Printer object myself on behalf of each of the devices that each of the IPP Printer objects represents. When I accept an IPP job creation requests, I convert it to what the device will accept. In some cases, I must poll the devices in order to be informed of their job and device state and state changes to be able to send IPP Notifications to subscribed Notification Recipients.
10. 我是一个IPP服务器,控制一个或多个设备,并实现一个IPP打印机对象来表示每个设备。我希望为我实现的每个IPP打印机对象支持IPP通知。其中许多设备不支持通知(或IPP)。因此,我需要支持为每个IPP打印机对象指定的IPP通知语义,我代表每个IPP打印机对象表示的每个设备。当我接受IPP作业创建请求时,我将其转换为设备将接受的内容。在某些情况下,我必须轮询设备,以便了解它们的作业和设备状态以及状态更改,以便能够向订阅的通知收件人发送IPP通知。
11. I am an IPP Server that controls one or more devices and that implements an IPP Printer object to represent each device. I want to support IPP Notification for each of the IPP Printer objects that I implement. These devices all support IPP, including IPP Notification. I would like the design choice for supporting IPP Notification for these objects either (1) by forwarding the notification to the IPP Printers that I, alone, control and have them send the notifications to the intended Notification Recipients without my involvement, or (2) by replacing the notification submitted with the Job to indicate me as the Notification Recipient; in turn I will forward Notifications to the Notification Recipients requested by my clients. Most of the rest of the contents of the IPP Job I send to the IPP Printers I control will be the same as those that I receive from my IPP clients.
11. 我是一个IPP服务器,控制一个或多个设备,并实现一个IPP打印机对象来表示每个设备。我希望为我实现的每个IPP打印机对象支持IPP通知。这些设备都支持IPP,包括IPP通知。我希望能够选择支持这些对象的IPP通知的设计选项:(1)通过将通知转发给IPP打印机,由我单独控制并让他们在没有我参与的情况下将通知发送给预期的通知接收者,或者(2)将提交的通知替换为作业,表明我是通知接收人;反过来,我会将通知转发给我的客户请求的通知收件人。我发送给我控制的IPP打印机的IPP作业的其余大部分内容将与我从我的IPP客户端收到的内容相同。
12. I am an IPP Server that controls one or more devices and that implements an IPP Printer object to represent each device. I want to support IPP Notification for each of the IPP Printer objects that I implement. These devices all support IPP, including IPP Notification. Because these IPP Printers MAY also be controlled by other servers (using IPP or other protocols), I only want job events for the jobs that I send, but I do want Printer events all the time, so that I can show proper Printer
12. 我是一个IPP服务器,控制一个或多个设备,并实现一个IPP打印机对象来表示每个设备。我希望为我实现的每个IPP打印机对象支持IPP通知。这些设备都支持IPP,包括IPP通知。因为这些IPP打印机也可能由其他服务器(使用IPP或其他协议)控制,所以我只希望发送的作业有作业事件,但我确实希望始终有打印机事件,以便显示正确的打印机
state to my clients. So I subscribe to these IPP Printers for Printer events with a long-standing subscription, with myself as the Notification Recipient. When I get a Job Creation request, I decide to which IPP Printer to send the job. When I do so, I also add a job subscription for Job events, with me as the Notification Recipient to the job's job subscriptions supplied by my clients (this usage is called "piggybacking"). These IPP Printers automatically remove their job subscriptions when the job finishes, as for all job subscriptions, so that I no longer get Job events when my jobs are completed.
向我的客户陈述。因此,我以自己作为通知接收者,以长期订阅的方式订阅这些IPP打印机,用于打印机事件。当我收到创建作业请求时,我决定将作业发送到哪个IPP打印机。当我这样做时,我还为作业事件添加了一个作业订阅,并将我作为通知接收者添加到由我的客户端提供的作业订阅中(这种用法称为“背载”)。与所有作业订阅一样,这些IPP打印机会在作业完成时自动删除其作业订阅,以便在作业完成时不再获取作业事件。
The following requirements are intended to be met by the IPP Notification specification (not the implementation). The following are true for the resulting IPP Notification Specification document:
IPP通知规范(而非实施)旨在满足以下要求。以下内容适用于产生的IPP通知规范文件:
1. It must indicate which of these requirements are REQUIRED and which are OPTIONAL for a conforming implementation to support. See [RFC2911], section 12.1, for the definition of these important conformance terms.
1. 它必须指出哪些要求是必需的,哪些是可选的,以支持一致性实施。有关这些重要合规性术语的定义,请参见[RFC2911],第12.1节。
2. It must be designed so that an IPP Printer can transparently support the IPP Notification semantics by using third-party notification services that exist today or that may be standardized in the future.
2. 它的设计必须使IPP打印机能够通过使用目前存在的或将来可能标准化的第三方通知服务,透明地支持IPP通知语义。
3. It must define a means for a Job-Submitting End User to specify zero or more Notification Recipients when submitting a print job. A Submitter will not be able to prevent out-of-band subscriptions from authorized persons, such as Operators.
3. 它必须定义作业提交最终用户在提交打印作业时指定零个或多个通知收件人的方法。提交者将无法阻止授权人员(如运营商)进行带外订阅。
4. It must define a means, when specifying a Notification Recipient, for a Notification Subscriber to specify one or more notification events for that Notification Recipient, subject to administrative and security policy restrictions. Any of the following constitute Job or Printer Events for which a Job Submitting End User can specify that notifications be sent:
4. 在指定通知收件人时,它必须定义一种方式,以便通知订阅者根据管理和安全策略限制为该通知收件人指定一个或多个通知事件。以下任何一项构成作业或打印机事件,提交作业的最终用户可以指定发送通知:
- Any standard Printer MIB alert - Job Received (transition from Unknown to Pending) - Job Started (transition from Pending to Processing) - Page Complete (page is stacked) - Collated Copy Complete (last sheet of collated copy is stacked)
- 任何标准打印机MIB警报-收到作业(从未知过渡到挂起)-作业已启动(从挂起过渡到处理)-页面完成(页面已堆叠)-已整理副本完成(最后一张已整理副本已堆叠)
- Job Complete (transition from Processing or Processing-stopped to Completed) - Job Aborted (transition from Pending, Pending-held, - Processing, or Processing-stopped to Aborted) - Job Canceled (transition from Pending, Pending-held, - Processing, or Processing-held to Canceled) - Other job state changes, such as paused, purged - Device problems for which the job is destined - Job (interpreter) issues
- 作业完成(从处理或处理停止转换为完成)-作业中止(从挂起、挂起-处理或处理停止转换为中止)-作业取消(从挂起、挂起-处理或处理保持转换为取消)-其他作业状态更改,例如暂停,清除-作业所针对的设备问题-作业(解释器)问题
5. It must define how an End User or Operator subscribes for
5. 它必须定义最终用户或操作员订阅的方式
- any set of Job Events for a specific job, or - any set of Printer Events while a specific job is not complete.
- 特定作业的任何一组作业事件,或-特定作业未完成时的任何一组打印机事件。
6. It must define how an End User or Operator subscribes for the following without having to submit a Job:
6. 它必须定义最终用户或操作员在不提交作业的情况下订阅以下内容的方式:
- Any set of Printer Events for a defined period. - Any set of Job Events for all jobs, with no control over which jobs.
- 定义期间内的任何打印机事件集。-所有作业的任何作业事件集,无法控制哪些作业。
7. It must define how the Notification Subscriber is able to specify either immediate or store-and-forward notification independently for each Notification Recipient. The means may be explicit, or implied by the method of delivery chosen by the Job Submitting End User.
7. 它必须定义通知订户如何能够为每个通知收件人单独指定即时通知或存储转发通知。方法可以是明确的,也可以是作业提交最终用户选择的交付方法所暗示的。
8. It must define common delivery methods: e.g., email.
8. 它必须定义常见的交付方法:例如电子邮件。
9. It must define how an IPP Printer validates its ability to deliver an Event by using the specified delivery scheme. If it does not support the specified scheme, or if the specified scheme is invalid for some reason, then the IPP Printer accepts and performs the request anyway and indicates the unsupported attribute values. There is no requirement for the IPP Printer receiving the print request to validate the identity of a Notification Recipient, or the ability of the system to deliver an event to that recipient as requested (for example, if the Notification Recipient is not at work today).
9. 它必须定义IPP打印机如何使用指定的传递方案验证其传递事件的能力。如果IPP打印机不支持指定的方案,或者指定的方案因某种原因无效,则IPP打印机仍会接受并执行请求,并指示不支持的属性值。接收打印请求的IPP打印机无需验证通知收件人的身份,也无需验证系统是否能够根据请求向该收件人发送事件(例如,如果通知收件人今天不在工作)。
10. It must define a class of IPP event notification delivery methods that can flow through corporate firewalls. However, an IPP printer need not test to guarantee delivery of the notification through a firewall before accepting a print job.
10. 它必须定义一类可以流经公司防火墙的IPP事件通知传递方法。然而,IPP打印机不需要在接受打印作业之前进行测试,以确保通过防火墙传递通知。
11. It may define a means to deliver a notification to the submitting client when the delivery of an event notification to a specified Notification Recipient fails. A fallback means of subscribers to determine whether notifications have failed (i.e., polling) may be provided.
11. 它可以定义在向指定的通知接收者发送事件通知失败时向提交客户端发送通知的方法。可以提供订阅者确定通知是否失败(即轮询)的回退手段。
12. It must define a mechanism for localizing Human-Consumable Notifications by the Notification Source.
12. 它必须定义一种机制,用于通过通知源定位人类可消费的通知。
13. It may define a way to specify whether event delivery requires acknowledgement back to the Notification Source.
13. 它可以定义一种方法来指定事件传递是否需要确认返回到通知源。
14. There must be a mechanism defined so that job-independent subscriptions do not become stale and do not require human intervention to be removed. However, a subscription must not be deemed stale only if it is unable to deliver an Event Notification, as temporary Notification delivery problems must be tolerated.
14. 必须定义一种机制,以便独立于作业的订阅不会过时,并且不需要人为干预即可删除。但是,只有当订阅无法传递事件通知时,才能将其视为过期订阅,因为必须容忍临时通知传递问题。
15. A mechanism must be defined so that an Event Subscriber is able to add an Event Subscription to a Job after the Job has been submitted.
15. 必须定义一种机制,以便事件订阅服务器能够在提交作业后向作业添加事件订阅。
16. A mechanism must be defined so that a client is able to cancel an Event Subscription on a job or printer after the job has been submitted.
16. 必须定义一种机制,以便客户端能够在提交作业或打印机后取消对作业或打印机的事件订阅。
17. A mechanism must be defined so that a client can obtain the set of current Subscriptions.
17. 必须定义一种机制,以便客户端可以获取当前订阅集。
By far the biggest security concern is the abuse of notification: sending unwanted notifications sent to third parties (i.e., spam). The problem is made worse by notification addresses that may be redistributed to multiple parties (e.g., mailing lists). Scenarios exist in which third-party notification is required (see scenarios 2 and 3). The fully secure solution would require active agreement of all recipients before anything is sent out. However, requirement 9 ("There is no requirement for an IPP Printer receiving the print request to validate the identity of an event recipient") argues against this. Certain systems may decide to disallow third-party notifications (a traditional fax model).
到目前为止,最大的安全问题是滥用通知:向第三方发送不需要的通知(即垃圾邮件)。由于通知地址可能被重新分配给多方(例如,邮件列表),问题变得更加严重。存在需要第三方通知的场景(参见场景2和场景3)。完全安全的解决方案要求在发送任何内容之前,所有收件人都要主动同意。然而,要求9(“不要求接收打印请求的IPP打印机验证事件接收者的身份”)对此提出异议。某些系统可能决定不允许第三方通知(传统传真模式)。
The same security issues are present when Clients submit notification requests to the IPP Printer as when they submit an IPP/1.1 print job request. The same mechanisms used by IPP/1.1 can therefore be used
客户端向IPP打印机提交通知请求时与提交IPP/1.1打印作业请求时存在相同的安全问题。因此,可以使用IPP/1.1使用的相同机制
by the client notification submission. Operations that require authentication can use the HTTP authentication. Operations that require privacy can use the HTTP/TLS privacy.
由客户通知提交。需要身份验证的操作可以使用HTTP身份验证。需要隐私的操作可以使用HTTP/TLS隐私。
The notification access control model should be similar to the IPP access control model. Creating a notification subscription is associated with a user. Only the creator or an operator can cancel the subscription. The system may limit the listing of items to items owned by the user. Some subscriptions (e.g., those that have a lifetime longer than a job) can be done only by privileged users (operators and/or administrators), if that is the authorization policy.
通知访问控制模型应类似于IPP访问控制模型。创建通知订阅与用户关联。只有创建者或操作员才能取消订阅。系统可能会将项目列表限制为用户拥有的项目。如果授权策略是这样,则某些订阅(例如,生存期长于作业的订阅)只能由特权用户(操作员和/或管理员)完成。
The standard security concerns (delivery to the right user, privacy of content, tamper-proof content) apply to the notification delivery. IPP should use the security mechanism of the delivery method used. Some delivery mechanisms are more secure than others. Therefore, sensitive notifications should use the delivery method that has the strongest security.
标准安全问题(向正确的用户交付、内容隐私、防篡改内容)适用于通知交付。IPP应使用所用交付方法的安全机制。一些交付机制比其他机制更安全。因此,敏感通知应使用安全性最强的传递方法。
The Human-Consumable Notification must be localized to the natural language and charset that Notification Subscriber specifies within the choice of natural languages and charsets that the IPP Printer supports.
人工耗材通知必须本地化为通知订户在IPP打印机支持的自然语言和字符集选项中指定的自然语言和字符集。
The Machine-Consumable Notification data uses the "application/ipp" MIME media type. It contains attributes whose text values are required to be in the natural language and charset that the Notification Subscriber specifies within the choice of natural languages and charsets that the IPP Printer supports. See [RFC2566].
机器耗材通知数据使用“应用程序/ipp”MIME媒体类型。它包含的属性的文本值必须是通知订阅者在IPP打印机支持的自然语言和字符集选项中指定的自然语言和字符集。见[RFC2566]。
Some notification delivery methods have been registered with IANA for use in URLs. These will be defined in other documents.
一些通知传递方法已向IANA注册,以便在URL中使用。这些将在其他文件中定义。
[RFC2910] Herriot, R., Butler, S., Moore, P., Turner, R., and J. Wenn, "Internet Printing Protocol/1.1: Encoding and Transport", RFC 2910, September 2000.
[RFC2910]Herriot,R.,Butler,S.,Moore,P.,Turner,R.,和J.Wenn,“互联网打印协议/1.1:编码和传输”,RFC 29102000年9月。
[RFC2911] Hastings, T., Herriot, R., deBry, R., Isaacson, S., and P. Powell, "Internet Printing Protocol/1.1: Model and Semantics", RFC 2911, September 2000.
[RFC2911]黑斯廷斯,T.,赫里奥特,R.,德布里,R.,艾萨克森,S.,和P.鲍威尔,“互联网打印协议/1.1:模型和语义”,RFC 29112000年9月。
[RFC3995] Herriot, R. and T. Hastings, "Internet Printing Protocol (IPP): Event Notifications and Subscriptions", RFC 3995, March 2005.
[RFC3995]Herriot,R.和T.Hastings,“互联网打印协议(IPP):事件通知和订阅”,RFC 39952005年3月。
[RFC2565] Herriot, R., Butler, S., Moore, P., and R. Turner, "Internet Printing Protocol/1.0: Encoding and Transport", RFC 2565, April 1999.
[RFC2565]Herriot,R.,Butler,S.,Moore,P.,和R.Turner,“互联网打印协议/1.0:编码和传输”,RFC 25651999年4月。
[RFC2566] deBry, R., Hastings, T., Herriot, R., Isaacson, S., and P. Powell, "Internet Printing Protocol/1.0: Model and Semantics", RFC 2566, April 1999.
[RFC2566]deBry,R.,Hastings,T.,Herriot,R.,Isaacson,S.,和P.Powell,“互联网打印协议/1.0:模型和语义”,RFC 2566,1999年4月。
[RFC2567] Wright, F., "Design Goals for an Internet Printing Protocol", RFC 2567, April 1999.
[RFC2567]Wright,F.,“互联网打印协议的设计目标”,RFC2567,1999年4月。
[RFC2568] Zilles, S., "Rationale for the Structure of the Model and Protocol for the Internet Printing Protocol", RFC 2568, April 1999.
[RFC2568]Zilles,S.“互联网打印协议模型和协议结构的基本原理”,RFC 2568,1999年4月。
[RFC2569] Herriot, R., Hastings, T., Jacobs, N., and J. Martin, "Mapping between LPD and IPP Protocols", RFC 2569, April 1999.
[RFC2569]Herriot,R.,Hastings,T.,Jacobs,N.,和J.Martin,“LPD和IPP协议之间的映射”,RFC 2569,1999年4月。
[RFC2639] Hastings, T., Manros, C., Zehler, P., Kugler, C., and H. Holst, "Internet Printing Protocol/1.1: Implementor's Guide", RFC 3196, November 2001.
[RFC2639]黑斯廷斯,T.,曼罗斯,C.,泽勒,P.,库格勒,C.,和H.霍尔斯特,“互联网打印协议/1.1:实施者指南”,RFC 31962001年11月。
The base set of IPP documents includes the following:
IPP文件的基本集包括以下内容:
Design Goals for an Internet Printing Protocol [RFC2567] Rationale for the Structure and Model and Protocol for the Internet Printing Protocol [RFC2568] Internet Printing Protocol/1.1: Model and Semantics [RFC2911] Internet Printing Protocol/1.1: Encoding and Transport [RFC2910] Internet Printing Protocol/1.1: Implementer's Guide [RFC3196] Mapping between LPD and IPP Protocols [RFC2569]
Design Goals for an Internet Printing Protocol [RFC2567] Rationale for the Structure and Model and Protocol for the Internet Printing Protocol [RFC2568] Internet Printing Protocol/1.1: Model and Semantics [RFC2911] Internet Printing Protocol/1.1: Encoding and Transport [RFC2910] Internet Printing Protocol/1.1: Implementer's Guide [RFC3196] Mapping between LPD and IPP Protocols [RFC2569]
"Design Goals for an Internet Printing Protocol" takes a broad look at distributed printing functionality, and it enumerates real-life scenarios that help clarify the features that need to be included in a printing protocol for the Internet. It identifies requirements for three types of users: end users, operators, and administrators. It calls out a subset of end-user requirements that are satisfied in IPP/1.0 [RFC2566], [RFC2565]. A few OPTIONAL operator operations have been added to IPP/1.1 [RFC2911], [RFC2910].
“Internet打印协议的设计目标”广泛介绍了分布式打印功能,并列举了有助于澄清需要包含在Internet打印协议中的功能的实际场景。它确定了三类用户的需求:最终用户、操作员和管理员。它调用了IPP/1.0[RFC2566]、[RFC2565]中满足的最终用户需求子集。IPP/1.1[RFC2911]、[RFC2910]中增加了一些可选的操作员操作。
"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 specification documents, and gives background and rationale for the IETF IPP working group's major decisions.
“互联网打印协议的结构、模型和协议的基本原理”从高层角度描述了IPP,定义了构成IPP规范文件套件的各种文件的路线图,并给出了IETF IPP工作组主要决策的背景和基本原理。
"Internet Printing Protocol/1.1: Model and Semantics" describes a 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 security, internationalization, and directory issues.
“Internet打印协议/1.1:模型和语义”描述了一个简化模型,其中包含抽象对象、它们的属性及其操作。该模型引入了打印机和作业。每个作业支持多个文档。模型文档还解决了安全性、国际化和目录问题。
"Internet Printing Protocol/1.1: Encoding and Transport" is a formal mapping of the abstract operations and attributes defined in the model document onto HTTP/1.1 [RFC2616]. It also defines the encoding rules for a new Internet MIME media type called "application/ipp". This document also defines the rules for transporting over HTTP a message body whose Content-Type is "application/ipp". This document defines the "ipp" scheme for identifying IPP printers and jobs.
“Internet打印协议/1.1:编码和传输”是模型文档中定义的抽象操作和属性到HTTP/1.1[RFC2616]的正式映射。它还定义了称为“应用程序/ipp”的新Internet MIME媒体类型的编码规则。本文档还定义了通过HTTP传输内容类型为“application/ipp”的消息体的规则。本文件定义了识别ipp打印机和作业的“ipp”方案。
"Internet Printing Protocol/1.1: Implementer's Guide" gives insight and advice to implementers of IPP clients and IPP objects. It is intended to help them understand IPP/1.1 and some of the considerations that may assist them in the design of their client and/or IPP object implementations. For example, a typical order of processing requests is given, including error checking. Motivation for some of the specification decisions is also included.
“互联网打印协议/1.1:实施者指南”为IPP客户端和IPP对象的实施者提供了见解和建议。它旨在帮助他们理解IPP/1.1以及一些可能有助于他们设计客户端和/或IPP对象实现的注意事项。例如,给出了处理请求的典型顺序,包括错误检查。还包括一些规范决策的动机。
"Mapping between LPD and IPP Protocols" gives some advice to implementers of gateways between IPP and LPD (Line Printer Daemon ) implementations.
“LPD和IPP协议之间的映射”为IPP和LPD(Line Printer Daemon)实现之间网关的实现者提供了一些建议。
Authors' Addresses
作者地址
Tom Hastings (editor) Xerox Corporation 701 S Aviation Blvd, ESAE 242 El Segundo, CA 90245
汤姆·黑斯廷斯(编辑)施乐公司,地址:加利福尼亚州塞贡多市东南航空大道701号,邮编:242,邮编:90245
Phone: 310-333-6413 Fax: 310-333-6342 EMail: hastings@cp10.es.xerox.com
电话:310-333-6413传真:310-333-6342电子邮件:hastings@cp10.es.xerox.com
Roger deBry Utah Valley State College
罗杰·德布里犹他谷州立学院
Phone: (801) 863-8848 EMail: debryro@uvsc.edu
电话:(801)863-8848电子邮件:debryro@uvsc.edu
Harry Lewis IBM Corporation 6300 Diagonal Hwy Boulder, CO 80301
Harry Lewis IBM Corporation科罗拉多州博尔德市6300号对角公路80301
Phone: (303) 924-5337 EMail: harryl@us.ibm.com
电话:(303)924-5337电子邮件:harryl@us.ibm.com
Full Copyright Statement
完整版权声明
Copyright (C) The Internet Society (2005).
版权所有(C)互联网协会(2005年)。
This document is subject to the rights, licenses and restrictions contained in BCP 78, and except as set forth therein, the authors retain all their rights.
本文件受BCP 78中包含的权利、许可和限制的约束,除其中规定外,作者保留其所有权利。
This document and the information contained herein are provided on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM 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.
本文件及其包含的信息是按“原样”提供的,贡献者、他/她所代表或赞助的组织(如有)、互联网协会和互联网工程任务组不承担任何明示或暗示的担保,包括但不限于任何保证,即使用本文中的信息不会侵犯任何权利,或对适销性或特定用途适用性的任何默示保证。
Intellectual Property
知识产权
The IETF takes no position regarding the validity or scope of any Intellectual Property Rights or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; nor does it represent that it has made any independent effort to identify any such rights. Information on the procedures with respect to rights in RFC documents can be found in BCP 78 and BCP 79.
IETF对可能声称与本文件所述技术的实施或使用有关的任何知识产权或其他权利的有效性或范围,或此类权利下的任何许可可能或可能不可用的程度,不采取任何立场;它也不表示它已作出任何独立努力来确定任何此类权利。有关RFC文件中权利的程序信息,请参见BCP 78和BCP 79。
Copies of IPR disclosures made to the IETF Secretariat and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this specification can be obtained from the IETF on-line IPR repository at http://www.ietf.org/ipr.
向IETF秘书处披露的知识产权副本和任何许可证保证,或本规范实施者或用户试图获得使用此类专有权利的一般许可证或许可的结果,可从IETF在线知识产权存储库获取,网址为http://www.ietf.org/ipr.
The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights that may cover technology that may be required to implement this standard. Please address the information to the IETF at ietf-ipr@ietf.org.
IETF邀请任何相关方提请其注意任何版权、专利或专利申请,或其他可能涵盖实施本标准所需技术的专有权利。请将信息发送至IETF的IETF-ipr@ietf.org.
Acknowledgement
确认
Funding for the RFC Editor function is currently provided by the Internet Society.
RFC编辑功能的资金目前由互联网协会提供。