CN110196694B - 打印处理系统及方法 - Google Patents

打印处理系统及方法 Download PDF

Info

Publication number
CN110196694B
CN110196694B CN201910131129.9A CN201910131129A CN110196694B CN 110196694 B CN110196694 B CN 110196694B CN 201910131129 A CN201910131129 A CN 201910131129A CN 110196694 B CN110196694 B CN 110196694B
Authority
CN
China
Prior art keywords
print
print data
data file
server
storage 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
CN201910131129.9A
Other languages
English (en)
Other versions
CN110196694A (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 CN110196694A publication Critical patent/CN110196694A/zh
Application granted granted Critical
Publication of CN110196694B publication Critical patent/CN110196694B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/121Facilitating exception or error detection and recovery, e.g. fault, media or consumables depleted
    • 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
    • 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/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1222Increasing security of the print job
    • 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/1229Printer resources management or printer maintenance, e.g. device status, power levels
    • G06F3/1234Errors handling and recovery, e.g. reprinting
    • 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/1241Dividing a job according to job requirements, e.g. black/white and colour pages, covers and body of books, tabs
    • 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/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/126Job scheduling, e.g. queuing, determine appropriate device
    • G06F3/1262Job scheduling, e.g. queuing, determine appropriate device by grouping or ganging jobs
    • 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/1267Job repository, e.g. non-scheduled jobs, delay printing
    • 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
    • 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/1287Remote printer device, e.g. being remote from client or server via internet
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/143Termination or inactivation of sessions, e.g. event-controlled end of session
    • 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/1245Job translation or job parsing, e.g. page banding by conversion to intermediate or common format
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/40Details not directly involved in printing, e.g. machine management, management of the arrangement as a whole or of its constitutive parts
    • G06K15/408Handling exceptions, e.g. faults

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)
  • Facsimiles In General (AREA)

Abstract

打印处理系统及方法。响应于在用于从第一存储服务器获得打印数据文件的处理中发生的错误,向打印服务器通知用于识别图像处理装置已经获得的打印数据文件的信息,并且基于包括关于尚未获得的打印数据文件的获取源信息的索引文件来从第二存储服务器获得由存储单元存储的打印数据文件,并且执行打印处理。

Description

打印处理系统及方法
技术领域
本发明涉及一种用于通过打印机打印所下载的数据的打印处理系统及控制方法。
背景技术
近年来,使用云系统上的虚拟服务器提供云服务的业务得到了发展。服务的示例包括用于以文件形式存储数据的存储服务以及用于提供数据库功能的数据库服务。
可以通过使用云系统上的虚拟服务器提供打印服务和数据转换服务来实现打印系统。这种实现方式具有不需要针对各顾客管理硬件打印服务器的优点。另一个优点是能够容易地基于虚拟服务器上的负荷增加计算资源。
随着这种云服务变得普及,打印机经由因特网从云系统获得打印数据并进行打印的拉式打印环境正变得越来越普遍。在拉式打印环境中,云系统使用大量计算资源以分发的方式对文档数据进行数据处理。因而,来自许多客户端的请求能够同时被处理。在使用云系统管理打印数据时,云系统需要用于将打印数据转换为能够被多种多样的打印机解释的数据格式的数据转换功能。数据转换功能是在云系统上实现的如下功能:相当于在包括在客户终端中的数据转换驱动器上进行的传统数据转换功能。日本特许第4509965号公报中讨论了一种作业渲染系统,在该作业渲染系统中,多个服务器中的各服务器均针对不同的文档类型进行数据转换处理。
发明内容
根据本发明的一方面,提供一种打印处理系统,所述打印处理系统包括:打印服务器,其被构造为将文档数据转换为包括多个打印数据文件的打印数据;第一存储服务器,第二存储服务器;以及图像处理装置,其被构造为获得所述打印数据文件并执行打印处理,其中,所述图像处理装置包括通知部,所述通知部被构造为响应于在用于从第一存储服务器获得所述打印数据文件的处理中发生的错误,向所述打印服务器通知识别所述图像处理装置尚未获得的打印数据文件的信息,其中所述打印服务器包括:生成部,其被构造为基于由所述通知部通知的信息生成索引文件,所述索引文件包括关于所述图像处理装置尚未获得的打印数据文件的获取源信息;以及存储部,其被构造为将所述尚未获得的打印数据文件存储到第二存储服务器中,并且其中所述图像处理装置还包括执行部,所述执行部被构造为基于由所述生成部生成的索引文件,从所述第二存储服务器获得尚未获得的打印数据文件,并执行从所述第二存储服务器获得的打印数据文件的所述打印处理。
根据下面参照附图对实施例的描述,本发明的其它特征将变得清楚。
附图说明
图1是例示打印处理系统的构造的框图。
图2A和图2B是各种装置的硬件构造图。
图3是例示构成打印处理系统的各种装置的操作的图。
图4A和图4B是打印服务器及打印机的软件构造图。
图5A、图5B、图5C、图5D和图5E是例示Web浏览器的Web画面的示例的图。
图6是例示由打印服务器和拉式打印应用(pull print application)管理的数据的图。
图7是例示索引文件的示例的图。
图8是例示拉式打印应用的通信方式的概念图。
图9是例示打印开始处理的序列图。
图10是例示由Web浏览器、打印服务器及拉式打印应用进行的打印处理的序列图。
图11是例示由打印服务器进行的数据转换的流程图。
图12是例示用于选择通信目的地的存储服务器的处理过程的流程图。
具体实施方式
为了加快所提交的文档数据的第一打印(first printing),云系统可被构造为向用于打印的打印机顺次发送已经完成了数据处理的页面的打印数据,而不用等待所有打印数据的完成。具体地,打印机适当地下载作为分割生成的多条打印数据中的一条的打印数据,并对所下载的打印数据进行打印。
在操作期间,可能存在如下的情况,即,归因于例如打印数据的获取源服务器中的故障或通信网络中的故障,获取源服务器变得不能进行通信。在这种情况下,由于打印机不能获得打印数据,所以有可能发生打印处理的中断。
本发明的实施例旨在针对执行第一打印的打印处理系统,在该打印处理系统中,即使在获得打印数据时发生错误,打印机也能够继续打印处理。
根据本实施例,在执行第一打印的打印处理系统中,即使在获得打印数据时发生错误,打印机也能够继续打印处理。
下面将参照附图描述本发明的实施例。
<网络构造>
图1是例示根据本发明的实施例的打印处理系统的网络构造的图。在图1中,多台打印机和客户终端,包括打印机A 104、打印机B 105、客户终端A 109和客户终端B 110,经由本地网络107连接。图1例示了三台打印机和两台客户终端的情况。然而,打印机和客户终端的数量不限于此。替代存储服务器111具有与存储服务器102类似的功能。因此,将省略替代存储服务器111的详细描述。
打印机A 104、打印机B 105、客户终端A 109和客户终端B 110经由本地网络107访问因特网108,进而访问打印服务器101、存储服务器102、替代存储服务器111及认证服务器103。打印机A 104、打印机B 105、客户终端A 109和客户终端B 110使用有线连接或经由无线局域网(LAN)连接到本地网络107。根据本实施例,打印机A 104和客户终端A 109经由无线LAN终端106连接到本地网络107。打印机B 105和客户终端B 110以有线的方式连接到本地网络107。
无线LAN终端106是具有典型网络功能和路由器功能的无线LAN基站。在家庭或办公室中,无线LAN终端106提供无线LAN。本地网络107可以是能够数据发送和接收的任意形态的通信网络。本地网络107的示例包括LAN和广域网(WAN)。从客户终端A 109和客户终端B110到各种服务器101至103的通信手段可以与从打印机A 104和打印机B 105到各种服务器101至103的通信手段不同。打印机A 104和打印机B 105是至少具有打印功能的图像处理装置。示例包括多功能外围设备(MFP)。
客户终端A 109和客户终端B 110的示例包括台式个人计算机、笔记本式个人计算机、移动式个人计算机、个人数据助手(PDA)以及包括内置程序执行环境的移动电话。客户终端A 109和客户终端B 110包括诸如Web浏览器(Internet浏览器、万维网(WWW)浏览器或供WWW使用的浏览器)的内置程序执行环境。通过使用打印机A 104和客户终端A 109作为示例来给出下面的描述。除非另外指定,否则类似的描述适用于打印机B 105和客户终端B110或打印机和客户终端的其它组合。
打印服务器101连同打印请求一起从客户终端A 109的Web浏览器接收识别待打印的文档的识别信息和识别打印机A 104的识别信息。然后,打印服务器101将包括用于给出打印指令的打印命令的响应发送到客户终端A 109的Web浏览器。客户终端A 109的Web浏览器向打印机A 104发出打印命令。打印机A 104从客户终端A 109的Web浏览器接收打印命令,并获得描述存储服务器102的统一资源定位符(URL)的索引文件(将稍后描述)。URL是关于打印数据的获取源信息。打印机A 104访问索引文件中描述的URL、从存储服务器102获得打印数据并对打印数据进行打印。
认证服务器103存储用于访问打印服务器101的认证信息,例如用户名、密码、认证令牌及许可令牌。
<打印服务器的硬件构造>
图2A是例示打印服务器101、存储服务器102、替代存储服务器111及认证服务器103的硬件构造的示例的图。应当理解,除非另外指定,否则本实施例可以适用于单个装置或包括多个装置的系统,只要能够执行根据本实施例的功能即可。还应当理解,除非另外指定,否则本示例性实施例还适用于经由诸如LAN和WAN等的网络建立连接并进行处理的系统,只要能够执行根据本实施例的功能即可。根据本实施例,部件被描述为经由系统总线219连接。作为示例,稍后将描述打印服务器101的硬件构造。
中央处理单元(CPU)220是打印处理系统的控制单元。CPU 220执行例如打印服务器101的存储在存储设备224中的应用程序及操作系统。CPU 220对程序执行所需的信息和文件向随机存取存储器(RAM)222中的临时存储进行控制。CPU 220还基于打印服务器程序进行转换为打印数据的转换处理。
只读存储器(ROM)221是存储单元,并且在其中存储诸如基本输入/输出(I/O)程序等的程序、用于转换为打印数据的数据转换的字体数据以及用于打印处理和数据转换处理的各种类型的数据。RAM 222是临时存储单元,并且用作CPU 220的主存储器及工作区。存储设备224是外部存储单元。存储设备224用作大容量存储器,并且存储例如应用程序和操作系统(OS)。网络控制器223是网络接口卡(NIC)。经由网络控制器223进行与外部装置的数据交换。这对于稍后将描述的网络控制器234同样适用。
<打印机的硬件构造>
图2B是打印机A 104和打印机B 105的硬件构造图。硬件部件被连接到系统总线230。作为示例将给出打印机A 104的描述。类似的描述也适用于打印机B 105。
CPU 231控制整个装置,并且以集中的方式控制对连接到系统总线230的各种设备的访问。这种控制是基于存储在ROM 232中的控制程序或存储在经由磁盘控制器(DKC)235连接的外部存储器236中的控制程序和资源数据(资源信息)。
RAM 233用作CPU 231的主存储器及工作区。RAM 233被构造为使得其存储容量能够通过连接到未示出的通信端口的任选RAM得到扩展。通信端口是指传输控制协议(TCP)连接的端点。连接主机上的OS通过编号来管理通信端口。
存储设备240是用作大容量存储器的外部存储单元。操作面板239(操作单元)显示画面并经由画面接受用户的操作指令。操作面板239还包括用于进行操作(例如设置打印机A 104的操作模式、显示打印机A104的操作状态和指定待打印的内容数据)的按钮以及诸如液晶面板等的显示单元。
打印引擎238使用传统的打印技术。适当的实现方式的示例包括电子照相(激光束)方式、喷墨方式以及升华(热转印)方式。
光栅控制器237是将页面描述语言(PDL)格式的打印数据转换为图像数据的控制器。设备接口(I/F)241是能够与外部装置进行通用串行总线(USB)连接的连接I/F。
<打印处理系统的系统构造>
将参照图3的打印处理系统的构造图来描述各种装置的操作。以CPU执行存储在各个装置的存储器中的程序的方式来实现这些操作。
打印服务器101生成作为关于文档数据的获取源信息的URL,并将所生成的URL发送到其它服务器。所生成的URL指示文档数据在存储服务器102中的上传位置。在从Web浏览器302接收到打印请求时,打印服务器101将待打印的文档数据上传到所生成的URL。如果打印服务器101接收到上传完成的通知,则打印服务器101将关于所上传的文档数据的文档信息620存储到数据库301中。
打印服务器101从存储服务器102获得通过与打印请求一起接收的文档标识符(ID)621识别的文档数据,并将文档数据转换为打印数据。在生成打印数据之后,打印服务器101生成存储服务器102上的下载URL。打印服务器101将下载URL写入索引文件,并将打印数据上传到下载URL。然后,打印服务器101将索引文件上传到存储服务器102。
打印服务器101将包括在来自Web浏览器302的请求中的认证令牌发送到认证服务器103。认证服务器103验证认证令牌。如果请求不包括认证令牌,则打印服务器101将请求重定向到认证服务器103。然后,认证服务器103将登录画面500发送到Web浏览器302。图5A例示了登录画面500的示例。
认证服务器103通过将经由登录画面500输入的用户名和密码与存储在认证服务器103中的用户名和密码进行核对,来验证用户名和密码。如果验证成功,则认证服务器103发出与用户信息相关联的认证令牌,并将认证令牌发送到Web浏览器302。
Web浏览器302将包括认证令牌的请求发送到打印服务器101,并基于来自打印服务器101的响应显示Web画面。图5B至图5E例示了Web画面的示例。稍后将描述Web画面的详情。
认证服务器103向打印机的拉式打印应用303发出用于访问打印服务器101的许可令牌。认证服务器103验证包括在从拉式打印应用303到打印服务器101的请求中的许可令牌。
如果许可令牌被验证通过,则拉式打印应用303获得索引文件。拉式打印应用303基于索引文件从存储服务器102获得打印数据,并将打印数据发送到打印装置控制单元304。打印装置控制单元304使用打印数据进行打印。以上描述了打印处理系统的系统构造图和操作。
<打印服务器的软件构造>
图4A是根据本发明的实施例的打印服务器101的软件构造图。打印服务器101的各种功能存储在图2A所示的存储设备224中,并由CPU 220加载到RAM 222并执行。将参照图4A描述当打印服务器101从外部接收请求时打印服务器101的功能。
打印服务器101包括Web服务器401、控制服务器402和转换服务器403。Web服务器401接收请求。控制服务器402管理文档、打印作业和打印机信息,并控制打印处理。转换服务器403将文档数据转换为打印数据。服务器401、402和403是各自独立的程序,并且能够位于不同的打印处理系统中。各程序布置在不同网络连接的打印处理系统中并相互通信。在下面的描述中,程序被描述为被布置在同一打印处理系统(打印服务器101)中。各程序可以被配置在不同的独立服务器中。对具有程序的功能的物理服务器的数量和构造不作特别限制。
Web服务器401包括请求接受单元404和认证服务器询问单元405。请求接受单元404具有接收针对文档数据的提交或打印请求以及打印数据获取请求的功能。认证服务器询问单元405具有当请求接受单元404接收到请求时向认证服务器103发送针对包括在请求中的令牌的验证请求的功能。
控制服务器402包括打印作业管理单元406和打印机管理单元407。打印作业管理单元406具有如下功能:基于针对接收到的文档数据的提交请求生成稍后将描述的文档信息620,并将文档信息620存储到数据库301中。打印作业管理单元406还具有基于接收到的打印请求生成作业信息600并将作业信息600存储到数据库301中的功能。
打印机管理单元407具有如下功能:管理关于打印机A 104的信息(稍后将描述的打印机信息610),并向打印作业管理单元406提供打印机信息610。
转换服务器403包括打印数据管理单元408和数据转换单元409。打印数据管理单元408具有基于来自控制服务器402的打印数据转换请求,从存储服务器102下载文档数据的功能。数据转换单元409具有将通过打印数据管理单元408下载的文档数据转换为打印数据的功能。打印数据管理单元408还针对由数据转换单元409生成的打印数据文件,在存储服务器102上生成打印数据文件URL。这里,打印数据管理单元408生成与生成完的打印数据文件的数量一样多的打印数据文件URL。然后,打印数据管理单元408生成描述打印数据文件URL的索引文件。以上描述了打印服务器101的功能。
<打印机的软件构造>
将参照图4B描述打印机A 104和打印机B 105的软件构造图。由于打印机A 104和打印机B 105具有相同的软件构造,所以作为示例,将描述打印机A 104。
打印机A 104的各种功能存储在存储设备240中,并且由CPU 231加载到RAM 233并执行。将连同打印机A 104的软件构造一起,描述当接收请求时打印机A 104的功能的操作。
拉式打印应用303是在虚拟机410上运行的应用软件。拉式打印控制器414管理对整个拉式打印应用303的操作。经由拉式打印控制器414执行对各种单元的操作指令。
请求接收单元411具有从Web浏览器302接收打印请求的功能。请求接收单元411基于接收到的打印请求,将打印请求信息发送到打印数据获取单元412。打印请求信息包括作业ID 601和打印机ID 605。打印数据获取单元412具有基于打印请求信息获得打印数据并将从认证服务器103获得的许可令牌作为打印队列信息630管理的功能。
认证服务器询问单元413具有管理由认证服务器103授权的客户端证书的功能。通过使用客户端证书,认证服务器询问单元413从认证服务器询问单元405获得许可令牌。
打印控制单元415具有在打印期间经由虚拟机410向打印装置控制单元304询问打印作业的状态的功能。打印作业发送单元416具有如下功能:将从打印数据获取单元412获得的打印数据存储到稍后将描述的发送缓冲流中,并将打印数据发送到打印装置控制单元304。打印装置控制单元304是通过使用打印数据进行打印的控制器。
网络I/F单元417具有对打印装置控制单元304与打印作业发送单元416之间的打印数据的发送和接收进行调解的功能。以上描述了打印机A104的功能以及在接收请求时的各种功能的操作。
<各种类型的信息>
将参照图6描述由服务器管理的信息。作业信息600由打印作业管理单元406生成并在数据库301中被管理。具体地,作业信息600包括作业ID 601、文档ID 602、用户名603、打印的接受日期和时间604、打印机ID 605以及索引文件URL 606。作业ID 601识别打印作业。文档ID 602对应于文档信息620的文档ID 621。用户名603与认证令牌相链接。打印机ID605对应于打印机信息610的打印机ID 612。
打印机信息610由打印机管理单元407管理。具体地,打印机信息610包括打印机名称611、打印机ID 612、打印机URL 613、配置信息614和压缩方式615。打印机ID 612识别打印机A 104。打印机URL 613用于使Web浏览器302将打印请求发送到打印机A 104。压缩方式615指示能够处理打印数据的压缩方式。配置信息614是指在打印设置画面520上作为打印设置521的项目显示的打印机A 104的功能,例如双面打印功能和彩色功能。
在数据库301中管理文档信息620。文档信息620包括文档ID 621、文档名称622、用户名623、文档URL 624及状态625。文档ID 621识别文档数据。用户名623与认证令牌相链接。文档URL 624用于将文档数据上传到存储服务器102。文档URL 624包括文档ID 621。状态625是指示诸如“接收中”、“待机中”、“打印队列中”、“打印中”、“正常结束”、“错误终止”以及“不明原因终止”等的状态的信息。
打印队列信息630由打印数据获取单元412管理。打印队列信息630包括作业ID631、索引文件URL 632、许可令牌633和打印机ID 634。
<用于将文档数据存储到存储服务器中的处理>
将描述用于将文档数据存储到存储服务器102中的处理。打印服务器101的Web服务器401从打印机A 104、打印机B 105或Web浏览器302接收针对文档数据的提交请求。如果Web服务器401的请求接受单元404接收到提交请求,则认证服务器询问单元405向认证服务器103发送针对认证令牌的验证请求。如果包括在提交请求中的认证令牌是有效的,则请求接受单元404将提交请求发送到控制服务器402。
控制服务器402的打印作业管理单元406接收提交请求、生成文档信息620并将文档信息620存储到数据库301中。包括在文档信息620中的文档URL 624包括文档ID 621。打印作业管理单元406将文档信息620的状态625改变为“接收中”,并将文档URL 624发送到Web服务器401。然后,Web服务器401将文档URL 624发送到提交请求的源。
打印服务器101将文档数据上传到存储服务器102中的由文档URL 624识别的提交位置。如果上传了文档数据,则向打印服务器101发送上传完成通知。如果打印服务器101的Web服务器401接收到上传完成通知,则控制服务器402将文档信息620的状态625改变为“待机中”。以上描述了用于将文档数据存储到存储服务器102中的处理。
<用于经由Web浏览器302发送打印请求的处理>
将参照图5A、图5B、图5C、图5D和图5E描述由打印服务器101的Web服务器401生成并由客户终端A 109的Web浏览器302显示的Web画面以及用于发送待经由Web画面执行的打印请求的处理。
如果从Web浏览器302向打印服务器101发送文档列表请求,则打印服务器101通过使用文档信息620生成文档列表画面510,并将文档列表画面510发送到Web浏览器302。图5B例示了文档列表画面510的示例。文档列表画面510包括文档选择复选框511、文档名称512、状态513以及打印按钮514。状态513与文档信息620的状态625相对应。文档选择复选框511包括用于选择待打印的文档的复选框。文档选择复选框511可以被以能够选择多个文档的方式构造。用于选择待打印的文档的模式不受特别限制。如果Web浏览器302检测到打印按钮514的按压,则关于通过文档选择复选框511选择的一个或多个文档的文档信息620被发送到打印服务器101。
在接收到文档信息620之后,打印服务器101使用打印机信息610生成打印设置画面520,并将打印设置画面520发送到Web浏览器302。图5C是例示打印设置画面520的示例的图。打印设置画面520是打印设置521的设置画面。打印机名称524指示进行打印的打印机的名称。
如果Web浏览器302检测到改变按钮522的按压,则Web浏览器302向打印服务器101发送请求。响应于请求的接收,打印服务器101使用打印机信息610生成打印机列表画面530,并将打印机列表画面530发送到Web浏览器302。图5D是例示打印机列表画面530的示例的图。打印机列表画面530包括打印机选择单选按钮532、打印机名称531和改变按钮533。如果Web浏览器302检测到改变按钮533的按压,则Web浏览器302向打印服务器101发送关于通过打印机选择单选按钮531选择的打印机的打印机信息610。
打印服务器101更新打印设置画面520以将打印机名称524中指示的打印机名称改变为通过打印机选择单选按钮531选择的打印机名称,并将更新后的打印设置画面520发送到Web浏览器302。换言之,用户能够使用打印设置画面520和打印机列表画面530改变和选择期望的打印机。
如果Web浏览器302检测到在打印设置画面520上打印按钮523的按压,则Web浏览器302将打印设置521、打印机名称524以及关于通过文档选择复选框511选择的一个或多个文档的文档信息620发送到打印服务器101。打印设置画面520将关于在文档列表画面510上选择的一个或多个文档的文档信息620作为隐藏画面参数进行保留。
以上描述了用于经由Web浏览器302向打印服务器101发送打印请求的处理。
<打印机与存储服务器之间的通信方式>
将参照图8描述打印机与存储服务器之间的通信方式。图8是例示当拉式打印应用303的打印数据获取单元412从存储服务器102获得打印数据文件时,打印作业发送单元416如何以一个通信会话将打印数据文件发送到打印装置控制单元304的概念图。通信会话是指主机间的TCP连接的组,或者是指从通信开始到结束的通信连接。
在本实施例中,通过作为保证数据的发送目的地和发送顺序的通信方式的流通信,来实现存储服务器102、拉式打印应用303和打印装置控制单元304之间的通信。流(或通信流)是指在通信会话中交换的数据的客观化移动(object-like representation ofmovement),并且表示数据流。将参照图8给出具体的描述。
拉式打印应用303将从打印服务器101接收到的打印数据发送到打印装置控制单元304。为了发送打印数据,需要经由通信端口在拉式打印应用303与打印装置控制单元304之间建立通信会话。通过以所建立的通信会话发送和接收打印数据,打印数据能够作为单个打印作业被处理。然而,如果在打印数据的发送和接收期间通信会话断开,则原本作为单条数据的多条打印数据会被处理为不同的打印作业。于是,根据本实施例,使用图8例示的通信方式。
在执行打印数据转换之后,打印服务器101立即将所生成的打印数据作为打印数据文件上传到存储服务器102。在图中,上传到存储服务器102的打印数据文件被例示为“打印数据文件(1)”和“打印数据文件(2)”。
拉式打印应用303在一个通信会话中将“打印数据文件(1)”和“打印数据文件(2)”发送到打印装置控制单元304。这里,拉式打印控制器414和打印装置控制单元304预先建立用于实现打印机通信流802的通信会话,并利用打印数据文件获取通信流801维持通信流。
维持通信流是指在用作主机的拉式打印控制器414和存储服务器102之间建立的通信会话(TCP连接)以及在拉式打印控制器414和打印装置控制单元304之间建立的通信会话实现连续的通信流的状态。将前者的通信会话称作第一通信会话,将后者的通信会话称作第二通信会话。能够通过在主机上的通信端口之间交换针对连接建立的许可请求和许可确认,建立TCP连接。还在第一通信会话与第二通信会话之间建立TCP连接。
打印数据文件获取通信流801是打印机A 104的打印数据获取单元412与存储服务器102之间的通信。具体地,打印数据文件获取通信流801是经由因特网的通信。通信协议是HTTPS(Hypertext Transfer Protocol Secure,超文本传输安全协议)等。
打印机通信流802是打印作业发送单元416与打印装置控制单元304的网络I/F单元417之间的通信。具体地,打印机通信流802是从打印机A 104的一个通信端口到打印机A104的另一通信端口的本地网络通信。通信协议是RAW协议。
打印作业发送单元416经由网络I/F单元417将从打印数据获取单元412接收到的打印数据文件发送到打印装置控制单元304。打印作业发送单元416将部分打印数据存储到发送缓冲流中,由此在从存储服务器102接收打印数据文件的同时,将部分打印数据发送到打印装置控制单元304。部分打印数据是指通过将打印数据文件再分割而获得的以包为单位的数据,并被临时存储在发送缓冲流中。以这种方式,拉式打印应用303将打印数据发送到打印装置控制单元304。这能够使打印引擎238较早地开始耗时的预处理,从而打印机A104能够较早地执行第一打印。为了加快第一打印,打印作业发送单元416在接收存储在存储服务器102中的打印数据文件的同时,在一个通信会话中将打印数据发送到打印装置控制单元304。
将参照图8描述针对如下情况的通信方式:例如在拉式打印应用303与存储服务器102之间发生通信错误,并且拉式打印应用303变得不能访问存储服务器102。根据本实施例,通过稍后将描述的处理,还将上传到存储服务器102的打印数据文件当中的打印数据文件(2)上传到了替代存储服务器111。此外,打印数据文件(2)是打印机A104由于通信错误而无法获得的打印数据文件。
如果发生错误,则打印机A 104从打印服务器101获得索引文件,并与替代存储服务器111建立通信会话。在所建立的通信会话中,打印数据获取单元412实现用于获得在索引文件中描述的打印数据文件的打印数据文件获取通信流803。拉式打印控制器414在利用存储服务器102维持打印数据文件获取通信流801的同时,用打印数据文件获取通信流803替换打印数据文件获取通信流801,并且将连接从现有的打印机通信流802改变为打印数据文件获取通信流803以维持一个通信流。具体地,改变通信流的连接是指在替代存储服务器111与拉式打印应用303之间建立通信会话(第三通信会话)并断开存储服务器102与拉式打印应用303之间的通信会话。通过在主机之间交换针对TCP连接的终止申请和终止确认来断开通信会话。这同样适用于在打印数据文件获取通信流801与打印机通信流802之间改变连接。
以上描述了存储服务器与打印机之间的通信方式。图8例示的处理能够加快第一打印。即使在获得打印数据文件时发生了错误,打印机A104也能够进行作为单个打印作业的打印处理。
<打印开始处理过程>。
将参照图9描述根据本发明的实施例的打印开始处理。
在步骤S901中,Web浏览器302向打印服务器101发送打印请求。打印请求包括文档ID 621和打印机ID 612。响应于打印按钮523(图5C)的按压,步骤S901的打印请求被发送到打印服务器101。
打印服务器101的控制服务器402接收打印请求。控制服务器402的打印作业管理单元406基于打印请求生成作业信息600,并将作业信息600存储到数据库301中。
包括在打印请求中的文档ID 621与文档信息620的文档名称622相链接,文档名称622与文档列表画面510上的文档名称512相对应。包括在打印请求中的打印机ID 612与文档设置画面520上的打印机名称524相对应,并与打印机信息610的打印机名称611相链接。
打印作业管理单元406从打印机管理单元407获得与打印机ID 612相对应的打印机信息610。打印作业管理单元406将配置信息614、压缩方式615、文档URL 624和作业ID601发送到转换服务器403,并给出转换为打印数据的指令。在步骤S901.5中,转换服务器403开始转换为打印数据的打印数据转换处理。
在步骤S902中,打印服务器101将打印脚本画面540(图5E)发送到Web浏览器302。打印脚本画面540是指包括作为打印请求命令的打印机URL 613、作业ID 601和打印机ID605的脚本。打印脚本画面540是能够以Web浏览器302的开发工具模式浏览的画面。
在步骤S903中,拉式打印应用303的请求接收单元411从Web浏览器302接收打印请求,并向打印数据获取单元412通知打印请求信息。打印请求信息包括作业ID 601和打印机ID 605。在步骤S904中,拉式打印应用303将包括在打印请求信息中的作业ID 601和打印机ID 605存储为打印队列信息630的作业ID 631和打印机ID 634。
在处理中,打印数据获取单元412将针对许可令牌的发出请求发送到认证服务器询问单元413。认证服务器询问单元413将针对许可令牌的发出请求发送到认证服务器103。在处理中,认证服务器询问单元413将由认证服务器103授权的证书发送到认证服务器103。认证服务器103验证该证书。如果证书成功地生效,则认证服务器103发出许可令牌并将许可令牌发送到认证服务器询问单元413。认证服务器询问单元413将许可令牌发送到打印数据获取单元412。打印数据获取单元412将许可令牌存储为打印队列信息630的许可令牌633。
在步骤S905中,拉式打印应用303对Web浏览器302作出打印请求成功的响应。在步骤S906中,Web浏览器302向打印服务器101通知该成功(打印请求完成通知)。具体地,这里的成功是指接收到打印请求的拉式打印应用303完成了打印准备处理。拉式打印应用303向Web浏览器302通知该完成。
打印作业管理单元406经由打印服务器101的Web服务器401接收打印请求完成通知。在步骤S907中,打印作业管理单元406将文档信息620的状态625从“待机中”改变为“打印队列中”。
在步骤S908中,Web浏览器302将文档列表请求发送到打印服务器101。在步骤S909中,打印服务器101基于文档信息620生成文档列表画面510,并将文档列表画面510发送到Web浏览器302。所生成的文档列表画面510上的状态513(图5B)为“打印队列中”。以上描述了当打印机A 104开始打印处理时的处理过程。
<转换为打印数据的转换处理及索引文件的生成处理>
将描述转换为打印数据的数据转换处理及索引文件的生成处理。该处理主要由打印服务器101进行。
如果转换服务器403的打印数据管理单元408从控制服务器402接收到打印数据转换请求,则打印数据管理单元408从存储服务器102上的文档URL 624下载文档数据。然后,数据转换单元409在考虑配置信息614的情况下将文档数据转换为打印数据。数据转换单元409基于文档数据大小,以文件形式生成多条打印数据。稍后将参照图11描述用于上传打印数据文件的处理。虽然将文件形式的打印数据称作打印数据文件,但是打印数据本身是指包括文件形式在内的任意形式的打印数据。
在数据转换单元409生成一定数量的打印数据文件之后,打印数据管理单元408针对所生成的打印数据文件生成打印数据文件URL。打印数据文件被上传到由打印数据文件URL识别的存储位置。在该处理中,打印数据管理单元408基于压缩方式615转换打印数据文件的格式,并且将结果上传到存储服务器102。
打印数据管理单元408生成描述打印数据文件URL的索引文件。所生成的索引文件被上传到存储服务器102上的由索引文件URL 606识别的存储位置。
打印数据管理单元408将索引文件URL 606发送到控制服务器402。控制服务器402将索引文件URL 606登记到数据库301中的作业信息600。在生成包括在打印作业中的打印数据文件之后,数据转换单元409生成打印数据文件URL和描述打印数据文件URL的索引文件。以上描述了转换为打印数据的转换处理及索引文件的生成处理。
<打印处理流程>
将参照图10描述由根据本发明的实施例的打印服务器101、拉式打印应用303和打印装置控制单元304进行的打印处理。
在步骤S911中,在步骤S901中接收到打印请求的打印服务器101开始用于将文档数据转换为打印数据的处理(数据转换处理)。
在步骤S912中,打印服务器101将通过数据转换处理生成的打印数据文件在需要时上传到存储服务器102。根据本实施例,这里上传打印数据文件(1)。
在步骤S913中,打印服务器101生成索引文件并将索引文件上传到存储服务器102。由于在步骤S912中上传的是打印数据文件(1),所以这里生成相应的索引文件701。在图10中,与打印数据文件(1)相对应的索引文件(1)(图7中的701)被上传。
在步骤S914中,已接收到打印请求的拉式打印应用303的打印数据获取单元412将针对索引文件URL的获取请求发送到打印服务器101。索引文件URL是关于索引文件(1)的获取源信息。打印数据获取单元412还发送作业ID 631、打印机ID 634和许可令牌633。在步骤S915中,打印服务器101将文档信息620的状态625改变为“打印中”。
在步骤S916中,打印服务器101使用接收到的作业ID 631和打印机ID 634从作业信息600中识别索引文件URL 606,并将索引文件URL 606发送到拉式打印应用303。
拉式打印应用303的打印数据获取单元412将索引文件URL 606作为打印队列信息630存储到索引文件URL 632中。
在步骤S916中,如果数据转换处理(步骤S911)还没有开始并且还没有生成索引文件URL 606,则打印服务器101将忙碌响应发送到拉式打印应用303。在间隔后,已经接收到忙碌响应的拉式打印应用303再次发送针对索引文件URL的获取请求。拉式打印应用303以规律的时间间隔发送针对索引文件URL的获取请求,直到获得索引文件URL 606为止。
在步骤S919中,拉式打印应用303与存储服务器102建立用于获得索引文件的通信会话,并且生成打印数据文件获取通信流801。
在步骤S920中,在建立通信会话之后,拉式打印应用303的打印数据获取单元412访问索引文件URL 632并从存储服务器102下载索引文件(1)。以异步的方式进行步骤S911中的数据转换处理和步骤S921中的打印数据文件获取处理。虽然数据转换处理被描述为在打印数据文件获取处理之前进行,但是可以在数据转换处理之前进行打印数据文件获取处理。原因在于,如果许多打印请求被发送到打印服务器101,则基于打印请求的数据转换处理会花费很长时间。
在步骤S917中,在通过步骤S912和步骤S913的处理上传了打印数据文件(1)和索引文件(1)之后,打印服务器101生成新的打印数据文件(2)并将打印数据文件(2)上传到存储服务器102。在步骤S918中,打印服务器101将更新后的索引文件(1)701(图7中的702)上传到存储服务器102。
在步骤S921中,已经在步骤S920中下载了索引文件(1)(图7中的701)的拉式打印应用303开始从存储服务器102下载打印数据文件(1)。打印数据获取单元412使用在步骤S920中获得的索引文件(1)701中描述的打印数据文件URL,来获得打印数据文件(1)。
将参照图7描述索引文件。如果索引文件的结束(end)标志703为假(false),则end标志703指示由打印服务器101进行的数据转换处理在处理中,并且将向索引文件添加一个或多个打印数据文件URL。由于在步骤S920中获得的索引文件(1)701不包括打印数据文件(2)的URL,所以end标志703为false。
如果end标志703为false,则打印数据获取单元412使用索引文件(1)701获得打印数据文件(1),然后通过重复步骤S920的处理(图10中未示出)来再次从存储服务器102获得索引文件(1)。
如果end标志703为真(true),则end标志703指示数据转换处理完成。打印作业发送单元416关闭打印机通信流802。具体地,拉式打印应用303获得在步骤S918中上传的索引文件(1)702(未示出),并且由于所获得的索引文件(1)702的end标志703为true,所以关闭打印机通信流802。
返回到图10的描述。在步骤S922中,拉式打印应用303建立与打印装置控制单元304的通信会话,并生成打印机通信流802。
在步骤S923中,拉式打印应用303将打印数据文件获取通信流801和打印机通信流802连接成一个通信流,并将所获得的打印数据文件(1)发送到打印装置控制单元304。通过将打印数据写入到打印机通信流802中来实现步骤S923中的向打印装置控制单元304的发送。
在步骤S926中,已接收到打印数据文件(1)的打印装置控制单元304进行打印处理。
将参照步骤S924及后续的步骤来描述在步骤S921中成功下载打印数据文件(1)和无法下载打印数据文件(2)的情况下的处理。
在步骤S924中,拉式打印应用303变得不能够与存储服务器102通信,并且打印数据文件(2)的下载导致错误。在步骤S925中,拉式打印应用303向打印服务器101通知通信错误。通信错误不限于打印数据的下载时刻(download timing),并且可能在获得索引文件(1)702时的时刻发生。
当将通信错误通知给打印服务器101时,拉式打印应用303向打印服务器101通知获得文件的数量以及包括在打印数据文件URL中的文件的标识信息。例如,如果在下载第90个打印数据文件期间发生错误,则向打印服务器101通知成功下载的打印数据文件的数量(89个文件)。虽然根据本实施例,对通过打印机获得的打印数据文件的数量进行通知,但是不限于这种构造。例如,可以通知由于通信错误而无法获得的打印数据文件的数量(第90个文件)。可以使用任何信息,只要打印服务器101能够识别发生通信错误的哪个打印数据文件即可。
已接收到错误通知的打印服务器101的打印数据管理单元408通过打印机A 104的位置决定用作对存储服务器102的替代的替代存储服务器111。然后,打印数据管理单元408基于所通知的获得文件的数量来识别有待获得的一个或多个打印数据文件以及打印数据文件的数量,并且将有待获得一个或多个打印数据文件上传到替代存储服务器111。
将参照图12描述用于决定替代存储服务器111的方法。该处理主要由打印服务器101进行并且通过步骤S925中的对错误通知的接收来触发。
在步骤S1101中,打印服务器101检查存储服务器102的操作状态。在步骤S1102中,打印服务器101判断存储服务器102是否能够与打印机A 104通信。如果判断出存储服务器102能够通信(步骤S1102中的是),则处理进行到步骤S1103。在步骤S1103中,打印服务器101继续使用存储服务器102。如果判断出存储服务器102不能够通信(步骤S1102中的否),则处理进行到步骤S1104。在步骤S1104中,打印服务器101不仅针对打印数据文件(2)而且还针对在步骤S917之后生成的打印数据文件使用替代存储服务器111,直到存储服务器102的操作状态和通信状态得到改善为止。
在步骤S1105中,打印服务器101以规律的时间间隔判断存储服务器102的操作状态是否得到改善。可以在预设的时间进行步骤S1105的判断。判断的时刻不受特别限制。
如果判断出操作状态没有得到改善(步骤S1105中的否),则处理进行到步骤S1104。也即,重复步骤S1104和S1105的处理,直到判断出操作状态得到改善为止。同时,如果在步骤S1105中判断出存储服务器102的操作状态得到改善(步骤S1105中的是),则处理进行到步骤S1103。在步骤S1103中,在针对下一打印作业或有待上传到替代存储服务器111的打印数据文件时,打印服务器101开始使用初始的存储服务器102。
返回到图10的描述。在步骤S927中,打印服务器101生成用于从替代存储服务器111获得尚未获得的文件(打印数据文件(2))的索引文件(2)。图7中例示了这种索引文件(2)704的示例。由于打印数据文件(2)是尚未获得的文件,所以索引文件(2)704包括打印数据文件(2)的打印数据文件URL。由于尚未获得的打印数据文件(2)被从存储服务器102移动或者复制到替代存储服务器111,所以索引文件(2)704中的打印数据文件(2)的打印数据文件URL与索引文件(2)702中的打印数据文件(2)的打印数据文件URL不同。通过对替代存储服务器111中的打印数据文件(2)的路径和替代存储服务器111的端点进行组合,来生成打印数据文件(2)的打印数据文件URL。
如果打印服务器101向存储服务器102(或111)发出URL发出请求,则由存储服务器102(或111)发出打印数据文件的打印数据文件URL。打印服务器101获得并管理所发出的打印数据文件URL。预先在存储服务器102(或111)中设置用于发出打印数据文件URL的算法。为了便于描述,根据本实施例,将来自打印服务器101的URL发出请求以及用于从存储服务器102(或111)获得URL的处理被简单描述为“打印服务器101发出URL”。
在步骤S928和S929中,打印服务器101的打印数据管理单元408将打印数据文件(2)和索引文件(2)704上传到替代存储服务器111。
在步骤S930中,打印服务器101的打印数据管理单元408向拉式打印应用303通知索引文件(2)704的索引文件URL。步骤S930的处理对应于对步骤S925中的来自拉式打印应用303的错误通知的响应。
在步骤S931中,拉式打印应用303与替代存储服务器111建立用于获得索引文件(2)704的通信会话,并生成打印数据文件获取通信流803。
在步骤S932中,拉式打印应用303从替代存储服务器111下载索引文件(2)704。在步骤S933中,拉式打印应用303基于索引文件(2)704从替代存储服务器111下载打印数据文件(2)。
在步骤S934中,拉式打印应用303将所获得的打印数据文件(2)写入到打印机通信流802。
在步骤S936中,在由索引文件(2)识别的打印数据文件(2)被发送到打印装置控制单元304之后,拉式打印应用303关闭打印机通信流802。在步骤S937中,打印装置控制单元304将打印完成通知发送到拉式打印应用303。在步骤S935中,拉式打印应用303还关闭与替代存储服务器111的通信会话。通过步骤S934的处理触发步骤S935和S936的处理。
在步骤S938中,接收到步骤S937中的打印完成通知的拉式打印应用303将打印完成通知发送到打印服务器101。在步骤S939中,打印服务器101将文档信息620的状态625改变为“正常结束”。如果步骤S937中的打印完成通知指示错误,则打印服务器101将状态625改变为“错误终止”。以上描述了由打印服务器101、拉式打印应用303及打印装置控制单元304进行的打印处理。
<打印数据文件的上传处理>
将参照图11描述由转换服务器403进行的打印数据文件的上传处理中的判断过程。在步骤S1001中,转换服务器403从存储服务器102获得文档数据。在步骤S1002中,转换服务器403进行数据转换处理。在步骤S1003中,作为步骤S1002中的数据转换处理的结果,转换服务器403判断作为数据转换处理对象的文档数据在大小上是否超出256KB以及是否不存在待作为数据转换处理对象的文档数据。如果判断出作为数据转换处理对象的文档数据在大小上没有超出256KB以及存在待作为数据转换处理对象的文档数据(步骤S1003中的否),则处理返回到步骤S1002。步骤S1003的处理中的判断条件不限于此。例如,文档数据大小的阈值可以是任意值。代替文档大小,可以使用文档数据的页数作为阈值。
在步骤S1003中,如果判断出作为数据转换处理对象的文档数据在大小上超出256KB或者不存在待作为数据转换处理对象的文档数据(步骤S1003中的是),则处理进行到步骤S1004。在步骤S1004中,转换服务器403生成打印数据文件URL并将打印数据文件URL写入到索引文件中。然后,转换服务器403将打印数据文件和索引文件上传到存储服务器102。由此,包括在文档数据中的打印数据文件当中的第一个打印数据文件被上传到存储服务器102。
在步骤S1005中,转换服务器403判断是否存在待作为数据转换处理对象的文档数据。如果判断出存在待作为数据转换处理对象的文档数据(步骤S1005中的是),则处理进行到步骤S1006。在步骤S1006中,转换服务器403继续进行数据转换处理。在步骤S1007中,转换服务器403判断作为数据转换处理对象的文档数据,例如在大小上是否超出1MB以及是否不存在待作为数据转换处理对象的文档数据。如果判断出作为数据转换处理对象的文档数据在大小上超出1MB或者不存在待作为数据转换处理对象的文档数据(步骤S1007中的是),则处理进行到步骤S1008。在步骤S1008中,转换服务器403生成打印数据文件URL,并还将打印数据文件URL写入到索引文件中。转换服务器403将更新后的索引文件和打印数据文件上传到存储服务器102。
在步骤S1007中,如果判断出作为数据转换处理对象的文档数据在大小上小于等于1MB或者存在待作为数据转换处理对象的文档数据(步骤S1007中的否),则处理返回到步骤S1006。在步骤S1009中,在步骤S1008中的向存储服务器102的上传之后,转换服务器403判断是否存在待作为数据转换处理对象的文档数据。如果判断出不存在待作为数据转换处理对象的文档数据(步骤S1009中的否),则数据转换处理结束。在步骤S1009中,如果判断出存在这种文档数据(步骤S1009中的是),则处理返回到步骤S1006。
通过前述步骤S1005至S1009的处理,第二个打印数据文件及后续的打印数据文件被上传到存储服务器102。步骤S1007中的判断条件不限于此。
在图11所示的确定过程中,在上传第一个打印数据文件时的文档数据大小的阈值被设置为低于在上传第二个及后续的打印数据文件时的文档数据大小的阈值。原因在于,通过将上传第一个打印数据文件时的阈值设置为较小值来加快所提交的文档数据的第一打印。虽然根据本实施例将用于第二个及后续的打印数据文件的阈值统一地设置为“1MB”,但是针对在较晚时刻生成的打印数据文件可以增大步骤S1007中的文档数据大小的阈值。
以上描述了转换服务器403的打印数据转换流程。因而,打印服务器101能够将转换后的数据立即发送到打印机A104,从而能够加快第一打印。
根据本实施例,能够加快第一打印,并且能够使用所完成的打印页文件进行印刷处理。此外,拉式打印应用303能够在不用断开通信会话的情况下,将打印数据发送到打印装置控制单元304。
在执行第一打印的打印处理系统中,即使在打印机获得打印数据时发生错误,也能够继续打印处理。即使由于错误导致所连接的存储服务器改变,也能够将打印处理作为单个作业进行。
其它实施例
还可以通过读出并执行记录在存储介质(也可更完整地称为“非临时性计算机可读存储介质”)上的计算机可执行指令(例如,一个或更多个程序)以执行上述实施例中的一个或更多个的功能、并且/或者包括用于执行上述实施例中的一个或更多个的功能的一个或更多个电路(例如,专用集成电路(ASIC))的系统或装置的计算机,来实现本发明的实施例,并且,可以利用通过由所述系统或装置的所述计算机例如读出并执行来自所述存储介质的所述计算机可执行指令以执行上述实施例中的一个或更多个的功能、并且/或者控制所述一个或更多个电路执行上述实施例中的一个或更多个的功能的方法,来实现本发明的实施例。所述计算机可以包括一个或更多个处理器(例如,中央处理单元(CPU),微处理单元(MPU)),并且可以包括分开的计算机或分开的处理器的网络,以读出并执行所述计算机可执行指令。所述计算机可执行指令可以例如从网络或所述存储介质被提供给计算机。所述存储介质可以包括例如硬盘、随机存取存储器(RAM)、只读存储器(ROM)、分布式计算系统的存储器、光盘(诸如压缩光盘(CD)、数字通用光盘(DVD)或蓝光光盘(BD)TM)、闪存设备以及存储卡等中的一个或更多个。
本发明的实施例还可以通过如下的方法来实现,即,通过网络或者各种存储介质将执行上述实施例的功能的软件(程序)提供给系统或装置,该系统或装置的计算机或是中央处理单元(CPU)、微处理单元(MPU)读出并执行程序的方法。
虽然参照示例性实施例描述了本发明,但是,应该理解,本发明不限于所公开的示例性实施例。所附权利要求的范围应当被赋予最宽的解释,以涵盖所有这类修改以及等同的结构和功能。

Claims (10)

1.一种打印处理系统,所述打印处理系统包括:
打印服务器,其用于将文档数据转换为包括多个打印数据文件的打印数据;
第一存储服务器;
第二存储服务器;以及
图像处理装置,其用于获得至少包括第一打印数据文件和第二打印数据文件的所述打印数据文件并执行打印处理,
其中,所述打印服务器包括:
生成部,其用于响应于在用于从所述第一存储服务器获得第二打印数据文件的处理中发生的错误生成索引文件,所述索引文件包括关于所述图像处理装置尚未获得的第二打印数据文件的获取源信息;以及
存储部,其用于将第二打印数据文件存储到第二存储服务器中,并且
其中,所述图像处理装置还包括:
应用,其被构造为经由第一通信流从所述第一存储服务器获得打印数据文件,
控制器,其被构造为经由第二通信流从所述应用获得打印数据文件并且进行所述打印处理,以及
通知部,其用于在打印所述打印数据文件的打印处理中、从所述第一存储服务器获得第一打印数据文件之后,响应于在用于从所述第一存储服务器获得第二打印数据文件的处理中发生的错误,向所述打印服务器通知识别第二打印数据文件的信息,所述打印数据文件至少包括第一打印数据文件和第二打印数据文件,
其中,响应于发生的错误,经由第一通信流连接所述应用的连接目的地从所述第一存储服务器切换到所述第二存储服务器,同时经由第二通信流维持所述应用和所述控制器之间连接的状态,以及
其中,所述应用被构造为使用通过第一通信流和第二通信流实现的连续通信会话,将所述打印数据文件发送到所述控制器。
2.根据权利要求1所述的打印处理系统,其中,由所述通知部通知的信息包括所述图像处理装置已经获得的打印数据文件的数量。
3.根据权利要求1所述的打印处理系统,其中,所述获取源信息是URL,所述URL包括通向由所述存储部存储的打印数据文件的文件路径以及所述第二存储服务器的端点。
4.根据权利要求1所述的打印处理系统,其中,所述应用被构造为使用通过第一通信流和第二通信流实现的连续通信会话,将所述打印数据文件发送到所述控制器并执行所述打印处理,所述第一通信流供所述图像处理装置从所述第一存储服务器获得所述打印数据文件,所述第二通信流供所述打印数据文件发送到所述控制器,所述控制器包括在所述图像处理装置中被构造为执行所述打印处理。
5.根据权利要求4所述的打印处理系统,其中,所述打印处理系统被构造为在用于从所述第一存储服务器获得所述打印数据文件的处理中发生错误的情况下,断开通过所述第一通信流和所述第二通信流实现的连续通信会话,所述打印处理系统被构造为将针对所述第二通信流的连接从所述第一通信流改变为第三通信流,以实现新的通信会话,并且所述打印处理系统使用所述新的通信会话将所述尚未获得的打印数据文件发送到所述控制器并执行从所述第二存储服务器获得的打印数据文件的所述打印处理,所述第三通信流供所述图像处理装置从所述第二存储服务器获得所述打印数据文件。
6.根据权利要求4所述的打印处理系统,其中,所述打印处理系统还包括检查部,所述检查部用于检查所述第一存储服务器的操作状态,
其中,在作为通过所述检查部对所述第一存储服务器的操作状态进行检查的结果而判断出所述第一存储服务器与所述图像处理装置能够通信的情况下,使用通过所述第一通信流和所述第二通信流实现的通信会话执行所述打印处理。
7.根据权利要求6所述的打印处理系统,其中,如果作为通过所述检查部对所述第一存储服务器的操作状态进行检查的结果而判断出所述第一存储服务器与所述图像处理装置不能通信,则使用通过所述第二通信流和第三通信流实现的通信会话执行所述打印处理。
8.根据权利要求1所述的打印处理系统,其中,所述存储部还被构造为在所述第一存储服务器中存储多个打印数据文件,
其中,所述打印服务器还包括判断部,所述判断部用于判断被转换为所述打印数据文件的所述文档数据的数据大小是否超出预设的数据大小的阈值,并且
其中,在所述判断部判断出所述数据大小未超出所述阈值的情况下,所述存储部被构造为不将所述打印数据文件存储到所述存储服务器中。
9.根据权利要求8所述的打印处理系统,其中,预设的数据大小的阈值以如下方式设置:针对用于生成待存储到所述存储服务器中的第一打印数据文件的文档数据的阈值小于针对用于生成第二打印数据文件及后续打印数据文件的文档数据的阈值。
10.一种用于控制打印处理系统的方法,
所述打印处理系统包括:
打印服务器,其用于将文档数据转换为包括多个打印数据文件的打印数据;
第一存储服务器;
第二存储服务器;以及
图像处理装置,其用于获得至少包括第一打印数据文件和第二打印数据文件的所述打印数据文件并执行打印处理,
所述方法包括:
响应于在用于从所述第一存储服务器获得第二打印数据文件的处理中发生的错误通过所述打印服务器生成索引文件,所述索引文件包括关于所述图像处理装置尚未获得的第二打印数据文件的获取源信息;
通过所述打印服务器将第二打印数据文件存储到第二存储服务器中;
通过所述图像处理装置的应用经由第一通信流从所述第一存储服务器获得打印数据文件;
通过所述图像处理装置的控制器经由第二通信流从所述图像处理装置的应用获得打印数据文件并且进行所述打印处理;以及
在打印所述打印数据文件的打印处理中、从所述第一存储服务器获得第一打印数据文件之后,响应于在用于从所述第一存储服务器获得第二打印数据文件的处理中发生的错误,向所述打印服务器通知识别第二打印数据文件的信息,所述打印数据文件至少包括第一打印数据文件和第二打印数据文件;
其中,响应于发生的错误,经由第一通信流连接所述图像处理装置的应用的连接目的地从所述第一存储服务器切换到所述第二存储服务器,同时经由第二通信流维持所述图像处理装置的应用和所述图像处理装置的控制器之间连接的状态,以及
其中,所述图像处理装置的应用被构造为使用通过第一通信流和第二通信流实现的连续通信会话,将所述打印数据文件发送到所述图像处理装置的控制器。
CN201910131129.9A 2018-02-27 2019-02-21 打印处理系统及方法 Active CN110196694B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018033761A JP7046648B2 (ja) 2018-02-27 2018-02-27 印刷処理システム、方法、およびプログラム
JP2018-033761 2018-02-27

Publications (2)

Publication Number Publication Date
CN110196694A CN110196694A (zh) 2019-09-03
CN110196694B true CN110196694B (zh) 2022-05-31

Family

ID=65529302

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910131129.9A Active CN110196694B (zh) 2018-02-27 2019-02-21 打印处理系统及方法

Country Status (5)

Country Link
US (1) US10802779B2 (zh)
EP (1) EP3531268B1 (zh)
JP (1) JP7046648B2 (zh)
KR (1) KR20190103043A (zh)
CN (1) CN110196694B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113260984A (zh) * 2018-12-28 2021-08-13 京瓷办公信息系统株式会社 监视系统、监视方法和监视程序
CN110825330A (zh) * 2019-10-11 2020-02-21 杭州珐珞斯科技有限公司 一种基于文件分片的云打印方法、打印云盒、系统和存储介质
JP7379123B2 (ja) * 2019-11-29 2023-11-14 キヤノン株式会社 サーバシステム
JP7413797B2 (ja) * 2020-01-29 2024-01-16 ブラザー工業株式会社 印刷システム、制御プログラム
US11327698B2 (en) * 2020-06-25 2022-05-10 Zebra Technologies Corporation Method, system and apparatus for cloud-based printing
US11405513B2 (en) * 2020-07-31 2022-08-02 Kyocera Document Solutions, Inc. Printer control automation from document annotation
JP2022032197A (ja) * 2020-08-11 2022-02-25 キヤノン株式会社 画像処理装置、画像処理システム、画像処理方法およびプログラム
JP2022160877A (ja) * 2021-04-07 2022-10-20 キヤノン株式会社 クラウドプリントサービス連携による印刷システム
US11720309B2 (en) * 2021-12-14 2023-08-08 Vmware, Inc. Feature-based flow control in remote computing environments

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102194500A (zh) * 2010-03-10 2011-09-21 富士施乐株式会社 信息记录装置和信息记录方法
CN102591598A (zh) * 2010-10-29 2012-07-18 佳能株式会社 信息处理装置及该信息处理装置中的打印数据处理方法
CN102915213A (zh) * 2011-06-28 2013-02-06 佳能株式会社 打印系统、打印服务器及打印管理方法
CN104111807A (zh) * 2013-04-19 2014-10-22 佳能株式会社 打印系统、服务器、信息处理装置、图像处理装置及方法
CN105988751A (zh) * 2015-03-20 2016-10-05 富士施乐株式会社 图像形成装置、图像处理系统及方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2762401B2 (ja) * 1992-05-08 1998-06-04 富士通株式会社 プリントサーバ制御方式
JP3777842B2 (ja) 1998-12-17 2006-05-24 富士ゼロックス株式会社 ネットワークシステム、代替処理制御方法、及びサーバ
JP4509965B2 (ja) 2005-05-10 2010-07-21 シャープ株式会社 ジョブレンダリング方法およびジョブレンダリングシステム
JP5455507B2 (ja) * 2009-08-25 2014-03-26 キヤノン株式会社 画像形成装置及びその制御方法及びプログラム
JP5676931B2 (ja) * 2010-06-11 2015-02-25 キヤノン株式会社 管理システム及びその方法
US9134931B2 (en) 2013-04-30 2015-09-15 Hewlett-Packard Development Company, L.P. Printing content over a network
JP2015005149A (ja) 2013-06-21 2015-01-08 キヤノン株式会社 クラウドプリントにおけるプリントサーバ障害時のリカバリ方法
JP6463115B2 (ja) * 2014-12-12 2019-01-30 キヤノン株式会社 情報処理システム、印刷システム、サーバ装置、情報処理システムの制御方法、及びプログラム
JP6537390B2 (ja) * 2015-07-30 2019-07-03 キヤノン株式会社 画像形成装置、制御方法、およびプログラム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102194500A (zh) * 2010-03-10 2011-09-21 富士施乐株式会社 信息记录装置和信息记录方法
CN102591598A (zh) * 2010-10-29 2012-07-18 佳能株式会社 信息处理装置及该信息处理装置中的打印数据处理方法
CN102915213A (zh) * 2011-06-28 2013-02-06 佳能株式会社 打印系统、打印服务器及打印管理方法
CN104111807A (zh) * 2013-04-19 2014-10-22 佳能株式会社 打印系统、服务器、信息处理装置、图像处理装置及方法
CN105988751A (zh) * 2015-03-20 2016-10-05 富士施乐株式会社 图像形成装置、图像处理系统及方法

Also Published As

Publication number Publication date
JP2019147315A (ja) 2019-09-05
JP7046648B2 (ja) 2022-04-04
US20190265929A1 (en) 2019-08-29
EP3531268B1 (en) 2023-09-06
US10802779B2 (en) 2020-10-13
KR20190103043A (ko) 2019-09-04
EP3531268A1 (en) 2019-08-28
CN110196694A (zh) 2019-09-03

Similar Documents

Publication Publication Date Title
CN110196694B (zh) 打印处理系统及方法
JP6537390B2 (ja) 画像形成装置、制御方法、およびプログラム
US9246919B2 (en) Portable information terminal apparatus, method, non-transitory computer readable medium, and service utilization system
US20170017448A1 (en) Printer registration apparatus, display apparatus, and method for printer registration
CN107203351B (zh) 信息处理设备和信息处理方法
KR20120049127A (ko) 정보 처리 장치, 그의 인쇄 데이터 처리 방법, 및 그의 프로그램을 저장하는 저장 매체
JP6421499B2 (ja) 情報処理システム、情報蓄積装置、プログラム及び位置情報保存方法
JP2015138388A (ja) 情報処理プログラムおよびプリンタ
JP2015139096A (ja) 情報処理プログラム、情報処理装置、および情報処理装置の制御方法
EP2979165A1 (en) Release codes with print job identifiers and directives
JP7086767B2 (ja) プリントサーバー、制御方法、およびそのプログラム
JP6491550B2 (ja) 印刷装置とその制御方法、及びプログラム
JP2021033526A (ja) サーバシステムおよびアプリケーション
US20180067701A1 (en) Information processing apparatus, control method therefor, and storage medium
JP6935666B2 (ja) 印刷システム
US11755265B2 (en) Printing system, server system for setting information to permit registration of printing apparatus based on a registration request from a user
US11528762B2 (en) Information processing apparatus and control method of the same
JP2019091379A (ja) 情報処理システム、制御方法、およびプログラム
JP6405850B2 (ja) 端末装置、サーバ、及びプリンタ
WO2014084839A1 (en) Determining optimal rendering systems
JP2016129073A (ja) 情報処理システム、情報蓄積装置及び方法
CN103888632A (zh) 图像处理设备和图像处理方法
US20240111822A1 (en) Web browsing system, communication terminal, and control method for communication terminal
JP7010118B2 (ja) 中継装置、情報処理システム、及び情報処理プログラム
JP2017212648A (ja) 印刷装置、印刷装置の制御方法及びプログラム装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant