CN102915214B - 拉式打印系统及其管理方法、打印服务器及其控制方法 - Google Patents

拉式打印系统及其管理方法、打印服务器及其控制方法 Download PDF

Info

Publication number
CN102915214B
CN102915214B CN201210226851.9A CN201210226851A CN102915214B CN 102915214 B CN102915214 B CN 102915214B CN 201210226851 A CN201210226851 A CN 201210226851A CN 102915214 B CN102915214 B CN 102915214B
Authority
CN
China
Prior art keywords
print job
printer
information
print
printing server
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201210226851.9A
Other languages
English (en)
Other versions
CN102915214A (zh
Inventor
内川慎
内川慎一
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Publication of CN102915214A publication Critical patent/CN102915214A/zh
Application granted granted Critical
Publication of CN102915214B publication Critical patent/CN102915214B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • G06F3/1288Remote printer device, e.g. being remote from client or server in client-server-printer device configuration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1207Improving or facilitating administration, e.g. print management resulting in the user being informed about print result after a job submission
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1259Print job monitoring, e.g. job status
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • G06F3/1289Remote printer device, e.g. being remote from client or server in server-client-printer device configuration, e.g. the server does not see the printer

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)

Abstract

本发明提供一种拉式打印系统及其管理方法、打印服务器及其控制方法。拉式打印系统包括位于内部网络上的客户端和打印机以及位于外部网络上的服务器,服务器包括:生成部件,用于响应于从客户端发出的针对打印机的打印请求,生成客户端要执行的程序并且将程序传送至客户端,其中,程序用于实现发出至打印机的指示以执行用于打印作业的处理、以及与打印作业的处理状态相关联并且要发送至服务器的通知;接收部件,用于从打印机接收通知;以及监视部件,用于使用接收部件所接收到的通知,对指示打印机要执行的打印作业进行监视。

Description

拉式打印系统及其管理方法、打印服务器及其控制方法
技术领域
本发明涉及一种拉式打印系统、打印作业管理方法、打印服务器及其控制方法。本发明尤其涉及一种用于在拉式打印系统中使打印服务器和打印机在管理信息方面相互同步的技术。
背景技术
近年来,业务随着作为云服务的、向因特网上的公众提供的服务而发展。需要打印服务器提供作为因特网上的打印服务的功能。在这种情况下,需要一种允许打印机经由因特网从打印服务器获取打印数据、并且对其进行拉式打印的云拉式打印系统。
作为用于使用因特网上的打印服务器对打印数据进行拉式打印的技术,已知使用的拉式打印方案。在使用JavaScript的拉式打印方案中,打印服务器生成用于向打印打印数据的打印机发送所请求的命令的JavaScript程序,并且将其传送给Web浏览器。在Web浏览器接收到并执行该JavaScript程序时,向JavaScript程序中所指定的打印机发送拉式打印请求,从而请求该打印机打印打印数据。此时,通过例如打印数据的URL来指定打印数据。注意,“Print Service Definition Version 1.0 For Web Services onDevices,[online],January 29,2007,Microsoft,[Searched on June 22,2011],Internet <URL:http://msdn.microsoft.com/ja-jp/windows/hardware/gg463146>”详细说明了用于从所指定的打印数据的URL获取打印数据、并且对其进行打印的拉式打印技术。
在包括内部网中的打印服务器和打印机的打印系统中,打印服务器经由网络与打印机直接通信,以使得其可以确认所请求的打印作业的状态,并且发出用于登记/删除打印机中已发生的事件的通知目的地的请求。
然而,防火墙位于打印机和诸如云服务等的因特网上所配置的打印服务器之间,因此打印服务器不能经由网络直接访问打印机。因此,使用JavaScript的拉式打印方案可以采用下面的方法:通过使用云服务而提供服务的打印服务器在JavaScript程序中不仅包括打印请求,而且还包括用于发送作业结束通知事件的命令。打印机将要把作业结束通知事件发送至的打印服务器的地址保持在存储器区域中,作为事件通知目的地,并且向该打印服务器发送作业结束通知,从而向打印服务器通知打印作业的状态。
然而,使用事件的作业结束通知通常不足以使打印服务器掌握作业状态。例如,打印机仅在完成打印作业时才向打印服务器通知作业结束事件。注意,如果在已登记了该事件时,在完成作业之前重新启动打印机,则清除保持在易失性存储器中的、要发送给打印服务器的事件通知。结果,重新启动的打印机不能向打印服务器发送作业状态的信息。在这种情况下,由于例如打印机的重新启动,打印服务器不能检查出请求要通过打印机执行的作业的结束通知的发送失败的原因,因而不能确定是打印机没有完成作业还是不能发送事件。当发生这一情况时,打印服务器不能掌握被请求打印打印作业的打印机中所请求的该打印作业的状态,因此继续管理该打印作业。
还存在另一问题。在打印机中登记了事件之后,在事件通知变得不必要情况下,需要向打印机发出事件删除请求以删除登记在打印机中的事件信息。然而,如上所述,诸如云服务等的因特网上配置的打印服务器不能直接向由防火墙所保护的打印机发出事件删除请求。因此,在使用JavaScript的拉式打印方案中,可以在打印期间采用用于经由打印操作者所操作的Web浏览器向打印机通知事件删除请求的处理,从而通过云上的打印服务向打印机发出事件删除请求。
然而,该事件删除请求方法存在问题。在打印中,发出打印请求的客户端可以通过使用Web浏览器将其本身连接至打印服务器来发送打印请求。然而,不能保证在完成打印之后,已发送了打印请求的客户端能够再次使用Web浏览器将其本身连接至打印服务器。
这表示在当客户端在单独发出打印请求时断开与打印服务器的连接的情况下,打印服务器不能经由客户端向打印机发出请求,因而不能删除登记在打印机中的事件通知目的地。除非删除登记在打印机中的事件,否则打印机继续向所登记的事件发送目的地发送事件或者保持不必要的事件发送目的地信息。结果,登记在打印机中的事件的数量达到上限,并且其他打印操作者不能在打印机中登记新的事件。
为了解决打印机继续向不适当的目的地发送事件这一问题,日本特开2007-257481说明了一种技术,在该技术中,当作为事件发送的结果,发送回错误应答时,打印装置从目的地列表删除发送回错误应答的事件发送目的地。然而,如果从事件发送目的地发送回表示事件发送成功的应答,则打印装置不会删除该事件发送目的地,因而打印装置继续向同一目的地多次分发事件。因此,当对于事件没有发生错误时,打印装置继续保持事件通知目的地。
发明内容
根据本发明的一个方面,提供一种拉式打印系统,其包括位于内部网络上的客户终端和打印机、以及位于外部网络上的打印服务器,所述打印服务器包括:生成部件,用于响应于从所述客户终端发出的针对所述打印机的打印请求,生成所述客户终端要执行的程序并且将所述程序传送至所述客户终端,其中,所述程序用于实现发出至所述打印机的、用以执行用于打印作业的处理以及与打印作业的处理状态相关联并且要发送至所述打印服务器的通知的指示;接收部件,用于从所述打印机接收所述通知;以及监视部件,用于使用所述接收部件所接收到的通知,对指示所述打印机要执行的打印作业进行监视,以及所述打印机包括:接受部件,用于接受通过所述客户终端执行所述程序而实现的、用以执行用于打印作业的处理以及与打印作业的处理状态相关联的通知的所述指示;以及通知部件,用于每隔所述接受部件所接受的指示中所指定的时间,将所述通知发送至所指定的所述打印服务器的目的地,其中,在从所述打印机接收到前一通知之后的在所述指示中所指定的时间内、从所述打印机没有接收到下一通知的情况下,所述打印服务器的所述监视部件结束对指示所述打印机要处理的打印作业的监视。
根据本发明的另一方面,提供一种拉式打印系统中的打印服务器,其中,所述拉式打印系统包括位于内部网络上的客户终端和打印机、以及位于外部网络上的所述打印服务器,所述打印服务器包括:生成部件,用于响应于从所述客户终端发出的针对所述打印机的打印请求,生成所述客户终端要执行的程序并且将所述程序传送至所述客户终端,其中,所述程序用于实现发出至所述打印机的、用以执行用于打印作业的处理以及与打印作业的处理状态相关联并且要发送至所述打印服务器的通知的指示;接收部件,用于从所述打印机接收所述通知;以及监视部件,用于使用所述接收部件所接收到的通知,对指示所述打印机要执行的打印作业进行监视,其中,在从所述打印机接收到前一通知之后的预定时间内、从所述打印机没有接收到下一通知的情况下,所述监视部件结束对指示所述打印机要处理的打印作业的监视。
根据本发明的另一方面,提供一种拉式打印系统的打印作业管理方法,其中,所述拉式打印系统包括位于内部网络上的客户终端和打印机、以及位于外部网络上的打印服务器,所述打印作业管理方法包括:在所述打印服务器中执行的如下步骤:生成步骤,用于响应于从所述客户终端发出的针对所述打印机的打印请求,生成所述客户终端要执行的程序并且将所述程序传送至所述客户终端,其中,所述程序用于实现发出至所述打印机的、用以执行用于打印作业的处理以及与打印作业的处理状态相关联并且要发送至所述打印服务器的通知的指示;接收步骤,用于从所述打印机接收所述通知;以及监视步骤,用于使用在所述接收步骤中所接收到的通知,对指示所述打印机要执行的打印作业进行监视,以及在所述打印机中执行的如下步骤:接受步骤,用于接受通过所述客户终端执行所述程序而实现的、用以执行用于打印作业的处理以及与打印作业的处理状态相关联的通知的所述指示;以及通知步骤,用于每隔在所述接受步骤中所接受的指示中所指定的时间,将所述通知发送至所指定的所述打印服务器的目的地,其中,在所述打印服务器的所述监视步骤中,在从所述打印机接收到前一通知之后的在所述指示中所指定的时间内、从所述打印机没有接收到下一通知的情况下,结束对指示所述打印机要处理的打印作业的监视。
根据本发明的另一方面,提供一种拉式打印系统中的打印服务器的控制方法,其中,所述拉式打印系统包括位于内部网络上的客户终端和打印机、以及位于外部网络上的所述打印服务器,所述控制方法包括以下步骤:生成步骤,用于响应于从所述客户终端发出的针对所述打印机的打印请求,生成所述客户终端要执行的程序并且将所述程序传送至所述客户终端,其中,所述程序用于实现发出至所述打印机的、用以执行用于打印作业的处理以及与打印作业的处理状态相关联并且要发送至所述打印服务器的通知的指示;接收步骤,用于从所述打印机接收所述通知;以及监视步骤,用于使用在所述接收步骤中所接收到的通知,对指示所述打印机要执行的打印作业进行监视,其中,在所述监视步骤中,在从所述打印机接收到前一通知之后的在所述指示中所指定的时间内、从所述打印机没有接收到下一通知的情况下,结束对指示所述打印机要处理的打印作业的监视。
在打印服务器不能与打印机直接通信的环境下的拉式打印系统中,可以在管理诸如打印作业等的要管理的对象方面,避免打印服务器和打印机之间的无用处理和不一致。
通过以下参考附图对典型实施例的说明,本发明的其它特征将显而易见。
附图说明
图1是示出打印系统的整体结构的框图;
图2是示出打印系统的硬件结构的框图;
图3是示出打印系统的服务结构的框图;
图4A和4B是示出打印系统的软件结构的框图;
图5是打印系统的序列图;
图6是打印服务器中的打印请求接收的流程图;
图7是打印机中的轮询登记的流程图;
图8是打印机中的轮询处理的流程图;
图9是打印服务器中的轮询接收的流程图;
图10是打印服务器中的轮询管理的流程图;
图11是示出由打印服务器管理的打印机列表的结构的例子的表;
图12是示出由打印服务器管理的打印作业列表的结构的例子的表;
图13是示出由打印服务器管理的打印历史的结构的例子的表;
图14是示出轮询登记请求的描述的例子的图;
图15是示出轮询登记应答的描述的例子的图;
图16是示出轮询请求的描述的例子的图;
图17是示出轮询应答的描述的例子的图;
图18是示出由打印机管理的轮询列表的结构的例子的表;以及
图19是打印服务器中的事件接收处理的流程图。
具体实施方式
下面将参考附图说明用于实现本发明的模式。
系统结构
图1是示出根据本实施例的打印系统的整体结构的框图。参考图1,客户终端101、打印服务器100和打印机102经由网络104和105相互连接。路由器103用于将作为外部网络的网络104连接至作为内部网络的网络105。尽管图1未示出,但是防火墙位于网络104和105之间,因此它们的通信由于例如安全考虑而受限。在本实施例中,除非另外说明,位于网络104上的各种装置不能自发将它们本身连接至存在于网络105上的装置。网络104的例子是因特网。另外,网络105的例子是LAN(局域网)。
尽管客户终端101的适当例子包括台式个人计算机、笔记本个人计算机、移动个人计算机和PDA(个人数字助理),但是,客户终端101可以是安装有程序执行环境的移动电话。在客户终端101上安装了执行用于启动本实施例所使用的Web浏览器(未示出)的程序的环境。
当客户终端101使打印机102打印打印服务器100上的文档时,打印服务器100接收通过客户终端101上的Web浏览器所发送的打印请求。
打印服务器100生成用于实现打印请求的JavaScript程序,并且将其传送给客户终端101上的Web浏览器。当客户终端101上的Web浏览器接收到并执行JavaScript程序时,向打印文档数据的打印机发送拉式打印请求。打印机102根据从客户终端101接收到的拉式打印请求,从打印服务器100获取要打印的文档数据并且进行打印。尽管在本发明中,采用JavaScript作为通过安装在客户终端101上的Web浏览器所执行的脚本语言,但是脚本语言不局限于此。可以使用其它语言,只要它们是可通过Web浏览器执行的脚本语言即可。
硬件结构
图2是示出根据本实施例的打印系统中的客户终端101、打印服务器100和打印机102的硬件结构的框图。注意,在本实施例中,打印服务器100和客户终端101具有相同结构,并且这里作为例子说明客户终端101。
首先说明客户终端101的结构。参考图2,CPU 202控制整个设备。CPU 202还控制执行例如存储在诸如硬盘(HDD)205等的存储部件中的应用程序和OS,并且临时存储例如在RAM 203中执行该程序所需的信息和文件。ROM 204用作存储部件,并且存储诸如基本I/O程序等的程序和诸如打印处理中所使用的打印机信息和打印数据等的各种类型的数据。RAM203用作临时存储部件,即用作例如CPU 202的主存储器和工作区。HDD 205是外部存储部件之一,并且用作大容量存储器。另外,HDD 205存储例如诸如Web浏览器、打印服务器程序、OS和相关程序等的应用程序。
显示器206是用于显示例如通过键盘207输入的命令和打印机102的状态的显示部件。外部装置I/F 208用于将USB装置和外围设备连接至打印系统。键盘207是用于允许用户输入指示的指示输入部件。系统总线201控制打印系统的打印服务器100中的数据流。网络接口卡(NIC)219经由NIC 209和各种网络与外部装置交换数据。注意,上述计算机的结构仅提供例子,并且不局限于图2所示的结构例子。可以根据数据或程序的特征将它们的存储目的地改变成例如ROM、RAM或HDD。
接着将说明打印机102的结构的例子。控制器230控制打印机102的控制系统。CPU210控制整个设备,即系统地控制对与系统总线218连接的各种装置的访问。例如,基于存储在ROM 212中的控制程序、或者存储在经由磁盘控制器(DKC)216所连接的外部存储器223中的源数据(源信息)或控制程序,进行该控制。RAM 211用作例如CPU 210的主存储器和工作区,并且用于使用增设端口(未示出)所连接的备选RAM来提高存储容量。HDD 213是用作大容量存储器的外部存储部件,并且存储例如拉式打印应用程序和相关程序。
用于拉式打印操作的用户界面和拉式打印开关按钮位于操作面板(操作单元)221上。在操作面板221上还有用于诸如进行以下设置等的操作的按钮以及诸如液晶面板或LED214等的显示单元:打印机102的工作模式、打印机102的工作状态的显示和打印机102的复制指定。网络接口卡(NIC)219经由各种网络与外部装置交换数据。
注意,图2所示的打印引擎采用诸如电子照相打印(激光束打印)、喷墨打印或染料升华(热转印)打印等的熟知的打印技术,作为本技术的典型实施例。然而,本发明不局限于这些打印技术。光栅控制器215将PDL/PDF格式的打印数据转换成图像数据。装置I/F 217是连接可经由例如USB连接器连接的外部装置的连接I/F。另外,尽管图2未示出,但是各装置均包括用于获取时间的内部构件,其中,响应于来自各处理单元的请求,将接收从各处理单元所发出的请求的时间通知给该内部构件。
模块结构
图3是示出根据本实施例的打印系统中所设置的模块之间的关系的结构框图。
打印服务器100提供打印机管理服务306。打印机管理服务306保持进行打印的各打印机的信息。打印机管理服务306保持如图11所示的打印机列表。打印机列表包括用于通过打印服务器100唯一识别打印机102的打印机ID、打印机名称信息和打印机IP地址信息。除这些信息以外,打印机列表登记作为请求打印机102发送的轮询通知的状态的接收到轮询时的时间、以及轮询间隔时间。注意,打印机列表不局限于此,并且可以包括其他打印机信息。例如,打印机IP地址可以包括全局地址和私有地址,并且打印机列表还可以包括表示包括各打印机的网络的信息。
打印机ID是用于唯一识别打印服务器100中的打印机102的ID(标识符)。在本实施例中,在打印机102与打印服务器100进行通信时生成轮询通知,从而以预定时间间隔向打印服务器100发送打印作业的处理状态。在本实施例中,响应于轮询通知,打印机102向打印服务器100发送包括处理进行中的作业列表(处理中作业列表)的数据(图16)。稍后将参考图16说明此时所传送的数据的实际例子。
作为轮询通知的状态,打印服务器100保持从各打印机前一次接收到轮询时的时间(轮询接收时间),如图11所示。注意,在第一次轮询时,打印机102正常完成其轮询登记。轮询间隔是由打印机102所指定的轮询通知的间隔时间。在周期性发送轮询通知的情况下,以该信息中所指定的间隔进行轮询。
另外,基于打印机列表中登记的信息,确认是否从打印机102接收到了周期性轮询。例如,如图11所示的打印机ID“P003”所示,在没有传送轮询通知的打印机中不设置轮询接收时间和轮询间隔时间的信息。
打印作业管理服务305管理用户所请求的打印作业,并且例如保持和管理存储器307中的文档数据作为打印数据。另外,打印作业管理服务305保持如图12所示的打印作业列表,以管理请求通过打印机102所执行的打印作业。
客户端作业ID是用于唯一识别打印服务器100中的各打印作业的ID(标识符)。打印机ID与图11所示的打印机列表中所定义的“打印机ID”相对应,并且是用于唯一识别被请求执行打印作业的各打印机的信息。被请求执行打印作业的打印机向打印作业发出打印机作业ID。当打印服务器100与打印机102交换打印作业的信息时,其使用由打印机102所发出的打印机作业ID识别打印作业。文档ID是用于唯一识别保持在打印服务器100内的存储器307中的各文档以区分已打印文档的信息。
存储器307是诸如内置在打印服务器100的信息处理设备中的HDD、外部连接的HDD或网络存储器等的存储装置。将在打印作业中要指定打印的文档数据保持在存储器307中。该存储器实现为例如HDD 205。
Web应用程序302生成可以显示在运行在客户终端101上的Web浏览器301上的Web页面。Web应用程序302对来自客户终端101上的Web浏览器301的请求做出应答,并且发送回所生成的Web页面。另外,Web应用程序302生成用于使客户终端101上的Web浏览器301向打印机102发送请求的JavaScript程序,并且将其传送给Web浏览器301。
Web服务303是与打印机102通信的模块。在本实施例中,Web服务303与打印机102通信,从而使得打印机102传送例如打印数据获取请求、轮询通知和事件通知。响应于从打印机102所传送的这些请求,Web服务303根据各请求进行处理。Web服务303向打印机102发送回作为处理结果的应答。
注意,打印作业管理服务305、Web应用程序302和Web服务303是独立的程序。尽管在本实施例中,一个打印服务器100实现这些模块的功能,但是这些模块还可以位于分开的信息处理设备中。这表示这些模块位于经由网络相互连接、并且相互进行通信的信息处理设备中。
打印机102上的拉式打印应用程序304使打印机102进行拉式打印。拉式打印应用程序304具有下面的拉式打印功能:响应于打印作业执行请求,在被通知了打印数据的URL时,从该URL获取打印数据,并打印该打印数据。拉式打印应用程序304还具有用于以预定时间间隔向登记的轮询通知目的地传送处理中作业列表的轮询功能以及用于在完成了各打印机所打印的作业时发送事件通知的功能。此时的通知目的地是打印服务器100。
客户终端101上的Web浏览器301可以执行从打印服务器100所传送的JavaScript程序。
软件结构
图4A和4B是示出根据本实施例的打印系统中图3所示的各模块的更加详细的软件结构的框图。首先参考图4A说明打印服务器100的结构。安装在打印服务器100上的打印作业管理服务305的打印数据管理单元401管理打印数据(文档数据)。这里,对打印数据的管理意为下面的操作:打印数据管理单元401响应于来自Web服务303的打印数据获取请求,从存储器307获取所指定的打印数据,并且将该打印数据传送给Web服务303。另外,打印数据管理单元401根据需要添加或删除打印数据。
打印作业信息管理单元402管理客户经由客户终端101所请求的打印作业信息和打印历史信息。这里所管理的打印作业信息是图12所示的打印作业列表,并且包括用于唯一识别各打印作业的ID信息和用于指定输出该打印作业的打印机的信息。另外,打印历史信息是图13所示的打印历史信息,并且包括用于唯一识别各作业的ID信息和该作业的打印结果信息。在本实施例中,打印历史信息中所包括的打印结果信息包括“正常结束”、“错误(结束)”和“不明”状态,作为打印作业的状态。
针对被指示通过打印机来执行、但是不能被监视到的打印作业,设置“错误(结束)”状态。这表示针对在打印机发送正常结束通知之前打印机结束了的打印作业,设置“错误(结束)”状态。针对被指示通过不能从其接收到轮询通知的打印机来执行的打印作业设置“不明”状态。后面将参考各处理序列说明基于轮询通知的历史信息的设置。注意,打印作业列表和打印历史信息的结构分别不局限于图12和13所示的结构,并且可以包括附加信息。
打印机管理服务306的打印机信息管理单元403管理图11所示的打印机列表。另外,打印机信息管理单元403周期性确认打印机列表中登记的各打印机的轮询状态,以判断在通过该打印机正打印的作业中是否出现了问题。此时的确认的例子有对于从轮询接收时间开始是否经过了与轮询间隔相对应的时间的确认。
Web应用程序302的请求接受单元406是接受例如来自客户终端101上Web浏览器301的打印请求的模块。会话管理单元404将来自Web浏览器301的请求作为会话进行管理。页面生成单元405响应于来自Web浏览器301的请求而生成Web画面,并且将所生成Web画面发送回Web浏览器301。注意,在一些情况下,页面生成单元405不仅传送Web画面,而且还使用JavaScript生成要传送给打印机102的请求,并且将其发送回Web浏览器301。
Web服务303的请求接受单元409是接收来自打印机102上的拉式打印应用程序304的打印作业获取请求、打印作业状态通知事件和轮询通知事件的模块。在请求接受单元409接收到打印作业获取请求的情况下,打印作业获取单元407向打印作业管理服务305发出打印数据获取请求以获取所指定的打印数据,并且将其传送给客户终端101。
打印事件接收单元408是接收来自打印机102的经过了打印处理的作业的状态信息的模块。在打印事件接收单元408从打印机102接收到作业的打印处理的完成的事件时,其从图12所示的打印作业列表删除该作业。打印事件接收单元408将该作业与所指定的其的最终状态信息(打印结果)一起登记在图13所示的打印历史信息中。
轮询接收处理单元400是基于从打印机102周期性传送的处理中作业列表信息来判断打印作业信息管理单元402中所保持的打印作业列表的有效性的模块。轮询接收处理单元400将接收到的处理中作业列表和所保持的打印作业列表(图12)的信息进行相互比较,并且在管理这些信息方面使打印机102和打印服务器100相互同步,以补偿它们的差。稍后将说明此时如何使打印机102和打印服务器100在管理打印中作业方面相互同步。
接着参考图4B说明打印机102的结构。拉式打印应用程序304的Web服务接受单元410接受例如来自客户终端101上Web浏览器301的打印请求、事件登记和轮询登记。Web服务传送单元411向打印服务器100的Web服务303发送例如打印作业获取请求、打印作业状态改变事件通知和用于周期性传送处理中作业列表的轮询通知。
打印作业获取单元412根据响应于拉式打印请求所接收到的打印数据的URL,经由Web服务传送单元411从打印服务器100的Web服务303获取打印数据。打印作业获取单元412将所获取的打印数据传送给向打印作业提交单元416。打印作业提交单元416将打印数据传送给控制器230。结果,控制器230使用所接收到的打印数据执行打印处理。
打印控制单元415接收来自控制器230的打印作业的状态,并且将该信息通知给作业管理单元414。作业管理单元414判断所通知的打印作业的状态是否与事件传送条件一致。如果所通知的打印作业的状态与事件传送条件一致,则作业管理单元414经由Web服务传送单元411发送事件通知。
另外,响应于来自客户终端101的轮询通知指示,作业管理单元414发送轮询通知,在该轮询通知中,向通过该轮询通知指示所指定的目的地周期性通知处理中作业列表。作业管理单元414包括与轮询通知相关联的如图18所示的轮询监视列表,从而管理各通知目的地、向该通知目的地传送轮询通知的间隔、以及该轮询通知的详情。注意,通知详情中所指定的ActiveJobIds表示要以处理中作业列表的形式传送通过各打印机正打印的打印作业之中的在轮询通知的目的地处所管理的打印作业的信息。打印中作业列表包括例如图12所示的客户端作业ID和打印机作业ID,从而使得打印服务器100可以识别各作业。拉式打印控制器413管理整个拉式打印应用程序304的操作。经由拉式打印控制器413向各单元发出例如操作指示。
处理序列
接着参考图5说明根据本发明的使用JavaScript的拉式打印方案。在本发明中,为了正确把握通过各打印机正打印的作业的状态,在发送打印请求时,不仅发出作业完成事件,而且还发出轮询请求。下面将说明根据本实施例的打印序列。
客户终端101使用Web浏览器301将其本身连接至打印服务器100上的Web应用程序302,从而指定要打印的文档和输出打印文档的打印机,并且指示打印该文档(F100)。此时可以指定例如打印设置,但是打印设置与本发明没有直接关系,所以不给出对其的说明。
在打印服务器100上的Web应用程序302接收到来自客户终端101的打印请求时,其使页面生成单元405生成用于使客户终端101向打印文档的打印机发送请求的JavaScript程序。此时所生成的JavaScript程序包括这样的描述,根据该描述,客户终端101上的Web浏览器301请求打印机102执行以下类型的处理:
轮询指示(用于执行轮询通知的请求),用于向打印服务器通知处理中打印作业列表,
打印作业事件登记指示(用于执行作业结束通知的请求),以及
拉式打印指示(打印指示(包括用于执行打印数据获取请求的请求))。
打印服务器100响应于该打印请求,向客户终端101上的Web浏览器301传送所生成的JavaScript程序(F101)。
客户终端101上的Web浏览器301接收到来自打印服务器100的JavaScript程序并且执行该程序。此时所接收到的JavaScript程序描述用于执行上述各种请求的各种类型的处理。Web浏览器301顺次执行这些类型的处理,从而使得客户终端101与打印机102通信并且接收处理结果(F102~F107)。
从客户终端101上的Web浏览器301向打印机102所传送的用于轮询指示的请求(F102)是例如如图14所示的请求。下面将详细说明图14所示的请求。首先,在从属于PollTo要素的Address要素中指定目的地。此外,以在Interval要素所指定的时间间隔(在该情况下以秒为单位进行指定)执行轮询通知。此时,通过轮询来发送在Name要素中所指定的JOB信息(通知详情),作为通过在ClientId要素中所指定的客户端所发出的作业的信息。在图14所示的例子中,打印指示者以60秒的间隔向通知目的地http://10.254.0.27:5357/70da246b-fea1-4ed3-b7ce-195c50ac07e1传送处理中作业列表(ActiveJobIds)CJ200。
例如,对从打印机102传送至客户终端101的轮询指示的应答(F103)如图15所示。下面将详细说明图15所示的应答。注意,图15示出通过打印机102接受轮询指示。然而,在通过Web浏览器301指定“60(秒)”作为轮询间隔时(图14所示的Interval要素),响应于该轮询指示,通过打印机102指定“180(秒)”作为轮询间隔(图15所示的Interval要素)。可以通过打印机根据打印机102的设置和状态大体确定轮询间隔。客户终端101将由打印机102所确定的信息通知给打印服务器100。
客户终端101上的Web浏览器301向打印机102发出事件登记指示(F104)。在这种情况下,Web浏览器301指示打印机102在响应于打印指示而完成对由打印机102所接受的打印作业的执行时向打印服务器100通知该完成。当响应于来自Web浏览器301的事件登记指示,可以登记该事件时,打印机102将登记的信息(事件ID)与表示接受该请求的信息一起通知给客户终端101(F105)。
客户终端101上的Web浏览器301向打印机102发出拉式打印请求。打印机102将响应于所接收到的拉式打印请求而发出的作业ID与表示接受该请求的信息一起通知给客户终端101。
在客户终端101接收到轮询指示结果(F103)、事件登记指示结果(F105)和打印指示结果(F107)时,其将接收到的从打印机102所发送的处理结果和ID信息传送给打印服务器100(F108)。注意,如果任一指示失败,则打印机102将该失败通知给打印服务器100。
在正常完成对各指示的接受之后,打印机102响应于打印指示(F106),从拉式打印请求中所指定的打印数据的URL获取打印数据(F109、F110),并且执行打印处理。
打印机102以在F103所指定的各自的轮询间隔时间,向打印服务器100周期性通知处理中作业列表,作为轮询通知(F111)。例如,当在F106所请求的拉式打印操作未完成的情况下,经过了轮询间隔时间时,打印机102向打印服务器100传送包括了在F106所接收到的处理中作业信息的信息(F108)。
即使在完成响应于在F106所接受的拉式打印请求的拉式打印操作之后,到了轮询间隔时间时,也不存在处理中打印作业,因而打印机102向打印服务器100通知表示不存在处理中作业信息的信息(F115)。
从打印机102所发送的各轮询通知(F111、F115)是具有例如图16所示的结构的请求数据。在这种情况下,将在数量上等于处理中作业的作业信息描述为从属于ActiveJobIds要素的JobIdSet要素。在图16所示的例子中,向打印服务器100通知表示存在具有打印机作业ID“J300”和客户端作业ID“CJ200”的作业的信息。这些信息分别对应于由打印服务器100的打印作业管理服务305所管理的打印作业列表(图12)的打印机作业ID和客户端作业ID。如图15一样,如果不存在处理中作业,则传送在考虑不存在JobIdSet信息的情况下所生成的请求。
当打印服务器100接收到来自打印机102的轮询通知时,其判断打印机102是否继续轮询。如果判断为打印机102继续轮询,则打印服务器100响应于打印机102的轮询,指示打印机102继续轮询通知(F112);否则,打印服务器100指示打印机102结束轮询通知(F116)。
响应于打印机102的轮询、通过通信(F112、F116)所获得的数据是具有例如图17所示结构的应答数据。轮询应答包括如上所述来自打印服务器100的、对打印机102是否继续轮询的指示。如图17所示,如果在EndPolling要素中设置“true”,则发出轮询结束指示,或者如果在EndPolling要素中设置“false”,则发出轮询继续指示。
打印请求登记处理
图6是在打印服务器100从客户终端101接收到打印请求(F100)时,通过CPU 202根据存储在ROM 204中的程序所操作的Web应用程序302的流程图。
当打印服务器100接收到打印请求时,其将文档ID和输出通过客户终端101所指定的作业的打印机的打印机ID登记在图12所示的打印作业列表中。打印服务器100获取发出了该打印请求的客户终端101的客户端作业ID(步骤S001)。
打印服务器100生成用于描述要从客户终端101向打印机102所发送的请求并且发出该请求的JavaScript程序(步骤S002)。该JavaScript程序描述在客户终端的控制下要通过打印机所执行的以下类型的处理:
轮询指示,用于向打印服务器周期性通知处理中作业列表,
用于向打印服务器通知所指示的要通过打印服务器所执行的作业的结束的指示;以及
用于对打印服务器上的数据进行拉式打印(打印)的指示。
该JavaScript程序中所描述的这些类型的处理分别对应于上述图5所示的F102、F104和F106中的指示。
打印服务器100响应于由客户终端101所发出的打印请求,将所生成的JavaScript程序传送给客户终端101(步骤S003)。
客户终端101执行从打印服务器100所接收到的JavaScript程序,并且将JavaScript程序执行结果传送给打印服务器100上的Web应用程序302。此时所传送的JavaScript程序执行结果包括例如发送给打印机102的轮询指示和事件登记指示、打印请求处理、以及从打印机102传送给客户终端101的ID信息。
当打印服务器100上的Web应用程序302接收到从客户终端101所传送的信息时(步骤S004),其判断向打印机102发送的各种请求是否成功(步骤S005)。如果各种请求成功(步骤S005为“是”),则打印服务器100与打印机列表(图11)所包括的相应打印机相关联地登记从打印机102所接收到的轮询间隔时间。另外,打印服务器100将当前时间设置为打印机列表(图11)中的轮询接收时间的项(步骤S006)。此外,打印服务器100将从打印机102所接收到的打印机作业ID和事件ID与相应作业相关联地登记在打印作业列表(图12)中(步骤S007)。然后结束该处理序列。
如果客户终端101向打印服务器100通知各种请求失败(步骤S005为“否”),则打印服务器100从打印作业列表删除相应作业(步骤S008)。打印服务器100将删除的作业的信息登记在图13所示的打印历史中(步骤S009),然后结束该处理序列。
轮询通知目的地登记处理
图7是在Web服务接受单元410接收到轮询指示时(F102),通过CPU 210根据存储在打印机102的ROM 212中程序所操作的处理的流程图。
在打印机102接收到如图14所示的轮询指示时,其判断在轮询监视列表(图18)中是否已登记了轮询通知目的地(步骤S100)。如果在轮询监视列表中已登记了轮询通知目的地(步骤S100为“是”),则打印机102不进行轮询通知目的地登记处理,并且处理进入轮询信息登记(步骤S104)。
如果在轮询监视列表中尚未登记轮询通知目的地(步骤S100为“否”),则打印机102确认是否可以将轮询通知目的地登记在轮询监视列表中。如果可以将轮询通知目的地登记在轮询监视列表中(步骤S101为“是”),则打印机102将轮询通知目的地登记在轮询监视列表中(步骤S102),并且确定和登记轮询间隔(步骤S103)。如果例如由于已登记的轮询通知目的地的数量已达到了上限,所以不能将轮询通知目的地登记在轮询监视列表中(步骤S101为“否”),则打印机102向轮询登记的请求方发送轮询登记错误通知(步骤S106)。然后结束该处理序列。
在打印机102将轮询通知目的地登记在轮询监视列表中之后,其登记轮询通知信息(步骤S104)。这里的轮询通知信息表示轮询通知间隔和在前一轮询操作之后所经过的时间。在本实施例中,在进行轮询传送时,将经过的时间复位成“0”,并且对该传送之后所经过的时间进行计数。
在打印机102登记轮询通知信息之后,其传送表示登记成功的信息,作为对轮询指示的轮询登记应答(步骤S105)。然后结束该处理序列。
轮询处理
图8是用于说明通过CPU 210根据存储在打印机102的ROM 212中的程序所操作的、拉式打印应用程序304的作业管理单元414的轮询处理的流程图。图8对应于图5中的F111和F115。
安装在打印机102上的拉式打印应用程序304的作业管理单元414确认在轮询监视列表中是否已登记了轮询通知目的地。如果作业管理单元414检测到登记了轮询通知(步骤S110为“是”),则进行等待处理持续预定时间段。作业管理单元414然后将等待时间相加到在轮询监视列表(图18)中所管理的经过时间(步骤S111)。
作业管理单元414针对所登记的各轮询通知目的地,确认从前一轮询通知操作开始是否经过了轮询间隔时间(步骤S112)。如果作为确认结果,经过的时间没有达到轮询间隔(步骤S112为“否”),则作业管理单元414再次进行等待处理持续预定时间段(步骤S111)。如果作为确认结果,经过的时间达到了轮询间隔(步骤S112为“是”),则作业管理单元414将经过的时间复位成“0”(步骤S113)。作业管理单元414然后获取在轮询通知目的地的登记期间所指定的传送信息,并且向通知目的地传送轮询请求(图16)(步骤S114)。这里,在轮询通知目的地的登记期间所指定的传送信息对应于轮询监视列表(图18)中所定义的通知详情。
作业管理单元414接收响应于轮询请求从轮询通知目的地所传送的应答数据(图17)(步骤S115)。作业管理单元414判断在所接收到的轮询数据中是否指定了轮询结束指示(步骤S116)。如上所述,基于在轮询应答(图17)所包括的EndPolling要素中所指定的值,进行该判断。如果指定了轮询结束指示(步骤S116为“是”),则作业管理单元414从轮询监视列表删除与轮询通知目的地相对应的信息(步骤S117),并且处理返回到步骤S110。如果没有指定轮询结束指示(步骤S116为“否”),则处理再次返回到步骤S111,在步骤S111,作业管理单元414继续轮询处理。
轮询接收处理
图9是通过CPU 202根据存储在打印服务器100的ROM 204中的程序所操作的以及通过Web服务303的轮询接收处理单元400所执行的处理的流程图。响应于图5所示的来自打印机102的轮询通知(F111、F115)执行该处理。
当安装在打印服务器100上的Web服务303的轮询接收处理单元400从打印机102接收到轮询时,其从打印机列表中指定传送该轮询(图11)的打印机(步骤S200)。轮询接收处理单元400将相应打印机的轮询接收时间更新成当前时间(步骤S201)。此时,将相应打印机的轮询接收时间更新成当前时间,以确认是否严格按照各自的轮询间隔时间进行轮询传送。
轮询接收处理单元400基于打印作业列表(图12),确认请求通过传送了该轮询通知的打印机要执行的作业,以判断该打印作业列表中的作业是否与在轮询通知时所接收到的作业列表中的作业一致(步骤S202)。
如果打印服务器100中的打印作业列表与轮询通知时所接收到的打印作业列表不一致(步骤S202为“否”),则优先保持在轮询通知时从打印机102发送的信息。更具体地,轮询接收处理单元400从打印作业列表删除登记在由打印服务器100所管理的打印作业列表中、但是在来自打印机102的轮询通知时未被指定为处理中作业的作业(步骤S204)。轮询接收处理单元400将该作业登记在打印历史(图13)中,作为具有“错误”打印结果的打印作业(步骤S205)。
轮询接收处理单元400确认在轮询通知时所接收到的列表是否包括要执行的作业(步骤S203)。如果该列表包括打印机102继续轮询通知的作业(步骤S203为“是”),则打印服务器100通过轮询而继续监视该打印作业。因此,轮询接收处理单元400生成通过将轮询结束指示(EndPolling要素)设置成“false”所获得的轮询应答数据(图17)(步骤S208)。此时,通过接收轮询应答数据,打印机102可以确认轮询正常到达了打印服务器100。
如果在来自打印机102的轮询时所接收到的列表没有包括要执行的作业(步骤S203为“否”),则打印服务器100不再需要进行轮询。因此,轮询接收处理单元400生成通过将轮询结束指示(EndPolling要素)设置成“true”所获得的轮询应答数据(步骤S206)。轮询接收处理单元400从打印机列表(图11)清除轮询接收时间和轮询间隔信息(步骤S207)。轮询接收处理单元400将所生成的轮询应答数据传送给打印机102(步骤S209)。
轮询监视处理
图10是通过CPU 202根据存储在打印服务器100的ROM204中的程序所操作的以及由打印机管理服务306的打印机信息管理单元403所执行的打印机轮询监视的流程图。在图5的F108从打印机接收到信息之后,在连续监视轮询通知时执行该处理。
在轮询监视中,周期性监视被周期性登记在打印机列表(图11)且被轮询的打印机,以判断它们是否周期性传送轮询通知。如果停止从这些打印机中的任一个所传送的轮询通知,则停止轮询通知的打印机的处理中作业结束。
对于打印机列表(图11)中所登记的所有打印机,打印机信息管理单元403向正被轮询的打印机的轮询接收时间相加轮询间隔时间,从而计算轮询的估计时间(步骤S300)。
打印机信息管理单元403针对打印机列表中所登记的每一打印机,将所计算出的轮询接收的估计时间与打印服务器100的当前时间进行比较(步骤S301)。如果作为步骤S301的比较的结果,判断为当前时间没有达到轮询接收的估计时间(步骤S301为“否”),则打印机信息管理单元403不进行任何特别处理。打印机信息管理单元403判断是否针对所有打印机都确认了该时间(步骤S305)。如果仍然存在要确认的打印机(步骤S305为“否”),则处理返回到步骤S301,在步骤S301,打印机信息管理单元403确认要确认的打印机的时间。
如果作为步骤S301的比较的结果,判断为当前时间达到了关注打印机的轮询的估计时间(步骤S301为“是”),则打印机信息管理单元403确认打印作业列表(图11)是否包括关注打印机的打印作业(步骤S302)。如果打印作业列表包括关注打印机的打印作业(步骤S302为“是”),则打印机信息管理单元403从打印作业列表删除向关注打印机所发出的打印作业(步骤S303)。打印机信息管理单元403然后将所删除的打印作业与“不明”打印结果相关联地登记在打印历史(图13)中(步骤S304)。
如果打印作业列表不包括关注打印机的打印作业(步骤S302为“否”),则处理进入步骤S305。如果在步骤S305针对所有打印机都确认了时间(步骤S305为“是”),则打印机信息管理单元403进行等待处理持续预定时间段(步骤S306)。当打印机信息管理单元403从等待处理恢复时,处理返回到步骤S300,在步骤S300,其再次进行用于计算打印机列表中所登记的各打印机的轮询接收的估计时间的处理。
尽管在图8的步骤S115,打印机从打印服务器接收到对轮询通知的应答,但是,如果打印机由于意外问题而未能接收到应答,则打印机可以再次传送轮询通知预定次数。另外,如果即使在打印机传送轮询通知多次时,打印机也未能接收到轮询应答,则可以结束要传送至通知目的地的轮询通知。在这种情况下,打印机从图18所示的轮询监视列表删除相应的通知目的地。
另外,如果在图10的步骤S301,打印服务器在轮询接收的估计时间未能接收到轮询通知,则打印服务器基于仅一次判断的结果而从打印作业列表删除该打印作业,但是本发明不局限于此。例如,当打印服务器继续监视在轮询接收的估计时间未能接收到轮询通知的打印机,但是在预定时间内(例如,轮询接收的下一估计时间)未能接收到轮询通知时,打印服务器可以删除该作业。此外,当打印服务器对轮询通知的接收的失败次数进行计数,并且未能接收到轮询通知超过预定次数(预定间隔)时,打印服务器可以从打印作业列表删除打印作业。
注意,当在打印服务器在步骤S303从列表删除打印机的打印作业之后,从该打印机接收到轮询通知时,其可以忽略该轮询通知。可选地,如果打印服务器接收到打印作业列表中未登记的打印作业的轮询通知,则其可以将该打印作业设置为错误,并且在打印历史(图13)中添加该错误的信息来更新打印历史。
在上述操作时,即使打印服务器变得不能监视所请求的打印作业的处理状态,也可以防止无用的继续监视,从而使打印服务器与打印机在打印作业的管理状态方面同步。
已登记事件删除处理
接着说明根据本实施例的用于解决与使用JavaScript的拉式打印方案的打印相关联的问题的方法。这里将说明用于可靠删除响应于登记在打印机中的事件通知(本实施例中的打印作业结束通知)所登记的事件的事件删除处理。在图5的F104,客户终端101根据JavaScript程序,指示打印机102登记事件。注意,打印机102继续事件通知,除非打印服务器100指示打印机102删除该事件。这表示打印机102继续保持用于发送在F104所登记的结束通知的事件。然而,例如,当关闭客户终端101上的Web浏览器301时,打印服务器100不能经由客户终端101向打印机102传送事件结束指示。结果,打印服务器100不能删除登记在打印机102处的事件,因此,继续传送打印作业结束通知。
参考图19说明用于解决上述问题的处理。图19是在安装在打印服务器100上的Web服务303的打印事件接收单元408接收到事件时,通过CPU 202根据存储在打印服务器100的ROM 204中的程序所操作的处理的流程图。在接收到图5所示的作业结束通知的情况下(F113),执行该处理。
打印事件接收单元408接收到来自打印机102的作业结束事件通知(步骤S400)。打印事件接收单元408从打印作业列表(图12)删除作业结束事件通知中所指定的打印作业,并且将该打印作业登记在打印历史(图13)中(步骤S401)。打印事件接收单元408确认在打印作业列表(图12)中是否存在传送了作业结束事件通知的打印机的另一作业(步骤S402)。如果作为步骤S402的确认结果,判断为存在传送了作业结束事件通知的打印机的另一作业(步骤S402为“是”),则打印事件接收单元408向打印机102传送事件接收应答(步骤S404)。如果作为步骤S402的确认结果,判断为不存在传送了作业结束事件通知的打印机的另一作业(步骤S402为“否”),则打印事件接收单元408向打印机102发送包括事件结束指示的应答(事件结束应答)(步骤S403)。
一般的事件通知协议(例如,Web服务事件(WE-Eventing))不具有在用于对事件通知进行响应的处理中结束事件通知的机制。在这种情况下,例如,可以使用事件接收错误作为用于结束事件通知的应答。当打印服务器要结束事件的事件通知时,其发送事件接收错误作为应答,因而发送了该事件并且能够实现日本特开2007-257481所述技术的设备可以删除该事件。注意,例如,还可以使用HTTP错误状态代码(“404”)作为事件接收错误。
在上述操作时,可以防止打印机无用地继续执行已登记的事件。
另外,在上述操作时,在打印服务器不能与打印机直接通信的环境下的拉式打印系统中,可以防止打印服务器和打印机之间在例如管理打印作业方面的不一致,从而防止无用管理和处理。
还可以通过读出并执行记录在存储器装置上的程序以进行上述实施例的功能的系统或设备的计算机(或者CPU或MPU等装置)以及通过以下的方法来实现本发明的各方面,其中,系统或设备的计算机通过例如读出并执行记录在存储器装置上的程序以进行上述实施例的功能来进行该方法的各步骤。为了该目的,例如经由网络或者通过用作存储器装置的各种类型的记录介质(例如,计算机可读介质)向计算机提供该程序。
尽管参考典型实施例说明了本发明,但是应该理解,本发明不限于所公开的典型实施例。所附权利要求书的范围符合最宽的解释,以包含所有这类修改、等同结构和功能。

Claims (11)

1.一种打印系统,其包括位于内部网络上的客户终端和打印机、以及位于外部网络上的打印服务器,其特征在于,
所述打印服务器包括:
生成部件,用于基于从所述客户终端发出的针对所述打印机的打印请求,生成所述客户终端要执行的程序并且将所述程序传送至所述客户终端,其中,所述程序用于执行用于使所述打印机执行打印作业以及使所述打印机将所述打印作业的信息发送至所述打印服务器的指示;
第一接收部件,用于从所述打印机接收正在执行的打印作业的信息;
第二接收部件,用于从所述打印机接收表示打印作业执行结束的信息;以及
监视部件,用于使用所述第一接收部件所接收到的、正在执行的打印作业的信息,对指示所述打印机要执行的打印作业进行监视,以及
所述客户终端包括:
指示部件,用于在所述客户终端执行基于所述打印请求而从所述打印服务器接收到的程序后,执行用于使所述打印机执行打印作业以及使所述打印机将所述打印作业的信息发送至所述打印服务器的指示,以及
所述打印机包括:
接受部件,用于接受来自所述指示部件的、用以使所述打印机执行所述打印作业以及使所述打印机将所述打印作业的信息发送至所述打印服务器的指示;
执行部件,用于执行所述打印作业;
通知部件,用于基于所述接受部件所接受的指示,将所述执行部件正在执行的打印作业的信息发送至所述打印服务器;以及
发送部件,用于将表示打印作业执行结束的信息发送至所述打印服务器,
其中,在从所述打印机接收到表示所述打印作业执行结束的信息的情况下,所述打印服务器的所述监视部件将所述打印作业的状态在历史中登记为结束状态,以及
其中,在接收到所述执行部件正在执行的打印作业的信息之后经过预定时间为止,从所述打印机既没有接收到所述执行部件正在执行的所述打印作业的信息、也没有接收到表示所述打印作业执行结束的信息的情况下,所述打印服务器的所述监视部件将所述打印作业的状态在历史中登记为不明状态。
2.根据权利要求1所述的打印系统,其特征在于,
所述程序还包括在打印作业的执行结束时,使所述打印机将表示所述打印作业执行结束的信息发送至所述打印服务器的指示,以及
基于使所述打印机将表示所述打印作业执行结束的信息发送至所述打印服务器的指示,所述打印机的所述发送部件在打印作业的处理结束时,将表示所述打印作业执行结束的信息发送至所述打印服务器。
3.根据权利要求2所述的打印系统,其特征在于,当所述第二接收部件从所述打印机接收到表示所述打印作业执行结束的信息时,所述第一接收部件判断是否存在指示所述打印机要打印的其它打印作业,并且在不存在其它打印作业的情况下,将用于使所述打印机结束向所述打印服务器发送所述打印作业的信息的指示发送至所述打印机。
4.根据权利要求3所述的打印系统,其特征在于,当所述通知部件从所述打印服务器接受用于使所述打印机结束发送所述打印作业的信息的指示时,所述通知部件结束向所述打印服务器发送所述打印作业的信息。
5.根据权利要求1所述的打印系统,其特征在于,所述监视部件结束对所监视的打印作业之中的、在从所述打印机所传送的正在执行的打印作业的信息中未被指定为处理中作业的打印作业的监视。
6.根据权利要求1所述的打印系统,其特征在于,所述指示部件通过执行JavaScript来执行用于使所述打印机执行所述打印作业以及使所述打印机将所述打印作业的信息发送至所述打印服务器的指示。
7.根据权利要求1所述的打印系统,其特征在于,所述监视部件将所述执行部件要执行的打印作业的作业信息保持在保持单元中,以及
其中,在接收到所述执行部件正在执行的打印作业的信息之后经过预定时间为止,既没有接收到所述执行部件正在执行的所述打印作业的信息、也没有接收到表示所述打印作业执行结束的信息的情况下,所述监视部件从所述保持单元中删除所述打印作业的作业信息,以及将所述打印作业的状态在历史中登记为不明状态。
8.根据权利要求1所述的打印系统,其特征在于,所述打印机的所述执行部件执行第一打印作业和第二打印作业,
所述打印机的所述通知部件对所述执行部件正在执行的所述第一打印作业的信息以及所述执行部件正在执行的所述第二打印作业的信息进行发送,
所述打印机的所述发送部件将表示所述第一打印作业执行结束的信息以及表示所述第二打印作业执行结束的信息发送至所述打印服务器,
所述打印服务器的所述第一接收部件接收所述通知部件发送的、所述执行部件正在执行的所述第一打印作业的信息以及所述执行部件正在执行的所述第二打印作业的信息,
所述打印服务器的所述第二接收部件接收所述发送部件发送的、表示所述第一打印作业执行结束的信息以及表示所述第二打印作业执行结束的信息,以及
在接收到所述执行部件正在执行的第一打印作业的信息以及所述执行部件正在执行的第二打印作业的信息之后经过预定时间为止,接收到所述执行部件正在执行的第一打印作业的信息并且既没有接收到所述执行部件正在执行的所述第二打印作业的信息、也没有接收到表示所述第二打印作业执行结束的信息的情况下,所述打印服务器的所述监视部件将所述第二打印作业的状态在历史中登记为错误状态。
9.一种打印系统中的打印服务器,其中,所述打印系统包括位于内部网络上的客户终端和打印机、以及位于外部网络上的所述打印服务器,其特征在于,所述打印服务器包括:
生成部件,用于基于从所述客户终端发出的针对所述打印机的打印请求,生成所述客户终端要执行的程序并且将所述程序传送至所述客户终端,其中,所述程序用于执行用于使所述打印机执行打印作业以及使所述打印机将所述打印作业的信息发送至所述打印服务器的指示;
第一接收部件,用于从所述打印机接收正在执行的打印作业的信息;
第二接收部件,用于从所述打印机接收表示打印作业执行结束的信息;以及
监视部件,用于使用所述第一接收部件所接收到的、正在执行的打印作业的信息,对指示所述打印机要执行的打印作业进行监视,
其中,在从所述打印机接收到表示所述打印作业执行结束的信息的情况下,所述打印服务器的所述监视部件将所述打印作业的状态在历史中登记为结束状态,以及
其中,在接收到正在执行的打印作业的信息之后经过预定时间为止,从所述打印机既没有接收到正在执行的所述打印作业的信息、也没有接收到表示所述打印作业执行结束的信息的情况下,所述打印服务器的所述监视部件将所述打印作业的状态在历史中登记为不明状态。
10.一种打印系统的打印作业管理方法,其中,所述打印系统包括位于内部网络上的客户终端和打印机、以及位于外部网络上的打印服务器,其特征在于,所述打印作业管理方法包括:
在所述打印服务器中执行的如下的步骤:
生成步骤,用于基于从所述客户终端发出的针对所述打印机的打印请求,生成所述客户终端要执行的程序并且将所述程序传送至所述客户终端,其中,所述程序用于执行用于使所述打印机执行打印作业以及使所述打印机将所述打印作业的信息发送至所述打印服务器的指示;
第一接收步骤,用于从所述打印机接收正在执行的打印作业的信息;
第二接收步骤,用于从所述打印机接收表示打印作业执行结束的信息;以及
监视步骤,用于使用在所述第一接收步骤中所接收到的、正在执行的打印作业的信息,对指示所述打印机要执行的打印作业进行监视,以及
在所述客户终端中执行如下的步骤:
指示步骤,用于在所述客户终端执行基于所述打印请求而从所述打印服务器接收到的程序后,执行用于使所述打印机执行打印作业以及使所述打印机将所述打印作业的信息发送至所述打印服务器的指示,以及
在所述打印机中执行的如下的步骤:
接受步骤,用于接受来自所述客户终端的、用以使所述打印机执行所述打印作业以及使所述打印机发送所述打印作业的信息的指示;
执行步骤,用于执行所述打印作业;
通知步骤,用于基于在所述接受步骤中所接受的指示,将在所述执行步骤中正在执行的所述打印作业的信息发送至所述打印服务器;以及
发送步骤,用于将表示所述打印作业执行结束的信息发送至所述打印服务器,
其中,在从所述打印机接收到表示所述打印作业执行结束的信息的情况下,在所述打印服务器的所述监视步骤中将所述打印作业的状态在历史中登记为结束状态,以及
其中,在接收到所述执行步骤中正在执行的打印作业的信息之后经过预定时间为止,从所述打印机既没有接收到所述执行步骤中正在执行的所述打印作业的信息、也没有接收到表示所述打印作业执行结束的信息的情况下,在所述打印服务器的所述监视步骤中将所述打印作业的状态在历史中登记为不明状态。
11.一种打印系统中的打印服务器的控制方法,其中,所述打印系统包括位于内部网络上的客户终端和打印机、以及位于外部网络上的所述打印服务器,其特征在于,所述控制方法包括以下步骤:
生成步骤,用于基于从所述客户终端发出的针对所述打印机的打印请求,生成所述客户终端要执行的程序并且将所述程序传送至所述客户终端,其中,所述程序用于执行用于使所述打印机执行打印作业以及使所述打印机将所述打印作业的信息发送至所述打印服务器的指示;
第一接收步骤,用于从所述打印机接收正在执行的所述打印作业的信息;
第二接收步骤,用于从所述打印机接收表示所述打印作业执行结束的信息;以及
监视步骤,用于使用在所述第一接收步骤中所接收到的、正在执行的打印作业的信息,对指示所述打印机要执行的打印作业进行监视,
其中,在从所述打印机接收到表示所述打印作业执行结束的信息的情况下,在所述打印服务器的所述监视步骤中将所述打印作业的状态在历史中登记为结束状态,以及
其中,在接收到正在执行的打印作业的信息之后经过预定时间为止,从所述打印机既没有接收到正在执行的所述打印作业的信息、也没有接收到表示所述打印作业执行结束的信息的情况下,在所述打印服务器的所述监视步骤中将所述打印作业的状态在历史中登记为不明状态。
CN201210226851.9A 2011-06-29 2012-06-29 拉式打印系统及其管理方法、打印服务器及其控制方法 Active CN102915214B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2011144553A JP5885410B2 (ja) 2011-06-29 2011-06-29 プルプリントシステム、プリントサーバおよびその制御方法、並びにプログラム
JP2011-144553 2011-06-29

Publications (2)

Publication Number Publication Date
CN102915214A CN102915214A (zh) 2013-02-06
CN102915214B true CN102915214B (zh) 2016-12-21

Family

ID=46245874

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210226851.9A Active CN102915214B (zh) 2011-06-29 2012-06-29 拉式打印系统及其管理方法、打印服务器及其控制方法

Country Status (5)

Country Link
US (1) US20130003115A1 (zh)
EP (1) EP2541391B1 (zh)
JP (1) JP5885410B2 (zh)
KR (1) KR101637894B1 (zh)
CN (1) CN102915214B (zh)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9052863B2 (en) * 2012-08-14 2015-06-09 Seiko Epson Corporation ePOS printing
US10185582B2 (en) * 2012-11-28 2019-01-22 Red Hat Israel, Ltd. Monitoring the progress of the processes executing in a virtualization environment
JP5338965B1 (ja) * 2012-11-28 2013-11-13 富士ゼロックス株式会社 印刷制御装置、画像形成システムおよびプログラム
JP6157260B2 (ja) * 2013-07-30 2017-07-05 キヤノン株式会社 画像形成装置
JP5838188B2 (ja) * 2013-08-23 2016-01-06 株式会社沖データ 情報処理装置及び情報処理システム
CN108646992B (zh) 2013-11-07 2021-06-08 精工爱普生株式会社 打印控制系统
JP5928742B2 (ja) * 2014-01-10 2016-06-01 コニカミノルタ株式会社 画像形成装置、情報端末装置、画像形成システム、画像形成装置管理制御方法、画像形成装置制御プログラムおよび情報端末装置制御プログラム
JP6141778B2 (ja) * 2014-02-27 2017-06-07 京セラドキュメントソリューションズ株式会社 イベント管理装置及びイベント管理方法
US9602679B2 (en) * 2014-02-27 2017-03-21 Lifeprint Llc Distributed printing social network
CN104898993B (zh) * 2014-03-05 2020-01-17 佳能(苏州)系统软件有限公司 信息处理装置、图像形成装置及系统的控制装置及方法
US11474767B1 (en) * 2014-05-28 2022-10-18 Amazon Technologies, Inc. Print from web services platform to local printer
JP6550692B2 (ja) 2014-06-18 2019-07-31 株式会社リコー サービス提供システム、ログ情報提供方法及びプログラム
JP6379983B2 (ja) * 2014-10-16 2018-08-29 コニカミノルタ株式会社 印刷システム、印刷方法、サーバー及びプログラム
JP6389429B2 (ja) * 2014-12-19 2018-09-12 株式会社沖データ 画像形成装置及び画像形成システム
JP6459770B2 (ja) * 2015-05-20 2019-01-30 株式会社リコー 情報処理装置、機器、情報処理システム、情報処理方法、及びプログラム
CN105005455B (zh) * 2015-06-26 2017-12-08 丁四涛 智能终端的打印控制方法及装置
US10162583B2 (en) 2015-07-02 2018-12-25 Canon Information And Imaging Solutions, Inc. System and method for printing
JP6662024B2 (ja) * 2015-12-21 2020-03-11 セイコーエプソン株式会社 印刷装置およびその制御方法、並びにコンピュータープログラム
JP6520867B2 (ja) * 2016-08-30 2019-05-29 キヤノンマーケティングジャパン株式会社 画像処理システム、画像処理装置、制御方法、及びプログラム
JP6333447B2 (ja) * 2017-05-30 2018-05-30 キヤノン株式会社 画像形成装置
JP2019174999A (ja) * 2018-03-27 2019-10-10 キヤノン株式会社 印刷システム、印刷方法、画像形成装置およびその制御方法、及びプログラム
JP6563070B2 (ja) * 2018-04-25 2019-08-21 キヤノン株式会社 画像形成装置
JP2020088593A (ja) * 2018-11-26 2020-06-04 セイコーエプソン株式会社 電子機器、画像読取方法及び印刷処理方法
JP6864241B2 (ja) * 2019-04-26 2021-04-28 キヤノンマーケティングジャパン株式会社 画像処理システム、画像処理装置、制御方法、及びプログラム
US11330117B2 (en) * 2019-11-29 2022-05-10 Ricoh Company, Ltd. Information processing apparatus, information processing system, and information processing method for receiving an image displayed on an image display apparatus upon detecting a predetermined condition is satisfied
WO2022076954A1 (en) * 2020-10-08 2022-04-14 Hewlett-Packard Development Company, L.P. Pull-print servers
JP2022102673A (ja) * 2020-12-25 2022-07-07 ブラザー工業株式会社 画像処理装置及び画像処理装置のためのコンピュータプログラム
US20220345540A1 (en) * 2021-04-26 2022-10-27 Kyocera Document Solutions Inc. Electronic apparatus executing service in response to command from front end apparatus and front end apparatus managing electronic apparatus

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101807143A (zh) * 2009-02-17 2010-08-18 佳能株式会社 图像形成装置

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4298034B2 (ja) * 1998-03-05 2009-07-15 キヤノン株式会社 印刷システム、印刷管理装置、情報処理装置、およびそれらの制御方法、記憶媒体
US20030090707A1 (en) * 2001-11-13 2003-05-15 Shell Simpson Methods and systems for making booklets
JP3656617B2 (ja) * 2002-06-18 2005-06-08 セイコーエプソン株式会社 印刷制御システムおよび印刷方法
JP4142361B2 (ja) * 2002-07-17 2008-09-03 東芝テック株式会社 機器管理システム、管理装置および被管理装置
JP4959912B2 (ja) * 2002-08-28 2012-06-27 オセ−テクノロジーズ・ベー・ヴエー 印刷ジョブの調整された同時印刷
JP2004171324A (ja) * 2002-11-21 2004-06-17 Seiko Epson Corp ジョブ管理装置
US7443523B2 (en) * 2002-11-22 2008-10-28 Xerox Corporation Printing to a client site from an application running on a remote server
JP4133392B2 (ja) * 2003-02-05 2008-08-13 シャープ株式会社 集線装置および外部機器、並びにこれらを備えた情報処理システム、情報処理システムの管理方法
JP2005109930A (ja) * 2003-09-30 2005-04-21 Fuji Photo Film Co Ltd 画像処理装置、画像処理プログラム、記録媒体、および画像処理方法
JP3790900B2 (ja) * 2003-09-30 2006-06-28 コニカミノルタビジネステクノロジーズ株式会社 印刷システム、印刷装置、印刷方法、印刷装置の制御方法、およびコンピュータプログラム
JP4428250B2 (ja) * 2005-02-17 2010-03-10 セイコーエプソン株式会社 ネットワークに接続された印刷装置の印刷進行状況監視制御
JP4372030B2 (ja) * 2005-03-02 2009-11-25 キヤノン株式会社 印刷装置、印刷装置の制御方法及びコンピュータプログラム
JP2006285840A (ja) * 2005-04-04 2006-10-19 Canon Inc 文書管理システム
JP4869031B2 (ja) * 2005-12-28 2012-02-01 キヤノン株式会社 印刷システム、サーバ装置及びジョブ制御方法
JP2007257481A (ja) 2006-03-24 2007-10-04 Canon Inc 印刷デバイス
JP2007276341A (ja) * 2006-04-10 2007-10-25 Canon Inc 通信装置
JP4868955B2 (ja) * 2006-06-22 2012-02-01 株式会社リコー 画像処理装置、情報処理装置、サーバ装置、表示制御システム、及び表示制御方法
JP2008123047A (ja) * 2006-11-08 2008-05-29 Ricoh Co Ltd 画像処理装置及びデータ合成出力方法
JP4999619B2 (ja) * 2007-09-26 2012-08-15 キヤノン株式会社 画像処理装置及び印刷要求方法
JP2009206788A (ja) * 2008-02-27 2009-09-10 Canon Inc 管理サーバ、画像形成装置、管理方法、プログラム
JP4805992B2 (ja) * 2008-09-30 2011-11-02 株式会社沖データ 画像処理装置
JP5324257B2 (ja) * 2009-02-27 2013-10-23 キヤノン株式会社 情報処理装置及びその制御方法、プログラム
JP4835725B2 (ja) * 2009-05-29 2011-12-14 ブラザー工業株式会社 画像形成装置及び画像形成システム
JP2011028452A (ja) * 2009-07-23 2011-02-10 Canon Inc 情報処理装置、情報処理方法、及び情報処理装置を制御するプログラム
US8605311B2 (en) * 2009-08-12 2013-12-10 Ricoh Company, Ltd. Methods and systems for providing device specific print options to remote printing services
JP5573132B2 (ja) * 2009-12-02 2014-08-20 株式会社リコー 印刷システム、印刷装置、プログラム、および記憶媒体
US20110289484A1 (en) * 2010-05-19 2011-11-24 Also Energy Method and System for Script Processing for Web-Based Applications
JP5365659B2 (ja) * 2011-04-18 2013-12-11 コニカミノルタ株式会社 画像形成装置、アプリケーション制御方法、アプリケーション制御プログラム
JP5888880B2 (ja) * 2011-06-09 2016-03-22 キヤノン株式会社 印刷システム、サーバ装置、画像形成装置および印刷処理方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101807143A (zh) * 2009-02-17 2010-08-18 佳能株式会社 图像形成装置

Also Published As

Publication number Publication date
JP5885410B2 (ja) 2016-03-15
KR20130002940A (ko) 2013-01-08
KR101637894B1 (ko) 2016-07-20
JP2013012053A (ja) 2013-01-17
EP2541391B1 (en) 2018-08-08
EP2541391A3 (en) 2013-10-30
EP2541391A2 (en) 2013-01-02
CN102915214A (zh) 2013-02-06
US20130003115A1 (en) 2013-01-03

Similar Documents

Publication Publication Date Title
CN102915214B (zh) 拉式打印系统及其管理方法、打印服务器及其控制方法
JP5791390B2 (ja) 印刷システム、プリントサーバ、印刷管理方法、およびプログラム
EP1860547A2 (en) Remote stored print job retrieval
US9836254B2 (en) Image forming apparatus, control method therefor, and storage medium storing control program therefor
JP2014059717A (ja) 情報処理システム、情報処理装置、機器、情報処理方法、及び情報処理プログラム
US20130182288A1 (en) Account management system
US10560477B2 (en) Information processing system, control method therefor, image processing apparatus, control method therefor, and storage medium storing control program therefor
JP2004129247A (ja) 画像形成装置及び利用制御方法
JP2004122778A (ja) 画像形成装置及び利用制御方法
JP4130521B2 (ja) エラーメッセージの出力方法、サーバ、クライアント、および記録媒体
US10891096B2 (en) Communication device, non-transitory computer-readable recording medium storing computer-readable instructions for communication device, and method performed by communication device
JP5679506B2 (ja) 出力管理装置、出力管理システム及びプログラム
JP6127586B2 (ja) 情報処理システムおよび情報処理方法
JP2008152648A (ja) データ処理装置
JP2006350917A (ja) 周辺機器管理システム
JP2004259129A (ja) オンライン帳票生成サーバ装置、オンライン帳票生成方法、オンライン帳票生成プログラム
JP2009294920A (ja) リモートプリンティングシステム
JP6188842B2 (ja) 印刷システム、サーバおよびその制御方法、並びにプログラム
JP2017094742A (ja) 画像処理装置及びその制御方法、並びにプログラム
JP5365613B2 (ja) 画像形成装置、利用制御方法、及びプログラム
JP2006065842A (ja) 文書処理管理システムおよび方法
JP2023181828A (ja) 印刷システム、情報処理方法及びプログラム
JP4293540B2 (ja) 印刷管理装置、同方法、印刷管理プログラム及び記憶媒体
JP2004199382A (ja) 通知源サーバ装置、クライアント装置、イベント通知制御方法
JP2017004303A (ja) デバイス管理サーバー、方法、およびプログラム

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant