当前位置: 首页 > 专利查询>微软公司专利>正文

打印作业排队和调度系统及方法技术方案

技术编号:2850339 阅读:207 留言:0更新日期:2012-04-11 18:40
描述了其中打印作业的优先级可编程的打印系统和方法。在一实施例中,调度程序组件监督打印作业的管理和调度,并连同称为优先级划分程序的组件一起工作以提供编程和定制的便利。在至少一些实施例中,提供了系统的接口,以使优先级划分程序能被编程并插入,来根据不同的打印作业属性来定制调度程序的行为。在至少一些实施例中,系统使用用于系统中打印队列的相对优先级划分的模型来实施系统资源在打印队列之间的公平平衡。在至少一些实施例中,系统可在打印一个作业时独立地调度提交和打印操作,并可使用称为“饥饿风险”的试探法来帮助确保系统中的节流提交不会导致设备饥饿。

【技术实现步骤摘要】

本专利技术涉及。
技术介绍
打印服务器通常将要打印的作业调度到一系列物理或逻辑打印机中。因为有些打印作业通常相对较大并且可消耗大量资源,感觉到的和实际的打印服务器性能在系统允许一作业打印时会受到很大的影响。例如,如果足够数量的作业被调度为进行提交或打印,则该计算机的物理存储器将用完,这可导致称为“颠簸”(thrashing)的现象。颠簸是在往返地从硬盘重复读写虚拟内存时发生的情形。这可导致比起如果未安排导致系统颠簸的作业时对处理打印作业的进展更少的情形。在该情形中,调度决定会影响系统的实际性能。类似地,如果独立地从硬盘上的多个文件读取足够数据,则因为这可导致磁头在盘上的额外移动,实际上性能会降低。在另一示例中,考虑需要打印的一个大作业和一系列较小作业。在该情形中,如果大作业在较小作业之后打印,在更多用户将更快地接收其作业。在该情形中,因为不论发生哪种状况服务器的吞吐量都不会更低,所以感觉到的性能而非实际性能会降低。因为打印作业倾向于可在大小或期望优先级上改变,所以将需要一种手段,使打印服务器管理员能控制系统中各作业的优先级,并在某些时间调度各作业。此外,需要能向用户提供在获管理员许可时改变其作业的优先级的能力。因此,本专利技术涉及提供经改进的。
技术实现思路
描述了其中打印作业的优先级可编程的打印系统和方法。在一实施例中,调度程序(Scheduler)组件监督打印作业的管理和调度,并连同称为优先级划分程序(prioritizer)的组件一起工作以提供编程和定制的便利。在至少一些实施例中,提供了系统的接口,以使优先级划分程序能被编程并插入,来根据不同的打印作业属性来定制调度程序的行为。在至少一些实施例中,系统使用用于系统中打印队列的相对优先级划分的模型来实施系统资源在打印队列之间的公平平衡。在至少一些实施例中,系统可在打印一个作业时独立地调度提交和打印操作,并可使用称为“饥饿风险”的试探法来帮助确保系统中的节流提交不会导致设备饥饿。附图说明图1是一计算设备的高级框图,其组件可用来实现一个或多个实施例。图2是示出根据一实施例的客户机设备和打印服务器的示例性组件的框图。图3是示出根据一实施例的包括各个调度队列的调度系统的框图。图4是示出入池打印机(pooled printer)概念的系统的框图。具体实施例方式综述在以下所述的各个实施例中,描述了其中系统中打印作业的相对优先级可编程的一种打印系统。在至少一些实施例中,调度程序组件监督打印作业的管理和调度,并连同称为优先级划分程序的组件一起工作以提供编程和定制的便利。在至少一些实施例中,提供了系统的接口,以使优先级划分程序能被编程并插入,来根据不同的打印作业属性来定制调度程序的行为。因此,在一些实施例中,不必精通各种编程语言的系统管理员能简便地定义用于管理打印作业的定制行为。例如,在至少一些实施例中,提供了使优先级划分程序的各个参数值能由管理用户配置的用户界面。管理用户还能改变优先级划分程序的相关分级。这样,编程较不熟练的用户具有无需具备使用编程语言的能力就能进一步定制调度程序的行为的能力。在至少一些实施例中,打印作业可在基于其特定特征在时间上通过编程来延迟或提前。此外,在至少一些实施例中,系统使用用于系统中打印队列的相对优先级划分的模型来实施系统资源在打印队列之间的公平(或在管理员的判断下的有偏)平衡。这使系统能在系统的各个打印机上公平地平衡作业负载。此外,用来公平地确定各个队列上负载的该机制还可按照使较少经验的用户能定制系统行为的方式来编程。在至少一些实施例中,如本领域技术人员所理解的,系统可用O(1)的计算复杂度来实现其运算,以便于确定不再需要进一步的处理。在至少一些实施例中,系统可在打印一个作业时独立地调度提交和打印操作。这使它能够对向打印机发送打印输出的I/O限制任务实现所需设备吞吐量,同时限制系统中CPU和存储器密集的提交任务的数量。在以下所述的一实施例中,系统使用称为“饥饿风险”的试探法来帮助确保系统中的节流提交不会导致设备饥饿。在至少一些实施例中,系统使自然入池模型(natural pooling model)得以表达。如以下将显而易见的,这使系统的普通和管理用户能看到特定队列上影响他们的打印能力的全部作业。在至少一些实施例中,系统用O(1)的CPU复杂度实现这些目标,以便于确定另一个作业是否必须打印,并且O(log2J)+O(log2P)的CPU复杂度用于调度决定,其中J是队列中作业的数量,而P是系统中物理打印机的数量。因而,例如,在具有两百个队列和均匀分布的一百万个作业的系统中,本系统通常仅用20次比较就可做出调度决定,而与之相比,当前的系统可能需要200百万次比较才能做出调度决定。示例性客户机设备/打印机服务器组件首先,在描述各个实施例之前,先提供计算设备的以下描述。如本领域技术人员所理解的,计算设备的各个组件可用来实现客户机和打印服务器。这样,图1示出可使用以下所述的各个实施例的示例性计算设备。可以理解和认为所述计算设备仅为示例性目的提供,并非旨在限制所请求保护的主题仅应用于一种特定类型的计算设备。计算装置142包括一个或多个处理器或处理单元144、系统存储器146以及把包括系统存储器146的各个系统组件耦合到处理器144的系统总线148。系统总线148表示若干总线结构类型中任一种的一个或多个,包括存储器总线或存储器控制器、外围总线、加速图形端口以及使用多种总线架构的任一种的处理器或局部总线。系统存储器146包括只读存储器(ROM)150和随机存储器(RAM)152。含有帮助如启动期间在计算装置142中元件之间信息交换的基本例程的基本输入/输出系统(BIOS)154存储在ROM 150中。计算装置142还包括读取和写入硬盘(未示出)的硬盘驱动器156、读取或写入可移动磁盘160的磁盘驱动器158、以及读取或写入诸如CD ROM或其它光学介质等可移动光盘164的光盘驱动器162。硬盘驱动器156、磁盘驱动器158和光盘驱动器162分别通过SCSI接口166或一些其它适当接口连接至总线148。诸驱动器及其相关联计算机可读介质为计算机142提供计算机可执行指令、数据结构、程序模块和其它数据的非易失性储存。尽管在此所述示例性环境采用了硬盘、可移动磁盘160和可移动光盘164,但本领域技术人员应理解也可在示例性操作环境中使用其它类型计算机可访问的能够存储数据的计算机可读介质,诸如盒式磁带、闪存卡、数字视频盘、随机存取存储器(RAM)、只读存储器(ROM)等等。包括操作系统170、一个或多个应用程序172(诸如用户代理程序或浏览器)、其它程序模块174和程序数据176的众多程序模块,可存储在硬盘156、磁盘160、光盘164、ROM 150或RAM 152中。用户可通过诸如键盘178和定位装置180的输入装置把命令和信息输入计算机142。其它输入装置(未示出)可包括诸如话筒、游戏杆、游戏垫、圆盘式卫星天线、扫描仪等等。这些和其它输入装置通过与总线148耦合的接口182连接到处理单元144。监视器184或其它类型的显示装置也通过诸如视频适配器186的接口和总线148相连。除了监视器之外,个人计算机通常包括其它外围输出装置(未示出),如扬声器和打印本文档来自技高网...

【技术保护点】
一个或多个其上包含计算机可读指令的计算机可读媒体,所述计算机可读指令在执行时实现一种计算机体系结构,所述计算机体系结构包括:    一个或多个优先级划分程序,各个优先级划分程序关联于一个打印队列并可配置成处理与打印作业相关联的数据,并产生用于特定打印队列的调度数据以用来调度所述打印作业;以及    调度程序,被配置成处理所述调度数据并调度用于所述特定打印队列的打印作业。

【技术特征摘要】
US 2005-2-25 11/067,3611.一个或多个其上包含计算机可读指令的计算机可读媒体,所述计算机可读指令在执行时实现一种计算机体系结构,所述计算机体系结构包括一个或多个优先级划分程序,各个优先级划分程序关联于一个打印队列并可配置成处理与打印作业相关联的数据,并产生用于特定打印队列的调度数据以用来调度所述打印作业;以及调度程序,被配置成处理所述调度数据并调度用于所述特定打印队列的打印作业。2.如权利要求1所述的计算机可读媒体,其特征在于,优先级划分程序被配置成产生权重值或时间值的至少之一。3.如权利要求1所述的计算机可读媒体,其特征在于,所述计算机可读指令允许多个优先级划分程序配置并关联在一起,来为特定打印队列定义一系列的优先级划分程序。4.如权利要求1所述的计算机可读媒体,其特征在于,所述计算机可读指令允许多个优先级划分程序配置和关联在一起,来为特定打印队列定义一系列优先级划分程序;以及允许对一系列单独的优先级划分程序分配优先级顺序。5.如权利要求1所述的计算机可读媒体,其特征在于,所述计算机可读指令允许多个优先级划分程序配置和关联在一起,来为特定打印队列定义一系列优先级划分程序,且其中所述优先级划分程序序列对各个打印作业分别产生由所述调度程序用来调度打印作业的元组。6.如权利要求1所述的计算机可读媒体,其特征在于,所述计算机可读指令还定义单个优先级划分程序用户界面,所述优先级划分程序用户界面被配置成使用户能配置相关联的优先级划分程序。7.如权利要求1所述的计算机可读媒体,其特征在于,所述计算机可读指令还使用一个或多个优先级队列来帮助所述调度程序调度打印作业。8.如权利要求1所述的计算机可读媒体,其特征在于,所述计算机可读指令还使用一个或多个优先级队列来帮助所述调度程序调度打印作业,且其中第一类优先级队列包括打印机优先级队列,所述打印机优先级队列表示与打印设备相关联的打印队列中的相对打印作业优先级划分;以及资源仲裁队列,表示打印队列的队列。9.如权利要求1所述的计算机可读媒体,其特征在于,所述计算机可读指令还使用一个或多个优先级队列来帮助所述调度程序调度打印作业,且其中第一类优先级队列包括打印机优先级队列,所述打印机优先级队列表示与打印设备相关联的打印队列中的相对打印作业优先级划分;以及资源仲裁队列,表示打印队列的队列;以及其中所述一个或多个优先级队列被用来维护数据,包括各个打印作业的相对优先级元组;全局优先级作用,表示处理特定打印作业对相关联打印设备的全局优先级的作用,以及保留计数值,可用来保留一打印作业。10.如权利要求1所述的计算机可读媒体,其特征在于,所述一个或多个优先级划分程序可从多个不同类型优先级划分程序的组中选择。11.如权利...

【专利技术属性】
技术研发人员:AF马克色岳峰MA劳伦斯
申请(专利权)人:微软公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1