CN102238227A - 服务器装置及终端装置 - Google Patents

服务器装置及终端装置 Download PDF

Info

Publication number
CN102238227A
CN102238227A CN201110104020XA CN201110104020A CN102238227A CN 102238227 A CN102238227 A CN 102238227A CN 201110104020X A CN201110104020X A CN 201110104020XA CN 201110104020 A CN201110104020 A CN 201110104020A CN 102238227 A CN102238227 A CN 102238227A
Authority
CN
China
Prior art keywords
unit
print
server
request
data
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.)
Pending
Application number
CN201110104020XA
Other languages
English (en)
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 CN102238227A publication Critical patent/CN102238227A/zh
Pending legal-status Critical Current

Links

Images

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
    • 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
    • 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
    • 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/1236Connection management
    • 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/1244Job translation or job parsing, e.g. page banding
    • G06F3/1247Job translation or job parsing, e.g. page banding by conversion to printer ready format
    • 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/1268Job submission, e.g. submitting print job order or request not the print data itself
    • G06F3/1271Job submission at the printing node, e.g. creating a job from a data stored locally or remotely
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00127Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
    • H04N1/00204Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a digital computer or a digital computer system, e.g. an internet server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00127Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
    • H04N1/00204Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a digital computer or a digital computer system, e.g. an internet server
    • H04N1/00209Transmitting or receiving image data, e.g. facsimile data, via a computer, e.g. using e-mail, a computer network, the internet, I-fax
    • H04N1/00222Transmitting or receiving image data, e.g. facsimile data, via a computer, e.g. using e-mail, a computer network, the internet, I-fax details of image data generation or reproduction, e.g. scan-to-email or network printing
    • H04N1/0023Image pull arrangements, e.g. to a multifunctional peripheral from a networked computer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00127Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
    • H04N1/00204Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a digital computer or a digital computer system, e.g. an internet server
    • H04N1/00209Transmitting or receiving image data, e.g. facsimile data, via a computer, e.g. using e-mail, a computer network, the internet, I-fax
    • H04N1/00222Transmitting or receiving image data, e.g. facsimile data, via a computer, e.g. using e-mail, a computer network, the internet, I-fax details of image data generation or reproduction, e.g. scan-to-email or network printing
    • H04N1/00233Transmitting or receiving image data, e.g. facsimile data, via a computer, e.g. using e-mail, a computer network, the internet, I-fax details of image data generation or reproduction, e.g. scan-to-email or network printing details of image data reproduction, e.g. network printing or remote image display
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00127Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
    • H04N1/00204Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a digital computer or a digital computer system, e.g. an internet server
    • H04N1/00244Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a digital computer or a digital computer system, e.g. an internet server with a server, e.g. an internet server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/0035User-machine interface; Control console
    • H04N1/00405Output means
    • H04N1/00408Display of information to the user, e.g. menus
    • H04N1/00464Display of information to the user, e.g. menus using browsers, i.e. interfaces based on mark-up languages
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/0008Connection or combination of a still picture apparatus with another apparatus
    • H04N2201/001Sharing resources, e.g. processing power or memory, with a connected apparatus or enhancing the capability of the still picture apparatus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/0077Types of the still picture apparatus
    • H04N2201/0094Multifunctional device, i.e. a device capable of all of reading, reproducing, copying, facsimile transception, file transception

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)
  • Record Information Processing For Printing (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明提供一种服务器装置及终端装置。对于花费时间执行处理的Web应用而言,Web浏览器与所述Web应用之间的互联网连接需要被保持,直至处理完成为止。在提供从文档数据至打印数据的转换处理的Web应用服务器中,所述转换处理本身被提供作为与所述Web应用异步的软件处理。所述Web应用仅接受转换处理执行请求。利用Comet通信确认进展,并且Web服务器延迟对HTTP请求的响应。

Description

服务器装置及终端装置
技术领域
本发明涉及用于在云计算环境中创建打印数据并进行打印的服务器装置和终端装置。
背景技术
通过安装在客户端中的Web浏览器来使用由Web应用服务器经由网络提供的功能的应用(下文称作Web应用)已经广泛盛行。
近来,云计算服务也变得流行起来。云计算服务通过网络不仅提供Web应用,而且提供用于操作该Web应用的Web应用服务器的硬件环境。云计算服务的典型示例有由美国
Figure BSA00000481774100011
(注册商标)提供的Amazon Web服务以及由美国Microsoft提供的Windows
Figure BSA00000481774100012
(注册商标)。随着云计算服务的激增,甚至传统上通过在客户端中安装特定应用来实现的处理,今后也被提供作为Web应用。甚至期望这种处理仅使用Web浏览器即变得可执行。
在该技术背景下,研究了这样一种方法,该方法提供将由应用创建的文档数据转换成打印装置可解释并可执行的数据格式(称为“打印数据”)的打印机驱动程序,作为Web应用。通过提供驱动程序应用作为Web应用并与现有的文档管理Web应用协作,具有Web浏览器的打印装置能够直接对文档集中进行浏览、选择、编辑及打印。
然而,预计当接收到请求时、直到执行完成为止,由驱动程序应用执行的、从文档数据至打印数据的转换处理要花费很长时间。在该处理中,在Web应用服务器通过HTTP请求接受打印数据转换处理请求的情况下,在处理完成之后、Web应用服务器向Web浏览器发送回HTTP响应之前,在Web浏览器中可能发生超时。在Web服务器与提供实际服务的应用服务器不同的情况下,由应用服务器进行的处理的时间可能超出Web服务器的待机时间,从而产生超时。该超时被传送作为对Web浏览器的响应。
用于避免超时的传统技术的示例为所谓的轮询(polling)方法。根据该方法,Web浏览器在处理执行期间、以预定时间周期询问Web应用服务器的处理的执行状态(参见例如日本特开2003-022165号公报)。在轮询中,Web浏览器在Web应用服务器中的处理执行期间、以预定周期重复HTTP请求的发送和HTTP响应的接收。这避免了产生超时,但保持了客户端与Web应用服务器之间的伪连接,直到处理完成。
发明内容
本发明包括以下布置。即,一种连接至服务器装置的终端装置,该服务器装置根据Comet通信过程,针对指定的处理的进展信息的请求,在指定的所述处理完成之前经过了响应设置时间时,向指定了所述处理的终端装置发送空响应,并且在所述处理完成时,向所述终端装置发送完成响应,所述终端装置包括:浏览器单元,其用于向所述服务器装置发送用以将指定的文档数据转换成打印装置能够打印的打印数据的转换请求,并且从所述服务器装置接收与所述转换请求对应的接收响应;以及进展确认单元,其用于向所述服务器装置发送进展信息请求,并从所述服务器装置接收针对所述进展信息请求的响应,其中所述进展信息请求用以询问根据针对特定文档数据的所述转换请求而在所述服务器装置中执行的转换处理的进展,其中当从所述服务器装置接收到所述接收响应时,所述浏览器单元指示所述进展确认单元询问,针对由所述转换请求指定作为所述特定文档数据的文档数据的所述转换处理的进展,并且当所述进展确认单元根据Comet通信过程从所述服务器装置接收到空响应时,所述进展确认单元将所述进展信息请求发送给所述服务器装置。
根据另一方面,本发明包括以下布置。即,一种与终端装置通信的服务器装置,所述服务器装置包括:用于在从所述终端装置接收到用以将指定的文档数据转换成打印装置能够打印的打印数据的转换请求时,向所述终端装置发送指示所述转换请求已被接收到的接收响应的单元;转换单元,其用于在接收到所述转换请求时,根据所述转换请求执行转换处理,以将所述文档数据转换成所述打印数据;以及用于在从所述终端装置接收到用以询问与该转换请求对应的转换处理的进展的进展信息请求时,根据Comet通信过程在所述转换处理完成的情况下向所述终端装置发送转换后的打印数据作为响应,并且在所述转换处理完成之前经过了响应设置时间的情况下向所述终端装置发送空响应的单元。
在本发明中,在Web应用服务器中的处理期间,不同于Web浏览器的软件处理监视处理的完成。另外,软件处理使用Comet通信进行与Web应用服务器的连接。
因此当在打印装置中执行云计算服务时,能够避免使用Web应用服务器的用户占用打印装置和Web浏览器。还能够降低在Web应用的执行期间服务器上的负担。
根据以下参照附图对示例性实施例的描述,本发明的其他特征将变得清楚。
附图说明
图1是示出系统结构的框图;
图2是示出基于HTTP协议的请求和响应的流的序列图;
图3是示出基于HTTP协议使用轮询的请求和响应的流的序列图;
图4是示出基于HTTP协议使用Comet的请求和响应的流的序列图;
图5是示出文档管理应用服务器102和打印指令接受应用服务器103的硬件结构的框图;
图6是示出打印装置104的硬件结构的框图;
图7是示出文档管理应用服务器102、打印指令接受应用服务器103和打印装置104的软件结构的框图;
图8是用于说明在打印装置104的操作单元1042上显示的Web浏览器7032的画面布置的图;
图9是用于说明文档管理应用服务器102中的文档管理表901的表;
图10是用于说明第一实施例中的、直到选择要打印的文档数据为止的处理的流程图;
图11是用于说明在Web浏览器7032上显示的文档列表画面的图;
图12是用于说明第一实施例中的图10所示的流程图中的详细打印指令登记的流程图;
图13是用于说明打印指令接受应用服务器103中的打印指令信息管理数据库的表;
图14是用于说明在图10中的打印指令登记结束时在Web浏览器7032上显示的画面的图;
图15是用于说明第一实施例中的直到将文档数据转换成打印数据为止的处理的流程图;
图16A和图16B是用于说明第一实施例中的直到打印装置104对打印数据进行打印为止的处理的流程图;以及
图17是示出打印指令确认应用7033的软件结构的框图。
具体实施方式
以下将参照附图来说明本发明的优选实施例。
在传统技术中,当Web浏览器要通过轮询正在执行处理的Web应用服务器来保持连接时,Web浏览器重复对特定URL的访问,直到处理完成。因此,Web浏览器需要保持显示特定页,直到处理完成。当不同的服务器提供驱动程序应用和文档管理应用时,Web浏览器不能执行由另一Web应用服务器提供的功能,直到处理完成时轮询结束。
另外,当Web浏览器要通过轮询Web应用服务器来保持连接时,Web浏览器不能结束,直到处理完成。使用Web应用的用户占用打印装置和Web浏览器,直到处理完成。
本发明是在考虑到传统情况而作出的,并且本发明提供了即使在用户从Web浏览器请求打印时、在Web应用的处理待机时间期间也能够释放Web浏览器的打印数据创建服务器、打印装置及打印系统,所述Web浏览器使用被提供作为Web应用的打印机驱动程序或文档处理应用。
[第一实施例]
<系统结构>
图1示出了根据本发明的第一实施例的系统的总体结构。该系统包括互联网101、文档管理应用服务器102、打印指令接受应用服务器103、打印装置104和防火墙105。文档管理应用服务器102也简称为文档管理服务器。
互联网101用作用于在上述装置之间交换信息的通信线路(通信网络)。线路的形式是任意的有线或者无线形式。文档管理应用服务器102包括控制单元1021和存储单元1022。存储单元1022保存文档数据。该文档数据的示例为由诸如Adobe
Figure BSA00000481774100051
(注册商标)的软件创建的PDF文件,以及由诸如Microsoft Word的软件创建的DOC文件。控制单元1021发挥作为应用服务器的公知作用。例如,Web应用被安装在存储单元1022中,软件处理运行以向打印装置104提供服务。此外,控制单元1021能够执行本实施例以及后续描述中公开的流程图的至少部分处理。
打印指令接受应用服务器103包括控制单元1031和存储单元1032。存储单元1032保存来自Web浏览器4032(稍后描述)的处理请求以及用作处理请求的执行结果的打印数据。例如,打印数据是打印装置104可解释和可打印的诸如PDL的数据格式的数据。控制单元1031发挥作为应用服务器的公知作用。例如,根据来自Web浏览器4032的处理请求来安装用于执行各处理的Web应用,并且软件处理运行以向打印装置104提供各个处理。另外,控制单元1031能够执行本实施例以及后续描述中公开的流程图的至少部分处理。
打印装置104包括控制单元1041、操作单元1042和打印单元1043。打印装置104是输入/输出及发送/接收图像并执行各种图像处理的多功能外围设备(MFP)。控制单元1041控制用作打印装置104的构件的操作单元1042和打印单元1043。操作单元1042包括用户界面,并接受来自用户的针对打印装置104的操作指令。打印单元1043被控制单元1041控制,并且执行各种图像处理和图像输出。控制单元1041包括处理器和存储器,并且能够执行作为应用程序的Web浏览器。Web浏览器能够显示作为HTTP响应获得的数据,并执行嵌入的脚本。
为了打印装置104的高安全性,防火墙105作为限制经由互联网101从外部进行的访问的装置进行操作。防火墙105的形式为任意的硬件或者软件。通过经由防火墙105在服务器与客户端之间交换消息,来实现访问限制。
<基于HTPP协议的请求和响应的流>
图2是示出基于HTTP协议的请求和响应的处理流的序列图。客户端201是将HTTP请求(HTTP REQUEST)发送到服务器202并接收作为对该请求的响应的HTTP响应(HTTP RESPONSE)。在根据本发明的第一实施例的图1所示的系统结构中,客户端201对应于包括在打印装置104中的Web浏览器7032(参见图7)。服务器202是接收HTTP请求、执行相应的应用203并将HTTP响应发送回给客户端201的软件。在根据本发明的第一实施例的图1所示的系统结构中,服务器202对应于文档管理应用服务器102和打印指令接受应用服务器103。应用203对应于Web服务提供器单元7011和应用服务器单元7022。
客户端201能够通过GET方法或POST方法向服务器202发送HTTP请求。当通过GET方法将针对期望资源的HTTP请求204从客户端201发送到服务器202时,通常通过URI(特别是URL)形式来指定资源。服务器202获取或生成对应于通过HTTP请求204指定的资源的数据,并通过HTTP响应205将该数据发送回给客户端201。
下面将对通过POST方法来发送HTTP请求的情况进行说明。当HTML文档包含表单(form)并且POST方法被指定作为发送方法时,执行以下处理。更具体地说,对用户在客户端201的Web浏览器上显示的表单中输入的信息进行编码。编码信息(即表单的输入内容)被附加到HTTP请求206,并发送到服务器202。服务器202分析从客户端201接收的HTTP请求206,从而获取用户输入的信息。服务器202起动与由用户输入的信息对应的应用203。服务器202将用户输入的信息在应用开始通知207中传送给应用203,从而开始处理的执行。当应用203结束处理的执行时,其将处理执行结果在应用结束通知208中通知给服务器202。服务器202由从应用结束通知208获取的执行结果来生成HTTP响应209,并将HTTP响应209发送回给客户端201。
服务器202能够设置在接收到来自客户端201的HTTP请求之后、完成应用203的时间限制(以下称作应用限制时间)。如果应用203的处理在应用限制时间内没有结束,则服务器202中断应用203中的处理的执行,并向客户端201发送回HTTP响应,以指示在应用中发生了超时。在图2的示例中,服务器202需要在客户端201中发生了对HTTP请求的超时的时间(也即请求限制时间)之前,向客户端201发送回HTTP请求。在图2中,应用限制时间需要被设置为,等于或者小于通过从请求限制时间中减去HTTP请求和响应的传送延迟而获得的时间。
<基于HTTP协议使用轮询的请求和响应的流>
图3是示出基于HTTP协议使用轮询的请求和响应的流的序列图。客户端201通过POST方法将HTTP请求301发送给服务器202。服务器202分析从客户端接收到的HTTP请求301,从而获取用户输入的信息。服务器202起动与由用户输入的信息对应的应用203。服务器202将用户输入的信息在应用开始通知302中传送给应用203,从而开始处理的执行。同时,与图1不同,当应用203开始处理的执行时,服务器202生成HTTP响应303并将其发送回给客户端201。
然后,客户端201通过POST方法再次将HTTP请求304发送给服务器202。此时,HTTP请求304不包含在HTTP请求301中包含的用户输入的信息。HTTP请求304包含用于询问由应用203响应于应用开始通知302而开始的处理的进展的信息。当接收到HTTP请求304时,服务器202确认在应用203的执行期间处理的进展信息。如果处理正在进行中,则服务器202生成包含表示该事实的信息的HTTP响应305,并将其发送回给客户端201。重复在客户端201与服务器202之间的HTTP请求304和HTTP响应305的发送和接收,直到应用203的执行期间的处理结束并且应用203将应用结束通知306发送给服务器202为止。
当服务器202在从应用203接收到应用结束通知306之后从客户端201接收到HTTP请求307时,服务器202由从应用结束通知306获取的执行结果来生成HTTP响应308,并将该响应发送回给客户端201。
如上所述,在服务器202将应用开始通知302发送给应用203之后,需要向服务器202重复发出HTTP请求,直到客户端201接收到应用203的处理结果为止。为了实时接收应用203的处理执行结果,需要缩短轮询间隔,即在图3中接收到HTTP响应303之后直到发送HTTP请求304为止的时间间隔。这增加了服务器的负担。如果考虑到服务器的负担而延长该时间间隔,则变得难以实时接收包含执行结果的HTTP响应。
<基于HTTP协议使用Comet的请求和响应的流>
图4是示出基于HTTP协议使用Comet通信的请求和响应的流的序列图。
根据图4的序列,服务器202设置当从客户端201接收到HTTP请求时发送回HTTP响应的响应时间。该时间将被称作响应设置时间。如果应用203的处理在该响应设置时间内没有结束,则服务器202向客户端201发送回空HTTP响应。另外在该情况下,该响应设置时间应当被设置为比从请求限制时间中减去HTTP请求和响应的传送时间而获得的时间短。然而,选择最大时间,以避免浪费网络资源。
客户端201通过POST方法向服务器202发送HTTP请求401。服务器202分析从客户端201接收的HTTP请求401,从而获取用户输入的信息。响应于应用开始通知402,服务器202起动与用户输入的信息对应的应用203。服务器202将用户输入的信息在应用开始通知402中传送给应用203,从而开始处理的执行。如果响应于应用开始通知402而开始的处理在响应设置时间内结束,则服务器202从应用结束通知405获取执行结果,生成HTTP响应406,并将该响应发送回给客户端201。
如果在响应于应用开始通知402而开始的处理结束之前经过了响应设置时间,则服务器202生成空HTTP响应403并根据Comet将该响应发送回给客户端201。由此,客户端201能够在HTTP请求的超时产生之前接收到HTTP响应。
就在客户端201从服务器202接收到空HTTP响应403时,客户端201向服务器202发送HTTP请求404,并重新连接到服务器。服务器202不立即对所接收到的HTTP请求作出响应,并且延迟响应,直到应用203的处理结束或者经过响应设置时间。后续的过程与针对HTTP请求401的过程相同。重复这些过程,直到应用203的处理结束。更具体地说,重复HTTP响应403和HTTP请求404的流,直到应用203结束正在进行的处理并将应用结束通知405发送给服务器202。如果响应于应用开始通知402而开始的处理在重新连接之后结束,则服务器202从应用结束通知405获取执行结果,生成HTTP响应406,并将该响应发送回给客户端201。
如图4所示,Comet的特征是:当等待应用203的处理完成的同时,如图2所示,服务器202适当地发送回HTTP响应消息并迅速重新发出HTTP请求,以避免HTTP请求的超时。与图3所示的轮询不同,根据Comet不按照预定间隔来确认应用203的执行期间的处理状态。根据Comet,服务器202保留甚至在从客户端201接收到HTTP请求时的响应。如果服务器202生成待发送到客户端201的消息,则服务器202使用所保留的HTTP响应将该消息发送到浏览器,就像该消息是自发消息(非请求消息)一样。该消息的实体是HTTP响应,并且即使用于阻挡非请求消息的防火墙介入,该消息也能够通过防火墙。以这种方式,连接被保持,直到经过响应设置时间为止,并且就在经过响应设置时间时,进行重新连接。即在抑制客户端201中的HTTP请求的超时的产生的同时,保持向服务器202发送HTTP请求。
通过根据Comet发送请求和响应,客户端201能够在应用203的执行期间的处理结束的时刻(换言之,由通信中的服务器202主动)获取HTTP响应。与轮询中的状态确认不同,非短周期的HTTP响应需要被重复发送。根据Comet,Web服务器延迟HTTP响应,直到生成要被发送回的消息为止,由此实现由Web服务器主导的伪通信(即伪非请求通信)。如果不存在要发送回的消息,则Web服务器每隔响应设置时间发送回空HTTP响应,以避免第一HTTP请求的超时。当接收到空HTTP响应时,Web客户端发出HTTP响应,并保持与Web服务器的连接,以监视由Web服务器生成的消息。这些为Comet过程。
注意,可以通过例如由客户端执行的程序以及由特定URL指定的Web服务器中的应用程序,来实现Comet控制。尽管客户端基于由服务器提供的脚本连同HTML数据来实现Comet,但是还可以通过独立的应用程序来实现等同控制。该程序响应于从Web浏览器发出HTTP请求来开始操作。因此,该程序是要由Web浏览器执行的脚本,或者是介入在Web浏览器与服务器之间的独立应用程序。该实施例采用以下结构。
<应用服务器的硬件结构>
图5是示出构成根据本发明的第一实施例的系统的文档管理应用服务器102和打印指令接受应用服务器103的硬件结构的框图。打印指令接受服务器包括Web服务器。图5所示的硬件结构对应于一般的信息处理装置的结构。一般的信息处理装置的硬件结构适用于本发明的实施例中的文档管理应用服务器102和打印指令接受应用服务器103。
CPU 501执行存储在程序ROM 503中或从外部存储器511载入RAM502的、诸如操作系统(以下称为OS)或应用的程序。在文档管理应用服务器102和打印指令接受应用服务器103中,控制单元1021和1031对应于CPU 501。CPU 501执行在本实施例以及后续描述中公开的流程图的处理。
RAM 502用作CPU 501的主存储器、工作区等。键盘控制器505控制来自连接到一般的信息处理装置的键盘509或指示设备(图5未示出)的键输入。显示控制器506控制各种显示器510上的显示。
外部存储器控制器507控制对存储各种数据的诸如硬盘驱动器(HDD)的外部存储器511的数据存取。在文档管理应用服务器102和打印指令接受应用服务器103中,存储单元1022和1032对应于外部存储器控制器507。网络控制器508连接到互联网101并执行与另一设备的通信控制处理。
<打印装置的硬件结构>
图6是示出构成根据本发明的第一实施例的系统的打印装置104的硬件结构的框图。打印装置104包括Web浏览器并作为Web客户端进行操作。打印装置104包括控制打印装置的控制单元1041。控制单元1041控制用作图像输出设备的打印单元1043。另外,控制单元1041连接到LAN或公共线路,并且经由该LAN或公共线路来输入/输出图像信息和设备信息。
控制单元1041包括CPU 601。CPU 601经由系统总线605连接至RAM 602、ROM 606、硬盘驱动器(HDD)607、图像总线接口608、操作单元接口603及网络接口604。CPU 601执行用于实现图15和图16所示的过程中的、打印装置104的过程的程序。
RAM 602是CPU 601的主存储器,并用作工作区、用于临时存储图像数据和程序的图像存储器等。ROM 606是引导ROM。ROM 606存储打印装置的引导程序(起动程序)。ROM 606还存储诸如设备信息、设备名称和设备的序列号等的打印装置特定信息。
硬盘驱动器(HDD)607用作存储系统软件、图像数据等的外部存储区。
操作单元接口603进行与操作单元1042之间的输入/输出。操作单元接口603具有例如将要在操作单元1042上显示的图像数据输出至操作单元1042、并且将用户经由操作单元1042输入的信息发送至CPU 601的功能。
网络接口604经由防火墙105连接至互联网101,并且输入/输出信息。
图像总线接口608用作将系统总线605连接至用于高速传送图像数据的图像总线609并进行数据结构转换的总线桥。图像总线609连接光栅图像处理器(RIP)610、设备接口611和打印单元1043。
<软件结构>
图7是示出构成根据本发明的第一实施例的系统的文档管理应用服务器102、打印指令接受应用服务器103及打印装置104的软件结构的框图。
文档管理应用服务器102包括Web服务提供器单元7011、Web服务响应生成单元7012、文档数据管理单元7013及文档数据信息管理单元7014。存储单元1022(外部存储器511)将这些构件存储作为程序文件。由文档管理应用服务器102提供作为Web应用的各种功能,通过将这些程序文件载入到RAM 502中并由CPU 501执行这些程序文件来实现。
Web服务提供器单元7011经由互联网101从打印指令接受应用服务器103的Web服务请求器单元7025接受Web服务请求。根据该Web服务请求,Web服务响应生成单元7012执行处理。当执行对应于该Web服务请求的处理时,Web服务响应生成单元7012调用文档数据管理单元7013或文档数据信息管理单元7014,并且生成执行结果。文档数据管理单元7013执行诸如存储单元1022中保存的文档数据的登记、检索和删除的处理。文档数据信息管理单元7014执行诸如文档数据的附属相关信息的登记、检索和删除的处理。在本实施例中,将在稍后公开的流程图的描述中,详细描述要由文档管理应用服务器执行的具体处理的内容。
打印指令接受应用服务器103包括Web服务器单元7021、应用服务器单元7022、数据管理单元7023、Web服务提供器单元7024、Web服务请求器单元7025、打印指令接受单元7026、数据转换处理单元7027和处理状态响应单元7028。存储单元1032(外部存储器511)将这些构件存储作为程序文件。由打印指令接受应用服务器103提供作为Web应用的各种功能,通过将这些程序文件载入RAM 502并由CPU 501执行这些程序文件来实现。
Web服务器单元7021经由互联网101接受来自打印装置104的Web浏览器7032的HTTP请求。当接受该HTTP请求时,Web服务器单元7021调用应用服务器单元7022并执行对应于该请求的处理。作为处理执行结果,应用服务器单元7022将动态生成的诸如HTML信息的响应信息,发送回给Web服务器单元7021。当从应用服务器单元接受执行结果时,Web服务器单元7021将执行结果发送回给打印装置104的Web浏览器7032。另外,应用服务器单元7022经由互联网101从Web服务请求器单元7025调用外部Web服务。在本发明中,应用服务器单元7022将Web服务请求发送给文档管理应用服务器102的Web服务提供器单元7011,并接收对其的响应。
Web服务提供器单元7024经由互联网101从打印装置104的打印指令确认应用7033接受Web服务请求。根据该Web服务请求,打印指令接受单元7026、数据转换处理单元7027及处理状态响应单元7028执行处理,并将响应发送回给打印装置104的打印指令确认应用7033。当在打印指令接受应用服务器103中执行各种处理时需要使数据永久化的情况下,执行数据管理单元7023。数据管理单元7023进行向存储单元1032(外部存储器511)的写入以及自存储单元1032的读出。在本发明中,将在稍后公开的流程图的描述中,详细描述要由打印指令接受应用服务器103执行的具体处理的内容。
打印装置104包括用户接口7031、Web浏览器7032、打印指令确认应用7033、控制API 7034、作业管理器7035、打印管理器7036、PDL管理器7037、数据管理单元7038和打印装置信息管理单元7039。硬盘驱动器(HDD)607将这些构件存储作为程序文件。由打印装置104提供的各种功能,通过将这些程序文件载入RAM 602并由CPU 601执行这些程序文件来实现。
用户接口7031是当用户对打印装置104进行各种操作和设置时在设备与用户操作之间介入的程序。根据经由操作单元1042输入的用户操作信息,用户接口7031将操作信息传送至各种程序(稍后描述),并且请求执行相应的处理或者设置数据。
Web浏览器7032是用于经由互联网101将打印装置104HTTP连接至打印指令接受应用服务器103、并执行由打印指令接受应用服务器103提供的各种处理的程序。Web浏览器7032被显示在操作单元1042上并接受用户输入。如上所述,经由用户接口7031将输入至Web浏览器的用户操作信息,传送到打印装置中的各种程序(稍后描述)。
打印指令确认应用7033是经由互联网101将Web服务请求发送给打印指令接受应用服务器103的Web服务提供器单元7024、并接收对该请求的响应的程序。打印指令确认应用7033可以是独立于Web浏览器7032的程序或者是由Web服务器提供的程序(脚本)。
控制API 7034将与作业管理器7035、打印管理器7036以及PDL管理器7037的接口,提供给打印指令确认应用7033。这能够降低程序之间的依赖性并提高它们的转向性(diversion)。
作业管理器7035解释打印指令确认应用7033经由控制API 7034指定的各种处理,并对打印管理器7036和PDL管理器7037给出指令。作业管理器7035集中管理要由打印装置104执行的硬件处理。
打印管理器7036管理并控制由作业管理器7035指定的打印处理。PDL管理器7037将由作业管理器7035指定的打印数据转换成PDL数据。数据管理单元7038管理并控制保存在硬盘驱动器(HDD)607中的数据。打印装置信息管理单元7039管理存储在ROM 606中的打印装置104特有的信息、打印装置安装位置信息(包括甚至诸如网络上的IP地址的信息)等。
<Web浏览器画面布置>
图8例示了根据本发明的第一实施例的打印装置104的操作单元1042上显示的Web浏览器7032的画面布置。Web浏览器画面801显示标签802、URL输入字段809、确定按钮810、进度条808、内容显示区域803、返回按钮804、前进按钮805、重新加载按钮807、停止按钮806以及状态显示区域811。
标签802用于在由打印装置104提供的除Web浏览器7032的功能以外的功能(复制、箱、发送以及选项)之间切换画面。当用户输入其想要的资源的URL时,使用URL输入字段809。当用户按下该字段时,出现用于输入字符的虚拟全键盘(未示出)。用户可以与键顶(key-top)类似地从布置在虚拟全键盘上的软键来输入期望的字符串。
确定按钮810是用于最终确定输入的URL字符串的软键。当URL被最终确定时,Web浏览器7032将HTTP请求发送给输入URL。进度条808指示获取对HTTP请求的响应的进度。内容显示区域803显示获取的HTTP响应。返回按钮804是用于追溯Web浏览器显示历史、并且再次显示在当前显示画面之前显示的画面的软键。前进按钮805是当通过追溯画面显示历史来显示画面时、用于再次显示在当前显示内容之后显示的画面的软键。重新加载按钮807用于再次获取并显示当前显示画面。停止按钮806是用于停止执行期间的HTTP请求的软键。状态显示区域811用于显示来自打印装置的各种功能的消息。甚至在显示Web浏览器画面801的同时,状态显示区域811也能够显示来自扫描器、打印机或其他功能的消息,以引起用户注意。类似地,状态显示区域811能够显示甚至来自Web浏览器7032的消息。Web浏览器7032显示链接目的地的URL字符串、内容的标题字符串、脚本指定的消息等。
<文档管理表>
图9例示了根据本发明的实施例的用于对文档管理应用服务器102的存储单元1022(外部存储器511)中保存的文档数据和文档数据信息进行管理的数据库表。文档管理表901包括文档ID列902、文档名称列903、文档管理数据库项目列904和文档数据列905。文档ID列902存储用于唯一识别文档管理应用服务器102的存储单元1022中保存的文档数据的编号。文档名称列903存储文档管理应用服务器102的存储单元1022中保存的文档数据的名称。文档管理数据库项目列904除了存储文档ID列902和文档名称列903中的项目值以外,还存储管理文档数据所需的项目值。存储在文档管理数据库项目列904中的项目值,依据文档管理应用服务器102的实施而改变。在本发明的实施例中,存储在文档管理数据库项目列904中的项目值是任意的,并且将省略其描述。在本发明的实施例中,存储在文档ID列902、文档名称列903和文档管理数据库项目列904中的各项信息,将被称为文档数据信息。文档数据信息管理单元7014执行关于诸如文档管理表901中的文档ID列902、文档名称列903和文档管理数据库项目列904中的登记、检索和删除等的操作的处理。文档数据列905对保存在文档管理应用服务器102的存储单元1022(外部存储器511)中的、文档数据的保存位置信息或者该文档数据自身进行存储。在本发明的实施例中,存储在文档数据列905中的项目值是任意的。
下面,将参照图10至图16B来详细说明根据本发明的第一实施例的云打印系统中的各个步骤中的处理。
<要被打印的文档的指定>
图10是根据本实施例的、直到打印装置104的Web浏览器7032向打印指令接受应用服务器103发出用以打印在云打印系统中的文档管理应用服务器102中保存的文档数据的指令为止的流程图。
在步骤S1001中,打印装置104将硬盘驱动器(HDD)607中保存的Web浏览器7032加载到RAM 602中。当加载完成时,CPU 601执行被加载到RAM 602中的Web浏览器7032,并将其显示在操作单元1042上。
在步骤S1002中,Web浏览器7032发送用以从打印指令接受应用服务器103获取关于由文档管理应用服务器102管理的文档数据的列表的信息的HTTP请求。文档数据列表信息指示关于文档管理应用服务器102的存储单元1022中保存的全部文档数据的文档数据信息。此时,将打印指令接受应用服务器103的URL信息输入到Web浏览器画面801的URL输入字段809的方法是任意的。URL信息可以被预先保存在打印装置104的硬盘驱动器(HDD)607中,并且当在步骤S1001中CPU 601起动Web浏览器7032时被设置。作为选择,Web浏览器7032的用户可以手动设置(输入)URL信息。
在步骤S1003中,当接收到来自Web浏览器7032的HTTP请求时,打印指令接受应用服务器103的Web服务器单元7021调用应用服务器单元7022。应用服务器单元7022经由互联网101,将来自Web服务请求器单元7025的Web服务请求发送到文档管理应用服务器102的Web服务提供器单元7011。Web服务请求是用以获取关于由文档管理应用服务器102管理的文档数据的列表的信息的请求。
在步骤S1004中,文档管理应用服务器102的Web服务提供器单元7011接收来自打印指令接受应用服务器103的Web服务请求器单元7025的Web服务请求。Web服务提供器单元7011将接收到的Web服务请求传送至Web服务响应生成单元7012。作为对应于Web服务请求的处理,Web服务响应生成单元7012调用文档数据信息管理单元7014,并获取存储在文档管理表901中的文档数据信息。Web服务提供器单元7011将由Web服务响应生成单元7012获取的文档数据信息,发送给打印指令接受应用服务器103的Web服务请求器单元7025。
在步骤S1005中,打印指令接受应用服务器103的Web服务请求器单元7025接收并获取来自文档管理应用服务器102的Web服务提供器单元7011的文档数据信息。打印指令接受应用服务器103的应用服务器单元7022由Web服务请求器单元7025获取的文档数据信息,来动态地生成HTML格式的文档列表画面1101,并将文档列表画面1101发送回给Web服务器单元7021。Web服务器单元7021将文档列表画面1101发送回给打印装置104的Web浏览器7032。
在步骤S1006中,打印装置104在Web浏览器7032上,显示作为来自文档管理应用服务器102的Web服务器单元7021的HTTP响应而接收的文档列表画面1101。
图11例示了在图10的步骤S1006中在Web浏览器7032上显示的文档列表画面。文档列表画面1101包括文档ID显示区域1102、文档名称显示区域1103、文档数据信息显示区域1104、及文档打印按钮1105。文档列表画面1101的构件与各文档数据信息相对应地进行显示。文档ID显示区域1102显示存储在文档管理表901的文档ID列902中的项目值。文档名称显示区域1103显示存储在文档管理表901的文档名称列903中的项目值。文档数据信息显示区域1104显示存储在文档管理表901的文档管理数据库项目列904中的项目值。文档打印按钮1105用来向打印指令接受应用服务器103,发出用以打印与文档ID显示区域1102中显示的标识信息(ID)对应的文档的指令。
返回参照图10,在步骤S1007中,用户按下在文档列表画面1101上显示的任意打印按钮1105,由此指定要被打印的文档。该文档数据将被称作特定文档数据。当用户按下文档打印按钮1105时,打印装置104的Web浏览器7032将打印指令HTTP请求、连同在与文档打印按钮1105相关联的文档ID显示区域1102中显示的项目值一起,经由互联网101发送给打印指令接受应用服务器103的Web服务器单元7021。在本实施例中,要进行打印的指令被描述作为打印指令。然而,该指令请求打印数据的转换,并且也可以被称为特定文档数据转换请求。
在步骤S1008中,打印指令接受应用服务器103的Web服务器单元7021接收来自打印装置104的Web浏览器7032的打印指令HTTP请求。当接收到打印指令HTTP请求时,Web服务器单元7021调用应用服务器单元7022。应用服务器单元7022调用打印指令接受单元7026,并且作为对执行打印指令的准备,将接收到的HTTP请求登记在数据管理单元7023中。
图12是示出图10中的步骤S1008的详情的流程图。图12中的处理是由打印装置104的应用服务器单元7022通过调用打印指令接受单元7026来执行的打印指令登记处理。图13例示了在打印指令登记处理中管理数据管理单元7023中的打印指令信息的数据库表。
管理打印指令信息的数据库包括管理打印指令信息的打印指令信息管理表1301,以及当根据打印指令将文档数据转换成打印数据时使数据永久化的打印数据管理表1302。打印指令信息管理表1301包括打印指令ID列13011、文档ID列13012以及打印数据管理表参照ID列13013。打印指令ID列13011存储由打印指令接受单元7026根据接收到的打印指令HTTP请求而发出的唯一识别编号。文档ID列13012存储在步骤S1007中指定的、要在文档ID显示区域1102中显示的项目值。打印数据管理表参照ID列13013存储由打印指令接受单元7026发出的、用以唯一识别打印数据管理表1302的编号。打印数据管理表1302包括管理ID列13021、设备ID列13022、进展列13023以及打印数据列13024。管理ID列13021存储由打印指令接受单元7026根据接收到的打印指令HTTP请求而发出的唯一识别编号。设备ID列13022存储用于识别用作在步骤S1008中接收到的打印指令HTTP请求的源的打印装置104的信息。该用于识别打印装置104的信息,对应于HTTP请求中包含的请求IP地址、打印装置名称、打印装置的序列号等。进展列13023存储指示从文档数据至打印数据的转换处理的进展的项目值。当打印指令接受单元7026创建打印数据管理表1302时,指示“等待处理”的值被存储作为初始值。之后,数据转换处理单元7027(稍后描述)根据处理状态来登记并更新诸如“处理中”、“完成”以及“错误结束”的值。打印数据列13024存储由数据转换处理单元7027(稍后描述)创建的打印数据。
在步骤S1201中,打印指令接受单元7026在打印指令接受应用服务器103的存储单元1032(外部存储器511)中,创建与接收到的打印指令HTTP请求对应的打印数据管理表1302。
在步骤S1202中,打印指令接受单元7026在打印指令接受应用服务器103的存储单元1032(外部存储器511)中,创建与接收到的打印指令HTTP请求对应的打印指令信息管理表1301。
在上述打印指令登记处理之后,在步骤S1009中,打印指令接受单元7026已经创建打印数据管理表和打印指令信息管理表1301的完成通知(接收响应),被发送回给应用服务器单元7022。应用服务器单元7022动态地生成包含用于起动打印装置104的Web浏览器打印指令确认应用7033的起动脚本的HTML画面,并将该画面发送回给Web服务器单元7021。Web服务器单元7021将HTML画面发送给打印装置104的Web浏览器7032。
在步骤S1010中,打印装置104在Web浏览器7032上,显示作为来自打印指令接受应用服务器103的Web服务器单元7021的HTTP响应而被接收的画面。
图14例示了根据本发明的实施例在步骤S1010中在Web浏览器7032上显示的打印指令接受完成画面。打印指令接受完成画面1401包括打印指令接受完成消息显示区域1402以及文档列表显示按钮1403。打印指令接受完成消息显示区域1402显示向用户通知在步骤S1008中接收到的打印指令HTTP请求已被适当处理的字符串。当用户按下文档列表显示按钮1403时,执行步骤S1002至S1006,在Web浏览器7032上再次显示图11所示的文档列表画面。
<打印数据转换处理>
图15是根据本实施例的云打印系统中的、直到将与打印指令信息管理表1301的文档ID列13012中存储的项目值对应的文档数据、转换成打印装置104可解释以及可打印的数据格式为止的流程图。打印指令接受应用服务器103的数据转换处理单元7027执行图15中的序列。不论图10所示的流程图是在执行中还是执行前,均可以并行地且异步地执行要根据图15所示的流程图执行的处理。
在步骤S1501中,数据转换处理单元7027经由数据管理单元7023,来参照打印指令信息管理数据库的打印指令信息管理表1301中登记的打印指令信息。
在步骤S1502中,数据转换处理单元7027对在步骤S1501中经由数据管理单元7023查找的打印指令信息管理表1301中登记的打印指令信息的项数进行计数。如果没有打印指令信息被登记,则处理结束。
如果数据转换处理单元7027在步骤S1502中确认打印指令信息被登记,则在步骤S1503中,数据转换处理单元7027经由数据管理单元7023获取一项打印指令信息、并将该信息临时保存在打印装置104的RAM602中。此时,从打印指令信息管理表1301中删除所获取的打印指令信息。
在步骤S1504中,数据转换处理单元7027从文档管理应用服务器102,获取与在针对RAM 602中保存的打印指令信息的文档ID列13012中存储的项目值对应的文档数据。为此,打印指令接受应用服务器103调用Web服务请求器单元7025,并且经由互联网101将Web服务请求发送给文档管理应用服务器102的Web服务提供器单元7011。该请求是要获取由文档管理应用服务器102管理的文档数据。
在步骤S1505中,文档管理应用服务器102的Web服务提供器单元7011从打印指令接受应用服务器103的Web服务请求器单元7025接收Web服务请求。Web服务提供器单元7011将接收到的Web服务请求传送给Web服务响应生成单元7012。作为对应于该Web服务请求的处理,Web服务响应生成单元7012调用文档数据管理单元7013,并且从文档管理表901获取与接收到的Web服务请求中包含的文档ID对应的文档数据。Web服务提供器单元7011将由Web服务响应生成单元7012获取的文档数据,发送给打印指令接受应用服务器103的Web服务请求器单元7025。
在步骤S1506中,打印指令接受应用服务器103的Web服务请求器单元7025接收从文档管理应用服务器102的Web服务提供器单元7011接收到的文档数据,并将其传送给数据转换处理单元7027。
在步骤S1507至S1509中,数据转换处理单元7027将在步骤S1506中接收到的文档数据转换为打印数据。重复步骤S1508和S1509,直到转换处理完成。在步骤S1507中,数据转换处理单元7027开始从在步骤S1506中接收到的文档数据至打印数据的转换处理。在步骤S1508中,数据转换处理单元7027将文档数据转换成打印数据。在步骤S1507中开始打印数据转换处理之后,在步骤S1509中,数据转换处理单元7027经由数据管理单元7023,改变打印数据管理表1302的相应进展列13023中的值。如果在步骤S1508中继续转换处理,则值被更新为“处理中”。如果在步骤S1508中正常完成了数据转换处理,则值被更新为“完成”。如果发生了错误等并且数据转换处理被中断,则值被更新为“错误”。如果在步骤S1509中进展列13023的值被更新为“完成”或者“错误”,则数据转换处理结束,并且处理进行到步骤S1510。
在步骤S1510中,数据转换处理单元7027经由数据管理单元7023,来参照打印数据管理表1302的相应进展列13023中的值。此时,如果进展列13023的值为“错误”,则在步骤S1511中,将RAM 602中保存的打印指令信息再次登记在打印指令信息管理表1301中。
如果进展列13023的值为“完成”,则在步骤S1512中数据转换处理单元7027经由数据管理单元7023,将经历了数据转换的打印数据保存在打印数据管理表1302的打印数据列13024中。
在步骤S1513中,数据转换处理单元7027删除RAM 602中保存的打印指令信息,并且处理结束。
<打印数据转换的完成的监视>
图16A和图16B是根据本实施例的云打印系统中的、在图10中打印装置104的Web浏览器7032向打印指令接受应用服务器103发出文档数据打印指令之后、直到打印装置104进行打印处理为止的流程图。
在步骤S1601中,打印装置104的Web浏览器7032显示打印指令接受完成画面1401,该打印指令接受完成画面1401在步骤S1010中,已被接收作为来自打印指令接受应用服务器103的Web服务器单元7021的HTTP响应。此外,Web浏览器7032执行画面中包含的打印指令确认应用7033的起动脚本。此时,打印装置104的Web浏览器7032的用户不操作打印装置104,直到打印数据的打印完成并且在步骤S1618(稍后描述)中显示表示该结果的消息。在步骤S1601结束之后,根据图10所示的流程图,文档数据打印指令可以被新发送到打印指令接受应用服务器103。即使当并行执行文档的打印时,也独立于处理和处理结果而发出该文档数据打印指令。
图17是示出根据本实施例的云打印系统中的构成打印装置104的打印指令确认应用7033的内部软件结构的框图。打印指令确认应用7033包括服务提供器单元1701和Web服务请求器单元1702。打印指令确认应用7033的起动脚本将服务请求发送给打印指令确认应用7033的服务提供器单元1701,以起动打印指令确认应用7033。当发送服务请求时,打印指令确认应用7033经由打印装置104的打印装置信息管理单元7039从ROM 606获取对于打印装置104特定的信息,诸如设备信息、设备名称及设备的序列号,并且将它们一起发送。
在步骤S1602中,当接收到来自Web浏览器7032的服务请求时,打印指令确认应用7033经由互联网101,将来自Web服务请求器单元1702的Web服务请求发送给打印指令接受应用服务器103的Web服务提供器单元7024。该Web服务请求是HTTP请求消息,并且包含从打印装置104的ROM 606获取的对于打印装置104特定的信息。该消息也称作进展信息请求,由该消息来确认进展。通过进行使用Comet的通信来反复执行步骤S1602至S1609中的后续处理,直到打印指令接受应用服务器103完成图15所示的打印数据转换处理为止。注意,可以不通过Comet而通过几乎与Comet完全相同的过程来进行通信。由打印指令确认应用7033在步骤S1602中发送的Web服务请求,甚至包含使服务器能够识别使用Comet(或与Comet几乎相同的过程)的通信的信息。该信息可以明确地指示Comet,但是只要能够从请求的类型等识别Comet,则该信息不需要是明确的。
在步骤S1603中,打印指令接受应用服务器103的Web服务提供器单元7024经由互联网101,接收来自打印指令确认应用7033的Web服务请求。Web服务提供器单元7024将服务请求中包含的对于打印装置104特定的信息,经由数据管理单元7023保存在RAM 502中。在步骤S1603中接收到的Web服务请求包含指示Comet的信息。为了满足根据Comet过程的HTTP请求,Web服务提供器单元7024在定时器中,设置被确定为在HTTP请求/响应中不产生超时的响应设置时间,并且开始测量时间。另外,Web服务提供器单元7024延迟对于HTTP请求的响应,直到定时器超时或者转换处理完成为止。
在步骤S1604中,作为对应于Web服务请求的处理,打印指令接受应用服务器103的Web服务提供器单元7024调用处理状态响应单元7028。处理状态响应单元7028在打印数据管理表1302中保存的数据中,搜索设备ID列13022的值与在步骤S1603中已经被保存在RAM 502中的对于打印装置104特定的信息一致的数据。如果没有检测到对应的数据,则处理进行到步骤S1607。如果检测到一个或更多个对应的数据,则处理状态响应单元7028针对各数据检查进展列13023的值。如果进展列13023的值是“完成”以外的值,则处理进行到步骤S1607;如果该值是“完成”,则处理进行到步骤S1605。
在步骤S1605中,处理状态响应单元7028针对在步骤S1604中设备ID列13022的值与对于打印装置104特定的信息一致、并且进展列13023的值为“完成”的数据,获取存储在打印数据列13024中的打印数据以及管理ID列13021的值。处理状态响应单元7028将获取的打印数据以及值,作为要通过HTTP响应发送回的值、经由数据管理单元7023保存在RAM 502中。
在步骤S1606中,作为对应于在步骤S1603中接收到的Web服务请求的处理,Web服务提供器单元7024调用处理状态响应单元7028。处理状态响应单元7028将在步骤S1605中已经被保存在RAM 502中的打印数据以及管理ID列13021的值,存储在HTTP响应中。
如果在步骤S1604中没有检测到对应的数据,或者如果针对对应数据的进展列13023的值是“完成”以外的值,则处理状态响应单元7028不在HTTP响应中存储任何数据。处理然后返回到步骤S1604以重复执行步骤S1604至S1607中的处理,只要在步骤S1607中能够保持连接则一直重复,换言之,直到在步骤S1603中在定时器中设置的响应设置时间期满为止。如果响应设置时间期满或转换处理结束,则处理进行到步骤S1608。
在步骤S1608中,打印指令接受应用服务器103的处理状态响应单元7028将HTTP响应发送给打印指令确认应用7033。如果处理从步骤S1607分支,则处理状态响应单元7028发送回空HTTP响应。如果处理从步骤S1606转移,则处理状态响应单元7028发送回在步骤S1606中创建的HTTP响应。步骤S1607和S1608能够直接采用例如服务器中的Comet过程。
在步骤S1609中,打印指令确认应用7033检查从打印指令接受应用服务器103的处理状态响应单元7028接收的HTTP响应。如果HTTP响应不包含打印数据,则处理进行到步骤S1602,并且打印指令确认应用7033将Web服务请求,再次发送到打印指令接受应用服务器103的Web服务提供器单元7024。如果HTTP响应包含打印数据,则处理进行到步骤S1610。
在步骤S1610中,打印指令确认应用7033从Web服务请求器单元1702内部调用控制API7034,以将在步骤S1609中获取到的打印数据登记在作业管理器7035中,并开始打印处理。另外,打印指令确认应用7033调用数据管理单元7038,以将管理ID列13021的值与登记在作业管理器7035中的打印数据相关联地保存在RAM 602中。
在步骤S1611中,打印指令确认应用7033从Web服务请求器单元1702内部调用控制API 7034,以监视作业管理器7035。保持对作业管理器7035的监视,直到针对在步骤S1610中登记的打印数据的打印处理完成为止。
如果打印指令确认应用7033在步骤S1611中确认打印处理完成,则在步骤S1612中,打印指令确认应用7033将Web服务请求发送给打印指令接受应用服务器103的Web服务提供器单元7024。Web服务请求经由互联网101从Web服务请求器单元1702被发送,并且包含指示打印装置104已完成打印处理的信息,以及保存在RAM 602中的管理ID列13021的值。指示打印处理已经完成的信息是指示打印成功或打印失败的信息,并且由任意的字符串来表示。该字符串的格式是任意的。
在步骤S1613中,打印指令接受应用服务器103的Web服务提供器单元7024经由互联网101,接收来自打印指令确认应用7033的Web服务请求。Web服务提供器单元7024调用处理状态响应单元7028,并分析Web服务请求中包含的打印完成信息。如果打印完成信息指示打印成功,则处理进行到步骤S1614;如果其指示打印失败,则处理进行到步骤S1616。
在步骤S1614中,打印指令接受应用服务器103的处理状态响应单元7028调用数据管理单元7023。调用的数据管理单元7023从打印数据管理表1302中,删除与从打印指令确认应用7033接收到的Web服务请求中包含的管理ID列13021的值对应的数据。
在步骤S1615中,打印指令接受应用服务器103的处理状态响应单元7028,生成指示打印指令接受应用服务器103中的打印结束处理正常结束的信息。处理状态响应单元7028将该信息发送给打印指令确认应用7033的Web服务请求器单元1702。所述指示打印指令接受应用服务器103中的打印结束处理正常结束的信息,采用要在打印装置104的操作单元1042的状态显示区域811中显示的字符串的形式。
在步骤S1616中,打印指令接受应用服务器103的处理状态响应单元7028调用数据管理单元7023。所调用的数据管理单元7023将针对与打印数据管理表1302中的管理ID列13021的值对应的数据的进展列13023的值改变为“打印错误”,所述管理ID列13021的值被包含在从打印指令确认应用7033接收的Web服务请求中。
在步骤S1617中,打印指令接受应用服务器103的处理状态响应单元7028生成指示打印指令接受应用服务器103中的打印结束处理的错误结束的信息。处理状态响应单元7028将该信息发送给打印指令确认应用7033的Web服务请求器单元1702。所述指示打印指令接受应用服务器103中的打印结束处理的错误结束的信息,采用要在打印装置104的操作单元1042的状态显示区域811中显示的字符串的形式。
在步骤S1618中,打印指令确认应用7033的Web服务请求器单元1702从打印指令接受应用服务器103的处理状态响应单元7028接收打印处理结束信息。打印指令确认应用7033在打印装置104的操作单元1042的状态显示区域811中显示接收到的打印处理结束信息。
根据本实施例,打印装置104中安装的Web浏览器7032向用作不同软件处理的打印指令确认应用7033,指派被打印指令接受应用服务器103请求的、从文档数据至打印数据的转换处理的完成的确认。更具体地说,对于从Web浏览器7032发送的处理请求以及后续处理的响应的确认,被指派给不同于Web浏览器的软件处理。就在Web浏览器发出打印指令的当时,其从关于该打印指令的处理被释放。因此,处理请求能够被并行地发送给多个不同的Web应用服务器,而不考虑Web浏览器是否已经向任意Web应用服务器发送过处理请求。另外,就在发出打印指令的当时,打印装置104的资源可以被指派给复制、传真等,而不需通过打印网络上的文档而对其进行占用。如果打印指令确认应用7033被复制并且并行地执行副本,则能够并行地监视关于多个打印指令的数据转换处理和打印处理的完成。通过Comet通信,打印指令确认应用能够在图15所示的数据转换处理结束的时刻获取打印数据。能够实时地从服务器获取打印数据。
在图16A的步骤S1608中,数据转换处理的完成或者空HTTP响应被发送,但是其他信息可以设置在HTTP响应中并被发送。为此,例如在步骤S1604中,不仅测试转换处理是否完成,而且测试是否已从打印指令接受应用服务器103发送了消息。如果已发送了消息,则在步骤S1608中将该消息设置在HTTP响应中并发送。当接收到HTTP响应时,打印指令确认应用7033遵照响应的内容来进行处理。
另外,打印指令确认应用7033可以被安装在网络接口卡中。
本发明已经描述了打印装置作为客户端。然而,本发明还适用于用于经由Web浏览器来使用Web服务的终端,诸如所谓的瘦客户端或网络。
其他实施例
本发明的各方面还可以通过读出并执行记录在存储设备上的用于执行上述实施例的功能的程序的系统或装置的计算机(或诸如CPU或MPU的设备)、以及由系统或装置的计算机例如读出并执行记录在存储设备上的用于执行上述实施例的功能的程序来执行各步骤的方法来实现。为此,例如经由网络或者从用作存储设备的各种类型的记录介质(例如计算机可读介质)向计算机提供程序。
虽然参照示例性实施例对本发明进行了说明,但是应当理解,本发明不限于所公开的示例性实施例。应当对所附权利要求的范围给予最宽的解释,以使其涵盖所有这种变型、等同结构及功能。

Claims (6)

1.一种连接至服务器装置的终端装置,该服务器装置根据Comet通信过程,针对指定的处理的进展信息的请求,在指定的所述处理完成之前经过了响应设置时间时,向指定了所述处理的终端装置发送空响应,并且在所述处理完成时,向所述终端装置发送完成响应,所述终端装置包括:
浏览器单元,其用于向所述服务器装置发送用以将指定的文档数据转换成打印装置能够打印的打印数据的转换请求,并且从所述服务器装置接收与所述转换请求对应的接收响应;以及
进展确认单元,其用于向所述服务器装置发送进展信息请求,并从所述服务器装置接收针对所述进展信息请求的响应,其中所述进展信息请求用以询问根据针对特定文档数据的所述转换请求而在所述服务器装置中执行的转换处理的进展,
其中,当从所述服务器装置接收到所述接收响应时,所述浏览器单元指示所述进展确认单元询问,针对由所述转换请求指定作为所述特定文档数据的文档数据的所述转换处理的进展,并且
当所述进展确认单元根据所述Comet通信过程从所述服务器装置接收到空响应时,所述进展确认单元将所述进展信息请求发送给所述服务器装置。
2.根据权利要求1所述的终端装置,其中,
所述浏览器单元包括用于接受对文档数据的指定的文档指定单元,并且
在所述浏览器单元指示所述进展确认单元询问针对由所述转换请求指定的所述文档数据的所述转换处理的进展之后,所述文档指定单元接受对新文档数据的指定。
3.根据权利要求1或权利要求2所述的终端装置,该终端装置还包括:
打印单元,其用于打印从所述服务器装置接收到的打印数据,
其中,所述服务器装置根据所述转换请求,将所述文档数据转换成所述打印单元能够打印的打印数据。
4.一种与终端装置通信的服务器装置,所述服务器装置包括:
用于在从所述终端装置接收到用以将指定的文档数据转换成打印装置能够打印的打印数据的转换请求时,向所述终端装置发送指示所述转换请求已被接收到的接收响应的单元;
转换单元,其用于在接收到所述转换请求时,根据所述转换请求执行转换处理,以将所述文档数据转换成所述打印数据;以及
用于在从所述终端装置接收到用以询问与该转换请求对应的转换处理的进展的进展信息请求时,根据Comet通信过程在所述转换处理完成的情况下向所述终端装置发送转换后的打印数据作为响应,并且在所述转换处理完成之前经过了响应设置时间的情况下向所述终端装置发送空响应的单元。
5.根据权利要求4所述的服务器装置,其中,
所述终端装置包括用于打印从所述服务器装置接收到的打印数据的打印单元,并且
所述转换单元将所述文档数据转换成所述打印单元能够打印的打印数据。
6.根据权利要求4或权利要求5所述的服务器装置,其中,
所述终端装置和所述服务器装置还被连接至保存文档数据的文档管理服务器,并且所述终端装置在所述文档管理服务器中保存的所述文档数据当中指定文档数据,并且
所述服务器装置还包括用于从所述文档管理服务器获取由所述终端装置指定的文档数据作为所述指定的文档数据的单元。
CN201110104020XA 2010-04-26 2011-04-22 服务器装置及终端装置 Pending CN102238227A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2010101440A JP2011232893A (ja) 2010-04-26 2010-04-26 印刷データ作成サーバ及び印刷装置及び印刷システム
JP2010-101440 2010-04-26

Publications (1)

Publication Number Publication Date
CN102238227A true CN102238227A (zh) 2011-11-09

Family

ID=44815585

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110104020XA Pending CN102238227A (zh) 2010-04-26 2011-04-22 服务器装置及终端装置

Country Status (3)

Country Link
US (1) US8717601B2 (zh)
JP (1) JP2011232893A (zh)
CN (1) CN102238227A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106034141A (zh) * 2015-03-12 2016-10-19 华为技术有限公司 消息处理方法、资源获取方法、服务器及终端设备
CN107229464A (zh) * 2016-03-24 2017-10-03 佳能株式会社 信息处理装置及方法
CN109074232A (zh) * 2016-07-15 2018-12-21 惠普发展公司,有限责任合伙企业 快速首页打印优化

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6044148B2 (ja) * 2011-08-03 2016-12-14 株式会社リコー 通信制御装置、情報管理システム、情報管理装置、通信制御プログラム、及び情報管理プログラム
TW201312369A (zh) * 2011-09-13 2013-03-16 Univ Nat Central 網頁內容過濾方法以及具網頁內容過濾功能之網路設備
KR20130032728A (ko) * 2011-09-23 2013-04-02 삼성전자주식회사 화상형성장치, 화상형성장치에서 클라우드 서버와의 통신 방법 및 기록 매체.
US8996350B1 (en) 2011-11-02 2015-03-31 Dub Software Group, Inc. System and method for automatic document management
JP2014086906A (ja) * 2012-10-24 2014-05-12 Murata Mach Ltd 通信端末装置
CN102938788B (zh) * 2012-11-15 2016-03-30 易程科技股份有限公司 事件的处理方法和装置
US9386062B2 (en) 2012-12-28 2016-07-05 Qualcomm Incorporated Elastic response time to hypertext transfer protocol (HTTP) requests
CN103167017B (zh) * 2013-01-09 2016-06-29 北京奇虎科技有限公司 Web轮询方法、装置及系统
JP6229279B2 (ja) * 2013-03-08 2017-11-15 ブラザー工業株式会社 中継装置、中継装置のプログラムおよび通信方法
EP2891987A4 (en) * 2013-03-28 2015-12-02 Rakuten Inc REQUEST PROCESSING SYSTEM, INQUIRY PROCESSING, PROGRAM AND INFORMATION STORAGE MEDIUM
CN104580106A (zh) * 2013-10-24 2015-04-29 北大方正集团有限公司 一种通信方法以及通信装置
JP6354153B2 (ja) 2013-12-24 2018-07-11 株式会社リコー 情報処理システム、画像形成装置、情報処理方法および情報処理プログラム
JP5939264B2 (ja) * 2014-02-06 2016-06-22 コニカミノルタ株式会社 操作処理装置、情報機器の制御方法およびコンピュータープログラム
JP5653545B2 (ja) * 2014-04-03 2015-01-14 楽天株式会社 要求処理システム、要求処理方法、プログラムおよび情報記憶媒体
JP6522906B2 (ja) * 2014-08-26 2019-05-29 株式会社リコー 情報処理システム、画像形成装置、設定状態管理方法及び設定状態管理プログラム
CN104978461B (zh) * 2015-07-06 2018-05-01 杭州慕锐科技有限公司 一种基于云存储的插件集成式数码印花管理方法
JP2019200691A (ja) * 2018-05-18 2019-11-21 日本電信電話株式会社 変換ロジック生成装置、httpメソッド実行システム、httpメソッド実行方法および変換ロジック生成プログラム
US11770436B2 (en) * 2020-07-29 2023-09-26 Citrix Systems, Inc. Web client with response latency awareness

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030007175A1 (en) * 2001-07-09 2003-01-09 Kunikazu Tsuda Printing system, printing method, data server, recording medium, and program
US20090249194A1 (en) * 2008-03-28 2009-10-01 Michael Day Method for Converting Electronic Documents

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4448623B2 (ja) * 2001-03-29 2010-04-14 セイコーエプソン株式会社 デジタルコンテンツ提供システム,デジタルコンテンツ提供方法,サーバ装置及びデジタルコンテンツ提供プログラム
JP4508471B2 (ja) * 2001-05-25 2010-07-21 キヤノン株式会社 プリントシステム及び情報処理装置
JP5039422B2 (ja) * 2006-06-19 2012-10-03 キヤノン株式会社 印刷装置、印刷装置の制御方法、コンピュータプログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030007175A1 (en) * 2001-07-09 2003-01-09 Kunikazu Tsuda Printing system, printing method, data server, recording medium, and program
US20090249194A1 (en) * 2008-03-28 2009-10-01 Michael Day Method for Converting Electronic Documents

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106034141A (zh) * 2015-03-12 2016-10-19 华为技术有限公司 消息处理方法、资源获取方法、服务器及终端设备
CN106034141B (zh) * 2015-03-12 2019-07-23 华为技术有限公司 消息处理方法、资源获取方法、服务器及终端设备
CN107229464A (zh) * 2016-03-24 2017-10-03 佳能株式会社 信息处理装置及方法
CN107229464B (zh) * 2016-03-24 2020-11-24 佳能株式会社 信息处理装置及方法
CN109074232A (zh) * 2016-07-15 2018-12-21 惠普发展公司,有限责任合伙企业 快速首页打印优化
CN109074232B (zh) * 2016-07-15 2021-12-03 惠普发展公司,有限责任合伙企业 快速首页打印优化

Also Published As

Publication number Publication date
JP2011232893A (ja) 2011-11-17
US8717601B2 (en) 2014-05-06
US20110261401A1 (en) 2011-10-27

Similar Documents

Publication Publication Date Title
CN102238227A (zh) 服务器装置及终端装置
CN1525305B (zh) 网络系统及其中可打印文档的客户方呈现方法
US7265860B2 (en) Load balancing print jobs across multiple printing devices
US11853627B2 (en) Server system for obtaining a token for accessing a service
JP4240690B2 (ja) 情報処理装置と情報処理方法、及び情報処理システム、並びに記録媒体
US20160328189A1 (en) Apparatus, system, and method of controlling electronic data and recording medium storing data control program
JP5538879B2 (ja) 端末装置及び印刷システムとデータ変換方法
US7978360B2 (en) Print system
US20100141983A1 (en) System, method, and apparatus for networked print management
JP5639441B2 (ja) 情報処理装置、印刷装置、印刷データ処理方法およびプログラム
US8717600B2 (en) Network system, network system control method, and storage medium
CN101866292B (zh) 信息处理设备及控制方法
JP6537390B2 (ja) 画像形成装置、制御方法、およびプログラム
JP6732508B2 (ja) データを保存するシステム、サーバー、方法、及びプログラム
KR101506764B1 (ko) 작업 처리 장치, 제어 방법, 및 컴퓨터 판독가능 저장 매체
US20020078117A1 (en) System for creating efficient multi-step document conversion services
CN103116478A (zh) 信息处理系统、信息处理设备及按钮处理方法
JP7086767B2 (ja) プリントサーバー、制御方法、およびそのプログラム
JP4425238B2 (ja) プリントシステムおよび印刷管理サーバおよび印刷装置およびプリントシステムの制御方法および印刷管理サーバの制御方法および印刷装置の制御方法およびプログラム
JP3591251B2 (ja) プリンタ制御方法および装置
JP4895800B2 (ja) プリントシステムおよび印刷管理サーバおよび印刷装置およびプリントシステムの制御方法および印刷管理サーバの制御方法および印刷装置の制御方法およびプログラム
JP5017543B2 (ja) 周辺機器利用システム
JP6127586B2 (ja) 情報処理システムおよび情報処理方法
JP7048872B2 (ja) 画像処理装置、画像処理装置の制御方法及びプログラム
JP5136203B2 (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
C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20111109