控制装置和图像形成系统转让专利

申请号 : CN201310553336.6

文献号 : CN103645866B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 松下一清

申请人 : 富士施乐株式会社

摘要 :

本发明公开控制装置和图像形成系统。控制装置包括:输出单元,其获取图像形成信息项并且执行按次序输出上述信息项的输出处理;发送单元,其从存储单元获取该信息项并且执行将该信息项发送至图像形成单元的发送处理;输出历史生成单元,其生成输出历史,在输出历史中记录有执行构成输出处理的单位处理的次序;发送历史生成单元,其生成发送历史,在发送历史中记录有执行构成发送处理的单位处理的次序;检查单元,其检查上述两个执行单位处理的次序是否匹配;确定信息生成单元,其生成确定信息项,确定信息项用于确定单位处理之中的在输出历史中已经由检查单元检查的单位处理和单位处理之中的在发送历史中已经由检查单元检查的单位处理。

权利要求 :

1.一种控制装置,包括:

输出单元,其获取要在用于形成图像的图像形成单元的图像形成处理中使用的图像形成信息项,并且执行按次序输出所述图像形成信息项的输出处理,以便使暂时地存储图像形成信息项的存储单元存储所述图像形成信息项;

发送单元,其从所述存储单元获取所述图像形成信息项,并且执行将所述图像形成信息项发送至所述图像形成单元的发送处理;

输出历史生成单元,其生成输出历史,在所述输出历史中记录有执行构成所述输出处理的单位处理的次序;

发送历史生成单元,其生成发送历史,在所述发送历史中记录有执行构成所述发送处理的单位处理的次序;

检查单元,其检查记录在所述输出历史中的执行单位处理的次序和记录在所述发送历史中的执行单位处理的次序是否匹配;以及确定信息生成单元,其生成确定信息项,所述确定信息项用于确定构成所述输出处理的单位处理之中的在所述输出历史中已经由所述检查单元检查过的单位处理和构成所述发送处理的单位处理之中的在所述发送历史中已经由所述检查单元检查过的单位处理。

2.根据权利要求1所述的控制装置,其中,所述检查单元从顺序位置与利用所述确定信息项确定的单位处理的顺序位置相符的单位处理起按执行单位处理的次序依次检查单位处理。

3.根据权利要求1或2所述的控制装置,还包括分别地生成输出历史文件和发送历史文件的文件生成单元,多个输出历史以基于预定条件的单位记录在所述输出历史文件中,多个发送历史以基于预定条件的单位记录在所述发送历史文件中,其中,所述检查单元从记录在已经生成的所述输出历史文件和所述发送历史文件的最早文件中的输出历史和发送历史起按优先次序检查所述输出历史和所述发送历史。

4.根据权利要求3所述的控制装置,还包括移除单元,所述移除单元移除在所述文件生成单元生成的所述输出历史文件和所述发送历史文件之中已经由所述检查单元完成所有单位处理的检查的文件。

5.一种图像形成系统,包括:

图像形成单元,其形成图像;

输出单元,其获取要在所述图像形成单元的图像形成处理中使用的图像形成信息项,并且执行按次序输出所述图像形成信息项的输出处理,以便使暂时地存储图像形成信息项的存储单元存储所述图像形成信息项;

发送单元,其从所述存储单元获取所述图像形成信息项,并且执行将所述图像形成信息项发送至所述图像形成单元的发送处理;

输出历史生成单元,其生成输出历史,在所述输出历史中记录有执行构成所述输出处理的单位处理的次序;

发送历史生成单元,其生成发送历史,在所述发送历史中记录有执行构成所述发送处理的单位处理的次序;

检查单元,其检查记录在所述输出历史中的执行单位处理的次序和记录在所述发送历史中的执行单位处理的次序是否匹配;以及确定信息生成单元,其生成确定信息项,所述确定信息项用于确定构成所述输出处理的单位处理之中的在所述输出历史中已经由所述检查单元检查过的单位处理和构成所述发送处理的单位处理之中的在所述发送历史中已经由所述检查单元检查过的单位处理。

说明书 :

控制装置和图像形成系统

技术领域

[0001] 本发明涉及控制装置和图像形成系统。

背景技术

[0002] 在日本未审查的专利申请公开No.2007-18306中披露了,在与主机装置等连接且执行打印的打印机中,即使例如当在通信数据项的任意部分中发生数据丢失或数据损坏时,也能确定地检测出数据丢失或数据损坏以防止发生异常打印。在日本未审查的专利申请公开No.2007-18306中披露了如下构造:将打印数据项划分成多个块的构造,其中,对于每个块判断表示块的尺寸的块尺寸是否超过预定阈值,并且当块尺寸超过预定阈值时,放弃打印任务;以及能够根据通信环境等将作为异常数据判断标准的阈值设定为任何适当值的构造。
[0003] 提供了这样一种系统:所述系统包括上级装置和图像形成装置,上级装置和图像形成装置彼此连接,从而在彼此之间发送/接收数据项,并且图像形成装置基于从上级装置发送来的数据项来执行图像形成。在该系统中,在执行多个打印任务的情况下,上级装置可以暂时地存储多个输出指令和输出数据项,并且可以依次地将数据项发送和输出到图像形成装置。在该情况下,可以请求基于打印指令按次序来执行打印任务。

发明内容

[0004] 本发明的目的在于,在检查基于多个输出指令的图像形成处理是否按正确次序执行的情况下,避免不完全的检查。
[0005] 根据本发明的第一方面,提供了一种控制装置,其包括输出单元、发送单元、输出历史生成单元、发送历史生成单元、检查单元和确定信息生成单元。输出单元获取要在用于形成图像的图像形成单元的图像形成处理中使用的图像形成信息项,并且执行按次序输出所述图像形成信息项的输出处理,以便使暂时地存储图像形成信息项的存储单元存储所述图像形成信息项。发送单元从所述存储单元获取所述图像形成信息项,并且执行将所述图像形成信息项发送至所述图像形成单元的发送处理。输出历史生成单元生成输出历史,在所述输出历史中记录有执行构成所述输出处理的单位处理的次序。发送历史生成单元生成发送历史,在所述发送历史中记录有执行构成所述发送处理的单位处理的次序。检查单元检查记录在所述输出历史中的执行单位处理的次序和记录在所述发送历史中的执行单位处理的次序是否匹配。确定信息生成单元生成确定信息项,所述确定信息项用于确定所述单位处理之中的在所述输出历史中已经由所述检查单元检查过的单位处理和所述单位处理之中的在所述发送历史中已经由所述检查单元检查过的单位处理。
[0006] 根据本发明的第二方面,在根据第一方面的控制装置中,所述检查单元从顺序位置与利用所述确定信息项确定的单位处理的顺序位置相符的单位处理起按执行单位处理的次序依次检查单位处理。
[0007] 根据本发明的第三方面,根据第一方面或第二方面的控制装置还包括分别地生成输出历史文件和发送历史文件的文件生成单元,多个输出历史以基于预定条件的单位记录在所述输出历史文件中,多个发送历史以基于预定条件的单位记录在所述发送历史文件中。所述检查单元从记录在已经生成的所述输出历史文件和所述发送历史文件的最早文件中的输出历史和发送历史起按优先次序检查所述输出历史和所述发送历史。
[0008] 根据本发明的第四方面,根据第三方面的控制装置还包括移除单元,所述移除单元移除在所述文件生成单元生成的所述输出历史文件和所述发送历史文件之中已经由所述检查单元完成所有单位处理的检查的文件。
[0009] 根据本发明的第五方面,提供了一种图像形成系统,其包括图像形成单元、输出单元、发送单元、输出历史生成单元、发送历史生成单元、检查单元和确定信息生成单元。图像形成单元形成图像。输出单元获取要在所述图像形成单元的图像形成处理中使用的图像形成信息项,并且执行按次序输出所述图像形成信息项的输出处理,以便使暂时地存储图像形成信息项的存储单元存储所述图像形成信息项。发送单元从所述存储单元获取所述图像形成信息项,并且执行将所述图像形成信息项发送至所述图像形成单元的发送处理。输出历史生成单元生成输出历史,在所述输出历史中记录有执行构成所述输出处理的单位处理的次序。发送历史生成单元生成发送历史,在所述发送历史中记录有执行构成所述发送处理的单位处理的次序。检查单元检查记录在所述输出历史中的执行单位处理的次序和记录在所述发送历史中的执行单位处理的次序是否匹配。确定信息生成单元生成确定信息项,所述确定信息项用于确定所述单位处理之中的在所述输出历史中已经由所述检查单元检查过的单位处理和所述单位处理之中的在所述发送历史中已经由所述检查单元检查过的单位处理。
[0010] 在根据第一方面的控制装置中,在检查基于多个输出指令的图像形成处理是否按正确次序执行的情况下,避免了不完全的检查。
[0011] 在根据第二方面的控制装置中,与控制装置不具有本构造的情况相比,能够有效地检查出已经执行的单位处理的次序的异常。
[0012] 在根据第三方面的控制装置中,能够以文件为单位管理单位处理的历史,并且能够执行多个文件中的完全检查。
[0013] 在根据第四方面的控制装置中,与控制装置不具有本构造的情况相比,能够基于以文件为单位管理的单位处理的历史有效地检查出已经执行的单位处理的次序的异常。
[0014] 根据第五方面,能够实现如下的图像形成系统:在检查基于多个输出指令的图像形成处理是否按正确次序执行的情况下,避免不完全的检查。

附图说明

[0015] 将基于以下附图详细描述本发明的示例性实施例,其中:
[0016] 图1是示出根据本示例性实施例的图像形成系统的构造的实例的示意图;
[0017] 图2是示出根据本示例性实施例的打印服务器的功能构造的实例的示意图;
[0018] 图3是示出打印服务器的硬件构造的实例的示意图;
[0019] 图4是示出由打印管理单元执行的输出处理的程序的流程图;
[0020] 图5是示出在接收到取消指令的情况下由打印管理单元执行的处理的程序的流程图;
[0021] 图6是示出由存储单元和打印控制单元执行的发送处理的程序的系统流程图;
[0022] 图7A和图7B是示出输出次序列表和打印次序列表的实例的示意图;
[0023] 图8是用于说明输出次序文件和打印次序文件的构造的示意图;
[0024] 图9A和图9B分别为示出用于检查打印次序的由检查单元执行的检查处理的程序的流程图的第一部分和第二部分;
[0025] 图10示出用于说明对象信息确定处理和文件管理处理的文件构造的具体实例;
[0026] 图11是示出对象信息确定处理的程序的流程图;以及
[0027] 图12是示出文件管理处理的程序的流程图。

具体实施方式

[0028] 下文中,将参照附图对本发明的示例性实施例进行详细说明。
[0029] 系统构造
[0030] 图1是示出根据本示例性实施例的图像形成系统的构造的实例的示意图。
[0031] 图1所示的图像形成系统包括打印服务器100和图像形成装置200。打印服务器100管理打印任务,打印任务为基于打印指令(输出指令)的处理。图像形成装置200在打印服务器100的控制之下执行打印处理(图像形成处理)。打印服务器100和图像形成装置
200彼此直接地连接或经由网络等连接,从而在彼此之间发送和接收数据。此外,打印服务器100经由局域网(LAN)与主机服务器300连接。
[0032] 作为控制装置的实例提供的打印服务器100是利用例如具有网络功能的个人计算机实现的。打印服务器100接收来自主机服务器300的打印指令和打印数据(输出数据),并且存储(保存)打印数据。然后,打印服务器100将存储的打印数据发送到图像形成装置200,并且使图像形成装置200执行打印处理。而且,根据本示例性实施例的打印服务器100检查是否基于从主机服务器300获取的打印指令按正确次序对图像形成装置200执行打印控制。下文将对打印服务器100的具体功能构造进行说明。
[0033] 作为图像形成单元的实例提供的图像形成装置200获取来自打印服务器100的打印数据,并且基于获取的打印数据利用图像形成材料在诸如纸张(片材)等记录介质上形成(打印)和输出图像。在本示例性实施例中不特别限制在记录介质上形成图像的机构,并且可以使用诸如所谓的电子照相型系统和喷墨式系统等现有的各种类型的方案。
[0034] 主机服务器300是利用例如具有网络功能的计算机来实现的,并且包括保存打印数据的存储装置310。主机服务器300接受打印指令,从存储装置310读出由打印指令指定的打印对象(打印数据),并且将打印对象发送到打印服务器100。从例如与主机服务器300连接的终端装置320输入打印指令。终端装置320是利用例如具有如键盘等输入装置的个人计算机来实现的。
[0035] 打印服务器的功能构造
[0036] 图2是示出打印服务器100的功能构造的实例的示意图。
[0037] 如图2所示,根据本示例性实施例的打印服务器100包括打印管理单元110、存储单元120和打印控制单元130。打印管理单元110获取打印数据,并且执行数据处理。存储单元120存储打印数据。打印控制单元130控制图像形成装置200。此外,根据本示例性实施例的打印服务器100还包括检查单元,检查单元检查对打印数据进行打印的打印次序。
[0038] 作为输出单元和输出历史生成单元的实例提供的打印管理单元110从主机服务器300获取打印指令和打印数据,将获取的打印数据转换成中间数据,并且使存储单元120存储中间数据。从主机服务器300接收到的打印数据以页面描述语言(PDL)来描写。因此,打印管理单元110分析接收到的打印数据,并且将接收到的打印数据转换成不太依赖装置类型或数据处理环境的中间数据。然后,打印管理单元110将生成的中间数据发送到存储单元120。而且,本示例性实施例中的打印管理单元110生成历史信息项(下文称为“输出次序列表”)。在输出次序列表中,记录已经执行输出打印数据(中间数据)的处理(下文称为“输出处理”)(以将打印数据存储在存储单元120中)的次序。
[0039] 作为存储单元的实例提供的存储单元120暂时地存储已被打印管理单元110转换成中间数据的打印数据。因为将图像物理地形成在记录介质上的图像形成装置200的处理速度低于打印服务器100的数据处理速度,所以存储打印数据以吸收打印服务器100的数据处理速度和图像形成装置200的处理速度之间的速度差。因此,在短时间段内提供多个打印指令的情况下,可将对应于打印指令的多个打印数据存储在存储单元120中。当图像形成装置200变得能够接受打印数据时,将存储的打印数据依次读出并转移到打印控制单元130。
[0040] 作为发送单元和发送历史生成单元的实例提供的打印控制单元130是所谓的打印机驱动器。当图像形成装置200能够接受打印数据时,打印控制单元130从存储单元120获取打印数据,并且将打印数据发送到图像形成装置200。如上所述,在多个打印数据存储在存储单元120中的情况下,每当由图像形成装置200执行的打印处理结束时,打印控制单元130就逐一地获取存储的打印数据中的一个,并且将打印数据发送到图像形成装置
200。此外,本示例性实施例中的打印控制单元130生成历史信息项(下文称为“打印次序列表”)。在打印次序列表中,记录已经执行从存储单元120获取打印数据以及将打印数据发送到图像形成装置200的处理(下文称为“发送处理”)的次序。打印次序列表是由例如在打印控制单元130的发送控制功能(为向图像形成装置200执行发送的功能)的控制下的语言监控器或端口监控器来生成的。注意的是,因为打印处理是图像形成装置200基于通过发送处理发送的打印数据来执行的,所以通过打印处理输出图像的输出次序与执行发送处理且记录在打印次序列表中的次序相同。
[0041] 此处,在现有的图像形成系统中使用的存储单元120中,存在具有一定规格的存储单元120,并且在一些规格中,在存储多个打印数据的情况下,不能确保从存储单元120读出打印数据的次序。换言之,存储多个打印数据的次序和读出多个打印数据的次序可能彼此不同。在这种系统中,例如,即使在打印任务A、B和C的打印指令按次序提供的情况下,当从存储单元120中读出打印数据时,也可能改变了次序,例如,图像形成装置200可能按次序执行打印任务A、C和B。
[0042] 相反,在执行多个打印任务的情况下,可能请求按提供打印指令的次序来输出打印结果。在该情况下,在具有符合上述规格的存储单元120的图像形成系统中,输出打印结果的次序不一定匹配打印指令的次序。因此,需要例如手动地检查输出打印结果的次序。在本示例性实施例中,如下文所述,利用检查单元140来检查打印控制单元130执行的发送处理。
[0043] 作为检查单元和确定信息生成单元的实例提供的检查单元140将由打印管理单元110生成的输出次序列表与由打印控制单元130生成的打印次序列表进行比较,从而检查执行输出处理的次序和执行发送处理的次序是否彼此不同。然后,当执行输出处理的次序和执行发送处理的次序彼此不同时,检查单元140执行出错处理。下文将对检查单元140执行的处理的细节进行说明。
[0044] 假设存在这样的情况:在打印数据被存储在存储单元120中之后,读取到取消执行被存储打印数据之前的打印任务的指令(取消指令)。在该情况下,不从存储单元120读出作为取消指令对象的打印数据,并且不利用图像形成装置200来执行基于打印数据的打印任务。然后,在打印次序列表中不记录与发送打印数据的发送处理有关的信息项,该打印数据为取消指令对象。因此,执行输出处理且记录在输出次序列表中的次序和执行发送处理且记录在打印次序列表中的次序不匹配。然而,执行基于有效取消指令的处理(取消处理),并且因此,发生输出次序列表和打印次序列表之间的失配。因此,无需执行出错处理。
[0045] 出于此原因,当打印管理单元110接收到来自主机服务器300的取消指令时,检查单元140从打印管理单元110获取表示已提供该取消指令的信息项,并且保存该信息项。然后,当将输出次序列表和打印次序列表相互比较并且检测到它们之间的失配时,检查单元140基于与取消指令有关的信息项来判断是否执行出错处理。注意的是,由检查单元140获取的与取消指令有关的信息项可以是打印管理单元110用来通知检查单元140已提供取消指令的特定通知信息项,或者可以为取消指令本身。此外,可以通过在输出次序列表中记录已提供取消指令的事实,将该事实被通知给检查单元140。在本示例性实施例中,将在输出次序列表中记录与取消指令有关的信息项的情况作为实例进行说明。
[0046] 硬件构造的实例
[0047] 图3是示出打印服务器100的硬件构造的实例的示意图。
[0048] 图3所示的计算机包括作为计算单元的中央处理单元(CPU)100a以及作为主存储器的存储器100c。此外,该计算机还包括作为外部装置的磁盘装置(硬盘驱动器(HDD))100g、网络接口100f、显示机构100d、声音机构100h、诸如键盘或鼠标等输入装置100i等。
[0049] 在图3所示的构造的实例中,存储器100c和显示机构100d经由系统控制器100b与CPU100a连接。而且,网络接口100f、磁盘装置100g、声音机构100h和输入装置100i经由I/O控制器100e与系统控制器100b连接。上述各个元件经由诸如系统总线和输入/输出总线等各种类型的总线彼此连接。
[0050] 注意的是,图3仅示出了应用了本示例性实施例的计算机的硬件构造的实例。本示例性实施例广泛地应用于管理作为基于打印指令(输出指令)的处理的打印任务的系统,并且本示例性实施例的实现不限于使用图3所示的构造实现。
[0051] 在图3所示的计算机中,用于实现打印服务器100的各项功能的程序存储在磁盘装置100g中。该程序装载到存储器100c中,并且利用CPU100a来执行基于程序的处理,从而实现各种类型的功能。
[0052] 更具体地,CPU100a根据作为例如应用程序准备的程序来执行打印管理单元110中的各项处理。注意的是,从主机服务器300接收打印指令和打印数据是通过例如网络接口100f来执行的。另外,在对打印数据进行转换的情况下,存储器100c用作工作存储器。而且,打印管理单元110所生成的输出次序列表存储在诸如存储器100c或磁盘装置100g等存储器中。
[0053] 存储单元120通过使用诸如存储器100c或磁盘装置100g等存储器而实现为在CPU100a的控制之下保存打印数据的单元,CPU100a执行作为例如操作系统(OS)的功能的一部分而准备的程序模块。
[0054] CPU100a根据作为例如OS的功能的一部分而准备的程序模块来执行打印控制单元130中的各个处理。打印控制单元130所生成的打印次序列表存储在诸如存储器100c或磁盘装置100g等存储器中。
[0055] CPU100a根据作为例如应用程序而准备的程序来执行检查单元140中的各个处理。在通知打印服务器100的操作员已发生错误的情况下,例如,CPU100a执行控制以使检查单元140执行如下处理作为出错处理:利用显示机构100d显示出错消息的处理或者利用声音机构100h输出警告声音的处理。
[0056] 注意的是,使计算机实现本示例性实施例中的各个部件的功能的程序例如不仅可以由通信单元提供,而且可以由存储在如光盘只读存储器(CD-ROM)等记录介质中来提供。
[0057] 打印管理单元的操作
[0058] 图4是示出由打印管理单元110执行的输出处理的程序的流程图。
[0059] 当打印管理单元110开始对作为处理对象的打印任务(下文称为“对象(当前)任务”)执行输出处理(步骤401)时,打印管理单元110将表示对象任务的输出处理已经开始的历史信息项(开始信息项)登记在输出次序列表中(步骤402)。更具体地,例如,打印管理单元110将开始信息项写入由图3所示的存储器100c保存的输出次序列表的数据区域中。开始信息项以从顶部填入输出次序列表的方式依次写入输出次序列表中。不特别限制各个开始信息项的形式,但是至少可以记录对象任务的识别信息项(任务名称、任务号等)和如下的信息项:借助该信息项将包括该信息项的开始信息项识别为开始信息项。
[0060] 接下来,打印管理单元110输出打印数据(中间数据),并且将打印数据存储在存储单元120中。更具体地,首先,打印管理单元110判断是否已接收到取消指令(步骤403)。当打印管理单元110没有接收到取消指令时,打印管理单元110输出打印数据的与一页对应的部分,并且将打印数据的与一页对应的部分存储在存储单元120中(步骤404)。反复执行这些处理,直到对打印数据的与所有页对应的所有部分执行了处理为止(步骤405)。
[0061] 在输出了打印数据的与对象任务的所有页对应的所有部分(步骤405中结果为否)之后或者当已接收到取消指令(步骤403中结果为是)时,打印管理单元110结束对象任务的输出处理(步骤406)。然后,打印管理单元110将表示对象任务的输出处理已经结束的历史信息项(结束信息项)登记在输出次序列表中(步骤407)。如同开始信息项的情况,将结束信息项依次写入例如由图3所示的存储器100c保存的输出次序列表的数据区域中。不特别限制每个结束信息项的形式,但是至少可以记录对象任务的识别信息项以及如下的信息项:借助该信息项将包括该信息项的结束信息项识别为结束信息项。
[0062] 图5是示出在接收到取消指令的情况下打印管理单元110执行的处理的程序的流程图。
[0063] 在打印管理单元110在图4所示的步骤403中已接收到取消指令的情况下,打印管理单元110结束如图4所示的输出处理,并且移除在步骤404和405中存储在存储单元120中的打印数据(步骤501)。然后,打印管理单元110将表示对象任务的取消指令已被提供的历史信息项(取消信息项)登记在输出次序列表中(步骤502)。如同开始信息项和结束信息项的情况,将取消信息项依次写入例如由图3所示的存储器100c保存的输出次序列表的数据区域中。不特别限制各取消信息项的形式,但是至少可以记录对象任务的识别信息项以及如下的信息项:借助该信息项将包括该信息项的取消信息项识别为取消信息项。
[0064] 此处,可能在对象任务的输出处理结束之后提供对象任务的取消指令。在该情况下,因为输出处理已经结束,所以在图4所示的程序中,不执行基于取消指令的操作。然而,执行图5所示的打印数据的移除(步骤501)和取消信息项的登记(步骤502)。注意的是,假设存在这样一种系统:在打印控制单元130从存储单元120读出打印数据之后,从存储单元120中移除读出的打印数据。在该系统中,在从存储单元120中读出打印数据后提供取消指令的情况下,即使当打印管理单元110试图移除打印数据时(步骤501),存储单元120中也可能不存在作为对象的打印数据。在该情况下,简单地,仅执行取消信息项的登记(步骤502)。
[0065] 打印控制单元的操作
[0066] 图6是示出存储单元120和打印控制单元130执行的发送处理的程序的系统流程图。
[0067] 在图6中,示出保存打印数据(为打印控制单元130的处理对象(发送对象))的存储单元120的操作以及负责打印控制单元130的发送控制功能的语言监控器132和端口监控器133的操作。此处,当图像形成装置200能够接受打印数据时,存储单元120依次地输出存储的打印数据。语言监控器132经由端口监控器133将从存储单元120输出的打印数据发送到图像形成装置200。此外,语言监控器132输出表示发送处理进展的历史信息项。端口监控器133将从语言监控器132接收到的打印数据发送到图像形成装置200,并且监控发送处理进展。
[0068] 当图像形成装置200能够接受打印数据时,首先,存储单元120确定对象任务,并且输出打印开始指令(步骤601)。该打印开始指令经由打印控制单元130的语言监控器132和端口监控器133发送到图像形成装置200。在该情况下,关于对象任务的确定,存储单元120可具有依照在存储单元120中存储打印数据的次序确定作为发送处理对象的对象任务的规格,但是存储单元120的规格不限于上述。注意的是,例如,端口监控器133将询问信号发送到图像形成装置200,并且将来自图像形成装置200的响应发送到存储单元120,从而利用存储单元120来判断图像形成装置200是否能够接受打印数据。
[0069] 当语言监控器132接收到打印开始指令时,语言监控器132将表示对象任务的发送处理已开始的历史信息项(开始信息项)登记在打印次序列表中(步骤611)。更具体地,例如,语言监控器132将开始信息项写入由图3所示的存储器100c保存的打印次序列表的数据区域中。开始信息项以从顶部填入打印次序列表的方式依次写入打印次序列表。不特别限制各个开始信息项的形式,但是至少可以记录对象任务的识别信息项(任务名称、任务号等)以及如下的信息项:借助该信息项将包括该信息项的开始信息项识别为开始信息项。
[0070] 接下来,存储单元120逐页依次地读出打印数据的与对象任务的页对应的部分,并且将打印数据转移到打印控制单元130(步骤602)。打印控制单元130利用语言监控器132和端口监控器133将获取的打印数据发送到图像形成装置200。
[0071] 当发送了对象任务的打印数据的所有部分时,存储单元120输出对象任务的打印结束指令(步骤603)。打印结束指令经由打印控制单元130的语言监控器132和端口监控器133发送到图像形成装置200。此后,当端口监控器133接收到表示已完成从图像形成装置200输出对象任务的打印数据的所有部分的通知时,端口监控器133将该通知发送到语言监控器132(步骤621)。
[0072] 当语言监控器132从端口监控器133接收到已从图像形成装置200接收到的通知时,语言监控器132将表示对象任务的发送处理已结束的历史信息项(结束信息项)登记到打印次序列表中(步骤612)。如同开始信息项的情况,将结束信息项依次地写入例如由图3所示的存储器100c保存的打印次序列表的数据区域中。不特别限制各个结束信息项的形式,但是至少可以记录对象任务的识别信息项以及如下的信息项:借助该信息项将包括该信息项的结束信息项识别为结束信息项。
[0073] 以此方式,一个打印任务的发送处理结束。此后,在另一打印任务的打印数据存储在存储单元120中的情况下,类似地,重复发送处理。参照图6,依次地执行下一对象任务的发送处理(参见步骤604、步骤605和步骤613)。然后,在执行发送处理的同时,提供取消指令。
[0074] 如图5所示,当打印管理单元110接收到取消指令时,打印管理单元110移除存储在存储单元120中的打印数据(参见步骤501)。当存储单元120执行打印数据的移除时,存储单元120输出与打印数据有关的打印任务的打印取消指令(图6中的步骤606)。
[0075] 当语言监控器132接收到打印取消指令时,语言监控器132将表示对象任务的发送处理已经取消的历史信息项(取消信息项)登记在打印次序列表中(步骤614)。如同开始信息项和结束信息项的情况,将取消信息项依次写入例如由图3所示的存储器100c保存的打印次序列表的数据区域中。不特别限制各个取消信息项的形式,但是至少可以记录对象任务的识别信息项以及如下的信息项:借助该信息项将包括该信息项的取消信息项识别为取消信息项。
[0076] 注意的是,作为输出打印取消指令的定时,考虑如下三个定时:在与打印取消指令对应的打印任务的发送处理开始之前;在执行发送处理的同时;以及在发送处理完成之后。在发送处理开始之前提供取消指令的情况下,因为发送处理尚未执行,所以图像形成装置200不执行打印处理。在执行发送处理的同时提供取消指令的情况下,图像形成装置200对在提供取消指令之前打印数据的经过发送处理的部分执行打印处理。图像形成装置200不对在提供取消指令时打印数据的尚未经过发送处理的其余部分执行打印处理。在发送处理完成之后提供取消指令的情况下,因为打印任务的打印数据的所有部分已经过了发送处理,所以图像形成装置200输出打印任务的所有图像。在任一情况下,从语言监控器132输出取消信息项,并且将取消信息项登记在打印次序列表中。
[0077] 输出次序列表和打印次序列表的构造的实例
[0078] 图7A和图7B是示出输出次序列表和打印次序列表的实例的示意图。
[0079] 图7A示出了输出次序列表111。在该输出次序列表111中,记录有与六个打印任务A至F的输出处理有关的历史信息项(各历史信息项为开始信息项、结束信息项或取消信息项)。历史信息项中的每个均包括任务名称和信息项类型。例如,包含在顶行中的历史信息项为与打印任务A有关的开始信息项,并且为“任务A:开始”。类似地,包括在第二行中的历史信息项为与打印任务A有关的结束信息,并且为“任务A:结束”。此外,包括在第十三行中的历史信息项为与打印任务E有关的取消信息项,并且为“任务E:取消”。
[0080] 图7B示出了打印次序列表131。在该打印次序列表131中,记录有与六个打印任务A至F的发送处理有关的历史信息项(各历史信息项为开始信息项或结束信息项)。如同图7A中所示的输出次序列表111的历史信息项的情况,历史信息项中的每项均包括任务名称和信息项类型。
[0081] 此处,当将图7A中所示的输出次序列表111和图7B中所示的打印次序列表131相互比较时,在输出次序列表111中,第三行包括与任务B有关的开始信息项,第四行包括与任务B有关的结束信息项,第五行包括与任务C有关的开始信息项,并且第六行包括与任务C有关的结束信息项。同时,在打印次序列表131中,第三行包括与任务C有关的开始信息项,第四行包括与任务C有关的结束信息项,第五行包括与任务B有关的开始信息项,并且第六行包括与任务B有关的结束信息项。换言之,任务B和任务C的输出处理的顺序位置按执行输出处理的次序相互交换,从而按执行发送处理的次序得到任务B的发送处理的顺序位置和任务C的发送处理的顺序位置。
[0082] 此外,因为已经提供任务E的取消指令,所以在打印次序列表131中不存在与任务E有关的历史信息项。因此,在输出次序列表111中,第九行和第十行分别包括与任务E有关的开始信息项和结束信息项,并且第十一行和第十二行分别包括与任务F有关的开始信息项和结束信息项。同时,在打印次序列表131中,第九行和第十行分别包括与任务F有关的开始信息项和结束信息项。注意的是,在打印次序列表131中没有记录与任务E有关的取消信息项。原因在于,图7B所示的打印次序列表131表示在从打印控制单元130的语言监控器132中输出取消信息项之前打印次序列表131的状态。
[0083] 接下来,将说明输出次序列表111和打印次序列表131的文件的单元。
[0084] 图8是用于说明输出次序文件和打印次序文件的构造的示意图。
[0085] 在本示例性实施例中,当打印服务器100启动时,生成要写入输出次序列表111的文件(下文称为“输出次序文件”)和要写入打印次序列表131的文件(下文称为“打印次序文件”)。例如,如图8所示,通过启动打印服务器100分别生成第一输出次序文件Fi1和第一打印次序文件Fo1。然后,把与输出处理和发送处理有关的各历史信息项记录在第一输出次序文件Fi1和第一打印次序文件Fo1中。
[0086] 此外,在本示例性实施例中,基于在每个文件中执行历史信息项的写入直到所写入的历史信息项的行数达到一定数目的这种预定情况,停止在该文件中写入历史信息项,并且将下一历史信息项写入新文件的第一行中。在图8所示的实例中,因为在第一输出次序文件Fi1和第一打印次序文件Fo1各者中所写入的历史信息项的行数达到1000,所以停止在第一输出次序文件Fi1和第一打印次序文件Fo1的每一者中记录历史信息项。然后,将新的历史信息项记录到新生成的第二输出次序文件Fi2和第二打印次序文件Fo2中。
[0087] 注意的是,如上所述,在本示例性实施例中,当打印服务器100启动时,输出次序文件和打印次序文件都是新生成的。因此,例如,在打印服务器100重新启动的情况下,与打印服务器100重新启动之前已经执行的输出处理和打印处理有关的历史信息项被写入在打印服务器100重新启动之前已作为用于记录历史信息项的对象提供的文件中。然而,与在打印服务器100重新启动之后执行的输出处理和打印处理有关的历史信息项被写入在打印服务器100重新启动之后新生成的其它文件中。
[0088] 更具体地,如图8所示,例如,假定如下情况:在已经执行写在第二输出次序文件Fi2的第202行中的打印任务K且已经执行写在第二打印次序文件Fo2的第202行中的打印任务K之后,打印服务器100重新启动。
[0089] 在这种情况下,打印任务K被写入第二输出次序文件Fi2和第二打印次序文件Fo2的每一者中。然后,结束将历史信息项写入到第二输出次序文件Fi2和第二打印次序文件Fo2。
[0090] 在打印服务器100重新启动之后,生成作为新文件的第三输出次序文件Fi3和第三打印次序文件Fo3。打印任务L是与基于打印服务器100重新启动之后新接收到的打印任务的输出处理和发送处理有关的历史信息项,并且被写入新生成的第三输出次序文件Fi3和第三打印次序文件Fo3的每一者的第一行中。
[0091] 此外,检查单元140将信息项添加多个生成的文件中,借助该信息项能辨识各文件生成的时间顺序。作为添加能用来辨识时间顺序的信息项的方案,例如,可以使用将与文件生成的时间有关的信息项添加至各文件的方案或者将按时间排序的文件名添加至各文件的方案。
[0092] 检查单元的操作
[0093] 检查单元140将记录在输出次序列表111中的历史信息项和记录在打印次序列表131中的历史信息项进行比较,从而检查执行打印任务的输出处理的次序和执行打印任务的发送处理的次序是否相同。检查单元140以打印任务为单位来检查处理执行的次序。因此,可以仅针对历史信息项中的开始信息项或结束信息项相互比较各列表(输出次序列表
111和打印次序列表131)中的处理的次序。在本示例性实施例中,利用开始信息项来检查执行打印任务的各项处理(输出处理和发送处理)的次序。
[0094] 此外,检查单元140按适当的时间间隔(例如,每隔几秒)检查打印次序列表131。当登记在打印次序列表131中的数据数量与当检查单元140紧之前检查打印次序列表131时获得的数据数量相比较已经增加时,检查单元140执行检查处理。以此方式,在没有执行新的发送处理的情况下,可以省略检查处理。可以通过打开打印次序列表131的数据文件并且检查登记数据的数量或者仅基于打印次序列表131的文件尺寸来确定登记在打印次序列表131中的数据数量是否已经增加。
[0095] 此外,检查单元140存储用来确定输出次序列表111和打印次序列表131中已经检查的行的最后一行的信息项(下文称为“比较完成信息项”)。如下述图9A和图9B所示,在每个列表(输出次序列表111和打印次序列表131)中的对象信息项更新之后执行比较完成信息项的存储(参见下述步骤905)。
[0096] 更具体地,当完成与某一打印任务有关的历史信息的检查(比较)时,存储与被包含在列表中且已检查的历史信息项被写入的行的“行号”有关的信息项。此外,在本示例性实施例中,分别以作为输出次序文件和打印次序文件的文件为单位来管理输出次序列表111和打印次序列表131。因此,比较完成信息项被存储为表示历史信息项的检查已完成的文件的信息项。换言之,检查单元140将表示“文件名”和“行号”的信息项保存为比较完成信息项。
[0097] 注意的是,检查单元140可以生成如下信息项:借助该信息项可以稍后确定历史信息项的检查已经完成的文件。例如,在已经检查的历史信息项中设置能辨识历史信息项已被检查的事实的标志,或者,相反,可以生成表示历史信息项尚未检查的信息项。
[0098] 图9A和图9B分别为示出检查打印次序的由检查单元140执行的检查处理的程序的流程图的第一部分和第二部分。
[0099] 首先,检查单元140执行对象信息确定处理,对象信息确定处理是确定要首先用作检查对象的历史信息项(下文称为“对象信息项”)的处理(步骤901)。在本示例性实施例中,作为由对象信息确定处理确定的历史信息项的开始信息项被确定为对象信息项。注意的是,下面将详细说明对象信息确定处理。
[0100] 接下来,检查单元140将包括在确定的对象信息项中的任务名称相互比较(步骤902)。
[0101] 在包括于被比较的对象信息项中的任务名称匹配的情况下(步骤902中结果为是),这表明,关于由对象信息项指定的打印任务,就执行发送处理的次序而言打印任务的发送处理的顺序位置(即,就图像形成装置200执行打印处理的次序而言打印任务的打印处理的顺序位置)和就执行输出处理的次序而言打印任务的输出处理的顺序位置(即,就打印服务器100接收到打印指令的次序而言打印任务的打印指令的顺序位置)是相同的。因此,因为就接收到打印指令的次序而言打印任务的打印指令的顺序位置和就执行打印处理的打印次序而言打印任务的打印处理的顺序位置彼此相同,所以检查单元140将如下的检查结果以及包含在对象信息项中的任务名称输出到历史文件:该检查结果表示就执行发送处理的次序而言打印任务的发送处理的顺序位置(就执行打印处理的打印次序而言打印任务的打印处理的顺序位置)为正常位置(步骤903)。不特别限制记录在历史文件中的信息项的形式,但是至少可以记录打印任务的识别信息项(此处为任务名称)和表示检查结果的细节的信息项(此处,该信息项表示就执行发送处理的次序而言打印任务的发送处理的顺序位置为正常位置)。利用诸如图3所示的存储器100c或磁盘装置100g等存储器来保存包括检查结果的历史文件,并且这允许例如图像形成系统的操作员来查看历史文件。
[0102] 接下来,检查单元140将对象信息项更新成各列表中的下一历史信息项(开始信息项)(步骤904)。然后,检查单元140将与文件(输出次序文件和打印次序文件)名有关的信息项存储为比较完成信息项,其中紧接在对象信息项更新之前检查的历史信息项被写入该信息项,并且紧接在对象信息项更新之前检查的历史信息项的行的行号被写入该信息项(步骤905)。此后,检查单元140判断对象信息项要更新成的历史信息项是否存在,即,是否能够更新对象信息项(步骤906)。
[0103] 然后,当能够更新对象信息项(步骤906中结果为是)时,检查单元140将更新的对象信息项相互比较(步骤902)。在将历史信息项检查到输出次序列表111和打印次序列表131中的任一列表中的最后一个历史信息项的情况下,因为不再能够更新对象信息项(步骤
906中结果为否),所以检查处理结束。然后,检查完成之后,检查单元140执行将所有历史信息项都已经检查的文件移除的文件管理处理(步骤920)。注意的是,下面将详细说明文件管理处理。
[0104] 在当对象信息项相互比较时任务名称不匹配的情况下(步骤902中结果为否),接下来,检查单元140检查与包括在输出次序列表111的对象信息项中的任务名称有关的取消信息项是否存在于输出次序列表111中(步骤907)。
[0105] 在存在取消信息项的情况下,已经取消执行具有打印任务名称的打印任务。因此,任务名称之间的该失配不表明已发生打印次序异常。因此,检查单元140不将任何检查结果输出到历史文件。然而,为了表示已取消打印任务的执行,将包括在取消信息项中的任务名称记录在取消信息列表中(步骤912)。然后,检查单元140仅将输出次序列表111的对象信息项更新成下一历史信息项(开始信息项),并且存储比较完成信息项(步骤913、905和906)。此后,检查单元140将输出次序列表111的对象信息项与打印次序列表131的对象信息项进行比较(步骤902)。
[0106] 在当对象信息项相互比较时任务名称不匹配(步骤902中结果为否)且不存在与包含在输出次序列表111的对象信息项中的任务名称有关的取消信息项(步骤907中结果为否)的情况下,接着,检查单元140检查包含在输出次序列表111的对象信息项中的任务名称是否存在于包括目前已获得的检查结果在内的历史文件中(步骤908)。
[0107] 在包含在对象信息项中的任务名称存在于包括检查结果的历史文件中的情况下,这表示,已经执行过具有该任务名称的打印任务,并且已发生打印次序异常。此外,就输出次序列表111中的执行输出处理的次序而言对象信息项的顺序位置为应当按执行发送处理的次序执行具有该任务名称的打印任务的发送处理的顺序位置。因此,检查单元140将如下的检查结果(异常1)以及包含在输出次序列表111的对象信息项中的任务名称输出到历史文件:该检查结果表示应当按执行发送处理的次序执行打印任务的发送处理的顺序位置(步骤914)。然后,检查单元140仅将输出次序列表111的对象信息项更新成下一历史信息项(开始信息项),并且存储比较完成信息项(步骤915、905和906)。此后,检查单元140将输出次序列表111的对象信息项与打印次序列表131的对象信息项进行比较(步骤902)。
[0108] 在当对象信息项相互比较时任务名称不匹配(步骤902中结果为否)、与包含在输出次序列表111的对象信息项中的任务名称有关的取消信息项不存在(步骤907中结果为否)、以及包含在输出次序列表111的对象信息项中的任务名称不存在于包括目前已获得的检查结果在内的历史文件中(步骤908中结果为否)的情况下,接下来,检查单元140检查包含在打印次序列表131的对象信息项中的任务名称是否存在于输出次序列表111中尚未检查的历史信息项的范围内(步骤909)。
[0109] 在包含在打印次序列表131的对象信息项中的任务名称存在于输出次序列表111中尚未检查的历史信息项的范围内的情况下,这表示,应当按执行发送处理的次序执行具有该任务名称的打印任务的发送处理的顺序位置晚于当前顺序位置,并且已发生打印次序异常。因此,检查单元140将如下的检查结果(异常2)以及包含在打印次序列表131的对象信息项中的任务名称输出到历史文件:该检查结果表示在比应当按执行发送处理的次序执行打印任务的发送处理的顺序位置早的顺序位置处执行打印任务的发送处理(步骤916)。然后,检查单元140仅将打印次序列表131的对象信息项更新成下一历史信息项(开始信息项),并且存储比较完成信息项(步骤917、905和906)。此后,检查单元140将打印次序列表
131的对象信息项与输出次序列表111的对象信息项进行比较(步骤902)。
[0110] 在当对象信息项相互比较时任务名称不匹配(步骤902中结果为否)、不存在与包含在输出次序列表111的对象信息项中的任务名称有关的取消信息项(步骤907中结果为否)、包含在输出次序列表111的对象信息项中的任务名称不存在于包括目前已获得的检查结果的历史文件中(步骤908中结果为否)以及包含在打印次序列表131的对象信息项中的任务名称不存在于输出次序列表111中尚未检查的历史信息项的范围内(步骤909中结果为否)的情况下,接下来,检查单元140检查包含在打印次序列表131的对象信息项中的任务名称是否存在于取消信息列表中(步骤910)。
[0111] 在包含在对象信息项中的任务名称存在于取消信息列表中的情况下,这表示,虽然提供了具有该任务名称的打印任务的取消指令,但是在从存储单元120移除打印数据之前,已经执行了该打印任务的发送处理。于是,已经执行了打印任务,从而已经在与按提供打印指令的次序提供打印任务的打印指令的顺序位置不同的按执行打印处理的次序的顺序位置处执行打印任务的打印处理。因此,已经发生了打印次序异常。因此,检查单元140将如下的检查结果(异常2)以及包含在打印次序列表131的对象信息项中的任务名称输出到历史文件:该检查结果表示在比应当按执行发送处理的次序执行打印任务的发送处理的顺序位置早的顺序位置处执行打印任务的发送处理(步骤918)。然后,检查单元140仅将打印次序列表131的对象信息项更新成下一历史信息项(开始信息项),并且存储比较完成信息项(步骤919、905和906)。此后,检查单元140将打印次序列表131的对象信息项与输出次序列表111的对象信息项进行比较(步骤902)。
[0112] 在当对象信息项相互比较时任务名称不匹配(步骤902中结果为否)、与包含在输出次序列表111的对象信息项中的任务名称有关的取消信息项不存在(步骤907中结果为否)、包含在输出次序列表111的对象信息项中的任务名称不存在于包括目前已经获得的检查结果的历史文件中(步骤908中结果为否)、包含在打印次序列表131的对象信息项中的任务名称不存在于输出次序列表111中尚未检查的历史信息项的范围内(步骤909中结果为否)以及包含在打印次序列表131的对象信息项中的任务名称不存在于取消信息列表中(步骤910中结果为否)的情况下,极可能已经发生不同于打印次序简单改变的异常。检查单元140通知打印服务器100的操作员已经发生异常(步骤911)。发生异常的通知是通过例如利用图3所示的显示机构100d显示出错消息或者通过利用图3所示的声音机构100h输出警告声音来执行的。此外,在异常极可能严重地影响图像形成系统的情况下,可以执行控制以强迫停止打印任务的执行。
[0113] 在本示例性实施例中,如上所述,假设存在四种类型的情况(参见图9A和图9B中所示的步骤907至步骤910)作为输出次序列表111和打印次序列表131不匹配的情况。在这些情况中,在除了取消执行打印任务的情况之外的情况下(参见步骤907),打印任务均按不正确的次序执行。因此,检查单元140执行通知例如打印服务器100的操作员已发生打印次序异常的出错处理。在上述实例中,作为出错处理,检查单元140执行记录如下信息项的处理:该信息项表示在包括检查结果且能够由例如打印服务器100的操作员查看的历史文件中已发生打印次序异常。可选地,如同在步骤911中通知异常的情况,检查单元140可以利用显示机构100d来执行例如出错消息的显示或者利用声音机构100h来执行警告声音的输出。
[0114] 检查单元140可以针对执行出错处理的情况的类型来执行不同的出错处理。例如,在比应当按执行发送处理的次序执行打印任务的发送处理的顺序位置早的顺序位置处执行打印任务的发送处理的情况下(参见步骤909),可以执行出错消息的显示或警告声音的输出。在其它情况下,不执行出错消息的显示或警告声音的输出,可以仅执行在历史文件中记录信息项。关于每种情况应用哪种出错处理,可以接受由例如根据本示例性实施例的图像形成系统的用户选择的出错处理,并且可以设定所选的出错处理。
[0115] 注意的是,在检查单元140的上述操作实例中,在步骤907中存在与包含在输出次序列表111的对象信息项中的任务名称有关的取消信息项的情况下,将包含在取消信息项中的任务名称记录在取消信息列表中(参见步骤912)。然后,在步骤910中,检查包含在打印次序列表131的对象信息项中的任务名称是否存在于取消信息列表中,从而判断是否已提供打印任务的取消指令。此处,不生成取消信息列表,而是在步骤910中检查取消信息列表,可以检查取消信息项是否存在于输出次序列表111中尚未检查的历史信息项的范围内。然而,每当判断是否存在取消信息项时,从包含在顶行中的历史信息项起在记录有大量历史信息项的输出次序列表111中按次序搜索取消信息项。这导致极多的处理重复,并且因此处理效率低。此外,因为打印服务器100所具有的存储器的存储容量有限,所以关于输出次序列表111和打印次序列表131,基于下面描述的预定条件以文件为单位来移除登记的数据。
[0116] 出于此原因,独立于输出次序列表111地生成取消信息列表,并且在步骤910中,在该取消信息列表中搜索任务名称。这实现了处理效率的提高,并且使得甚至在从输出次序列表111中移除取消信息项时也可以搜索取消信息项。此外,例如打印服务器100的操作员保存且能够查看取消信息列表。因此,这使得例如操作员可以检查已提供打印任务的取消指令。
[0117] 接下来,将详细地说明在步骤901中执行的对象信息确定处理和在步骤920中执行的文件管理处理。
[0118] 图10示出用于说明对象信息确定处理和文件管理处理的文件构造的具体实例。
[0119] 图11是示出对象信息确定处理的程序的流程图。
[0120] 图12是示出文件管理处理的程序的流程图。
[0121] 在图10中,示出了第二输出次序文件Fi2、第二打印次序文件Fo2、第三输出次序文件Fi3、第三打印次序文件Fo3。此处,在图10所示的实例中,第二输出次序文件Fi2和第二打印次序文件Fo2是在如下情况下的文件:当上次启动打印服务器100时,在对文件执行检查处理期间且整个文件的检查尚未完成时打印服务器100就被关闭。在图10所示的实例中,已经执行到198行(行号为198)的打印任务X为止的打印任务的检查,并且利用比较完成信息项确定已经完成到198行的打印任务X为止的打印任务的比较。此外,第三输出次序文件Fi3和第三打印次序文件Fo3是打印服务器100重新启动之后新生成的文件。
[0122] 首先,将说明对象信息确定处理。
[0123] 如图11所示,在对象信息确定处理中,首先,搜索最早的文件(输出次序文件和打印次序文件)(步骤1101)。
[0124] 在图10所示的实例中,例如,第二输出次序文件Fi2和第二打印次序文件Fo2被选择为最早的文件。注意的是,当只有一个文件(只有一个输出次序文件且只有一个打印次序文件)存在时,该一个文件被认为是最早的文件。
[0125] 判断是否利用比较完成信息项确定了已经在步骤1101中搜索到的每个最早的文件的行(历史信息项)(步骤1102)。
[0126] 然后,当利用比较完成信息项确定了文件的行(步骤1102中结果为是)时,位于利用比较完成信息项确定的行的下一行中的历史信息项被确定为对象信息项(步骤1103)。然后,如参考图9A的步骤902所述,执行包含在已经由对象信息确定处理确定的对象信息项中的任务名称的比较。
[0127] 在图10所示的实例中,利用比较完成信息项,确定已经完成到第二输出次序文件Fi2的198行中的打印任务X为止的打印任务的比较,并且已经完成到第二打印次序文件Fo2的198行中的打印任务X为止的打印任务的比较。因此,对第二输出次序文件Fi2的199行和其后的行中的历史信息项(打印任务B和其后的打印任务)和第二打印次序文件Fo2的199行和其后的行中的历史信息项(打印任务C和其后的打印任务)执行检查处理。
[0128] 注意的是,图10中所示的实例中,在打印服务器100重新启动之后执行的检查处理中,检测到第二输出次序文件Fi2中的打印任务B和C的次序和第二打印次序文件Fo2中的打印任务C和B的次序(即,打印任务B和打印任务C的执行次序)彼此不同。
[0129] 然后,在完成第二输出次序文件Fi2和第二打印次序文件Fo2中的历史信息项的检查之后,对第三输出次序文件Fi3的第一行中的打印任务F和第三打印次序文件Fo3的第一行中的打印任务F执行检查处理。
[0130] 相反,当利用比较完成信息项没有确定任一文件的行(步骤1102中结果为否)时,文件的第一行中的历史信息项被确定为对象信息项(步骤1104)。然后,如参考图9A的步骤902所述,执行包含在由对象信息确定处理确定的对象信息项中的任务名称的比较。
[0131] 注意的是,这种情况是例如如下情况:当之前操作打印服务器100时已经完成对所有历史信息项的检查处理,打印服务器100被正常关闭,以及之后启动打印服务器100。
[0132] 接下来,将详细说明文件管理处理。
[0133] 在检查处理中确定是否能够更新文件而随后没有文件被更新的情况下,判断是否已经完成对包含在作为对象的文件中的所有行的历史信息项的比较(步骤1201)。
[0134] 注意的是,在如同本示例性实施例将历史信息项之中的开始信息项用作比较时的对象信息项的情况下,处理在如下假设下进行:已经对作为与该开始信息项对应的结束信息项的历史信息项所写入的行完成比较。
[0135] 然后,当完成对包含在文件中的所有行的历史信息项的比较时(步骤1201中结果为是),执行文件的移除(步骤1202)。
[0136] 相反,当尚未完成对包含在文件中的所有行的历史信息项的比较时(步骤1201中结果为否),在步骤1201中,再次判断是否已经完成对包含在作为对象的文件中的所有行的历史信息项的比较。
[0137] 注意的是,在图10所示的实例中,已经完成对第二输出次序文件Fi2和第二打印次序文件Fo2的所有行中的历史信息项的比较,因而,分别将第二输出次序文件Fi2和第二打印次序文件Fo2移除。
[0138] 此外,由于第二输出次序文件Fi2和第二打印次序文件Fo2的移除,因此在对象信息确定处理中作为搜索对象的最早文件是第三输出次序文件Fi3和第三打印次序文件Fo3。
[0139] 如上所述,在本示例性实施例中,在对象信息确定处理中,基于文件生成的次序和比较完成信息项执行历史信息项的检查。对最早的文件执行历史信息项的检查,并且基于比较完成信息项对尚未比较的历史信息项执行历史信息项的检查。因此,例如,即使在打印服务器100由于某种原因关闭然后打印服务器100重新启动的情况下,仍能够将已经过检查的历史信息项与尚未检查的历史信息项彼此区分。结果,在根据本示例性实施例的打印服务器100中,能够完全检测出打印次序的异常。
[0140] 此外,因为基于比较完成信息项执行历史信息项的检查,所以能够跳过已经过比较的历史信息项所写入的行,并且能够以从尚未比较的历史信息项开始检查的方式来执行历史信息项的检查。因此,例如,与从文件的第一行中的历史信息项简单地按次序顺序地比较历史信息项的情况相比,能够有效地检查历史信息项。而且,因为例如在打印服务器100重新启动之前已经检测到处理执行次序的异常,并且在打印服务器100重新启动之后再次检测到异常,所以能够防止冗余地执行已经执行的出错处理的情况。
[0141] 此外,按从最早的行(具有最小行号的行)到最新的行(具有最大行号的行)的时间顺序对行进行不正确打印次序的搜索,使得可以迅速地检测出在较早的时间出现的打印次序的异常,并且通知用户发生错误。通常,在对实际上已经打印的打印介质的打印次序搜索打印次序的不正确部分的情况下,打印次序的第一个不正确部分的辨识使搜索任务更容易。因此,需要首先辨识打印次序的第一个异常部分。因此,可以迅速地检测到打印次序中的较早时间发生的异常,并且可以通知用户发生错误。
[0142] 更具体地,例如,在当需要关闭打印服务器100时又重新启动打印服务器100的情况下,假设大负荷施加于打印服务器100的处理上。在这种情况下,认为在打印服务器100重新启动之前,有较大可能频繁发生执行输出处理的次序和执行发送处理的次序彼此不同的现象。因此,在按从最新的行到最早的行的时间顺序检测处理执行次序的异常的情况下,需要一定的时间来检测打印次序的第一个异常部分。为此,在本示例性实施例的检查处理中,使用如下构造:按从最早的行到最新的行的时间顺序执行比较。
[0143] 另外,利用文件管理处理移除包含已经过检查的历史信息项的文件,由此提供了有规律地移除一定量的历史信息项的机会,并且能够按处理执行次序有效地执行异常的检测。此外,利用文件管理处理移除包含已经过检查的历史信息项的文件,由此还实现了存储器的有限存储区域的有效利用。
[0144] 注意的是,在本示例性实施例中,例如,如图7A和图7B所示,关于输出处理,在利用打印服务器100的存储单元120完成一个打印任务的接收之后,开始向存储单元120发送下一打印任务。然而,本发明不限于此。
[0145] 例如,可以使用如下构造:多个打印任务共同输出到存储单元120。换言之,关于输出处理,输出处理可能执行成使得在利用存储单元120完成一个打印任务的接收之前,开始向存储单元120发送另一打印任务。然而,在这种情况下,关于从存储单元120向图像形成装置200发送打印数据的发送处理,容易出现上述执行输出处理的次序和执行发送处理的次序彼此不同的现象。
[0146] 然而,在根据本示例性实施例的系统中,使用如下构造:在执行输出处理的次序和执行发送处理的次序彼此不同的情况下执行出错处理。因此,能够执行诸如通知用户打印介质的打印次序出现异常的处理等处理。因此,能够在使用输出处理的图像形成系统中提供特别有效的系统。
[0147] 尽管已经描述了本示例性实施例,本发明的技术范围不限于前面的示例性实施例中所描述的范围。从权利要求书的描述中显而易见的是,可以对前面的示例性实施例进行各种变型和改进,并且这样的变型和改进也落在本发明的技术范围之内。
[0148] 出于示例和说明的目的提供了本发明的示例性实施例的上述说明。其意图不在于穷举或将本发明限制为所公开的确切形式。显然,对于本技术领域的技术人员可以进行许多修改和变型。选择和说明本示例性实施例是为了更好地解释本发明的原理及其实际应用,因此使得本技术领域的其他人能够为实现各种实施例理解本发明和各种适合于所构想的特定应用的修改。目的在于通过所附权利要求书及其等同内容限定本发明的范围。