信息处理设备和处理作业的方法转让专利

申请号 : CN200710186487.7

文献号 : CN101206560B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 松个下勇人

申请人 : 佳能株式会社

摘要 :

本发明涉及信息处理设备、处理作业的方法、程序和存储介质。并行监视大量(例如数百)打印设备使得处理负荷非常重。或者,监视极大增加了监视计算机的成本。连接管理单元在小于打印设备数量的连接数量以内顺序地监视打印装置的状态。同时,传送管理单元在小于打印设备数量的连接数量以内顺序地将打印作业传送给打印设备。状态被监视的打印设备被顺序地切换,而无需使打印设备的状态监视与打印作业的传送的结束同步,即,无需等待打印作业的传送的结束。

权利要求 :

1.一种能与多个打印设备通信的信息处理设备,包括:

第一登记单元,被配置成按第一登记顺序将所述打印设备顺序地登记到监视队列中,所述打印设备为打印作业的输出目标,并且从所述打印设备获取状态信息;

第二登记单元,被配置成按第二登记顺序将作为所述打印作业的输出目标的所述打印设备顺序地登记到传送队列中;

状态监视单元,被配置成根据所述第一登记顺序连接所述打印设备,并且从所述打印设备获取所述状态信息;以及传送控制单元,被配置成根据所述第二登记顺序传送所述打印作业,其中,即使所述传送控制单元尚未完成所述打印作业的传送,所述状态监视单元也根据所述第一登记顺序来顺序地切换与所述打印设备的连接,并且从所述打印设备获取所述状态信息。

2.如权利要求1所述的信息处理设备,其中,即使所述状态监视单元切换所述打印设备以获取状态信息,所述传送控制单元也继续将所述打印作业传送到正在传送打印作业的所述打印设备。

3.如权利要求1所述的信息处理设备,其中,所述状态监视单元的连接数量小于所述传送控制单元的连接数量。

4.如权利要求1所述的信息处理设备,还包括被配置成设置所述状态监视单元的连接数量和所述传送控制单元的连接数量的连接数量设置单元。

5.一种用于能与多个打印设备通信的信息处理设备的作业处理方法,包括以下步骤:按第一登记顺序将所述打印设备顺序地登记到监视队列中,所述打印设备为打印作业的输出目标,并且从所述打印设备获取状态信息;

按第二登记顺序将作为所述打印作业的输出目标的所述打印设备顺序地登记到传送队列中;

根据所述第一登记顺序连接所述打印设备,并且从所述打印设备获取所述状态信息;以及根据所述第二登记顺序传送所述打印作业,

其中,所述连接和获取步骤包括:即使所述传送步骤尚未完成所述打印作业的传送,也根据所述第一登记顺序来顺序地切换与所述打印设备的连接,并且从所述打印设备获取所述状态信息。

6.如权利要求5所述的方法,其中,所述传送步骤包括:即使在所述连接和获取步骤中所述打印设备被切换以获取状态信息,也继续将所述打印作业传送到正在传送打印作业的所述打印设备。

7.如权利要求5所述的方法,其中,所述连接和获取步骤中的连接数量小于所述传送步骤中的连接数量。

8.如权利要求5所述的方法,还包括设置所述连接和获取步骤中的连接数量以及所述传送步骤中的连接数量。

说明书 :

技术领域

本发明涉及一种减少计算机上的负载以及有效地管理打印作业或打印设备的机制。

背景技术

日本专利申请公开No.2001-290623中揭示了通过在网络上分布打印作业和使用多个打印机实现高速打印的分布式打印技术。该文献公开了诸如个人计算机的作业发行者收集分布给多个打印机的打印作业的状态,以及个人计算机并行管理打印作业的状态。
然而,例如可以分发大量打印作业到连接到遍布全国的网络的各个位置上的大量打印设备以打印。为了监视数以百计的此类打印设备,例如并非数个打印设备,日本专利申请公开No.2001-290623中揭示的监视方法是不现实的。并行监视数以百计的打印设备使得处理负荷非常重。或者监视极大增加了监视计算机的成本。

发明内容

根据本发明的一个方面,提供一种能与多个打印设备通信的信息处理设备,包括:第一登记单元,被配置成按第一登记顺序将所述打印设备顺序地登记到监视队列中,所述打印设备为打印作业的输出目标,并且从所述打印设备获取状态信息;第二登记单元,被配置成按第二登记顺序将作为所述打印作业的输出目标的所述打印设备顺序地登记到传送队列中;状态监视单元,被配置成根据所述第一登记顺序连接所述打印设备,并且从所述打印设备获取所述状态信息;以及传送控制单元,被配置成根据所述第二登记顺序传送所述打印作业,其中,即使所述传送控制单元尚未完成所述打印作业的传送,所述状态监视单元也根据所述第一登记顺序来顺序地切换与所述打印设备的连接,并且从所述打印设备获取所述状态信息。
根据本发明的另一个方面,一种用于能与多个打印设备通信的信息处理设备的作业处理方法包括:按第一登记顺序将所述打印设备顺序地登记到监视队列中,所述打印设备为打印作业的输出目标,并且从所述打印设备获取状态信息;按第二登记顺序将作为所述打印作业的输出目标的所述打印设备顺序地登记到传送队列中;根据所述第一登记顺序连接所述打印设备,并且从所述打印设备获取所述状态信息;以及根据所述第二登记顺序传送所述打印作业,其中,所述连接和获取步骤包括:即使所述传送步骤尚未完成所述打印作业的传送,也根据所述第一登记顺序来顺序地切换与所述打印设备的连接,并且从所述打印设备获取所述状态信息。
根据本发明,例如即使多个打印设备被分发大量打印作业,也会降低监视打印设备或打印作业的监视负载。因此,计算机的成本不会增加到超出必需的。
本发明的其它目的、配置和效果从以下详细说明和附图来看是显而易见的。
参照如下简述的附图,将描述本发明的实施例。

附图说明

图1是例示根据一个实施例的打印系统的总配置的框图。
图2是例示图1中示出的打印管理服务器101和设备104的硬件配置的一个例子的框图。
图3是图2中示出的RAM 202中的存储器映像的一个例子的图例。
图4是例示图1中示出的打印管理服务器101的软件配置的一个例子的框图。
图5是打印队列信息的示意图。
图6是打印机端口信息的示意图。
图7是作业信息的示意图。
图8是图4中所示的连接顺序列表的示意图。
图9是图4中所示的传送连接顺序列表的示意图。
图10是例示图1中示出的设备调度器103和设备104的配置的一个例子的框图。
图11是图10中所示的连接列表的示意图。
图12是图10中所示的调度列表的示意图。
图13是图10中示出的历史文件和历史管理文件的图例。
图14是例示由作业控制端口监视器404和打印队列管理单元412进行处理的流程图。
图15是例示由打印机端口管理单元413进行处理的流程图。
图16是例示由连接管理单元420进行连接启动处理的流程图。
图17是例示由连接管理单元420进行调度处理的流程图。
图18是例示由设备管理单元421进行作业传送处理的流程图。
图19是例示由设备管理单元421进行目标打印机切换处理的流程图。
图20是例示由设备管理单元421进行连接顺序列表中的下一个连接的处理的流程图。
图21是例示由设备管理单元421进行备用打印处理的流程图。
图22是例示由传送连接管理单元431进行传送处理的流程图。
图23是例示由设备调度器103进行历史保存处理的流程图。
图24是例示由设备调度器103进行历史获取处理的流程图。
图25是根据实施例由打印系统进行目标打印机切换处理的示意图。
图26是连接顺序列表800和传送连接顺序列表900的转换例子的图例。
图27是根据实施例由打印系统进行目标打印机切换处理的示意图。
图28是根据实施例的打印系统的特征的示意图。
图29是根据实施例的打印系统的特征的示意图。

具体实施方式

第一实施例
下面将参考附图描述本发明的实施例。
图1是根据本发明例示打印系统的配置的框图。在该系统中,连接了多个网络打印机。
图1中,设备104A、104B和104N为打印设备(此后,被称作″设备″)。打印设备经由网络接口(未示出)被连接到网络102上。每一设备分析包含从打印管理服务器101传送来的打印字符数据的打印作业,并且按页切换点像以便打印。这里,打印作业为包含诸如页面描述语言的图例数据,以及诸如打印布局设置的打印字符的各种作业设置数据的通用术语。设备104A、104B和104N可以是利用静电印刷术的激光打印机,或利用喷墨系统的喷墨打印机。
每一设备104A、104B和104N包含设备调度器103,其如下所述管理打印作业的调度、维护打印作业历史或管理打印作业的各种状态。
设备调度器103可以利用例如专用硬件来配置。也可以配置调度器,使得设备中提供的、被称作EAP(嵌入式应用平台)的平台执行应用程序。设备调度器103也可以由硬件和软件之间的协作来配置。此外,被连接到设备104A、104B和104N以便能够与所述设备通信的信息处理设备可以执行处理的一部分以实现调度器103的功能。此外,调度器103可被预先安装在打印设备内部或被增加为可选功能。
根据该实施例,信息处理设备101是打印管理服务器(附图中被称作打印管理服务器计算机)。打印管理服务器通过网络电缆被连接到网络102上。服务器累积网络上使用的文件,并且监视网络102的使用状态。打印管理服务器101管理连接到网络102上的多个打印机。打印管理服务器101是总信息处理设备,可从其执行打印管理服务。
硬件配置图例
图2是用于简单例示打印管理服务器101与图1中示出的设备104中的一个之间的连接,以及例示各个硬件配置的框图。
CPU 201执行诸如OS和应用程序的程序。程序被存储在ROM203中的程序ROM中,或从硬盘211之一加载到RAM 202中。OS是在计算机上运行的操作系统的缩写;此后,操作系统被称为OS。如下所述的流程图的处理可通过程序的执行来实现。RAM 202充当主存储器之一以及CPU 201的工作区域。键盘控制器(KBC)205控制来自键盘209和定点设备(未示出)的键盘输入。CRT控制器(CRTC)206控制CRT显示器210上的显示。磁盘控制器(DKC)207控制用于存储各种类型数据的硬盘(HD)211和软盘(FD)中的数据访问。PRTC 208控制与连接到PRTC 208的设备104的信号的交换。被连接到网络的NC212执行与连接到网络的其它机器通信的控制处理。虽然NC 212是独立于图例中的PRTC 208的单元,但是由于NC 212通过与PRTC 208合作充当网络通信装置,所以其可被集成到PRTC中。
下面,将描述设备104的结构。如图2所示,在设备104中,打印机CPU 1301基于存储在ROM 1302和外部存储器1303中的控制程序控制连接到系统总线1304上的模块。通过由CPU 1301处理所产生的图像信号被作为输出信息经由打印单元接口1305输出给打印单元(打印机引擎)1306。CPU 1301可以经由输入单元1307与打印管理服务器101通信,使得CPU 1301可以通知打印管理服务器101设备104中的信息。
ROM 1302中的程序ROM存储了CPU 1301的控制程序。ROM1302中的字体ROM存储用于产生输出信息的字体数据。如果打印机不包含诸如硬盘的外部存储器1303,则ROM 1302中的数据ROM存储打印管理服务器101上所使用的各种类型信息。
RAM 1308是一种充当主存储器或CPU 1301的工作区域的RAM。RAM 1308可以通过利用连接到扩充端口(未示出)的选择RAM来扩充存储器容量。RAM 1308被用作输出信息部署区域(位图数据部署区域),环境数据存储区域(例如打印作业设置和打印作业状态信息),NVRAM等。访问诸如硬盘(HD)或如上所述的IC卡的外部存储器1303由存储控制器(MC)1309控制。是连接成选项的外部存储器1303存储例如字体数据、仿真程序和表格数据。操作面板1311包含用于操作的开关和LED(发光二极管)显示器。
图3是图2中示出的RAM 202中的存储器映像的一个例子的图例。在该附图中,当打印管理服务被加载到RAM 202上时,存储器映像处于可执行状态。
从外部存储器211可以直接加载程序到RAM 202上以便执行其。进一步地,打印管理服务可被存储在程序ROM 203中作为存储器映像的一部分以便由CPU 201直接执行。实现功能相当于装置的实现功能的软件可以代替硬件装置。
打印管理服务控制打印作业的传送、改变打印作业的目标打印机的指示,或改变打印管理服务器中的打印次序的指示。
区域301存储基本I/O程序。基本I/O程序是具有IPL(初始程序装载)功能的程序,以从外部存储器211读取OS到RAM 202中,以及当打印管理服务器101启动时,开始OS的操作。
区域302存储OS(操作系统),而区域303存储打印管理服务。区域304存储有关数据。区域305是CPU 201执行各种类型程序的工作区。
软件配置图例
接下来,将描述打印系统中打印管理服务器101的软件配置。图4是打印管理服务器101中软件配置的一个例子的图例。在该附图中,用方框表示的软件配置代表通过由图2中的CPU 201执行存储在ROM和HDD中的各种类型程序所实现的功能。
通常,当诸如MicrosoftWord的一般应用程序401接受打印指示时,应用程序401经由OS产生一系列绘图命令。打印机驱动程序402接收经由OS产生的绘图命令,并且产生包含基于一系列绘图命令可被设备104A到104N解释的PDL文件的打印作业。如果设备104A到104N在模型中彼此不同,则打印管理服务器101可以配备对应于相应设备的打印机驱动程序402A到402N。
打印机驱动程序402将所产生的打印作业的数据传递给打印假脱机程序403以传送所产生的打印作业给设备。这里OS是Windows,因此打印假脱机程序403是Windows打印假脱机程序。然而,显然应用本发明的计算机的OS不局限于Windows,也可以应用包含绘图指令的其它OS。
打印假脱机程序403遵循传递打印作业给由用户通过用户界面所选择和指向的作业控制端口监视器404,以及将作业传递给设备104A到104N的过程。
在如下所述的处理之前,用户将通过指定作业控制端口监视器404以便预先传递打印作业给打印管理服务405来引导打印。
诸如纸张规格和装订方向的打印设置信息经由打印机驱动器接口设置。信息被通知给作业控制端口监视器404。作业控制端口监视器404不仅将从高层传递来的打印作业而且将所通知的打印设置信息通知给打印管理服务405。
打印管理服务器101的定制应用程序406和网络102上可用于打印管理服务器101的其它信息处理装置中的一个经由API(应用程序接口)407将打印作业分发给打印管理服务405。
打印管理服务405包含作为与外部应用程序接口的API 407、打印管理单元410、连接管理单元420,以及用于控制传送打印作业到设备的传送管理单元430。虽然附图说明软件配置中的这些功能模块,但是即使任何功能模块被配置成硬件也可实现类似功能。
打印管理单元410包含用于保持当前作业的状态的作业管理单元411、用于管理多个打印队列的打印队列管理单元412,以及用于管理多个打印机端口的打印机端口管理单元413。后面会详细描述结构单元的功能。
连接管理单元420包含用于保持现行设备的状态的设备管理单元421、用于管理设备的连接顺序以及用于保持该顺序的连接顺序列表的连接顺序控制单元422。单元420控制目标打印机(状态监视的目标)的切换,其为本发明的特征。后面会详细描述目标打印机的切换控制。
传送管理单元430包含用于保持当前设备的传送状态的传送连接管理单元431、用于传送打印作业到设备的多个传送单元432,以及用于保持传送顺序的传送连接顺序列表。单元430实现了特性传送连接顺序控制处理。单元430充当用于顺序登记作为打印作业的输出目的地打印设备的装置,所述打印作业在传送连接顺序列表中由传送管理单元430传送。后面会详细描述该控制处理。
打印队列信息
图5是用于决定打印作业的操作的打印队列信息500的图例。在打印队列(打印管理单元410中的最左上部分)中从作业控制端口监视器404接受作业。对应于在某一时刻的打印队列已经事先设置了打印队列信息500。
下面将描述作为打印队列信息500的设置的打印机名501、打印机驱动程序名502、端口名503,以及备用打印机名504。
指明Windows的打印机目标名的打印机名501对于每个打印机目标来说是不同的名。名501可以用来识别打印机目标。打印机驱动程序名502是针对打印机目标而设置的打印机驱动程序的名。端口名503是对应于打印机名的打印机端口的名。备用打印机名504是被用于备用打印以及负载分布打印方法的备用打印的打印机的名。如图5中的例子可登记多个打印机名504。
当诸如出纸的错误发生在打印作业被分发的设备中时,利用打印队列中被设置的、已接受打印作业和打印队列信息的多个备用打印机执行负载分布打印方法。具体地说,打印作业被传送或移动到为了备用打印,作业可被顺序传送到其的设备。从在打印队列中被设置的、已接受打印作业和打印队列信息的多个备用打印机中选择这个设备。决定作业可被传送到其的打印机的方法包含选取主要被确定适于传送的设备与基于先前决定的优先级的设备之一的方法。
打印机端口信息
图6是决定将打印作业传送到打印机的操作的打印机端口信息600的图例。对应于在某一时刻的打印队列、与图4中的打印管理单元410中最左下部分中的打印机端口相关的信息600已被事先设置。作为打印作业传送目的地的设备的网络地址的打印机地址601与相应设备或用于名称转换(DNS:域名系统)的名称的IP地址相联系。打印机型号602是指明作为打印作业传送目的地的设备的类型的打印机型号名。如果操作由于打印机型号的不同而彼此不同,则建立每个打印机型号的定义以消除操作不同。这里将不详细描述消除不同的处理。协议603是将打印作业传送给设备的通信协议。协议603包含例如通过互通信传送打印作业的被称作LPR的协议,或直接传送打印作业的RAW协议。LPR是行式打印机守护程序协议的缩写。
打印系统中特性设置包含设备或在打印机端口信息600中设置的作业监视的设置。目标打印机切换模式604是稍后结合流程图详细描述的目标打印机切换的设置字段。连续监视时间605和连续传送的数量606是打印切换的条件。连续监视时间605指明连续监视设备或打印作业的时间限制。连续传送的数量606表明将被连续传送给相同设备的打印作业的数量的条件。虽然图例说明了连续监视时间605和连续传送的数量606为目标打印机的切换条件,但是该条件不局限于此。例如,条件可包含诸如打印作业传送大小的各种特定条件。
作业信息
图7说明了从一般应用程序401和定制应用程序406之一分发的打印作业的作业信息700。信息700被保存在HDD 211中,并且被作业管理单元411管理。
如果定制应用程序406分发作业,则打印作业通过图4中的API407被输入到打印管理单元410中。另一方面,如果通过一般应用程序分发作业,则打印作业通过作业控制端口监视器404被输入到打印管理单元410中。当打印管理单元410输入打印作业时,单元410产生对应于作业的作业信息700,并且在打印队列中登记所产生的作业信息700。打印作业的实际数据与作业信息700相联系并且被保存在如图4中所示的HDD 211中。
作业信息700包含文档名701、打印管理服务中发出的作业ID702、执行打印的用户的名称703、页面数量704以及作业状态705。作业信息700还包含设备中所产生的设备作业ID 706、决定调度顺序的优先级707、完成结果708以及完成时间709。
作业状态705可以是依赖于作业的当前状态的例如假脱机、正在传送、打印、正被停止或打印完成的状态。
连接顺序列表800
图8例示了图4中所示的连接顺序列表800的一个例子。在连接顺序列表800中,将被监视的设备的标识符以及相应设备的附录信息基本按FIFO登记。连接顺序列表800,或者基于连接顺序列表800的设置可被称作监视队列,其意味着由打印管理服务器101管理监视的顺序的设置。根据连接顺序列表800中设备的登记顺序,设备的状态的监视被顺序执行。
这里″连接″表示基于由上述连接管理单元420管理的通信会话的建立。通信会话期间,可获取和请求各种状态。中断监视打印设备表明断开建立的通信会话。图8中所示的连接顺序列表800在如下所述的图15中的S1502处被更新。
在连接顺序列表800中的列中,设置下列项:将被连接的打印机的名称、在每个打印机队列中登记的、尚未被传送的作业的数量、连接优先级、连接状态,以及作为当前连接期间已被传送的作业的数量的传送作业的数量。图8表明打印机已被连接到连接位置1到3上的设备上,而第四位置后打印机等待连接。打印机可处于″等待检查″的状态,在该状态中打印机已被连接或等待连接时,打印机被断开以再次等待连接。″等待检查″在广义上被包含在″等待连接″中。
上述的连接管理单元420基于连接顺序列表800中登记(设置)的信息,决定连接顺序。后面会详细描述该处理。
传送连接顺序列表900
图9例示了图4中的传送连接顺序列表430的一个例子。在传送连接顺序列表900中,作为打印作业的传送目的地的设备的标识符,以及传送给每个设备的附录信息基本按FIFO登记。根据传送连接顺序列表900中设备的登记顺序,顺序执行传送打印作业给设备。即,列表900充当其中打印设备被顺序登记的传送队列。设备为将被传送的打印作业的输出目的地。
传送连接顺序列表900中的列包含以下项:将被连接的打印机的名称、传送连接的优先级以及传送连接状态。传送连接管理单元431基于传送连接顺序列表900中列出的信息决定传送连接顺序。后面会详细描述该处理。
打印设备的功能模块图
图10是图1中所示的设备104A到104N的结构的一个例子的图例。虽然硬件模块和软件模块在图例中共存,但是每一模块代表设备之一的特定功能。
用于控制设备的模块的设备控制器1001管理和控制硬件的状态和分发的打印作业的状态。控制器1001对应于图2中所描述的CPU1301和打印设备接口1305。在设备作为具有诸如被称作MFP(多功能打印机)的打印、复制、传真或扫描的多种功能的复杂机器情况下,设备控制器1001对应于用于集成方式的管理和控制功能的模块。
包含在设备中的,或为相互通信而连接的永久存储区和永久存储装置之一的设备存储器1002被实现成数据存储单元,例如RAM或HDD。
如前所述,设备104A到104N中的每个包含用于管理打印作业的调度或用于保持和管理如下所述的打印作业历史的设备调度器103。设备调度器103包含连接管理单元1011、调度管理单元1012、事件管理单元1013以及历史管理单元1014。
连接管理单元1011包含多个与打印管理服务405通信的连接单元,以及如下所述的连接列表1100。列表100保存连接到打印管理服务405的状态,以及由打印管理服务405登记的事件信息。
调度管理单元1012管理从打印管理服务405接受的打印作业列表。单元1012包含如下所述的调度列表1200和用于控制打印作业以调度打印作业的作业控制单元。
事件管理单元1013保存设备控制器1001的硬件状态,并且从设备控制器1001接受硬件状态中的变化。然后,单元1013通知通过调度管理单元1012连接的打印管理服务405和连接管理单元1011该信息。
单元1013还接受设备控制器1001中的打印作业状态的改变,并且通知调度管理单元1012该改变。调度管理单元1012接收通知,更新调度列表中包含的作业状态,并且请求连接管理单元1011通知连接的打印管理服务405该改变。
历史管理单元1014为用于管理打印作业的完成历史的模块。单元1014根据连接管理单元1011的指示产生、读/写以及移除设备存储器1002中的历史文件。由历史管理单元1014操作的历史管理文件管理历史文件。后面会详细描述打印作业历史的管理方法。
虽然图10中未示出,但是设备104A到104N中的每个都安装有例如用于在记录介质中形成图像的打印机引擎,以及用于在打印机引擎中检测各种信息的传感器机制。打印机引擎和机制已经结合图3描述过了。
设备中的连接列表1100
图11例示了由连接管理单元1011产生的连接列表1100的一个例子。在连接列表1100中,通过打开与设备调度器103的通信会话而连接的计算机的唯一ID被登记。连接列表1100包含多个计算机(唯一ID),其中之一是图1中的打印管理服务器101。注意到,连接列表1100中计算机的登记顺序不定义打印顺序。打印顺序是根据如下所述的调度列表1200决定的。下面会详细描述连接列表1100。
连接列表包含管理ID、从打印管理服务通知的唯一ID、设置是否请求从设备控制器通知的事件的事件登记字段、以及设置是否使用打印作业历史功能的历史模式字段。以下描述基于使用历史功能的设置。
在该实施例中,唯一ID是被称作UUID(通用唯一标识符)的十六进制32位数字值。然而,ID可以是用于唯一地识别将被连接的每个服务的任何手段。
设备中的调度列表
图12例示了由设备中的调度管理单元1012产生的调度列表1200的一个例子。调度管理单元1012管理来自连接列表1100中包含的计算机的打印作业的处理顺序。在图12中的调度列表1200中,作业1到3被登记成来自相同计算机(打印作业的发出者)的打印作业。
调度列表包含打印顺序、与连接列表相同的唯一ID、从设备控制器1001通知的设备作业ID、作业状态,以及图7中所示的作业信息。在调度列表中,根据接收调度的顺序和作业信息中包含的优先级707调度作业。
设备中的历史管理文件
图13例示了由历史管理单元1014产生的历史管理文件1300和历史文件1320。
历史管理文件1300是所产生的历史文件信息1310的多个片段的列表。历史文件信息1310包含历史文件的版本1311、最后更新日期1312、与连接列表(图11)共同的唯一ID 1313,以及保存在设备存储器1002中的历史文件名1314。历史文件名1314用作指定历史文件的信息。在该历史文件中,保存版本1321和图7中所示的作业信息700的多个片段。
在该实施例中,设备调度器103产生如图13中的历史信息。打印管理服务器应当检测到打印作业的状态已经在打印设备方面改变,并且应当通知打印作业状态中的改变。即使服务器101未被连接(未被监视),调度器也可产生历史信息。即,保存将被通知的作业状态改变通知,使得如果从打印管理服务器101再次接收获取作业状态的请求,可通知所保存的作业状态。
打印作业执行的流程
下面将描述由打印管理服务器101进行的处理。处理过程是实现作为本发明的特征的监视大量设备、分发大量打印作业以及跟踪作业直到完成。
概括地说,首先根据打印请求执行图14中的流程图,以及作业控制端口监视器404调用打印队列管理单元412。然后,打印队列管理单元412调用打印机端口管理单元413,以及执行图15中的流程图。
在图15中的流程图中,打印机端口管理单元413请求连接管理单元420处理设备的连接,以及使连接管理单元420执行图16和17中的流程图。
接着,连接管理单元420根据图16中的流程图监视作为连接目的地或候选连接目的地的设备的状态,并且根据图17中的流程图传送打印作业。
图18、19和20中的流程图例示了图17中的流程图中传送处理的细节。连接管理单元420依照图18、19和20中的流程图确定各种特定条件是否满足,以及基于连接顺序列表800中的设备登记切换连接目的设备。
图21中的流程图例示了根据监视图16中的相应设备的状态所执行的备用打印处理(S1614)的细节。
图22中的流程图例示了之前所述的与传送管理单元430相关的传送连接管理处理的细节。当接受图18中的流程图中的传送请求时,依照图22中的流程图传送打印作业。下面会描述各自流程图的细节。
由打印管理服务器101处理
图14是例示当一般应用程序401在监视器404和单元412中分发打印作业时由作业控制端口监视器404和打印队列管理单元412进行的处理的流程图。定制应用程序406经由API 407在打印队列管理单元412中通过类似于由作业控制端口监视器404进行的处理分发所产生的打印作业。
首先,作业控制端口监视器404从打印假脱机程序403接受作业(S1401),并且通知打印队列管理单元412作业增加(S1402)。在该步骤中,监视器404还通知单元412打印机名。然后,作业控制端口监视器404从打印队列管理单元412接受附加有作业ID的作业文件名,并且在HDD 211中以指定文件名保存该作业(S1404)。
接下来,作业控制端口监视器404请求打印队列管理单元412进行作业调度(S1405)。在该步骤中,监视器404通知单元412在S1403处从打印队列管理单元412接受的作业ID。当S1406步骤中作业文件被存于HDD 211中时,作业控制端口监视器404通知打印队列管理单元412作业产生完成(S1407),然后完成处理。还是在该步骤中,监视器404通知打印队列管理单元412在S1403从单元412接收的作业ID。
当打印队列管理单元412从作业控制端口监视器404接受作业增加的通知时(S1411),单元412发出作业ID(S1412)。然后,单元412通知打印机端口有作业增加(S1413)。在该步骤中,单元412通知端口有发出的作业ID。接着,单元412从打印机端口管理单元413接受该作业文件名(S1414),并且通知作业控制端口监视器404该作业文件名(S1415)。
然后,当打印队列管理单元412从作业控制端口监视器404接受作业调度通知时(S1416),单元412通知打印机端口管理单元413有作业调度(S1417)。在该步骤中,打印队列管理单元412通知打印机端口管理单元413在S1412中所发出的作业ID。
当打印队列管理单元412被作业控制端口监视器404通知完成作业产生时(S1418),打印队列管理单元412通知打印机端口管理单元413完成作业产生(S1419),然后完成处理。还是在该步骤中,打印队列管理单元412通知打印机端口管理单元413在S1412中所发出的作业ID。
图15是例示当在S1413处从打印队列管理单元412中分发打印作业时,由打印机端口管理单元413进行的处理的流程图。
首先,当由打印机端口管理单元413通知打印机端口管理单元413作业增加时(S1501),单元413检查打印机是否已连接,以及是否已由连接管理单元420获取设备状态(S1502)。如果打印机没有获取设备状态,即打印机尚未被连接到该设备,则单元413通知连接管理单元420连接开始(S1503)。在该步骤中,单元413基于打印请求时指定的打印机通知单元420打印机端口信息。
接着,打印机端口管理单元413根据所接受的作业ID发出作业文件名(S1504),以及通知打印队列管理单元412对应于该打印作业的文件名(S1505)。
当打印机端口管理单元413被打印队列管理单元412请求调度时(S1506),单元413通知连接管理单元420调度(S1507),然后完成处理。在该步骤中,打印机端口管理单元413通知连接管理单元420由打印队列管理单元412通知的作业ID。
图16是例示当打印机端口管理单元413通知单元420连接开始时,由连接管理单元420进行处理的流程图。
当打印端口管理单元413通知连接管理单元420连接开始时(S1601),单元420通过连接顺序列表登记处理在结合图8所描述的连接顺序列表800的末尾登记连接信息(S1602)。在S1602中,将被传送的打印作业的输出目的地以及获取其状态信息的打印设备在作为监视队列的连接顺序列表中被顺序登记。在S1602中,处理更新图8中的顺序列表800(也被称作连接顺序列表800)。然而,在S1602中,监视队列中的重新登记不局限于在队列结尾登记,其被描述为一个例子。可在不同于列表的结尾的某处登记信息,使得打印机可被再次连接到设备上。例如,将被登记的信息在重新登记时可被提供预定的优先级,以及基于优先级可被登记于顶部位置。如果将被传送给打印请求中指定的设备的打印作业被顺序地产生,则作为打印作业的输出目的地的设备的连接信息在作为监视队列的连接顺序列表800中被顺序登记。
接下来,在S1603中,连接顺序列表800中被连接的监视连接装置数量与被设置的监视连接的最大数量相比。如果连接数量达到监视连接的最大数量,则监视连接装置的数量与传送连接顺序列表900中的传送连接装置数量的总和与被设置的连接最大数量相比。如果连接的总数达到连接的最大数量,则设备状态被改为″等待连接″(S1604),并且处理前进到S1609。否则,如果连接数量与连接的总数均未达到监视连接的最大数量与连接的最大数量,则执行连接处理。
设备管理单元421开始连接处理,并且通知对应于打印机端口的设备调度器103连接(S1605)。更具体地,根据连接顺序列表800中的打印设备的登记顺序,单元421连接到打印设备,并且从该打印设备获取状态信息。下面结合流程图将详细地描述状态获取处理。在该步骤中,单元421通知调度器103被设置的唯一ID。连接成功之后,设备管理单元421在设备调度器103中登记事件(S1606)。然后,设备管理单元421等待接收由设备调度器103通知的设备状态改变事件(S1607)。
当设备管理单元421从设备调度器103获取设备状态(S1608)或设置设备状态为等待(S1604)时,单元421更新内部管理的设备状态(S1609)。接下来,单元421通知打印机端口管理单元413更新的设备状态(S1610)。
S1606和S1607中获取设备状态的方法可被替换为例如轮询将被监视的设备以及等待轮询响应的处理。S1606以及S1607中的处理可以是监视设备的各种方法。这种方法可以是任何监视将被监视的设备的各种信息的方法,其中经由网络在连接顺序列表800中登记信息。
设备管理单元421确定更新的设备状态是否为″断开″或″等待连接″(S1611)。如果状态为其中的任意一个,则单元421结束处理。否则,如果设备状态两者都不是,则单元421确定设备状态是否为″错误″(S1612)。这里″错误″表明由于缺乏供给例如纸张或墨粉、卡纸、软件挂机,打印输出不能被继续的状态。如果单元421确定状态不是″错误″(S1612),则单元421将处理返回给S1607。否则,如果单元421确定状态为″错误″(S1612),则单元421确定备用打印机是否被设置在获取的打印机端口信息中(S1613)。如果设置了备用打印机,则单元421将处理转移到稍后结合图20详细描述的备用打印处理(S1614),然后结束该处理。否则,如果没有设置备用打印机,则单元421将处理返回到S1607。
图17是当根据图15中的流程图由打印机端口管理单元413请求连接管理单元420调度时,由连接管理单元420进行的处理的流程图。由打印机端口管理单元413执行的调度通知对应于上述图15中流程图中的S1507。
连接管理单元420从打印机端口管理单元413接受调度通知(S1701)。在S1702中,设备管理单元421确定将被连接的设备的设备状态是否已被获取。更具体地,单元421在S1702中确定设备状态是否为″断开″。如果设备状态尚未被获取,即,设备为″断开″,则单元421等待连接到设备(S1703)。否则,如果在S1703中单元421确定为″是″,则单元421累计连接顺序列表中尚未被传送的作业数量(S1704)。
接下来,设备管理单元421在S1705中确定设备状态是否为″等待连接″。如果设备状态为″等待连接″,则单元421检查调度的打印作业的优先级设定(S1706)。如果优先级高于普通,则连接顺序控制单元422改变连接顺序列表(S1707)。在连接顺序列表改变处理中,单元422在连接顺序列表中改变连接的优先级,并且按优先级顺序排序列为″等待连接″的作业。在单元422请求传送连接管理单元431改变传送连接顺序列表900的顺序以按优先级执行传送连接之后(S1708),单元422结束处理。如果调度的打印作业的优先级等于或低于普通,则单元422结束处理。
在由连接顺序控制单元422执行的连接顺序列表改变处理中,被设置的优先级可以是所有调度的作业的优先级的总和、最大值或平均值。即,设置给连接顺序以优先级的条件策略决定了行为。例如,当使用作业优先级的总和时,针对相应设备存储调度的作业的优先级总和,并且每当调度作业时,增加优先级以及根据该值排序连接顺序列表。
如果S1705中确定设备状态不是″等待连接″,则设备管理单元421如下所述开始传送处理(S1709)。如果设备状态为″等待检查″,则设备管理单元421确定为“否”(S1705)。
图18是例示当设备管理单元421开始作业传送处理时由设备管理单元421进行处理的流程图。更具体地,确定是否满足特定条件以确定是否中断监视设备。如果确定不满足特定条件,以及不应改变将被监视的设备,则单元421向传送连接管理单元431请求传送打印作业。
这里作业传送请求处理是广义术语,其包含传送打印作业的各种处理,例如向传送连接管理单元431请求传送打印作业的处理以及请求调度打印作业的处理。
首先,设备管理单元421通知对应于打印机端口的设备调度器103连同作业信息一起调度登记(S1801)。
接下来,设备管理单元421启动用于连续监视设备的计时器(S1802)。接着,在S1803中确定连续监视计时器是否表明时间已到。特别地,确定是否是打印机端口信息600中设置的连续监视的时间限制。如果在S1803中确定时间已到,则在S1804中执行后面结合图19会描述的目标打印机切换以中断监视打印设备。
如果在S1803中确定时间未到,则在S1805中确定是否从设备调度器103接收到作业状态改变事件。如果在S1805中没有接收作业状态改变事件,则在S1806中累计计时器,并且单元421返回处理(S1803)。
当设备管理单元421从设备调度器103接收到作业状态改变事件时,单元421重置连续监视计时器(S1807),并且确定所接收的事件是否是″调度更新″即打印许可(S1808)。如果接收的作业状态改变事件不是″调度更新″,则单元421在S1809中确定是否已完成在打印队列中登记的所有打印作业。如果不是所有在队列中登记的打印作业都已被完成,单元421将处理返回到S1803。如果在当前打印队列中登记的全部打印作业都已被完成,则单元421执行图19中的目标打印机切换以中断监视打印设备(S1810),然后结束处理。
当S1808中设备管理单元421确定从设备调度器103中接收到″调度更新″时,单元421减少计数连接顺序列表中尚未被传送的作业数量,以及累计已传送的作业数量(S1811)。接着,单元421将作业状态改成″正在传送″,并且通知打印机端口管理单元413该改变(S1812)。接下来,单元421向传送连接管理单元431请求启动传送打印作业(S1813)。在该步骤中,设备管理单元421通知传送连接管理单元431传送目的地的打印机端口信息和作业ID。在这个实施例中为请求传送启动,打印机在由传送连接管理单元431管理的传送连接顺序列表900中被登记作为处于″等待传送″状态。在该步骤中,如果打印机在传送连接顺序列表900中已被登记,在已登记的打印机信息中尚未被传送的作业数量被累计。请求传送启动的方法可被实现成通知传送连接管理单元431消息的处理。
设备管理单元421将被累计的已传送作业数量与打印机端口信息中设置的连续传送数量相比(S1814)。如果在S1814中确定已传送作业数量达到连续传送数量,则单元421执行图19中的目标打印机切换以中断监视打印设备(S1815)。如果在S1814中确定为“否”,则单元421执行图19中的流程,如稍后详细描述的。如果在S1903中确定为“是”(即另一个登记作业在等待),则单元421检查在列表结尾的候选设备是否有未完成的打印作业(S1909)。如果确定有任何未完成的打印作业,则在列表的结尾登记作业(S1911)。然后,单元421指示启动下一个(图8中处于不同于″已连接的″状态的第四个打印机)连接处理(S1915)。最后,执行图19的流程图中的步骤S1915,根据连接顺序列表800中的登记顺序可顺序地切换打印设备的连接,并且即使没有完成打印作业的传送,也可以获取从打印设备获取的状态信息。
如果已传送作业数量未达到连续传送的数量,则在S1816中确定是否有任何尚未被传送的作业。如果没有作业,则执行图19中的目标打印机切换处理(S1815)。否则,如果在S1816中确定有尚未被传送的作业,则单元421将处理返回到S1802。
图19是当目标打印机切换处理启动时,例示由设备管理单元421中断监视打印设备,以及在监视队列(连接顺序列表800)中重新登记中断监视的设备的流程图。
首先,设备管理单元421启动目标打印机切换处理(S1901),重置连接顺序列表中连续传送数量,以及重置连续监视计时器(S1902)。
设备管理单元421确定在连接顺序列表中设备是否处于″等待连接″或″等待检查″状态(S1903)。如果连接顺序列表中没有这样的设备,则单元421在S1904中确定打印队列是否包含未完成的作业。如果有任何未完成的作业,则单元421将处理返回到打印切换处理的调用程序(S1905)。如果没有未完成的作业,则单元421停止连续监视计时器(S1906),并且指示删除在设备调度器103中登记的事件(S1907)。然后,单元421通知设备调度器103断开(S1908),将设备状态更新成″断开″,然后结束处理。
否则,如果在S1903中确定连接顺序列表包含处于″等待连接″或″等待检查″状态的设备,则设备管理单元421在S1909中确定将被监视的打印队列(其监视将被中断的)是否还包含未完成的打印作业。如果单元421在S1909中确定有任何未完成的打印作业,则单元421将设备状态改成″等待检查″(S1910),并且将位置移动到连接顺序列表的结尾(S1911)。在S1911中对监视队列的重新登记处理是例如在队列的结尾登记,但是本发明不局限于此。如果打印机可以再次连接到设备,则登记可在不同于队列结尾的任何地方进行。例如,在重新登记时预定的优先级可被提供给将被登记的作业,并且根据该优先级可在前面位置登记该作业。在S1911中处理在监视队列(连接顺序列表800)结尾处再次重新登记监视中断的设备,因此根据监视队列中所登记的登记状态,可再次监视该设备。
然后,单元421停止连续监视计时器(S1912),并且指示删除在设备调度器103中登记的事件以中断监视打印设备(S1913)。然后,单元421通知设备调度器103断开(S1914),指示启动连接到连接顺序列表中下一个位置上列出的设备的处理(S1915),将设备状态改成″断开″,然后结束处理。
图20是例示当设备管理单元421指示图8的连接顺序列表800中的下一个连接处理时,由设备管理单元421进行处理的流程图。图20中的处理适用于监视被中断的情况下的处理,在打印监视队列中重新登记设备,并且再次执行连接处理。
首先,设备管理单元421在S2001中确定连接顺序列表800中下一个位置上列出的设备的状态是否为″等待检查″。如果状态不是″等待检查″,则流程前进到图16中的点16-1处来处理普通连接。否则,如果状态为″等待检查″,则单元421连接到对应于打印机端口的设备调度器103(打印管理单元410的最左下方)上(S2002)。更具体地,根据连接顺序列表800(监视队列)中的打印设备的登记顺序,单元421连接到打印设备,并且类似于S1605,从打印设备获取状态信息。在该步骤中,单元421通知正被设置的唯一ID。连接成功之后,设备管理单元421通知设备调度器103历史获取,以及获取由设备调度器103保持的历史(S2003)。结合图24将详细描述S2003中对应于获取处理的、由设备进行的处理。在S2004中,单元421基于下一个获取的历史更新作业状态(图7中的作业信息705、708和709)。
接下来,设备管理单元421检查通过传送连接管理单元431到打印机的传送状态(S2005)。在S2006中,单元421确定传送状态是否为传送错误。如果为“是”,即状态为传送失败,则在S2007中单元421基于类似于图16中的S1613的确定,判断是否执行备用打印。如果根据S2007中的确定执行备用打印,在单元421从传送连接顺序列表900清除连接到打印机的信息(S2008),并且将处理转移到图21中的备用打印处理(S2009)。如果S2007中确定不执行备用打印,单元421也从传送连接顺序列表900中清除连接到打印机的信息(S2010),将打印作业的状态设置成错误,并且将处理转移到下一个步骤S2012。
如果S2006中确定传送不导致错误,则在S2011中单元421确定传送是否已被正常完成。如果为“否”,即作业为″正在传送″或传送连接顺序列表900不包含打印机登记,则单元421将处理转移到S2012。如果在S2011中确定传送完成,则单元421从传送连接顺序列表900中清除打印机的连接信息(S2010),并且处理转移到S2012。
在S2012中,设备管理单元421基于更新的作业状态,确定是否全部在打印队列中登记的作业都已被完成。如果已经完成全部作业,则单元421从连接顺序列表中清除设备的信息(S2013)。接着,单元421通知设备调度器103删除登记的事件(S2014)。然后,单元421通知设备调度器103断开连接(S2015),将连接到设备的状态设置成″断开″,然后结束处理。
如果不是全部在打印队列中登记的作业都已被完成,则设备管理单元421通知设备调度器103事件登记(S2016),并且将处理转移到图18中的点18以及图16中的点16-2中。之后,至少图16和18的流程图中的处理被并行执行。
图21是例示当设备管理单元421执行备用打印处理时,由设备管理单元421进行处理的流程图。
当备用打印处理开始时,在S2101中,设备管理单元421挂起在打印队列中登记的、对应于导致错误的设备的全部作业。接下来,单元421获取打印机端口信息中设置的备用打印机信息(S2102)。其次,单元421在备用打印机中登记全部在打印机队列中登记的作业的调度(S2103)。接下来,单元421清除在备用打印机队列中登记的全部作业(S2104),并且将清除的作业的状态设置成已完成状态。然后,单元421将备用设备插入到连接顺序列表800中的前列″等待连接″或″等待检查″中(S2105)。最后,单元421执行目标打印机切换处理,并且实现备用打印处理(S2106)。
对打印作业的传送控制处理
图22是例示由传送连接管理单元431进行控制传送打印作业到打印机的处理的流程图。处理适用于根据在传送连接顺序列表900(传送队列)中登记的打印设备传送打印作业的登记顺序传送打印作业的处理。
传送连接管理单元431从传送连接顺序列表900中的最高级开始顺序地检查相应传送单元432的传送状态(S2201),并且确定传送是否导致错误(S2202)。如果传送导致错误,首先,在S2203中单元431将传送连接顺序列表900中的打印机的传送状态设置成传送错误,并且将该打印机从检查目标除去。然后,单元431请求设备管理单元421提升监视连接等级(S2204),并且将处理过程返回到S2201以检查传送连接顺序列表900中的下一个位置。
如果S2202中传送不导致错误,则在S2205中单元431检查传送是否已完成。如果传送已完成,则在S2206中单元431确定是否剩余尚未被传送的另一个作业。如果没有这样的作业剩余。则在S2207中单元431将传送状态设置成完成,类似于S2203将该打印机从检查目标中除去(S2207),并且将处理过程返回到S2201。在S2206中,如果剩余任何尚未被传送的作业,则单元431将传送状态设置成″正在传送″以继续处理(S2208),然后开始传送下一个作业。换言之,传送单元432基于S2208中的作业ID开始传送作业数据(S2209),并且将处理过程返回到S2201以检查传送连接顺序列表900中的下一个位置,
如果S2205中传送尚未完成,则在S2210中单元431确定状态是否是″未连接″。如果为“否”,即状态是″正在传送″,则单元431将处理过程返回以检查传送连接顺序列表900中的下一个位置(S2201)。如果S2210中状态是″未连接″,则在S2211中单元431确定新传送连接是否可能。如果传送连接不是可能的,则单元431将处理过程返回到S2201。在S2211中,如果单元431确定传送连接是可能的,则单元431将传送连接顺序列表900中的打印机的传送状态设置成″正在传送″(S2208)。然后,单元431产生相应传送单元432以开始传送(S2209),并且传送打印作业。在S2209中,处理过程根据在传送连接顺序列表900中登记的打印设备传送打印作业的登记顺序(传送队列)实际传送打印作业。
接下来,单元431通知传送单元432打印机端口信息和在S2210中产生的作业ID以开始传送,并且将处理过程返回到S2201以检查下一个位置。
在S2211中确定连接是否可能时,传送连接顺序列表900被连接的传送连接的装置数量与设置的传送连接的最大数量相比。如果连接数量达到传送连接的最大数量,则传送连接的设备数量与监视连接的设备数量的总和与设置的连接的最大数量相比。如果连接的总数量达到连接的最大数量,则确定连接是不可能。否则,如果连接数量和连接的总数分别未达到传送连接的最大数量和连接的最大数量,则确定连接是可能的。根据如上所述传送连接顺序列表900中的登记顺序,传送连接管理单元431基于传送状态顺序地执行处理,从而控制传送到打印机的打印作业的顺序。
可以不基于S1914和S1915中的处理过程执行图22中的流程图,而是即使执行S1804和S1815中的目标打印机切换处理,也可继续将打印作业传送给正在传送打印作业的打印设备。
传送连接与监视连接之间的关系
图25是目标打印机切换的示意性描述在图25的上面的模块中,服务器通过与设备104A的监视连接和传送连接,将作业传送给设备104A。服务器对设备104B执行类似的处理。
图26是当图25中的目标打印机切换发生时,连接顺序列表800和传送连接顺序列表900的切换例子的图例。
首先,参照之前描述的流程图,将描述监视连接处理(2501和2504)。图16的流程图中,在S1607处等待从设备调度器103通知设备状态中的改变的事件接收。然后,在S1614中,根据S1611中的确定,基于该事件接收的结果或状态转变成″断开″、″等待连接″来执行备用打印处理,然后处理过程结束或返回到步骤S1607。在监视连接处理中,即使打印作业的传送不以实际传送连接结束,也对相应设备顺序地执行监视连接。
在图26的连接顺序列表800中的列表2601中,顺序1中的设备104A的状态和顺序2中的设备104B的状态是″已连接″。这表明状态是″将被监视连接″。
在传送处理中,首先,在图18的流程图中的S1805中,等待从设备调度器103通知作业状态中的改变的事件接收。然后,基于该事件接收的结果,在根据S1808中的确定更新调度之后,执行传送连接处理。根据S1809的确定完成对全部调度作业的传送处理,并且执行目标打印机切换处理,或将处理过程返回到S1803。
在传送连接处理中(2502),在图22的流程图中的S2201中,通过传送单元432检查传送状态,并且基于该检查结果执行S2203中的传送错误处理。根据S2206中的确定完成全部传送以及将检查目标除去,处理返回到步骤S2201中。
以上状态由事实表明,该事实为在图26的传送连接顺序列表900中的列表2603中,在顺序1中的设备104A的状态和在顺序2中的设备104B的状态为″正在传送″。
如果连续传送到设备104A的作业数量达到预先设置的连续传送数量,即图18的S1814中确定为“否”,打印切换处理发生。另外,如果达到连续监视时间,即图18的S1803中的确定为“是”,则图19中打印切换处理发生。如果打印切换处理发生,则处理前进到图25中的下面的模块的状态。在该步骤中,如果设备104A的传送连接的状态是″正在传送″,则继续设备104A的传送连接,而只断开监视连接,并且启动下一个位置(图25中未被连接的设备104C)的监视连接。
以上处理通过确定来实现,该确定是图26的连接顺序列表800中的列表2601中的顺序3的设备104C的状态在图19的流程图S1903中是″等待连接″,并且移动到S1909。
由于不是全部发送给设备104A的作业都已被完成,在图26的连接顺序列表800中的列表2602中,通过S1910和S1911将处于″等待检查″的连接状态的作业插入到顺序4。然后,对设备104C的连接处理执行图20中的下一个连接处理。
由于设备104A的传送尚未完成,所以图22中的传送处理继续传送(2503)以定期检查传送状态直到完成。因此,传送连接顺序列表900不像在图26中的2604中那样转变。
设备104A的传送连接的状态为″正在传送″的情况包含,例如将作业传送分组以便在会话的连接期间集中地传送多个作业、传送具有费时的极大量数据的作业等等。图27是另一个目标打印机切换的示意性描述。如图27所示,利用图25的2505中的监视连接处理(图27中的2703和2705),无需传送连接就可从设备调度器103获取调度更新(2704和2706)。
由设备调度器103进行的处理
图23是当设备调度器103中发生历史保存处理时的处理流程。
当设备调度器103从设备控制器1001中接收作业完成的事件时(S2301),调度器103指定相应的唯一ID。然后,调度器103通过将该指定唯一ID用作密钥来检查连接列表(图11)中的登记(S2302)。
接下来,在S2303中确定已分发作业的作业完成的事件的被通知方是否已登记了事件。更具体地,对应于完成的事件的唯一ID与包含于连接列表中的唯一ID相比,以确定ID是否彼此匹配。
如果确定登记了匹配ID,则利用唯一ID作为密钥将完成的事件通知通知给一个或多个连接计算机中的相关计算机(S2304)。然后,处理结束。
如果作业完成的事件的被通知方尚未登记事件或未被连接,则在S2305中确定在历史管理文件中是否已登记对应于唯一ID的历史文件信息,所述唯一ID对应于S2301中指定的完成事件。
如果信息已被登记,则在S2306中完成事件被附加于与历史文件信息相关的历史文件的结尾(历史文件名1314)。附加的完成事件是作业已经结束的历史。
如果信息尚未被登记,则产生新历史文件,并且添加完成的事件(S2307)。最后,在历史管理文件中登记该新产生的历史文件(S2308),然后处理结束。
图24是当由打印管理服务405请求设备调度器103历史获取时的处理流程。首先,打印管理服务405请求设备调度器103历史获取(S2401)。对历史获取的请求对应于图20中的S2003的处理。接收的历史获取请求包含唯一ID。在S2402中,参照图12中的调度列表,从历史管理文件中检索匹配该唯一ID的历史文件。然后,在S2403中,利用检索发现的历史文件产生作业完成的事件,并且通知给打印管理服务。历史文件至少包含监视中断时的未完成的打印作业的打印处理结果(打印完成或打印未完成)。
执行以上相应流程图,使得打印管理服务器101上的负载可被明显降低。单独服务器可以监视大量设备,并且跟踪大量打印作业的分发和完成。这样,打印管理服务器101的成本可被明显降低。
例如,为获取类似于以上实施例的效果,在以集中方式管理向远程位置上布置的设备分发的打印作业的情况下,可应用另一个布置集成的服务器的方法。服务器以集成方式在位置上布置打印服务器以及管理打印服务器。在该结构中,集成服务器上负载可被降低。然而,在这些位置上布置的打印服务器的安装成本和管理成本是较高的。此外,如果打印服务器中的任何一个出现问题,对于集成服务器来说很难发现和管理问题。此外,需要其它处理来编译由多个位置上的打印服务器产生的作业信息。更进一步,如果设备改变,需要麻烦的工作来保持打印服务器和集成服务器的信息中的一致性。例如,根据该实施例,以如上所述的集中方式管理向布置在远程位置上的设备分发的打印作业,监视打印作业的状态的打印服务器的成本可被降低。
传送连接和监视连接的详细说明
图28和29是根据本发明,传送连接和监视连接的二元管理作为打印系统的特征的示意性描述。
在图28中,传送单元432传送打印作业到设备104A和104B中,同时设备104C和104D通知相应设备管理单元421打印历史(2803和2804)。
打印作业的传送连接(2801和2802)以及设备状态的监视连接(2803和2804)被分别以如上所述的二元方式管理,使得可以并行执行打印处理和打印管理处理。
在这个实施例中,可设置监视连接数量和传送连接数量。图29例示了连接的上限数量为例如4个(2901,2902、2903和2904)的情况。例子示出了设备104A和104B被传送连接,设备104C被传送连接以及监视连接的状况,以及传送连接数量为三个,监视连接数量为一个的状况。如果以集中方式管理监视连接和传送连接,两个数量彼此相等;例如,传送连接数量为两个,监视连接数量为两个。本发明实现了传送连接和监视连接的单独管理。因此,在连接数量为四个内提高传送效率的处理,那就是说,可以实现比监视连接多许多的传送连接的状况。利用分别管理,即以二元方式管理、在连接的极限数量内的监视连接数量和传送连接数量实现了该状况。被设置成监视连接数量的值被用于图16的S1603中确定监视连接数量是否达到最大数量。被设置成传送连接数量的值被用于在图22的S2211中确定传送连接是否是可能的。
第二实施例
传送连接的最大数量、监视连接的最大数量以及连接的最大数量根据由用户通过设置屏幕任意地预先设置的特定数来决定。基于打印系统环境,连接的最大数量、传送连接的最大数量以及监视连接的最大数量被改变成设定数值,使得例如基于给予监视重视或给予传送重视的系统策略,可以进行设置。
其它实施例
本发明可被应用于包含多个机器的系统(例如主机、接口机器、读出器、打印机等等),或应用于包含单一机器的装置(例如复印机、传真机等等)。本发明的目的可以通过向系统或装置提供用于记录程序代码以实现前面描述的实施例的功能,以及使系统或装置中的计算机读取并且执行存储在存储介质中的程序代码的记录介质来实现。在这种情况下,从存储介质中读取程序代码本身实现了前面描述的实施例的功能。程序代码本身和用于存储该程序代码的存储介质是本发明的组成部分。
在本发明中,基于程序代码中的指示、在计算机上运行的操作系统(OS)执行实际处理的一部分或全部,使得处理实现前面描述的实施例的功能。还是在本发明中,从存储介质中读取的程序代码可被写入插入到计算机中的功能扩充插件板或连接到计算机的功能扩展单元所提供的存储器中。在这种情况下,基于写入的程序代码中的指示,在功能扩充插件板或功能扩展单元中所提供的CPU执行实际处理的一部分或全部,使得处理实现前面描述的实施例的功能。
根据本发明的另一个实施例,提供了一种能与多个打印设备通信的信息处理设备,包括:第一登记单元,被配置成按第一登记顺序将所述打印设备顺序地登记到监视队列中,所述打印设备为打印作业的输出目标,并且从所述打印设备获取状态信息;第二登记单元,被配置成按第二登记顺序将作为所述打印作业的输出目标的所述打印设备顺序地登记到传送队列中;状态监视单元,被配置成根据所述第一登记顺序连接所述打印设备,并且从所述打印设备获取所述状态信息;以及传送控制单元,被配置成根据所述第二登记顺序传送所述打印作业,其中,即使所述传送控制单元尚未完成所述打印作业的传送,所述状态监视单元也根据所述第一登记顺序来顺序地切换与所述打印设备的连接,并且从所述打印设备获取所述状态信息。
根据本发明的另一个实施例,提供了一种用于能与多个打印设备通信的信息处理设备的作业处理方法,包括:按第一登记顺序将所述打印设备顺序地登记到监视队列中,所述打印设备为打印作业的输出目标,并且从所述打印设备获取状态信息;按第二登记顺序将作为所述打印作业的输出目标的所述打印设备顺序地登记到传送队列中;根据所述第一登记顺序连接所述打印设备,并且从所述打印设备获取所述状态信息;以及根据所述第二登记顺序传送所述打印作业,其中,所述连接和获取步骤包括:即使所述传送步骤尚未完成所述打印作业的传送,也根据所述第一登记顺序来顺序地切换与所述打印设备的连接,并且从所述打印设备获取所述状态信息。
前面已经描述了本发明的示例性实施例。然而,显然本发明不局限于这些实施例,而是可以包含权利要求范围内的各种变化或应用。
虽然已经参照示例性实施例描述了本发明,然而应当理解,本发明不局限于公开的示例性实施例。后附权利要求书的范围应被给予最宽的解释,以便包括所有这种修改、等同结构和功能。