对打印请求进行处理的制作方法

文档序号:6352335阅读:199来源:国知局
专利名称:对打印请求进行处理的制作方法
技术领域
本公开涉及对打印请求进行处理。
背景技术
打印机是用于将文件(例如,文档)转换为例如位于物理打印媒体(例如纸)上的复印件的硬件装置。打印机作为本地外围装置可以连接至计算机。另外或可替代地,打印机可以具有网络接口,该网络接口能够使打印机经由局域网(LAN)或公司专用网或企业网连接至多台计算机。


图1是电子通信网络示例的框图。图2是托管打印服务示例的框图。图3是用于处理在托管打印服务接收的打印请求的过程示例的流程图。图4是用于处理在打印机接收的来自托管打印服务的打印请求的过程示例的流程图。图5是打印机示例的图示。
具体实施例方式托管打印服务在一个或多个计算装置(例如,服务器)中的系统上执行。一个或多个远程计算装置和一个或多个远程打印机经由网络连接(例如,互联网)可访问该托管打印服务。该托管打印服务被配置为从远程计算装置接收在远程打印机中的具体打印机打印文件(例如,文档)的请求,并且将所接收的请求中继到适当的打印机,以完成打印请求。如此,托管打印服务可以使用户在用户可能无法访问的打印机完成打印文件的请求,例如因为打印机位于专用网络上(可能在防火墙后方),并且是用户的装置经由公用网络连接不可访问的,和/或因为用户的装置未被配置为将打印请求直接提交给打印机。例如,正在出差的商人可以利用在智能手机上执行的电子邮件客户应用程序查看文件,并且然后决定其想要具有该文件的复印件,用于其剩余旅程。然而,该商人的智能手机可能被阻止访问在商人的旅馆可用的打印机所在的网络,和/或商人的智能手机可能未适当地被配置为将打印请求提交给在商人的旅馆可用的打印机,例如因为商人的智能手机缺少将打印请求传送至打印机而需要的必要驱动器。然而,商人的智能手机经由互联网可以访问的托管打印服务可以被配置为能够建立与在商人的旅馆可用的打印机的连接。因而,托管打印服务可以使商人能够通过将打印文件的请求从商人的智能手机经由互联网提交给托管打印服务而在商人的旅馆打印文件,托管打印服务接着将该打印请求中继到在商人的旅馆可用的打印机中的一台打印机。除了一个或多个远程计算装置可访问托管打印服务之外,一个或多个其它托管服务(例如,web服务)也可访问托管打印服务,其它托管服务响应于其它远程计算装置而在一个或多个计算装置(例如,服务器)上执行。此外,该托管打印服务被配置为从这些托管服务接收在远程打印机中的具体打印机打印文件的请求,并且将所接收的请求中继到适当的打印机,以完成打印请求。如此,无论用户的计算装置经由网络连接是否可以访问期望的打印机和/或用户的计算装置是否被配置为将打印请求直接提交给所期望的打印机,托管打印服务都可以使正在利用计算装置访问网页的用户来在所期望的打印机上打印来自web服务的文件。而且,即使用户的计算装置连接至所期望的打印机,并且用户的计算装置被适当地配置为将打印请求提交给所期望的打印机,托管打印服务也可以使用户能够打印来自web服务的文件,而无需要求用户将文件从web服务下载到用户的计算装置,并且之后将请求提交给所期望的打印机来打印所下载的文件。例如,父母可以使用父母的家用计算机来访问照片共享web服务,以处理父母的子女的照片,父母之前将这些照片加载到照片共享web服务,并且现在由照片共享web服务托管并通过照片共享web服务来访问。当浏览他/她的家庭的、由照片共享web服务托管并通过照片共享web服务访问的照片时,父母可以决定其想打印照片其中一张的复印件。然而,父母的家用计算机可能未连接至打印机,或者父母可能期望将照片打印到相比连接至父母的家用计算机的打印机具有较好的照片打印性能的打印机上。不过,照片共享web服务可访问托管打印服务,使得父母可以使用父母的家用计算机来指令照片共享web服务与托管打印服务进行交互,以将打印请求提交给父母期望在此打印照片的打印机,即使父母的家用计算机经由网络连接不可访问所期望的打印机,父母的家用计算机未被配置为将打印请求直接提交给所期望的打印机,和/或照片共享web服务经由网络连接没有对所期望的打印机的访问权。尽管托管打印服务可以向用户提供对多个打印机(其中用户对多个打印机并没有访问权)的访问权,这种访问是直接通过托管打印服务或间接通过对托管打印服务有访问权的web服务,但托管打印服务也可以使与其协作来完成打印请求的打印机接受多个打印请求,而这些打印机并不会向多个打印请求显露。因此,托管打印服务,独立地或者和与其协作的打印机一起,采用用于对打印请求进行处理的机制,该机制旨在将由打印机完成的打印请求限制在由托管打印服务和打印机的所有者中的一个或两个授权的打印请求。例如,在某些实现中,托管打印服务在将接收的代表用户的打印请求通过与用户相关联的电子装置中继到特定打印机之前,可以要求用户向托管打印服务进行认证。另外或可替代地,当托管打印服务接收代表未经托管打印服务认证的用户的打印请求时,托管打印服务可以将该打印请求和指示一起中继到指派的打印机,该指示指定该打印请求只有在本地经打印机的实体授权之后才能完成。在这种情况中,打印机可以联接至包括显示器的交互式计算装置,并且该打印机可以通过促使显示器生成等待的打印请求的可视指示和/或等待的打印请求的提交者的身份,来征求对来自相关联用户的等待的打印请求的授权或拒绝。打印机只有在接收到继续进行的授权之后,才可以完成打印请求。此外,托管打印服务可以仅仅允许与其存在之前建立的信任关系的web服务访问来通过托管打印服务提交打印请求。如此,为了减少与托管打印服务协作的打印机所完成的不期望的或未经授权的打印请求,托管打印服务可以管理中继到这些打印机并由这些打印机完成的打印请求。图1是包括托管打印服务100的电子通信网络示例的框图。为了说明性的目的,以整体式实体来表示图1所示和下面描述的若干个元件。然而,这些元件均可包括和/被实现在众多互连的计算装置和其它部件上,其它部件被设计为执行一组指定的操作,并且可以专用于特定的地理区域,或者可替代地,可以分布在两个或更多个不同地理位置之间。如图1所示,多个电子用户装置102(a)_102(n)和多个打印机104(a)-104(m)经由网络106可访问托管打印服务100。在某些实现中,网络106可以是公用网络,并且电子用户装置102(a)-102(n)可以驻留在网络106上,或者可以通过一个或多个对应的专用网具有对网络106的访问权。类似地,打印机104(a)-104(m)可以驻留在网络106上,或者可以通过一个或多个对应的专用网具有对网络106的访问权。因此,电子用户装置102 (a)-102 (n)可能无法经由公用网络连接来访问打印机104(a)-104(m)。电子用户装置102(a)_102(n)可以包括一个或多个专用计算机、能够以限定方式对指令作出响应并执行指令的一个或多个通用计算机(例如,包括台式计算机、笔记本计算机、平板计算机以及上网本计算机的个人计算机、智能手机和个人数字助理(PDA))、和/或通用计算机和专用计算机的一种或多种组合。单独的电子用户装置102(a)_102(n)通常具有诸如操作系统和一个或多个应用程序的程序以及用于存储数据的内部存储部件或外部存储部件。应用程序的示例包括能够产生文档或其它电子内容的创作应用程序(例如,字处理程序、数据库程序、电子表格程序或图形程序)、能够与其它计算机用户进行通信、访问各计算机资源以及查看、创建或控制电子内容的客户应用程序(例如,电子邮件客户端)、以及能够呈现标准的互联网内容并且在某些情况中还能够支持基于web的电子邮件客户端的浏览器应用程序。此外,单独的电子用户装置102(a)_102(n)还通常包括中央处理单元(CPU),中央处理单元用于执行存储在存储器中的和/或例如经由网络106从一个或多个其它电子装置接收的指令。单独的电子用户装置102(a)-102(n)还常常包括用于发送和接收数据的通信装置。上述通信装置的一个示例是调制解调器。其它示例包括天线、收发器、通信卡以及能够经由网络106通过有线或无线数据路径传送和接收数据的其它网络适配器。托管打印服务100可以利用一个或多个计算装置(例如,服务器)来实现,其中一个或多个计算装置被配置为向经由网络106连接至托管打印服务100的一个或多个客户端装置(例如,电子用户装置102 (a)-102 (n))提供服务。在其上实现托管打印服务100的一个或多个计算装置可以具有诸如操作系统和一个或多个应用程序的程序以及用于存储数据的内部存储部件或外部存储部件。一个或多个应用程序可以被实现为存储在存储部件中的指令,并且该指令在被执行时促使一个或多个计算装置提供在本文中描述的托管打印服务的特征。此外,在其上实现托管打印服务100的一个或多个计算装置均可以包括一个或多个处理器,处理器用于执行存储在存储器中的和/或例如经由网络106从一个或多个其它电子装置接收的指令。另外,这些计算装置还通常包括网络接口和用于发送和接收数据的通信装置。网络106可以提供托管打印服务100、电子用户装置102 (a)-102 (n)、打印机104(a)-104(m)之间的直接通信链路或间接通信链路,而与这些装置中的任何装置之间的物理距离无关。因此,托管打印服务100、电子用户装置102 (a)-102 (n)、打印机104 (a)-104 (m)中的单独几个可以在地理上彼此接近,或者可替代地,托管打印服务100、电子用户装置102(a)-102(n)、打印机104(a)-104(m)中的单独几个可以相距巨长的地理距离分布。网络106的示例包括互联网、万维网、WAN、LAN、模拟或数字有线和无线电话网、无线电、电视、电缆、卫星和/或用于传输数据的任何其它的输送机制。除了使实现托管打印服务100、电子用户装置102(a)_102(n)以及打印机104(a)-104(m)之间的电子通信之外,网络106还使实现托管打印服务100和一个或多个web服务108之间的通信。Web服务通常是在计算装置(例如,服务器)上响应于与远程不同的计算装置(例如,电子用户装置102(a)-102(n))之间的交互和来自远程不同的计算装置的指令而执行的计算应用程序,远程不同的计算装置能够经由网络(例如,网络106)与web服务进行通信。如此,web服务可以被说成响应于web服务执行而向一个或多个远程不同的计算装置“提供服务”。例如,如图1所示,电子用户装置102 (n)经由网络106访问web服务108,以便利用web服务108所提供的服务。响应于web服务正在执行,web服务的一个便利在于在其上实现web服务的计算装置可以与远程计算装置相隔巨长的地理距离,并且web服务还能够向这些计算装置提供为执行远程计算装置所期望的任务而需要的功能性和处理能力。具有大量的不同类型的web服务,但仅举几个示例,web服务可以向远程计算装置提供照片处理和共享功能、企业营销材料设计功能、字或数据处理。在很多情况中,web服务可以使正在利用远程电子用户装置访问web服务的用户能够访问、控制数据或文件、或与数据或文件进行交互,该数据或文件是通过web服务存储的,而不是通过对于用户访问web服务所使用的电子用户装置来说是本地的存储器来存储的。例如,照片处理和共享web服务可以使用户能够访问并控制通过web服务存储的照片,而企业营销设计web服务可以使用户能够产生并控制通过web服务存储的企业营销材料,以及字或数据处理web服务可以使用户能够产生并控制通过web服务存储的文档、电子表格和其它文件。在这种情况中,web服务向用户提供能够打印通过web服务代表用户存储的数据或文件,这对上述web服务的用户可能是有利的。例如,能够通过web服务来打印通过web服务存储的一张或多张照片,这可能对照片共享web服务的用户来说是有利的。类似地,能够通过web服务打印通过web服务存储的企业营销材料,这对企业营销材料设计web服务的用户来说可能是有利的,而能够通过web服务打印通过web服务存储的文档、电子表格或其它文件,这对字或数据处理web服务的用户来说也可能是有利的。然而,web服务本身可能没有与打印机交互以便打印代表web服务的用户在web服务上存储的数据或文件的能力。因此,托管打印服务100可以被配置为与web服务(例如,web服务108)协作,以便为web服务108提供打印服务。托管打印服务100被配置为接收来自电子用户装置102 (a)-102 (n)和一个或多个web服务108的打印请求,并且适当时,将这些打印请求中继到打印机104(a)-104(m)中的具体打印机,以完成打印请求。如此,托管打印服务100使电子用户装置102 (a)-102 (n)能够将打印请求提交给打印机104(a)-104(m)中的具体打印机,并由具体打印机完成打印请求,而与电子用户装置102(a)-102(n)经由网络连接是否能够访问打印机104(a)-104(m)中的单独打印机、和/或电子用户装置102 (a)-102 (n)是否被适当地配置为将打印请求提交给打印机104 (a)-104 (m)中的单独打印机或与打印机104 (a)-104 (m)中的单独打印机进行通信无关。特定电子用户装置102经由网络连接不能够访问特定打印机104的原因可能有很多。例如,特定电子用户装置102可能是智能手机或平板计算机,智能手机或平板计算机经由专用服务提供商所提供的无线连接(例如,包括基于IEEE802. 11标准的无线LAN (WLAN)的WLAN、基于射频的无线网络和/或由无线服务提供商提供的蜂窝或移动电话网络)对互联网具有访问权,并且该电子用户装置102的用户想要使用其打印文件的特定打印机104可能驻留在通过防火墙(未示出)连接至互联网的不同专用LAN上,防火墙用于阻止输入的、来自未知或未授权的装置(例如电子用户装置102)的通信。类似地,特定电子用户装置102可能未被适当地配置为将打印请求提交给特定打印机104或者与特定打印机104进行通信的原因可能有很多。例如,在电子用户装置102上可能未安装该电子用户装置所需的驱动器,和/或即使电子用户装置102和特定打印机104位于相同专用网(未示出)上,该电子用户装置可能也不知道打印机104的正确网络地址(例如,IP地址)。托管打印服务100、电子用户装置102 (a)-102 (n)、web服务108和打印机104 (a)-104 (m)可以采用各种不同的技术,以便彼此进行通信以及完成电子用户装置102 (a)-102 (n)和/或web服务108所提交的打印请求。例如,在某些实现中,托管打印服务100提供应用编程接口(API),电子用户装置102 (a)-102 (n)、web服务108和打印机104 (a)-104 (m)可以利用该应用编程接口来与托管打印服务100进行通信,来提交并完成打印请求。在某些实现中,API可以是表述性状态转移(REST) API。REST架构指定了由全局标识符(例如统一资源标识符或URI)标注的资源。为了控制上述资源,托管打印服务100和打印机104 (a)-104 (m)可以利用标准化接口(例如超文本传输通讯协议(HTTP ))进行通信。由托管打印服务100提供的API可以包括各种API例行程序(或方法),API例行程序可以被在打印机104(a)-104(m)和/或在托管打印服务100处执行的应用程序调用。利用REST API可便于整合,这是因为可以利用API例行程序来执行与执行与打印有关的服务相关联的通信,而无需解决由于在不同节点(例如,电子用户装置102 (a)-102 (n)、在其上实现托管打印服务100的计算装置和/或打印机104(a)-104(m))使用不同的操作系统而可能产生的冲突或矛盾。此外,利用RESTAPI可以使得不必要在电子用户装置102 (a)-102 (n)上安装打印机装置驱动器,来使能够访问打印机104(a)-104(m)或其它与打印有关的服务。电子用户装置102(a)_102(n)在访问托管打印服务(例如托管打印服务100)时可能遇到的一个问题在于平台的差异、文档格式的变化、软件的无用性和/或其它问题可能妨碍对文档的识别,使得难以或不可能执行打印或其它与打印有关的服务。因此,在某些情况中,可以进行格式转换,来解决该问题。在这种情况中,可以在电子用户装置102 (a)-102 (n)、托管打印服务100和/或打印机104 (a)-104 (m)中的任何一个处进行格式转换。用户电子装置102 (a)-102 (n)和/或web服务108可以利用REST API,以便将打印请求提交给托管打印服务100。当接收到来自电子用户装置102 (a)-102 (n)之一或web服务108的打印请求时,托管打印服务100可以识别出打印机104(a)-104(m)中的哪一个被识别为用于完成打印请求的打印机,并且然后托管打印服务100可以将该打印请求添加到与为完成打印请求而请求的特定打印机对应的打印请求队列。间歇地(例如,定期地),打印机104 (a)-104 (m)中的单独打印机可以利用RESTAPI来询问托管打印服务104(a)-104(m),以确定单独打印机是否在托管打印服务100处等待任意打印请求。响应于上述询问,托管打印服务100确定与打印机(从该打印机接收查询)对应的打印请求队列是否包括进行询问的该打印机的任何等待的打印请求,并且响应于确定该队列的确包括该打印机的一个或多个等待的打印请求,托管打印服务100例如利用RESTAPI将该打印机的一个或多个等待的打印请求传送至打印机,以完成打印请求。利用REST API询问托管打印服务100关于等待的打印请求,并且之后从托管打印服务100接收等待的打印请求,这可以使打印机104(a)-104(m)中的单独打印机能够从托管打印服务100接收打印请求,即使打印机104 (a)-104 (m)位于防火墙后方的专用网络上,其中防火墙用于阻止入站通信被中继到打印机104(a)-104(m)。而且托管打印服务100向电子用户装置102 (a)-102 (n)和web服务108提供对电子用户装置102(a)-102(n)和web服务108可能无法访问的多个打印机104(a)-104(m)的访问权,从而当谈到打印来自电子用户装置102 (a)-102 (n)或web服务108的文件时,向电子用户装置102(a)-102(n)和web服务108的用户提供较大的灵活性,托管打印服务100也因此使打印机104(a)-104(m)可能接收到相比于它们可能接收的多得多的打印请求。因此,托管打印服务100或者独立地或者与打印机104(a)-104(m) —起可以实施一个或多个策略,以防止将打印机104(a)-104(m)中的单独打印机视为“非索要信息”打印活动的目标,以及为确保打印机104(a)-104(m)中的单独打印机仅仅接收并最终完成它们对应的所有者或操作员想要完成的那些打印请求。具体地,托管打印服务100采用的一种机制是认证服务,在完成电子用户装置102 (a)-102 (n)所提交的打印请求之前,该认证服务对访问托管打印服务100的用户和/或用户所使用的电子用户装置102 (a)-102 (n)进行认证。例如,如图1所示,电子用户装置102已经建立与托管打印服务100的认证通信会话。为了对访问托管打印服务100的用户和/或用户所使用的电子用户装置102 (a)-102 (n)进行认证,托管打印服务100可以采用各种不同的技术。例如,在某些实现中,托管打印服务100可以要求用户向托管打印服务100提交注册的用户名或其它标识符(例如,账号)以及验证密码,以便与托管打印服务100建立认证通信会话。另外或可替代地,托管打印服务100可以要求电子用户装置向托管打印服务100提交验证的数字证书和/或接受质疑并对认证方案作出回应,以便与托管打印服务100建立认证通信会话。无论如何,在电子用户装置102(a)已与托管打印服务100建立认证通信会话之后,托管打印服务100可以使电子用户装置102(a)能够通过经由托管打印服务100可访问的一个或多个打印机104(a)-104(m)来完成打印请求。在某些实现中,在电子用户装置102(a)已与托管打印服务100建立认证通信会话之后,托管打印服务100可以使电子用户装置102(a)能够通过经由托管打印服务100可访问的所有打印机来完成打印请求。 在可替代实现中,在电子用户装置102 (a)已与托管打印服务100建立认证通信会话之后,托管打印服务100仅仅可以使电子用户装置102(a)能够通过比经由托管打印服务100可访问的所有打印机少的部分打印机来完成打印请求。例如,托管打印服务100可以提供使用托管打印服务100的签署,签署用于授权用户能够仅仅访问某类打印机(例如,具有某些限制或指定能力的打印机)或某一地理区域中的打印机。另外或可替代地,托管打印服务100可以使电子用户装置100仅仅访问经由托管打印服务100可访问的打印机104 (a)-104 (m)中的、打印机的所有者或操作员指派为电子用户装置100的用户可以利用的某些部分打印机。例如,托管打印服务100仅仅可以使电子用户装置102(a)能够通过经由托管打印服务100可访问的、由电子用户装置的用户的雇主所拥有的那些打印机和/或经由托管打印服务100可访问的、由商业服务所拥有的那些打印机来完成打印请求,其中电子用户装置100的用户在该商业服务具有账号,该账号授权用户通过该商业服务所拥有的打印机来完成打印请求。在某些情况中,托管打印服务100可以接受未经认证的电子用户装置102 (a)-102 (n)和/或电子用户装置102 (a)-102 (n)的用户所提交的打印请求。例如,如图1所示,电子用户装置102(b)已与托管打印服务100建立通信会话,但该通信会话未经托管打印服务100认证。在这种情况中,托管打印服务100可以接受来自于电子用户装置102(b)的打印请求,并且甚至将这些打印请求中继到电子用户装置102(b)所指定的打印机104(a)-104(m)中的单独打印机。然而,如果这么做,则托管打印服务100可能向打印机104(a)-104(m)中的打印请求所中继到的单独打印机指出打印请求尚未被认证。因此,在完成这些打印请求之前,所牵连的打印机可能要求来自用户的手动认证,以完成打印请求。例如,打印机104(a)_104(m)可以包括或联接至能够向用户显示消息并接收来自用户的输入的交互式电子装置。当打印机104(a)-104(m)其中之一接收来自托管打印服务100的、被识别为尚未经认证的打印请求时,该打印机可以推迟完成该打印请求,并且改为促使在交互式电子装置上显示消息,该消息提供关于未经认证的打印请求的详情。只有在用户向交互式电子装置提供确认应完成打印请求的输入之后,打印机才可以完成未经认证的请求。如果用户向交互式电子装置提供指示应拒绝未经认证的请求或者指示超过预定的时间段而未接收到指令的输入,则打印机可以取消未经认证的打印请求。如上所述,托管打印服务100可以使web服务108能够向托管打印服务100提交打印请求,以通过经由托管打印服务100可访问的打印机中的一个或多个打印机来完成打印请求。然而,为了降低打印机104(a)-104(m)将充斥来自web服务108的非法打印请求的风险,托管打印服务100可以采用用于管理从web服务108接收的打印请求的完成的一个或多个不同的机制。在某些实现中,托管打印服务100可以仅仅使之前已与托管打印服务100建立信任关系的web服务能够向托管打印服务100提交打印请求,以通过经由托管打印服务100可访问的打印机104(a)-104(m)其中之一来完成打印请求。例如,如图1所示,web服务108之前已与托管打印服务100建立信任关系。为了证明其之前已与托管打印服务100建立信任关系,托管打印服务100可以要求web服务向托管打印服务100传送数字证书。作为与web服务建立信任关系的过程的一部分或除该过程之外,托管打印服务100可以要求web服务仅仅向托管打印服务100提交在与经web服务认证的电子用户装置或用户之间的通信会话过程期间产生的打印请求。例如,如图1所示,电子用户装置102 (n)已与web服务108建立认证通信会话。如此,托管打印服务100可以使用web服务108对电子用户装置102 (n)和/或电子用户装置102 (n)的用户所执行的认证,其中web服务108作为用于对电子用户装置102 (n)和/或电子用户装置102 (n)的用户进行认证的代理服务器。Web服务108可以采用各种不同的技术来对电子用户装置102 (n)和/或电子用户装置102 (n)的用户进行认证,各种不同的技术包括上面关于托管打印服务100所进行的认证所描述的那些技术。由于web服务108之前与托管打印服务100建立信任关系,以及web服务108对与电子用户装置102 (n)建立的通信会话进行了认证的事实,因此托管打印服务100可以将从web服务108接收的、因与电子用户装置102 (n)之间的交互而产生的打印请求中继到经由托管打印服务100可访问的打印机104 (a)-104 (m)中的单独打印机,以完成打印请求。在某些实现中,托管打印服务100可以接受来自之前未与托管打印服务100建立信任关系的web服务的打印请求,和/或托管打印服务100可以接受来自之前已与托管打印服务100建立信任关系的web服务的、但是是通过可信任web服务与电子用户装置和/或电子用户装置的用户之间的未经认证的交互的结果的打印请求。然而,和托管电子通信系统100直接从与其未建立认证通信会话的电子用户装置所接收的打印请求一样,这些打印请求可以与指出这些打印请求未经认证的指示一起被中继到打印机104 (a)-104 (m)中的适当的打印机,使得所牵连的打印机直到接收本地授权或确认这么做之后才完成打印请求。图2是托管打印服务200的示例(例如图1所示的托管打印服务100)的框图。为了说明性的目的,以整体式实体来表示图2所示以及下面描述的若干个元件。然而,这些元件均可包括和/被实现在众多互连的计算装置和其它部件上,其它部件被设计为执行一组指定的操作,并且可以专用于特定的地理区域,或者可替代地,可以分布在两个或多个不同的地理位置之间。如图2所示,托管打印服务200包括网络接口 202、计算机存储器存储系统204以及一个或多个处理器206,网络接口 202用于与一个或多个远程电子用户装置、web服务和/或打印机进行通信,计算机存储器存储系统204用于存储提供托管打印服务200可利用的功能性的应用程序指令,一个或多个处理器206用于执行例如来自计算机存储器存储系统204和/或一个或多个其它的电子装置的指令。如上所述,当处理器206执行存储在计算机存储器存储系统204中的应用程序指令时,应用程序指令促使托管打印服务系统200接收来自一个或多个远程电子用户装置和/或一个或多个其它web服务的打印请求,并将这些请求中继到一个或多个适当的打印机,以完成打印请求。托管打印服务200还包括用于存储打印机注册表的计算机存储器存储系统208、用于存储用户注册表的计算机存储器存储系统210以及用于存储web服务注册表的计算机存储器存储系统212。每当新打印机指示期望可以利用托管打印服务200,以便完成托管打印服务200从电子用户装置接收的打印请求时,托管打印服务200可以执行打印机注册过程。例如,托管打印服务200可以显露出API和/或用户界面,API和/或用户界面使打印机或附属于上述打印机的资源(例如,具有这些打印机的管理员权限的个人计算机)能够向托管打印服务200注册,使得这些打印机之后可以与托管打印服务200协作,来完成托管打印服务200所接收的打印请求。作为该注册过程的一部分,当新打印机向托管打印服务200注册时,托管打印服务200可以采集关于该新打印机的各种信息,包括例如新打印机的网络地址(例如,IP地址和/或媒体访问控制(MAC)地址)、新打印机的位置(例如,纬度坐标和经度坐标,GPS坐标、街道地址、建筑物名称/号码、建筑物楼层、楼层位置)、新打印机的性能(例如,支持的格式、打印技术(例如,喷墨或激光)、每分钟页数、彩色或黑白、纸张大小、分辨率)、与新打印机进行通信的协议、新打印机的制造商和型号、新打印机的文本模式(例如,打印机名称)、新打印机的所有者/操作员、和/或指定关于允许谁向新打印机提交打印请求的规则的访问权。托管打印服务200收集的该信息然后可以记录在存储于计算机存储器存储系统208中的打印机注册表中,打印机注册表用于记录关于不同打印机的信息,托管打印服务200被配置并被授权为与不同打印机协作,来完成从远程电子用户装置和/或web服务所接收的打印请求。因此,对于托管打印服务200被配置并被授权为与其协作的每个打印机来说,存储在计算机存储器存储系统208中的打印机注册表可以存储网络地址、位置、提供的性能指示、关于与打印机进行通信的通信协议的信息、打印机的制造商和型号的指示、关于打印机的文本模式、打印机的所有者/操作员的指示、和/或关于允许谁提交打印请求的规则。每当新电子用户装置和/或新电子用户装置的用户指示期望利用托管打印服务200所提供的服务时,托管打印服务200也可以执行用户注册过程。例如,托管打印服务200可以显露出API和/或用户界面,API和/或用户界面使电子用户装置和/或电子用户装置的用户能够向托管打印服务200注册,以便访问托管打印服务200所提供的服务。作为该用户注册过程的一部分,当电子用户装置的新用户和/或新电子用户装置向托管打印服务200注册时,托管打印服务200可以采集关于该新用户和/或电子用户装置的各种信息,包括例如在新用户的情况中的新用户的名字、新用户的街道地址、新用户的认证信息(例如,用户名或其它标识符以及对应的密码、数字证书)、新用户的账单信息(例如,信用卡信息)(例如,如果用户希望在打印机完成缴费的打印请求则采集该信息)、向托管打印服务网200注册的允许新用户访问的打印机的指示、打印机选择信息(例如,关于打印机的选择类型和性能的信息)、和\或新用户访问托管打印服务200可以利用的不同装置的识别息。由托管打印服务200收集的该信息然后可以记录在存储于计算机存储器存储系统210中的用户注册表中,用户注册表用于记录关于已向托管打印服务200注册以便能够访问托管打印服务200所提供的服务的电子用户装置的不同用户和/或电子用户装置的信息。因此,对于向托管打印服务200注册的每个用户来说,存储于计算机存储器存储系统210中的用户注册表可以存储用户的名字、街道地址、认证信息、账单信息、向托管打印服务网200注册的允许用户访问的打印机的指示、打印机选择信息、和\或用户访问托管打印服务200可以利用的不同装置的识别信息。如上所述,托管web服务200被配置为接收来自其它web服务的打印请求,并与打印机协作,来完成从这些web服务接收的打印请求。还如上所述,托管web服务200可以在接受来自web服务的打印请求之前要求与另一web服务的信任关系的信息。为了便于与web服务的上述信任关系的信息,每当新web服务指示期望能够访问托管打印服务200所提供的服务时,托管打印服务200可以执行web服务注册过程。例如,托管打印服务200可以显露出API和/或用户界面,API和/或用户界面使web服务或附属于上述web服务的资源(例如,具有web服务的管理员权限的个人计算机)能够向托管打印服务200注册,使得web服务之后可以访问托管打印服务200所提供的服务。在某些实现中,托管打印服务200可以在与web服务建立信任关系之前,要求web服务对访问web服务所提供的服务的用户进行认证。作为该注册过程的一部分,当新web服务向托管打印服务200注册时,托管打印服务200可以采集关于新web服务的各种信息,包括例如新web服务的名称、新web服务的认证信息、和/或用于与新web服务进行通信的通信协议。由托管打印服务200收集的该信息然后可以记录在存储于计算机存储器存储系统212中的web服务注册表中,web服务注册表用于记录关于与托管打印服务200维持信任关系的不同web服务的信息。因此,对于与托管打印服务200维持信任关系的每个web服务来说,存储于计算机存储器存储系统212中的web服务注册表可以存储web服务的名称、web服务的认证信息、和/或用于与web服务进行通信的通信协议。 托管打印服务200还包括被配置为存储每个打印机的打印请求队列216 (a) -216 (m)的计算机存储器存储系统214,托管打印服务200被配置为与每个打印机协作,来完成从电子用户装置接收的打印请求。当托管打印服务200接收待由具体打印机完成的打印请求时,托管打印服务200将该打印请求存储在与具体打印机相对应的打印请求队列216中,并且向具体打印机显露该打印请求队列,使得具体打印机知道等待的打印请求。在某些实现中,托管打印服务200可以维持每个打印机的多个不同的打印请求子队列,其中托管打印服务200被配置为与每个打印机协作。例如,如图2所示,由托管打印系统200维持的每个打印请求队列216 (a)-216 (m)包括三个子队列来自可信任web服务的经许可的请求子队列(218)、来自用户装置的经许可的请求子队列220、以及来自用户装置的未经许可的请求子队列(222)。当托管打印服务200从可信任web服务接收到待由具体打印机完成的打印请求,并且托管打印服务200确定该打印请求被授权时,托管打印服务200将该打印请求增加到具体打印机的来自可信任web服务的经许可的请求子队列218。类似地,当托管打印服务200从经认证的用户和/或电子用户装置接收到待由具体打印机完成的打印请求时,托管打印服务200将该打印请求增加到具体打印机的来自用户装置的经许可的请求子队列220,以及当托管打印服务从未经认证的用户和/或电子用户装置接收到待由具体打印机完成的打印请求时,托管打印服务200将该打印请求增加到具体打印机的来自用户装置的未经许可的请求子队列222。在可替代实现中,针对来自不同的源和/或具有不同授权状态的打印请求,托管打印服务200可以不在单独打印机的打印请求队列内维持分开的打印请求子队列。相反,托管打印服务200可以维持每个打印机的单个打印请求队列,但可以包括关于传送至打印机的打印请求在通信内部的源和/或许可状态的信息。图3是用于处理在托管打印服务接收的打印请求的过程示例的流程图300。图3的流程图300中示出的过程可以由托管打印服务(例如图1所示的托管打印服务100或图2所示的托管打印服务200)来执行。此外,图3的流程图300中示出的过程可以由计算系统的一个或多个处理元件因执行存储于计算机可读存储装置上的应用程序代码而执行,其中托管打印服务在计算系统上运行。每当接收到新的打印请求时,可以执行图3的流程图300中示出的过程。在框302,托管打印服务接收打印文件的请求。作为响应,在框304,托管打印服务确定该请求是从哪里接收的。如果托管打印服务确定该请求是从可信任web服务接收的,则托管打印服务继续到框306,而如果该请求是从电子用户装置接收的,则托管打印服务继续到框308。如果该请求是从不同于可信任web服务或电子用户装置的实体接收的,则托管打印服务继续到框310,在框310处,托管打印服务拒绝该请求。托管打印服务可以采用各种不同的技术,以便确定打印文件的请求是否是从可信任web服务接收的。例如,在某些实现中,从web服务接收的打印文件的请求可以包括加密的数字签名。在上述实现中,当托管打印服务接收到来自web服务的打印文件的请求时,托管打印服务可以对加密数字签名进行解密,并将解密的数字签名与web服务注册表(例如,存储于图2所示的计算机存储器存储系统212上的web服务注册表)中存储的信息进行比较,以确定解密的数字签名是否与可信任web服务的数字签名对应。如果托管打印服务在web服务注册表中找到匹配,则托管打印服务可以确定打印文件的请求是从可信任web服务接收的。为了认证目的,托管打印服务可以要求来自web服务的密码或其它认证信息(例如,数字证书),来代替利用加密数字签名进行认证。另外或可替代地,在打印请求提交之前或者作为打印请求提交的一部分,托管打印服务还可以确认从可信任web服务接收的打印请求源自于经web服务认证的用户(例如,通过有效用户名或其它标识符以及对应的密码的验证)。在某些实现中,托管打印服务仅仅可以与web服务建立信任关系,其中该web服务仅仅提交代表web服务已经认证的用户的打印请求。可替代地,在其它实现中,托管打印服务在接收到打印请求之后可以询问web服务,以确认该打印请求源自于经认证的用户,或者web服务可以在向托管打印服务最初传输打印请求时包括该打印请求源自于经认证的用户的指示。如果托管打印服务确定web服务(其中打印请求是从该web服务接收的)未被托管打印服务信任,和/或打印请求来自未经web服务识别的用户,则托管打印服务可以拒绝该打印请求。相反,在框304处确定打印请求是从可信任web服务接收的之后,托管打印服务继续到框306,在框306,托管打印服务将打印请求中指定的打印机识别为打印该文件的打印机。托管打印服务从框306继续到框312,在框312处,托管打印服务将打印请求添加到被识别的打印机的打印请求队列,打印请求队列包括从可信任web服务接收的经许可的打印请求(例如,存储于图2所示的计算机存储器存储系统218上的、来自可信任web服务的经许可的请求子队列)。在某些实现中,与托管打印服务具有信任关系的一个或多个web服务仅仅可以适于打印请求由比托管打印服务被配置为与其协作的所有打印机少的部分打印机来完成。在这种情况中,当在框306处托管打印服务将打印请求中指定的打印机识别为打印该文件的打印机,则托管打印服务还可以咨询打印机注册表(例如,存储于图2所示的计算机存储器存储系统208上的打印机注册表)和web服务注册表(例如,存储于计算机存储器存储系统212上的web服务注册表)中的一个或两个,以确定web服务是否被授权打印请求由被识别的打印机来完成。如果web服务未被授权打印请求在被识别的打印机完成,则托管打印服务可以拒绝该打印请求。可替代地,如果web服务被授权打印请求在被识别的打印机完成,则托管打印服务可以继续到框312,在框312,如上所述,托管打印服务将打印请求添加到被识别的打印机的打印请求队列。然后,托管打印服务最后向被识别的打印机通知等待的该打印机请求以及可能通知添加到相同队列的其它打印请求,例如,通过借助于REST API向打印机显露打印请求队列。返回至框304,当托管打印服务确定打印请求是从电子用户装置接收时,托管打印服务继续到框308,在框308,托管打印服务确定与发送打印请求的电子用户装置之间的通信会话是否是经认证的通信会话。托管打印服务可以采用各种不同的技术,以便对与电子用户装置之间的通信会话进行认证。例如,在一个实现中,为了认证的目的,托管打印服务可以要求电子用户装置的用户使用该电子用户装置来将用户名或其它标识符以及密码提交给托管打印服务。当从用户接收到用户名或其它标识符以及对应的密码时,托管打印服务可以咨询用户注册表(例如,存储于计算机存储器存储系统210上的用户注册表),以确定该用户名或其它标识符以及密码与用户的存储于用户注册表中的认证信息相匹配。如果该用户名或其它标识符以及密码与用户的存储于用户注册表中的认证信息相匹配,则托管打印服务可以对与电子用户装置之间的通信会话进行认证。相反,如果该用户名或其它标识符以及密码与用户的认证信息不匹配,则托管打印服务可以拒绝对与电子用户装置之间的通信会话进行认证。当托管打印服务在框308确定从电子用户装置接收的打印请求是通过认证的通信会话来接收的,则托管打印服务继续到框314,在框314,托管打印服务将打印请求中指定的打印机识别为打印该文件的打印机。之后,经识别出打印文件的打印机,在框316,托管打印服务将打印请求添加到被识别的打印机的打印请求队列(例如,存储于图2所示的计算机存储器存储系统220上的、来自用户装置的经许可的请求子队列),打印请求队列包括通过通信会话从用户装置接收的经许可的打印请求,其中通信会话已经被托管打印服务认证。然后,托管打印服务最后向被识别的打印机通知等待的该打印机请求以及可能通知添加到相同队列的其它打印请求,例如,通过借助于REST API向打印机显露打印请求队列。在某些实现中,已向托管打印服务注册的一个或多个用户仅仅可以适于由比托管打印服务被配置为与其协作的所有打印机少的部分打印机来完成打印请求。在这种情况中,当在框314处托管打印服务将打印请求中指定的打印机识别为打印该文件的打印机,则托管打印服务还可以咨询打印机注册表(例如,存储于图2所示的计算机存储器存储系统208上的打印机注册表)和web服务注册表(例如,存储于计算机存储器存储系统210上的web服务注册表冲的一个或两个,以确定用户是否被授权打印请求由被识别的打印机来完成。如果用户未被授权打印请求在被识别的打印机完成,则托管打印服务可以拒绝该打印请求。可替代地,如果用户被授权打印请求在被识别的打印机完成,则托管打印服务可以继续到框316,在框316,如上所述,托管打印服务将打印请求添加到被识别的打印机的打印请求队列。返回至框308,如果托管打印服务确定从电子用户装置接收的打印请求是通过未经认证的通信会话从电子用户装置接收的,则托管打印服务继续到框318,在框318,托管打印服务将打印请求中指定的打印机识别为打印该文件的打印机。之后,托管打印服务在步骤320确定打印请求中指定的打印机是否与托管打印服务被配置为与其协作来完成打印请求的有效打印机相对应。例如,在某些实现中,托管打印服务可以被配置为通过未经认证的通信会话来从电子用户装置接收指定打印机的网络地址或其它标识符的打印请求。因此,在上述实现中,在将该打印请求中继到指定打印机之前,托管打印服务首先确认指定打印机是有效的,并且托管打印服务被配置为与指定打印机协作来完成打印请求。如果托管打印服务在框320确定指定打印机是无效的和/或托管打印服务未被配置为与指定打印机协作,则托管打印服务继续到框310并拒绝请求。可替代地,如果托管打印服务在框320确定指定打印机是有效的和/或托管打印服务被配置为与指定打印机协作来完成打印请求,则托管打印服务继续到框322,托管打印服务在框322将打印请求添加到指定打印机的、在打印机完成打印之前要求许可的打印请求队列(例如,存储于图2所示的计算机存储器存储系统222(a)上的、来自用户装置的未经许可的请求子队列)。当将通过未经认证的通信会话从电子用户装置接收的上述打印请求添加到在完成之前要求许可的打印请求队列时,可以将关于打印请求的附加信息(例如发送打印请求的用户和/或电子用户装置、或打印页数)附在打印请求上(例如,附在打印请求之后、或之前、或与之相关联),以便向最后负责对打印请求进行授权的实体提供可有助于确定是否授权该请求的信息。图4是用于处理在打印机接收的来自托管打印服务的打印请求的过程示例的流程图。图4的流程图400中示出的过程可以由打印机(例如图1所示的打印机104 (a)-104 (m)之一)和/或被配置为控制图1所示的打印机104 (a)-104 (m)之一的外部控制器来执行。具体地,图4的流程图400中示出的过程可以由打印机或外部打印机控制器中的一个或多个处理元件因执行存储在计算机可读存储装置上的指令而实现,其中打印机或外部打印机控制器可访问该计算机可读存储装置。如上所述,在某些实现中,被配置为与托管打印服务协作来完成打印请求的打印机可以间歇地(例如,定期或不定期地)询问托管打印服务,以确定在托管打印服务处是否有待由该打印机解决的打印请求。在某些实现中,托管打印服务和打印机均可以被配置为利用REST API来实现托管打印服务和打印机之间的上述通信。在框402,打印机例如利用GET方法和RETRIEVE REST API方法中的一种或两种来向托管打印服务询问等待的打印请求。如果在托管打印服务处存在待由打印机解决的打印请求,则托管打印服务将等待的请求例如利用REST API中继到打印机,在框404,打印机从托管打印服务接收等待的打印请求。之后,在框406,打印机确定托管打印服务是否已经许可所接收的打印请求中的单独一个打印请求。例如,如上所述,如果该打印请求是由托管打印服务从电子用户装置通过与电子用户装置之间的认证的通信会话接收的,或者如果该打印请求是由托管打印服务从可信任web服务接收的,则托管打印服务可以向该打印机预许可打印请求。如果打印机在框406确定该打印请求已经被托管打印服务许可,则打印机在框408完成该打印请求,通过在有形基板上呈现文件的可视表示而将文件的电子版转换为复印件形式。相反,如果打印机在框406确定该打印请求尚未被托管打印服务许可,则打印机在框410请求手动许可打印请求。例如,在某些实现中,打印机可以包括一体化的显示装置或具有对外部显示装置的访问权。在上述实现中,打印机可以促使显示装置显示关于至此未经许可的打印请求的信息,并自用户请求关于是否应完成打印请求的手动指令。图5是具有一体化显示装置502的打印机500的示例的图示,在这种情况中,显示装置502例如是触摸屏显示装置。当打印机500从托管打印服务接收到未经托管打印服务许可的打印请求时,打印机500促使显示装置502显示消息,该消息包括关于打印请求的信息,例如,如图5所示,打印请求所来自的用户的名字(当然也可以显示关于等待的打印请求的附加信息,例如打印的页数),并且该消息自用户请求关于是否许可或拒绝打印请求的手动指令。如果打印机500的操作员确认许可打印请求,则操作员可以选择触摸屏显示装置502上的“许可”按钮504。相反,如果打印机500的操作员确认拒绝打印请求,则该操作员可以选择触摸屏显示装置502上的“拒绝”按钮506。再次参照图4,如果在框412,打印机接收到打印请求被许可的指示,则打印机继续到框408,并完成打印请求。可替代地,如果在框412,打印机接收到打印请求被拒绝(或者经过预定的时间段并且未接收到关于打印请求的状态的判断)的指示,则打印机继续到框414,并取消打印请求。在任一情况中,在框408完成打印请求或者在框414取消打印请求之后,打印机继续到框416,打印机在框416确定是否有在打印机接收的、来自托管打印服务的更多打印请求保持等待。如果有在打印机接收的、来自托管打印服务的更多打印请求事实上的确在等待,则打印机返回至框404,并且针对剩余的等待的打印请求中的每个打印请求重复该过程。可替代地,如果没有在打印机接收的、来自托管打印服务的打印请求保持等待,则打印机返回至框402,在框402,打印机针对等待的打印请求再一次询问托管打印服务。已经描述了大量方法、技术、系统和设备。可以在数字电子电路或计算机硬件中例如通过执行存储在计算机可读存储介质中的指令来实现所描述的方法、技术、系统和设备。实现这些技术的设备可以包括适当的输入装置和输出装置、计算机处理器和/或用于存储待由处理器执行的指令的有形计算机可读存储介质。实现在本文中公开的技术的过程可以通过处理器执行存储在有形计算机可读存储介质上的指令来执行,这些指令用于通过对输入数据进行操作并生成适当的输出来执行期望的功能。适合的处理器包括例如通用和专用微处理器。用于存储可执行指令的适合的计算机可读存储装置包括所有形式的非易失性存储器,例如包括半导体存储装置(例如可擦可编程只读存储器(EPR0M)、电可擦可编程只读存储器(EEPROM)和闪存)、磁光盘和光盘只读存储器(CD-ROM)。上述中的任意一种可以由专门设计的专用集成电路(ASIC)来补充或合并到专门设计的专用集成电路(ASIC)中。尽管在本文中可以将所公开的技术的操作描述为以特定的顺序来执行,但在某些实现中,单独的操作可以以不同的顺序来重新排列和/或被排除,并且仍可以达到期望的结果。类似地,在所公开的系统中的部件可以以不同的方式被组合和/或被其它部件代替或补充,并且仍可以达到期望的结果。
权利要求
1.一种计算机实现的方法,包括 在第一计算机系统并经由公用网接收在打印机处打印文件的请求; 确定所述请求包括表明所述请求由在第二计算机系统上执行的应用程序传送的指示,所述第二计算机系统与所述第一计算机系统分离并且不相同,所述应用程序响应于通过与所述第二计算机系统分离并且不相同的电子装置从用户接收的通信,并且所述应用程序响应于从所述电子装置接收的一个或多个通信而传送所述请求; 确定所述应用程序被所述第一计算机系统信任;以及 响应于接收所述请求和确定所述应用程序被信任,向所述打印机显露用于使所述打印机完成打印文件的所述请求的请求指示。
2.根据权利要求1所述的方法,其中向所述打印机显露用于使所述打印机完成打印文件的所述请求的请求指示包括将打印文件的所述请求添加到与已得到所述第一计算机系统许可的打印请求相对应的队列,所述方法进一步包括 经由所述公用网并从另一电子装置接收关于所述另一电子装置的用户的认证证书; 验证所接收的关于所述另一电子装置的用户的认证证书; 在所述第一计算机系统并经由所述公用网接收在所述打印机处打印附加文件的附加请求; 确定在所述打印机处打印附加文件的所述附加请求是从所述另一电子装置接收的;以及 因已确定所述附加请求是从所述另一电子装置接收的以及已验证关于所述另一电子装置的用户的所述认证证书,而将所述附加请求添加到与已得到所述第一计算机系统许可的打印请求相对应的队列。
3.根据权利要求1所述的方法,其中向所述打印机显露用于使所述打印机完成打印文件的所述请求的请求指示包括将打印文件的所述请求添加到与已得到所述第一计算机系统许可的打印请求相对应的队列,所述方法进一步包括 在所述第一计算机系统并经由所述公用网接收在所述打印机处打印附加文件的附加请求; 确定在所述打印机处打印附加文件的所述附加请求是从所述第一计算机系统无法给予许可的资源接收的;以及 因已确定所述附加请求是从所述第一计算机系统无法给予许可的资源接收的,而将所述附加请求添加到要求来自所述打印机的完成许可的队列。
4.根据权利要求1所述的方法,其中在第二计算机系统上执行的所述应用程序是web服务,使得 确定所述请求包括表明所述请求由在所述第二计算机系统上执行的应用程序传送的指示包括确定所述请求包括表明所述请求由在所述第二计算机系统上执行的web服务传送的指示;以及 确定所述应用程序被所述第一计算机系统信任包括确定所述web服务被所述第一计算机系统信任。
5.根据权利要求1所述的方法,其中在所述第一计算机系统接收在打印机处打印文件的所述请求包括在所述第一计算机系统从在所述第二计算机系统上执行的所述应用程序接收所述请求,以在所述应用程序经由公用网不可直接访问的打印机处打印文件。
6.根据权利要求1所述的方法,其中在所述第一计算机系统接收在打印机处打印文件的所述请求包括在所述第一计算机系统从响应于通过所述电子装置从所述用户接收的通信而在所述第二计算机系统上执行的所述应用程序接收所述请求,以在所述电子装置经由公用网不可直接访问的打印机处打印文件。
7.根据权利要求1所述的方法,其中确定所述应用程序被所述第一计算机系统信任包括在所述第一计算机系统未接收到关于所述第一用户的认证信息的情况下,确定所述应用程序被所述第一计算机系统信任。
8.根据权利要求1所述的方法,其中向所述打印机显露用于使所述打印机完成打印文件的所述请求的请求指示包括从所述第一计算机系统向所述打印机传送在所述打印机处打印文件的指令。
9.根据权利要求1所述的方法,进一步包括在所述第一计算机系统并从所述打印机接收在所述第一计算机系统所述打印机是否正在等待打印任务的询问,其中 向所述打印机显露用于使所述打印机完成打印文件的所述请求的请求指示包括响应于从所述打印机接收所述询问而从所述第一计算机系统向所述打印机传送在所述打印机处打印文件的指令。
10.根据权利要求1所述的方法,其中确定所述应用程序被所述第一计算机系统信任包括 从在所述第二计算机系统上执行的所述应用程序接收加密的数字签名; 对所接收的加密的数字签名进行解密;以及 验证所解密的数字签名与被所述第一计算机系统信任的应用程序相对应。
11.根据权利要求8所述的方法,其中在所述打印机处打印文件的请求附有所加密的数字签名,使得从所述应用程序接收所加密的数字签名包括接收所加密的数字签名,作为在所述第一计算机系统接收在所述打印机处打印文件的请求的一部分。
12.根据权利要求1所述的方法,其中确定所述应用程序被所述第一计算机系统信任包括 从在所述第二计算机系统上执行的所述应用程序接收认证信息;以及 验证从所述应用程序接收的所述认证信息与已知被所述第一计算机系统信任的应用程序相对应。
13.一种托管打印服务的计算机系统,所述计算机系统包括 一个或多个处理元件;和 计算机存储器存储系统,用于存储当由所述一个或多个处理元件执行时促使所述一个或多个处理元件执行以下动作的指令 经由公用网并从其它电子装置中的部分电子装置接收关于所述部分电子装置的用户的认证证书, 验证所接收的所述其它电子装置中的部分电子装置的用户的所述认证证书, 响应于验证所述其它电子装置中的部分电子装置的用户的所述认证证书,通过所述部分电子装置中的对应电子装置与所述用户建立会话, 经由公用网接收代表所述其它电子装置的、在单独打印机处打印文件的请求,所述打印机中的至少某些打印机是所述其它电子装置中的至少某些电子装置经由公用网不可访问的, 针对接收的在打印机处打印文件的多个请求中的每个请求 识别打印文件的特定打印机,以及 确定所述请求是否是从在远程计算机系统上执行的、已知被托管所述打印服务的所述计算机系统信任的应用程序接收的、是否是从所述其它电子装置中的部分电子装置中的、从其接收用户的认证证书并且与其之间的会话保持活动的一个电子装置接收的、或者是否是从与其没有进行活动会话的电子装置接收的, 针对被确定为从已知被托管所述打印服务的所述计算机系统信任的应用程序接收的、在具体打印机处打印第一文件的第一请求,将所述第一请求的指示添加到与待由所述具体打印机完成的打印请求对应的第一队列, 针对被确定为从所述其它电子装置中的部分电子装置中的、从其接收用户的认证证书并且与其之间的会话保持活动的一个电子装置接收的、在所述具体打印机处打印第二文件的第二请求,将所述第二请求的指示添加到与待由所述具体打印机完成的打印请求对应的第二队列, 针对被确定为从所述其它电子装置中的、与其没有进行活动会话的一个电子装置接收的、在所述具体打印机处打印第三文件的第三请求,在经所述具体打印机许可之后,将所述第三请求的指示和从其接收所述第三请求的源的指示添加到与待由所述具体打印机完成的打印请求对应的第三队列,以及 向所述具体打印机显露包括所述第一请求的指示的所述第一队列、包括所述第二请求的指示的所述第二队列以及包括所述第三请求的指示以及从其接收所述第三请求的所述源的指示的所述第三队列。
14.根据权利要求13所述的计算机系统,其中 当由所述一个或多个处理元件执行时促使所述一个或多个处理元件将所述第三请求的指示和从其接收所述第三请求的源的指示添加到所述第三队列的指令包括在由所述一个或多个处理元件执行时促使所述一个或多个处理元件将从其接收所述第三请求的用户标识的指示添加到所述第三队列的指令;以及 当由所述一个或多个处理元件执行时促使所述一个或多个处理元件向所述具体打印机显露包括所述第三请求的指示和从其接收所述第三请求的所述源的指示的所述第三队列的指令包括在由所述一个或多个处理元件执行时促使所述一个或多个处理元件向所述具体打印机显露包括所述第三请求的指示和从其接收所述第三请求的所述用户标识的指示的所述第三队列的指令。
15.一种有形的计算机可读存储介质,用于存储当由一个或多个处理元件执行时促使所述一个或多个处理元件执行以下动作的指令 经公用网将询问传送给远程计算机系统,以识别待完成的等待的打印请求; 响应于所述询问,接收待完成的、已得到所述远程计算机系统完成许可的第一等待的打印请求和待完成的、尚未得到所述远程计算机系统完成许可的第二等待的打印请求的指示; 促使所述打印机完成所述第一等待的打印请求;因关于所述第二等待的打印请求未得到所述远程计算机系统的完成许可,而促使在靠近 打印机的显示设备显示关于所述第二等待的打印请求的信息; 响应于促使显示关于所述第二等待的打印请求的信息,从用户接收用于完成所述第二等待的打印请求的授权;以及 因已从所述用户接收用于完成所述第二等待的打印请求的授权,而促使所述打印机完成所述第二等待的打印请求。
全文摘要
在第一计算机系统经由公用网接收在打印机打印文件的请求。响应于接收请求,向打印机显露用于使打印机完成打印文件请求的请求指示。
文档编号G06F3/12GK103003788SQ201080068054
公开日2013年3月27日 申请日期2010年7月15日 优先权日2010年7月15日
发明者哈里什·B·卡马特, 希恩·昆·科艾, 拉胡尔·库马尔·斯里瓦斯塔瓦 申请人:惠普发展公司,有限责任合伙企业
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1