多源适应性打印机驱动器配置的制作方法

文档序号:6441000阅读:201来源:国知局
专利名称:多源适应性打印机驱动器配置的制作方法
多源适应性打印机驱动器配置技术领域
本发明大体而言涉及设备驱动器且更具体而言涉及打印机驱动器。
技术背景
设备驱动器为软件代码主体,其常常能使得一个或多个更高层次软件应用与硬件设备互动。常常,设备驱动器从用户与其互动的更高层次应用接受通用命令,且将命令翻译成更低层次命令,被驱动的打印机设备被配置成处理更低层次命令。通过充当翻译器,设备驱动器能简化更高层次应用的编程,因为这些应用不需要编程为以设备处理的更低层次语言来发布命令。设备驱动器也可提供标准化接口,更高层次应用通过标准化接口可调用设备的功能。
打印机驱动器为软件代码主体,其使得更高层次应用能调用由打印机设备提供的功能。通常,打印机驱动器提供可广泛地分类为再现(rendering)、配置和用户体验功能的功能。简言之,由打印机驱动器提供的再现功能将打印作业起始时生成的信息翻译成符合打印机设备被配置成处理的页面描述语言(PDL)的命令和数据。配置功能使得高层次程序能够配置并查看打印机设备的各方面,诸如打印机设备支持的纸张大小,是否支持彩色打印等。用户体验功能在打印操作期间管理由打印机设备将信息呈现给用户,诸如让用户知道打印作业已开始或完成,墨水供应较低等。
常规地,打印机驱动器包括利用配置文件的静态集合的代码主体。对于配置文件的参考是硬编码的,使得配置文件的任何变化可需要修改和重新测试打印机驱动器。此外, 由于包括打印机驱动器的代码通常以执行之前编译的语言写入,打印机驱动器对于发生编译的特定处理器架构(例如,32位架构、64位架构等)是特定的。因此,如果用户采用特定打印机品牌和型号和执行特定操作系统且具有特定处理器架构的计算设备,则被设计成具体地用于组件的组合的打印机驱动器需要使计算设备和打印机设备互操作。考虑到市场上计算设备、操作系统和架构的增长,以及对于计算设备将能打印的用户社区的部分的一般设想,大量的打印机驱动器在市场中使用。每个驱动器必须由其供应商管理,供应商常常为独立硬件卖方,其核心能力更大程度上倾向于构建用户友好的硬件设备而不是朝向开发在不同处理器架构下执行的许多不同操作系统下完美地执行的打印机驱动器代码。发明内容
本发明的某些实施例提供可随着时间来修改和补充打印机驱动器的技术。举例而言,某些实施例提供允许随着时间补充打印机驱动器功能以包括新的和/或增强的特征的框架。这些特征可例如涉及配置打印机能力,操纵打印设置,将信息呈现给用户,处理打印相关系统事件等的方式。可提供许多类型的打印相关功能中的任何功能。
在某些实施例中,一个或多个组件(其可包括在由计算设备的操作系统提供的打印子系统中,打印机驱动器和/或某些其它系统元件中)可被配置成从各个源中的任何源自动搜寻和获得配置数据。组件(一个或多个)可将任何获得的配置数据合并到打印机驱动器内使得其功能可随着时间扩展和增强。配置数据的源可包括例如打印机设备、在线源和 /或其它源。举例而言,组件(一个或多个)可被配置为周期性地查询打印机设备、联机源和 /或其它源以求涉及特定打印机设备的配置数据,且若找到配置数据,则将新获得的配置数据合并到现有打印机驱动器内,以提供提高的打印相关的能力。因此,打印机驱动器可随着时间开始支持越来越多的高级打印特征以反映且利用打印机设备更多的能力,尽管用户可能并不采取任何措施来改进或提高它。
本发明的实施例也可提供用于解决从多个源获得的配置数据之间的重叠和/或冲突的过程。举例而言,某些实施例可提供编程的逻辑来解决重叠或冲突,其可经由一个或多个脚本语言(例如Javascript)来实施使得编程的逻辑在执行之前无需编译,且因此适合于在多个不同的处理器架构下来执行。当然,并非本发明的所有实施例限于其中使用在执行之前无需编译的一种或多种脚本语言编码重叠和/或冲突解决逻辑的实施方式。举例而言,重叠和/或冲突解决逻辑代码可以被解释而非编译、被“即时(Just-In-Time)”编译、 或以任何其他合适方式采用,因为本发明的实施例在此方面并不受到限制。
前文的描述为本发明的非限制性概述,本发明由所附权利要求限定。


附图不旨在按照比例绘制。在附图中,在各个附图中示出的每个相同或近似相同的组件由相同的附图标记来表示。为了简单起见,并未在每个附图中标注每个组件。在附图中图1是描绘根据本发明的某些实施例的可获得和/或提供配置数据的系统组件的方块图;图2为描绘了根据本发明的某些实施例的组合从多个源获得的配置数据的实例过程的流程图;图3为描绘了可用于实施本发明的某些实施例的实例计算机的方块图;以及图4为描绘其上可记录实施本发明各方面的指令的实例存储器的方块图。
具体实施方式
本发明的某些实施例提供能随着时间修改、补充和/或增强打印机驱动器功能的框架。举例而言,某些实施例提供被配置成从各个源中任何源搜寻和获得配置数据且将所发现的任何配置数据合并到打印机驱动器内使得打印机驱动器的功能可随着时间扩展和增强的组件(其可合并于打印子系统中,打印机驱动器中或某些其它位置)。
在某些实施例中,可“交付”仅提供打印相关特征的相对初步的集合的“基本”打印机驱动器(例如,支持最少量的纸张大小,诸如信纸和A4 ;仅支持黑白打印;没有高级特征, 如双面打印等)(例如与提供有打印机设备的计算设备的操作系统一起被包括,和/或以某种其它方式分布)以提供与传统打印机设备的大部分一起使用的功能,从而使得用户能完成基本打印任务。但是,一个或多个组件(例如,包括于计算设备的操作系统的打印子系统中,打印机驱动器中和/或任何其它系统元件(一个或多个))可被配置成从各个源(配置数据可通过这些源获得)中的任一个源搜寻和获得新配置数据。这些源可包括例如打印机设备、联机源和/或一个或多个其它源。一旦定位了对应于所考虑的打印机设备的新配置数据,该配置数据可合并到打印机驱动器内,从而反映并利用打印机设备的更多能力且丰富用户打印相关的体验,即使该用户可能没有采取明显动作来升级该打印机驱动器。
图1描绘了实例系统组件和技术,由此,可从合并到打印机驱动器内的一个或多个源获得新配置数据。在图1所示的实例中,执行操作系统107的计算机105从多个源,包括联机源(一个或多个)110、打印机设备125、基本配置数据140和其它源(一个或多个)150 获得配置数据。应了解这些配置数据的源只是示例性的且可采用多个配置数据源中的任何数据源,因为本发明的实施例在此方面并无限制。
在图1中所示的实例中,计算机105获得基本配置数据140。举例而言,基本配置数据140可接收于存储介质上,诸如存储用于安装和/或增强操作系统107的数据的存储介质,或者其与打印机设备125—起交付。当然,本发明的实施例不限于图1中所示的实施方式。举例而言,在某些实施例中,基本配置数据140无需由计算机105获得,因为其可本地地存储在计算机105上(例如,通过例如合并到打印机驱动器和/或也与计算机105 — 起交付的操作系统内来与计算机105 —起交付)。若获得,基本配置数据无需提供于存储介质上,因为其可从一个或多个联机源(例如,联机驱动器存储装置)获得。基本配置数据 140可由计算机105以任何合适方式获得和/或使之可获得,因为本发明的实施例在此方面并无限制。
此基本配置数据可支持被设计成允许计算机105与大量打印机设备互操作的初步特征集合。举例而言,配置数据可实现大量传统打印机设备提供的基本打印特征,例如黑白打印,有限的纸张大小并且没有诸如双面打印的高级特征。因此,向计算机105所用的打印机驱动器内包括此基本配置数据可允许其与大量设备互操作且提供打印特征的基本集合。当然,本发明的实施例可提供多种类型配置数据中的任何配置数据,支持多种类型打印特征的任何特征。
在图1的实例中,打印机驱动器的另一配置数据源为打印机设备125。可由计算机 105使用多种技术中的任何技术来从打印机设备125获得配置数据。在本发明的某些实施例中,计算机105可采用一个或多个打印机设备通信协议,无论是已知的(例如,WS-PRINT、 SNMP等)或后来开发的,以向打印机设备125发布查询且响应于这些查询来接收配置数据。
在本发明的某些实施例中,一个或多个常规打印机设备通信协议可扩展到使得计算机105能向打印机设备发布查询。在此方面,虽然常规打印机设备通信协议使得计算机能够获得关于打印机设备状况的基本的初步信息(例如,还有多少墨水供打印,安装哪些纸张槽等),本发明的某些实施例扩展这些常规协议以允许计算机获得关于打印机设备的能力的额外且更复杂类型的信息。举例而言,常规协议可扩展到使计算机能获得诸如打印机设备是否支持无边距打印,安装的双面器单元的细节、其支持的介质大小之类的信息。多种类型的信息中的任何信息可从打印机设备获得,涉及多个特征中的任何特征、状况指示或能力中的任一个,因为本发明的实施例在此方面无限制。
在图1的实例中,计算机105也从一个或多个联机源110获得联机配置数据120。 具体而言,在所描绘的实例中,计算机105经由因特网115获得联机配置数据120。但应了解,联机配置数据无需从可经由因特网或任何其它一个或多个公共通信网络访问的源获得且可从可经由任何网络(一个或多个)访问的源获得,包括采用任何合适通信基础结构和/ 或协议(一个或多个)的公共和/或专用网络。本发明的实施例在此方面并无限制。5
在本发明的某些实施例中,可通过在计算机105上执行的一个或多个自动化过程来获得联机配置数据120。举例而言,包括计算机105的操作系统的部分的一个或多个自动化过程可被配置成从联机源获得配置数据,以及可合并到在计算机105上执行的操作系统和/或任何应用内的信息。另外,一个或多个组件可被配置成处理从连接到计算机105的外围设备(诸如打印机设备125)接收的信息。这条信息可包括例如打印机设备125的品牌和型号。使用这条信息,一个或多个组件可查询联机源110来识别与打印机设备125相关联的配置数据。当然本发明的实施例并不限于这种实施方式,因为可以以任何合适方式来查询联机源110。举例而言,可人工地(例如由计算机105的用户)查询一个或多个网站或其他联机源(例如,由独立硬件卖方提供)来获得可适用于打印机设备125的配置数据。 如果一个或多个自动化过程用于获得配置数据,则自动化过程(一个或多个)无需包括在计算机105的操作系统中,且可以以任何合适方式来实施,因为本发明的实施例在此方面并无限制。在图1的实例中,也由计算机105从一个或多个附加源获得配置数据150。附加源(一个或多个)可为目前已知的或后来开发的,且可提供多种类型的配置信息中的任何信息。举例而言,新配置数据的源可随着时间开发和实施以提供新类型的配置数据,提供从各种源获得配置数据的新方式,管理打印操作和/或执行多种其它打印相关功能中的任何功能。举例而言,如果开发或增强新设备通信协议以使计算机105能够从打印机设备125获得配置数据,那么新的协议可作为配置数据150的部分而提供给计算机105,且由计算机105 合并到其打印机驱动器内使得打印机驱动器可采用新设备通信协议来从打印机设备125 取回信息。在另一实例中,配置数据150可提供一种功能,由此可例如由管理员或其它用户管理打印操作。举例而言,配置数据150可包括指令和/或数据,当合并于计算机105上的打印机驱动器内时,所述指令和/或数据可使管理员能够对于某种类型的打印作业施加限制。举例而言,在业务设置中,管理员可对于打印作业施加限制使得某些用户必须以双面模式打印以节省纸张,以仅在选定情形下允许彩色打印等。关于执行打印的方式的多种类型信息中的任何信息可以包括在配置数据150内并合并到打印机驱动器内,因为本发明的实施例在此方面并无限制。在某些实施方式中,配置数据可仅从图1中所描绘的源的子集提供。举例而言,缺少网络接入(例如,由于家庭用户并不具有因特网接入,由于安全考虑等)可防止计算机 105访问联机源110和因此联机配置数据120。因此,计算机105可仅访问本地配置数据 140和由打印机设备125提供的配置数据130。可从图1中所描绘的源中的一个或多个获得配置数据,因为本发明的实施例并不限于其中所有配置数据的源可用的任何实施方式。当从各个源获得配置数据时,其可合并到打印机驱动器内。在图2中示出用于创建由计算机105使用的联合的(consolidated)配置数据的实例过程200。在过程200开始时,在动作205,从一个或多个源(例如,那些在图1中示出的源和 /或一个或多个其它源)接收配置数据。配置数据可以以多种形式中的任何形式接收,因为本发明的实施例在此方面并无限制。举例而言,在本发明的某些实施例中,配置数据以包含附言打印机描述(PPD)和/或一般打印机描述(GPD)格式的数据的文件形式接收。在此方面,PPD和GPD文件常规地用于描述特定打印机设备或者共有一个或多个特征的一类打印机设备的能力,与打印机设备互操作的计算机的操作系统的能力。实例能力可包括由打印机设备支持的纸张大小,是否支持双面打印,和可执行打印的颜色。当然,本发明的实施例并不限于采用PPD和/或GPD文件,因为可以以任何合适方式和使用任何合适格式(一种或多种)来描述关于打印机设备能力或打印机设备类别的许多类型的信息中的任何信息。
过程200然后进行到动作210,其中识别从一个或多个源接收的配置数据中表示的特征集合。所表示的个别特征的识别可以任何合适方式来执行。举例而言,可采用编程的逻辑来识别特征。
过程200然后进行到动作215,其中整理从多于一个源接收的针对在动作210中识别的具体特征的配置数据。这可以任何合适方式来执行且对于不同特征,所用技术可不同。 举例而言,对于某些特征,来自一个源的配置数据可补充从另一源接收的配置数据。举例而言,如果正被讨论的特征为打印机设备支持的纸张大小,且一个配置数据源规定了支持两种纸张大小且另一配置数据源规定了支持五种其它纸张大小,那么在动作215中的整理可涉及合并由两个源所规定的纸张大小以指示支持七种纸张大小。
在另一实例中,从一个源接收的特征的配置数据可优先于从另一源接收的该特征的配置数据而被选来使用。举例而言,规定其更特定于打印机设备的特征的配置数据可优先于规定其不那么特定于打印机设备的特征的配置数据而被选来使用。特定性可以多种方式中的任何方式来确定。举例而言,在某些实施例中,特定性可由该源本身来确定。使用图1中所示的配置数据源来说明,从联机源110接收的联机配置数据120可被指定为最有设备特定性的配置数据源,之后为从打印机设备125接收的配置数据130,之后为存储于计算机105上的本地配置数据140。通过将自联机源110的联机配置数据120指定为最有设备特定性的配置数据源,本发明的实施例可允许随着时间更灵活地调适打印机驱动器的配置,因为联机源110可利用新配置数据比打印机设备125更频繁地更新。当然,对打印机设备的特定性无需用于确定哪些配置数据优先于其它配置数据被选来使用,且如果使用特定性,则其不需要基于配置数据源来确定。实际上,在动作215中对配置数据的整理无需通过合并来自不同源的数据或先于另一集合来选择一个配置数据集合来执行,如上文所述的那样。可采用多种技术中的任何技术,因为本发明的实施例在此方面并无限制。
过程200然后进行到动作220,其中解决在不同特征之间的任何重叠和/或冲突。 可出现重叠和/或冲突,例如因为在某些设置中仅当允许、禁止另一特征时才采用一种特征等。在一个实例中,对于规定了打印机设备所支持的纸张大小的一个特征所获得的配置数据可指示打印机设备能在包括5” X 7”和8. 5” X 11”纸的纸张大小上打印,且对于规定了打印机设备是否支持无边距打印特征的另一特征的配置数据可指示打印机设备能进行无边距打印。但是,打印机设备可仅能对5” X 7”纸进行无边距打印,且并不对8. 5” X 11”纸进行无边距打印,从而应解决在纸张大小与无边距打印特征之间的冲突。在另一实例中,如果从联机源获得的配置数据指示如果安装了双面器单元,打印机设备支持双面打印,且从打印机设备接收的配置数据指示并未安装双面器单元,那么应解决冲突使得并不向用户呈现双面打印选项。
本发明的实施例可以多种方式中的任何方式解决在特征之间的重叠和/或冲突。 在某些实施例中,提供编程逻辑来解决重叠和/或冲突使得可向用户呈现整理的配置数据。在某些实施例中,使用一种或多种脚本语言(例如,JavaScript和/或其它脚本语言)来对此逻辑进行编程使得包括逻辑的代码无需在执行之前编译。因此,本发明的某些实施例可提供可在任何合适操作系统和/或处理器架构上执行的用于解决重叠和/或冲突的灵活工具。当然,并非本发明的所有实施例以此方式实施。可采用任何合适工具(一个或多个) 和/或技术(一个或多个),因为本发明的实施例在此方面并无限制。在完成动作220时,过程200进行到动作225,其中整理的配置数据可供使用。这可以多种方式中的任何方式来执行。在某些实施例中,打印机驱动器可提供(例如当由发起打印的应用调用时)描述打印机设备能力的文件、数据流、内存对象模型和/或任何其它合适数据结构(一个或多个)(例如,用可扩展标记语言(XML)和/或任何其它合适格式)。 过程200然后完成。本发明的某些实施例可提供打印机的设备的能力的呈现是重复的技术,使得当在动作225中描述打印机设备的能力所采用的特征数据变得过时和/或发生其它变化时,可解决所产生的任何冲突。这可以多种方式中的任何方式来执行。在某些实施例中,提供给应用以描述打印机设备能力的文件可包括经由执行例程(例如,Javascript例程)所生成的结果,其可提供解决从创建文件起发生的任何变化的灵活性。举例而言,如果在动作225 中创建的文件指示打印机设备能进行彩色打印,且然后(例如使用由打印机设备提供的数据)判断出打印机设备已用完红墨水,那么由配置数据所参考的例程生成且提供在文件中的结果可实现将最新特征集合呈现给用户,使得他和/或她知道在补供红墨水之前只可开始黑白打印。描述打印机设备的当前能力和/或那些能力的任何变化的配置数据可以多种形式中的任何形式从多个源中的任何源接收,并且可以多种方式中的任何方式处理,因为本发明的实施例在此方面并无限制。用于实践本发明的特征的系统和方法的各个方面可在一个或多个计算机系统上实施,诸如图3中所示的示例性计算机系统300。计算机系统300包括输入设备(一个或多个X302、输出设备(一个或多个X301、处理器303、存储器系统304和存储设备306,所有这些直接地耦合或间接地经由互连机构305耦合,互连机构305可包括一个或多个总线、开关、 网络和/或任何其它合适的互连。输入设备(一个或多个)302从用户或机器(例如人操作者)接收输入且输出设备(一个或多个)301向用户或机器(例如,液晶显示器)显示或传输信息。能使用输入设备(一个或多个)和输出设备(一个或多个)等来尤其给出用户接口。 可用于提供用户接口的输出设备的实例包括打印机或用于视觉地呈现输出的显示器屏幕和用于可听地呈现输出的扬声器或其它声音发生设备。可用于用户接口的输入设备的实例包括键盘和诸如鼠标、触摸垫和数字化写字板的指示设备。作为另一实例,计算机可通过语音识别或以其它可听格式来接收输入信息。处理器303通常执行称作操作系统的计算机程序(例如,微软视窗系列操作系统或任何其它合适操作系统),其控制其它计算机程序的执行,且提供时间表、输入/输出和其它设备控制、报告、编译、存储分配、数据管理、存储器管理、通信和数据流控制。总之,处理器和操作系统限定写入应用程序和其它计算机程序语言的计算机平台。处理器303也可执行一个或多个计算机程序来实施各种功能。这些计算机程序可以任何类型的计算机程序语言来写,包括过程编程语言,面向对象的编程语言、宏语言或其组合。这些计算机程序可存储于存储系统306中。存储系统306可在易失性或非易失性介质上保持信息且可为固定的或可移动的。在图4中更详细地示出了存储系统306。
8
存储系统306可包括有形计算机可读和可写的非易失性记录介质401,在上面存储限定将由程序使用的计算机程序或信息的信号。记录介质可例如为盘存储器、闪存和/ 或可用于记录和存储信息的任何其它制造件(一个或多个)。通常,在操作中,处理器303 使得数据从非易失性记录介质301读取到易失性存储器402内(例如,随机存取存储器或 RAM),其允许由处理器303比介质401更快速地存取信息。存储器402可位于存储系统306 或存储器系统304中,在图3中示出。处理器303通常操纵在集成电路存储器304、402内的数据且然后在完成处理之后将数据拷贝到介质401内。已知用于在介质401与集成电路存储元件304、402之间管理数据移动的多种机制,且本发明并不限于任何机构,无论是现在已知的还是后来开发的。本发明也不限于特定存储系统304或存储系统306。
因此已描述了本发明的至少一个实施例的若干方面,应了解本领域技术人员将易于想到各种更改、修改和改进。这样的更改、修改和改进预期为本公开的部分,且预期在本发明的精神和范围内。因此,前文的描述和附图只是举例说明。
本发明的上文所述的实施例可以多种方式中的任何方式来实施。举例而言,这些实施例可使用硬件、软件或其组合来实施。当以软件实施时,软件代码可在任何合适的处理器或处理器集合上执行,无论提供于单个计算机中还是分布于多个计算机和/或系统之间。这样的处理器可实施为集成电路,具有在集成电路构件中的一个或多个处理器,但可使用任何合适形式的电路来实施处理器。
应了解执行本文所述功能的任何组件或组件集合可一般地认为是控制上文所讨论功能的一个或多个控制器。一个或多个控制器能以多种方式实施,诸如利用专用硬件,或者通过采用使用执行上述功能的微代码或软件编程的一个或多个处理器。在控制器存储或提供用于系统操作的数据的情况下,这样的数据可存储于中央贮存器中,多个贮存器中或其组合中。
另外应了解,计算机可实施为多种形式中的任何形式,诸如机架安装的计算机、台式计算机、膝上型计算机或板式计算机。此外,计算机可嵌入于通常不认为是计算机而是具有合适处理能力的设备内,包括个人数字助理(PDA)、智能手机或任何其它合适的便携式或固定电子设备。
而且,计算机可具有一个或多个输入和输出设备。这些设备可用于尤其呈现用户接口。可用于提供用户接口的输出设备的实例包括打印机或用于视觉地呈现输出的显示器屏幕或用于可听地呈现输出的扬声器或其它声音发生设备。可用于用户接口的输入设备的实例包括键盘和诸如鼠标、触摸垫和数字化写字板的指示设备。作为另一实例,计算机可通过语音识别或以其它可听格式来接收输入信息。
这样的计算机可由任何合适形式的一个或多个网络互连,包括局域网或广域网, 诸如企业网络或因特网。这样的网络可基于任何合适的技术且可根据任何合适协议操作且可包括无线网络、有线网络或光纤网络。
而且,本文所列出的各种方法或过程可编码为软件,软件可执行于采用多种操作系统或平台中任一个的一个或多个处理器上。此外,这样的软件可使用多种合适编程语言和/或编程或脚本工具中的任一个来写,且还可编译为在框架或视觉环境上执行的可执行机器语言代码或中间代码。
在此方面,本发明可实施为计算机可读介质(或多个计算机可读介质)(例如,计9算机存储器,一个或多个软盘、致密盘(CD)、光盘、数字视频盘(DVD)、磁带、闪存、现场可编程门阵列中的电路配置或其它半导体设备,或其它非暂态有形计算机可读存储介质),其利用一个或多个程序编码,当这些程序在一个或多个计算机或其它处理器上执行时执行实施上文所讨论的本发明各种实施例的方法。一个或多个计算机可读介质是可运输的,使得存储于其上的一个或多个程序可加载到一个或多个不同的计算机或其它处理器上以实施如上文所讨论的本发明的各个方面。如本文所用的术语“非暂态有形计算机可读存储介质”仅涵盖可认为是制造件(即,制造的物件)或机器的计算机可读介质。
如本文所用的术语“程序”或“软件”在一般意义上指可用于对计算机或其它处理器编程以实施如上文所讨论的本发明的各个方面的任何类型的计算机代码或计算机可执行的指令的集合。此外,应了解,根据此实施例的一个方面,当被执行时执行本发明的方法的一个或多个计算机程序不需要驻留在单个计算机或处理器上,而是可以模块化方式分布于多个不同的计算机或处理器之间以实施本发明的各个方面。
计算机可执行的指令可呈由一个或多个计算机或其它设备执行的许多形式,诸如程序模块。一般而言,程序模块包括例程、程序、对象、组件、数据结构等,其执行特定任务或实施特定抽象数据类型。通常,程序模块的功能可按需要地组合或分布在各种实施例中。
而且,数据结构可存储于任何合适形式的计算机可读介质中。为了简化说明,数据结构可示出具有通过数据结构中的位置而相关的场。这样的关系可同样地通过向场的存储分配计算机可读介质中的位置来实现,所述场的存储传达场之间的关系。但是,任何合适的机制可用于在数据结构的场中的信息之间建立关系,包括通过使用指针、标签或在数据元素之间建立关系的其它机制。
本发明的各个方面可单独地、组合地或以前文描述的实施例中未具体讨论的多种布置来使用,且因此其应用并不限于在前面的描述中阐述或附图中图示的构件的细节和布置。举例而言,在一个实施例中描述的方面可以许多方式与其它实施例中所描述的方面组I=I O
而且,本发明可实施为方法,提供该方法的实例。作为方法的部分执行的动作可以任何合适方式排序。因此,可构造其中以不同于图示次序的次序执行动作的实施例,其可包括同时执行某些动作,即使在本文所述的说明性实施例中示出为顺序动作。
在权利要求中使用诸如“第一”、“第二”、“第三”等次序术语来修饰权利要求元素本身并不暗示任何优先顺序、优先级或一个权利要求元素优于另一权利要求元素的次序, 或者执行方法的动作的时间次序,而是只用作标签来区分具有特定名字的一个权利要求元素与具有相同名字(但使用次序术语)的另一元素来区分这些权利要求元素。
而且,本文所用的短语和术语是出于描述目的且不应认为具有限制意义。在本文中使用“包括”、“包含”或“具有”、“含有”、“涉及”和其变型意谓着涵盖之后列出的项目和其等效物以及附加项目。
权利要求
1.至少一个计算机可读介质001),其上编码指令,所述指令在执行时执行用在包括打印机设备(12 和打印机驱动器的系统中的方法,所述打印机驱动器包括用于驱动打印机设备的配置数据,所述配置数据限定所述打印机驱动器的至少一个特征,所述方法包括(A)确定(20 新配置数据是否通过多个源中的任何源而变得可获得,所述多个源包括打印机设备和至少一个联机源;以及(B)如果确定新配置数据可用,则使用(225)所述新配置数据来添加或增强所述打印机驱动器的特征。
2 根据权利要求1所述的至少一个计算机可读介质,其中所述系统包括计算机,所述计算机执行操作系统,所述操作系统包括至少一个组件,且其中由所述至少一个组件来执行㈧和⑶。
3.根据权利要求1所述的至少一个计算机可读介质,其中在(B)中添加或增强的特征涉及配置所述打印机设备的一个或多个能力、操纵针对打印作业的一个或多个打印设置或者将关于由打印机设备打印的信息呈现给用户的方式。
4.根据权利要求1所述的至少一个计算机可读介质,其中(B)包括解决在至少两个特征的配置数据之间的重叠和/或冲突。
5.一种系统(300),其包括至少一个处理器(303),所述处理器(30 被编程为确定O05)由打印机驱动器在驱动打印机设备时使用的新配置数据是否通过多个源而变得可获得,所述多个源包括打印机设备(125)、至少一个联机源(110)和管理员(150); 以及如果确定新配置数据可从所述多个源中的任何源获得,则将所述新配置数据合并 (225)到所述打印机驱动器内以便添加或增强所述打印机驱动器的特征。
6.根据权利要求5所述的系统,其中所述合并包括整理从多个源中至少两个源接收的针对具体特征的配置数据,以及解决至少两个特征的配置数据中的重叠和/或冲突。
7.根据权利要求5所述的系统,其中所述至少一个处理器还被编程为使得被添加或增强的特征的特征数据可由打印的应用使用。
8.—种用在包括打印机设备(12 和打印机驱动器的系统中的方法000),所述打印机驱动器包括用于驱动所述打印机设备的配置数据,所述配置数据限定所述打印机驱动器的至少一个特征,所述方法包括(A)确定(20 新配置数据是否可通过多个源中的任何源而变得可获得,所述多个源包括所述打印机设备和至少一个联机源;以及(B)如果确定新配置数据可获得,则使用(22 所述新配置数据来添加或增强所述打印机驱动器的特征。
9.根据权利要求8所述的方法,其中所述系统包括计算机,所述计算机执行操作系统, 所述操作系统包括至少一个组件且其中由所述至少一个组件执行(A)和(B)。
10.根据权利要求9所述的方法,其中所述至少一个组件形成所述操作系统的打印子系统的部分。
全文摘要
本发明的某些实施例提供可随着时间来修改和补充打印机驱动器的技术。举例而言,可提供框架,其使得打印机驱动器的功能能够随着时间补充以包括新的和/或增强的特征,例如涉及配置打印机能力、操纵打印设置、将信息呈现给用户、处置打印相关系统事件等的方式的特征。在某些实施例中,一个或多个组件(其可包括于由计算设备的操作系统提供的打印子系统中、打印机驱动器中和/或某些其它系统元件中)可被配置成自动地从各个源中的任何源搜寻和获得配置数据,所述源包括打印机设备、一个或多个联机源和/或其它源。
文档编号G06F3/12GK102520894SQ20111041419
公开日2012年6月27日 申请日期2011年12月13日 优先权日2010年12月13日
发明者戈尔根伊 F., 哈钦斯 J., 费内伦 M., 岳峰 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1