CN1224202A - Client/server printer driver system - Google Patents
Client/server printer driver system Download PDFInfo
- Publication number
- CN1224202A CN1224202A CN 98126981 CN98126981A CN1224202A CN 1224202 A CN1224202 A CN 1224202A CN 98126981 CN98126981 CN 98126981 CN 98126981 A CN98126981 A CN 98126981A CN 1224202 A CN1224202 A CN 1224202A
- Authority
- CN
- China
- Prior art keywords
- server
- client
- print job
- processed
- computing device
- 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.)
- Pending
Links
- 238000012545 processing Methods 0.000 claims abstract description 53
- 238000007639 printing Methods 0.000 claims description 39
- 238000000034 method Methods 0.000 claims description 29
- 238000004891 communication Methods 0.000 claims description 22
- 230000004044 response Effects 0.000 claims description 3
- 238000005516 engineering process Methods 0.000 description 11
- 230000008901 benefit Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 230000002085 persistent effect Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- XNQIOISZPFVUFG-RXMQYKEDSA-N (R)-alpha-methylhistamine Chemical compound C[C@@H](N)CC1=CN=CN1 XNQIOISZPFVUFG-RXMQYKEDSA-N 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 230000008685 targeting Effects 0.000 description 1
Images
Landscapes
- Accessory Devices And Overall Control Thereof (AREA)
Abstract
客户/服务器打印机驱动程序包括能够将所述打印作业划分成将被客户侧和服务器侧进行处理的多个部分并将所述作业的服务器侧部分传送给能够对所述打印作业的客户侧部分进行处理的服务器子系统以便建立和接收经过处理的服务器侧部分的客户侧子系统。所述系统具有一个能够从所述客户侧子系统接收服务器侧部分并对这些部分进行处理以便建立经过处理的服务器侧部分和向所述客户侧传送服务器侧部分的服务器侧子系统。
The client/server printer driver includes the ability to divide the print job into parts to be processed by the client side and the server side and to pass the server side part of the job to the client side part of the print job. The processed server subsystem to build and receive the processed server-side part of the client-side subsystem. The system has a server-side subsystem capable of receiving server-side parts from the client-side subsystem and processing the parts to create a processed server-side part and transmitting the server-side part to the client-side.
Description
本发明涉及一种打印机驱动程序。特别是,本发明涉及一种用于在网络计算机(“NC”)、网络设备和能够进行打印的其它非PC装置上执行打印作业的客户/服务器系统。The invention relates to a printer driver. In particular, the present invention relates to a client/server system for executing print jobs on network computers ("NCs"), network appliances, and other non-PC devices capable of printing.
网络计算机是一种连接到局域网(“LAN”)或因特(Internet)网上的小型计算机,包含显著的本地处理智能。这种NC能够运行从LAN或因特网下载的或从不可变本地存储器(例如只读CD-ROM)加载的应用程序。NC通常不具有本地永久性存储器,而是远程存储信息。因此,NC高度依赖于所述网络。另外,NC的特征在于使用非传统的操作系统,经常使用电视监视器用于显示和具有有限的本地容量。与NC相关的当前规划目标市场是:A network computer is a small computer connected to a local area network ("LAN") or Internet (Internet) network, containing significant local processing intelligence. Such an NC is capable of running applications downloaded from a LAN or the Internet or loaded from non-volatile local storage such as read-only CD-ROMs. NCs generally do not have local persistent memory, but store information remotely. Therefore, NC is highly dependent on the network. In addition, NC is characterized by the use of non-traditional operating systems, often uses television monitors for display and has limited local capacity. The currently planned target markets relevant to NC are:
家庭-新消费者易于使用Home - Ease of use for new consumers
教育-与传统具有多控制的PC相比,是更为廉价的解决办法Education - an inexpensive solution compared to traditional PCs with multiple controls
商业-在服务器/MIS级更廉价的连接和更多的控制Commercial - cheaper connections and more control at the server/MIS level
类似的,网络设备(诸如是因特电话等)是一种包含计算能力的专用装置并可以被连接到中央服务器、LAN或所述因特网。Similarly, a network device, such as an Internet phone, is a dedicated device containing computing power and can be connected to a central server, a LAN, or the Internet.
传统的个人计算机(“PC”)打印机驱动程序被设计成在驻留有产生打印请求的应用程序的PC上使用。图1示出了一个示例驱动程序系统。应用程序130将希望的打印数据转换成GDI132或其它文本命令和图解具有相关页位置的基本数据和/或形成控制。所述打印作业可以被假脱机处理150(即存储)以便允许使用者利用应用程序130恢复工作。可以利用驱动程序100将这些命令格式化成可识别的工业规定数据定义(例如PCL)或打印机驱动程序100可以使用应用程序130和/或平台中间命令(例如Microsoft WindowsTM GDI基本数据)和作用于这些命令以建立内部直接打印机命令170以控制打印机硬件120。所述打印机不一定必须实际附着到驻留有应用程序130和驱动程序100的PC110上,但可以远程地设置在诸如LAN网络(未示出)上。Conventional personal computer ("PC") printer drivers are designed for use on the PC where the application program that makes the print request resides. Figure 1 shows an example driver system. The
具有PC侧打印机驱动程序系统的一个好处在于所述处理移到所述PC本身(而不是停留在打印机处),借此允许更大的灵活性和控制。这种系统的另一个好处在于在使打印机硬件本身的成本最小的同时可以通过使用更加强大的主机获得更先进的功能。One benefit of having a PC-side printer driver system is that the processing is moved to the PC itself (instead of staying at the printer), thereby allowing greater flexibility and control. Another benefit of such a system is that more advanced functions can be obtained through the use of more powerful host computers while minimizing the cost of the printer hardware itself.
作为将以传统主机为基础的打印机驱动程序模块装到网络计算机模块(如图2所示)的一种尝试,存在受到所述NC限制结果的问题。在NC环境中当前解决办法所存在的问题是由所述NC装置仅具有非常有限量的随机存取存储器(“RAM”)和没有永久性存储器(允许他们实现最低成本目标)而引起的。相反,几乎所有的标准PC打印机驱动程序都使用对本地永久性存储器的本地假脱机处理。而对于NC来讲这通常是不可能的。另外,利用通常是4MB的少量局部RAM,特别是如果需要打印彩色位图或复杂图形图象,经常会出现对所述驱动程序、应用程序和打印数据不够的存储器。另外,很多如今正在开发的NC装置具有不同的操作系统和具有不同的API和/或GDI接口定义,从而使得开发打印机驱动程序非常的麻烦。因此,传统的平台支持需要新软件驱动程序的产生。As an attempt to install a conventional host-based printer driver module into a network computer module (as shown in FIG. 2), there is a problem with the consequences of the NC limitations described. The problems with current solutions in the NC environment arise from the fact that the NC devices have only a very limited amount of random access memory ("RAM") and no persistent memory (allowing them to achieve their lowest cost goals). In contrast, almost all standard PC printer drivers use local spooling to local persistent storage. For NC this is usually not possible. Also, with a small amount of local RAM, typically 4MB, there is often insufficient memory for the drivers, applications and print data, especially if color bitmaps or complex graphic images need to be printed. In addition, many NC devices being developed today have different operating systems and have different API and/or GDI interface definitions, making it very cumbersome to develop printer drivers. Therefore, legacy platform support requires the generation of new software drivers.
在NC210(图2)上的传统打印工具采用了标准的打印模块。例如,在所述NC系统中,服务器200被用于加载应用程序130、与网络通信和存储NC210所需要的数据。NC210本身运行可以请求打印的应用程序130。其它的工具细节与在用于PC的标准打印模块中的相同(见图1)。Traditional printing tools on the NC210 (Figure 2) use standard printing modules. For example, in the NC system, the server 200 is used to load the
这种传统NC打印模块的好处在于1)它与当前的驱动程序模块类似,2)所述GUI模块已经为所述平台了解。但是,所述NC系统存在这种打印模块的下述缺陷。即在所述NC上存在严重的存储器和图象限制。而且,NC硬件差别对于其上的软件运行和与NC相连的硬件产生独特的问题。另外,传统的假脱机处理系统在所述NC在存储空间和/或存储器方式受到限制的情况下是不能接受的,因此,不能处理即使是规模适中的打印作业,特别是包含大量图形数据的打印作业。这种打印系统不能利用具有最少RAM的NC进行工作。The benefits of this legacy NC printing module are that 1) it is similar to the current driver module and 2) the GUI module is already known to the platform. However, the NC system has the following disadvantages of such printing modules. That is, there are severe memory and graphics constraints on the NC. Furthermore, NC hardware differences create unique problems for the software on which it runs and the hardware that interfaces with the NC. In addition, conventional spooling systems are unacceptable in situations where the NC is limited in storage space and/or memory means, and therefore cannot handle even moderately sized print jobs, especially those containing large amounts of graphics data. print job. Such a printing system cannot work with an NC with minimal RAM.
从这些缺陷的角度出发,本发明提出了一种用于NC特别有效的新的打印机驱动程序系统,。简单地说,本发明将打印任务分成能够进行本地处理的多个部分和能够被所述服务器进行处理的多个部分。通常,所述服务器比所述NC更能够对数据进行处理并具有数量较多的存储器空间。本发明的好处在于所述服务器被用于暂存和处理,借此以减轻所述NC的负担。对更加复杂和高质量信息的打印比使用所述NC内的传统驱动程序更加容易。From the viewpoint of these deficiencies, the present invention proposes a new printer driver system particularly effective for NC. Briefly, the present invention divides a print job into parts that can be processed locally and parts that can be processed by the server. Typically, the server is more capable of processing data and has a larger amount of memory space than the NC. The advantage of the present invention is that the server is used for temporary storage and processing, thereby reducing the burden on the NC. Printing of more complex and high quality information is easier than using traditional drivers within the NC.
本发明克服了对所述NC装置的限制,但仍然允许使用者根据当前欣赏的图形容量进行打印。使用本发明,可以克服缺少用于保存中间数据(假脱机)的能力的问题和缺少用于建立图形图象的空间的问题。建立用于打印的复杂位图的困难任务被移到具有足够处理能力和存储器的服务器。实质上,所述驱动程序在NC和服务器之间被分开,其中的每一部分执行最适于其所驻留的系统的任务。增加了一个附加的作业管理部分,用于执行在服务器上的打印图象建立任务的启动和管理在服务器和所述NC中软件之间的应答和相互作用。在打印时NC和服务器之间的网络信息流通量增加,但与本发明所提供的极大增强功能相比,这仅是一个次要问题(特别是对于其中具有有效带宽的快速链接被置于适当位置的内部网环境)。本发明还提供一个可选择的驱动功能处理的位置。The present invention overcomes the limitations of the NC device, but still allows the user to print according to the graphics capacity currently being enjoyed. Using the present invention, the problem of lack of capacity for saving intermediate data (spooling) and lack of space for building graphic images can be overcome. The difficult task of building complex bitmaps for printing is offloaded to servers with sufficient processing power and memory. Essentially, the driver is split between the NC and the server, with each part performing the tasks most appropriate for the system it resides on. An additional job management section is added for performing the initiation of print image creation tasks on the server and managing the responses and interactions between the server and the software in the NC. Increased network traffic between NC and server when printing, but this is only a minor issue compared to the greatly enhanced capabilities provided by the present invention (especially for fast links where efficient bandwidth is placed Intranet environment in place). The present invention also provides a selectable location for drive function processing.
本发明的附加优点部分如下描述,部分可从所述描述中清楚看到,或通过实践本发明可以学习到。借助于在所附权利要求中特别指出的元件和元件组合可以实现和获得本发明的优点。另外,还应当理解,前面的一般描述和下面的详细描述仅仅作为例子和解释,并不对本发明构成限制。Additional advantages of the invention are described in part hereinafter and in part will be apparent from the description, or may be learned by practice of the invention. The advantages of the invention may be realized and attained by means of the elements and combinations particularly pointed out in the appended claims. In addition, it is to be understood that both the foregoing general description and the following detailed description are by way of example and explanation only and are not restrictive of the invention.
图1的框图示出了现有技术以PC为基础的打印机驱动程序系统;The block diagram of Fig. 1 shows prior art PC-based printer driver system;
图2的框图示出了应用到网络计算机(NC)装置的传统的驱动程序系统;The block diagram of Fig. 2 shows the conventional driver program system applied to the network computer (NC) device;
图3-6的框图和处理流程涉及到本发明的打印机驱动程序系统。The block diagrams and process flows of Figures 3-6 relate to the printer driver system of the present invention.
通过参考本发明最佳实施例的下面详细描述及其附图可以更加容易地理解本发明。The present invention can be understood more readily by reference to the following detailed description of the preferred embodiment of the invention and accompanying drawings.
在披露和描述本发明的方法和装置之前,应当理解,这里所示用的术语仅仅是为了描述特定实施例的目的并非被作为限制。必须指出,作为在说明书和权利要求中所使用的,除非上下文明确指出以外,单数形式“一”和“该”也包括复数。Before the methods and apparatus of the present invention are disclosed and described, it is to be understood that the terminology shown and used herein is for the purpose of describing particular embodiments only and is not to be regarded as limiting. It must be noted that, as used in the specification and claims, the singular forms "a", "an" and "the" include plural referents unless the context clearly dictates otherwise.
尽管本发明特别适用于在结合NC情况下使用,还应当指出,所述客户/服务器打印机驱动程序系统模块并不局限于NC并可以被应用于可能期望将打印数据建立任务从请求计算机转移的情况。While the present invention is particularly suited for use in conjunction with NCs, it should also be noted that the client/server printer driver system module is not limited to NCs and can be used where it may be desirable to offload the print data creation task from the requesting computer .
如上面所指出的,本发明提供一种新的打印机驱动程序系统,该系统可以有效地用于NC。本发明将打印数据分成多个可以被进行本地处理的部分和多个由一个服务器进行处理的部分。所述服务器通常比NC更能够进行处理和具有更大的存储空间。所述服务器被用于暂存和处理,借此以减轻所述NC的负荷。As pointed out above, the present invention provides a new printer driver system which can be effectively used for NC. The present invention divides print data into parts that can be processed locally and parts that can be processed by a server. The server is usually more capable of processing and has more storage space than the NC. The server is used for temporary storage and processing, thereby reducing the load of the NC.
根据本发明,如果所述驱动程序是由诸如JAVA编程语言的平台独立语言写成的,那么,相同的驱动程序软件可以被应用在支持Java虚拟机(JVM)定义的任意NC装置上。对于这个平台独立的唯一附加要求是与作为图形和正文基本单元的源的公用API的定义。According to the present invention, if the driver is written in a platform-independent language such as JAVA (R) programming language, the same driver software can be applied to any NC device that supports Java Virtual Machine (JVM) definition. The only additional requirement for this platform independence is the definition of a common API as a source of graphics and text primitives.
本发明提供一个系统,用于使用所述客户/服务器打印机驱动程序对一个打印作业进行处理,客户/服务器打印机驱动程序用于与至少一个服务器侧计算装置进行通信的客户侧计算装置。所述系统包括一个客户侧驱动程序子系统、一个服务器侧子系统和一个与所述客户侧驱动程序子系统进行通信的装置,用于将经过处理的打印作业输出给信号处理装置。所述客户侧驱动程序子系统本身包括一个用于将所述打印作业传送给服务器侧计算装置的服务器侧驱动程序子系统的装置。所述服务器侧驱动程序子系统包括用于接收来自所述客户侧驱动程序子系统传送装置的所述打印作业的装置。所述服务器侧驱动程序子系统还包括对所述打印作业进行处理借此以建立经过处理的服务器侧打印作业的装置。所述服务器侧子系统还包括用于将经过处理的服务器侧打印作业传送给客户侧驱动程序子系统的一个装置。最后,所述客户侧驱动程序子程序还包括一个用于接收来自所述服务器侧子系统的经过处理的服务器侧打印作业的装置。The present invention provides a system for processing a print job using said client/server printer driver for a client-side computing device in communication with at least one server-side computing device. The system includes a client-side driver subsystem, a server-side subsystem, and means for communicating with the client-side driver subsystem for outputting processed print jobs to signal processing means. The client-side driver subsystem itself includes a means for communicating the print job to the server-side driver subsystem of the server-side computing device. The server-side driver subsystem includes means for receiving the print job from the client-side driver subsystem delivery means. The server-side driver subsystem also includes means for processing the print job thereby to create a processed server-side print job. The server-side subsystem also includes a means for communicating the processed server-side print job to the client-side driver subsystem. Finally, said client-side driver subroutine also includes a means for receiving a processed server-side print job from said server-side subsystem.
本发明还提供一种处理打印作业的客户服务器方法,用于与至少一个服务器侧计算装置进行通信的客户侧计算装置。这种方法包括但不局限于从所述客户侧向服务器侧计算装置传送所述打印作业的步骤。所述方法还包括在服务器侧接收来自客户侧传送装置的打印作业和在所述服务器侧对所述打印作业进行处理以建立经过处理的打印作业的步骤。然后,这个经过处理的打印作业从服务器侧传送给客户侧,并被所述客户侧接收和输出给信号处理装置。The present invention also provides a client-server method of processing print jobs for a client-side computing device in communication with at least one server-side computing device. This method includes, but is not limited to, the step of transferring said print job from said client side to a server side computing device. The method also includes the steps of receiving at the server side the print job from the client-side transmitter and processing the print job at the server side to create a processed print job. This processed print job is then transmitted from the server side to the client side, and is received and output by the client side to the signal processing device.
例如,所述信号处理装置可以是一个能够接收和打印所述打印作业的打印机。所述方法还包括在所述打印机上接收和打印所述打印作业的步骤。另外,本发明提供一种用于使用客户/服务器打印驱动程序对打印作业进行处理的系统,客户服务器打印机驱动程序用于与至少一个服务器侧计算装置进行通信客户侧计算装置。这个系统包括一个客户侧驱动程序子系统。这个子系统包括用于将所述打印作业分成一个或多个由客户侧、服务器侧或其组合进行处理的部分。另外,所述客户侧驱动程序子系统包括用于响应所述划分装置将所述打印作业的服务器侧部分传送给服务器侧计算装置的服务器侧驱动程序子系统的一个装置。所述客户侧子系统还包括一个用于对打印作业的客户侧部分进行处理借此以建立一个或多个经过处理的客户侧打印作业部分的装置。所述客户侧子系统还包括用于接收经过处理的服务器侧打印作业部分并可能将其结果与客户侧结果相结合以建立总结果的装置。For example, said signal processing means may be a printer capable of receiving and printing said print jobs. The method also includes the step of receiving and printing the print job on the printer. Additionally, the present invention provides a system for processing print jobs using a client/server print driver for a client-side computing device in communication with at least one server-side computing device. This system includes a client-side driver subsystem. This subsystem includes components for dividing the print job into one or more parts for processing by the client side, the server side, or a combination thereof. Additionally, the client-side driver subsystem includes a means for communicating the server-side portion of the print job to the server-side driver subsystem in response to the dividing means. The client-side subsystem also includes a means for processing client-side portions of the print job thereby to create one or more processed client-side print job portions. The client-side subsystem also includes means for receiving processed server-side print job portions and possibly combining their results with client-side results to create an overall result.
另外,这个系统还包括一个服务器侧驱动程序子系统,该子系统包括一个用于接收来自所述客户侧驱动程序子系统传送装置的所述打印作业的服务器侧部分的装置。服务器侧子系统还包括一个用于对打印作业的服务器侧部分进行处理并借此以建立一个或多个经过处理的服务器侧打印作业部分的装置。最后,所述服务器侧外子系统包括一个用于将一个或多个经过处理的服务器侧打印作业部分传送给所述客户侧驱动程序子系统的装置。Additionally, the system includes a server-side driver subsystem including a means for receiving the server-side portion of said print job from said client-side driver subsystem delivery means. The server-side subsystem also includes a means for processing the server-side portion of the print job to thereby create one or more processed server-side print job portions. Finally, the server-side external subsystem includes a means for communicating one or more processed server-side print job portions to the client-side driver subsystem.
所述系统还包括一个用于与客户侧驱动程序子系统进行通信的装置,用于向信号处理装置(例如打印机)输出经过处理的客户侧和服务器侧打印作业部分。The system also includes a means for communicating with the client-side driver subsystem for outputting the processed client-side and server-side print job portions to a signal processing device, such as a printer.
打印作业的客户侧部分可以对应于正文信息和所述打印作业的服务器侧部分对应于图形信息,或在客户和服务器能力基础上的其它安排。The client-side portion of the print job may correspond to text information and the server-side portion of the print job may correspond to graphics information, or other arrangements based on client and server capabilities.
另外,所述划分装置还可以包括一个用于确定在客户和服务器侧计算装置之间通信量的装置,如果该通信量位于预定阈值范围之内,对所述打印作业进行划分,借此在使客户侧和服务器侧计算装置之间的通信量最小化、存储器容量和处理器速度等的基础上,将由客户侧和服务器侧或其相结合进行处理的一个或多个部分是优选的。另外,服务器侧计算装置是一个运行于一个网络的计算机,所述网络可以是一个局域网络或因特网。In addition, said dividing means may further include a means for determining the amount of communication between the client and server side computing means, and if the amount of communication is within a predetermined threshold range, said print job is divided, whereby when using One or more portions to be processed by the client side and server side or a combination thereof are preferred on the basis of minimization of communication between the client side and server side computing devices, memory capacity and processor speed, etc. In addition, the server-side computing device is a computer running on a network, which may be a local area network or the Internet.
本发明还提供一个对打印作业进行处理的方法,用于与至少一个服务器侧计算装置进行通信的客户侧计算装置。所述方法包括但不局限于下述步骤。首先,在客户侧将所述打印作业划分成将由所述客户侧、服务器侧或其相结合进行处理的一个或多个部分。其次,从所述客户侧向所述服务器侧计算装置传送所述打印作业的服务器侧部分。然后,在所述客户侧对所述打印作业的客户侧部分进行处理借此以建立一个或多个经过处理的客户侧打印作业部分和在服务器侧接收来自所述客户侧传送装置的所述打印作业的服务器侧部分。此后,在所述服务器侧对所述打印作业的服务器侧部分进行处理,借此以建立一个或多个经过处理的服务器侧打印作业部分和在服务器侧向所述客户侧传送一个或多个经过处理的服务器侧打印作业部分。最后,在客户侧接收经过处理的服务器侧打印作业部分并将经过处理的客户侧和服务器侧打印作业部分输出给信号处理装置(例如打印机)。The present invention also provides a method of processing print jobs for a client-side computing device in communication with at least one server-side computing device. The method includes but not limited to the following steps. First, the print job is divided on the client side into one or more parts to be processed by the client side, server side, or a combination thereof. Second, transmitting the server-side portion of the print job from the client-side to the server-side computing device. The client-side portion of the print job is then processed at the client-side thereby to create one or more processed client-side print job portions and receives at the server-side the print from the client-side delivery device The server-side portion of the job. Thereafter, the server-side portion of the print job is processed at the server-side, thereby creating one or more processed server-side print job portions and transmitting one or more processed server-side print job portions at the server-side to the client-side The server-side print job portion of the process. Finally, the processed server-side print job parts are received at the client side and the processed client-side and server-side print job parts are output to a signal processing device (eg a printer).
所述信号处理装置可以是一个能够接收客户侧和服务器侧打印作业并打印所述打印作业的一个打印机。所述打印作业的客户侧部分可以对应于正文信息和所述打印作业的服务器侧部分可以对应于图形信息,或其它的逻辑安排或任务的划分。另外,客户侧和服务器侧部分可以分别涉及“低”/“中”和“高”质量部分。如在下面的例子中示出的,可以具有多个客户侧或服务器侧部分,因此,只借助于举例,所述“低”和“中”质量部分应当被本地分开进行处理,见例如图6。The signal processing means may be a printer capable of receiving client-side and server-side print jobs and printing the print jobs. The client-side portion of the print job may correspond to text information and the server-side portion of the print job may correspond to graphics information, or other logical arrangement or division of tasks. Additionally, the client-side and server-side parts may relate to "low"/"medium" and "high" quality parts, respectively. As shown in the example below, there can be multiple client-side or server-side parts, so, by way of example only, the "low" and "medium" quality parts should be processed separately locally, see e.g. Figure 6 .
此外,所述划分步骤还包括确定在所述客户和服务器侧计算装置之间的通信量,如果所述量位于预定阈值范围之内,基于客户侧和服务器侧计算装置之间通信量最小化、处理速度、RAMH和永久缓冲存储等对所述打印作业进行划分,使一个或多个部分被客户侧、服务器侧或其相结合进行处理是优选的。In addition, said dividing step further includes determining the amount of communication between said client and server side computing devices, if said amount is within a predetermined threshold range, based on minimizing the amount of communication between the client and server side computing devices, Processing speed, RAMH and permanent buffer storage etc. Divide the print job such that one or more parts are processed by client side, server side or a combination thereof is preferred.
下面的例子试图对本专业技术领域内的技术人员提供一个完整的披露,并对如何构成、使用和评价本系统进行描述,作为本发明的纯粹示例而不是作为列本发明的发明人的发明范围的限制。试图保证关于数量(例如所述量等)的精度,但某些误差和偏差可能发生。The following example attempts to provide a complete disclosure to those skilled in the art, and describes how to construct, use and evaluate the system, as a pure example of the present invention rather than as a list of the scope of the inventor's invention of the present invention limit. Attempts are made to ensure accuracy with respect to quantities (eg, amounts stated, etc.), but some errors and deviations may occur.
例子example
例1:example 1:
在一个实施例中,客户/服务器打印模块运行如下(在NC的上下文中)(见图3)。下述功能是由服务器300处理的:1)应用程序服务,通信和数据存储;2)打印作业假脱机处理350;和3)打印数据建立360。下述功能是由NC310处理的:1)请求打印的应用程序330的运行;2)作业管理和用户接口(“JMUI”)控制380;3)打印机用户接口340;和4)打印格式化370。打印机装置320通常被连接到NC310,如图所示。但是,利用本发明系统通过简单地将格式化的打印数据370重新定向到适当的通信信道和输出装置上可以很容易地进行网络打印。In one embodiment, the client/server printing module operates as follows (in the context of the NC) (see Figure 3). The following functions are handled by the server 300: 1) application service, communication and data storage; 2) print job spooling 350; and 3) print data creation 360. The following functions are handled by NC 310: 1) execution of application programs 330 requesting printing; 2) job management and user interface ("JMUI") control 380; 3) printer user interface 340; and 4) print formatting 370. A printer device 320 is typically connected to NC 310 as shown. However, network printing is readily available using the system of the present invention by simply redirecting the formatted print data 370 to the appropriate communication channel and output device.
在NC310请求的基础上,服务器300提供可由NC310执行的应用程序330并加以运行。运行应用程序330的NC310产生打印请求。这个请求被本地地提供给NC310和作业管理和用户接口控制子系统380。这个子系统380是打印机驱动程序100的一部分。JMUI子系统380了解打印机用户接口340,它向所述系统的用户提供了一个用户接口。子系统380经过一个网络(未示出)将所述打印请求传送给服务器300。在服务器300一侧,所述打印请求被假脱机处理操作350并在远离NC310的地方建立打印数据(一般的位图象)360。最后,打印数据被从服务器300返回到NC310,并在这里执行最终的打印格式化370。对于NC310是本地(或经过网络附着)的打印装置320接收被格式化的数据并打印所述作业。The server 300 provides and runs the application program 330 executable by the NC 310 upon request from the NC 310 . NC 310 running application program 330 generates a print request. This request is provided locally to NC 310 and job management and user interface control subsystem 380 . This subsystem 380 is part of the
很明显,这个系统不再需要所述NC提供用于假脱机处理打印作业的本地存储器和存储空间。该系统还减轻了所述NC不得不分配处理和存储器资源以建立实际打印数据的负担。Obviously, this system no longer requires the NC to provide local memory and storage space for spooling print jobs. The system also relieves the NC from having to allocate processing and memory resources to create the actual print data.
例Ⅱ:Example II:
在另一个实施例(图4)中,本发明提供了一种用于NC的客户/服务器打印系统,在这个模型中,打印数据的特征在于打印驱动程序100的NC410部分和只有那些需要复杂、远程处理的所述打印作业部分被传送给服务器400。因此,简单的打印数据建立任务被进行本地处理。这个系统对没有使所述NC过载的打印作业的那些部分提供有效的本地处理。在这种情况下,依据可以获得的资源,所述作业部分可以在NC和服务器之间在“每页”、“每个频带”、“每行”、“每个作业”或其它基础上进行分割。就上述NC客户/服务器打印驱动程序模型来讲,所述打印作业的复杂部分是远程进行处理的。当根据简单和复杂打印作业来描述本系统时,这种分配不是绝对的。例如,工作标准(labor criteria)的划分能够以可得到的存储器(RAM)、永久性存储器和页面定向等为基础。In another embodiment (FIG. 4), the present invention provides a client/server printing system for NC. In this model, print data is characterized by the NC410 portion of the
特别是,系统如在例I中所述运行,但具有下述变化。首先,JMUI控制子系统480试图提供一个附加的功能。具体地说,JMUI子系统480现在能够确定所述应用程序打印作业是比较简单(例如,具有较小存储器需要的文本)还是比较复杂(例如具有较大存储器需求的图形)。JMUI子系统480将复杂部分传送给服务器400以用于假脱机处理450打印数据建立460。JMUI子系统480在NC410处保持简单部分以用于本地打印数据建立465。最后,打印格式化470处于JMUI子系统480的控制之下,借此使JMUI子系统480能够监视必要的状态和页位置信息482,从而保证最后的打印机420的输出表示来自在服务器400和NC410(客户)侧上处理的数据部分的完整的页数据。由此,JMUI482在将命令传送给打印装置420本身之前负责重建所述打印数据。在这个例子中,只有复杂部分被传送给服务器400并在这里被假脱机处理450和处理460。In particular, the system was run as described in Example I, with the following changes. First, the
例Ⅲ:Example III:
另外,在另一个例子(图5)中,来自NC510应用程序530的所有打印作业都被直接传送给服务器500用于假脱机处理550。在这个实施例中,JMUI子系统580然后接收来自服务器500的被进行假脱机处理的作业,确定复杂程度585,并在该确定的基础上分配打印数据建立(560或565)。对于简单打印作业,本地建立所述数据565,但是,对于复杂打印作业,服务器500打印数据建立系统560反过来参考552被进行假脱机处理的打印作业550(还是在服务器500一侧)并使用它建立与包括打印行562或其它数据在内的复杂数据对应的打印数据560。系统的其余部分与上述相同。Also, in another example ( FIG. 5 ), all print jobs from
例Ⅳ:Example IV:
另外,在其它的例子中,本发明还提供了一个适用于与NC一起运行的客户/服务器打印驱动程序系统。这个实施例基本示于图6。Additionally, in other examples, the present invention provides a client/server print driver system adapted to operate with an NC. This embodiment is shown substantially in FIG. 6 .
对于全球因特网,由于每个打印译码都需要进出所述因特网,所以,来自NC打印请求的附加通信流量是一个障碍。作为对先前例子的加强,提供了下述例子,这些例子将某些基本的(文本和简单数据块图形)驱动程序图象功能返回到NC610。本地地执行标准打印,不需要LAN或因特通信,因此可以很快。另一方面,服务器600包含驱动程序100的一部分,这个部分被用于建立复杂图形图象。For the global Internet, the additional traffic from NC print requests is a hindrance since every print decoding needs to go in and out of the Internet. As an enhancement to the previous examples, the following examples are provided which return some basic (text and simple data block graphics) driver image functionality to the NC610. Standard printing is performed locally, does not require LAN or Internet communication, and can therefore be very fast. On the other hand, the
服务器600将应用程序630装载到NC610中。希望进行打印的NC610应用程序630建立一个以具体本地连接的打印机620或远程打印机(未示出)为目标的打印对象(例如GDI命令)。驱动程序100取出所述数据并在数据类型的基础上确定如何建立打印图象以及向消费者提供用户接口640。为了在打印过程中使网络延时的影响最小,简单对象(文本、数据块图形)的存储和打印数据建立被本地进行665,但由于服务器600具有处理大量数据的足够的永久性存储器和处理能力,所以,比较复杂图形660的存储和建立是在服务器600处进行的。甚至对智能应用程序这样做也许是可行的,即将指向可以存储在假脱机处理数据650中的复杂位图和其它图形的指针或索引传送给驱动程序,而不是所有的数据。在数据复杂程度的基础上,应用数据可以被传送给假脱机程序650或局部NC,从而使复杂的大数据块决不会被下加载到NC上,直到它们被格式化以用于打印为止。下面将详细解释当前实施例的驱动程序部分。The
一旦接收数据进行打印,数据经常被存储650(在服务器600处的假脱机操作)以允许用户较块地返回到应用程序630(如果数据量非常少,可以省略这个步骤)。驱动程序的作业管理部分680选择将被打印的数据部分,通常是由被称之为带的多个打印行识别的页部分。这个部分识别甚麽样的打印对象位于这个打印带内,然后由所述服务器600管理与这个带相关的打印图象数据的建立、选择用于简单文本的局部图象建立或启动复杂图形数据的建立。服务器600以与请求打印带相关的图形图象数据作为响应。这个图形数据668然后与任一本地显影的文本或其它数据(来自665)相结合建立打印带数据670。利用打印格式化程序670就打印机机械、电子特性(布线、间隔、时序)等对这个打印带数据进行校正。随后传送给打印机装置620。Once data is received for printing, the data is often stored 650 (spooled at server 600) to allow the user to return to the
通过分割在NC和服务器之间的驱动程序图象显影,非常简单的、比较便宜的打印机能够打印用户所希望的、利用NC装置的有限处理能力所不能打印的复杂图形。另外,简单打印不受因特网络延迟的限制或延迟。By splitting the driver image development between the NC and the server, very simple, relatively inexpensive printers can print complex graphics desired by the user that cannot be printed with the limited processing power of the NC device. Plus, simple printing is not limited or delayed by Internet latency.
参看图6,服务器600被用于存储文件数据、NC应用程序、NC打印机驱动程序软件、打印假脱机操作存储程序和标准的图象/字型(“I/F”)技术。服务器600计算机能够产生适当的打印数据,并能够将所述打印图象传送给远程打印机或NC610本地的打印机。NC610负责以运行要求文件数据的应用程序,请求适当打印驱动程序的加载、JMUI控制682(包括打印机用户接口640)、确定打印质量、将所述打印作业数据传送给适当的局部NC I/F技术(通常来自应用程序本身或来自增强的本地接口)或传送给用于它的I/F技术的所述服务器,并在需要时执行局部打印数据的建立,并重组用于最后同化的客户侧和服务器侧打印数据部分,并输出给附着到所述NC610上的打印机装置620(或将所建立的打印数据加载到服务器600、网络或其它用于远程打印或处理的装置上)。Referring to FIG. 6, a
客户/服务器打印驱动程序系统运行如下。文档数据605被从服务器600加载到NC610或由用户通过使用客户侧操作应用程序630产生。作为NC系统的标准特性,这个应用程序软件630本身可以被从服务器600下载607。然后,NC610运行所述应用程序630,对文档数据605进行访问。当应用程序630的用户请求打印文档数据605时,应用程序630将文档数据605传送到NC侧打印机驱动程序加载模块632。这个模块632确定加载哪种类型的驱动程序634,然后请求服务器600将适当的驱动程序软件634传送给客户610。这个驱动程序软件634被用于管理所述打印处理的剩余部分。The client/server print driver system operates as follows. The
在一个实施例中,所述眼务器600以及客户610打印驱动程序100子系统可以得到在所述应用程序中的文档数据605。因此,在所述应用程序630发出打印请求的基础上,在一个实施例中文档数据605被自动地传送给服务器600上的假脱机操作存储器650。另外,只有在所述打印装置的服务器部分被激活的情况下,这个传输才能够发生。In one embodiment, the
一旦所述驱动程序软件634被装载,打印机驱动程序软件的JMUI子系统680被激活。JMUI子系统680与打印机用户接口640被集成在一起并执行一系列功能。首先,JMUI子系统680确定文件数据605是需要“高”、“中”或“低”质量(复杂程度)处理685。现有技术中的一个技术人员应当能够认识到“高”、“中”或“低”质量的确定是任意的,还应当认识到在不违反本发明的基本和新颖特征的基础上能够进行进一步和不同的区别。也可以使用其它的标准在客户和服务器之间分离所述打印作业,包括大小、复杂程度、数据类型等。JMUI子系统680能够监视服务器侧处理任务以及NC本地打印任务672。最后,JMUI子系统680能够指示所述服务器600是到NC局部打印机装置664或远程打印机装置662进行打印。Once the
在所述驱动程序确定打印质量685之后,JMUI子系统680将所述文件数据传送给适当的图象/字型(I/F)子系统(652、654、656或658)。I/F子系统将文本和图形数据译码成在所述页上的位置以作为位图象光栅。在一个实施例中,可能的I/F子系统包括但不局限于:1)应用程序I/F技术658,2)增强的NC本地I/F技术656,3)增强的服务器侧I/F技术,4)标准的服务器侧I/F技术。例如,“低”质量作业是由应用程序I/F技术658处理的,而“中”质量作业是由增强的NC本地I/F技术656处理的。最后,“高”质量作业可以参考标准的服务器侧I/F技术652。另外,JMUI子系统680可以进一步确定任一作业的某些或全部在服务器600上由增强的服务器侧I/F技术654进行处理。在任一事件中,适当的I/F子系统负责在其输入端上打印数据的建立。另外,可以根据驱动程序的类型确定“低”、“中”和“高”质量。After the driver determines the
在服务器600侧,从假脱机操作存储器650中提取文档数据。在NC610或客户侧,利用直接来自应用程序630的I/F子系统(650或658)装载所述文档数据。各种I/F子系统负责打印数据的建立。NC610负责重组客户侧和服务器侧来自I/F子系统的打印数据670并将其格式化用于向打印装置620输出。但是,当JMUI子系统680指出所希望的是远程打印662时,服务器建立的打印数据660被传送给服务器600,在这里,最后的打印数据被传送给适当的远程打印机(未示出)。On the
这个实施例提供了用于打印假脱机操作的服务器电源并允许在比整个本地NC系统更高质量地进行处理。另外,通过允许对文本和简单图象进行本地处理,(从NC到服务器的)LAN流量被大大减少。但是,如果需要或希望以增力LAN流量为代价,那么,这些实施例也能够进行高质量(复杂)打印。This embodiment provides server power for print spooling and allows processing at higher quality than the entire local NC system. Additionally, LAN traffic (from the NC to the server) is greatly reduced by allowing local processing of text and simple images. However, these embodiments are also capable of high quality (complex) printing if needed or desired at the expense of increased LAN traffic.
对本专业技术领域内的技术人员来讲很明显,在不脱离本发明精神和范围的情况下可以做出各种修改和变化。根据本发明这里所披露的说明和实践,本发明的其它实施例对于上述技术人员来讲是很明显的。因此,上述的说明和例子仅仅是用于举例性质的,下述权利要求指出了本发明真正的范围和精神。It will be apparent to those skilled in the art that various modifications and changes can be made without departing from the spirit and scope of the invention. Other embodiments of the invention will be apparent to those skilled in the art from consideration of the specification and practice of the invention disclosed herein. Therefore, the foregoing description and examples are given by way of illustration only, with the true scope and spirit of the invention indicated by the following claims.
Claims (30)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN 98126981 CN1224202A (en) | 1997-12-16 | 1998-12-16 | Client/server printer driver system |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US991380 | 1997-12-16 | ||
| CN 98126981 CN1224202A (en) | 1997-12-16 | 1998-12-16 | Client/server printer driver system |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN1224202A true CN1224202A (en) | 1999-07-28 |
Family
ID=5229832
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN 98126981 Pending CN1224202A (en) | 1997-12-16 | 1998-12-16 | Client/server printer driver system |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN1224202A (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN104348886A (en) * | 2013-08-08 | 2015-02-11 | 联想(北京)有限公司 | Information processing method and electronic equipment |
-
1998
- 1998-12-16 CN CN 98126981 patent/CN1224202A/en active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN104348886A (en) * | 2013-08-08 | 2015-02-11 | 联想(北京)有限公司 | Information processing method and electronic equipment |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6003069A (en) | Client/server printer driver system | |
| JP3290410B2 (en) | Print rendering server and program product for print rendering server | |
| EP0864964B1 (en) | Printer driver switching in windows operating systems | |
| US6456388B1 (en) | Printer enclosing network computer and computer network system employing the same | |
| US6369907B1 (en) | Network system, printer, and information memory medium | |
| US20020018234A1 (en) | Printer driver system for remote printing | |
| US5982997A (en) | Data stream protocol for immediate job switching | |
| US20100146127A1 (en) | User-mode based remote desktop protocol (rdp) encoding architecture | |
| CN1622028A (en) | Distributed peripheral device control system and method | |
| JP2007514236A (en) | A system that sends documents and resources to a printer | |
| EP1122634A1 (en) | Network system and network interface card | |
| US6407823B1 (en) | Network system, information processing device and information memory medium | |
| US20030011819A1 (en) | Information processing device, information processing method, printing system, computer program and memory medium | |
| US6392758B2 (en) | Wait-band alleviation via host-PC buffering | |
| US7643160B2 (en) | Spool file modifying device | |
| CN1093960C (en) | Method and apparatus for adaptive adjustment of cache altocation for storage of font data by super-high-speed buffer registor | |
| CN1224202A (en) | Client/server printer driver system | |
| EP1205876B1 (en) | Page rendering in a digital signal processor | |
| US20040075859A1 (en) | Printer instruction processing | |
| JPH11143656A (en) | Printing system, data processing method of printing system, and storage medium storing computer readable program | |
| US20040263892A1 (en) | Information processisng apparatus, information processing method, and control program | |
| JP2003022172A (en) | Print server device and control method thereof | |
| JP4006068B2 (en) | Information processing apparatus, information processing method, and storage medium storing computer-readable program | |
| JP2004127310A (en) | Network system, printer and information storage medium | |
| JP4174547B2 (en) | Information processing apparatus, information processing method, and storage medium |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| C06 | Publication | ||
| PB01 | Publication | ||
| C10 | Entry into substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
| WD01 | Invention patent application deemed withdrawn after publication |