CN1297880C - 控制打印工作调度的方法及应用该方法的打印系统 - Google Patents
控制打印工作调度的方法及应用该方法的打印系统 Download PDFInfo
- Publication number
- CN1297880C CN1297880C CNB2003101147467A CN200310114746A CN1297880C CN 1297880 C CN1297880 C CN 1297880C CN B2003101147467 A CNB2003101147467 A CN B2003101147467A CN 200310114746 A CN200310114746 A CN 200310114746A CN 1297880 C CN1297880 C CN 1297880C
- Authority
- CN
- China
- Prior art keywords
- print job
- job data
- priority
- scheduling
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1202—Dedicated interfaces to print systems specifically adapted to achieve a particular effect
- G06F3/1203—Improving or facilitating administration, e.g. print management
- G06F3/1205—Improving or facilitating administration, e.g. print management resulting in increased flexibility in print job configuration, e.g. job settings, print requirements, job tickets
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1237—Print job management
- G06F3/126—Job scheduling, e.g. queuing, determine appropriate device
- G06F3/1263—Job scheduling, e.g. queuing, determine appropriate device based on job priority, e.g. re-arranging the order of jobs, e.g. the printing sequence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1278—Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
- G06F3/1285—Remote printer device, e.g. being remote from client or server
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1202—Dedicated interfaces to print systems specifically adapted to achieve a particular effect
- G06F3/1211—Improving printing performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1237—Print job management
- G06F3/1244—Job translation or job parsing, e.g. page banding
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)
- Accessory Devices And Overall Control Thereof (AREA)
- Record Information Processing For Printing (AREA)
Abstract
一个打印系统,包括:用于存储打印机操作系统和至少两个解释程序的第一存储单元;和具有用于打印机操作系统的操作区域,用于第一存储单元的每一个解释程序的操作区域和堆区域,以及至少两个临时存储到来的打印工作数据的接收缓冲器的第二存储单元;根据打印机操作系统控制打印系统的操作,控制第一存储单元的解释程序以解释打印工作数据以及将解释后的打印工作数据传输给打印机发动机的打印控制单元;以及具有关于用于多个打印工作的解释程序的启动的第一调度过程和关于已经启动的多个打印工作的解释的第二调度过程的打印工作调度单元,该打印机控制单元利用第一调度过程和第二调度过程以控制解释程序的操作。
Description
优先权
本申请要求于2002年10月11日在韩国专利局提交的韩国专利申请NO.2002-62114的利益,该申请揭示的内容在此合并作为参考。
技术领域
本申请涉及一种打印系统,且特别是涉及一种在多个用户共用的网络打印系统或在高速打印系统中确保有效率的打印处理的控制打印工作调度的方法,以及应用该方法的打印系统。
背景技术
在由多个用户共用一个网络打印机的普通的网络打印系统中,响应于来自客户计算机的打印命令,访问内部打印机驱动程序来转换数据格式,从用于命令打印的应用程序的图形数据转换到能够被目标打印机解释的页面描述语言(PDL)的数据的数据格式。例如,页面描述语言(PS)打印机驱动程序将不同应用程序的各种格式的图形、图像和文本通过格式转换为PS语言,而且打印机命令语言(PCL)打印机驱动程序将不同应用程序的各种格式的图形、图像和文本通过格式转换为PS语言。
网络打印机在随机存储器(RAM)的接收缓冲器中临时地存储从用户通过网络传输的打印工作数据。打印控制器存储预定的解释程序,例如PCL或PS解释程序,其存储在只读存储器(ROM)中用于将打印工作数据转换为可打印数据格式并传输该转换后的打印工作数据到打印机发动机。
在传统的网络打印系统中,无论解释程序的形式如何,为存储在ROM中的每一个解释程序在RAM中仅仅保留一个解释程序操作区域。但是,这样的打印环境导致了下述的问题。例如,假如用户A给出一个打印100页文件的命令比要打印1页文件的用户B仅早了一点,那么用户B必须等到用户A的100页文件全部打印完。即使用户A需要打印的文件仅包括几页,如果该文件包括使解释程序进行复杂的反复操作的各种字体的图形或文本,那么用户B必须等待相当长的时间直到用户A的打印工作结束。
在不是多个用户共用的传统打印系统中,假如用户有打印工作A和打印工作B,如果需花很长时间打印的打印工作A在仅有1页的打印工作B之前传送给打印系统,那么用户必须等到打印工作A完成或必须中断打印工作A,才能在短时间内得到打印工作B的打印输出。因此,几乎不可能实现有效率的,高速的打印。
发明内容
本发明的一个方面是提供一种方法,用来通过以下方式控制打印工作调度:使用用于控制多个打印工作的解释程序的启动的第一调度过程和用于控制已启动的多个打印工作数据的解释程序过程的第二调度过程,该方法确保在由多个用户共用的网络打印系统中或在高速打印系统中有效率的打印。
本发明的另一方面是提供一种适合于上述打印工作调度控制方法的打印系统。
本发明附加的方面和/或优点将在下面部分的描述,且从描述中部分方面和优点变得显而易见或通过本发明的实施可以得知。
为了实现本发明的上述和/或其它的方面,提供一个打印系统,包括第一存储单元,存储打印机操作系统和至少两个解释程序;第二存储单元,具有用于打印机操作系统的操作区域,用于第一存储单元的每一个解释程序的操作区域和堆区域,以及至少两个临时存储到来的打印工作数据的接收缓冲器;打印控制单元,根据打印机操作系统控制打印系统的操作,控制第一存储单元的解释程序以解释打印工作数据,以及将解释后的打印工作数据传送给打印机发动机;以及打印工作调度单元,提供关于用于多个打印工作的解释程序的启动的第一调度过程和关于已经启动的多个打印工作的解释的第二调度过程,该打印机控制单元利用第一调度过程和第二调度过程以控制解释程序的操作。
为了实现本发明的上述和/或其它方面,提供一种控制打印工作调度的方法,该方法包括当在前的打印工作数据的解释程序运行时间超出预定的时间时,调度解释程序的启动以使在后的打印工作数据较早地启动,即使在前的打印工作数据正在被解释;以及当多个打印工作数据具有相等的占有率而没有优先权时,通过分时调度多个打印工作的解释以在多个打印工作之间交替,或当多个打印工作数据具有不同的占有率而没有优先权时,根据占有率通过分时调度多个打印工作数据的解释。
本发明还提供了一种打印系统,包括:第一存储单元,存储打印机操作系统和至少两个解释程序;第二存储单元,具有用于打印机操作系统的操作区域,用于第一存储单元的每一个解释程序的操作区域和堆区域,以及至少两个临时存储到来的打印工作数据的接收缓冲器;以及打印控制单元,根据打印机操作系统控制打印系统的操作,控制第一存储单元的解释程序以解释打印工作数据,以及将解释后的打印工作数据传送给打印机发动机。该打印系统还包括打印工作调度单元,其提供关于用于多个打印工作的解释程序的启动的第一调度过程和关于已经启动的多个打印工作的解释的第二调度过程,该打印机控制单元利用第一调度过程和第二调度过程以控制解释程序的操作。
本发明还提供了一种控制打印工作调度的方法,该方法包括:根据第一调度过程调度解释程序启动,其中第一调度过程依赖于已经启动解释的在前的打印工作数据和随后的打印工作数据之间的打印工作数据优先权;以及根据第二调度过程调度解释已经被启动的多个打印工作数据的解释的过程,其中第二调度过程依赖于占有率和打印工作优先权。
本发明还提供了一种计算机可读存储,在其上具有用于在打印系统中控制打印工作调度的计算机程序,其中打印系统具有第一存储单元,用于存储一个打印机操作系统和至少两个解释程序的第一存储器单元,以及第二存储单元,具有用于打印机操作系统的操作区域,用于第一存储器单元的每一个解释程序的操作区域和堆区域,以及至少两个用于临时存储到来的打印工作数据的接收缓冲器。在该计算机可读存储中的计算机程序包括如下处理:当在后的打印工作数据具有较高的优先权时,即使在前的打印工作数据正在被解释,较早地启动在后的打印工作数据的解释;即使在后的打印工作数据没有优先权,当在前的打印工作数据的解释程序运行时间超出预定的时间时,较早地启动在后的打印工作数据的解释;当多个打印工作数据具有相等的占有率而没有优先权时,通过分时交替地解释多个打印工作数据,或当多个打印工作数据具有不同的占有率而没有优先权时,根据占有率通过分时解释多个打印工作数据;以及当多个正在被解释的打印工作数据具有优先权时,不论多个打印工作数据的占有率如何,停止较低优先权打印工作数据的解释以允许较高优先权的打印工作数据较早地完成解释。
本发明还提供了一种用于控制按顺序请求的多个打印工作的调度的方法,该方法包括:根据第一调度过程调度解释程序启动,其中第一调度过程依赖于解释已经被启动的在前的打印工作数据和随后的打印工作数据之间的打印工作数据优先权;根据第二调度过程对解释已经被启动的多个打印工作数据的解释过程进行调度,其中第二调度过程依赖于占有率和打印工作优先权;以及根据第一调度过程和第二调度过程改变打印工作调度。
附图说明
本发明的这些和/或其他方面和优点将从结合附图的描述中变的显而易见和更容易被理解,其中:
图1是根据本发明的一个实施例说明应用打印工作调度控制方法的网络打印系统的结构;
图2是说明示于图1的网络打印机的结构的框图;
图3是示于图2的第一存储器单元和打印控制单元的详细框图;
图4是图2的第一存储器单元的映射图表;
图5是示于图2的第二存储器单元的映射图表;
图6是说明根据本发明的实施例控制打印工作调度的方法的流程图;
图7是说明示于图6的启动用于多个打印工作的解释程序的流程图;
图8是说明示于图6的解释多个打印工作数据的操作的流程图。
具体实施方式
现在将详细参考本发明的实施例,附图中显示了它的一个实施例,其中整篇中相同的附图标记指相同的元件。下面参考附图描述的实施例解释本发明。
图1示出了根据本发明的一个实施例的说明应用打印工作调度控制方法的网络打印系统的结构。在图1中,n个客户计算机11和12,其中n是大于或等于2的整数,是通过网线连接于网络17的信息处理机。打印机驱动程序存储于每一个客户计算机11,12中,该打印机驱动程序转换打印工作数据为打印机描述语言,如打印机命令语言(PCL)或页面描述语言(PS)。在本发明的这个实施例中,打印机驱动程序能够支持各种打印机描述语言。
网络打印机14通过通信接口单元(未示出)连接于网络17,网络打印机将由客户计算机11或12传输来的单独的命令转换为按页的点图像,且按页打印这些图像。
图2是根据本发明的网络打印机14的结构的方框图。虽然在这个实施例中,网络打印机14是一个激光打印机(LBP),但其它类型的打印机可以用于网络打印机14。
在图2中,通信接口单元21包括具有含有分配给它的原始介质访问控制(MAC)地址的网卡,且负责通过网络17在客户计算机11或12和网络打印机之间的数据传输和接收,网络17可以是互联网或局域网(LAN)。
第一存储器单元22以普通ROM实现且包括打印机操作系统(OS)和至少两个解释程序,该解释程序可以相同类型的或是不同类型的。
第二存储器单元23以普通RAM实现且包括用于打印控制程序(即打印机操作系统(OS))的操作区域,用于至少两个解释程序的操作区域,该解释程序可以是相同类型的或是不同类型的,以及用于每一个解释程序的堆区域。用于第一接收缓冲器32和第二接收缓冲器33(图3)的区域存在于OS操作区域或解释程序堆区域中。
打印控制单元24存取存储在第一存储器单元22中的打印机OS以控制打印机的整个操作,利用对应的解释程序解释由客户计算机11,12传输的打印工作数据以生成位映射数据,以及传输位映射数据给打印机发动机26。
当有多个打印工作请求时,打印工作调度单元25根据用于控制多个打印工作的解释程序的启动的第一调度过程和控制已经启动的多个打印工作的进程状态的第二调度过程,控制第二存储器单元23和打印控制单元24的操作。
打印机发动机26将由打印控制单元24生成的位映射数据打印到打印纸上。
图3是说明图2的第二存储器单元23和打印控制单元24的操作的详细方框图。下述的描述集中在打印控制单元24,其存取第一存储器单元22的解释程序以执行解释。
开关单元31响应于来自打印工作调度单元25的控制信号将从客户计算机11,12传输来的打印工作数据传递到接收第一缓冲器33或第二接收缓冲器34中的一个。
打印控制单元24应用存储在第一存储器单元22中的第一解释程序36和第二解释程序37。在本发明的实施例中,第一解释程序36和第二解释程序37是不同类型的解释程序,如分别是PCL解释程序和PS解释程序。第二存储器单元23包括第一接收缓冲器33和第二接收缓冲器34。虽然为了方便理解,在这个实施例中第二存储器单元23被描述成包括两个接收缓冲器,但是第二存储器23可以根据网络环境,网络打印机容量以及,特别是,第二存储器单元23的存储容量,包括多个接收缓冲器。同样的,虽然第一解释程序36和第二解释程序37被描述成不同类型的(即分别是PCL和PS解释程序),但是第一解释程序36和第二解释程序37也可以是相同类型的(即都可以是PCL解释程序或都是PS解释程序)。此外,第一存储器单元22可以根据网络打印机的容量包括多个解释程序。
打印工作调度单元25提供控制信号给开关单元31且基于第一和第二调度过程控制打印控制单元,如后面将要描述的,以使打印控制单元24能够解释由第一接收缓冲器33或第二接收缓冲器34收到的打印工作数据,该控制信号表明第一接收缓冲器33和第二接收缓冲器34是否空或满。
图4是图2的第一存储器单元22的映射图表,该第一存储器单元22包括用于存储打印机OS的第一区域41,用于存储第一PCL解释程序PCL-1的第二区域42,用于存储第二PCL解释程序PCL-2的第三区域43,用于存储第一PS解释程序PS-1的第四区域44,用于存储第二PS解释程序PS-2的第五区域45等。在本发明的实施例中,假设有两个打印工作要被调度。此外,在第一存储单元22中为第一解释程序36和第二解释程序37指定两个解释程序区域(即为PCL和PS打印程序)。
可替换的,如下面描述的,根据第一存储器单元22和/或第二存储器单元23的存储容量,在第一存储器单元22中可以存储多个解释程序。
当第一存储器单元22不具有充足的存储容量时,多个解释程序被存储在第一存储器单元22中且被分配不同的链接地址。
当第一存储器单元22具有充足的存储容量,同时第二存储器单元23具有充足存储容量时,多个被压缩的解释程序可以存储在第一存储器单元22中以被解压缩和随后被复制到用于打印工作解释的第二存储器单元23中。在这种情况下,多个被压缩的解释程序被编作RAM执行码,链接和压缩以在其它的RAM地址中可执行。
图5是图2的第二存储器单元23的映射图表,第二存储器单元23包括作为打印机OS的操作区域的第一区域51,作为第一和第二PCL解释程序PCL-1和PCL-2的操作区域的第二区域52,作为第一和第二PS解释程序PS-1和PS-2的操作区域的第三区域53,作为第一和第二PCL解释程序PCL-1和PCL-2的堆区域的第四区域54,作为第一和第二PS解释程序PS-1和PS-2的堆区域的第五区域55等。第四和第五区域54和55,被描述为堆区域,用于在解释过程中需要的动态存储分配且占用第二存储器单元23的绝大部分。特别是,当第一解释程序36或第二解释程序37接收的待处理数据时,堆区域54和55被用于临时存储接收到的数据或将接收到的数据转换为可打印的数据,这种转换需要大量存储分配/释放。
当第一解释程序36或第二解释程序37启动解释打印工作A时,第四或第五区域54或55作为堆区域被反复分配和释放以处理打印工作A。当第四或第五区域54或55的绝大部分被用作打印工作A的堆区域时,在第四或第五区域54或55中没有空间剩余以被分配作为打印工作B的堆区域,而打印工作B开始通过第一解释程序36或第二解释程序37解释。为了防止这种情况,根据第二存储器单元23的容量,堆区域以下述三种方式之一被分配。
第一种分配方法是在第四或第五区域中对于多个打印工作共用一个堆区域。根据这种方法,当第四或第五区域54或55的绝大部分被用作打印工作A的堆区域时,第一解释程序或第二解释程序36或37必须等待,以解释打印工作B,直到一个预定的堆区域提供给打印工作B。
第二种分配方式是在第四或第五区域54或55中对每一个打印工作分配预定的堆区域。根据这种方法,在第四或第五区域54或55中从用于打印工作B的堆区域中区分出用于打印工作A的堆区域,即使打印工作A早于打印工作B开始被解释,在前指定给打印工作B的堆也被保留给打印工作B。堆区域可以被均匀地分配用于每一个打印工作。为了在使用中的效率,分配的堆区域包括用于打印工作A的堆区域,用于打印工作B的堆区域,和用于打印工作A和B的通用堆区域。
第三种分配方法是将第四或第五区域54或55的整个堆区域分为用于以段为基础的打印工作解释的预定尺寸的段。特别是,一旦打印工作A开始被解释,堆段被指定给打印工作A的解释。然后,当打印工作B开始被解释,用于打印工作B的堆区域从紧接着用于打印工作A的堆段被指定。用这种方法,堆利用效率最大化。
图6是根据本发明的实施例说明打印工作控制方法的流程图,将与图3结合描述。
参考图6,在操作61,打印工作调度单元25响应于多个打印工作请求建立关于第一解释程序36和第二解释程序37的启动的第一调度过程和关于解释多个已经启动的打印工作的处理的第二调度过程。第一和第二调度过程将在后面参考图7和图8详细描述。
当网络打印机14在操作62接收到来自客户计算机11和12的打印工作数据时,打印工作调度单元25检查第一接收缓冲器33和第二接收缓冲器34是否满或空,并传送给开关单元31表明接收缓冲器已空且可用于接收到的打印工作的控制信号。这时,如果第一接收缓冲器33和第二接收缓冲器34两者都是满的,打印工作调度单元25送给发出打印工作数据的计算机11和12一个等待信号。
在操作63,打印工作调度单元25根据来自打印控制单元24的打印机OS的可用信息,决定是否有正在被解释的当前工作。如果有正在被中断的当前工作,进行操作67的控制(以后描述)。
在操作64,如果在操作63决定没有正在被解释的当前工作,打印控制单元24从第一存储器单元22调用可用的解释程序以启动用于接收到的打印工作的被调用的解释程序。一旦解释程序被启动,打印工作调度单元25根据打印控制单元24的打印机OS,在解释启动后等待预定的时间以决定是否接收到的工作数据的解释已经在预定的时间完成并用该结果作为参考数据用于下一次打印工作调度。
在操作64完成后经过预定的时间,在操作65决定是否在第一接收缓冲器33或第二解释程序34中正在接收新的打印工作。如果在第一接收缓冲器33或第二解释程序34中有正在接收的新的打印工作,进行操作67的控制(后面描述)。如果在第一接收缓冲器33或第二解释程序34中有正在接收的新的打印工作,在操作62接收到的打印工作被在操作66调用的解释程序处理且在操作69被转换成可打印的数据。
如果在操作63决定有新的打印工作正在被解释或如果在操作65决定在第一接收缓冲器33或第二接收缓冲器34中有正在收到的新的打印工作数据,根据在操作61所决定的第一调度过程,建立用于启动对于多个打印工作的第一解释程序36和第二解释程序37的新的调度。这个用于启动第一解释程序36和第二解释程序37的新的调度在下面详细描述。
图7是说明图6的操作67的流程图,其用于对多个打印工作的第一解释程序36和第二解释程序37的启动进行调度。参考图7,在操作71通过在以前接收到的且正在被解释的打印工作和新的打印工作数据之间的优先权比较,决定是否新的打印工作具有高于以前接收到的打印工作的优先权。网络打印系统具有工作优先策略,其根据打印紧急度和/或用户优先权等建立。打印优先策略使得将要被解释的更高优先权的打印工作能够早于正在被解释的低优先权的打印工作。
如果在操作71决定新的接收到的打印工作数据不是更高优先权的数据,在操作72决定是否以前的打印工作数据的解释程序运行时间超出预定的时间,该预定时间通过打印调度单元25在前面设定。
如果在操作71决定新接收到的打印工作数据是更高优先权的数据或如果在操作72决定用于前面的打印工作数据的解释程序运行时间已经超出预定的时间,在操作73,从第一存储器单元22调用用于新接收到的打印工作数据的可用的解释程序以启动可用的解释程序。
如果在操作72决定用于前面的打印工作数据的解释程序运行时间没有超出预定的时间,在操作74新接收到的打印工作数据在旁边等待。
参考图6,在根据第一调度过程在操作67中用于多个打印工作的第一解释程序36和第二解释程序37启动后,在操作68,根据第二调度过程建立用于解释多个已经启动的打印工作数据的调度。操作68将参考图8在下面详细描述。
图8是说明图6的操作68的流程图,其包括多个正在被解释的打印工作数据的调度处理。
参考图8,在操作81决定是否多个正在被解释的打印工作数据具有相等的占有率。
如果在操作81决定多个正在被解释的打印工作数据不具有相等的占有率,则在操作82决定是否具有更高的优先权的工作数据。
如果在操作82决定有正在解释的更高优先权的工作数据,则在操作83中断用于较低优先权的工作数据的解释程序以允许更高优先权的工作数据早一些完成解释。
如果在操作81决定多个正在解释的打印工作数据具有相等的占有率或如果在操作82决定没有更高的优先权的工作数据存在,则在操作84通过分时共用,多个打印工作数据被交替解释预定的时间。可替换的,如果多个被解释的打印工作数据具有不同的占有率,多个打印工作数据可以按照占有率的顺序解释。通过将多个解释程序存储进第一存储器单元22和在第二存储器单元23中对多个解释程序中的每一个分配多个接收缓冲器区域、操作和堆区域来实现分时解释。在本发明的实施例中,上述的第二或第三堆分配方法可以使用。
虽然上述本发明的实施例是参考网络打印系统描述的,根据本发明的打印工作调度控制方法可以应用于不是多个用户共用的非网络打印系统,和,特别是,用于高速打印系统,而没有多大改动。在这种情况下,用于非网络打印系统的工作优先策略由打印工作优先权决定而不是由用户优先权决定。特别是,当用户连续地请求打印系统执行多个打印工作时,允许用户传送包括工作优先权数据的数据包给打印系统。打印系统检测包含工作优先权数据的数据包并根据来自数据包的工作优先权执行打印。
上述发明可以由计算机可读程序码实施或通过在通用数字计算机中运行来自计算机可读媒体的程序来实施,计算机可读媒体包括但并不局限于存储媒体,如磁存储媒体(如ROM、软盘、硬盘等)、光可读媒体(如CD-ROM、DVD等),以及载波(如通过互联网传输)。
根据上述的本发明,用于按先后顺序请求的多个打印工作的调度可以根据依打印紧急度和/或用户优先权以及解释程序运行时间建立的第一和第二调度过程灵活改变。因此,较小的文件可以不用等到大的文件打印完而比大的文件更快地打印。
虽然本发明的实施例已经示出和描述,对于本领域的技术人员可以理解在不脱离由权利要求极其对等物所限定的本发明的原则和精神的情况下,对这个实施例改变是可以的。例如,存储在第一存储单元22中的解释程序的数量和类型,以及用于第二存储器单元23的接收缓冲器的数量可以是不同的。
Claims (31)
1.一种打印系统,包括:
第一存储单元,存储打印机操作系统和至少两个解释程序;
第二存储单元,具有用于打印机操作系统的操作区域,用于第一存储单元的每一个解释程序的操作区域和堆区域,以及至少两个临时存储到来的打印工作数据的接收缓冲器;以及
打印控制单元,根据打印机操作系统控制打印系统的操作,控制第一存储单元的解释程序以解释打印工作数据,以及将解释后的打印工作数据传送给打印机发动机,
其特征在于:
打印工作调度单元,提供关于用于多个打印工作的解释程序的启动的第一调度过程和关于已经启动的多个打印工作的解释的第二调度过程,该打印机控制单元利用第一调度过程和第二调度过程以控制解释程序的操作。
2.如权利要求1的打印系统,其中第一存储单元给每一个解释程序指定不同的链接地址。
3.如权利要求1的打印系统,其中每一个解释程序以具有不同链接地址和RAM可执行码的压缩形式存储在第一存储单元,当被执行时,每一个解释程序被解压缩并被复制到第二存储器单元中。
4.如权利要求1的打印系统,其中第二存储单元的堆区域具有等于正在被解释的打印工作的数量的数量的子区域。
5.如权利要求1的打印系统,其中当N个打印工作被解释时,第二存储单元的堆区域具有用于每一个打印工作的N个堆区域和用于N个打印工作的一个公共区域。
6.如权利要求1的打印系统,其中第二存储单元的堆区域包括段,每一段具有相等的尺寸,当多个打印工作中的每一个开始被解释时,每一段被顺序指定。
7.如权利要求1的打印系统,其中即使在前的打印工作数据的解释已经被启动,第一调度过程允许将要被启动的较高优先权的打印工作数据早于较低优先权的打印工作数据被解释。
8.如权利要求7的打印系统,其中当在前的打印工作数据的解释程序运行时间超出预定的时间时,第一调度过程允许将要启动的新的打印工作数据早于在前的打印工作数据被解释,即使新的打印工作数据不具有更高的优先权。
9.如权利要求8的打印系统,其中在网络环境中,打印工作调度单元以用户优先权为基础决定打印工作优先权。
10.如权利要求8的打印系统,其中在非网络环境中,用户以工作优先权为基础决定打印工作优先权。
11.如权利要求1的打印系统,其中当多个打印工作具有相等的占有率而没有优先权时,第二调度过程通过分时交替调度已经开始被解释的多个打印工作数据的解释。
12.如权利要求1的打印系统,其中当多个打印工作数据具有不同的占有率而没有优先权时,根据占有率,第二调度过程调度已经开始被解释的多个打印工作数据的解释。
13.如权利要求11的打印系统,其中不论具有已经被启动解释的多个打印工作数据的占有率如何,当较高优先权的打印工作数据已经被启动时,第二调度过程停止较低优先权的打印工作数据的解释以使较高优先权的打印工作数据能够快于较低优先权的打印工作数据被完成解释。
14.如权利要求12的打印系统,其中不论具有已经被启动解释的多个打印工作数据的占有率如何,当较高优先权的打印工作数据已经被启动时,第二调度过程停止较低优先权的打印工作数据的解释以使较高优先权的打印工作数据能够快于较低优先权的打印工作数据被完成解释。
15.如权利要求1的打印系统,其中第一存储器单元是只读存储器。
16.如权利要求1的打印系统,其中第二存储器单元是随机存取存储器。
17.如权利要求1的打印系统,进一步包括响应于来自打印工作调度单元的输出控制信号,将到来的打印工作数据转发给至少两个接收缓冲器中的一个的开关单元,该控制信号分别表明接收缓冲器是否空或满。
18.如权利要求1的打印系统,其中该至少两个解释程序是不同类型的解释程序。
19.如权利要求1的打印系统,其中该至少两个解释程序是相同类型的解释程序。
20.如权利要求1的打印系统,其中用到的接收缓冲器的数量取决于第二存储单元的存储容量。
21.如权利要求1的打印系统,其中用到的解释程序的数量取决于第一存储器单元和第二存储器单元的存储容量。
22.如权利要求1的打印系统,其中当至少两个解释程序的任何一个接收到到来的打印工作数据时,收到引入打印工作数据的堆区域被用于临时存储到来的打印工作数据或用于将到来的打印工作数据转换为可打印的数据。
23.一种控制打印工作调度的方法,该方法包括:
根据第一调度过程调度解释程序启动,其中第一调度过程依赖于已经启动解释的在前的打印工作数据和随后的打印工作数据之间的打印工作数据优先权;以及
根据第二调度过程调度解释已经被启动的多个打印工作数据的解释的过程,其中第二调度过程依赖于占有率和打印工作优先权。
24.如权利要求23的方法,其中第一调度过程包括早于在前的打印工作数据启动较高优先权的打印工作数据的解释,该在前打印工作数据的解释已经被启动。
25.如权利要求24的方法,其中当在前被启动的打印工作数据的解释程序的运行时间超出预定的时间时,第一调度过程包括允许新的打印工作数据的解释早于在前的打印工作数据被启动,即使新的打印工作数据没有更高的优先权。
26.如权利要求23的方法,其中当多个打印工作数据具有相等的占有率而没有优先权时,第二调度过程包括通过分时交替的解释已经开始被解释的多个打印工作数据。
27.如权利要求24的方法,其中当多个打印工作数据具有不同的占有率而没有优先权时,第二调度过程包括根据占有率,调度已经开始被解释的多个打印工作数据的解释。
28.如权利要求23的方法,其中,无论具有已经启动的解释的多个打印工作数据的占有率如何,当较高优先权的打印工作数据的解释已经被启动时,第二调度过程调度较低优先权的打印工作数据的解释程序的终止以使较高优先权的打印工作数据能够快于较低优先权的打印工作数据完成解释。
29.一种计算机可读存储,在其上具有用于在打印系统中控制打印工作调度的计算机程序,其中打印系统具有第一存储单元,用于存储一个打印机操作系统和至少两个解释程序的第一存储器单元,以及第二存储单元,具有用于打印机操作系统的操作区域,用于第一存储器单元的每一个解释程序的操作区域和堆区域,以及至少两个用于临时存储到来的打印工作数据的接收缓冲器,在该计算机可读存储中的计算机程序包括如下处理:
当在后的打印工作数据具有较高的优先权时,即使在前的打印工作数据正在被解释,较早地启动在后的打印工作数据的解释;
即使在后的打印工作数据没有优先权,当在前的打印工作数据的解释程序运行时间超出预定的时间时,较早地启动在后的打印工作数据的解释;
当多个打印工作数据具有相等的占有率而没有优先权时,通过分时交替地解释多个打印工作数据,或当多个打印工作数据具有不同的占有率而没有优先权时,根据占有率通过分时解释多个打印工作数据;以及
当多个正在被解释的打印工作数据具有优先权时,不论多个打印工作数据的占有率如何,停止较低优先权打印工作数据的解释以允许较高优先权的打印工作数据较早地完成解释。
30.如权利要求29的计算机可读存储,进一步包括决定每一个接收缓冲器是否满或空以及将到来的打印工作数据转发给空的且对于到来的打印工作数据可用的接收缓冲器中的一个。
31.一种用于控制按顺序请求的多个打印工作的调度的方法,该方法包括:
根据第一调度过程调度解释程序启动,其中第一调度过程依赖于解释已经被启动的在前的打印工作数据和随后的打印工作数据之间的打印工作数据优先权;
根据第二调度过程对解释已经被启动的多个打印工作数据的解释过程进行调度,其中第二调度过程依赖于占有率和打印工作优先权;以及
根据第一调度过程和第二调度过程改变打印工作调度。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR62114/02 | 2002-10-11 | ||
KR62114/2002 | 2002-10-11 | ||
KR10-2002-0062114A KR100490412B1 (ko) | 2002-10-11 | 2002-10-11 | 인쇄작업 순서 제어방법 및 이를 위한 프린트 시스템 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1509889A CN1509889A (zh) | 2004-07-07 |
CN1297880C true CN1297880C (zh) | 2007-01-31 |
Family
ID=32026142
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2003101147467A Expired - Fee Related CN1297880C (zh) | 2002-10-11 | 2003-10-11 | 控制打印工作调度的方法及应用该方法的打印系统 |
Country Status (4)
Country | Link |
---|---|
US (2) | US7505166B2 (zh) |
EP (1) | EP1408401A3 (zh) |
KR (1) | KR100490412B1 (zh) |
CN (1) | CN1297880C (zh) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060149755A1 (en) * | 2005-01-05 | 2006-07-06 | First Data Corporation | Insertion machine job scheduling systems and methods |
KR100675371B1 (ko) * | 2005-01-22 | 2007-01-29 | 삼성전자주식회사 | 화상형성장치 및 화상형성장치의 작업처리순서 제어방법 |
JP4135724B2 (ja) * | 2005-04-08 | 2008-08-20 | コニカミノルタビジネステクノロジーズ株式会社 | データ出力装置及びデータ出力制御プログラム |
JP2007245673A (ja) * | 2006-03-17 | 2007-09-27 | Ricoh Co Ltd | 画像形成装置 |
CN100418073C (zh) * | 2006-07-20 | 2008-09-10 | 北京北大方正电子有限公司 | 带有两个独立缓冲存储器的高速打印控制装置及控制方法 |
JP4850739B2 (ja) * | 2007-02-05 | 2012-01-11 | キヤノン株式会社 | 情報処理装置及びその制御方法、コンピュータプログラム、画像形成システム |
US8760683B2 (en) | 2009-03-30 | 2014-06-24 | Novell, Inc. | Techniques for scheduling and guaranteeing print jobs |
JP5501052B2 (ja) * | 2010-03-24 | 2014-05-21 | キヤノン株式会社 | 通信装置、通信装置の制御方法、プログラム |
JP5484385B2 (ja) * | 2011-03-30 | 2014-05-07 | 京セラドキュメントソリューションズ株式会社 | 画像形成装置及び画像形成プログラム |
JP4952859B1 (ja) * | 2011-09-15 | 2012-06-13 | 富士ゼロックス株式会社 | 印刷データ処理システム |
JP2015039844A (ja) * | 2013-08-22 | 2015-03-02 | キヤノン株式会社 | 画像形成装置及びジョブ制御方法、並びにプログラム |
JP6450967B2 (ja) * | 2014-11-20 | 2019-01-16 | セイコーエプソン株式会社 | 印刷装置、及び、印刷システム |
CN105056643B (zh) * | 2015-07-27 | 2017-01-04 | 宁波智通环保科技有限公司 | 一种带有电子控制装置和进气阀门的空气净化装置 |
CN105056660B (zh) * | 2015-07-27 | 2016-11-30 | 北京时代浩鼎科技股份有限公司 | 一种空气净化装置 |
JP6489075B2 (ja) * | 2016-06-27 | 2019-03-27 | 京セラドキュメントソリューションズ株式会社 | 画像形成装置、プログラム及び情報処理方法 |
JP6827798B2 (ja) * | 2016-12-21 | 2021-02-10 | キヤノン株式会社 | 画像形成装置、画像形成装置の制御方法、プログラム。 |
KR20190014777A (ko) * | 2017-08-03 | 2019-02-13 | 에스케이하이닉스 주식회사 | 이미지 신호 처리 시스템 및 방법 |
JP2019072968A (ja) * | 2017-10-18 | 2019-05-16 | キヤノン株式会社 | 画像形成装置、画像形成方法、及び、プログラム |
US20190306067A1 (en) * | 2018-03-30 | 2019-10-03 | Konica Minolta Laboratory U.S.A., Inc. | End-to-end priority network delivery enforcing application protocol |
CN108920112A (zh) * | 2018-05-29 | 2018-11-30 | 苏州树云网络科技有限公司 | 一种基于ip识别的打印机任务控制装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5206735A (en) * | 1990-06-29 | 1993-04-27 | Xerox Corporation | Job interrupt for electronic copying/printing machines |
US6332170B1 (en) * | 1997-11-11 | 2001-12-18 | Minolta Co., Ltd. | Printing apparatus with job interrupt capabilities and control method thereof |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01286017A (ja) * | 1988-05-13 | 1989-11-17 | Hitachi Ltd | 印刷制御装置 |
JPH0443426A (ja) | 1990-06-11 | 1992-02-13 | Toshiba Corp | データ処理装置 |
US5293466A (en) * | 1990-08-03 | 1994-03-08 | Qms, Inc. | Method and apparatus for selecting interpreter for printer command language based upon sample of print job transmitted to printer |
JP3084807B2 (ja) * | 1991-07-10 | 2000-09-04 | ブラザー工業株式会社 | 印字装置 |
JPH05338329A (ja) * | 1992-06-05 | 1993-12-21 | Nec Corp | プリンタ装置の言語体系切替制御方式 |
US5475801A (en) * | 1992-06-12 | 1995-12-12 | Xerox Corporation | System for controlling the printing of electronic documents with various page description languages and other parameters |
JPH0664251A (ja) | 1992-08-21 | 1994-03-08 | Canon Inc | 印刷装置及びその制御方法 |
US5402527A (en) * | 1993-04-23 | 1995-03-28 | Xerox Corporation | Apparatus and method for determining the page description language in which a print job is written |
JPH07137359A (ja) | 1993-11-18 | 1995-05-30 | Canon Inc | 印刷装置 |
US5774356A (en) | 1994-05-25 | 1998-06-30 | Fuji Xerox Co., Ltd. | Image forming apparatus with job priority management of output processing |
US5715379A (en) | 1995-10-30 | 1998-02-03 | Xerox Corporation | Architecture for a digital printer with multiple independent decomposers |
JPH09190317A (ja) | 1996-01-10 | 1997-07-22 | Canon Inc | 印刷装置および印刷方法 |
KR970073993A (ko) * | 1996-05-22 | 1997-12-10 | 김광호 | 우선순위 구별기능을 갖춘 프린터 큐의 구현방법 |
JPH10283134A (ja) * | 1997-04-04 | 1998-10-23 | Toshiba Syst Kaihatsu Kk | 印刷処理装置 |
US5970224A (en) | 1997-04-14 | 1999-10-19 | Xerox Corporation | Multifunctional printing system with queue management |
JPH11338652A (ja) | 1998-05-25 | 1999-12-10 | Konica Corp | 印刷制御装置 |
JP3273600B2 (ja) * | 1999-03-10 | 2002-04-08 | セイコーエプソン株式会社 | プリンタ、プリンタ制御方法及びプログラムを記録した記憶媒体 |
KR100299972B1 (ko) * | 1999-05-07 | 2001-09-13 | 윤종용 | 프린터에서의 인쇄작업 순서 제어방법 |
JP2001222396A (ja) * | 2000-02-10 | 2001-08-17 | Matsushita Graphic Communication Systems Inc | プリンタコントローラ及びプリンタ言語切替方法 |
GB2371906B (en) | 2001-01-31 | 2004-10-27 | Hewlett Packard Co | Method and apparatus for embodying documents |
US7265855B2 (en) * | 2001-02-28 | 2007-09-04 | Sharp Laboratories Of America, Inc. | Priority interruptible printing system |
US6647437B2 (en) * | 2001-05-15 | 2003-11-11 | Lexmark International, Inc. | Method for automatically detecting and processing binary postscript print jobs |
-
2002
- 2002-10-11 KR KR10-2002-0062114A patent/KR100490412B1/ko not_active IP Right Cessation
-
2003
- 2003-10-09 US US10/681,741 patent/US7505166B2/en not_active Expired - Fee Related
- 2003-10-10 EP EP03256403A patent/EP1408401A3/en not_active Withdrawn
- 2003-10-11 CN CNB2003101147467A patent/CN1297880C/zh not_active Expired - Fee Related
-
2008
- 2008-07-01 US US12/216,246 patent/US8144347B2/en not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5206735A (en) * | 1990-06-29 | 1993-04-27 | Xerox Corporation | Job interrupt for electronic copying/printing machines |
US6332170B1 (en) * | 1997-11-11 | 2001-12-18 | Minolta Co., Ltd. | Printing apparatus with job interrupt capabilities and control method thereof |
Also Published As
Publication number | Publication date |
---|---|
US8144347B2 (en) | 2012-03-27 |
EP1408401A3 (en) | 2008-06-04 |
KR100490412B1 (ko) | 2005-05-17 |
US20040165213A1 (en) | 2004-08-26 |
US20080266603A1 (en) | 2008-10-30 |
KR20040033182A (ko) | 2004-04-21 |
US7505166B2 (en) | 2009-03-17 |
EP1408401A2 (en) | 2004-04-14 |
CN1509889A (zh) | 2004-07-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1297880C (zh) | 控制打印工作调度的方法及应用该方法的打印系统 | |
US6600569B1 (en) | Printing control apparatus, printing control method, printing control system, and storage medium in which printing control program is stored | |
US7872769B2 (en) | Divided job scheduler | |
US6559958B2 (en) | Printing method and apparatus having multiple raster image processors | |
US5717842A (en) | Method of managing memory allocation in a printing system | |
CN1311329C (zh) | 打印控制装置和打印控制方法 | |
JP5663941B2 (ja) | 印刷文書変換装置およびプログラム | |
US20090161163A1 (en) | Parallel RIP with Preamble Caching | |
CN1794165A (zh) | 信息处理装置、图像形成装置、记录介质及图像形成系统 | |
US20130258375A1 (en) | Parallel printing system | |
US20070139684A1 (en) | Device for dynamically varying the priority of various processing in a printer | |
JP5141995B1 (ja) | 印刷制御装置、画像形成システムおよびプログラム | |
CN1864165A (zh) | 向打印机传输文档和资源的系统 | |
US20060082827A1 (en) | Network printer to control a print queue and method thereof | |
CN1825272A (zh) | 一种多节点智能网络应用服务系统中的远程打印方法 | |
US5377311A (en) | Fast printer data stream conversion with constrained memory | |
JP2000035870A (ja) | プリントシステム及びプリンタ | |
JP2013065234A (ja) | 印刷制御装置およびプログラム | |
US6972855B2 (en) | Image forming apparatus and image forming method | |
US6788430B1 (en) | Printer, printer control method and recording medium storing its process | |
JP2002215352A (ja) | 画像処理装置 | |
US5905853A (en) | Image printing apparatus and method having changeable capacity storage means | |
CN1932747A (zh) | 打印控制器、打印系统及其操作方法 | |
CN1925533A (zh) | 利用作业保持功能的多图像形成方法和系统 | |
JP3144197B2 (ja) | 印刷装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20070131 Termination date: 20091111 |