在网络中使用共享资源的方法和装置的制作方法

文档序号:6375123阅读:156来源:国知局
专利名称:在网络中使用共享资源的方法和装置的制作方法
技术领域
本发明涉及由连接在网络中的客户使用网络中的共享资源的技术。具体而不排他地说,该技术是为将打印作业从客户直接传送到网络中的打印机而设计的。
更具体地说,本发明涉及一种用于由服务器控制并监视来自连接在网络中的客户的作业向共享资源传送的方法;一种用于执行控制并监视使用的所述方法的计算机程序产品;一种含有执行控制并监视所安装的共享资源的使用的所述方法的所述计算机程序产品的服务器;一种客户使用网络中共享资源的方法;一种用于执行使用共享资源的所述方法的计算机程序产品;一种含有用于执行使用所安装的共享资源的所述方法的所述计算机程序产品的客户;以及含有多个所述客户终端和至少一个所述服务器的网络。
现有技术网络的常规打印系统基于将打印作业存储在服务器上的原理,这涉及由网络中的客户将每个打印作业发送到打印服务器,而打印服务器接收打印作业,处理打印作业并进一步将其发送到打印机以进行打印。


图1中,示出此类网络的一个实例。该网络包括多个客户或用户计算机101,它们连同多个打印机103连接在客户网络105中。客户网络105又连接到服务器网络107,可选地通过路由器109。除了包括其他装置,该服务器网络107包括多个中央打印服务器111,这些中央打印服务器监视并控制来自客户101的打印作业,并将其发送到打印机103。
客户将打印作业发送到打印服务器111之一,如箭头113所示。所发送的数据量通常是客户本地硬盘驱动器上对应文件的三倍。当打印作业到达打印服务器111时,在本地将该打印作业以假脱机方式缓存到打印服务器的硬盘驱动器上,这需要占用服务器上的存储空间。当打印服务器111已将打印作业缓存到当前打印队列(即所选打印机的队列)中,并且正好轮到当前打印作业打印时,打印服务器111将打印作业发送到所选打印机进行打印,如箭头115所示。
如图1所示,打印作业未以最短距离发送到打印机,而是通过打印服务器111绕道而行。
WO 99/38068描述了一种用于打印作业的作业令牌打印机指配系统,其中,客户向打印服务器发送令牌,该令牌含有待打印的打印作业的简要信息。打印服务器对该令牌进行分析,确定适用于该打印作业的打印机,并将选定的打印机令牌发送给该客户,该选定打印机令牌含有所选打印机的网络地址和名称。该客户然后将打印作业连同所选打印机令牌一起发送到适合的打印机。这样,打印服务器将该打印作业指配给适合的打印机进行打印。
发明概述本发明的发明人已经意识到,使用打印服务器的上述概念存在的问题是,每个打印服务器可以处理的打印队列的数量和打印作业的数量受限于服务器存储器数量、处理能力和存储空间。当打印服务器负载严重时,对打印作业的处理会较慢。
大型网络需要大量打印服务器,这使硬件、软件和运行维护方面的成本大大增加。
已知打印服务器概念存在的另一个问题是,要在网络上发送打印作业两次一次从计算机到打印服务器,而另一次从打印服务器到打印机,才能执行打印。这意味着尤其在大型网络或打印频率很高的网络中对带宽的需求会增加,这可能非常苛刻,因而非常昂贵。
WO 99/38068所述的作业令牌打印机指配系统的确解决了在网络上发送打印作业两次的问题。打印服务器不必对大型打印作业进行假脱机缓存,而只需识别包含在来自客户的令牌中的特征,并将该打印作业指配给适合的打印机。不过,WO 99/38068中所述的系统涉及的是一种适用于出版编辑之类的系统,其中要执行大量书籍等的打印工作而不需要有关打印的灵活性。例如,WO 99/38068中所述的系统不允许客户选择打印机,并且无法随时分析所选打印机以查看它当时是否具有打印能力。该系统既不根据打印作业在不同队列中的进度情况处理打印队列,又不根据该进度情况控制打印。再者,它也无法处理同时来自客户的多个打印作业,无法监视打印作业的实际执行情况(尤其是打印作业是否完成/何时完成)。
此外,本发明的发明人已认识到,类似的问题一般会在网络上使用共享资源时发生。例如,如果设备要将数据存储在网络上的数据存储介质(例如CD或DVD刻录机(写入器))中,而应向该共享资源发送作业以进行刻录时,可能要从类似于上述打印服务器的服务器进行控制并监视,这会导致相同类型的问题。或者,共享资源以一次只允许一个客户使用该资源,完全不存在队列的形式连接在网络中。
因此,本发明的目的在于提供一种技术,用于将来自连接在所述网络中的客户的作业传送到连接在所述网络中且由所述客户选择的共享资源,具体如打印机、电传装置、投影机或用于在存储介质上存储数据的设备,而又不存在上述问题和局限。
在此方面,本发明的一个具体目的在于,提供一种技术,这种技术用于直接且灵活地传送来自连接在所述网络中的客户的作业,而不会有丢失作业的风险。
本发明的另一个目的是提供一种简单、稳健且可靠的技术。
本发明的另一个目的是提供一种技术,这种技术采用最少的硬件和软件,同时可以在大型网络和所述共享资源利用率很高的网络中处理作业。
因此本发明的另一个目的在于提供一种技术,这种技术采用由服务器控制并监视将来自连接在网络中的客户的作业传送到连接在所述网络中且由所述客户选择的共享资源的方法,用于执行所述方法的计算程序产品,安装有该计算机产品的服务器和客户终端以及包括所述服务器和客户终端的网络。
上述这些目的根据本发明通过根据所附权利要求的方法、计算机程序产品、服务器、客户终端和网络来实现。
采用基于票据的中央服务器系统来控制客户及其向共享资源的作业传送。该技术是独特的,因为控制作业流的程序同时存在于客户和中央票据服务器上。这些程序启动并停止客户对共享资源的使用,而作业流由票据服务器控制。
该服务器为作业指配唯一的标识,并将该唯一标识通知给客户。由此,客户可以启动几个要由共享资源执行且彼此紧密相继的作业,这些作业分别由所述票据服务器处理。
所述票据服务器从所述客户接收对相应作业已由所述共享资源成功完成的确认或对所述共享资源尚未成功完成该作业的指示,然后从所述队列中删除对应的请求。
最好在客户使用共享资源期间不断更新有关所述共享资源完成作业情况的状态信息,其中,所述票据服务器没有这种更新状态信息指示所述客户上发生操作错误或所述客户与所述票据服务器之间的通信中发生通信错误。这将触发所述票据服务器检查该状况并关注所述问题,或者变更所述作业和/或共享资源的状态。可以作业可以从队列中删除,也可不删除。所述服务器可以安装有定时器,其中,不同的延迟时间可以触发不同的操作。
通过采用基于票据的系统,网络的利用率受到很大限制,这与使用网络两次的情况相反。
本发明的技术还减轻了中央服务器上的负载,因为客户处理使用并将数据直接发送到共享资源,而不是将数据发送到服务器,然后再由服务器将该数据转发到共享资源。
此外,所述基于票据的概念还涉及提高变更作业优先级的能力。例如,如果作业在获得许可之前被中断,则该作业完全无需发送到网络上-这与现有技术相反,在现有技术中,总是会从客户将打印作业传送到打印服务器。
所提出的概念还可以利用现有客户上的过剩能力和并行处理能力,所述客户通常为个人计算机。在许多大型办公环境中,强大的个人计算机被用于简单的处理操作,如电子邮件处理、字处理和因特网浏览。这些计算机非常适合于与票据服务器进行后台通信,并在得到票据服务器的许可时启动向共享资源的作业传送。
通过随后给出的对本发明优选实施例的详细说明和附图,将会明白本发明的其他优点和特征,这些实施例和附图仅作为示例给出,因此不对本发明构成限制。
附图简介图1示意性地示出实施现有打印技术的网络。
图2示意性地示出实施本发明实施例的网络。
图2的概述2-1客户向打印服务器发送请求在一选定打印机上打印某个作业ID的请求。
2-2票据服务器在实时数据库中存有关于打印机状态的所有信息,如果所选打印机在网络上已激活,则票据服务器向该客户发送作业ID。
2-3客户接收其作业ID,并在该打印机上执行打印。
2-4在客户和票据服务器之间至多发送20kb的数据。
图3-7是说明本发明优选实施例的不同方面的流程图。
图3的概述3-1发送序列、DLL版本、打印驱动程序版本、打印机名称、用户名和用户域。
3-2检查步骤1中接收的信息,以查看是否某信息项太旧或该用户是否可以利用打印服务,转至步骤4。
3-3将步骤1中接收的数据放在数据库中,提取SQL服务器生成的唯一值并将其回送给客户。
3-4读取错误代码并检查必须关注的问题,如果某信息项的版本太旧,则提取较新的版本。在执行该更新操作之后,请求用户再次进行打印。
如果该用户无权在所选打印机上打印,则用户可能必须执行交互式选择,其中,用户可以选择必须如何处理打印取消或转移到另一个打印机。
3-5接收作业ID。
3-6.发送序列、IP地址、页数、打印作业的大小、作业标识、前端纸张版本和配置文件版本。
3-7处理数据。
3-8.更新数据库中打印作业的信息,向客户发送确认。
3-9.用户是否无访问权?3-10.给予用户将打印作业转移到另一个打印机或完全取消该作业的可能性。如果用户选择将打印作业转移到另一个打印机,则客户必须从步骤1重新开始。
3-11.客户版本是否太旧?3-12.提取该客户的新版本,如果该客户作为一个服务运行,则该客户需要重启。
3-13.打印驱动程序版本太旧,更新打印驱动程序并启动客户。
3-14.如果非NAT,则关闭TCP/IP连接。
图4的概述4-1.发送序列、作业ID、请求取消打印作业的错误代码。
4-2.处理数据。
4-3.从数据库取消打印作业并告知客户取消作业。
4-4.从磁盘/存储器中取消作业。
图5的概述5-1.服务器请求中断打印作业。
5-2.将数据库中打印作业的状态变更为“中断”。
5-3.向客户发送序列以请求取消打印作业。
5-4.取消打印作业并告知打印机已从客户取消作业。
5-5.处理数据。
5-6.从数据库取消打印作业。
图6的概述6-1.从(按次于最旧作业,然后再按优先级排序的)打印队列提取第一作业。
6-2.突出显示要打印的作业。
6-3.告知客户开始打印,要传送的信息是序列号、作业ID、打印机IP地址和将用于打印的功能。
6-4.打印是否可以开始?6-5.处理数据。
6-6.将作业的状态变更为“正在打印”。
6-7.尝试次数是否大于允许的最大尝试次数?6-8.等待预定秒数,转至步骤4。
6-9.向服务器发送错误代码。例如客户无法连接到打印机。
6-10.处理数据。
6-11.根据从客户接收到的信息更新数据库中的信息,由控制打印机的守护程序检查打印机。
6-12.打印是否可以在打印机无任何错误的情况下执行?6-13.处理数据。
6-14.将打印作业的信息移至数据库中单独的表中,以便稍后可以将其用于生成统计数字以及可能的清单信息。
6-15.向服务器发送错误代码。
6-16.处理数据。
6-17.更新数据库中的信息,将作业突出显示为已失败,由控制打印机的守护程序检查打印机。
图7的概述7-1.队列是否已停止操作?7-2.通知技术支持机构。
7-3.通知所有在未工作打印机上有打印作业在等待的客户。
7-4.向客户显示对话框,在对话框中,客户可以选择取消该作业、将该作业转移到另一个打印机或等待该打印机再次工作为止。
7-5.该客户是否希望删除该作业?7-6.处理数据。
7-7.从数据库取消作业。
7-8.客户要将该作业转移到另一个打印机?7-9.客户有权在所选打印机上执行打印?7-10.所选打印机是否激活?7-11.客户等待打印机再次工作。
7-12.将打印作业转移到选定的队列。
7-13.告知用户用户无权在所选打印机上执行打印,从步骤4重新开始。
优选实施例下文中为说明而非限制目的给出了一些具体细节,如特定应用、技术和方法等,以便透彻地理解本发明。但是,本领域技术人员显然容易明白,本发明可以在偏离这些特定细节的其他实施例中实施。在其他实例中,省略了对一些熟知的方法、协议、设备或电路的详细描述,以免不必要的细节使本发明描述不够清楚。
以下描述分成五个不同的部分,第一部分概述根据本发明优选实施例,在网络上直接进行打印的技术的主要特征。随后分别是对票据服务器和客户的优选实施例的详细说明。之后,描述根据本发明,用作共享资源的打印机的不同替代选择。最后列出本技术的多个优点。
1.对根据本发明优选实施例在网络上直接进行打印的技术的概述在图2中,示出了一个网络实例,其中实施根据本发明的打印技术。该网络包括多个客户或用户计算机201,它们连同多个打印机203连接在客户网络205中。客户网络205又连接到服务器网络207,可能要通过路由器209。服务器网络207包括票据服务器211,此服务器监视并控制打印机203上来自客户201的打印作业。
这些打印作业按如下所述执行。希望在选定打印机上执行打印的客户向打印服务器211发送请求,获得许可以在该打印机上执行打印作业。如果打印机可用且已激活,即它可以接收打印作业,则票据服务器211向客户发送进行许可信号,接收到该进行许可信号的客户将打印作业直接发送到所选打印机以进行打印。为此,票据服务器211监视打印机,并因此具有打印机是否激活的信息,以及它是否被来自网络上同一个或另一个客户的打印作业占用的信息。
如果打印机已被占用,则由票据服务器211该请求置于队列中。持续地更新该队列,当上述打印作业是要打印的下一个作业时,票据服务器211向该客户发送进行许可信号,以便该客户可以直接将打印作业发送到打印机进行打印。
在图2中,双向箭头213指示票据服务器211与客户201之一之间的信号传送,而箭头215指示打印作业从客户向所选打印机201传送。
为打印作业指配一个标识,并将其发送到客户,以便客户可以将该标识与打印作业相关联。这样,当票据服务器211向客户发送进行许可信号时,其中含有该标识,以便客户可以向打印机发送正确的打印作业(如果客户有多个打印作业需要执行)。可以向票据服务器211回送对客户已接收到指配标识的确认。
此外,当客户接收到打印进行许可信号时,客户也可以向票据服务器211发送确认。该确认还可以包含客户已经发送或将要发送打印作业的指示。当打印作业完成时,可以从客户向票据服务器211发送另一个确认,或如果打印作业未成功完成,则可以从客户向服务器发送对此的指示,然后服务器可以从队列中删除请求。
最好,在打印处于工作状态的同时,不断地,特别是定期地从客户向票据服务器211发送有关打印作业完成情况的更新状态信息,其中,如果票据服务器211中没有此类更新状态信息(即如果已超过两次状态更新之间的时间),则表示发生客户操作错误,或者在客户和票据服务器211之间的通信中发生通信错误(程序错误或网络错误)。这触发上述票据服务器检查该状况(例如检查打印机),并关注该问题或变更作业和/或打印机的状态。作业可以从所述队列中删除,也可以不删除。所述服务器可以安装有定时器,其中,不同的延迟时间触发不同的操作。如果指示错误,则通知系统管理员。
此外,可以将有关打印机状态的信息从票据服务器211传送到客户,以使客户保持更新。下文将就此作进一步的说明。
在客户和票据服务器之间传送的数据量通常最多为20kb(如在本申请人开发的版本中,下面将对此予以详述),这创建了节省很多带宽,同时将票据服务器211集中在网络一个地点上(即便该网络很大)的可能性。
2.票据服务器优选实施例的详细说明下文将详细描述根据本发明,用于控制并监视从客户向打印机传送打印作业的票据服务器。注意,在本部分和后一部分中,描述了本发明的功能以及服务器与客户之间的通信。在适当的地方,在括号中标出对图3-7中流程图的引用(流程图中的步骤由对应于图中编号加短划线和序号的标记表示)。
票据服务器包括如下部分□计算机□数据库□从客户接收打印作业请求的程序□处理打印队列的程序□检查打印机状态的程序或服务器守护程序□使文件和打印机可供Window、OS/2和DOS客户共享的软件□用于在多个票据服务器之间复制数据的程序。
下文中,假定网络是基于TCP/IP的网络。在经过修改之后,本发明显然适用于任何类型的网络。
打印第一阶段(图3)客户执行打印初始化。当票据服务器从客户接收到含有打印作业请求的消息时,票据服务器从客户接收到了如下数据(步骤3-1)□序列号□客户版本号□操作系统□打印机驱动程序版本□打印机名称□用户域□用户名当服务器已读取客户发送的信息时,对该客户数据库执行无错检查,即根据如下规则检查信息(步骤3-2),如果有错,则生成错误代码(步骤3-4和步骤3-9和步骤3-13)。
检查接收的数据是否完整。如果不完整,则将错误代码发送到请求信息的客户。如果客户软件太旧,则可以强制客户升级它的客户软件。在这种情况中,要发送与此对应的错误代码。此外,还检查客户正在使用的打印机驱动程序是否在某种意义上不合适,例如,检测是否在该驱动程序中发现错误之类的缺陷,以便立即加以更改。如果的确发现错误,则发送与此对应的错误代码。最后,检查用户是否有权在打印机上打印(步骤3-9)。如果情况并非如此,则将错误代码发送到客户,提示选择另一个打印机。
如果要发送错误代码,则根据如下方式发送□序列号(对应于将要发送的错误代码)□错误代码记录该错误,并且打印尝试通常不会使服务器的部分采取任何进一步的动作,但客户必须生成新的打印尝试。
如果所有信息都是正确的,则服务器将信息输入数据库中,并从数据库接收唯一的标识符(步骤3-3)。此标识符用在客户与服务器之间的后续通信中。还以该标识符“标记”打印作业,以便客户知道所涉及的是哪一个打印作业(因为客户必须能够同时处理几个打印作业,客户必须具有每个打印作业的标识符,以防止将不正确的打印作业发送到不正确的打印机}。
标识符按如下序列回送给客户□序列号□作业ID(上述标识符)。
当客户接收到上述序列(步骤3-5)时,它回送更详细地描述打印作业的数据(步骤3-6)。从客户接收的信息有□序列号
□客户的IP地址□页数□字节数(打印作业的大小)由服务器处理接收数据(步骤3-7),并在数据库中更新该打印作业的信息(步骤3-8)。
发送客户的IP地址,以供服务器用于判断客户是否在所谓的NAT(网络地址转换)网络上。这样做是因为如果客户在NAT网络上,则在不同方向,即从服务器到客户的方向上重新建立连接非常困难。如果情况如此,则该连接将保持打开,直到有关打印作业的所有通信都完成为止(即这里所述的所有步骤都已执行为止)。在正常情况下,即如果客户不在NAT网络上,则关闭不同会话之间的连接,以便实现无需任何非必要可能信令开销的最优打印技术。
按顺序收集页数和字节数部分是为了查看正在发送的打印作业有多大,部分是为统计原因要进行登记。
服务器使用一个序列来响应客户,其中,服务器告知客户它已准备就绪,客户应该等待来自服务器的其他信息(步骤3-8)。
该序列是□序列号如上所述,除非客户在NAT网络上,否则关闭客户和服务器之间的连接。
打印第二阶段(图6)服务器不断就新打印作业查询数据库。为此,首先执行搜索以查找网络上有打印作业在队列中的打印机,然后分析每个队列,以发现各打印机的队列中的所有打印作业。然后按时间戳将对此信息排序,即在打印作业进入服务器时。最好采用FIFO原理(FIFO,先进先出),即首先处理最旧的打印作业。也可以采用其他种类的优先级来将打印作业排序,即如果打印作业的优先级高于队列中位于前边的其他打印作业,则将优先级更高的打印作业移至队列中优先级较低的打印作业之前。
本部分结尾将描述监视网络中打印机状态的服务器守护程序。
当服务器发现待打印的打印作业时,就从打印队列中提取打印作业(步骤6-1),并加以标记以进行打印(步骤6-2)。服务器随后提取要执行上述打印作业的打印机的信息。服务器从数据库的不同部分提取该信息。收集打印机的IP地址和从客户将打印作业传送到打印机所用的机制类型。服务器还从数据库中存储打印机状态的另一个部分提取信息。状态由监控打印机的守护程序来收集。
如果打印机的状态为非“正常”的某个状态,则向客户发送序列,以告知该打印机不在工作状态,并使得客户可以取消打印作业、选择另一个打印机或等待打印机再次开始工作。
然后发送相应的序列□序列号□错误代码。
如果打印机处于活动状态,即处于工作状态且可访问,则服务器向客户发送下列信息(步骤6-1)□序列号□作业ID(唯一的标识符)。
□打印机的IP地址□打印机制。
客户然后以一个序列作出响应,确认打印开始,上述序列告知打印已经开始(步骤6-4)。
如果无法连接到到打印机,则在尝试失败多次(步骤6-7,步骤6-8)之后,发送另一个序列(步骤6-9),当打印已成功地开始时,发送根据下列信息的序列□序列号。
另一方面,如果无法开始打印,则发送如下序列
□序列号□错误代码(原因)。
当服务器从客户收到该响应时,便检查它是哪一个序列(步骤6-5和步骤6-10)。当打印已经成功地开始时,服务器将数据库中的打印作业状态更新为“正在打印”(步骤6-6)。另一方面,如果无法启动打印作业,则更新打印机的信息,以便监视打印机的守护程序知道它应该立即检查打印机(步骤6-11)。服务器和客户之间的连接被关闭。
在打印期间,采用从客户接收已更新状态信息的方法,以上已参照图2对该方法作过描述(这里不加以说明)。
打印成功之后,从客户接收如下序列(步骤6-12)□序列号□作业ID。
在服务器中处理接收到的数据(步骤6-13),将打印作业成功完成的信息移至数据库中单独的表中,以便稍后可以将其用于生成统计数字和也许清单信息(步骤6-14)。
如果打印尚未完成,则从客户接收如下序列(步骤6-15)□序列号□作业ID□错误代码。
服务器处理接收到的数据(步骤6-16),更新数据库中的信息,并将上述打印作业标记为已失败。此外,更新打印机的信息,以便监视打印机的守护程序知道它应该立即检查打印机(步骤6-17)。
服务器可以允许根据打印作业的大小和相关打印机的存储器或存储容量同时在打印机上执行多个打印作业。服务器可以监视特定打印机上的有效打印作业的数量和/或打印作业字节数。
服务器可以随时中断打印作业(图5中的步骤5-1)。然后,将数据库中的打印作业状态更改为“正在删除”(步骤5-2),服务器联系客户,告知它取消打印作业然后予以确认。从服务器向客户发送如下序列(步骤5-3)□序列号□作业ID。
当客户取消打印作业时,回送如下序列来予以响应(步骤5-4)□序列号。
服务器处理数据(步骤5-5),并从数据库中取消打印作业(步骤5-6)。
注意,根据如上所述,通常从客户接收客户及其打印作业的信息、处理和更新打印队列的信息以及打印机状态的信息。不过,为获取此类更多信息,以及可能为了确认从客户接收到的信息,服务器还直接与打印机通信。下文将就此予以进一步说明。
打印机的状态检查服务器守护程序不断地检查打印机状态。为此,向各打印机转发SNMP-问题(SNMP,简单网络管理协议)。所接收的信息有□打印机状态□墨粉信息(激光打印机)□纸张信息。
要检查的信息取决于打印机型号所支持的项目。例如,如果需要更换激光打印机的打印机鼓(printer drum),纸张阻塞等,通常会提取更多的信息。
如果打印机状态未激活,即“脱机”,则服务器守护程序会试图检查其原因,诸如检查纸张是否阻塞、墨粉是否用完,打印机鼓是否需要更换等。
将数据库中的打印机状态更新为“脱机”,以及由服务器守护程序通知具有打印作业的客户打印机未在工作状态,客户可以转移打印作业、将其保留在队列中或取消打印作业。
也可以将这些信息发送到可以处理打印机问题的支持中心(helpdesk)或类似的部门。如果服务器守护程序可以确认缺纸,则例如可以向有负责向打印机添加纸张等的特定部门/人员发送该信息。
如果需要直接检查打印机,则系统还连续检查数据库。如果发现必须立即检查的打印机,则不等到正常情况下应该检查打印机的下次,而是立即执行检查操作。例如如果客户报告无法连接打印机,则会这样做。
在图7中示出了在服务器守护程序检测到队列未按常规操作的情况下服务器和客户之间的通信的流程图。
冗余性为了处理票据服务器关机的情况,网络最好配备至少两个票据服务器。为了实现一个服务器到另一个服务器的透明传输,当前者因某种原因关机时,需要在这些票据服务器之间复制所有数据。这可以通过冗余技术来实现。
可以给予客户会选择其中任何一个票据服务器来协同工作。
3.客户的详细描述系统中包括一个主程序和多个子程序,随客户的操作系统而定,这些程序一起构成客户。主程序适于同时处理多个打印作业,适于处理用于正确打印的正确信息。此外,这些程序还可以显示对话框窗口,该对话框窗口显示一个或多个打印作业是否发生某种状况的重要信息以及各打印作业的状态信息。
当客户启动打印作业,即请求程序向预安装的打印机发送打印作业以进行打印时,主程序接管控制。之后,与票据服务器进行如下对话。
客户程序以从票据服务器获取许可的请求开始。这是通过RPC、阻塞套接字或非阻塞套接字来完成的。该数据以十六进制符号形式发送,以使消息大小最小化,并通过XOR算法执行失真处理。
在与服务器的第一次对话中,发送如下信息(图3的步骤3-1)□序列号□客户版本号□操作系统□打印机驱动程序版本□打印机名称□用户域□用户名接收服务器的响应(步骤3-5),该响应包含□序列号□作业ID。
如果客户程序软件的打印机驱动程序版本和/或客户版本太旧,或未通过认证,则以错误代码序列交换上述序列(步骤3-4)。该序列含有如下信息□序列号□错误代码。
如果发生此情况,则客户软件将从服务器下载正确版本的驱动程序或客户软件。
该客户根据大小将打印作业直接以假脱机方式缓存到计算机的存储器或本地硬盘驱动器目录中。当打印作业以假脱机方式缓存到上述存储器或硬盘驱动器上时,向服务器发送上述打印作业的更多信息。将打印作业与服务器已接收的作业ID相关联,以便可以在打印时识别打印作业。
从客户向服务器发送如下信息(步骤3-6)□序列号
□IP地址□页数□字节数之后,接收服务器对已接收到该信息的确认,于是第一对话部分完成(步骤3-8)。
这样,客户和服务器之间不再传送任何数据,直到客户的打印作业准备好进行打印或打印机不再可访问为止。
如果客户不在NAT网络上,则关闭与服务器的TCP/IP连接(步骤3-14)。
当打印操作要开始时,服务器将开始与客户的新对话。该对话起始于从服务器接收如下信息(图6中的步骤6-3)□序列号□作业ID□打印机的IP地址□打印机连接-将用于发送打印作业的连接种类。
客户向服务器回送确认,确认它已接收到上述信息并开始直接向打印机进行打印(步骤6-4)。只发送序列号□序列号。
如果客户无法发送打印作业,或发生某种状况使打印作业无法完成,则发送含有正确的错误代码的新序列(步骤6-9)。此信息如下□序列号□错误代码。
在打印期间,采用以上参照图2所述的从客户发送更新的状态信息的方法(此处不作说明)。
当打印就绪(如果打印将就绪)时,客户向票据服务器发送一个新序列,以指示打印完成(步骤6-12)。该序列如下□序列号
□作业ID。
如果客户中断打印作业,则从客户向服务器发送如下序列(图4中的步骤4-1)□序列号□作业ID□错误代码。
服务器处理数据(步骤4-2),从数据库取消打印作业。客户从服务器接收指令,以取消打印作业(步骤4-3),之后客户从上述存储器或硬盘驱动器中取消打印作业(步骤4-4)。
4.根据本发明用作共享资源的打印机的不同替代要明确的是,上述优选实施例是结合连接在网络中的打印机的使用来描述的,但本发明并不局限于此。更为具体地说,打印机可以与网络中的共享资源互换。在此情况中,打印机队列互换为使用共享资源的队列。打印作业互换为要发送到共享资源的作业,而打印操作互换为发送作业。共享资源可以是例如网络上共享的发送器装置如电传装置;网络上共享的显示装置如数字投影装置;或网络上用于将数据存储在数据存储介质中的共享资源如CD或DVD刻录机。经过相应修改,上述说明也适用于此类共享设备。
5.技术优点本发明具有如下优点□减轻了网络负载。本发明减少了对网络容量的需求,因为所处理的作业在发送到共享资源之前总是存储在客户上。作业总是直接发送到共享资源-无需在服务器上进行中间存储。
□可伸缩性。本发明是可伸缩的,适用于中型到大型企业。因为本产品对内部带宽要求不高,适合于在跨国机构中使用。例如,每个服务器可以同时处理20000个队列和100000个作业。
□服务器上的负载低允许更快地使用共享资源。
□对服务器上硬盘驱动器空间的需求小。
□集中式管理和组织。集中式解决方案使得实现成本效率和即时监视的可能性很大,从而使共享资源利用率最大化。
□灵活性。本发明很灵活,可以供目前市面上现有的、为共享资源制造商支持的大多数操作系统使用。所述解决方案可以适应新情况而不受任何干扰。还可以有并实施其他模块。
□自动分发和更新共享资源的驱动程序。当市面上有新型共享资源可用或新驱动程序发布时,将对其进行测试,然后在整个网络上分发。系统中组件的补丁和更新程序也遵循同样的过程。
□认证和测试。可以在客户环境中实现之前认证并测试所有组件和驱动程序。
□可用性。使用冗余性实现了高可用性。
□远程监视和支持。对共享资源的监视(具体为对打印机作为共享资源时纸和墨粉的供应的监视)可以通过管理界面实现。这有利于规划共享资源的维护,具体如在打印机作为共享资源时补充墨粉和纸张,以便将企业的共享资源上的关机时间缩减到最小。
□经济。本发明易于实施,且对硬件、软件和网络容量的要求不高。
□可以在所有层面监控成本和共享资源的使用,例如,在客户、部门、组或共享资源层面上执行监控。
显然,本发明并不局限于上述并作图示的优选实施例,而是可以在所附权利要求的范围内加以修改。
权利要求
1.一种用于由服务器控制并监视来自连接在所述网络中的客户的作业向共享资源传送的方法,其特征在于如下步骤-从连接在所述网络中的客户接收用以获准向连接在所述网络中的所述选定共享资源发送作业的请求;以及-不断地检查连接在所述网络中的所述共享资源当前是否可用以及是否具有接收作业的容量;其中-如果所述选定共享资源当前可用且具有接收作业的容量,则立刻向连接在所述网络中的所述客户发送进行许可信号,以便所述客户可以直接将所述作业发送到所述选定共享资源;-如果连接在所述网络中的所述共享资源可用但是当前接收作业的容量不足,则将所述请求置于所述选定共享资源的队列中;持续地更新该队列,当所述请求前进到所述队列中的第一个位置且所述选定共享资源具有接收作业的容量时,向连接在所述网络中的所述客户发送进行许可信号,以便所述客户可以直接将所述作业发送到所述选定共享资源;以及-如果所述选定共享资源不可用,则通知连接在所述网络中的客户,其中-在从连接在所述网络中的客户接收请求的所述步骤之后执行为所述作业指配标识并将其告知连接在所述网络中的所述客户的步骤,所述标识包含在所述进行许可信号中,此进行许可信号发送到连接在所述网络中的所述客户,以便所述客户可以直接将所述作业发送到所述选定共享资源,从而连接在所述网络中的所述客户可以基于所述标识来标识所述作业;以及-从所述客户接收对所述共享资源已成功完成所述作业的确认或所述共享资源尚未成功完成所述作业的指示,之后从所述队列中删除所述请求。
2.如权利要求1的方法,其特征在于在向连接在所述网络中的所述客户发送所述进行许可信号与收到所述共享资源已成功完成所述作业的所述确认或所述共享资源尚未成功完成所述作业的所述指示之间,从连接在所述网络中的所述客户重复接收有关所述共享资源对所述作业的完成情况的更新状态信息,其中,没有这种更新状态信息指示连接在所述网络中的所述客户发生操作错误或所述客户与所述服务器之间的通信中发生通信错误。
3.如权利要求1或2所述的方法,其特征在于接收所述指配标识已被连接在所述网络中的客户收到的确认。
4.如权利要求1-3中任何一项所述的方法,其特征在于接收对如下事实的确认发送到连接在所述网络中的所述客户,以便所述客户可以直接将所述作业发送到所述选定共享资源的进行许可信号已被连接在所述网络中的所述客户收到。
5.如权利要求4的方法,其特征在于对发送到连接在所述网络中的所述客户以便所述客户可以直接将所述作业发送到所述选定共享资源的进行许可信号已被连接在所述网络中的所述客户收到的所述确认也是对所述作业已经或将要直接发送到所述共享资源的确认。
6.如权利要求1-5中任何一项所述的方法,其特征在于所述共享资源是打印机,且所述作业是打印作业。
7.如权利要求6的方法,其特征在于所述共享资源是发送装置,具体如电传装置;显示装置,具体如投影机;或用于存储数据的设备,具体如CD刻录机、DVD刻录机等,所述作业是发送、显示或存储数据的作业。
8.如权利要求1-7中任何一项所述的方法,其特征在于将有关所述共享资源状态的信息发送到连接在所述网络中的所述客户。
9.如权利要求1-8中任何一项所述的方法,其特征在于-存储涉及与所述选定共享资源通信的连接在所述网络中的所述客户的客户软件版本,-从连接在所述网络中的所述客户接收与连接在所述网络中的所述客户正用于与所述选定共享资源通信的客户软件版本有关的信息,-比较所述客户软件版本;以及-如果所述比较显示所述存储的客户软件比连接在所述网络中的所述客户正在使用的客户软件更新,则将所述存储的客户软件副本传送或安装到连接在所述网络中的所述客户。
10.如权利要求9的方法,其特征在于一起接收与连接在所述网络中的所述客户正在使用的客户软件版本有关的所述信息和用以获准向所述选定共享资源发送作业的所述请求。
11.如权利要求1-10中任何一项所述的方法,其特征在于-用以获准向所述选定共享资源发送作业的所述请求包括连接在所述网络中的所述客户的用户域和用户标识;-检查连接在所述网络中的所述客户是否有权将作业发送到所述选定共享资源;以及-如果连接在所述网络中的所述客户无权向所述选定共享资源发送作业,则向连接在所述网络中的所述客户发送错误代码。
12.如权利要求11的方法,其特征在于-如果连接在所述网络中的所述客户有权向所述选定共享资源发送作业,则检查连接在所述网络中的所述客户拥有哪种用户优先级;以及-根据连接在所述网络中的所述客户的用户优先级,将所述请求置于所述队列中。
13.如权利要求1-12中任何一项所述的方法,其特征在于从连接在所述网络中的所述客户接收所述作业大小的信息。
14.如从属于权利要求3的权利要求13所述的方法,其特征在于一起接收所述作业的所述大小信息与对已接收到所述指配标识的所述确认。
15.如权利要求1-14中任何一项所述的方法,其特征在于不断地检查所述网络中所述共享资源的状态。
16.如权利要求1-15中任何一项所述的方法,其特征在于不断地将有关所述网络中共享资源状态的信息、有关队列的信息和有关客户和作业的信息复制到用于控制并监视作业传送的第二服务器。
17.一种可下载到服务器内存中的计算机程序产品,它包含用于在所述计算机程序产品在所述服务器上运行时执行如权利要求1至16中任何一项所述的方法的软件代码部分。
18.一种具有如权利要求17所述的下载计算机程序产品的服务器。
19.一种用于将来自连接在网络中的客户的作业传送到由该客户从连接在所述网络中的若干共享资源中选择的共享资源的方法,其特征在于包括如下步骤-向用于控制并监视将作业传送到连接在所述网络中的共享资源的服务器发送用以获准向连接在所述网络中的所述选定共享资源直接发送作业的请求,其中,所述服务器适于为所述作业指配标识并将其传送到连接在所述网络中的所述客户,适于将所述请求置于所选共享资源的队列中,适于不断地更新队列,以及适于在所述客户是向所选共享资源发送作业的下一个时向连接在所述网络中的所述客户发送进行许可信号;以及-从所述服务器接收所述标识的消息;-准备并存储所述作业;-从所述服务器接收进行许可信号,以便可以将所述作业发送到所选共享资源,其中所述进行许可信号包含所述标识,以便所述作业可以根据所述标识来进行识别;-将所述作业直接发送到所述共享资源;以及-从所选共享资源接收对所述共享资源已完成所述作业的确认或对所述共享资源尚未成功完成所述作业的指示,以及将此确认或指示转发到所述服务器,以便可以从所述队列中删除所述请求。
20.如权利要求19的方法,其特征在于在从所述服务器收到所述进行许可信号与从所述共享资源收到对所述共享资源已成功完成所述作业的所述确认或对所述共享资源尚未成功完成所述作业的所述指示并将其转发到所述服务器之间,向所述服务器重复发送有关所述共享资源对所述作业的完成情况的更新状态信息,其中,所述服务器上没有这种更新状态信息指示连接在所述网络中的所述客户上发生操作错误或所述客户与所述服务器之间的通信中发生通信错误。
21.如权利要求19或20所述的方法,其特征在于向所述服务器发送对已接收到所述指配标识的所述消息的确认。
22.如权利要求19-21中任何一项所述的方法,其特征在于向所述服务器发送对已接收到指示所述作业可以发送到所选共享资源的所述进行许可信号的确认。
23.如权利要求22的方法,其特征在于对已接收到所述进行许可信号的所述确认也是对所述作业已经或将要被发送到所述共享资源的确认。
24.如权利要求19-23中任何一项所述的方法,其特征在于所述共享资源是打印机,且所述作业是打印作业。
25.如权利要求24的方法,其特征在于所述共享资源是发送器装置,具体如电传装置;显示装置,具体如投影机;或用于存储数据的设备,具体如CD刻录机、DVD刻录机等,所述作业是发送、显示或存储数据的作业。
26.如权利要求19-25中任何一项所述的方法,其特征在于-向所述服务器发送与连接在所述网络中的所述客户正用于与所述选定共享资源通信的客户软件版本有关的信息,-如果所述服务器存储的客户软件的副本的版本号比连接在所述网络中的所述客户正在使用的客户软件的版本号新,则从所述服务器接收所述副本。
27.如权利要求26的方法,其特征在于将与连接在所述网络中的所述客户正在使用的客户软件版本有关的所述信息与用以获准向所述选定共享资源发送作业的所述请求一起发送到所述服务器。
28.如权利要求19-27中任何一项所述的方法,其特征在于-用以获准向所述选定共享资源发送作业的所述请求包括连接在所述网络中的所述客户的用户域和用户标识;以及-如果连接在所述网络中的所述客户无权将作业发送到所述选定共享资源,则从所述服务器接收错误代码。
29.如权利要求19-28中任何一项所述的方法,其特征在于向所述服务器发送所述作业的大小的信息。
30.如从属于权利要求21的权利要求29所述的方法,其特征在于将所述作业的所述大小信息与对已接收到所述指配标识的所述确认一起发送到所述服务器。
31.一种可下载到服务器内存中的计算机程序产品,它包含用于在所述计算机程序产品在所述服务器上运行时执行如权利要求19至30中任何一项所述的方法的软件代码部分。
32.具有如权利要求31所述的下载计算机程序产品的客户终端。
33.包括如权利要求18所述的至少一个服务器和如权利要求32所述的多个客户终端的网络。
全文摘要
一种用于由服务器控制并监视从客户向共享资源传送作业的方法,它包括从客户接收将作业发送到客户所选的共享资源的请求,以及不断地检查所述资源是否可用以及是否具有随时接收作业的容量。如果所述资源可用且随时具有容量,则立即向客户发送进行许可信号,以指示客户可以向所述资源发送作业。如果所述资源可用但是当前容量不足,则将所述请求置于所述资源的队列中,不断地更新队列,当所述请求前进到所述队列中的第一个位置且所述资源具有容量时,向所述客户发送进行许可信号。接收请求步骤之后,对作业指配标识符,并将其发送到客户,所述标识被包含在发送到客户的进行许可信号中,以便客户从所述标识可以识别作业。从客户接收对所述资源完成所述作业的确认或所述资源尚未成功完成所述作业的指示,然后从队列中移除该请求。
文档编号G06F3/12GK1729442SQ200380107212
公开日2006年2月1日 申请日期2003年10月28日 优先权日2002年10月28日
发明者P·贝里林 申请人:德夫拉布斯公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1