CN102436361B - 分支办公室直接打印 - Google Patents

分支办公室直接打印 Download PDF

Info

Publication number
CN102436361B
CN102436361B CN201110367778.2A CN201110367778A CN102436361B CN 102436361 B CN102436361 B CN 102436361B CN 201110367778 A CN201110367778 A CN 201110367778A CN 102436361 B CN102436361 B CN 102436361B
Authority
CN
China
Prior art keywords
printer
printing
print
client computer
printing server
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.)
Active
Application number
CN201110367778.2A
Other languages
English (en)
Other versions
CN102436361A (zh
Inventor
J.凯
J.埃尔马克
J.德施
A.马克萨
A.莫里斯
R.劳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN102436361A publication Critical patent/CN102436361A/zh
Application granted granted Critical
Publication of CN102436361B publication Critical patent/CN102436361B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1211Improving printing performance
    • G06F3/1212Improving printing performance achieving reduced delay between job submission and print start
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1218Reducing or saving of used resources, e.g. avoiding waste of consumables or improving usage of hardware resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1275Print workflow management, e.g. defining or changing a workflow, cross publishing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • G06F3/1288Remote printer device, e.g. being remote from client or server in client-server-printer device configuration

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)

Abstract

用于由客户端计算机打印的方法和装置在集中式打印服务器处进行打印配置和管理时减少了网络使用和打印延迟。打印服务器控制对分支办公室打印模式的启用。在启用分支办公室打印模式时,客户端计算机向分支办公室中的所选打印机直接发送假脱机的打印数据。在禁用分支办公室打印模式时,客户端计算机向集中式打印服务器发送假脱机的打印数据,并且打印服务器向所选打印机传送打印数据。打印服务器在两种操作模式中针对客户端计算机执行配置和管理功能。打印服务器可以在每个队列的基础上启用和禁用分支办公室打印模式。

Description

分支办公室直接打印
背景技术
大型组织可以在位于中央办公室的打印服务器中合并打印管理。集中式打印服务器有助于打印机配置和管理。在使用这样的系统时,分支办公室中的客户端计算机向打印服务器上的远程假脱机程序(spooler)发送打印作业。打印服务器然后向分支办公室中的本地打印机发送打印作业。这引起如下情形:在网络上向处于总部的打印服务器发送打印作业,然后向分支办公室中的打印机回传打印作业。这样的操作浪费昂贵的广域网带宽并且特别在高延时链路上减慢打印作业。
因而,需要如下打印方法和装置,这些方法和装置保持集中式打印服务器的优点、但是克服由于通过集中式打印服务器传送打印作业所致的一个或者多个问题。
发明内容
根据本发明的实施例,用于由客户端计算机打印的方法和装置在在集中式打印服务器处进行打印机配置和管理之时减少网络使用和打印延迟。打印服务器控制对分支办公室打印模式的启用。在启用分支办公室打印模式时,客户端计算机向分支办公室中的所选打印机直接发送假脱机的打印数据。在禁用分支办公室打印模式时,客户端计算机向集中式打印服务器发送假脱机的打印数据,并且打印服务器向所选打印机传送打印数据。打印服务器在两种操作模式中针对客户端计算机执行配置和管理功能。打印服务器可以在每个队列的基础上启用和禁用分支办公室打印模式。
根据本发明的第一方面,提供一种用于由客户端计算机打印的方法。该方法包括:客户端计算机从用户接收打印请求;客户端计算机从打印服务器确定是否启用分支办公室打印模式;如果分支办公室打印模式确定为启用,则客户端计算机通过向选择的打印机直接打印来执行打印请求;并且如果分支办公室打印模式确定为禁用,则客户端计算机通过通过打印服务器向选择的打印机打印来执行打印请求。
根据本发明的第二方面,一种客户端计算机被配置成执行打印请求。该客户端计算机包括处理器和存储器设备,存储器设备包括:打印假脱机程序,以保持打印数据、接收打印请求、从打印服务器确定是否启用分支办公室打印模式、如果分支办公室打印模式确定为启用则通过向选择的打印机直接发送打印数据来继续打印而如果分支办公室打印模式确定为禁用则通过通过打印服务器向选择的打印机发送打印数据来继续打印。
根据本发明的第三方面,提供一种用于通过打印服务器控制打印的方法。该方法包括:打印服务器从管理员接收用于指定的打印队列的分支办公室打印模式选择;打印服务器针对指定的打印队列启用分支办公室打印模式;打印服务器从客户端计算机接收对打印请求的指示;并且打印服务器向客户端计算机通知启用分支办公室打印模式。
前文是所附权利要求限定的本发明的非限制性发明内容。
附图说明
附图未意欲按比例绘制。在附图中,在各图中图示的每个相同或者接近相同部件由同样的标号表示。为求清楚,可能未在每幅图中标注每个部件。在附图中:
图1是图示了通过集中式打印服务器打印的常规计算机系统的示意框图;
图2是根据本发明实施例的计算机系统的示意框图,其中从客户端计算机向本地打印机直接发送假脱机的打印数据;
图3是图示了客户端计算机和打印服务器的部件的根据本发明实施例的计算机系统的示意框图;
图3A是示出了根据本发明实施例的客户端打印假脱机程序和打印机的示意框图;
图4是根据本发明实施例的客户端计算机执行的过程的流程图;
图5是图示了不同打印队列的操作的根据本发明实施例的计算机系统的示意框图;
图6是根据本发明实施例的打印服务器执行的过程的流程图;并且
图7是可以实施为客户端计算机或者打印服务器的计算设备的示意框图。
具体实施方式
在图1中示出了利用远程打印服务器的常规计算机系统的示意框图。公司或者其他实体可以在两个或者更多地理位置具有办公室。分支办公室10可以包括客户端计算机20、22、24等和打印机30。总部办公室或者其他办公室可以包括控制客户端计算机20、22、24向打印机30打印的远程打印服务器40。
在操作中,计算设备20从用户接收针对打印作业的请求。客户端计算机20向远程打印服务器40通知打印请求并且向远程打印服务器40发送也称为假脱机的数据的打印数据。远程打印服务器40然后向打印机30发送用于打印作业的假脱机的数据用于打印。远程打印服务器40控制针对每个客户端计算机20、22和24的打印配置和管理。如上文所示,向远程打印服务器40发送打印作业、然后返回到分支办公室10中的打印机30可能浪费网络带宽并且可能造成打印延迟。
在图2中示出了根据本发明实施例的计算机系统100的示意框图。分支办公室10可以包括客户端计算机120、122、124等和打印机130。总部办公室或者其他办公室可以包括远程打印服务器140。
在图2中示出了与本发明的操作相关的计算机系统100的部件。将理解分支办公室10可以包括更多或者更少客户端计算机、附加打印机和本领域技术人员已知的其他部件。另外,总部办公室可以包括除了远程打印服务器140之外的部件。计算机系统100也可以包括多于一个分支办公室和多于一个打印服务器。分支办公室10和远程打印服务器140通常在不同地理位置,尽管这并非本发明的操作要求。
根据本发明实施例,打印服务器140控制对分支办公室打印模式的启用和禁用。在分支办公室打印模式由打印服务器140启用时,客户端计算机120向分支办公室10中的打印机130直接发送假脱机的打印数据。在客户端计算机120从用户接收打印请求时,客户端计算机120向打印服务器140发送对打印请求的指示。打印服务器140确定是否已经为打印机130启用分支办公室打印模式并且相应地通知客户端计算机120。在禁用分支办公室打印模式时,客户端计算机120向打印机130直接发送假脱机的打印数据。客户端计算机120在分支办公室打印模式中未向远程打印服务器140发送假脱机的打印数据。打印服务器140控制用于客户端计算机120的打印配置和管理。下文更具体地描述分支办公室打印。
在图3中更具体地示出了计算机系统100。客户端计算机120包括打印假脱机程序150,并且打印服务器140包括打印假脱机程序160。打印假脱机程序150和打印假脱机程序160交换用于客户端计算机120的打印配置和管理信息。打印服务器140的打印假脱机程序160控制打印配置和管理并且对改变打印机设置的请求做出响应。
如图3中进一步所示,打印服务器140从用户如管理员接收打印模式选择。打印模式选择控制对分支办公室打印模式的启用和禁用。在启用分支办公室打印模式时,从打印假脱机程序150向远程打印机130直接发送打印作业。在禁用分支办公室打印模式时,从打印假脱机程序150向打印假脱机程序160发送打印作业,然后打印假脱机程序160向远程打印机130发送打印作业。分支办公室打印模式的禁用状态可以称为“正常”打印模式。
客户端计算机120从用户接收在远程打印机130处打印一项打印作业的打印请求。在禁用分支办公室打印模式时,从客户端计算机120中的打印假脱机程序150向打印服务器140中的打印假脱机程序160发送打印作业PJ1。然后从打印假脱机程序160向远程打印机130发送打印作业PJ1。在启用分支办公室打印模式时,从客户端计算机120中的打印假脱机程序150向远程打印机130直接发送打印作业PJ2。如图3中所示,未向打印服务器140发送打印作业PJ2。
如下文所述,打印服务器140可以在每个队列的基础上启用分支办公室打印模式。因此,在相同或者不同的分支办公室中不同远程打印机可以在不同模式中操作。另外,客户端计算机120可以在某些境况之下(例如在客户端计算机120与分支办公室打印不兼容时或者如果有冲突的打印机设置生效)忽略如打印服务器140设置的分支办公室打印模式。
在图3A中更具体示出了客户端计算机120中的打印假脱机程序150。本地打印机170接收打印作业。向CSR模块180供应打印数据,该CSR模块执行对打印数据的再现。在分支办公室打印模式中向打印机130直接发送再现的数据。
在图4的流程图中示出了根据本发明实施例的客户端计算机120执行的打印过程。已经从图4省略了在打印时涉及到的常规动作以便有助于理解本发明。将理解可以在本发明的打印过程内包括附加动作。参照图3中所示和以上所述的计算机系统100描述图4的过程。
在动作200中,客户端计算机120从用户接收打印请求。打印请求可以指定将由所选打印机打印的打印作业。在许多实例中,所选打印机为默认打印机并且无需用户的具体选择。向客户端计算机120的打印假脱机程序150转发打印作业。客户端计算机120在动作202中开始与打印服务器140同步。在动作204中,客户端计算机120从打印服务器140确定是否启用分支办公室打印。
分支办公室打印可以利用现有打印假脱机程序软件中的现有CSR(客户侧再现)功能。CSR允许打印作业再现由客户端计算机进行,因此允许客户端计算机在打印时绕过打印服务器。此外,CSR保证与CSR兼容的任何打印机驱动器将与分支办公室打印兼容。
分支办公室打印构建于客户端计算机中的打印假脱机程序150的现有客户侧再现功能上。CSR通过包括由本地打印假脱机程序管理的本地打印机(有时称为“GUID打印机”)来实施远程打印机连接。本地打印机在效果上是远程打印机的镜像并且具有与远程打印机相同的驱动器、形式、设置和数据。这允许在向远程打印机打印中涉及到的大量工作在客户端计算机上本地地进行。
本地打印机与远程打印机之间的不同在于端口。远程打印机的端口是与本地(USB,LPT)端口或者与网络设备(例如经由TCP或者WSD)通信的标准端口。本地打印机的端口使用CSR端口监视器来与打印服务器140而不是物理打印机通信。CSR端口监视器向打印服务器140传送来自客户端计算机120的再现的打印作业,并且打印服务器140向实际打印机传送假脱机的数据。
根据本发明的实施例,本地打印机上的CSR端口监视器可以被可以与物理打印机通信的“实际”端口监视器替换。从打印服务器140复制并且在本地打印机上设置端口监视器设置。然后,客户侧再现知道如何与打印机直接通信而无需在打印过程中涉及打印服务器。
在打印服务器140上在每个队列或者每个连接的基础上配置分支办公室打印。在这些实施例中,未在客户端计算机启用或者禁用分支办公室打印。可以按照在打印服务器上设置的值实现配置。客户端计算机120周期性地(或者在流逝的时间段之后或者在检测到打印服务器上的改变时)同步在远程服务器140上设置的值。在变量“绕过服务器”设置成非零值时,针对连接启用分支办公室打印。然而,如果客户端计算机与分支办公室打印不兼容或者如果有冲突的设置生效,则该客户端计算机可以忽略这一设置。
连接设置涉及设置由本地打印假脱机程序150管理的本地打印机。这一过程的部分包括向打印机分配端口。对于正常打印和分支办公室打印这二者,端口默认为CSR端口监视器。作为设置的最后步骤,同步CSR缓存同步向本地打印机复制所有远程打印机设置。在这一点,端口设置从CSR端口监视器改变成在打印服务器140上使用的端口设置。
打印假脱机程序150的客户侧再现功能确定如何配置用于连接的端口并且保持本地打印机与关联的远程打印队列同步。如果管理员改变远程打印机上的端口设置,则向客户端计算机传播它们。
端口的配置基于分支办公室打印模式在动作204中确定为针对连接是启用还是禁用。如果启用分支办公室打印模式,并且如果远程端口设置不同于本地端口设置,则使本地设置与远程端口设置同步。如果禁用分支办公室打印模式,则本地端口设置被设置成CSR端口监视器以允许连接的正常操作。在动作220中,客户端计算机120在确定禁用分支办公室打印之后确定本地端口是否被设置成CSR。如果本地端口设置成CSR,则该过程进入动作224。如果本地端口未设置成CSR,则客户端计算机120在动作222中将本地端口设置成CSR。该过程然后进入动作224,其中客户端计算机120通过打印服务器140打印。
值“启用分支办公室打印”确定是否针对连接启用分支办公室打印。如果这个值为零或者未设置,则禁用分支办公室打印模式。如果这个值设置成非零值,那么假如无其他设置冲突并且尚未确定连接与分支办公室打印不兼容,则启用分支办公室打印模式。
客户端计算机120在动作206中通过向打印服务器进行远程数据调用来取回远程端口设置。可以通过针对TCP(传输控制协议)和WSD(用于设备的网上服务)协议进行必需数据调用来确定远程端口的类型。首先,客户端计算机尝试取回TCP端口数据,然后是WSD端口数据。如果这两样均未成功,则端口不兼容,并且不能针对连接启用分支办公室打印模式。端口设置成CSR端口监视器,并且客户端计算机回复正常打印。在取回TCP端口数据时,打印服务器返回包含远程TCP端口配置的数据结构。在取回WSD端口数据时,打印服务器返回包含远程WSD端口配置的数据结构。在取回远程端口设置之后,取回本地打印机当前端口设置。然后,比较本地和远程端口设置。如果端口设置不同,则本地打印机被重新配置成使用与打印服务器相同的端口设置。
如果在动作208中确定远程端口设置和本地端口设置是相同的,则无需改变本地端口并且同步是完全的。该过程然后进入动作212。如果在动作208中确定远程端口设置和本地端口设置不同,则在动作210中更新本地端口设置以匹配远程端口设置。此外,如果必要则加载关联的端口监视器。向本地端口监视器添加与远程端口匹配的新端口。在已经向本地端口监视器添加新端口之后,可以在本地打印机上设置新端口,并且可以从本地端口监视器移除旧端口。在动作212中,客户端计算机120向远程打印机130直接打印。
如果来自打印服务器140的远程设置指示已经针对连接禁用分支办公室打印模式或者确定分支办公室打印与客户端计算机120不兼容,则配置连接用于通过CSR端口监视器的正常打印。如这里所用,“正常”打印是指其中通过打印服务器向远程打印机发送打印作业的打印。
CSR同步管理器可以在轮询模式中运行,从而它从打印服务器周期地取回设置。因为分支办公室打印功能使用CSR同步管理器来同步端口设置,所以有可能存在这样的时间窗:其中客户端计算机端口设置与打印服务器端口设置不同步。如果客户端计算机将在这个窗口期间向分支办公室打印机发送打印作业,则该作业将失败。
为了消除这个问题,客户端计算机120在每个打印作业开始时利用同步缓存同步。这保证端口设置在需要时是最新的。为了减少性能影响,同步功能可以限于端口信息,并且可以不执行完全打印机同步。在其他实施例中,可以周期地(例如在固定时间间隔之后打印作业时)而不是与每个打印作业一起执行端口同步。
后退到正常打印模式可以在一个或者多个以下条件之下出现:(1)如果远程打印服务器与分支办公室打印不兼容;(2)如果远程端口设置与分支办公室打印不兼容(非TCP或者非WSD端口);(3)如果打印驱动器与正常CSR操作不兼容;(4)如果已经在远程打印队列上启用服务器侧再现;(5)如果已经在远程打印队列上启用“保持打印的作业”;以及(6)如果在远程打印队列上启用“打印机池(Printer Pooling)”(即远程打印队列与多个端口关联)。在客户端计算机后退到正常打印时,可以记录事件,以出于管理的目的说明原因。
在图5中示出了根据本发明实施例的计算机系统300。计算机系统300包括客户端计算机120、客户端计算机122、远程打印机130、远程打印机310和打印服务器140。客户端计算机120和122以及远程打印机130和310可以在分支办公室中,并且打印服务器140可以在总部办公室中。
打印服务器140包括用于远程打印机130的打印队列320和用于远程打印机310的打印队列322。将理解打印服务器140可以包括用于多于两个远程打印机的打印队列。管理员控制模块330从管理员接收输入并且控制打印队列320和打印队列322的打印模式。具体而言,管理员控制模块330可以控制针对打印队列320和322中的每一个是启用还是禁用分支办公室打印模式。打印服务器140也控制对客户端计算机120和122中的每一个的配置和管理。
在图5的实例中,管理员控制模块330已经针对远程打印机130启用分支办公室打印模式并且已经针对远程打印机310禁用分支办公室打印模式。将理解,可以在管理员或者其他用户的控制之下按照需要启用和禁用用于每个远程打印机的打印模式。因而在客户端计算机120接收在远程打印机130处打印的打印请求时,从打印服务器140确定分支办公室打印模式为启用,并且打印作业PJ10直接被发送至远程打印机130,而不发送至打印服务器140。在客户端计算机120接收向远程打印机130打印的请求时,从打印服务器140确定分支办公室打印模式为禁用,并且打印作业PJ11直接被发送至打印服务器140中的打印队列322,以便从打印队列322转发至远程打印机310。类似地,在客户端计算机122接收向远程打印机130打印的打印请求时,从打印服务器140确定分支办公室打印模式为启用。因而从客户端计算机122向远程打印机130直接发送打印作业PJ20而不向打印服务器140发送打印作业PJ20。在客户端计算机122接收向远程打印机310打印的请求时,从打印服务器140确定分支办公室打印模式为禁用,并且向打印队列322发送打印作业PJ21,以便从打印队列322向远程打印机310转发。可以观察到,针对每个打印机启用或者禁用分支办公室打印模式并且每个客户端计算机根据将被利用的远程打印机的打印模式来打印。
在图6中示出了打印服务器140根据本发明实施例进行的过程的流程图。示出了在控制分支办公室打印模式中涉及的动作。将理解该过程可以在本发明的范围内包括附加动作。
在动作400中,打印服务器140从管理员或者其他用户接收打印模式选择。打印模式选择指定将针对其启用或者禁用分支办公室打印模式的远程打印机。将理解在打印服务器140而不是在客户端计算机处启用或者禁用分支办公室打印模式。
在动作402中,打印服务器140响应于在动作402中接收的打印模式选择针对指定的打印队列启用或者禁用分支办公室打印模式。打印模式保持启用或者禁用直至被管理员改变为止。
在动作406中,打印服务器140从客户端计算机接收向指定的打印队列打印的打印请求的指示。
在动作408中,打印服务器140向客户端计算机通知所选打印模式和将在传送假脱机的打印数据时使用的端口设置。在启用分支办公室打印模式的情况下,客户端计算机如上文所述与打印服务器140的端口设置同步并且向指定的远程打印机直接发送打印作业。在这一情况下,打印服务器140未接收假脱机的打印数据。
在动作410中,在禁用分支办公室打印模式时,打印服务器140从客户端计算机接收假脱机的打印数据并且将打印数据放入针对指定的远程打印机的打印队列中。然后从打印服务器140向远程打印机发送打印数据。
如上文所述,打印服务器140建立客户端计算机120在分支办公室打印模式和正常打印模式中的端口设置。另外,打印服务器140控制分支办公室打印模式和正常打印模式中的打印配置和管理。例如打印服务器140可以在每个队列的基础上控制打印机设置和打印机性质。客户端计算机的用户可以根据打印服务器140设置的默认值来改变打印作业设置,但是不能改变打印队列设置。另外,因为打印模式由打印服务器140控制,所以客户端计算机的用户不知道是在利用分支办公室打印模式还是在利用正常打印模式。
图7图示了本发明可以实施于其上的适当计算系统环境1000的实例。计算系统环境1000仅为适当计算环境的一个实例而并不旨在暗示对本发明的用途或者功能的范围的限制。计算环境1000也不应解释为具有与示例操作环境1000中所示部件中的任一个部件或者组合有关的相关性或者要求。
本发明可与诸多其他通用或者专用计算系统环境或者配置一起操作。可以适合与本发明一起使用的公知计算系统、环境和/或配置的实例包括但不限于个人计算机、服务器计算机、手持或者膝上型设备、多处理器系统、基于微处理器的系统、机顶盒、可编程消费型电子设备、网络PC、小型计算机、大型计算机、包括任何上述系统或者设备的分布式计算环境等。
可以在计算机执行的计算机可执行指令(例如程序模块)的一般背景中描述本发明。一般而言,程序模块包括执行特定任务或者实施特定抽象数据类型的例程、程序、对象、部件、数据结构等。本发明也可以实施于其中任务由通过通信网络链接的远程处理设备执行的分布式计算环境中。在分布式计算环境中,程序模块可以位于包括存储器存储设备的本地和远程计算机存储介质中。
参照图7,一种用于实施本发明的示例系统包括形式为计算机1010的通用计算设备。计算机1010的部件可以包括但不限于处理单元1020、系统存储器1030以及将包括系统存储器的各种系统部件耦合到处理单元1020的系统总线1021。系统1021可以是包括存储器总线或存储器控制器、外围总线和使用各种总线架构中的任一种的本地总线的若干类型总线结构中的任一种。举例而言而非限制,这样的架构包括工业标准架构(ISA)总线、微信道架构(MCA)总线、增强型ISA(EISA)总线、视频电子标准协会(VESA)本地总线和也称为Mezzanine总线的外围部件互连(PCI)总线。
计算机1010通常包括各种计算机可读介质。计算机可读介质可以是计算机1010可以访问的任何可用介质并且包括易失性和非易失性介质、可移动和不可移动介质。举例而言而无限制,计算机可读介质可以包括计算机存储介质。计算机存储介质包括以用于存储信息(例如计算机可读指令、数据结构、程序模块或者其他数据)的任何方法或者技术实施的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或者其他存储器技术、CD-ROM、数字万用盘(DVD)或者其他光盘存储装置、磁盒、磁带、磁盘存储装置或者其他磁存储设备或者任何可以用来存储所需信息并且可以由计算机1010存取的其他介质。也应当在计算机可读存储介质的范围内包括任何上述介质的组合。
系统存储器1030包括形式为易失性和/或非易失性存储器(例如只读存储器(ROM)1031和随机存取存储器(RAM)1032)的计算机存储介质。基本输入/输出系统1033(BIOS)(其包含有助于例如在启动期间在计算机1010内的元件之间传送信息的基本例程)典型地存储于ROM 1031中。RAM 1032典型地包含处理单元1020立即可访问和/或当前操作的数据和/或程序模块。举例而言而非限制,图7图示了操作系统1034、应用程序1035、其他程序模块1036和程序数据1037。
计算机1010也可以包括其他可移动/不可移动易失性/非易失性计算机存储介质。仅举例而言,图7图示了从或者向不可移动、非易失性磁介质读取或者写入的硬盘驱动器1040、从或者向可移动、非易失性磁盘1052读取或者写入的磁盘驱动器1051以及从或者向可移动、非易失性光盘1056(例如CD ROM或者其他光学介质)读取或者写入的光盘驱动器1055。可以在示例操作环境中使用的其他可移动/不可移动、易失性/非易失性计算机存储介质包括但不限于磁带盒、闪存卡、数字万用盘、数字视频带、固态RAM、固态ROM等。硬盘驱动器1041通常通过不可移动存储器接口(例如接口1040)连接到系统总线1021,并且磁盘驱动器1051和光盘驱动器1055通常由可移动存储器接口(例如接口1050)连接到系统总线1021。
上文讨论和图7中图示的驱动器及其关联的计算机存储介质提供对计算机可读指令、数据结构、程序模块和用于计算机1010的其他数据的存储。在图7中,例如图示了硬盘驱动器1041存储操作系统1044、应用程序1045、其他程序模块1046和程序数据1047。注意这些部件可以与操作系统1034、应用程序1035、其他程序模块1036和成像数据1037相同或者不同。这里向操作系统1044、应用程序1045、其他程序模块1046和程序数据1047给予不同标号以图示它们至少为不同副本。
用户可以通过输入设备(例如键盘1062和指示设备1061(常称为鼠标、跟踪球或者触垫))向计算机1010内输入命令和信息。其他输入设备可以包括麦克风1063、操纵杆、写字板1064、碟形卫星天线、扫描仪等。这些和其他输入设备经常通过用户输入接口1060(该接口耦合到系统总线)连接到处理单元1020,但是可以不被其他接口和总线结构(例如并行端口、游戏端口或者通用串行总线(USB))连接。监视器1091或者其他类型的显示设备也经由接口(例如视频接口1090)连接到系统1021。除了监视器之外,计算机也可以包括可以通过输出外围接口1095连接的其他外围输出设备(例如扬声器1097和打印机1096)。
计算机1010可以使用到一个或者多个远程计算机(例如远程计算机1080)的逻辑连接在联网环境中操作。远程计算机1080可以是个人计算机、服务器、路由器、网络PC、对等设备或者其他常见网络节点并且通常包括上文相对于计算机1010描述的单元中的多个或者所有单元,尽管已经在图7中仅图示存储器存储设备1081。图7中所描绘的逻辑连接包括局域网(LAN)1071和广域网(WAN)1073以及无线链路(例如经由与天线一起的无线接口1098),但是也可以包括其他网络。这样的联网环境在办公室、企业范围的计算机网络、内部网和因特网中司空见惯。尽管示出了无线接口1098直接连接到系统总线1021,但是认识到,无线接口1098可以经由网络接口1070连接到系统总线1021。
在使用于LAN联网环境中时,计算机1010通过网络接口或者适配器1070连接到LAN1071。在使用于WAN联网环境中时,计算机1010通常包括调制解调器1072或者用于通过WAN1073(例如因特网)建立通信的其他装置。可以在内部或者外部的调制解调器1072可以经由用户输入接口1060或者其他适当机制连接到系统总线1021。在联网环境中,相对于计算机1010描绘的程序模块或者其部分可以存储于远程存储器存储设备中。举例而言而非限制,图7图示了远程应用程序1085驻留于存储器设备1081上。将理解所示网络连接为示例性的并且可以使用其他在计算机之间建立通信链路的手段。
已经这样描述了本发明的至少一个实施例的若干方面,将理解,本领域技术人员将容易想到各种变更、修改和改进。
这样的变更、修改和改进旨在于作为本公开内容的部分并且旨在在本发明的精神和范围内。因而前文描述和附图仅为举例。
可以用多种方式中的任何方式实施本发明的上述实施例。例如可以使用硬件、软件或者其组合来实施这些实施例。在用软件实施时,可以在任何适当处理器或者处理器的集合(无论是在单个计算机中提供还是分布于多个计算机之间)上执行软件代码。这样的处理器可以实施为集成电路而一个或者多个处理器在集成电路部件中。尽管可以使用任何适当形式的电路来实施处理器。
另外应当理解可以用多种形式中的任何形式(例如机架式计算机、桌面型计算机、膝上型计算机或者写字板计算机)具体化计算机。此外,计算机可以具体化于一般未视作计算机、但是具有适当处理能力的设备(包括个人数字助理(PDA)、智能电话或者任何其他适当便携或者固定电子设备)中。
计算机也可以具有一个或者多个输入和输出设备。这些设备尤其可以用来呈现用户接口。可以用来提供用户接口的输出设备的实例包括用于视觉地呈现输出的打印机或者显示屏以及用于可听地呈现输出的扬声器或者其他发声设备。可以用于用户接口的输入设备的实例包括键盘和指示设备(例如鼠标、触垫和数字化写字板)。作为另一实例,计算机可以通过语音识别或者以其他可听格式接收输入信息。
这样的计算机可以由任何适当形式的一个或者多个网络(包括局域网或者广域网(例如企业网或者因特网))互连。这样的网络可以基于任何适当技术并且可以根据任何适当协议来操作并且可以包括无线网络、有线网络或者光纤网络。
这里概括的各种方法或者过程也可以编码为可在运用各种操作系统或者平台中的任一操作系统或者平台的一个或者多个处理器上执行的软件。此外,这样的软件可以使用多种适当编程语言和/或编程或者脚本编写工具中的任何语言和/或工具来写并且也可以编译为在框架机(framework machine)或者虚拟机上执行的可执行机器语言代码或者中间代码。
就这一点而言,本发明可以具体化为用一个或者多个程序编码的一个计算机可读存储介质(或者多个计算机可读介质)(例如计算机存储器、一个或者多个软盘、紧致盘(CD)、光盘、数字视频盘(DVD)、磁带、闪存、现场可编程门阵列或者其他半导体器件中的电路配置或者其他非瞬态有形计算机存储介质),所述程序在一个或者多个计算机或者其他处理器上执行时实现如下方法,这些方法实施上文讨论的本发明的各种实施例。一个或者多个计算机可读存储介质可以是可传送的,从而存储于其上的一个或者多个程序可以加载到一个或者多个不同计算机或者其他处理器上以实施如上文讨论的本发明的各种方面。如这里所用,术语“非瞬态计算机可读存储介质”仅涵盖可以视为制造品(即制造的产品)或者机器的计算机可读介质。取而代之或者除此之外,本发明还可以具体化为除了计算机可读存储介质之外的计算机可读介质,例如传播信号。
这里使用术语“程序”或者“软件”来广义地指代任何类型的计算机代码或者计算机可执行指令集,该计算机代码或者计算机可执行指令集可以用来对计算机或者其他处理器进行编程以实施如上文讨论的本发明的各种方面。此外还应当理解,根据这一实施例的一个方面,在执行时执行本发明方法的一个或者多个计算机程序无需驻留于单个计算机或者处理器上,但是可以用模块方式分布于多个不同计算机或者处理器之间以实施本发明的各种方面。
计算机可执行指令可以是由一个或者多个计算机或者其他设备执行的多种形式(例如程序模块)。一般而言,程序模块包括执行特定任务或者实施特定抽象数据类型的例程、程序、对象、部件、数据结构等。通常可以在各种实施例中按照需要组合或者分布程序模块的功能。
数据结构也可以以任何适当形式存储于计算机可读介质中。为了简化说明,数据结构可以示为具有通过数据结构中的位置来相关的域。同样可以通过为域分配在计算机可读介质中具有位置的如下存储来实现这样的关系,该存储传达域之间的关系。然而任何适当机制可以用来在数据结构的域中的信息之间建立关系(包括通过使用指针、标签或者其他在数据元之间建立关系的机制)。
本发明的各种方面可以单独地、组合地或者以未在前文所述实施例中特别讨论的各种布置使用,因此其不限于其用于前面描述中所阐述及附图中所图示的部件的布置和细节。例如在一个实施例中描述的方面可以以任何方式与在其他实施例中描述的方面组合。
本发明也可以具体化为一种方法(已经提供了它的实例)。作为方法的部分而进行的动作可以用任何适当方式排序。因而可以构造如下实施例,在这些实施例中以与所说明的不同的顺序进行动作(可以包括同时执行一些动作,尽管在图示的实施例中示出为顺序的动作)。
在权利要求中使用诸如“第一”、“第二”、“第三”等顺序术语来修改权利要求要素本身并未意味着一个权利要求要素相对于另一权利要求要素而言的任何优先、居先或者顺序、或者执行方法动作的时间顺序,而是仅用作如下标记,这些标记用于区别具有某一名称的一个权利要求要素与具有相同名称的另一要素(但是针对顺序术语的使用)以区别权利要求要素。
这里所用的措词和术语也用于描述而不应视为限制。这里“包括”或者“具有”、“包含”、“涉及”及其变型的使用意味着涵盖其后列举的项目及其等效项目以及附加项目。

Claims (7)

1.一种用于由客户端计算机(120)打印的方法,包括:
由客户端计算机(120)的打印假脱机程序从用户接收(200)将打印作业打印到打印机的请求,所述打印作业包括打印数据;
响应于将打印作业打印到打印机的所述请求由所述客户端计算机(120)的所述打印假脱机程序基于从打印服务器(140)接收的信息确定(204)是否针对所述打印机启用分支办公室打印模式,对于所述打印机而言,所述确定在打印服务器的配置保持不变时对于客户端计算机所接收的每个打印作业是相同的;
响应于确定针对所述打印机而言所述分支办公室打印模式被启用,所述客户端计算机(120)通过以下项来执行所述打印请求:
在客户端计算机(120)上再现打印数据,所述打印数据的再现包括将打印数据从一种格式转换为另一种格式;
同步客户端计算机和打印服务器的打印机设置,包括:
确定客户端计算机的打印机端口设置和打印服务器的打印机端口设置是否匹配;
响应于确定所述客户端计算机的打印机端口设置和打印服务器的打印机端口设置匹配,通过向打印机(130)传送再现的打印数据而不向打印服务器(140)发送再现的打印数据来继续向所述打印机打印而不向打印服务器发送所述再现的打印数据;并且
响应于确定所述客户端计算机和打印服务器设置不匹配,更新所述客户端计算机的打印机端口设置以匹配所述打印服务器的打印机端口设置并且通过向打印机传送再现的打印数据而不向打印服务器发送所述再现的打印数据来继续向所述打印机打印而不向打印服务器发送所述再现的打印数据;以及
响应于确定针对所述打印机而言所述分支办公室打印模式被禁用,所述客户端计算机(120)通过经由所述打印服务器(140)向所述打印机(130)打印(224)来执行所述打印请求。
2.如权利要求1所述的方法,还包括从所述打印服务器接收打印机设置以便在所述分支办公室打印模式中使用。
3.如权利要求1所述的方法,其中针对所述打印服务器的每个打印队列启用或者禁用所述分支办公室打印模式。
4.一种用于执行打印请求的设备,包括:
用于接收(200)将打印作业打印到打印机的请求的装置,所述打印作业包括打印数据;
用于基于从打印服务器(140)接收的信息确定(204)是否针对所述打印机启用分支办公室打印模式的装置,对于所述打印机而言,所述确定在打印服务器的配置保持不变时对于客户端计算机所接收的每个打印作业是相同的;
用于响应于确定针对所述打印机而言所述分支办公室打印模式被启用,通过以下项来继续打印(212)的装置:
在客户端计算机(120)上再现打印数据,其中所述再现包括将打印数据从一种格式转换为另一种格式;
同步客户端计算机和打印服务器的打印机端口设置,包括:
确定客户端计算机的打印机端口设置是否与打印服务器匹配;
响应于确定所述客户端计算机的打印机端口设置和打印服务器匹配,向打印机(130)传送再现的打印数据而不向打印服务器(140)发送再现的打印数据;并且
响应于确定所述客户端计算机的打印机端口设置和打印服务器不匹配,更新所述客户端计算机的打印机端口设置以匹配所述打印服务器的打印机端口设置并且向打印机传送再现的打印数据而不向打印服务器发送所述再现的打印数据;以及
用于响应于确定针对所述打印机而言所述分支办公室打印模式被禁用,经由所述打印服务器(140)来继续向所述打印机(130)打印(224)的装置。
5.如权利要求4所述的设备,还包括用于响应于确定针对所述打印机而言所述分支办公室打印模式被启用,同步所述客户端计算机和所述打印服务器的打印机设置的装置。
6.如权利要求5所述的设备,其中同步打印机设置包括:
确定客户端计算机设置和打印服务器设置是否匹配,
响应于确定所述客户端计算机和打印服务器设置匹配,继续向所述打印机打印而不向打印服务器发送所述再现的打印数据,并且
响应于确定所述客户端计算机和打印服务器设置不匹配,更新所述客户端计算机设置以匹配所述打印服务器设置并且继续向所述打印机打印而不向打印服务器发送所述再现的打印数据。
7.如权利要求4所述的设备,还包括用于从所述打印服务器接收打印机设置以便在所述分支办公室打印模式中使用的装置。
CN201110367778.2A 2010-11-19 2011-11-18 分支办公室直接打印 Active CN102436361B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/950337 2010-11-19
US12/950,337 US20120127512A1 (en) 2010-11-19 2010-11-19 Branch office direct printing

Publications (2)

Publication Number Publication Date
CN102436361A CN102436361A (zh) 2012-05-02
CN102436361B true CN102436361B (zh) 2017-05-03

Family

ID=45984443

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110367778.2A Active CN102436361B (zh) 2010-11-19 2011-11-18 分支办公室直接打印

Country Status (2)

Country Link
US (1) US20120127512A1 (zh)
CN (1) CN102436361B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI497953B (zh) * 2013-04-24 2015-08-21 Sunix Co Ltd 遠端周邊的控制系統、方法及其遠端服務器
US9152360B1 (en) 2014-10-02 2015-10-06 Xerox Corporation Method and system for secure branch printing
US9367270B1 (en) 2015-02-04 2016-06-14 Xerox Corporation Method and system for shuttling client resident data to servers in a client-server printing environment
JP6771909B2 (ja) * 2015-06-03 2020-10-21 キヤノン株式会社 画像形成装置、画像形成装置の制御方法、及びプログラム
US10126995B2 (en) * 2015-08-03 2018-11-13 Kabushiki Kaisha Toshiba Printing system capable of printing in any one of plural image forming apparatuses over a network
CN107391051B (zh) * 2016-05-16 2019-10-25 腾讯科技(深圳)有限公司 一种文件打印方法、装置和系统
CN106557288B (zh) * 2016-11-15 2020-04-14 华为技术有限公司 一种获取打印数据的方法及装置
US10437529B1 (en) 2018-03-30 2019-10-08 Hewlett-Packard Development Company, Lp. Print job route based on context data
CN111476655B (zh) * 2020-04-02 2023-06-23 中国银行股份有限公司 基于银行系统的集中打印方法及系统
JP2021193502A (ja) * 2020-06-08 2021-12-23 キヤノン株式会社 情報処理方法、情報処理装置およびプログラム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7190477B2 (en) * 2001-02-22 2007-03-13 Sharp Laboratories Of America, Inc. System and method for managing and processing a print job using print job tickets
JP4464029B2 (ja) * 2001-04-19 2010-05-19 キヤノン株式会社 情報処理方法および制御プログラムおよび情報処理装置および周辺装置および応答方法および代理応答装置およびネットワークシステム
US7298509B2 (en) * 2002-03-19 2007-11-20 Hewlett-Packard Development Company, L.P. Interfacing with a printer using a dynamic print path
US7149826B2 (en) * 2002-08-05 2006-12-12 Hewlett-Packard Development Company, L.P. Peripheral device output job routing
US20040223179A1 (en) * 2003-05-07 2004-11-11 Mentze Duane E. Network printing mode automation
US7505168B2 (en) * 2004-12-30 2009-03-17 Microsoft Corporation Distributed client side printing methods and systems
US8289536B2 (en) * 2006-09-29 2012-10-16 Sharp Laboratories Of America, Inc. Systems and methods for detailed job accounting for thin client rendering

Also Published As

Publication number Publication date
US20120127512A1 (en) 2012-05-24
CN102436361A (zh) 2012-05-02

Similar Documents

Publication Publication Date Title
CN102436361B (zh) 分支办公室直接打印
CN101675426B (zh) 跨分布式设备集合来对数据进行网格管理
US20190378119A1 (en) Wallet device for cryptocurrency and method of signature for the use thereof
JP5236958B2 (ja) 通知方法、管理装置及びクライアント装置
CN101821729B (zh) 应用程序的远程自动供应和发布
KR100872955B1 (ko) 정보 처리 장치, 주변 장치 제어 방법, 및 컴퓨터판독가능한 기억 매체
CN102223392A (zh) 打印服务器及打印装置、网络打印系统以及打印方法
CN102227720A (zh) 在多个设备的范围内支持媒体内容回复功能
US20020065732A1 (en) Method and apparatus for distributing electronic content
CN102203721B (zh) 打印插件隔离
CN1937628A (zh) 用于管理数据处理目标实体的方法和系统
CN109977026A (zh) 测试网页回滚方法和装置
CN107291486A (zh) 一种操作系统的安装方法和装置
JP2004078281A (ja) プリンタ機器情報設定方法、画像印刷装置及びプログラム
US20070195357A1 (en) Image processor updating a master file stored in a file server, method of controlling the same, and a program product for processing images
JP2001345977A (ja) 画像データ送信装置および方法、画像データを送信するためのプログラムを記録したコンピュータ読み取り可能な記録媒体、ならびに、画像データ送受信システムおよび方法
JP5010068B2 (ja) デバイス環境設定システム、デバイス環境設定処理方法及び情報記録媒体
CN107667343A (zh) 按需加载资源
JP2015056167A (ja) 処理管理システム、処理管理装置、プログラム、情報処理システム及び処理管理方法
US20020002499A1 (en) Communication system, output device and information processing device
JP5166177B2 (ja) 認証処理装置、認証処理方法、管理サーバ装置、管理サーバ装置の制御方法
KR20090001664A (ko) 유/무선 통신망을 이용한 스티커 사진 무선 인화서비스시스템
JP2003067157A (ja) 印刷管理システム、印刷管理方法、プログラム、及び記録媒体
CN103858094B (zh) 信息处理装置、打印系统和打印方法
WO2024038695A1 (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
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150611

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20150611

Address after: Washington State

Applicant after: Micro soft technique license Co., Ltd

Address before: Washington State

Applicant before: Microsoft Corp.

GR01 Patent grant
GR01 Patent grant