用于经由虚拟机进行打印的系统和方法

文档序号:6596435阅读:250来源:国知局
专利名称:用于经由虚拟机进行打印的系统和方法
用于经由虚拟机进行打印的系统和方法
背景技术
基于计算机的或数字的打印的出现使商业打印服务对于许多企业和消费者而言更加广泛可用且负担得起的。另外,通过离开传统的打印模型,数字打印为如何构造和递送打印作业带来更大的灵活性。例如,一类数字打印包括可变数据打印,其中为每个接收者或接收者组定制每个文档或文档集。可变数据打印一般用于大规模推销邮件活动或其它目标通信中。例如,利用可变数据打印,在正打印文档集时,以逐个文档为基础修改每个文档的某些元素(诸如姓名、地址、消息、图像或图形)。此灵活性确保为目标听众适当地剪裁每个被打印文档。提供可变数据打印的一个方式包括向客户提供可变数据打印软件程序的打印服务提供器。理论上,在客户和打印服务提供器具有用来生成打印作业的相同软件的情况下, 在由所述客户提交的打印作业和打印服务提供器实际上生成的打印作业之间应当存在高度一致性。然而,在实践中在所提交的打印作业和所生成的文档之间存在偏差。一些偏差是由在打印服务提供器和客户掌握的软件程序版本之间的差异导致的,这是因为在客户和打印服务提供器这二者之间必须一致地更新和同步专有软件程序。其它一些偏差典型地由在客户的计算环境和打印服务提供器的计算环境中的差异产生的。不幸地,不管客户和打印服务提供器尽最大努力,在提交的打印作业和所生成的文档之间的偏差仍然向可变数据打印世界提出了显著的挑战。


图1是依照本公开内容的实施例的示意性地图示打印服务系统的框图集。图2是依照本公开内容的实施例的示意性地图示用户计算机的框图。图3是依照本公开内容的实施例的经由虚拟机传送打印作业的方法的流程图。图4是依照本公开内容的实施例的传送打印作业的方法的流程图。图5是依照本公开内容的实施例的传送打印作业的方法的流程图。
具体实施例方式在下列详细描述中,参考形成本发明一部分的附图,并且其中通过举例说明示出了可以实践本发明的具体实施例。在这方面,参考描述的(一个或多个)图的方位而使用了诸如“顶部”、“底部”、“正面”、“背面”、“前导”、“尾随”等方向术语。因为本发明实施例的组件可以定位于多种不同的方位,所以方向术语是为了举例说明的目的而使用的并且绝不是限制性的。应当理解,可以利用其它实施例并且可以在不脱离本发明范围的情况下进行结构或逻辑改变。因此,下列详细描述并非是以限制意义而被采用的,并且本发明的范围由所附权利要求来限定。本公开内容的实施例针对加强打印服务提供器的能力以便以精确地对应于如最初创建打印作业的客户所打算的那样的打印作业外观的方式来生成打印作业。特别地,使虚拟机管理器在用户计算机可用以便允许用户把打印作业和用于创建打印作业的可适用的可执行资源捕获到虚拟机中。此虚拟机的拷贝被传送到打印服务提供器。在激活虚拟机的该拷贝时,打印服务提供器变得被装备为是在客户的计算环境的相关方面的精确复制的计算环境内生成打印作业。与图1-5相关联地描述这些实施例和附加实施例。图1依照本公开内容的实施例示意性地图示了打印服务系统10。如图1中所示, 在一个实施例中,系统10包括用户计算机20、打印服务提供器30和网络通信链路35。然而,应当理解系统10不限于单个用户计算机20并且不限于单个打印服务提供器30。一般地说,除了其它特征之外,用户计算机20还被配置为创建和编辑适合于提交给打印服务提供器30的打印作业,所述打印服务提供器30被配置为专业地生成所述打印作业。在一个实施例中,如图1中所示,用户计算机20包括操作系统40、至少一个应用软件模块42、虚拟机管理器44、打印作业46、第一虚拟机(virtual machine,VM) 48、用户接口 49、控制器50和存储器52。通常将参考图1描述用户计算机20的这些组件,然后将与图2 相关联地更详细地描述用户计算机20的这些组件。相应地,一般地说,操作系统40被配置为提供计算机20的常规操作并且包括诸如 Linux 操作系统、Windows⑧操作系统或其它已知操作系统之类的操作系统。一般地说,应用软件模块42被配置为提供适合于创建和生成打印作业文档的单个应用程序或一系列应用程序。依照一个方面,应用软件模块42将提供以便处理文本、图像和/或图形。一般地说,用户接口 49提供了对用户计算机20的各个模块、功能、参数、资源和组件的访问和选择。在一个实施例中,用户接口 49包括图形用户接口。稍后与图2相关联地进一步描述操作系统40、应用软件模块42和虚拟机管理器 44中的每一个。用户计算机20的这些组件一起用来生成打印作业46。如稍后与图2-5相关联地将更加详细地描述的,在一个实施例中,打印作业46包括可变数据打印作业。然而在其它实施例中,打印作业46包括其它类型的打印作业,诸如单个文档或文档集,其包括固定布置的文本、图像和/或图形。在一个实施例中,用户计算机20还包括虚拟机管理器44,其能够在用户计算机 120创建和/或运行虚拟机。依照一个方面,虚拟机管理器44创建虚拟机48以作为其中诸如应用软件模块42或可变数据打印管理器(例如见图2中的管理器130)之类的软件程序操作来创建打印作业的环境。依照另一方面,虚拟机管理器44创建虚拟机48,所述虚拟机 48捕获或封装在创建虚拟机的时侯在用户计算机处可用的一个或多个相关可执行资源。稍后将分别与图4和图5相关联地进一步描述操作虚拟机管理器的这两个例子。在一个非限制性例子中,可从加利福尼亚帕罗奥图(Palo Alto)的VMware公司获得一种类型的虚拟机管理器44。然而,虚拟机管理器44并不严格限于可从此销售商获得的虚拟机生成器的特征。依照一个方面,至少在此本公开内容的上下文内,一个本领域技术人员应当理解虚拟机是使用其自己的操作系统和自己的应用程序的隔离软件容器。尽管虚拟机可以作为软件驻留于第一物理计算机上,但是此虚拟机就像独立分开的第二物理计算机那样地运转,并且因此除了其它功能之外,虚拟机还具有其自己的基于软件的中央处理单元(CPU)、存储器和接口系统。依照另一方面,一旦被创建,虚拟机48就是便携式的并且可以被传输到另一计算工作站,在那里虚拟机48被激活以便在该“另一”计算工作站重新创建该用户计算机的计算环境。在创建虚拟机48的时侯,人们可以选择性地选定把用户的计算环境中的哪些可执行组件封装到该虚拟机48中。然而,在一个实施例中,虚拟机48封装操作系统的可执行拷贝和至少一个应用程序的可执行拷贝,所述应用程序被配置为创建、编辑和/或生成打印作业。控制器50包括一个或多个处理单元和相关联的存储器,其被配置为产生指引用户计算机20的操作的控制信号。特别地,响应于或基于经由用户接口 49接收的命令或在存储器52中包含的指令,控制器50使能用户计算机20的各个模块的操作。为了此应用的目的,术语“处理单元”将意指目前开发的或将来开发的处理单元,其用来执行在存储器中包含的指令序列。指令序列的执行促使处理单元实施诸如产生控制信号之类的步骤。指令可以从只读存储器(ROM)、海量存储设备或某其它持久性存储装置被加载到随机存取存储器(RAM)中以便由处理单元执行。在其它实施例中,可以使用硬接线电路来代替软件指令或者与软件指令结合地使用硬接线电路来实现所描述的功能。例如,控制器50可以被体现为一个或多个专用集成电路(ASIC)的一部分。除非另外具体指明,否则控制器不限于硬件电路和软件的任何具体组合,也不限于由处理单元执行的指令的任何特定源。存储器52通常支持包括其核心功能的用户计算机20的操作,诸如控制器50和操作系统40,以及用户计算机20的各个模块和组件。一般地说,网络通信链路35被配置为在用户计算机20和打印服务提供器30之间提供电子通信通路。依照一个方面,网络通信链路35包括因特网通信链路(例如,因特网)、内联网通信链路或另一高速通信链路。网络通信链路35可以是有线或无线链路。在一个实施例中,网络通信链路35包括因特网链路38。进一步参考图1的系统10,一般地说,打印服务提供器30被配置为接收来自客户 (诸如客户的用户计算机20)的打印作业,然后专业地生成打印作业46的文档。如图3中所示,在一个实施例中,打印服务提供器30包括操作系统60、打印管理器62、虚拟机管理器 64和打印机72。一般地说,打印管理器62用来经由打印机72或一套打印机72操纵并生成打印作业46。在一个实施例中,一个或多个打印机72位于单个地理位置,而在其它实施例中,打印机72位于若干不同的地理位置中。对于由客户提交的每个打印作业,打印服务提供器30还包括第一虚拟机拷贝70。 依照一个方面,第一虚拟机拷贝70包含来自用户计算机20的一个或多个可适用的可执行资源的拷贝和打印作业46的拷贝。打印服务提供器30的操作系统60至少具有与用户计算机20的操作系统40基本上相同的特征和属性,而所述打印服务提供器30的虚拟机管理器64至少包括与用户计算机20的虚拟机管理器44基本上相同的特征和属性。依照一个方面,像虚拟机管理器44 一样,打印服务提供器30的虚拟机管理器64包括被配置为运行虚拟机或虚拟机的拷贝的运行器66。依照一个方面,通过使用虚拟机管理器64激活来自用户计算机20的第一虚拟机拷贝70,打印服务提供器30获得对打印作业46的访问以及对用于创建打印作业46的计算环境的精确复制的访问。因此,在此计算环境内,打印服务提供器30可以依照客户打算的相同方式来再现和/或修改打印作业46。在一个实施例中,其中打印作业46包括可变数据打印作业,第一虚拟机拷贝70包括该可变数据打印作业和来自用户计算机20的所有可适用的可执行资源以便打印和/或修改该可变数据打印作业。图2是依照本公开内容的实施例的用户计算机120的框图。在一个实施例中,用户计算机120至少包括与先前与图1相关联地描述的计算机20基本上相同的特征和属性。如图2中所示,在一个实施例中,用户计算机120包括操作系统40、可变数据打印管理器130、 应用软件模块42、虚拟机管理器44、第一虚拟机48、控制器50、存储器52和用户接口 49。 经由控制器50和存储器52,操作系统40支持至少应用软件模块42、可变数据打印管理器 130、虚拟机管理器44和用户接口 49的操作。除先前与图1相关联地描述的特征之外,在一个实施例中,操作系统40包括字体资源122、共享设备资源123、颜色资源IM或配置设置资源126中的至少一个。字体资源 122被配置为提供字型集,而颜色资源IM被配置为提供颜色表或其它颜色资源,用来提供在用户接口 49中可观看的或经由用户计算机120的打印驱动器可打印的颜色空间。共享设备资源123被配置为跟踪在创建、查看和修改打印作业期间与由应用软件和/或操作系统访问的共享设备相关联的设置。配置设置资源126提供操作系统40的基本配置设置,用来影响各个应用软件程序的结果和操作,所述应用软件程序诸如在应用软件模块42中的那些程序、可变数据打印管理器130等。除先前与图1相关联地描述的特征之外,在一个实施例中应用软件模块42包括字处理程序190、图形处理程序192、图像处理程序194和/或便携式文档程序196。在一些实施例中,这些不同的程序被提供在一套程序中或者被集成到单个应用包中。应当进一步理解,这些程序将由可变数据打印管理器130访问以便构建文档或文档集。在一个实施例中, 便携式文档程序196包括可从Adobe Systems Incorporated (系统公司)获得的类型的便携式文档程序,诸如Adobe Acrobat Reader或那些本领域技术人员已知的其它更复杂类型的便携式文档格式应用。进一步参考图2,用户计算机120包括可变数据打印管理器130。一般地说,可变数据打印管理器130使得用户能够汇编并生成包括一些元素的文档集,所述元素具有在打印作业内从文档到文档改变的可变数据。在一些实施例中,可变数据打印管理器包括一套或一包应用工具,诸如可从加利福尼亚的圣荷西(San Jose)的Adobe Systems Incorporated 获得的Adobe ^Design 应用工具。在一个例子中,可变数据打印管理器依照与Abode Systems Incorporated的伙伴协议包括应用模块,诸如可从加利福尼亚的帕罗奥图的惠普公司获得的HP SmartMream Designer。应当理解,其它市面上可买到的应用软件工具可以作为可变数据打印管理器起作用。伴着这个想法于心,在一个实施例中用户计算机120的可变数据打印管理器130 包括模板模块132、元素选择模块134、目标市场模块136和作业模块138。一般地说,模板模块132被配置为提供文档模板,用户能够通过所述文档模板配置文档。模板模块132包括固定参数140、可变参数142和布局参数144。固定参数140被配置为从文档到文档地冻结或维持文档模板的一个或多个元素,而可变参数142被配置为依照对应于该可变元素的可变数据识别将容许文档模板的哪些元素从文档到文档地改变。在一个实施例中,布局参数144被配置为允许从多个预定的文本、图像和/或图形的布局中选择和/或修改布局,而在其它实施例中布局参数144为创建文本、图像和/或图形的布局或格式而提供。一般地说,元素选择模块134被配置为指定将出现在文档中的各个文本、图像和/ 或图形元素。与模板模块132的布局参数144协作,元素选择模块134在文档中指定在该处将出现文本元素、在该处将出现图像以及在该处将出现图形元素的确切位置。此外,经由模板模块132的固定参数140和可变参数142的协作,用户可以选择哪些元素(文本,图像和/或图形)在文档的布局中将是固定的或可变的。如图2中所示,在一个实施例中,元素选择模块134包括文本模块150、图像模块 152和图形模块154。文本模块150包括消息参数156和个人信息参数158。消息参数156 被配置为提供对在文档中包括哪个文本消息的用户控制并且可以访问存储器52以便检索一个或多个不同的消息(或消息的各部分)以用于包括在文档中。个人信息参数158被配置为提供对在文档中包括哪个个人信息的用户控制并且访问存储器52以便检索一种或多种类型的个人信息。此个人信息包括但不限于称呼、姓名、地址、兴趣、专业等。图像模块152和图形模块IM被配置为提供对(分别)选择一个或多个图像和图形并且将其包括到打印作业的一个或多个文档中的控制。依照一个方面,图像和/或图形被存储在存储器52中。应当理解,模板模块132的布局功能144将帮助用户选择和/或适当地调整图像、 图形或文本的大小和形状以便在文档内进行结合。市场模块136被配置为相对于人口统计参数170和/或地理参数178调整文档、 文档集或文档的可变数据流。例如,对于第一人口统计组(例如,老人)来说,人口统计参数170允许包括一组文本、图像和/或图形,而对于第二人口统计组(例如,单身母亲)来说,包括第二组文本、图像和/或图形。应当理解,可以只针对文档内的一个元素或针对多个元素来对人口统计因素进行这些调整。类似地,对于第一地理组(例如,美国西海岸)来说,地理参数178允许包括一组文本、图像和/或图形,而对于第二人口统计组(例如东欧)来说,包括第二组文本、图像和 /或图形。应当理解在一些实施例中,使用人口统计参数170和/或地理参数178将导致多于或少于两组的图像、图形和/或图像以便以不同的感兴趣的人口统计组和地理区域为目标。一旦经由模板模块132、元素模块134和/或市场模块136对文档进行了所有选定,那么可变数据打印管理器130就把该信息编译或处理为单个打印作业138,所述单个打印作业138能够被执行以便生成文档、文档集或可变数据文档流。在一个实施例中,在用户计算机120内分开地提供虚拟机管理器44和可变数据打印管理器130。然而,在其它实施例中,虚拟机管理器44和可变数据打印管理器130被提供在相同套软件应用内或者以集成的方式被提供在单个软件包中。第一虚拟机48表示由虚拟机管理器44产生的虚拟机,并且其封装打印作业138 和用于创建打印作业138的可适用的可执行资源。在一个实施例中,这些可适用的可执行资源包括可执行操作系统文件和至少一个可执行文档应用资源。依照一个方面,封装的操作系统文件至少包括字体资源122、颜色资源124、共享设备资源123和/或配置设置资源 126。在一些实施例中,当不需要整个可执行资源时虚拟机48包括用户计算机20、120 的可执行资源的一部分以在打印服务提供器30复制最小计算环境以便打印和/或修改打印作业。换句话说,通过捕获用户计算机20的可执行资源的较小部分或版本,虚拟机管理器44有效地压缩复制的用户计算机20、120的计算环境。在一些实施例中,经由虚拟机管理器44产生的第一虚拟机48包括虚拟网络节点 49。节点49被配置为使得第一虚拟机48能够与其它设备通信,所述其它设备诸如用户计算机120和/或打印服务提供器30 (图1)。用户接口 49能够实现对用户计算机120的各个模块、功能、参数、资源和组件的控制和选择。此外,在图2中所图示的可变数据打印管理器130、应用软件模块42、虚拟机管理器44的模块、功能、参数、资源和组件表示由软件、硬件和/或固件支持的实际功能并且表示用户接口 49的可显示和可选择的特征。在一个实施例中,因为打印服务提供器30将(依靠第一虚拟机48)使用用户的计算环境的精确复制以生成提交的打印作业,所以用户接口 49使得能够以所见即所得的方式在用户计算机20、120观看打印作业38。换句话说,客户能够确信打印服务提供器30将能够以与客户看见的精确相同的方式来看该作业并且生成该作业。因此,借助于虚拟机48,把打印作业138和用于生成该打印作业的计算环境从客户传送到打印服务提供器。经由在打印服务提供器30对虚拟机48的激活,在与客户使用的精确相同的计算环境中打印和/或修改打印作业138。照惯例,打印服务提供器的计算环境相对于客户的计算环境在打印作业的文档中导致小的但是显著的差异。然而,利用提供客户的计算机20、120的操作系统的复制(其包括诸如字体资源122、颜色资源124、共享设备资源123、配置设置资源1 之类的资源)的本公开内容的一些实施例,打印服务提供器 30不再面临照惯例调整打印作业或其计算环境以便调整或补偿客户的计算环境的挑战。在一些实施例中,虚拟机管理器44包括数据定制模块197,如图2中所示。依照一个方面,数据定制模块197被配置为产生与打印作业相关联的一个以上虚拟机48以使得能够在利用对虚拟机的使用来传送打印作业时定制该打印作业的各个方面。在一个非限制性例子中,用户计算机120被用来创建成为“黑白”打印虚拟机一部分的黑白打印作业以及被用来创建成为彩色打印虚拟机一部分的彩色打印作业。经由数据定制模块197,虚拟机管理器44进一步创建第三虚拟机,其至少封装黑白虚拟机、彩色虚拟机和适当的可执行资源 (例如,操作系统,应用等)。第三虚拟机还封装用户接口 49 (或另一用户接口)以使得在打印服务提供器激活该第三虚拟机时,所述第三虚拟机被配置为使得打印服务提供器能够选择黑白虚拟机或彩色虚拟机中的一个。依照这种方式,打印服务提供器不必操纵打印作业来获得黑白打印作业或彩色打印作业。应当理解,可以经由虚拟机管理器44的数据定制模块197实施打印作业的其它类型的数据定制。在其它实施例中,数据定制模块197位于计算机120内的其它地方,但是可与虚拟机管理器44协作以便提供上述功能。图3是依照本公开内容的实施例的传送打印作业的方法250的流程图。在一个实施例中,使用如先前与图1-2相关联地描述的打印服务系统的资源、组件和系统来实施方法300。在其它实施例中,使用其它系统和组件来实施方法300。
在一个实施例中,如图3中所示,在252,方法250包括在第一计算机创建打印作业。依照一个方面,使用由打印服务提供器的软件供应的或与其兼容的专有可变数据打印软件来创建打印作业。可替换地,使用在第一计算机可用的其它应用软件来创建打印作业。在254,把该打印作业和第一计算机的至少一个可执行资源捕获到在第一计算机的虚拟机中。在一个例子中,第一计算机包括其操作系统的可执行代码和用来创建打印作业的是应用软件的可执行代码。因此,实际的打印作业和每个可执行软件资源(诸如操作系统、字处理程序、图像处理程序、图形处理程序、或其组合)被捕获到该虚拟机中以便有效地捕获在第一计算机的生成打印作业的计算环境。依照一个方面,在捕获或封装这些可执行资源过程中,该虚拟机捕获字体资源、颜色资源、共享设备资源和/或配置设置,用来产生客户的计算环境的各唯一方面,诸如对打印作业来说唯一的文件依赖性。依照这种方式,计算环境成为便携式的并且能够被传输或传送到其它实体,诸如打印服务提供器。在256,该虚拟机的拷贝被发送或以其它方式被传送到打印服务提供器以使得能够打印和/或修改该打印作业。一旦打印服务提供器拥有了该虚拟机的拷贝并且激活了虚拟机的该拷贝,打印服务提供器就自由地在与用户精确相同的计算环境中操作。用户的计算环境的此复制确保了打印服务提供器将能够以被用户察觉的方式如实地或精确地再现该打印作业。此外,在此复制的计算环境中,打印服务提供器能够使用用户的计算环境的工具来修改打印作业。本公开内容的一般原理包括使用虚拟机来捕获和传输打印作业(连同支持的可执行资源)。然而,存在用于完成此传输的一种以上方式。因此,图4和5示意性地图示了经由虚拟机实现此打印作业的传输的不同方法。与图4相关联地,方法300在创建打印作业之前创建或提供虚拟机并且所述虚拟机被用来创建该打印作业。然而,与图5相关联地,方法300创建打印作业,然后,稍后创建捕获所述打印作业和可适用的可执行资源的虚拟机。伴着此比较于心,图4是依照本公开内容的实施例的示意性地图示经由虚拟机传送打印作业的方法300的流程图。如图4中所示,在302,方法300包括向第一计算机提供虚拟机,其中该虚拟机包括一个或多个可执行资源。在一个非限制性例子中,该虚拟机包括可执行操作系统和可执行可变数据打印程序。在另一例子中,代替该可执行可变数据打印程序,该虚拟机包括用来创建打印作业的分开的应用程序(例如,字处理、图像处理和/或图形处理)。在304,使用虚拟机的可适用的可执行资源来创建和查看打印作业。在一个例子中,以便携式文档格式(例如,PDF)或便携式文档流的形式查看打印作业以便观看在打印时文档系列将采取的形式。在306,采用其便携式文档格式(或其它适合的格式),把打印作业上传到虚拟机的虚拟网络节点并且在该虚拟网络节点捕获该虚拟机的映像或拷贝并使之可用。在308,经由该虚拟网络节点向打印服务提供器发送虚拟机的拷贝和打印作业。如在310所示,打印服务提供器打印所述打印作业并且如果想要的话,经由该虚拟机修改所述打印作业以达到满足客户目标的最终产品。如先前所提及的,因为该虚拟机内的可执行资源精确地复制了客户的计算环境,所以打印服务提供器具有适当的工具以便以与由客户在他们自己计算机中以其它方式实施的相同方式来修改打印作业。可替换地,用户可以在他们的计算机(例如,第一计算机)上修改打印作业本身然后经由虚拟机重新提交经修改的打印作业。图5是依照本公开内容的实施例的传送打印作业的方法350的流程图。如图5中所示,在352,方法350包括在第一计算机创建打印作业。一旦创建了打印作业,方法350就包括在第一计算机创建虚拟机并且使用该虚拟机来产生便携式文档格式的打印作业。在查看该便携式文档格式的打印作业之后,用户可以返回并修改所述打印作业或者可以“按原样”批准该打印作业。一旦批准了,在356,用户就向打印服务提供器发送该虚拟机的拷贝, 其包括(采用便携式文档格式的)打印作业和用来创建所述打印作业的第一计算机的可执行资源。在358,打印服务提供器激活该虚拟机的拷贝以便打印所述打印作业和/或修改所述打印作业。通常所述打印作业可能不会被打印服务提供器修改,除非客户提供了请求校正或修改打印作业的某方面的反馈。然而,如果客户确实做出了这样的请求,那么在打印服务提供器存在客户的虚拟机的拷贝使得该打印服务提供器能够使用与用户用来最初创建该打印作业的相同计算环境来作出适当的改变。还可以理解的是,在一些实施例中,可以修改方法300(图4)或方法350(图5),只要所得到的被传送给打印服务提供器的虚拟机仍然达到了对用户的计算环境的如实、准确的复制以使得能够正如客户所打算的在打印服务提供器生成打印作业。例如,在一些实施例中,修改方法350以便利用已经存在的专有软件。特别地,在此布置中,可变数据打印管理器130包括由第三方(诸如打印服务提供器或其它公司)提供的专有软件模块以便采用专有的文件格式生成打印作业,所述打印作业会被提交给具有与用户的专有软件模块匹配的相符专有软件模块的打印服务提供器。然而,在此实施例中, 代替采用专有的文件格式发送打印作业,在用户的计算机的专有软件模块包括虚拟机管理器或者与用户的计算机的虚拟机管理器协作。实际上,经由对专有软件模块的升级或更新把虚拟机驱动器增加到专有软件模块来实现此布置。利用此布置,当在用户计算机的专有软件模块内激活虚拟机选择时,该打印作业变为被封装到虚拟机中。此虚拟机将包括打印作业和至少可执行操作系统资源的拷贝以及可执行专有软件资源的拷贝。然后用户将把此虚拟机(或其拷贝)发送到打印服务提供器,所述打印服务提供器然后可以激活所述虚拟机以便实施(或编辑)所述打印作业。在打印服务提供器激活的虚拟机提供了用户的计算环境的精确复制,其包括专有软件模块的精确版本。依照这种方式,用户和打印服务提供器仍然可以使用该专有软件模块但是却不面临不断地管理在用户和打印服务提供器的各自位置处的专有软件模块的同步的挑战。本公开内容的实施例在客户和打印服务提供器之间的关系中递送了所见即所得打印的承诺。这些实施例通过使用虚拟机来在打印服务提供器复制用户的计算环境,来克服在提交的打印作业和生成的打印作业之间的不一致或偏差,由此使得能够如客户打算的准确生成打印作业。尽管本文已经图示和描述了具体实施例,但是本领域普通技术人员应当理解,在不脱离本发明范围的情况下可以用多种候选和/或等效的实现方式来替代所示出和描述的具体实施例。此申请意图覆盖本文所论述的具体实施例的任何适改或变化。因此,目的是本发明只受权利要求及其等效物限制。
权利要求
1.一种进行打印的计算机实现方法,所述方法包括 在打印服务提供器接收来自第一计算机的虚拟机的拷贝;在所述打印服务提供器激活所述拷贝以便获得对所述第一计算机的至少一个可执行资源和在所述第一计算机创建的打印作业的访问;和经由所述虚拟机在所述打印服务提供器生成所述打印作业。
2.如权利要求1所述的方法,其中生成所述打印作业包括根据所述拷贝,按照模板和至少一个可变元素生成所述打印作业,所述至少一个可变元素包括可变文本组件、可变图像组件或可变图形组件中的至少一个。
3.
4.如权利要求1所述的方法,还包括在所述第一计算机提供所述虚拟机,然后在所述虚拟机内创建在所述第一计算机的打印作业。
5.如权利要求4所述的方法,其中接收所述拷贝包括从所述第一计算机的所述虚拟机内的虚拟网络节点接收所述拷贝。
6.如权利要求1所述的方法,还包括创建所述打印作业的文档,然后创建所述虚拟机;和经由所述虚拟机从所述打印作业产生至少一个便携式文档文件。
7.如权利要求1所述的方法,其中所述至少一个可执行资源包括下列中的至少一个 至少一个可执行操作系统文件;和至少一个可执行应用软件文件,其包括下列中的至少一个字处理程序;图像处理程序;图形处理程序;或便携式文档程序。
8.如权利要求7所述的方法,其中所述至少一个可执行操作系统文件包括下列中的至少一个字体资源; 颜色表资源; 共享设备资源;或配置设置资源。
9.一种第一计算机,其包括至少一个可执行应用软件资源,其被配置为生成打印作业; 至少一个可执行操作系统资源;虚拟机生成器,其被配置为产生虚拟机,用来封装来自所述第一计算机的打印作业、至少一个可执行应用软件资源和至少一个可执行操作系统资源;和通信模块,其被配置为向打印服务提供器发送所述虚拟机的拷贝。
10.如权利要求9所述的第一计算机,其中所述虚拟机被配置为使得由所述打印服务提供器对所述拷贝的操作促使打印所述打印作业。
11.如权利要求9所述的第一计算机,其中所述第一计算机的虚拟机生成器被配置为产生与所述通信模块协作的虚拟网络节点并且被配置为向所述打印服务提供器发送所述虚拟机的拷贝。
12.如权利要求9所述的第一计算机,其中所述至少一个可执行应用软件包括可变数据打印程序并且所述虚拟机生成器是所述可变数据打印程序的组件。
13.如权利要求9所述的第一计算机,其中所述虚拟机生成器包括数据定制模块,其被配置为生成与所述打印作业相关联的多个虚拟机,其中每个相应虚拟机对应于所述打印作业的数据变体,并且其中所述数据定制模块被配置为还把所述虚拟机中的相应一个虚拟机生成为用户接口以使得能够由打印服务提供器选择以便激活其余相应虚拟机中的一个或多个。
14.一种文档服务提供器,其包括计算机,其包括虚拟机管理器,其被配置为激活虚拟机拷贝,其封装来自客户计算机的打印作业,其中所述虚拟机拷贝被配置为生成所述打印作业并且包括来自所述客户计算机的至少一个可执行应用软件资源和至少一个可执行操作系统资源;和通信模块,其被配置为从所述客户计算机接收所述虚拟机拷贝;和打印机,其与所述虚拟机管理器通信并且被配置为打印所述打印作业。
15.如权利要求14所述的文档服务提供器,其中在所述虚拟机拷贝内的所述至少一个可执行应用软件资源不匹配于所述文档服务提供器的计算机的其它可执行应用软件资源。
全文摘要
公开了一种经由虚拟机进行打印的系统和方法。
文档编号G06F9/44GK102422257SQ200980159146
公开日2012年4月18日 申请日期2009年5月6日 优先权日2009年5月6日
发明者P·F·马蒂斯, 林义宗 申请人:惠普开发有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1