管理变速打印机的打印速度的系统、方法和介质的制作方法

文档序号:6558603阅读:141来源:国知局
专利名称:管理变速打印机的打印速度的系统、方法和介质的制作方法
技术领域
本发明一般涉及打印系统领域。更具体地说,本发明涉及用于管理变速打印机的打印速度的系统、方法和介质。
背景技术
高容量打印机日益用于诸如书本打印或大批邮件的大打印作业的生产。这些打印机典型地由打印机控制器驱动,并且包括打印引擎,其控制产生打印页的一组打印头。打印引擎还典型地包括打印引擎缓冲器,以存储页面直至可以打印它们。这些高容量打印机中的一些-例如由Miyakoshi印刷机械公司等制造的一些工业喷墨式打印机-是具有变速打印引擎的变速打印机,其中该变速打印引擎基于其缓冲器中的页数而修改打印速度。变速打印机提供了优于定速打印机的附加灵活性,但是当速度下降过低时或当打印负载变动时,变速特性可能引起问题。
用于变速打印机的打印引擎通常具有要被打印的页面的多页缓冲器。如果缓冲器满,则打印引擎将打印机速度增加到最大容许速度。当缓冲器空时,打印引擎可以降低速度。如果打印引擎一直允许缓冲器完全空,并且由此用完要被打印的打印数据,则打印机必须打印空白页。打印空白页导致纸张浪费,并且造成后期处理更加困难和昂贵。由于需要手动地或通过自动处理来从打印作业中去除空白页,其中这两者都将导致附加的时间和费用,因此后期处理更加困难。对于彩色打印头,例如青品红黄黑(CMYK)打印头,其中顺序地铺设颜色并且还可能需要针对每个页面打印反面,以及任何具有多个打印头的打印机,该问题加剧。
一些打印引擎试图如下解决这一问题,即通过在页面的可用性突然降低时,例如当作业性能突然下降时,开始放慢打印机。有时,该下降将比打印引擎能够放慢打印机更快地发生,从而导致欠载运行发生,并且打印空白页直至停止打印机。大的高容量打印机典型地由于其具有较大动量而难以迅速地放慢。即使能够克服动量问题,并且在物理上能够迅速地减慢它们,打印速度的急剧变化也可能导致另外的打印问题。如果打印机速度变化太快,则在不同打印头之间的页面对齐可能偏斜,从而导致打印图像的模糊或拉长或缩短。例如,对于CMYK打印机,由于每个页面必须通过彩色打印头并且可能通过干燥器(并且有可能对于纸张的两面),因此将很有可能要求逐渐地减慢打印机,从而使得减速率甚至更慢。非常强烈的减速还可能导致撕裂纸卷,从而要求停止生产线并且再装载纸张,并且导致浪费时间和材料的资源。
对该问题的另一解决方案是增加打印引擎缓冲器的大小。然而,这增加打印引擎的成本,并且除了更好地调节打印速度外,没有提供任何其它益处。当运行较小或较不难的打印作业时,这样增加的打印引擎缓冲器实际上也被浪费了。另外,打印引擎缓冲器与打印引擎构成整体,因此在可能尚不充分知道打印需求的时候,必须与打印引擎本身一起被购买。
对该问题另一解决方案是在打印引擎上提供手动速度选择,其允许操作者手动地选择打印引擎将运行特定作业的速度。这将要求打印引擎制造商和打印机所有者的协作,或者打印控制器制造商可能没有充足的商业事例(case)来从打印引擎制造商要求特殊考虑(即,其需求太小)。此外,操作者将必须根据作业的长度和复杂度而估计适当的速度设置,并且可能低估或高估适当的速度。这将导致欠载运行或者无法利用打印机的最佳可能速度。
因此,需要一种有效且高效的用于管理变速打印机的打印速度的系统。当使用该打印机的打印作业在长度或复杂度上显著变化时,甚至更加需要这样的系统。

发明内容
通过用于管理变速打印机的打印速度的系统、方法和介质来大部分地解决上述问题。一个实施例一般提供了一种方法,其用于光栅化打印作业的页面,其中打印作业具有要被打印的一个或多个页面,并且在打印机控制器缓冲器中缓冲经过光栅化的页面。该方法还可以包括估计打印完成速率和打印引擎缓冲器中的页数,并且基于所估计的打印完成速率和打印引擎缓冲器中的页数,确定打印引擎馈送速率。该方法一般还可以包括基于所确定的打印引擎馈送速率,将经过缓冲的光栅化页面传送到打印引擎。该方法的其它实施例可以包括确定打印作业的页面到达速率或页面处理时间,并且除了基于所估计的打印完成速率和打印引擎缓冲器中的页数之外,还基于页面到达速率或页面处理时间而确定打印引擎馈送速率。
另一实施例提供了一种机器可访问介质,其包含当在数据处理系统中执行时有效地用来使该系统执行用于同步网络上的数据库的操作系列的指令。该操作系列一般包括光栅化打印作业的页面,其中打印作业具有要被打印的一个或多个页面,并且在打印机控制器缓冲器中缓冲经过光栅化的页面。该操作系列还可以包括估计打印完成速率和打印引擎缓冲器中的页数,并且基于所估计的打印完成速率和打印引擎缓冲器中的页数,确定打印引擎馈送速率。该操作系列一般还可以包括基于所确定的打印引擎馈送速率,将经过缓冲的光栅化页面传送到打印引擎。该操作系列的其它实施例可以包括确定打印作业的页面到达速率或页面处理时间,并且除了基于所估计的打印完成速率和打印引擎缓冲器中的页数之外,还基于页面到达速率或页面处理时间而确定打印引擎馈送速率。
另一实施例提供了一种用于管理变速打印机的打印速度的打印控制器系统。该系统可以包括光栅图像处理器,用于光栅化打印作业,以创建多个光栅化图像;以及打印机控制器缓冲器,与光栅图像处理器通信,用于存储一个或多个光栅化页面。打印机控制器缓冲器还可以以打印引擎馈送速率将一个或多个光栅化页面传送到打印引擎。该系统一般还可以包括速度控制模块,其与打印机控制器缓冲器通信,用于确定打印引擎馈送速率。在另一实施例中,速度控制模块可以基于页面处理时间、页面到达速率、所估计的打印完成速率、以及打印引擎缓冲器中的页数中的一个或多个,确定打印引擎馈送速率。


当阅读下面详细描述并且参考附图时,本发明的其它目的和优点将会变得清楚,其中,相同标号可以表示相同单元图1示出了一个实施例的具有打印机控制器的变速打印系统的示意图;图2示出了根据一个实施例的、用于处理打印作业并且确定打印引擎馈送速率的流程图的示例;图3示出了根据一个实施例的、用于降低打印引擎馈送速率的流程图的示例;以及图4示出了根据一个实施例的、用于提高打印引擎馈送速率的流程图的示例。
具体实施例方式
下面是在附图中示出的本发明的示例实施例的详细描述。示例实施例如此详细是为了清楚地传达本发明。然而,所提供的详细度不旨在限制预期的实施例的变化;相反,其意图是涵盖落在如所附权利要求所限定的本发明的精神和范围内的所有修改、等价方案、以及可选方案。下面详细描述被设计成使这样的实施例对于本领域的普通技术人员是显而易见的。
公开了用于管理变速打印机的打印速度的系统、方法和介质。实施例包括打印控制器系统,其具有光栅图像处理器,用于光栅化打印作业,以创建多个光栅化页面;以及打印机控制器缓冲器,用于存储一个或多个光栅化页面。打印机控制器缓冲器还可以以打印引擎馈送速率将一个或多个光栅化页面传送到打印引擎。实施例还可以包括速度控制模块,其与打印机控制器缓冲器通信,用于确定打印引擎馈送速率。另外的实施例可以包括速度控制模块,其基于页面处理时间、页面到达速率、所估计的打印完成速率、以及打印引擎缓冲器内的页数中的一个或多个,确定打印引擎馈送速率。
所公开实施例的系统、方法和介质提供了一种改进的用于管理变速打印机的打印速度的方法。通过利用打印机控制器缓冲器控制打印引擎缓冲器的内容来帮助管理打印引擎的速度,所公开方法有利地提供了对打印速度的更多控制、以及减少的具有浪费的欠载运行的机会。所公开方法可以利用更多信息来帮助确定将数据传送到打印引擎的速率,包括有关打印作业的复杂度和长度的信息。使用打印机控制器缓冲器的附加信息和改善灵活性可以允许所公开实施例的系统在变速打印机上更加流畅且高效地对打印作业进行打印。
现在转到附图,图1示出了根据一个实施例的、具有打印机控制器的变速打印系统的示意图。变速打印系统100可以包括打印机服务器102,其可以将一个或多个打印作业104发送到打印控制器106。打印机控制器106可以处理打印作业104,并且将打印数据发送到打印机108,以产生打印品122作为最终结果。变速打印系统100的这些组件可以位于相同位置处,例如在相同建筑物或打印设施中,或者可能是远程的。虽然术语“远程”是关于变速打印系统100的组件之间的距离而使用的,但是该术语是以表示某种分离的含义而非以表示系统之间的大的物理距离的含义来使用的。在一个示例中,打印服务器102可以位于与其它组件不同的设施处,并且通过网络与打印机控制器106通信。还可以以任何方式组合变速打印系统100的任何组件。在一个示例中,打印机服务器102和打印控制器106可以在相同计算机系统上执行。
变速打印系统100的组件可以通过任何手段来相互通信。在一个实施例中,诸如因特网、内联网、LAN、WAN、以太网或无线网络的网络可以连接组件。在另一实施例中,电缆或其它物理连接可以连接不同的组件。本领域的技术人员将认识到,变速打印系统100可以在组件之间利用任何类型的数据通信信道,而不背离本发明的范围和精神。
打印服务器102可以生成或者处理打印作业104,并且将所生成的打印作业104传送到打印机控制器106,从而最终传送到打印机108以便打印。打印服务器102可以具有或者接收表示打印文件的数据流,然后将打印文件转换成适当的数据流,例如,国际商业机器公司(IBM)的智能打印机数据流(IPDS)打印机协议。在一个实施例中,打印服务器102(以及变速打印系统100的其它组件)可以是在任何类型的一个或多个计算机系统上实现的软件和/或状态机,该计算机系统包括服务器、个人计算机、工作站、大型计算机、笔记本或膝上型计算机、台式计算机等。在一个示例中,打印服务器102可以在IBMeServer或类似服务器上实现,其中该服务器具有一个或多个处理器或处理器线程,与数据存储设备-如随机存取存储器(RAM)、只读存储器(ROM)、闪存、致密盘驱动器、硬盘驱动器等-相结合执行软件和/或一个或多个状态机。
打印机控制器106可以通过数据流从打印服务器102接收打印作业104,然后处理打印作业104并且将其传送到打印机108。打印机控制器106可以在独立的计算机系统或处理器或者任何其它计算机系统上执行。打印机控制器106可以包括光栅图像处理器110、打印机控制器缓冲器112和速度控制模块114。光栅图像处理器110可以通过生成诸如文本、图形、对象或字体的光栅化数据,光栅化数据流中的数据。光栅图像处理器110还可以为打印作业104的不同页面生成表单规格(sheet specification)(例如,长度、宽度、页边距、以及其它格式参数)。光栅图像处理器110可以将表示打印作业104数据流基本上转换成描述打印头120需要执行什么以便产生打印品122的一系列命令。
可以将由光栅图像处理器110生成的光栅化数据或任何其它信息存储在打印机控制器缓冲器112中。打印机控制器缓冲器112(其也可被称为表单(sheet)队列)可以存储经过光栅化的打印作业104或者使其排队,直至它将它们传送到打印机108以便打印。打印机控制器缓冲器112可以是任何类型的易失性或非易失性存储器或者数据存储设备。在一个实施例中,打印机控制器缓冲器112可以以先进先出次序操作(即,发送到缓冲器112的第一表单规格被首先处理)。
打印机控制器106的速度控制模块114可以有利地提供打印机108的速度控制。速度控制模块114可以利用打印机控制器缓冲器112来调节到打印机108的数据流量,从而间接地控制其速度。如关于图2-4更详细描述的那样,速度控制模块114可以提高或降低到打印机108的数据流动速率,从而间接地控制其速度,同时还试图保持打印机108的最小打印速度。速度控制模块114可以接收有关由打印机控制器106接收的数据的速率、以及通过光栅图像处理器110的数据处理的信息。潜在地与打印机控制器缓冲器112的内容以及打印机108的操作(可能包括其缓冲器的内容和当前打印速度)的知识相结合,速度控制模块114可以使用该信息来提供到打印机108的数据流量和打印机108速度的复杂控制。
打印机108可以包括打印引擎116和一个或多个打印头120。打印引擎116还可以包括打印引擎缓冲器118。打印引擎116可以基于由打印机控制器106提供的控制信号而生成用于打印的页面,并且将用于打印的页面传递到打印头120,其控制将文本或图形页面机械或物理印刷到纸张上。在一个实施例中,打印引擎116可以将任何接收到的页面自动缓冲到打印引擎缓冲器118,此后,将该页面发送到打印头120以便打印。打印引擎116可以试图通过调节到打印头120的数据流量,控制打印头120的打印速度。打印引擎116在确定其期望速度时,可以使用打印引擎缓冲器118中的页数和当前打印速度。例如,如果打印引擎缓冲器118满,则打印引擎116可以提高打印速率直至最大量,而如果打印引擎缓冲器118几乎为空,则打印引擎116可以降低打印速率。如前所述,在某些情形下,特别是当存在要被打印的页面速率突然下降时,打印引擎缓冲器118在其控制速度的能力上可能受到限制,从而导致欠载运行发生。
所公开实施例的速度控制模块114有利地提供了对打印机108的打印速度的附加级别控制。速度控制模块114可以通过调节由打印引擎116用来确定其速度的、包含在打印引擎缓冲器118中的信息量,间接地控制打印引擎116速度。相比于先前系统,速度控制模块114可以提供许多优点。首先,除打印引擎缓冲器118之外,速度控制模块114还可以允许利用打印机控制器缓冲器112,从而允许增加总的有效缓冲器大小,而不必增加打印引擎缓冲器118的大小。因此,打印机控制器106的操作者可以购买具有较小打印引擎缓冲器118的较便宜打印机108,并且通过使用速度控制模块114的管理,与具有更大缓冲的打印机108相比仍然实现可比较的性能。由于避免了打印机108制造商成本和加价,因此对打印机控制器缓冲器112增加缓冲器大小也比对打印引擎缓冲器118进行增加更便宜。
较大的有效缓冲器大小还可以提供更有效且高效的控制,并且帮助最小化或防止高成本的欠载运行。例如,较大的有效缓冲器大小可以在较长时间内减慢打印速度而没有欠载运行时,提供附加灵活性,从而提供了吸收打印页面负载或复杂度的较长或较深增加的能力。类似地,在较低打印负载期间,较大的有效缓冲器大小可以通过向其缓冲器馈送打印机控制器缓冲器112中的存储数据,提供以其最大或最优速度运行打印机108的附加能力。
另外,与打印引擎116相比,速度控制模块114可以访问附加有用信息,因此可以对即将来临的要被打印的页面进行更加完善和准确的判定。类似于打印引擎116,速度控制模块114可以利用当前打印速度信息以及关于打印引擎缓冲器118的内容的信息。然而,速度控制模块114还可以使用关于打印机控制器缓冲器112的内容的信息、以及有关进入到打印机控制器的打印作业104的性质的信息。有关进入打印机控制器106的打印作业104的信息可以包括要被打印的页面的相对复杂度、由打印机控制器106接收的页面的速率等。因此,速度控制模块114可以具有比打印引擎116更优良的信息,包括要被打印的页面的复杂度,从而允许它更好地预测优化打印所需的打印速率。
当与先前系统相比时,在确定打印引擎馈送速率时由速度控制模块114对有关打印作业104的信息的使用示出了所公开实施例的方法可以如何改善变速打印系统100的性能。通过使用打印作业104信息以及打印完成速率和打印引擎缓冲器118中的页面,速度控制模块114可以通过调节或调整从打印机控制器缓冲器112到打印引擎缓冲器118的打印引擎馈送速率,更加精确地控制打印引擎116速度。此外,速度控制模块114还可以通过将页面存储在打印机控制器106中以便以后传送到打印引擎116以帮助打印引擎116在打印作业104的下转(downturn)期间保持其速度,防止许多高成本的欠载运行。单独依赖于打印机108中的可用信息的先前系统不适合处理打印作业104的大小或复杂度的急剧增大或减小,或者始终如一地防止欠载运行。调节打印引擎馈送速率允许速度控制模块114使用打印机控制器缓冲器112作为附加的缓冲器空间,并且通过在需要以其打印数据的速率上有效地欺骗打印引擎116,“伪装地”控制打印引擎116。所公开实施例的系统可以有效地改善变速打印系统100的性能,而无需来自打印机108或打印引擎116提供者的帮助或者无需购买附加的打印引擎缓冲器118。
在可选实施例中,速度控制模块114可能不能直接访问打印引擎缓冲器118的状态或容量,这是因为某些打印机108可能不提供该信息。在该实施例中,速度控制模块114可以使用与打印机控制器缓冲器112而非打印引擎缓冲器118的内容相关的信息。例如,如果打印机控制器缓冲器112满,则速度控制模块114可以提高到打印引擎116的速率。通过保持打印机控制器缓冲器112满,所公开系统将拥有更多的时间来改变引擎速度,以防速率急剧下降。只要打印机控制器缓冲器112满,速度控制模块114就可以升高到打印引擎116的速率直至其填满,并且将不接受附加的页面。在该示例中,打印引擎116可以响应于到该引擎的速率的提高而加速,以便它能够以更高速率接受页面。在另一示例中,如果打印机控制器缓冲器112不满,则速度控制模块114可以降低速率,以匹配进入到打印机控制器缓冲器112中的光栅化页面。
图2示出了根据一个实施例的、用于处理打印作业并且确定打印引擎馈送速率的流程图的示例。在一个实施例中,流程图200的单元可以由打印机控制器106的组件或组件的组合执行。流程图200从接收打印作业104的单元202开始。在一个实施例中,打印机控制器106可以通过网络或电缆从打印服务器102接收打印作业104。在单元202接收打印作业104之后,光栅图像处理器110可以在单元204以页面光栅化完成速率光栅化所接收的打印作业104的页面。然后,在单元206,光栅图像处理器110可以在打印机控制器缓冲器112中缓冲经过光栅化的页面。
当光栅化和缓冲打印作业时,速度控制模块114可以在单元208确定页面到达速率,并且在单元210确定页面处理时间。速度控制模块114可以基于打印机控制器106处的打印作业104的页面到达而确定页面到达速率。页面到达速率的提高可以表示要求被打印的打印作业104页面的增加,而页面到达速率的降低可以表示打印作业104的放慢。这可能是打印服务器102的处理时间或每个页面上的数据量的结果。速度控制模块114可以基于光栅图像处理器110处理打印作业的页面所需的处理时间而确定页面处理时间。较长的页面处理时间可以表示较复杂的用于打印的页面(例如,诸如照片的图形密集性页面或其它详细图像),而较短的处理时间可以表示较不复杂页面(例如,仅文本页面)。
除打印作业104详情之外,速度控制模块114还可以选择性地接收有关打印机108状态的信息。在单元212,速度控制模块114可以接收被提供给打印引擎110用于打印的页面的指示。在一个实施例中,速度控制模块114可以接收‘承诺(commit)’计数器的指示,其提供被提供给打印引擎110并且打印引擎110承诺打印的页面的指示。在单元214,速度控制模块114可以接收由打印机108打印的页面的指示。在一个实施例中,速度控制模块114可以从打印机108接收‘层叠式(stacked)’计数器的指示。‘层叠式’计数器可以提供多少页面已被打印并且行驶特定距离到后期处理设备中的指示。在一个示例中,到后期处理设备中的距离可以表示足以合理地确保页面被成功打印和处理(例如,裁剪或以其它方式处理)使得打印机108无需重新打印该页面的距离。
可选地,如果速度控制模块114没有接收到有关打印机108状态的信息,则速度控制模块114可以确定或估计该信息。当速度控制模块114以最快速率将页面馈送到打印机108(其中不能接收它们)时,由于打印引擎缓冲器118很可能为满,因此速度控制模块114可以推断纸张路径和打印引擎缓冲器118的容量。为了减慢打印机108,速度控制模块114可以后退馈送速率,并且查看由打印机108保存的页数减少,这可以提供由打印机108保存的页数的指示。通过改变馈送速率并且进行可用信息的测量来查看打印引擎缓冲器118在不同的打印速度下保持多满,因此,速度控制模块114可以特征化打印引擎116,并且“了解”它如何操作。该信息可以针对未知引擎而动态确定,或者由打印控制器制造商静态确定,以优化速度控制模块114中的算法。
在接收先前描述的输入之后,在单元216,速度控制模块114可以估计打印机108的打印完成速率。在一个实施例中,速度控制模块114可以在时间上从所接收的已打印页面的指示推断打印完成速率,以便估计该速率。在另一实施例中,速度控制模块114可以直接从打印机108接收打印完成速率的指示。在单元218,速度控制模块114还可以估计打印引擎缓冲器118中的页数。在一个实施例中,速度控制模块114可以基于已打印页数和被提供给打印引擎108的页数之间的差值,估计打印引擎缓冲器118中的页数。
然后,流程图200的方法继续到单元220,其中速度控制模块114可以确定打印引擎馈送速率。打印引擎馈送速率是将打印作业104的光栅化页面从打印机控制器缓冲器112馈送到打印引擎116的速率。如前所述,速度控制模块114在确定打印引擎馈送速率时可以考虑任何类型的信息,包括页面到达速率、页面处理时间、打印完成速率和打印引擎缓冲器118中的页数。如将关于图3和4更详细地描述的那样,速度控制模块114可以通过控制从打印机控制器缓冲器112到打印引擎缓冲器118的信息流动的速率,间接地控制由打印引擎116打印的速度。使用打印完成速率和和打印引擎缓冲器118中的页数,速度控制模块114可以了解打印机108的当前操作,因此可以确定打印引擎116将如何对向其发送的更多或更少页面作出反应。页面到达速率和页面处理时间让速度控制模块114了解打印引擎116所没有的即将来临的打印负载,从而允许速度控制模块114预期打印负载的改变,并且相应地补偿到打印引擎116的数据流量。因此,速度控制模块114可以通过至少部分地基于对打印引擎116未知的因素而调节打印引擎馈送速率,‘仿真地’控制打印引擎116速度。在速度控制模块114确定打印引擎馈送速率之后,在单元222,打印机控制器缓冲器112可以将页面传送到打印引擎108,以便以打印引擎馈送速率进行打印,此后,该方法结束。
图3示出了根据一个实施例的、用于降低打印引擎馈送速率的流程图的示例。在一个实施例中,流程图300的单元可以由速度控制模块114或打印机控制器106的其它组件执行。流程图300的一些或所有单元可以作为流程图200的单元220的一部分而执行。流程图300从接收所估计的打印完成速率的单元302以及接收打印引擎缓冲器118中的页面的估计的单元304开始。在一个实施例中,如同关于图2的单元216和218所述的那样,速度控制模块114可以基于从打印机108接收的输入,估计打印完成速率和打印引擎缓冲器118中的页面。在接收这些估计之后,流程图300的方法可以继续到单元306,接收页面到达速率和页面处理时间。在一个实施例中,打印控制器106处的页面到达速率和页面处理时间可以由速度控制模块114基于来自光栅图像处理器110的输入而确定。
流程图300的方法继续到单元308,确定初级打印引擎馈送速率。在一个实施例中,速度控制模块114可以使用先前使用的打印引擎馈送速率作为初级打印引擎馈送速率。可选地,速度控制模块114可以使用任何类型的算法来确定初级打印引擎馈送速率。在确定初级打印引擎馈送速率之后,在单元310,速度控制模块114可以分析初级打印引擎馈送速率,以确定初级打印引擎馈送速率是否太高。速度控制模块114可以使初级打印引擎馈送速率是否太高的确定基于所接收的关于打印作业104和打印机108状态的信息的分析。例如,如果打印引擎116以大于光栅化页面到打印机控制器缓冲器112中的到达速率的速率产生层叠页面,则速度控制模块114可以确定打印引擎馈送速率太高。在另一示例中,如果速度控制模块114基于页面处理时间和/或到达速率降低而确定打印作业104在复杂度上增加,则它可以在预期即将来临的增加的负载的情况下开始降低打印引擎馈送速率。这将允许打印引擎缓冲器118开始清除,并且允许打印引擎110开始减速,这两者都将增加打印机108的容量,以处理较重的负载并且减少打印速度急剧变化的机会。
如果在判定块312,速度控制模块114确定馈送速率不太高,则流程图300的方法终止或者返回到单元302,以便继续处理。如果速度控制模块114基于其在单元310的分析,在判定块312确定打印引擎馈送速率太高,则该方法继续到判定块314,其中速度控制模块114可以确定是否正在保持最小打印速度。在一个实施例中,速度控制模块114可以确保打印引擎馈送速率的任何降低不会导致达到最小打印速度或者达到欠载运行条件。如果基于所调节的打印引擎馈送速率而正在维持最小打印速度,则流程图300的方法可以继续到单元316,其中速度控制模块114可以将初级打印引擎馈送速率降低到新的打印引擎馈送速率,此后,该方法前进到单元318,其中将初级打印引擎馈送速率设成最小打印引擎馈送速率,此后,该方法终止或者返回到单元302。如果没有基于新的打印引擎馈送速率而维持最小打印速度,则该方法终止或者返回到单元302,并且打印引擎馈送速率不变。这可以防止速度控制模块114降低打印引擎馈送速率太多,并且导致打印机108欠载运行。
图4示出了根据一个实施例的、用于提高打印引擎馈送速率的流程图的示例。在一个实施例中,流程图400的单元可以由速度控制模块114或打印机控制器106的其它组件执行。流程图400的一些或所有单元可以作为流程图200的单元220的一部分而执行。单元402、404、406和408可以基本上分别类似于图3的单元302、304、306和308,并且为了简洁起见,将不重复讨论。
在单元408确定初级打印引擎馈送速率之后,在单元410,速度控制模块114可以分析初级打印引擎馈送速率,以确定初级打印引擎馈送速率是否太低。速度控制模块114可以使其初级打印引擎馈送速率是否太低的确定基于所接收的关于打印作业104和打印机108状态的信息的分析。例如,如果打印引擎缓冲器118未满,并且层叠页面速率小于到打印机控制器缓冲器112中的光栅化页面的到达速率,则速度控制模块114可以确定打印引擎馈送速率太低。通过将打印引擎缓冲器118中要被打印的页面的期望级别保持至该引擎的最大速度,可以实现该引擎的最大性能。
在另一示例中,如果速度控制模块114基于页面处理时间和/或到达速率提高而确定打印作业104在复杂度上减小,则它可以在预期即将来临的、减少的负载的情况下开始提高打印引擎馈送速率。这可以帮助填满打印引擎缓冲器118,以便打印引擎110开始提高打印速度。这可以增加打印机108的容量,以处理即将来临的更轻的负载,并且减少总体打印速率受限于打印机108的受限打印引擎馈送速率的可能性。
如果在判定块412,速度控制模块114确定馈送速率太低,则流程图400的方法继续到单元416,其中速度控制模块114可以将初级打印引擎馈送速率提高到在单元410确定的新馈送速率,此后,该方法终止或者返回到单元402,以便进一步处理。如果速度控制模块114没有确定馈送速率太低,则流程图400的方法继续到单元414,其中速度控制模块114可以确定当前馈送速率是否允许维持最小打印速度。如果正在维持最小打印速度,则不提高打印引擎馈送速率,并且该方法终止或者返回到单元402。如果没有维持最小打印速度,则即使在判定块412馈送速率不被认为太低,该方法也可以继续到单元416,以提高打印引擎馈送速率。在该实施例中,维持最小打印速度的需要可以覆盖所确定的打印引擎馈送速率,以便避免高成本的过载运行。打印机控制器缓冲器112的附加容量及其存储页面以便在预期页面到达速率减速时打印的能力可以允许增加的容量用于维持最小打印速度,并且避免欠载运行。
虽然关于图3和4描述了用于确定打印引擎馈送速率的示例性算法,但是本领域的技术人员将认识到,其它算法或方法也可以用来确定打印引擎馈送速率。例如,速度控制模块114可以省去初级打印引擎馈送速率,并且作为替代,在考虑各个输入中的一些或全部之后,直接地计算打印引擎馈送速率,从而有效地组合流程图300和400的方法。在该示例中,打印引擎馈送速率可以与预期打印速度相比较,以确保维持最小打印速度。
这里描述的每个软件程序可以在任何类型的计算机-如个人计算机、服务器等-上操作。任何程序可以包含在各种信号承载介质上。说明性信号承载介质包括但不限于(i)永久性地存储在不可写存储介质(例如,计算机内的只读存储器设备-如可由CD-ROM驱动器读取的CD-ROM盘)上的信息;(ii)存储在可写存储介质(例如,软盘驱动器内的软盘或硬盘驱动器)上的可变信息;以及(iii)通过通信介质-例如通过计算机或电话网络,包括无线通信-而传达到计算机的信息。后者实施例具体地包括从因特网、内联网或其它网络下载的信息。在承载引导本发明的功能的计算机可读指令时,这样的信号承载介质代表本发明的实施例。
一般而言,被执行用来实现本发明的实施例的例程可以是操作系统的一部分或特定应用程序、组件、程序、模块、对象或指令序列。本发明的计算机程序典型地包括大量指令,其将由本地计算机翻译成机器可读格式,并且因此翻译成可执行指令。另外,程序包括变量和数据结构,其对于程序驻留在本地或者在存储器中或在存储设备上被找到。另外,在下文中描述的各个程序可以基于在本发明的具体实施例中实现它们的应用程序而识别。然而,应当理解,仅仅为了方便起见而使用下面的任何特定程序命名法,因此本发明不应当限于仅仅在通过这样的命名法识别和/或暗示的任何特定应用程序中使用。
本领域的技术人员在受益于本公开内容之后应当清楚,本发明考虑了用于管理变速打印机的打印速度的方法、系统和介质。应当理解,在详细描述和附图中示出和描述的本发明的形式仅仅作为示例。所附权利要求意欲被宽广地解释成包括所公开的示例实施例的所有变化。
权利要求
1.一种用于管理变速打印机的速度的方法,该方法包括光栅化打印作业的页面,打印作业具有一个或多个要被打印的页面;在打印机控制器缓冲器中缓冲经过光栅化的页面;估计打印完成速率和打印引擎缓冲器中的页数;基于所估计的打印完成速率和打印引擎缓冲器中的页数,确定打印引擎馈送速率;以及以基于所确定的打印引擎馈送速率的速率,将经过缓冲的光栅化页面传送到打印引擎。
2.如权利要求1所述的方法,还包括从打印服务器接收打印作业。
3.如权利要求1所述的方法,还包括确定打印作业的页面到达速率;以及除所估计的打印完成速率和打印引擎缓冲器中的页数之外,还基于页面到达速率而确定打印引擎馈送速率。
4.如权利要求1所述的方法,还包括确定到打印机控制器缓冲器中的页面光栅化完成速率;以及除所估计的打印完成速率和打印引擎缓冲器中的页数之外,还基于页面光栅化完成速率而确定打印引擎馈送速率。
5.如权利要求1所述的方法,还包括确定打印作业的页面处理时间;以及除所估计的打印完成速率和打印引擎缓冲器中的页数之外,还基于页面处理时间而确定打印引擎馈送速率。
6.如权利要求1所述的方法,还包括接收被提供给打印引擎的页面的数目的指示。
7.如权利要求1所述的方法,其中确定打印引擎馈送速率包括确定打印引擎馈送速率太低,并且提高打印引擎馈送速率。
8.如权利要求1所述的方法,其中确定打印引擎馈送速率包括确定打印引擎馈送速率太高,并且降低打印引擎馈送速率。
9.一种机器可访问介质,包含当在数据处理系统中执行时有效地使所述数据处理系统执行根据权利要求1-8中的任一项所述的方法中的步骤的指令。
10.一种用于管理变速打印机的打印速度的打印控制器系统,该系统包括光栅图像处理器,该光栅图像处理器被适配成光栅化打印作业,以创建多个光栅化页面;打印机控制器缓冲器,与光栅图像处理器通信,该打印机控制器缓冲器被适配成存储一个或多个光栅化页面,其中该打印机控制器缓冲器还被适配成以打印引擎馈送速率将该一个或多个光栅化页面传送到打印引擎;以及速度控制模块,与打印机控制器缓冲器通信,该速度控制模块被适配成确定打印引擎馈送速率。
11.如权利要求10所述的系统,其中速度控制模块还被适配成基于页面处理时间、页面到达速率、所估计的打印完成速率、到打印机控制器缓冲器中的页面光栅化完成速率、以及打印引擎缓冲器内的页数中的一个或多个,确定打印引擎馈送速率。
12.如权利要求10所述的系统,其中速度控制模块还被适配成响应于增大的页面到达速率或页面处理时间而提高打印引擎馈送速率。
13.如权利要求10所述的系统,其中速度控制模块还被适配成响应于减小的页面到达速率或页面处理时间而降低打印引擎馈送速率。
14.如权利要求10所述的系统,其中速度控制模块还被适配成响应于打印引擎缓冲器中的页数的减少而提高打印引擎馈送速率。
15.如权利要求10所述的系统,其中速度控制模块还被适配成响应于打印引擎缓冲器中的页数的增多而降低打印引擎馈送速率。
全文摘要
公开了用于管理变速打印机的打印速度的系统、方法和介质。实施例包括打印控制器系统,其具有光栅图像处理器,用于光栅化打印作业,以创建多个光栅化页面;以及打印机控制器缓冲器,用于存储一个或多个光栅化页面。打印机控制器缓冲器还可以以打印引擎馈送速率将一个或多个光栅化页面传送到打印引擎。实施例还可以包括速度控制模块,其与打印机控制器缓冲器通信,用于确定打印引擎馈送速率。此外,实施例可以包括速度控制模块,其基于页面处理时间、页面到达速率、所估计的打印完成速率、以及打印引擎缓冲器内的页数中的一个或多个,确定打印引擎馈送速率。
文档编号G06F3/12GK1868757SQ20061008038
公开日2006年11月29日 申请日期2006年5月16日 优先权日2005年5月23日
发明者约翰·T·瓦尔加 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1