首页> 中国专利> 用于能够对专用网络资源进行访问的输出管理系统和方法

用于能够对专用网络资源进行访问的输出管理系统和方法

摘要

用于管理在各种类型的计算机网络上的、诸如打印、传真和电子邮件之类的输出的系统和方法。在一个方面,所述系统和方法提供用于访问位于防火墙(61、62、63、64)之后的专用网络上的打印和/或文档资源。在位于防火墙相对侧的系统组件之间建立直通通信链路。系统服务的用户界面使用户能选择源数据以及在其上要打印所述源数据的输出设备,其中上述两者都居于防火墙之后或者任一个可以居于防火墙之后。然后,检索所述源数据并转发到打印机(PS1),该打印机再现与源数据和选定的输出设备(D1)相对应的输出图像数据。所述输出图像数据继而被提交到输出设备以便被物理地再现。对专用资源的访问通过直通通信链路得以实现。所述系统还使文档能够按照引用加以打印。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2008-10-22

    专利权的终止(未缴年费专利权终止)

    专利权的终止(未缴年费专利权终止)

  • 2007-03-28

    授权

    授权

  • 2005-04-06

    实质审查的生效

    实质审查的生效

  • 2005-02-02

    公开

    公开

说明书

相关申请

本申请以于2001年8月22日提交的序号为60/314,412的名为“无线文档打印、察看和共享的方法和设备(METHOD AND APPARATUS FORWIRELESS DOCUMENT PRINTING,VIEWING AND SHARING)”和于2002年1月23日提交的序号为60/351,754的名为“用于打印和格式化来自移动设备的文档及输出资源管理的方法和系统(METHOD AND SYSTEMFOR PRINTING AND FORMATTING DOCUMENTS AND OUTPUT RESOURCEMANAGEMENT FROM MOBILE DEVICES)”的共同待审临时申请为基础,根据35U.S.C.119(e)要求上述申请日的权益,并且本申请还以于2002年3月13日提交的序号为10/098,832的名为“通用打印与文档成像系统和方法(UNIVERSAL PRINTING AND DOCUMENT IMAGING SYSTEMAND METHOD)”和2002年3月21日提交的序号为10/104,528的名为“经由电子邮件进行打印的方法和系统(METHOD AND SYSTEM TOPRINT VIA E-MAIL)”的共同待审非临时申请为基础,根据35U.S.C.120要求上述申请日的优先权。此外,将这些共同待审非临时申请中每一篇的说明书及附图全部引入于此,以供参考。

发明领域

本发明的领域总体上涉及联网的打印环境,更具体而言而非排它地涉及移动式联网的打印环境和输出请求的管理。

背景信息

在常规打印环境中,操作计算机的用户可以提交由运行在他们计算机上的应用程序生成文档,以便在连接于所述网络的输出设备上加以再现,其中所述计算机经由诸如局域网(LAN)之类的封闭式计算机网络互相连接,所述输出设备比如是打印机、绘图仪等等。在现今快步伐的移动式商业环境中,这种局限的打印技术方案不再令人满意。虽然传统的打印技术无疑具有快速以高分辨率、改善的品质及彩色效果输出文件的优点,但是还没由花费什么精力来开发顺应当今移动式工作能力的打印技术。

在当今的移动式商业环境中,出现了许多未被虑及的或是未由常规打印环境的开发人员所要解决的打印情形。例如,考虑下列情形。当准备在合伙人办公室讨论买卖时,商业开发人员能在他公司的本地网络向合伙人网络中的打印机提交必需的协议吗?即使旅行销售代表没有把展示幻灯片文档带在身边,也依然能颇为容易地将她的介绍幻灯片打印到附近打印机吗?即使在附近打印机不是蓝牙启用的情况下,蓝牙手机用户也能够走进房间,检测有蓝牙功能的打印机的存在,并按引用向该附近打印机打印文档吗?即时消息传送用户能将文档拖拽到他伙伴的打印机列表以打印所述文档吗?机场内的风险资本家能仅仅利用他的蜂窝式电话而在他的总公司打印所需文档吗?为这些情形中的每一个以及其它类似的情形提供打印技术方案将会是有益的。

发明概述

依照本发明的许多方面,公开了一种用于管理在各种类型的计算机网络上的、诸如打印、传真和电子邮件之类的输出的系统和方法。在一个方面,所述系统和方法是为访问位于防火墙之后的专用网络上的打印和/或文档资源而提供的。在位于防火墙相对侧上的系统组件之间建立通过防火墙的通信链路。提供由系统供应给诸如陆上接线计算机或无线设备之类的始发端设备的可再现的数据,以便在始发端设备上再现用户界面。所述用户界面使用户能选择源数据和将在其上打印该源数据的输出设备,上述两者中的任一个或是上述两者都可以居于防火墙后。继而,检索所述源数据(有时从专用网络那里检索)并将其转发到打印服务,所述打印服务再现对应于源数据和选定输出设备的输出图像数据。然后,将输出图像数据提交到输出设备,以便物理地再现。对专用资源的访问是通过直通通信链路实现的。所述系统还使文档能按引用来得以打印。

附图简要说明

通过参照以下详细说明连同附图,将会更加容易认识到本发明的上述方面以及许多随之而来的有益效果,并且这些内容将变得更好理解,其中在各个视图里,同样的参考标记都指代相似的部分,除非另作说明:

图1是举例说明由消息中心(MC)执行的各种任务的示意框图;

图2是举例说明由打印服务(PS)执行的各种任务的示意框图;

图3是举例说明由远程桌面客户端(RDC)执行的各种任务的示意框图;

图4是举例说明由无线数据访问点(WDAP)执行的各种任务的示意框图;

图5是举例说明简单的示范性输出管理系统实现的示意图;

图6是举例说明更复杂的示范性输出管理系统实现的示意图;

图7是根消息中心与连接于专用网络的消息中心之间的交互的示意图;

图8是举例说明用来建立对等消息中心连接的设置操作的示意图;

图9是举例说明依照RDC客户端注册请求RDC与消息中心之间的交互的流程图;

图10是对应于RDC打印机注册请求的流程图;

图11是对应于向消息中心提交设备资源定义的RDC的流程图;

图12是经由家庭消息中心到根消息中心的公用设备查询的流程图;

图13是对应于由家庭域中的用户向输出设备发出的按引用打印(PBR)作业请求的流程图,所述输出设备直接连接于家庭域中的打印服务;

图14是对应于图13的PBR作业请求的组件交互图;

图15是对应于由家庭域中的用户向输出设备发出的非PBR作业请求的流程图,所述输出设备直接连接于家庭域中的打印服务;

图16是对应于由家庭域中的用户向本地打印机提交的PBR作业请求的流程图,所述本地打印机连接于家庭域中的远程桌面客户端;

图17是对应于图16的PBR作业请求的组件交互图;

图18是对应于由家庭域(例如区域(Zone)1)中的用户提交的PBR作业请求的流程图,所述PBR作业请求将在根消息中心公用输出设备(D1)上被打印;

图19是对应于图18的PBR作业请求的组件交互图;

图20是举例说明与系统中的消息中心交互的三个初级访问机制的示意图;

图21是举例说明当用户经WDAP提交作业请求时、用来确定动态默认打印机的操作的示意图;

图22A和22B是举例说明当蓝牙启用的始发端设备的用户经包含蓝牙设备仿真器的WDAP提交作业请求时、用来确定动态默认打印机的操作的示意图;

图23是通用系统连接拓扑图,它举例说明在典型的输出管理系统实现期间遇到的各种连接路径和连接类型;

图24是举例说明在处理作业请求期间所执行的操作的流程图,所述作业请求是经由区域内部的消息中心和公用RDC来处理的;

图25是依照本发明一个实施例的对应于4层体系结构的示意框图;

图26是举例说明用来实现由消息中心提供的操作的各种软件模块及相应数据库模式的框图;

图27是举例说明由打印服务实现的各种软件组件的示意框图;

图28是举例说明由打印服务使用的各种CGI脚本的示意框图;

图29是举例说明由驱动程序打印服务器实现的各种软件组件的示意框图;

图30是举例说明对应于提交到打印服务的打印请求的典型数据流程的示意图;

图31是举例说明由打印服务的无驱动程序的打印服务器软件提供的进一步操作及逻辑的组合示意图和流程图;

图32是举例说明由句柄(Handle)窗口组件使用以处理各种对话框及消息框的操作及逻辑的流程图和示意图,所述对话框及消息框可以当处理打印作业时被调用(launched);

图33是使用户能经由输出管理系统来建立文件服务器访问的基于Web的用户界面(UI)表示;

图34是在文件服务器已经被建立以供访问之后的图33的基于Web的UI表示;

图35是使用户能建立收藏打印机列表的基于Web的UI表示;

图36是使用户能搜索先前已经由系统管理员配置的打印机的基于Web的UI表示;

图37是在已经将几个打印机添加到收藏打印机列表之后的图35的基于Web的UI表示;

图38是对应于图39-52中基于WAP的用户界面细节的图例;

图39是对应于预订者登录过程的WAP UI流程图的第一部分;

图40是图39的WAP UI流程图的第二部分;

图41是对应于subOutputindex.pl CGI脚本的WAP UI流程图;

图42是对应于一组卡的WAP UI流程图,所述这组卡使网络的导航能搜索文档以便输出;

图43是对应于添加网络站点、传真机以及电子邮件地址的WAP UI流程图;

图44是用来通知用户已经将网络站点添加到用户的网络站点列表的WAP UI;

图45是对应于将新打印机添加到收藏打印机列表中的WAP UI流程图;

图46是用来通知用户已经将传真机添加到用户的传真列表中的WAP UI;

图47是用来通知用户已经将电子邮件名称添加到用户的联系列表中的WAP UI;

图48是对应于选定文档和输出设备的确认的WAP UI流程图;

图49是对应于将新传真添加到用户收藏传真列表中的WAP UI流程图;

图50是对应于将新电子邮件联系添加到用户的联系列表中的WAPUI流程图;

图51是对应于将打印、传真以及电子邮件作业插入到相应作业队列中的WAP UI流程图;

图52是表明响应于用户请求、是否曾经由电子邮件把PIN成功发送给用户的WAP UI流程图;

图53是举例说明如何将原始文档图像转换成在带有低分辨率屏幕的设备上文档预览的各种尺寸的缩微图的图;

图54是举例说明用户如何导航通过基于文本的文档的各部分以预览该文档当它在选定输出设备上输出时将呈现出何样的示意图;

图55是举例说明用户如何可以导航通过电子表格文档的各部分以预览该文档当它在选定输出设备上输出时将呈现出何样的示意图;

图56是举例说明如何能把该输出管理系统体系结构的原理扩展到通过即时消息传送服务来支持资源共享的示意图;

图57是举例说明如何可以通过多媒体消息启用的设备来使用该系统的示意图;

图58是举例说明如何可以实现CGI VPN代理以增强包含由该系统使用的资源的专用网络安全性的示意图;

图59A是举例说明用于实现访问位于专用网络上的输出设备的第一配置结构的示意图,所述专用网络不包括消息中心;

图59B是举例说明用于实现访问位于专用网络上的输出设备的第二配置结构的示意图,所述专用网络不包括消息中心;和

图60是可以用来驻留系统各种组件的示范性计算机服务器的示意图,包括消息中心和打印服务。

优选实施例的详细说明

在这里对管理系统和方法的实施例进行描述,所述输出管理系统和方法为移动用户和陆上接线用户提供了打印技术方案。在以下说明当中公开了许多特定的细节,比如示范性的体系结构实施方案,以便提供对本发明实施例的全面理解。然而,相关领域技术人员会认识到:本发明可以在不具备一个或多个特定细节的情况下加以实施,或是用其它的方法、组件等等来实施。在其它场合中,为了避免使本发明的多个方面相互混淆,对众所周知的结构或操作并未示出或者未作详细描述。

在整个说明书中提到的“一个实施例”或“实施例”是指:连同实施例描述的特定特征、结构或特性,都包含在本发明的至少一个实施当中。因此,在整个说明书之中不同地方出现的短语“在一个实施例中”或“在实施例中”,未必都指的是相同的实施例。另外,特定特征、结构或特性可在一个或多个实施例中按照任何适当方式加以组合。

定义

在下列整个说明中,屡次使用了以下术语及其定义:

源数据:源数据是指能够被检索并输出到设备的任何文档或媒体。支持的输入数据格式包括但不限于:大多数文档处理程序支持的类型(例如,PDF、PostScript、Microft Word、ASCII文本等等)、Web URL链路、电子邮件和电子邮件附件。

远程存储:远程存储包括存储着源数据的局域网(LAN)或因特网上的远程位置。远程存储包括但不限于:FTP内容服务器、NFS文件服务器、PCNFS文件服务器以及Web服务器。

本地源:本地源包括存储在同一用户设备上的源数据,其中打印请求是从所述用户设备发出的。因此,当从本地源打印时,需要将源数据从用户设备上载到输出管理系统以供处理。

远程源:远程源包括存储在远程存储上的源数据。

始发端设备:用户从其上发启作业请求的无线或有线设备。

输出设备:输出设备包括从系统获得输出图像数据并将它们转变成用于察看或记录的特定形式的装置。支持的输出设备包括但不限于:打印机、传真机、远程文档资源库(repository)以及电子邮件目的地。这些输出设备可以位于LAN上,或者可以居于外部网络上,所述外部网络包括诸如因特网和专用网络之类的公用可访问网络。

作业请求:作业请求是指用户向系统提交的将要处理的请求和发送给输出设备的请求。

作业状态:它是指表明请求处理过程当前进度的作业请求状态。它是一种帮助用户了解其作业请求状态和帮助系统管理员对它们进行管理的机制。

按引用打印(PBR):此作业处理方法规定了系统应该从远程源而不是从本地源检索源数据。

延期打印:这被定义为由于目标输出设备的当前不可用性而推延输出已处理的作业请求,作业处理的最后阶段。

用户数据库:这是指用来跟踪每个用户的系统配置设置的系统数据库。

服务器:一种在网络上可访问的、运行软件的计算机。

Web服务器:一种在计算机或服务器上运行的软件程序,它可利用超文本传输协议(HTTP)或安全HTTP(HTTPS)来与客户端计算机进行通信,以便在客户端计算机与服务器计算机之间传输超文本链接标记语言(HTML)文件、公共网关接口(CGI)数据、以及数据文件。

Windows打印机:在Microsoft Windows操作系统当中,将‘打印机’定义为:打印机驱动程序、打印处理器、语言监控器和端口监控器的指定组合。

假脱机文件:一种由MS Windows打印机驱动程序生成的打印机语言文件。这个文件的内容可被直接发送给打印机以供打印。

因特网打印协议(IPP):一种类似于HTTP的协议,用来将假脱机文件发送给联网的打印机,并从联网的打印机获取打印作业状态。

远程行式打印(LPR):一种用来向联网的打印机提交假脱机文件的协议。

区域:包含自治输出管理系统的网络。典型地,一个区域包括网络域的逻辑表示。

这里所描述的本发明的各种实施例使无线和有线用户能从本地源及远程源检索源数据,并请求在选定的输出设备上输出所述源数据,所述选定的输出设备还指的是目标输出设备或目的地输出设备。一般而言,输出设备可以与始发端设备(即,从其上发出输出请求的设备)位于同一网络上,或者更时常的情况下,输出设备可以位于独立的网络上,所述独立的网络包括始发端设备通常不可访问的网络。

在顶层,在这里所描述的本发明的输出管理系统的实施例的操作和功能是通过四个主要组件的用户来启用的:消息中心(MC)、打印服务(PS)、远程桌面客户端(RDC)和无线数据访问点(WDAP)。在实际实现中,通常将依据实施方案的特殊要求来使用这些组件的各种不同组合。

消息中心是系统的心脏。它与该系统中的其余组件进行接口连接,以适当地确保整个系统功能。如图1所示,在一个实施例中,消息中心MCn执行十二种主要任务,包括:组件注册与解除注册10、作业请求接收12、作业请求处理14、作业输出调度与排队16、作业输出状态监控18、对等消息中心交互20、根层消息中心交互22、远程桌面客户端管理24、打印服务管理26、无线数据访问点管理28、用户简档管理30、以及用户界面管理32。

所述打印服务组件处理作业请求的再现和打印。如图2所示,在一个实施例中,打印服务PSn执行打印服务任务,所述打印服务任务包括:再现输出图像34、将输出图像存放到资源库36、将输出图像发送到本地设备38、将作业输出状态发送到消息中心40、以及本地输出设备管理42。

所述远程桌面客户端组件帮助远程设备连接到整个系统。如图3所示,在一个实施例中,远程桌面客户端RDCn执行三种主要任务,包括:输出设备注册与解除注册44、从消息中心接收输出请求46、以及将作业输出状态返回到消息中心48。

所述无线数据访问点组件利用诸如蓝牙、IEEE 802.11等之类的标准无线协议,来帮助无线用户连接到系统上。它还为无线访问而帮助消息中心来管理资源映射。如图4所示,在一个实施例中,WDAPn执行五种主要任务,包括:组件注册与解除注册50、接收设备连接请求52、中继来自于用户无线设备的请求54、中继系统对用户的无线设备的响应56、以及记录输出设备地理关系58。

总体来讲,在这里所描述的输出管理系统的实施例的创造性方面涵盖以下操作:1)设备资源管理;2)设备资源发现;3)作业请求管理;4)作业请求调度;5)作业请求监控;6)用户简档管理;以及7)用户移动注册。以下描述了每个方面的简要预览,此后经由示范性系统实施例描述了更多细节。

设备资源管理

所述系统管理设备资源,以允许便利而快速的输出设备定位。在一个实施例中,将这些设备划分为物理输出设备和逻辑输出设备。所述物理输出设备包括但不限于打印机、传真机以及复印机。所述逻辑输出设备包括但不限于文件服务器、打印服务器、FTP资源库、以及电子邮件目的地。下面是相关操作的列表。

利用层次根消息中心、公用及专用设备分类以容易地进行资源管理和共享:所述系统利用数据库来记录每个消息中心的关系。所述根消息中心的消息中心Id(MCID)等于0;所有其它的消息中心都具有非零的正整数MCID值。根消息中心表维护标识区域及其它消息中心的网络地址的信息。本地消息中心需要向根消息中心注册,并通告它们用于资源共享的公用资源信息。所有未公布的设备资源均被视作为专用的,并且在这些设备资源所驻留的区域以外不能被共享。

使用本地及远程客户端注册机制的设备管理:相关联的打印服务将其已连接的输出设备注册到消息中心;同样,相关联的远程桌面客户端将其直接连接的输出设备注册到消息中心。这些输出设备继而可以通过相应的打印服务或远程桌面客户端来加以引用(referenced)。依据实施方案的特殊安全性要求,如有需要,则比较合理的是在系统中的打印服务和远程桌面客户端上使用加密,以确保数据安全性和完整性。

使用万维网和移动设备接口的设备管理:为了设备管理起见,所述系统提供了与普通移动式管理接口同时使用的完全管理接口

使用集中式驱动程序存储的远程设备安装:刚一注册输出设备时,就将需要把相应的驱动程序安装在与输出设备相关联的打印服务上。所述消息中心在其驱动程序存储中提供了一系列通常使用的驱动程序,以便消除对要求将驱动程序传送给打印服务组件的设备的需要。然而,如果目前无法从MC驱动程序存储中获得驱动程序的话,那么就可以将该驱动程序传送给驱动程序存储,并且随后将其安装在打印服务上。

设备资源发现

所述系统使用户能对移动式计算环境中的输出设备进行定位。正如在下面将更详述的那样,在一个实施例中,对于设备发现,所述系统使用了蓝牙和IEEE 802.11技术。它还使无蓝牙功能的设备能够通过其蓝牙设备仿真器工作,就像它们是蓝牙设备一样。下面是相关操作的列表。

输出设备发现和经由蓝牙连接向消息中心的注册:这是通过在无线数据访问点(WDAP)上运行代理来实现的,以便与消息中心进行接口连接来获得输出设备信息。所述代理还与消息中心相协作,以维护其输出设备信息数据库运行在WDAP上。

经由蓝牙网关向蓝牙客户端的本地输出设备可用性通告:可以部署任意的蓝牙网关来帮助消息中心管理它经由WDAP接收的信息。当无线用户经由已注册的WDAP连接于网络时,将向他或她通告这个包含输出设备可用性的信息。对于移动用户来说,当该用户穿过网络而连接于不同WDAP时,将由系统来刷新此信息。

输出设备发现和经由802.11网关的注册:这是通过在无线数据访问点(WDAP)上运行代理来实现的,以便与消息中心进行接口连接,来按类似于蓝牙连接使用的方式获得输出设备信息。

经由IP广播输出设备可用性通告:可以在所述系统中部署任意的802.11网关,以帮助消息中心管理它经由WDAP接收的信息。当授权用户经由已注册的WDAP进入网络时,将向他或她通告这个包含输出设备可用性的信息。当该用户穿过网络而连接于不同的WDAP时,将由系统来刷新所述信息。

经由即时消息传送接口的本地输出设备可用性通告:可以把所述远程桌面客户端扩展成通过即时消息传送(IM)协议(例如,AOL即时消息传送、Yahoo消息传送、MSN消息传送、ICQ,等等)来支持设备管理。这个概念是为了让用户的输出资源对其它消息用户(例如,伙伴等等)而言是可察看或可共享的。例如,这个能力使IM用户能把文件拖拽到输出设备的伙伴列表上的共享设备上,借此来使对应于文件的输出能够被输出到伙伴能够容易地访问的设备上。

基于输出资源发现的默认输出设备分配:存在两类默认输出设备,一类是静态的默认输出设备,而另一类是动态的默认输出设备。用户能够经由图形用户界面(GUI)来修改他或她的简档设置,从而改变静态的默认输出设备。然而,当用户利用移动设备来访问系统时,所述系统仅仅更新动态的默认输出设备。总之,用户可以通过修改用户简档设置来关闭动态重写,或者总是指定输出设备目的地。

作业请求管理

所述系统实施请求队列,以管理作业请求。下面是相关操作的列表。

利用远程桌面客户端来管理对输出设备的作业请求:到目标输出设备的作业请求是通过远程桌面客户端被通道传送的。这个RDC帮助输出设备检索输出数据并将状态回送给消息中心。相同的RDC可以实现加密,以保护消息中心与RDC之间交换的输出数据。

通过即时消息传送接口的作业提交:可以修改所述远程桌面客户端,以便通过即时消息传送协议(例如,AOL即时消息传送、Yahoo消息传送、MSN消息传送、ICQ,等等)来支持作业提交。这个机制使用户能把文件拖拽到他或她的伙伴的共享输出设备列表上的设备上。伙伴于是将从所述设备那里接收输出数据。已修改的RDC需要向消息中心注册(例如,AOL拥有的、Yahoo拥有、公司拥有的或根MC)。一旦注册成功,即时消息传送UI上的输出管理界面就将是可见的。如果用户的伙伴也运行针对即时消息传送工具定制的RDC,则就通过即时消息传送协议来将用户的资源信息转移到相连接的伙伴。继而,可以将文档拖拽到用户伙伴的共享输出设备上。

通过即时消息传送接口来接收打印作业请求:可以修改所述远程桌面客户端,以便通过即时消息传送协议来支持作业接收。当发送方将输出数据拖拽到位于接收方的共享输出设备列表上的设备上时,向接收者的RDC发送作业请求以进行打印。如前所述,已修改的RDC需要向消息中心进行注册。一旦注册成功,即时消息传送UI上的输出管理界面就将是可见的。如果用户的伙伴也运行针对即时消息传送工具定制的RDC,则就通过即时消息传送协议来将用户的资源信息转移到相连接的伙伴。继而,用户能够从其它已注册的用户那里接收作业请求。

与多媒体消息传送系统进行接口连接:消息中心能够在网关范围内、外加以部署,以便与多数多媒体消息传送系统进行接口连接。这种部署使通用多媒体客户端能与输出管理系统进行通信,所述输出管理系统给客户端权限以交换信息或请求到共享设备和目的地的输出。

通过蓝牙连接向通用输出设备进行作业提交:包含蓝牙设备仿真器的WDAP使用户能通过蓝牙连接来访问系统的提交接口。当请求时,将包含蓝牙输出设备和通用输出设备在内的输出设备的可用性返回给用户。然后,用户可以通过蓝牙连接来将输出发送到选定的目的地输出设备。

通过专用服务器进行的作业请求再现:所述系统将打印服务用作为专用的作业再现服务器。这减少了在客户端机上设备驱动程序的不必要安装。利用远程桌面客户端,能够将几千英里外的已再现作业输出到本地设备,反之亦然。

个人和商业作业请求分类:目前的公司打印环境没有把个人打印作业请求从总线请求中区分开。相比之下,所述系统实现了一种对作业请求分类、在数据库中标记它们并为进行帐目结算而保留该信息的方法。由此,会计部门能够根据由作业请求定义的工作特性来相应地向部门或雇员收费。

支持访客打印:所述系统可以被配置成能支持访客打印。这被通过驻留在消息中心上的访客作业提交接口来实现。所述接口不强制用户简档验证,而是仅仅提供对公用输出资源的限制访问。管理员能够配置消息中心,以便也支持针对访客打印的动态默认打印机。

电子邮件作业请求支持:所述系统将带有或不带有附件的电子邮件作为一般作业请求来接收。它能将这些带有或不带有附件的请求处理到多个输出信道。

文档预览:所述系统支持文档预览,从而在用户发出最终输出请求之前给他们提供可视确认(例如,文档的正确版本)。这种文档预览特征为用户提供了一种快捷方法,以浓淡处理的缩微图来察看图像、并以具有页旁注的纯文本格式来察看其它文件。对于电子表格,它还提供了在垂直与水平两个方向上的导航。此外,在预览文档中,维持原始文档的页面关系,借此使用户能随机访问预览文档。

作业请求调度

所述系统实施请求队列,以管理作业请求。下面是相关操作的列表。

延期的作业调度:当作业请求进入消息中心时,将作业队列项插入到消息中心数据库中,以便为作业处理起见而维护充足的信息。如果目标输出设备是不可用的,那么所述系统就把该项保存在队列中,并且(使用管理员可配置的延期值)稍后重新调度它,以便当所述输出设备变为可用时可以提交它。

作业假脱机工厂(factory)中使用文件引用进行输出:所述系统使用打印服务来再现输出图像。因为打印服务和消息中心通常不会共同位于同一个主机上,所以需要将再现后的数据从打印服务传递到消息中心以进行最后阶段的处理。就效率角度而言,所述打印服务将再现后的图像存储到共享假脱机工厂(即,资源库)中,并且将图像的引用返回到消息中心。然后,消息中心使用所述引用来把数据输出到目的地。

通过防火墙的安全输出:所述系统的模块化设计允许每个组件的自定义配置。管理员可以安装防火墙来保护系统。所述远程桌面客户端具有在适当配置防火墙时与消息中心相接口的能力。这给予用户通过防火墙打印文档的能力。

作业请求监控

所述系统实现了经由作业队列记录(log)跟踪的作业状态监控。下面是相关操作的列表。

利用数据库更新经由作业持久状态跟踪进行作业状态监控:所述消息中心维护每个作业请求的持久状态。当发送出作业输出请求时,表更新处理器监控作业状态,以确定是否结束了所述输出请求。如果是,那么它就更新数据库并将状态返回给用户。

经由WAP推送(Push)进行的作业输出状态报告:当作业请求结束时,更新数据库中的作业状态。继而,如果作业始发者是WAP客户端的话,那么消息中心就经由WAP推送来通知用户该作业请求结束。

经由HTTP浏览器刷新进行作业输出状态报告:当作业请求结束时,更新数据库中的作业状态。继而,消息中心通知用户该作业请求结束。对于HTTP作业提交客户端,通过自动浏览器刷新来更新作业状态,直到所述状态被标记成已结束为止。

输出创建

所述系统实现了用于输出创建的打印服务。下面是由打印服务执行的相关操作的列表。

基于输入文件格式和可配置系统设置进行的输出再现应用程序的动态选择:可以根据输入文件的格式来给用于再现输出文件图像的应用分配优先级。能够经由系统配置设置的变化来调整优先级。

用于输出文件图像再现的第三方应用的使用:所述系统还可以使用第三方应用来再现输出图像。

多个输出再现算法支持:所述系统依据输入文档的特性而使用了用于生成输出图像的不同方法。它可以使用具有打印工具和打印机驱动程序的后台服务,使用具有应用控制处理器的前台按键模拟,或者使用进行再现的翻译器。

多个输出信道支持:所述系统支持多个输出信道,包含但不限于:打印至打印机的通道、将传真发送至传真接收方、在始发端设备上预览输出图像、以及将输出发送至电子邮件目的地。当选择了电子邮件目的地输出信道时,可以将所述文档归入电子邮件本体内,或者作为附件来发送。

增强整个系统可靠性的窗口处理器:所述系统使用窗口处理器来处理当使用前台输出再现选项时可能遇到的各种弹出式对话框。这允许系统在无人管理的很长一段时间充分地运行。

用户简档管理

所述系统使用户能利用Web界面或移动设备界面来管理他们的个人简档。下面是相关操作的列表。

经由Web界面和移动设备界面进行用户简档管理与动态更新:所述用户简档是由消息中心创建并维护的,所述消息中心用来存储预定信息。必要时,用户能够使用WEB(HTML)界面或WAP(WML)界面来更改他们的配置设置。此外,如果用户当前正在利用移动设备来访问用户的家庭网络(home network)中的系统,那么所述系统就自动地更新用户的动态默认打印机。

用户简档多重计费记录支持:用户简档包括用于系统的多个计费ID,以用来标记不同类型的收费。例如,用户可以拥有个人打印账目和商业打印账目两种账目。这能够帮助组织机构更容易地将输出管理系统集成到他们的计费系统中。

用户移动式注册(Sign-in)

所述系统使用户能经由无线数据访问点(WDAP)来在本地网络上注册。继而,可以使本地共享资源对于用户而言可用。下面是相关操作的列表。

经由来自移动设备的查询结果的核实进行用户验证:所述系统检索查询结果的唯一标识符,来相对于用户简档进行核实。接着,它根据用户的标识来发送出自定义欢迎词(greeting)。

使移动用户能访问系统资源:所述无线数据访问点组件使无线用户能经由无线连接(例如,蓝牙、802.11)来访问网络。所述WDAP还支持动态的默认打印机管理。

示范性系统配置

在图5中示出了简单的示范性系统配置59。所述系统被部署在两个区域,也就是区域0和区域1,它们跨越因特网60来通信链接。区域0包括管理所有共享公用输出资源的根消息中心MC0。区域0也可以包括可选的防火墙61。区域1包括两个消息中心:MC1和MC2。消息中心MC1位于内部防火墙62的后面,并且它是专用的。消息中心MC2位于防火墙63和64之间的网络DMZ(非军事化(demilitarized)区域)中,并且它是公用的。就像远程桌面客户端RDC1一样,打印机服务PS1也是公用的。输出设备D1和D2两者同样也都是公用的。

在图5及其后的系统配置图中,实线表示在相连的实体之间存在直接链路,而虚线表示实体的连接是逻辑关联的(例如,经由注册而关联的),而不是直接链接的。例如,输出设备D1经由直接链路66而直接链接于打印服务PS1,而输出设备D2则是逻辑上与远程桌面客户端RDC1相关联的,就如逻辑关联68描绘的那样。

在一些配置结构中,防火墙可能需要打开端口80(例如,用于Apache Web服务为CGI调用提供服务)和端口5190(用于即时消息传送的端口以及系统通信端口),以便允许用户访问消息中心MC2,并允许消息中心MC2访问打印服务PS1、远程桌面客户端RDC1以及输出设备D1和D2。如果需要SSL(安全套接字层),则防火墙就还需要打开端口443。注意,由于安全性的原因,无线数据访问点WDAP1位于内部防火墙60后面,以便从内部网络阻挡掉外部无线用户。

在图6中示出了更为复杂的系统配置70。在这个示例中,跨越三个区域来部署系统:区域0、区域1和区域2。区域0包括管理所有共享公用输出资源的根消息中心MC0。区域1和区域2都是专用的区域,它们既可以包含公用资源又可以包含专用资源。区域1包括:一个公用消息中心MC1,两个专用打印服务PS1和PS2,两个专用WDAP(WDAP1、WDAP2),一个公用远程桌面客户端RDC2,两个专用输出设备D2和D3,以及一个公用输出设备D4。区域2包括:两个公用消息中心MC2和MC3,两个专用打印服务PS3和PS4,两个专用WDAP(WDAP1、WDAP2),一个专用远程桌面客户端RDC5,三个公用远程桌面客户端RDC3、RDC4和RDC6,三个专用输出设备D6、D8和D9,以及三个公用输出设备D5、D7和D10。区域0包括具有向其注册的三个消息中心(MC1、MC2和MC3)的公用消息中心MC0。它还具有已注册的远程桌面客户端(RDC1)。每个区域内的专用资源(例如,输出设备D2、D3、D8和远程桌面客户端RDC5)在区域之外都不是共享的。管理公用资源的消息中心向根消息中心MC0注册,以便可以通过公用请求来访问它们。

消息中心MC0是包含对已注册的公用消息中心的引用(reference)的根层消息中心。一旦安装了所述系统,公司固有的消息中心(MC1和MC2)就需要把它们自己注册到根消息中心。在需要管理大量公用资源的场合中,所述配置可以包括多个根消息中心。在这种情况下,在一个实施例中,所述根MC将被分解成层次树。一般而言,这种实施方案中的根消息中心的组织是非常灵活的。利用地理位置来举例说明一种分类可能性,树层次的底层可以对应于特定区域(例如,加利福尼亚州、明尼苏达州、台湾省、广东省),第二层至底层可以把一些区域MC组合成更大的区域MC(例如,美国MC、中国MC),所述层次中的下一层又依次能够把处于第二层至底层的一些MC组合成更加大的区域MC(例如,美国、亚洲、欧洲);最终所述层次将生成代表整个域的主MC。可以应用类似的方法来针对公司、个人和政府建立消息中心层次。

已注册的消息中心能够为公用输出资源查询根消息中心。在一个实施例中,可以根据下列RDC参数来进行搜索,所述RDC参数包括:客户端的名称、客户端的邮政编码、或客户端的状态。同样,还可以根据区域描述符或区域类型来进行搜索。此外,可以根据设备资源名或设备资源描述来进行设备资源搜索。当区域0的根层消息中心接收搜索请求时,它返回在其数据库中找到的记录的标识符。然后,利用这些标识符作为限定条件(qualification)来执行后续的搜索,以便返回更多方面的信息。

现在返回到图1,现在描述消息中心组件的更多细节。所述远程桌面客户端和打印服务向消息中心注册它们的输出资源,所述消息中心经由组件注册与解除注册组件10来提供对这些服务的访问。在注册过程期间,通过相对应的类型定义数据来确定输出资源类型(例如,打印机、绘图仪等等)。所述消息中心收集这些输出资源,并把公用的资源注册到根层消息中心上。所述根消息中心利用充足信息来为每个已注册的公用输出设备创建记录,以便其它的消息中心可以将记录中所包含的数据用作为远程访问资源的对应的引用。

当输出设备想要使其自身断开与消息中心的关联时,它就向消息中心发送解除注册请求。作为响应,所述消息中心从根消息中心解除对所述输出设备的注册。如果输出设备是公用资源,则根消息中心数据库中的相应共享记录就也被删除。

作业请求接收任务12使消息中心能接收作业请求。在一个实施例中,消息中心使用Apache Web服务器,所述Apache Web服务器运行一组能被调用来提交作业请求的CGI脚本。所述CG1脚本将打印作业添加到消息中心的系统作业队列中。一旦创建了作业队列项,就认为所述作业提交已结束。

一旦已经提交了作业请求,就通过作业请求处理任务14来执行对请求的处理。当作业请求进入系统时,所述消息中心通过引用远程存储上的远程源来收集源数据,或者通过提交器把本地源发送到消息中心来收集源数据。然后,所述消息中心定位打印服务,以便再现对应于源数据和目标输出设备的输出图像文件。

在创建输出图像文件之后,所述打印服务向消息中心返回文件引用;然后,所述消息中心调用相应的RDC来向输出设备发送再现后的图像。如果RDC或目标设备是不可用的,那么就推延打印请求。于是,所述系统就按照可配置的重试持续时间所规定的那样,将再次试图将打印请求重新发送给RDC。这些操作都是由作业输出调度和排队任务16来处理的。

在将作业输出请求发送给输出设备之后,经由作业输出状态监控任务18来向消息中心返回作业状态。然后,所述消息中心更新其状态并通知用户当前的作业输出状态。在一个当前的实施方案中,所述系统支持下列作业状态:DOCUMENT_DONE、INPUT_PENDING、RESOURCE_WAIT、IN_PROGRESS、COMPLETE、CANCEL_BY_USER、以及ERROR。

依照对等消息中心交互任务20,所述系统体系结构允许用于各种操作的对等消息中心通信。对等消息中心之间的交互包括:区域0查找表查询、文档路由请求、打印文档请求、以及状态回复。

在图7和图8中,举例说明了消息中心交互的两个示例。图7中的示例表明用户如何能够请求公用设备来连接到他或她的家庭消息中心,以便为任何向公用设备发出的后续请求作好准备。所述询问序列按照如下进行:

1.用户(U1)向用户的家庭消息中心(MC1)提交公用设备连接请求。这个公用设备(D2)刚好就是根消息中心连接的设备。

2.用户的家庭消息中心(MC1)为访问输出设备而查询根消息中心(MC0)。

3.根消息中心(MC0)对通向指定输出设备的路径进行定位,并将连接请求发送到其远程桌面客户端(RDC1)。

4.远程桌面客户端(RDC1)连接于用户的家庭MC(MC1),并且由此而建立了连接。

在图8中举例说明的示例对应于对等消息中心请求,其具有以下次序:

1.用户(U1)向用户的家庭消息中心(MC1)提交公用设备连接请求。这个公用设备(D2)刚好将要向另一个对等消息中心(MC2)进行注册。

2.用户的家庭消息中心(MC1)查询根MC(MC0)。

3.根消息中心(MC0)对通向指定设备的路径进行定位,并将连接请求发送到目标消息中心(MC2)。

4.目标消息中心(MC2)认可(honor)来自根消息中心(MC0)的指示(referral),并将响应送回根消息中心(MC0)。

5.根消息中心(MC0)接收“OK”响应,并将路径信息发送到用户的消息中心(MC1)。

6.目标消息中心(MC2)连接于用户的家庭MC(MC1),并且由此而建立了连接。

依照根层消息中心交互任务22,根层消息中心的原理促进了公用输出资源共享。作为一个优点,根层消息中心为快速公用资源查找提供了集中式位置。为了支持这种机制,非根层消息中心必须与根层消息中心相交互,以便公布他们的公用资源,以及必要时为其它的公用资源而进行查询。

所述远程桌面客户端帮助消息中心向输出设备发送作业请求。它还可以用来以降低安全性风险的方式配置整个系统。例如,为安全输出设备建立内部RDC,并为公用输出设备建立外部RDC。这些操作都是通过远程桌面客户端管理任务24来处理的。

所述消息中心能够连接于多个打印服务。意思就是使用一组打印服务而不是一个打印服务,以便更好地管理输出设备。所述消息中心与这些打印服务保持非常紧密的关系,这是因为它们都是生成输出图像的必要组件。这些必要组成部件之间的交互是通过打印服务管理任务26来处理的。

为了支持诸如蓝牙启用和802.11启用的这类无线设备,所述系统部署了一个或多个无线数据访问点。每个WDAP都具有要求相应的消息中心进行管理的一组描述和信息。例如,每个无线数据访问点的动态默认输出设备都是由WDAP的相应MC来维护的。这些操作都是通过无线数据访问点管理任务28来处理的。

正如由用户简档管理任务30所描述的那样,所述消息中心维护用于登录验证的用户简档以及一些默认的服务设置。例如,每个用户的静态默认打印机和动态默认打印机都是在用户简档中规定的。用户能够通过标准的Web界面或设备界面来修改他们的简档。

用户界面管理任务32处理由系统提供的各种用户界面。用户使用“消费者”用户界面来管理他们的账目以及施加服务请求。在一个实施例中,消费者接口具有对应家庭用户的一个部分,还具有对应访客用户的另一个部分。由于安全性原因,访客用户界面在一定条件下提供了对系统资源的限制访问。为了进行调试与维护以及为了安装各种系统组件和参数,所述系统还具有管理用户界面。

所述打印服务执行图2中所示的五种主要任务。依照再现输出图像任务34,当打印服务接收作业再现请求时,调用无驱动程序打印(DP)服务器的内部组件收集源数据,并将这些数据置于DP服务器队列中。然后,所述DP服务器调用DPS打印模块,以定位适当驱动程序并生成输出图像。所述DPS打印模块将输出图像放入内部输出队列中,并把控制权返回到DP服务器。下面,将论述这些操作的更多细节。

当DPS打印模块把控制权返回到DP服务器时,所述DP服务器调用状态监控模块。如果目的地设备未与打印服务本地相连接,则状态监控器就依照任务36将输出图像写入共享资源库中。继而,它就把控制权返回到DP服务器。如果目的地设备是本地相连接的设备,则状态监控器于是就依照任务38将输出图像发送到所述设备。继而,它把控制权返回到DP服务器。依照任务40,在状态监控器将作业状态返回至DP服务器之后,将所述作业状态转发回消息中心。本地输出设备管理任务42使打印服务能支持本地相连的输出设备。它处理向消息中心进行的设备注册和处理从消息中心解除注册。

参照图3,所述远程桌面客户端帮助去管理设备经由设备注册与解除注册任务44而连接于消息中心。为了进行注册,它发送设备注册请求以便与消息中心建立关联。为了解除注册,它发送设备解除注册请求以便从消息中心中删除上述关联。

依照任务46,所述远程桌面客户端利用到输出图像文件的引用,来从消息中心接收作业输出请求。它检索输出图像文件并将它们发送到目标输出设备。当没有使用引用时,所述消息中心直接将输出数据发送到远程桌面客户端。刚一结束作业输出,所述远程桌面客户端就依照任务48来通知消息中心更新作业输出状态并通知给用户。

参照图4,每个无线数据访问点执行都下列主要任务。所述无线数据访问点需要将其自身注册到消息中心以便链接于系统,这是经由组件注册与解除注册任务50来处理的。WDAP注册的目的就是为了向消息中心通知WDAP的默认输出设备(即,其最接近的输出设备)。这帮助消息中心确定移动用户的动态默认打印机。为了删除上述关联,任务50向同一个消息中心发送解除注册请求。

为了让无线设备访问有线网络,就必须存在一个访问点以便接收请求并将请求从无线分组转换成陆上通信线分组。WDAP服务就是用于该系统的数据访问点。依照任务52,非蜂窝式设备的无线请求通过无线数据访问点来进入系统。

当无线数据访问点接收连接请求时,它将该请求转换成IP分组,然后依照任务54,将所述IP分组发送到该请求规定的目的地。作为回应,通过任务56来处理系统响应。当用户从最接近于第一WDAP的第一位置移动到最接近于第二WDAP的第二位置时,所述系统经由第二WDAP来向用户返回不同组的设备信息。因此,WDAP的一个关键职责就是:依照记录输出设备地理关系任务58,制定其默认的输出设备并与消息中心相通信,以便能够动态地生成设备信息。

正如上面所论述的那样,所述系统可以使用任意的蓝牙网关和蓝牙设备仿真,以便使非蓝牙设备能够与所述系统一起工作,就仿佛它们是蓝牙启用的设备一样。正如下面所述的那样,如有需要可以将蓝牙网关功能内嵌到无线数据访问点当中,从而减少硬件成本。

工作原理

这一部分描述了系统的常见操作以及请求数据流程。下面是一些显著的系统特征和系统要求。

1.每个用户都与家庭消息中心相关联。

2.所述系统可以加强两个消息中心之间的安全性、加强消息中心与打印服务之间的安全性、以及加强消息中心与RDC之间的安全性。

3.消息中心提供了资源的驻留用户和访客(访客)用户访问控制。

4.每个WDAP都具有与之相关联的可配置默认打印机。

5.当通过WDAP对系统进行访问时,如果用户在他或她的简档中规定允许动态系统重写,那么就将根据用户当前正连接着的WDAP来变更该用户的默认打印机。

6.可以在消息中心上实现访客用户界面,所述消息中心支持其区域内的访问者打印。这种界面不需要用户进行注册,也不需要创建简档。因此,它不支持静态的默认打印机打印。然而,所述系统将提供访问者动态默认打印机打印;作为选择,所述用户也能够规定目的地打印机。

所述系统的模块化结构设计以及可扩展数据库模式使改进的安全性方案能得以实现。第一,对于用户验证而言,用户数据库包含用来相对于用户登录数据来进行验证的用户简档,所述用户登录数据是经由任何支持的访问设备而输入到系统中的。如果验证失败,则就将记录作为日志存入到系统中以供来日引用或调查,并且拒绝登录请求。此外,消息中心能够为客户机和服务器验证的更高层实现公共密钥基础结构支持。第二,对于数据加密支持而言,每个模块都能够实现加密以保护内容数据。可以在文件存储至消息中心之间、消息中心至打印服务之间、打印服务至输出资源库之间、以及输出资源库至RDC之间实行加密。第三,在非拒绝实施方案中,所述系统给每个预订者分配唯一的ID。当用户向系统提交请求时,立即利用用户的ID和时间戳来标记该请求。如果这是一个作业提交请求,那么就在系统中生成副本并作为日志将其存下来,并且稍后将其归档以用作来日的引用和计费。

除前述安全实施方案之外,模块化和分布式体系结构的另一个优点是:它允许管理员根据每个组织机构的特定需要来自定义安全设置。例如,虚拟专用网络(VPN)可以用来将共享文件服务器链接到消息中心。同样,可以在消息中心与远程桌面客户端之间实现VPN。系统体系结构既支持软件VPN配置又支持硬件VPN配置。整个系统可以被配置成能支持公共密钥基础结构也能提供验证和授权;以便保护数据完整性和数据保密性;和满足非拒绝要求。

在图9中示出了依照RDC客户端注册请求而举例说明RDC与消息中心之间的交互的流程图。所述RDC将会话分组发送到消息中心,以启动客户端注册过程。在一个实施例中,所述会话分组包括用以规定消息中心上的客户端的各种参数,包括:客户端描述符串、客户端类型、名、中间名、姓、地址1、地址2、城市、状态、邮政编码、用户标识(USERID)、受保护密码(PASSWORD)、以及电子邮件(EMAIL)值。一旦成功,就将客户端标识符(CID)返回到RDC。

在图10中示出了对应于RDC打印机注册请求的流程图。正如在先前过程中那样,所述RDC发送分组。所述分组包括标识消息中心上的客户端的数据,并且提供了请求将要注册的资源的状态(例如,输出设备)。一旦成功,将打印机资源标识符(PID)返回到RDC。

所述远程桌面客户端需要向MC注册以访问其它的公用资源,并且使其资源有效。在图11中示出了对应于向消息中心提交设备资源定义的RDC的流程图。所述RDC将设备资源定义分组发送到消息中心,以便在消息中心内规定设备资源。一般而言,这个信息包括设备名、设备类型、设备描述符和设备状态。

当客户端想要访问远程公用设备时,它需要首先通过公用设备查询来确定该设备的位置。正如图12的流程图中举例说明的那样,这个操作要求家庭消息中心查询根消息中心,以查找可用公用设备的列表。所述消息中心继而判断在所述区域内是否支持这类公用设备。这意味着家庭消息中心需要定位这类公用设备所支持的已注册的打印服务。响应于查询,向请求者返回可用公用设备的列表。如果找到了所述公用设备的已注册的打印服务支持,那么不支持的公用设备就将不会被归入列表当中。

图13和图14分别举例说明了对应于按引用打印(PBR)作业请求的处理流程图和组件交互图,所述作业请求是由他或她家庭域中的用户向直接连接于家庭域(例如,图6中的U1->D2或U1->D3)中的打印服务的输出设备发出的。根据PBR作业请求,用户能够让在目标目的地打印机上打印的文档72(即,远程源)存储在远程存储74上,其中远程存储的文档和目的地打印机都可以经由用户界面76来选定。

在图15中示出了对应于非PBR作业请求的处理流程图。在这种情况下,除了将源数据从用户设备上载到消息中心而不是检索远程源之外,所有的操作都与PBR作业请求相类似。

图16和图17分别举例说明了对应于PBR作业请求的处理流程图和组件交互图,所述作业请求是由用户在他的家庭域(例如,图6中的U1->D4)中向连接于家庭域中的远程桌面客户端的本地打印机提交的。在这种情况下,在由打印服务再现了输出图像之后,将它作为输出图像文件80而存储在输出资源库78中。然后,将打印请求发送给适用的RDC(例如,RDC2),这继而从资源库中检索输出图像文件并将同一输出图像文件提交于输出设备(例如,D4)以便被物理地再现。刚一结束,就通过消息中心向用户送回结束通知,并将此通知显示在用户界面76上。

图18和图19分别举例说明了对应于PBR作业请求的处理流程图组件交互图,所述作业请求是由用户在他的家庭域(例如,区域1)中提交的,以便打印在根消息中心公用输出设备(D1)上进行打印。所述过程从利用UI启动用户界面76来执行公用设备查询开始。实质上,所述查询是为了返回可用公用设备的列表。作为选择,所述用户可以选择已知的公用设备,并且所述查询执行设备对公共访问而言是否可用的确认任务。用户向他她的家庭消息中心(MC1)提交查询请求,而MC又将所述查询请求转发到根MC。接着,根MC检查其数据库,从而(根据随查询一并发送来的用户验证信息以及用户先前配置的收藏打印机列表)为用户确定所有可用的打印机。连同输出设备通向家庭消息中心的路径一起,标识本地打印服务。然后,向用户送回公用设备信息,并且该用户能够选择公用输出设备并向家庭MC提交打印作业请求。

刚一接收到打印作业请求,所述家庭MC就检索将要打印的文档(在这种情况下,由于该文档是本地源,因而将它从始发端设备发送给MC),并且随同再现请求一起将该文档发送给指定的打印服务(PS1)。继而,所述打印服务再现该文档的输出图像并将它保存在输出资源库78中。然后,一旦家庭MC从输出资源库那里检索已再现的数据(例如,输出图像文件80)并随同输出图像数据一起将打印请求发送给指定的远程桌面客户端(RDC1),就将已结束再现的通知从PS处送回家庭MC。然后,一旦硬拷贝输出得以再现并将打印结束通知返回给RDC,所述RDC就将输出图像数据发送到目标输出设备(D1)。然后,经由根MC和家庭MC,将打印结束通知转发回用户。

消息中心访问机制

一般而言,存在三种用于访问家庭消息中心的机制。这些机制包括:有线网络连接、无线网络连接和无线web蜂窝式连接。(正如在这里所使用的那样,蜂窝式连接包括经由基于单元的基础结构而实现的任何无线连接,所述基于单元的基础结构包括蜂窝式网络和PSC网络。)例如,启用无线网络的用户能够经由包含多个蜂窝式塔106以及蜂窝式服务提供商网络运营中心108的蜂窝式网络来访问消息中心MCn,所述启用无线网络的设备包括:便携式电话100、PDA 102、以及双向传呼机104(例如,Blackberry设备)。

在美国,典型地使用无线应用协议(WAP)来提供无线因特网(即,无线网络)访问,所述无线应用协议与WAP启用的设备协同工作。在亚洲,无线因特网访问则通常是使用i-mode协议来提供的。为了使用i-mode协议访问数据,所述无线设备必须是i-mode设备或者必须能提供i-mode和WAP两者的连接性。在世界各个不同地方也可以使用其它较少使用的协议。在图20所举例说明的实施例中,进一步经由WAP网关服务器112所驻留的WAP网关110来实现这种无线网络连接。作为选择,还可以依据无线服务提供商所提供的设施而使用其它类型的无线网络网关,比如像i-mode网关。

WAP启用的设备能够从各种不同因特网站点访问数据,所述这些因特网站点提供了设计用来由这类设备使用的内容。通常,将这一数据作为无线标记语言(WML)数据传送到所述设备,正如下面将一步详述的那样。WML包括这样一种专门的标记语言,该语言被设计用来促进因虑及低分辩率显示而受限的浏览能力,还用来促进现今的手提式设备上可用的有限导航能力,所述手提式设备比如是无线电话、PDA和袖珍PC。WML包括HDML(手提式设备标记语言),而且可以将其根源上溯到XML(可扩展标记语言)。它进一步包括支持用户定义扩展的元语言。

WAP启用的设备被提供对各种web站点的访问,所述web站点经由WAP网关(比如WAP网关110)来提供无线因特网内容,这是通过使用一个或多个WAP网关服务器112实现的。通常,各个WAP网关都是由支持无线因特网访问的区域中的各个服务提供商操作的,不过服务提供商也可以共享WAP网关设施。简而言之,WAP网关服务器运行那些提供用于辅助与WAP启用的设备相交互的功能的各种软件模块和/或应用程序,与WAP启用的设备进行的交互包括将HTML(超级文本标记语言)数据转换成WML,所述HTML数据是经由HTTP(超级文本传输协议)从无线web站点(并未直接以WML来编码其无线网络内容)检索的。这些功能包括WAP编码器、脚本编译器以及将HTML数据转换成WML的协议适配器。

为了创建无线因特网内容,Web站点通常必须在其站点的所有页面上或一部分页面上创建专门的纯文本或低分辨率图形版本。目前,虽然预计这些因特网Web站点会随着越来越多人获得WAP启用的设备而按指数速率增长,但是只有一小部分的站点提供无线因特网内容。对于这种纯文本或低分辨率图形内容的主要原因是:WAP启用的设备通常提供很小的、低分辩率屏幕,而且典型的无线数据传输速率要比经由基于陆地的网络可获得的数据传送率低得多。人们注意到,虽然一些目前的无线因特网内容包括必须在WAP网关转换成WML的HTML,但是仍然存在许多提供以WML直接对WAP网关编码的数据的Web站点。

参照图20,典型的WAP会话工作如下。操作诸如PDA 102之类的WAP启用的设备的用户打开“迷你浏览器(会话的WAP客户端)”,该“迷你浏览器”继而经由PDA 102的无线调制解调器发送搜索WAP服务的无线电信号114。作为响应,经由附近的蜂窝式塔106,服务提供商同与之进行无线因特网访问预订服务的用户生成连接。然后,用户经迷你浏览器(正如迷你浏览器UI 107描绘的)所提供的UI、通过输入Web站点的URL来选择他想要察看的Web站点。接着,将访问站点的请求从PDA 102发送到WAP网关110。在这种情况下,WAP网关服务器112经由HTTP从Web站点那里检索对应于该URL的信息以作为HTML数据,并将所述HTML数据编码成WML(无线标记语言)。正如上面所论述的那样,对于一些因特网站点来说,所述数据可能已经是WML格式的了,所以不需要进行从HTML到WML的编码。

依照本发明的一个实施例,正如在下面将进一步详述的那样,每个消息中心MCn将经由Web服务器113来驻留一个或多个相应的URL。经由诸如因特网60或专用网络之类的通信网,将由Web服务器113驻留的URL数据从消息中心传递到WAP网关,所述URL数据比如是按HTML数据114和WML数据116所描述的数据。然后,经由蜂窝式塔106,将所述WML数据从WAP网关服务器112送回到PDA 102。按照类似于常规浏览的方式,用户能够通过激活经迷你浏览器向用户显现出的适当UI组件来浏览站点上的各种不同页面,借此响应于用户交互来执行同上所述的相似过程,从而显现出对应于用户选定的内容。

除了无线网络访问之外,可以经由直接的陆上接线连接来访问消息中心,或者经由包含陆上接线网络和无线网络(例如,802.11b)在内的通信链路来访问消息中心,或者经由那些经蓝牙无线链路而链接于用户设备的陆上接线网络来进行访问。例如,个人计算机(PC)118和膝上计算机120的用户可以经由直接连接于消息中心的网络连接(例如,LAN连接)来访问消息中心MCn,或者经由诸如因特网之类的WAN连接来进行访问。这些网络连接中的每一种均由计算机网络122来描绘。在一个实施例中,用户能够经由基于浏览器的用户界面124来访问系统所提供的服务,正如在下面通过一组Web页面126所进一步详细描绘的那样。

一般来讲,对于进一步包含802.11(亦称WiFi)连接的链路而言,用户界面是相似的。例如,在典型的802.11实施方案中,WiFi启用的用户设备,比如像图20中的PDA 128,是经由WDAP 130而连接于有线网络的(例如,网络122)。WDAP控制来自于WiFi启用的设备的全部通信,同时让所述设备看来就像是具有正常客户端连接的网络。由此,从操作的角度来看,有线客户端与WiFi客户端对于消息中心而言看起来是一样的。

所述系统还使连接蓝牙的客户端能够打印到选定的输出设备上,只是使用了不同的机制而已。在这种机制下,实现蓝牙仿真器来让诸如便携式电话132之类的蓝牙启用的始发端设备认为它正在直接与蓝牙设备进行通信,而不必改为始发端设备的内置蓝牙用户界面133。例如,假定用户希望打印到非蓝牙启用的打印/传真设备上。在这种情况下,实现提供前端代理的蓝牙打印机/传真机仿真器,以便与附近的无线数据访问点进行通信。在一个实施例中,可以将蓝牙设备仿真器集成到WDAP中,正如由WDAP+蓝牙设备仿真器134所描绘的那样。作为选择,所述蓝牙设备仿真器也可以是通信链接于网络122的独立设备。一般而言,所述蓝牙设备仿真器利用来自于消息中心的相应的输出设备信息,来生成所需的蓝牙设备信息(例如,打印或传真简档);利用从消息中心检索的资源信息来建立所述简档。由此,在一个实施例中,所述仿真器还具有用以(经由集成的或附近的WDAP)与消息中心相接口的后端通信信道。当蓝牙启用的设备在不同访问点连接于系统时,相应的仿真器将把对应所述访问点的特定简档信息作为响应。

通过类似的蓝牙设备仿真,比如像蓝牙基本打印或传真简档互操作性(Interoperability)说明书定义的蓝牙设备仿真,所述系统使非蓝牙设备能够就仿佛它们是蓝牙启用的设备一样进行操作,借此为公司提供了简单而有效节约成本的方法,以便在无线计算环境中管理他们的非无线技术启用的设备。这些操作对于用户和指定设备双方而言都是透明的。此外,企业根本不需要修改、更换、乃至升级传统设备,这是因为这些资源目前都是由消息中心来管理的。

输出管理系统的按引用打印的能力还可以被扩展至蓝牙启用的始发端设备上。举例来说,在一个实施例中,通过蓝牙设备把用来再现下述WAP接口的WML内容提供给蓝牙启用的设备,所述设备包括为WAP而设计WAP浏览器107A。可以预见的是,在不远的将来,这类设备将变得常见。在这种配置下,实质上,通过经由WDAP+蓝牙设备仿真器向蓝牙启用的设备供应相同的WML内容,蓝牙启用的设备用户能够按照同无线网络用户一样的方法来与系统进行交互。

默认设备发现(WiFi)

所述系统引入了静态设置默认值和动态设置默认值的概念,以便更好地适应移动计算协议。例如,消息中心在用户简档中实现默认设备设置选项。以打印机为例,对于每个用户而言存在两类默认打印机:静态的默认打印机和动态的默认打印机。当用户经有线连接(例如,PC 118)来访问系统时选择前者,而当用户经无线连接(例如,蓝牙、802.11等)访问系统时选择后者。当使用位于用户客户端地点上的移动式发射站时,用户很少有机会向他或她的办公室打印机发送输出。利用访问方法来自动转换默认设置要更加实际而便利。然而,为了灵活性考虑,用户具有用以经简档配置来使动态默认打印机重写特征无效的选项。

图21示出了详述当用户经WDAP提交作业时用以确定动态默认打印机的操作的图。首先,无线设备128的用户经无线连接让系统进入无线数据访问点WDAP2。在举例说明的示例中,假定用户提交PBR作业请求。作为响应,WDAP2将PBR作业请求中继至消息中心。所述消息中心从文件存储136那里对应于PBR作业请求的检索源数据。所述消息中心发现来自于WDAP2的请求,检查其设备数据库、并找出与WDAP2相关联的动态默认打印机,所述WDAP2是与打印服务PS1相关联的输出设备D1。由此,它将再现请求发送给PS1。所述PS1再现作业请求,然后将输出图像数据发送到输出设备D1。输出设备D1结束作业输出并通知PS1任务结束。PS1又依次通知消息中心。所述消息中心将响应发送到WDAP2,以通知用户作业请求已经成功结束。接着,WDAP2将该响应中继到用户设备。

默认设备发现(蓝牙)

在图22A和22B中所描绘的下列情况中,正如用WDAP+蓝牙设备仿真器设备138和140所分别描绘的那样,除了WDAP1加WDAP2目前包含蓝牙设备仿真器之外,网络配置实质上是相同的。在上述两种情况下,该过程都是从蓝牙启用的始发端设备132的用户寻求与另一个蓝牙启用的设备的初始化通信开始的。在该示例中,始发端设备的蓝牙信号是由WDAP2+蓝牙设备仿真器设备140接收的,它将与蓝牙启用的始发端设备建立通信链接。

此时,存在两种可以用来使系统能与蓝牙启用的设备用户进行交互的一般类型的接口:基本蓝牙UI(例如,蓝牙UI 133)和高级蓝牙UI(例如,蓝牙迷你浏览器UI 107A上的WAP)。在基本蓝牙UI的情况下,仿真器是作为模拟的蓝牙启用的输出设备或多个此类输出设备来进行操作的。在高级蓝牙UI的情况下,仿真器充当使WAP内容能经由蓝牙上的WAP而被提供给蓝牙启用的设备的管道。

假定提供了基本蓝牙UI。在图22A中描述了这种情况。在这种情况下,在建立蓝牙链接之后,用户将搜索蓝牙启用的输出设备(或者用户将利用输出设备搜索来初始化蓝牙链接)。作为响应,仿真器将连接于根消息中心(直接地或者间接地),并且检索与输出设备有关的信息,所述输出设备是便于交互的最接近于WDAP的输出设备。由于这类信息被存储在消息中心数据库中的,因而MC能够将蓝牙仿真参数141返回给对应于各种输出设备的仿真器,所述各种输出设备是可经由WDAP使用的。在任意的实施例,所述仿真器可以请求得到验证的用户(或者相反,通过唯一的设备标识符来标识用户),并且提供指定给用户的输出设备的列表。接着,所述仿真器将模拟可用的输出设备,以便蓝牙启用的始发端设备,“认为”它实际上正在直接与一个或多个相应的蓝牙启用的输出设备进行通信。例如,如果可用的输出设备包括两类激光打印机和一个文本打印机,那么所述仿真器就将为所有这三个打印机提供蓝牙设备仿真。如果只有单个设备可用的话,那么这个设备就变为默认输出设备。所述用户于是将经由蓝牙UI来选择输出设备,并且将源数据上载到仿真器,就好似它将源数据直接上载到蓝牙启用的输出设备一样。接着,所述仿真器将源数据转发到消息中心,该消息中心将调用适当的打印服务来生成输出图像数据,然后,又将所述输出图像数据提交到用于再现的选定输出设备。

依照图22B中所描绘的示例,通过消息中心驻留的蓝牙服务上的WAP来为用户提供对系统的访问。起初,蓝牙启用的始发端设备与仿真器之间的蓝牙连接是以上述方式来建立的。接着,仿真器联系消息中心以开始供应WML内容,从而经由蓝牙迷你浏览器107A上的WAP来再现用户界面,所述蓝牙迷你浏览器使用户能从文件存储136中选择源数据和选择输出设备(D1)。所有其余的操作实质上都是按照与对应图21的PBR示例的上述方法一样的方法来进行的。

在一个实施例中,所述系统包括采用蓝牙网关142的任意配置。该网关帮助消息中心与蓝牙设备仿真器进行通信。该蓝牙网关还记录下这些设备与无线数据访问点之间的映射,并且使所述映射与消息中心同步化。这种映射是利用来自于设备仿真器的输入来计算的,或是通过发现(sniffing off)网络来进行计算。

系统连接拓扑

在图23中示出了举例说明在输出管理系统的典型实现期间所遇到的各种连接路径和连接类型的一般系统连接拓扑图150。对于组件通信而言,第一规则是PS和RDC总是启动到消息中心的连接。依照对应于对等消息中心通信的第二规则,总是从更安全的网络到较少安全的网络启动连接(例如,从专用网络到DMZ、从区域1DMZ到区域0DMZ等等)。当上述两个规则都可用时,第一规则占优先地位。

在图150中,在图中央配置的区域0包括根消息中心MC0,该消息中心MC0包括用于全部MC公布及共享其公用资源的集中式资源库(例如,输出设备)。因此,优选地,区域0中的组件将位于DMZ以便在适当的安全保护下接收输入连接请求。在区域0对面上配置的区域1和区域2包括两个独立的网络,每一个网络都具有充分安全的子网(即,专用网络部分)和DMZ部分。区域1和区域2的DMZ中的MC(MC12和MC22)管理公用资源和可共享资源,且因此被称为“公用”MC。位于内部公司防火墙152和154后面的专用子网中的MC(分别为MC21和MC11)管理专用资源,并且因此被称为“专用”MC。

下面是组件部署定位图表,它表明依照本发明的一个实施例,这些组件可以在何处被驻留。“公用网络”是指不带有防火墙保护的网络,也就是直接连接于因特网的网络。它通常接收进入的全部连接请求。“DMZ”是指不带有受限保护的专用网络。如果进入的连接请求直到一些众所周知的端口处才被修补的话,那么它通常接收那些请求。“专用网络”是指带有强壮防火墙保护的网络。它通常阻塞多数的输入连接请求,但不一定都阻塞。位于专用网络中暗示了输入连接请求被阻塞;因此,通过利用代理(例如,DMZ MC或根MC)来为作业请求架桥,使得资源共享变得更为方便。优选地,为了明显的安全性起见,不应该把MC和PS部署在公用网络中。不能将根消息中心(例如,MC0)部署在专用网络中,这是由于它需要至少提供受限的公用访问通路来使公用MC能够进行注册。RDC可以位于公用网络中以实现资源共享的更广范围;然而并不推荐。

公用网络DMZ专用网络MC0不推荐不允许MC1不推荐PS不推荐RDC不推荐

            表1:组件部署位置图

下面是组件部署位置分类图表,它解释了图150中的组件部署位置。

公用网络DMZ 专用网络MC不推荐MC0,MC12,MC22 MC11,MC21PS不推荐PS0,PS12,PS22 PS11,PS21RDCRDC01,RDC02,DC14,RDC24RDC13,RDC23 RDC11,RDC12, RDC21,RDC22DD01,D02,D14,D24D13,D23 D11,D12,D21,D22

                      表2:组件部署位置分类图

以下在表3-6中示出了描述组件怎样彼此相互通信的一组MC网络连接图,它包括连接类型、连接启动者和数据传输类型。由于性能的原因,优选地,持久性连接只应当用于控制信号交换(例如,资源查询、资源注册),然而暂时性连接可以用于控制信号交换,也可以用于非控制信号交换,也就是说,源文件数据传输和再现输出图像数据传输。当允许持久性连接时,暗指支持暂时性连接。数据传输类型可以“经缓冲器”或者“按引用”。当允许“按引用”传输时,暗指支持“经缓冲器”传输。如果文件存储的发送方对于接收方而言是不可见的话,那么按引用传输可能就并非是切实可行的选择。在这种情况下,适当的MC将通过信道把数据传送到目的地资源。

下列表对应于MC0区域内网络连接图。这个表描述了根MC怎样与同一个区域内的其它组件相通信。由于这是处于区域0中的,因而不允许“专用”MC和PS。

连接类型启动者数据传输MC0-MCn(DMZ)持久MC(DMZ)缓冲器,引用MC0-MCn(专用)N/AMC0-PSn(DMZ)持久PS缓冲器,引用MC0-PSn(专用)N/AMC0-RDCn(公用)*持久RDC(公用)仅仅缓冲器*MC0-RDCn(DMZ)持久RDC(DMZ)缓冲器,引用MC0-RDCn(专用)N/A

        *不允许从公用RDC那里察看DMZ文件存储。

              表3:MC0区域内网络连接图

下面是MC0区域间网络连接图,除了它是用于区域间通信之外,它类似于上述表3。这个表描述了根MC怎样与不同区域中的其它组件相通信。

连接类型启动者数据传输MC0-MCn(DMZ)*持久MC(DMZ)仅仅缓冲器MC0-MCn(专用)**暂时MC(专用)仅仅缓冲器MC0-PSn(DMZ)不允许MC0-PSn(专用)不允许MC0-RDCn(公用)***持久RDC(公用)仅仅缓冲器MC0-RDCn(DMZ)暂时RDC(DMZ)仅仅缓冲器MC0-RDCn(专用)暂时RDC(专用)仅仅缓冲器

*DMZ MC需要保持到MC的持久性连接,以便实现资源共享和支持公用设备查询。

**专用MC可以为设备查询而建立到MC0的暂时接续,或者将数据传输桥接到公用RDC。

***不允许从公用RDC那里察看DMZ文件存储。

                表4:MC0区域内网络连接图

下面是非区域0的MC区域内网络连接图。这个表描述了非区域0的消息中心怎样与同一个区域内的其它组件相通信。

连接类型启动者数据传输MCx(DMZ)-MCy(DMZ)*不允许MCx(DMZ)-MCy(专用)**持久MC(专用)仅仅缓冲器MC(DMZ)-PS(DMZ)持久PS(DMZ)缓冲器,引用MC(DMZ)-PS(专用)暂时PS(专用)仅仅缓冲器MC(DMZ)-RDC(公用)持久RDC(公用)仅仅缓冲器MC(DMZ)-RDC(DMZ)持久RDC(DMZ)缓冲器,引用MC(DMZ)-RDC(专用)持久RDC(专缓冲器,引用
用)MCx(专用)-MCy(DMZ)***持久MC(专用)仅仅缓冲器MCx(专用)-Mcy(专用)*不允许MC(专用)-PS(DMZ)不允许MC(专用)-PS(专用)持久PS(专用)缓冲器,引用MC(专用)-RDC(公用)不允许MC(专用)-RDC(DMZ)不允许MC(专用)-RDC(专用)持久RDC(DMZ)缓冲器,引用

*不公共的和不必要的配置。

**MCx帮助MCy将输出通过信道传送到未向MCy注册的RDC。

***MCy帮助MCx将输出通过信道传送到未向MCx注册的RDC。

                 表5:非MC0的区域内网络连接图

下面是非区域0的MC区域内网络连接图,除了它用于区域内通信之外,它类似于上述表。这个表描述了非区域0的MC怎样与不同区域内的其它组件相通信。

连接类型启动者数据传输 MCx(DMZ)-MCy(DMZ)*暂时无论谁启动设备查询N/A MCx(DMZ)-MCy(专用)**暂时MCy(专用)N/A MC(DMZ)-PS(DMZ)不允许 MC(DMZ)-PS(专用)不允许 MC(DMZ)-RDC(公用)暂时RDC(公用)仅仅缓冲器 MC(DMZ)-RDC(DMZ)暂时RDC(DMZ)仅仅缓冲器 MC(DMZ)-RDC(专用)暂时RDC(专用)仅仅缓冲器 MCx(专用)-MCy(DMZ)***暂时MCx(专用)N/A MCx(专用)-MCy(专用)不允许 MC(专用)-PS(DMZ)不允许
MC(专用)-PS(专用)不允许MC(专用)-RDC(公用)不允许MC(专用)-RDC(DMZ)不允许MC(专用)-RDC(专用)不允许

*仅仅用于设备查询。

**为了设备查询以及为了使Mcy将输出通过信道传送到与MCx相关联的公用RDC。

***为了设备查询以及为了使MCx将输出通过信道传送到与MCy相关联的公用RDC。

           表6:非MC0的区域内网络连接图

一般而言,系统中的这些组件将利用网络消息协议而彼此相互通信。例如,存在设计用来在远程桌面客户端与消息中心服务器之间进行通信的RDC网络消息协议。在一个实施例中,RDC与MC服务器之间的连接是由从RDC到MC服务器上的端口5190的套接字连接发启的。对于会话的生命周期而言,这些套接字连接是持久的。会话被定义为客户端与服务器之间的相连会话。大多数会话在客户机与服务器之间基本上是静止的,除非存在为与客户端相关联的远程打印机指定的打印作业。在会话发启期间,客户端向客户端提供许多会话参数,以求建立相连会话。

数据传输类型支持

本节简要地描述了怎样处理作业请求数据并将其传送给每一个组件。可以把基本的作业请求处理流程总结成以下操作:1)将输入文件数据上载到消息中心;2)MC根据标识的目的地输出设备来确定用于输出图像再现的适当打印服务;3)MC将输入数据交付给PS或让PS按引用来访问所述文件;4)PS再现输出图像;5)PS将输出图像传送到MC或者将输出图像存放到公共资源库中;6)MC将输出数据发送到RDC或者通过对公共资源库的引用来让RDC访问所述文件。依据实际的作业请求起源及目的地,可能需要分级MC来桥接数据传输。转接类型被分为“按引用”和“经缓冲器”。一般而言,按引用传输仿佛要比经缓冲器传输更有效(由于减少了假脱机文件);然而,当由于安全性限制(例如,防火墙)而使居于网络的不同部分上的不同组件无法察看彼此的引用时,这可能是可行的。在这种情况下,经缓冲器传输是数据传输的唯一选择。下列表定义了数据传输类型。

引用传输名缓冲器传输名用户文件输入(上载)按引用上载(UBR)经缓冲器上载(UBB)MC-PS(交付)按引用交付(DBR)经缓冲器交付(DBB)PS-MC(传输)按引用传输(TBR)经缓冲器传输(TBB)MC-RDC(打印)按引用打印(PBR)按引用打印(PBR)MC-MC(混合(shuffle))*按引用混合(SBR)经缓冲器混合(SBB)

*仅仅适用于区域内

               表7:组件数据传输类型定义

区域内的MC(DMZ)-RDC(公用)。这类通信的目的是将打印请求从DMZMC发送到如下设备,所述设备附于向相同区域内同一个DMZ中的同一个MC注册的公用网络中的RDC上。例如,从MC12->RDC14传输。

参照图24的流程图,该处理从块160开始,在其中用户连接到用户的家庭消息中心并且执行登录操作,在块162中,用户经由对应于始发端设备的用户界面提交打印请求,其中用户利用所述始发端设备而连接于系统。如果打印请求对应于按引用打印(PBR),则MC就从远程存储那里上载源数据(例如,其中包含源数据的“输入”文件),所述远程存储是经由UI指定的,并且在块164中通过PBR请求来标识。如果打印请求对应于非PBR请求(即,将要打印的源数据,居于始发端设备上),则在块166中,MC就经缓冲器从所述设备上载源数据。

接下来,在块168中,所述MC定位适当的打印服务并给它发送一个作业再现请求。一般而言,适当的打印服务将对应于与目的地输出设备相同的区域内的PS,并且为目的地输出设备和源数据(例如,具有输出设备的驱动器支持,并且具有它能运行以生成对应于所述源数据的图像输出数据的应用程序)的特性提供打印服务支持。如果该请求是PBR,则在块170中,MC就向打印服务交付标识输入文件的网络存储位置的引用。如果该请求不是PBR,则在块172中,MC就经缓冲器来向PS交付输入文件。在块174中,刚一检索或接收输入文件,所述打印服务就生成输出图像数据(输出图像文件)。

如果将要使用资源库的话,则在块176中,所述PS就把输出图像文件存放到资源库中,并且在块178中,所述PS按引用将输出图像传输到MC。在这种情况下,输出图像数据被存储于资源库中的文件中,并且按引用传输意指:PS向MC提供路径、输出图像文件的网络位置、文件名。如果不使用资源库,则在块180中,PS就经缓冲器将输出图像传输到MC。

此时,在块182中,所述MC定位适当的远程桌面客户端来接收输出图像。这将总体上完成根据目的地输出设备的数据库查找,从而识别任何可能用来向目的地输出设备提交输出图像的RDC。接着,在块184中,所述MC将输出图像发送给按引用识别出的RDC。刚一接收到该引用,在块186中,RDC就检索输出图像并将其提交到输出设备,以便由输出设备再现。一旦得到作业已经打印成功的信息,所述MC继而就向用户发送回通知以告知用户打印作业已经打印成功。在块188中,按简化符号,上述处理可以被描述为:(UBR,UBB)->(DBR,DBB)->(TBR,TBB)->PBB。

区域内的MC(DMZ)-RDC(DMZ)。这类通信的目的是:将打印请求从位于DMZ中的消息中心发送到如下设备上,所述设备附于向与MC为相同区域内的同一个MC(例如,MC12->RDC13)注册的同一个DMZ中的RDC上。相对应的简化符号为:(UBR,UBB)->(DBR,DBB)->(TBR,TBB)->(PBR,PBB)。

区域内的MC(DMZ)-RDC(专用)。这类通信的目的是:将打印请求从DMZ MC发送到如下设备,所述设备附于向同一个区域内的同一个MC注册的专用网络中的RDC上(例如,MC12->RDC12)。相对应的简化符号为:(UBR,UBB)->(DBR,DBB)->(TBR,TBB)->(PBR,PBB)。

区域内的MC(专用)-RDC(公用)。这类通信的目的是:将打印请求从专用MC发送到如下设备,所述设备附于向相同区域内DMZ中的另一个MC注册的公用网络中的RDC上(例如,MC11->RDC14)。相对应的简化符号为:(UBR,UBB)->(DBR,DBB)->(TBR,TBB)->SBB->PBB。

区域内的MC(专用)-RDC(DMZ)。这类通信的目的是:将打印请求从专用MC发送到如下设备,所述设备附于向相同区域内同一个DMZ中的另一个MC注册的DMZ中的RDC上(例如,MC11->RDC13)。相对应的简化符号为:(UBR,UBB)->(DBR,DBB)->(TBR,TBB)->SBB->(PBR,PBB)。

区域内的MC(专用)-RDC(专用)。这类通信的目的是:将打印请求从专用MC发送到如下设备,所述设备附于向相同区域内同一个MC注册的专用网络中的RDC上(例如,MC11->RDC11)。相对应的简化符号为:(UBR,UBB)->(DBR,DBB)->(TBR,TBB)->(PBR,PBB)。

区域间的MC(DMZ)-RDC(公用)。这类通信的目的是:将打印请求从DMZ MC发送到如下设备,所述设备附于向来自于不同区域的外来DMZ中的另一个MC注册的公用网络中的RDC上(例如,MC12->RDC24)。相对应的简化符号为:(UBR,UBB)->(DBR,DBB)->(TBR,TBB)->PBB。

区域间的MC(DMZ)-RDC(DMZ)。这类通信的目的是:将打印请求发送到如下设备,所述设备附于向来自于不同区域的相同外来DMZ中的另一个MC注册的不同DMZ中的RDC上(例如,MC12->RDC23)。相对应的简化符号为:(UBR,UBB)->(DBR,DBB)->(TBR,TBB)->PBB。

区域间的MC(DMZ)-RDC(专用)。这类通信的目的是:将打印请求从DMZ MC发送到如下设备,所述设备附于向来自于不同区域的不同DMZ中的另一个MC注册的专用网络中的RDC上(例如,MC12->RDC22)。相对应的简化符号为:(UBR,UBB)->(DBR,DBB)->(TBR,TBB)->PBB。

区域间的MC(专用)-RDC(公用)。这类通信的目的是:将打印请求从专用MC发送到如下设备,所述设备附于向来自于不同区域的不同DMZ中的另一个MC注册的公用网络中的RDC上(例如,MC11->RDC24)。相对应的简化符号为:(UBR,UBB))->(DBR,DBB)->(TBR,TBB)->SBB->PBB。

区域间的MC(专用)-RDC(DMZ)。这类通信的目的是:将打印请求从专用MC发送到如下设备,所述设备附于向来自于不同区域的相同外来DMZ中的另一个MC注册的DMZ中的RDC上(例如,MC11->RDC23)。相对应的简化符号为:(UBR,UBB)->(DBR,DBB)->(TBR,TBB)->SBB->PBB。

区域间的MC(专用)-RDC(专用)。这类通信的目的是:将打印请求从专用MC发送到如下设备,所述设备附于向来自于不同区域的不同外来DMZ中的另一个MC注册的不同专用网络中的RDC上(例如,MC11->RDC22)。相对应的简化符号为:(UBR,UBB)->(DBR,DBB)->(TBR,TBB)->SBB->PBB。

系统硬件多层体系结构

在一个实施例中,该系统可以利用四层体系结构设计加以实现,如图25中的多层体系结构200所示。该体系结构的第一层包括Web服务器群(farm)(WSF)202;第二层包括消息中心群(MCF)204;第三层包括打印服务服务器群(PSSF)206;而第四层包括数据库服务器群(DBSF)。下面是对每一层的描述。

第1层:Web服务器群(WSF)。这一层包括负载平衡器(LB)208和Web服务器群202。所述负载平衡器获取新来的请求并且将它们发布给Web服务器群中的其中一个Web服务器。所述Web服务器共用同一个URL;因此,用户只须记住访问该系统的一个URL即可。请求的发布取决于负载平衡器208的配置结构。负载平衡器维护Web服务器位置并请求分派。已分配的Web服务器在本地执行脚本,并更新存储在NFS(网络文件系统)上的数据库210,或者通过将公共数据库访问接口调用至相应的数据库服务器群来更新SAN(存储区网络)设备212。此外,负载平衡器可以向管理员发送警告信息,以表明Web服务器群中的任何错误。

第2层:消息中心群(MCF)。所述消息中心群包括消息中心软件组件的两个正在运行的副本。一个包括在处理模式下运行的初级MC214,而另一个是在备用模式下运行的次级MC216。所述初级MC总是首先响应新来的请求。如果初级MC没有作出响应,则次级MC就将使其自身切换到处理模式下以处理所述请求。接着,它向系统管理员发送警告信息以表明错误。这种失效保护(fail-over)切换是在无人干涉的情况下自动进行的。当解决了上述问题并且初级MC恢复在线状态时,次级MC就使其自身切换回到备用模式,然后通知初级MC接管。

所述系统实现了初级MC与次级MC之间的“心跳(heartbeat)检查”,以便支持自动失效保护切换。为了实现这个,每一个MC都具有两个以太网接口和一个串行端口。全部的四个以太网接口都在同一个子网中相连,并且所述串行端口也是彼此相连的。一旦安装,就在其以太网接口的其中一个(浮动接口)上为MC分配同一个浮动的(floating)IP地址,而在其它的接口(静态接口)上为其分配静态IP地址。所述初级MC在系统启动时激活(bring up)这两个以太网接口。然而次级MC仅仅激活静态接口以避免冲突。所述次级MC通过经其静态接口发出测试分组来检查初级MC的有效性。如果初级MC的浮动接口是不可获得的,作为确保,所述次级MC利用本地相连的串行端口来进行再次检查,以便更透彻地明晰上述问题。然后,所述次级MC激活其浮动接口以向新来的请求提供服务,并且向系统管理员发出警告信息。与此同时,它继续心跳检查以察觉初级MC的恢复。当初级MC恢复在线状态时,所述次级MC将其浮动接口切换掉,并发送请求以要求初级MC激活其浮动接口。为了确保次级MC总是处于备用状态,所述初级MC除了仅仅当次级MC存在问题时向管理员发送警告信息之外,还对次级MC做相同的检查。只要系统启动并运行着,所述心跳检查就会继续。可以配置心跳的时间间隔,以便调整系统可靠性及性能。

第3层:打印服务服务器群(PSSF)。这一层包括负载平衡器218和打印服务服务器群206。所述负载平衡器从消息中心群204那里获取新来的请求,并将它们发布到PSSF206中的其中一个打印服务服务器上。所述MCF总是使用同一个指定的IP来访问打印服务。请求的发布取决于负载平衡器218的配置结构。所述负载平衡器维护打印服务服务器位置及请求分派。已分配的打印服务服务器处理再现请求,当必要时将输出图像数据存放到共享的NFS或SAN设备中,然后将结果返回给MCF。所述负载平衡器还向管理员发出警告信息,以表明打印服务服务器群中的任何错误。

第4层:数据库服务器群(DBSF)。这一层包括两个数据库服务器群,包括:消息中心数据库服务器群(MCDSF)220和打印服务数据库服务器群(PSDSF)222。这些服务器群中的每一个均分别连接于NFS服务器或存储区网络(SAN)服务器224和226,所述存储区网络(SAN)服务器分别驻留各自的数据库228和230。

所述数据库服务器群按照如上所述为第2层消息中心群实施心跳检查的类似方式来对彼此实施心跳检查。然而,一些高级的商业数据库系统可以具有内嵌的服务器失效保护切换。在这种情况下,能够在无需实施“服务器群心跳检查”的情况下来实现可靠性。

可伸缩性。在第1层和第3层中更多运行实例的创建,能够帮助整个系统进行伸缩。同样也可以将任意的负载平衡器置于第2层中以充分地扩展该系统。在这种情况下,由于负载平衡器能够胜任确保每个组件可访问性的职责,因而心跳检查机制将不是必须的。

安全性。模块体系结构设计和可扩展数据库模式允许复杂的安全实施方案。第一,为了用户验证,预订数据库包括当用户通过任何支持设备登录到系统时用来验证的用户简档。如果验证失败,则就将记录存到系统上以供日后引用或调查,并且拒绝登录请求。另外,该消息中心能够实现支持高层客户机和服务器验证的公共密钥基础结构。第二,为了数据加密支持,每个模块都能够实现加密以保护内容数据。可以在文件存储到消息中心之间、消息中心到打印服务之间、打印服务到输出图像资源库之间、及文件图像资源库到RDC之间实施加密。当然,在不充分加密可能损害用户数据的情况下,过分加密可能会降低总体性能。第三,在非拒绝实施方案中,系统给每个预订者分配唯一的ID。当用户向系统提交请求时,立即用他或她的ID及时间戳来标记该请求。如果这是一个作业提交请求,那么就在系统中生成副本并记录下该副本,并在稍后将其归档以供日后引用及计费目的使用。

除了前述的安全实施方案以外,系统模块化和分布式体系结构的另一个优点就是:它允许管理员根据组织机构的需要来自定义安全设置。例如,虚拟专用网络(VPN)可以作为共享文件服务器与消息中心之间的标准设置来实施。同样,也可以在消息中心与远程桌面客户端之间实施VPN。所述系统体系结构既支持软件VPN配置也支持硬件VPN配置。也可以将整个系统配置成公共密钥基础结构,以便提供验证及授权;以便保护数据完整性及数据保密性;和以便满足非拒绝需求。

消息中心

消息中心包括一个或多个网络服务器,它们(通常)提供公用访问(例如,经由因特网),并且它们实施RDBMS(关系数据库管理系统)数据库。参照图26,在一个实施例中,消息中心MCn被驻留在UNIX服务器232上。一般而言,各种服务器类型都可以用作为消息中心主机,这些服务器类型包括:运行UNIX的服务器、微软窗口服务器以及Linux操作系统。优选地,服务器应该实现众多的组件和高效率的硬件,比如像RAID5磁盘子系统等等。

消息中心MCn包括RDBMS数据库228,在其中存储了与消息中心的操作有关的数据及其它系统组件。一般而言,所述RDBMS数据库可以由SQL RDBMS数据库软件加以驻留,上述软件是由几个供应商的其中之一提供的,所述软件包括:Oracle(例如,8i或9i)、Microsoft例如,SQL Server7或SQL Server2000)、IBM(DB2)、Informix以及Sybase。在当前的实施方案中,使用了带有网络套接字连接、PERL及C语言程序设计AP1的MySQL RDBMS。作为选择,数据库228也可以由非SQL RDBMS加以驻留。

每个消息中心都还包括用于处理上面参照图1所述的任务的各种软件模块。这些软件模块包括:消息处理器234、表更新处理器236、表维护操作238和打印服务通信信道240。另外,所述消息中心包括用于与Web通信量进行接口连接的Web服务器组件。在一个实施例中,使用了带有用以支持维护与管理以及打印服务通信操作的PHP4和SSL服务器扩展以及相关CGI应用程序的Apache Web服务器。

消息处理器234作为捆绑于专用网络端口(例如,系统端口5190)的服务来执行。所述远程桌面客户端利用这个端口而连接于消息中心,并且在会话的生命周期内保持持久性连接。消息中心与RDC之间的通信是面向连接的,并且每个会话都包括使用网络消息协议的特定阶段。当RDC启动会话发启过程时,开始消息中心与远程桌面客户端之间的通信,并且通过突然性断开连接(是由于当RDC主机(例如,PC)关机或当RDC应用程序异常中止时的网络连接丢失或RDC上的错误引起的)或者当RDC启动会话停止过程时,终止上述它们之间的通信。

表更新处理器(TUH)236包括以RDBMS系统的本地API(例如,对于MySQL RDBMS实施方案,将采用C语言和PERL语言API;对于Oracle RDBMS实施方案,将采用PLSQL存储程序等等)编写的一组数据库方法。这个模块中的方法包括以下函数:用于修改远程打印机资源状态的函数;用于添加、删除及修改无线预订者简档的函数;用于打印服务作业队列管理表更新的函数,以及其它各种函数。

表维护操作(TMO)模块238包括:一系列离散的数据库操作,这些操作执行为生成登录日志和报告、定期清除表以及校正数据库表问题所必需的维护函数。这些函数中的一些是按照特定情况来执行的,而其它函数则被预定为定期执行,例如,按照每小时一次或一周一次。可以经由端口80(或SSL)上的CGI接口来利用这个模块中的一些函数。

打印服务通信信道240为打印服务组件访问消息中心实现了消息信道。这个信道使系统中的打印服务能够连接于消息中心,以便作业队列管理状态。在一个实施例中,这个信道是通过消息中心及API上的端口80或SSL端口实现的,所述消息中心及API提供了包含CGI脚本的发消息能力。

数据库模式

一般而言,消息中心RDBMS模式包括三个独立的数据库,包括:远程打印机资源管理(RPRM)数据库242、作业打印队列管理(JPQM)数据库244和无线预订者(SUB)数据库246。所述RPRM数据库包含与打印机资源注册、RDC过程和打印机资产管理相关的表。所述JPQM数据库包含与打印作业提交相关的表,所述打印作业是由打印服务处理的。所述无线预订者数据库包含与无线预订者相关的表。

SUB数据库表

预订者表。这个表包含关于系统中的无线预订者的特定信息。该预订者在第一次注册程序期间填写这个表中的字段。与从“HTTP_X_UP_DEVCAP”起始的说明相对应的字段包括从HTTP GET首部中的无线设备返回的设备能力值,所述HTTP GET首部定义了无线设备的一些能力。SUB_NO字段将包含与预订者在注册期间输入的移动式电话号码相关联的唯一预订者号码,并且所述预订者号码被用来标识每个会话的预订者。所述索引字段SUB_ID对于每个记录来说是唯一的,并且被用来引用(即,链接)下述NETWORK_SITES和PRINTERS表。

字段 数据类型说明SUB_ID INT UNSIGNED自动增量的唯一预订者ID值SUB_NO VARCHAR 255)来自于电话浏览器的HTTP_X_UP_SUB_NO串用户名 VARCHAR(32)预订者用户名FNAME VARCHAR(32)预订者名MNAME VARCHAR(32)预订者中间名LNAME VARCHAR(32)预订者姓ADDR1 VARCHAR(48)第一地址串ADDR2 VARCHAR(48)第二地址串CITY VARCHAR(48)城市串STATE VARCHAR(2)国家缩写ZIP VARCHAR(10)邮政编码EMAIL VARCHAR(48)电子邮件地址串PIN VARCHAR(32)四位PIN号码CELLPHNUM VARCHAR(10)移动电话号码w/area代码CAP_COLOR ENUM(Y′,′N′)HTTP_X_UP_DEVCAP_ISCOLORCAP_PIX_X INT UNSIGNED HTTP_X_UP_DEVCAP_SCREENPIXEL S ″x″CAP_PIX_Y INT UNSIGNED HTTP_X_UP_DEVCAP_SCREENPIXEL S″y′CAP_DEPTH INT UNSIGENDHTTP_X_UP_DEVCAP_SCREENDEPTHCAP_MAXPDU INT UNSIGNEDHTTP_X_UP_DEVCAP_MAX_PDUSUB STATE INT UNSIGNED预订者的国家或状态(<TBD>)CREATEDATE DATETIME日期/时间串:′YYYY-MM-DD HH:MM:SS′UPDATEDATE DATETIME日期/时间串:′YYYY-MM-DD HH:MM:SS′

                    表8:预订者表说明

网络站点表。这个表包含几个字段,这些字段定义了由预订者添加的网络站点,并且还包括每个站点的登录信息。

字段 数据类型说明SITE_ID INT UNSIGNED自动增量的唯一网络站点ID值SUB_ID INT UNSIGNED从预订者表映射来的预订者ID引用SITE_NAME VARCHAR(32)站点名串SITE_ADDR VARCHAR(64)Alpha或数字网络站点标识符用户名 VARCHAR(32)网络站点的用户名PASSWORD VARCHAR(32)网络站点的密码TYPECODE INT UNSIGNED定义网络站点类型的代码(<TBD>)CURRENT ENUM(′Y′,′N′)布尔:当前值=Y或者NCREATEDATE DATETIME日期/时间串:′YYYY-MM-DD HH:MM:SS′UPDATED ATE DATETIME日期/时间串:′YYYY-MM-DD HH:MM:SS′

                     表9:网络站点表说明

打印机资源表。这个表包含需要定义特定预订者的打印机资源的信息的几个字段。

字段 数据类型说明PRINT_ID INT UNSIGNED自动增量的唯一打印机资源ID值SUB_ID INT UNSIGNED从预订者表那里映射的预订者ID引用NAME VARCHAR(32)打印机名MCID INT UNSIGNED消息中心标识符
PID INT UNSIGNED远程打印机资源标识符CURRENT ENUM(′Y′,′N′)布尔:当前值=Y或者NSTATUS INT UNSIGNED打印机状态(<TBD>)CREATEDATE DATETIME日期/时间串:′YYYY-MM-DD HH:MM:SS′UPDATEDATE DATETIME日期/时间串:′YYYY-MM-DD HH:MM:SS′

                        表10:打印机表说明

字段 数据类型说明FET_ID INT UNSIGNED自动增量的唯一打印机资源ID值SUB_ID INT UNSIGNED从预订者表那里映射的预订者ID引用NAME VARCHAR(32)传真机/电子邮件名FET_TYPE INT UNSIGNED类型枚举(传真机、电子邮件、其他?)RESOURCE VARCHAR 255)类型专用信息STATUS INT UNSIGNED这一资源的状态CREATEDATE DATETIME日期/时间串:′YYYY-MM-DD HH:MM:SS′UPDATEDATE DATETIME日期/时间串:′YYYY-MM-DD HH:MM:SS′

                表11:FAX/电子邮件表(FET)

RPRM数据库表

主打印机资源表。这个表包含全系统的远程打印机资源配置结构以及在特定消息中心上注册的每个打印资源的状态信息。

字段数据类型说明
PID INT UNSIGNED自动增量的唯一打印机资源ID值NAME VARCHAR(32)打印机名ZID INT UNSIGNED区域标识符(区域所有权)CID INT UNSIGNED与远程打印机资源相关的客户端IDMPID INT UNSIGNED驱动程序类型的Magic打印服务器标识符TYPE VARCHAR(32)打印机资源类型PRIENT_DES VARCHAR(255)自由格式打印机描述符串STATUS INT UNSIGNED打印机资源的当前状态CREATEDATE DATETIME日期/时间串:′YYYY-MM-DD HH:MM:SS′UPDATEDATE DATETIME日期/时间串:′YYYY-MM-DD HH:MM:SS′

                    表12:主打印机资源

区域描述符表。这个表定义了在全系统网络中定义的区域s的参数。这个表当中的记录都是由区域标识符(ZID)来引用的。所述区域DESC描述符、区域TYPE以及STATUS字段描述了区域的特性。

字段 数据类型说明ZID INT UNSIGNED自动增量的唯一区域ID值ZONE_DESC VARCHAR(64)区域描述符串ZONE_TYPE INT UNSIGNED区域类型列举(公用/专用)STATUS INT UNSIGNED状态列举CREATEDATE DATETIME日期/时间串:′YYYY-MM-DD HH:MM:SS′UPDATEDATE DATETIME日期/时间串:′YYYY-MM-DD HH:MM:SS′

                 表13:区域描述符表

消息中心表(MCT)。这个表包含用来引用系统中的消息中心的信息。这些过程是通过消息中心标识符(MCID)来标识的,并且它是唯一的全系统值。注意:对于所有的PUBLIC资源来说,存在总是利用等于0的MCID来引用的主消息中心;所有其它的消息中心都具有非零的正MCID值。所述MCT包含标识消息中心的区域和网络地址的信息。注意:所述主消息中心具有等于0的区域标识符(ZID);所有其它的消息中心都具有非零的正MCID值。

字段 数据类型说明MCID INT UNSIGNED自动增量的唯一消息中心ID值ZID INT UNSIGNED ZID区域标识符值MC_IPADDR VARCHAR(15)数字IP地址MC_PORT INT UNSIGNED MC_IPADDR处的机器的端口数STATUS INT UNSIGNED消息中心状态值NAME VARCHAR(64)消息中心名称串SECURITY VARCHAR(32)用于验证的安全性串CREATEDATE DATETIME日期/时间串:′YYYY-MM-DD HH:MM:SS′UPDATEDATE DATETIME日期/时间串:′YYYY-MM-DD HH:MM:SS′

                     表14:消息中心表

客户端描述符表。这个表定义了与远程打印机资源相关的单独客户端。这个表当中的记录是由客户端标识符(CID)引用的。所述CLIENTDESC、CLIENT TYPE以及姓名和地址字段定义了客户端的属性。存储在这个表中的信息是在当个人安装桌面客户端软件时或在公司防火墙后的PC上发生的注册过程期间生成的。打印作业队列信息包含CID标识符,该标识符把客户端过程与将要打印的作业关联起来。

字段数据类型说明
CID INT UNSIGNED自动增量的唯一客户端ID值CLIENT_DESC VARC HAR(64)客户端描述符串CLIENT_TYPE INT UNSIGNED客户端类型列举NAME_FIRST VARCHAR(16)客户端名NAME_MID VARCHAR(16)客户端中间名NAME_LAST VARCHAR(16)客户端姓ADDRESS1 VARCHAR(32)客户端地址ADDRESS2 VARCHAR(32)客户端地址CITY VARCHAR(32)客户端城市STATE VARCHAR(12)客户端状态ZIP VARCHAR(12)客户端邮政编码USERID VARCHAR(16)客户端用户IDPASSWORD VARCHAR(16)客户端密码EMAIL VARCHAR(32)客户端电子邮件地址STATUS INT UNSIGNED状态:(在线、离线、无效、错误)CREATEDATE DATETIME日期/时间串:′YYYY-MM-DD HH:MM:SS′UPDATEDATE DATETIME日期/时间串:′YYYY-MM-DD HH:MM:SS′

                表15:客户端描述符表

作业打印队列管理数据库表

打印服务表。这个表包含安装在网络中的已注册的打印服务。这个表是由MPID标识符引用的。(在当前的实施方案中,打印服务服务器称为“MAGICPRINT”TM服务器;由此而使用标识符名MPID。这个打印服务器在这里也称为无驱动程序的打印服务器(DPS))。名称描述符、IP地址、状态以及服务器描述符串字段都是用来定义每个打印服务器属性的。注意:为打印服务服务器上的每个驱动程序类型(DriverType)建立一个项。

字段 数据类型说明MPID INT UNSIGNED自动增量的唯一Magic打印服务器ID值NAME VARCHAR(32)Magic打印服务器名称IPADDR VARCHAR(12)Magic打印服务器IP地址STATUS INT UNSIGNED服务器状态列举ZID INT UNSIGNED区域标识符MP_Desc VARCHAR(62)服务器描述符串PRIENT_DES VARCHAR(255)打印机驱动程序描述符串SECURITY VARCHAR(32)用于安全访问的通行代码值CREATEDATE DATETIME日期/时间串:′YYYY-MM-DD HH:MM:SS′UPDATEDATE DATETIME日期/时间串:′YYYY-MM-DD HH:MM:SS′

                表16:MagicPrint服务器表

打印队列表。这个表管理网络的打印机队列。这个表当中的每一个记录都表示由QID标识符引用的单个打印作业。整个系统设计提升了推延后的打印作业能力,并且QDATE和DQDATE字段跟踪作业队列项并且如期如时(dates and times)退出。在已根据这个表处理了打印作业以后,将这个表中的大多数标识符复制到作业队列日志表中。DRIVERDESC串包含定义打印机驱动程序类型的信息,所述打印机驱动程序用于处理由PID标识符引用的以及与由CID标识符引用的桌面客户端相关联的文档及远程打印机资源。

字段 数据类型说明QID INT UNSIGNED自动增量的唯一队列ID值MPID INT UNSIGNED打印服务服务器ID值CID INT UNSIGNED打印机资源的客户端IDPID INT UNSIGNED打印机资源ID(与CID相关)
JOBOWNER VARCHAR(32)打印作业始发者的名字或IDCHECKSUM INT UNSIGNED队列文件校验总和值QFILENAME VARCHAR(32)队列文件名称串QFILESIZE INT UNSIGNED队列文件的文件大小QSTATUS INT UNSIGNED队列项状态DRIVERDESC VARCHAR(255)打印驱动程序描述符串QDATE DATETIME日期/时间串:′YYYY-MM-DD HH:MM:SS′DQDATE DATETIME日期/时间串:′YYYY-MM-DD HH:MM:SS′

                    表17:打印机队列表

作业队列日志表。所述作业队列日志表包含用以记录已处理的打印作业的信息。这个日志表中的作业是由作业日志ID(JID)值引用的。来自于打印队列表的字段被传给这个表。打印服务服务器是由MPID标识符引用的。用于打印作业的客户端是由CID标识符引用的。与CID相关联的远程打印机资源是由PID标识符引用的。另外,包含JOBOWNER描述符串以标识打印作业的始发者。

字段 数据类型说明JID INT UNSIGNED自动增量的唯一作业日志ID值MPID INT UNSIGNED Magic打印服务器ID值CID INT UNSIGNED打印机资源的客户端IDPID INT UNSIGNED打印机资源ID(与CID相关)JOBOWNER VARCHAR(32)打印作业始发者的名字或IDSTATUS INT UNSIGNED作业结束状态列举PROCDATE DATETIME日期/时间串:′YYYY-MM-DD HH:MM:SS′

                表18:作业队列日志表

在图27中示出了为打印服务PSn使用的软件组件的一个实施例的更多细节。所述软件组件逻辑上被分成四组,包括:设置组件300、消息中心通信接口301、文档处理组件302和管理组件304。这些组件中的每一个还进一步包括:一个或多个软件应用程序、脚本、组件和/或模块。设置组件300包括:打印设置模块306和账户向导模块308。消息中心通信接口301包括:打印服务器到消息中心的通信信道310。文档处理组件302包括:CGI脚本311、无驱动程序的打印服务器组件312、端口监控器314、状态监控器316和预览模块318。管理组件304包括:系统监控器320、管理(控制面板)Web页面322、自动扩展模块324和自动更新模块326。

在一个实施例中,打印设置模块306包括:由系统管理员运行以改变系统所使用的Windows打印机配置的Microsoft(MS)Windows应用程序。应用程序可以用来更换现有的打印机、安装新的打印机或删除打印机。现有打印机的更换包括:获取现有的打印机安装程序,并利用端口监控器314来替换由MS Window的端口监控器提供的操作。端口监控器314的使用允许假脱机文件被DPS系统操纵,并且允许状态监控器316将假脱机文件发送到选定的目的地输出设备。

打印设置模块306也可以用于利用适当打印机设备驱动程序来安装新打印机。例如,管理员能够通过安装供系统使用的AdobePostScript驱动程序来建立postscript打印机,所述AdobePostScript驱动程序是通过使用打印机的PostScript打印机说明(PPD)文件来使用的。如果管理员能够提供PDD,则打印机设置模块就将安装PostScript驱动程序并对其进行配置,以供DPS系统使用。在其它情况下,管理员可以为新打印机提供适当的打印机设备驱动程序软件。打印设置模块306也可以用于删除打印机。在这样一种情况下,可以将Windows端口监控器恢复成系统的端口监控器,或者可以彻底删除选定打印机的DPS服务器支持。

账户向导模块308对一组管理Web页面322应用安全措施,以便管理员的登录将确定哪组Web页面是可访问的。在一个实施例中,所述系统实施了三个管理层,包括:监控器层(monitor level)、管理器层(manager level)和管理层(administrative level)。在一个实施例中,账户向导将这三组创建为MS Windows用户组。此外,账户向导创建MS Windows用户账户,并将它们放置到其中一个管理用户组当中。在一个实施例中,账户向导模块308是MS Windows应用程序。

打印服务消息中心通信信道310实现了打印服务与消息中心之间的通信。所述通信包括:打印服务注册与解除注册;作业再现请求;作业打印请求;设备注册与解除注册;设备状态查询等等。

在图28中示出了CGI脚本311的更多细节。取消打印作业CGI脚本328用来从系统上删除打印作业请求。可以从管理Web页面322那里为任何已经提交到系统并且仍然使其假脱机文件发送给打印机的打印作业调用上述脚本。也可以从消息中心那里调用上述脚本。

自动扩展配置CGI脚本329搜索已安装应用程序的打印服务主机,发现已找到的应用程序能够支持哪些文件类型,并且配置打印服务以便允许所发现文件类型的打印作业请求。可以将这一信息转发到消息中心,以更新其资源配置信息。更新系统CGI脚本330被用来相对于最新的有效组件来比较已安装的系统组件,下载任何新的组件(当可适用时),并且将它们安装在PS主机上。

打印请求CGI脚本331从消息中心那里获取源数据(例如,文档文件、图形图像文件、或URL)以作为输入,并且创建将由打印服务处理的打印作业请求。作业队列CGI脚本332从系统中读取打印作业请求的队列,并将列表返回给脚本的调用程序(例如,MC)。预览CGI脚本333从消息中心那里获取文档文件、图形图像文件或URL,并且按照同打印请求CGI脚本相类似的方式在系统上创建打印作业请求。然而,当预览CGI脚本被调用时,所述系统将文档、图像或Web页面转换成用于在用户的始发端设备的用户界面中察看的格式,而不是将它发送到打印机以进行打印。可以为文档、图像或Web页面第二次调用所述预览CGI脚本,以便指示系统将所预览的项发送到选定的输出设备。

重置CGI脚本334关闭系统应用程序并再次启动它们。这些脚本被用作为系统管理员试图用来清除任何也许已发生过的程序错误的最终手段。状态CGI脚本335提供带有打印作业请求进度状态的管理Web页面322。

在图29中示出了由无驱动程序的打印服务器312实现的组件。所述无驱动程序的打印服务器是打印服务所使用的主要软件组件。它包括运行在打印服务主机(即,服务器计算机)上的应用程序,所述打印服务主机接收作业请求,将请求排队,并且从请求到最终打印,指导文档、图像或URL的打印处理。所述无驱动程序的打印服务器组件312包括:文件类型配置列表336、浏览器打印组件337、辅助应用程序打印组件338、Shell扩展名打印组件339、打印预览组件340、作业请求服务器组件341、作业处理组件342、句柄窗口组件343、以及作业状态组件344。

文件类型配置列表336是由无驱动程序的打印服务器来维护的。对于每种文件类型,所述配置列表具有扩展和用于打印那种文件类型的方法。当由辅助应用程序打印组件338提供打印方法时,所述列表包含:通向用来打印的应用程序的路径、应用程序用以打印的菜单命令、以及应用程序用以关闭应用程序的菜单命令。

所述浏览器打印组件337包括三种用以生成输出图像数据的无驱动程序的打印服务器的方法的其中一种。在一个实施例中,这个组件使用Microsoft Internet Explorer(IE)浏览器所提供的应用编程接口(API)。使用该IE API,所述组件在无驱动程序的打印服务器应用程序上的窗口内运行浏览器。为了打印URL,所述无驱动程序的打印服务器使用所提供的用以将Web页面加载到窗口中的导航编程接口。一旦加载了该页面,所述组件就使用IE中提供的打印编程接口来将打印操作实例化。

如果DPS服务器计算机上的IE浏览器实例配置有所请求的文档或图像文件类型的浏览器插件,那么就能使用这个方法来打印文档和图像文件。例如,考虑一下用于Adobe Acrobat的IE插件。Adobe Acrobat文档文件具有PDF扩展名。如果Acrobat插件被安装在服务器计算机上,那么IE的导航编程接口就允许将PDF文件加载到IE中,并且IE的打印编程接口将允许文件的打印。

所述辅助应用程序打印组件338提供了无驱动程序的打印服务器用以生成输出图像的另一种方法。这个组件利用文件类型配置列表336来查找与文件扩展名相关联的应用程序,将文件加载到应用程序中,执行应用程序的打印菜单命令,并且刚一结束打印操作就关闭应用程序。利用文件类型配置列表与辅助应用程序打印方法的组合,系统管理员能够通过在服务器机器上安装应用程序和编辑文件类型配置列表来为附加的文件或图像类型添加支持。

所述Shell扩展名打印组件339提供了无驱动程序的打印服务器用以打印的第三种方法。这个组件利用MS Windows Shell扩展名编程接口来进行打印。所述MS Windows Shell扩展接口是允许用户利用发送给支持所述文件类型的应用程序的命令来打印文档类型的操作系统特征。如果所述应用程序支持Shell扩展名接口,那么所述应用程序就将加载文档、打印它并关闭自身。利用文件类型配置列表与Shell扩展名打印方法的组合,系统管理员能够通过在服务器机器上安装应用程序和编辑信息类型配置列表336来为附加的文件或图像类型添加支持。

所述打印预览组件340将打印作业请求的文档、图像或URL转换成文档格式文件,以便消费者用户能够察看所请求文档、图像或URL的示例。这个组件与预览CGI脚本333协同工作。无驱动程序的打印服务器执行的其中一种转换属于Adobe Acrobat文档格式。通过利用打印预览组件,所述无驱动程序的打印服务器按照与它将用以创建用于打印的假脱机文件的相同方法来创建假脱机文件。然而,并不是将假脱机文件发送给状态监控器316以供发送到输出设备或资源库,它通过Adobe Acrobat Distiller应用程序来运行假脱机文件,所述Adobe Acrobat Distiller应用程序将文档转换成Acrobat PDF格式。这种转换要求打印机驱动程序是Adobe PostScript驱动程序。所述无驱动程序的打印服务器保存在预览过程中创建的假脱机文件,以便如果消费者用户想要打印文档的话,DPS可以只是将该假脱机文件发送给状态监控器316,所述状态监控器316于是将把它发送到打印机以进行打印。

作业请求服务器组件341从打印请求CGI脚本331那里获取打印作业请求,并且将它们排队以供处理。所述作业处理组件342管理插入到作业队列中的打印作业请求,直到生成输出图像数据假脱机文件为止。这个组件读取队列作业请求,确定三种打印方法中的哪一个将被用来进行打印,将文档、图像或URL提交到确定好的打印方法,处理正在执行的打印命令,并将假脱机文件提交到状态监控器以供存储。在输出图像生成过程的阶段期间,跟踪状态并且让任何可能被调用的状态CGI脚本335调用有效。

所述句柄Windows组件343用来提供可靠的打印。在打印过程期间,许多应用程序都显示消息框和/或对话框以通知用户谁在请求打印服务或者从用户那里采集信息。为了支持打印请求的自动处理,需要一种机制来响应任何可能出现在用于打印请求的应用程序中的消息框或对话框。这个机制是由句柄窗口组件343提供的。所述无驱动程序的打印服务器在打印过程期间监视主机服务器应用程序,以发现可能出现的消息框和对话框。当新的消息框或对话框出现时,所述句柄窗口组件就读取信息,将其与已知的消息或已知的语句进行比较,并且根据其编程逻辑来关闭消息框或对话框。下面,参照图32来论述句柄窗口组件的更多细节。

提供作业状态组件344以便维护每个无驱动程序的打印服务器队列中的所有作业的存储器映射文件。在定期时间间隔,将作业状态信息写入存储器映射文件,以便状态CGI脚本能够读取作业请求的状态。

端口监控器包括:MS Windows打印子系统中的标准组件。所述端口监控器经由打印子系统、从打印机驱动程序那里接收假脱机数据。传统的端口监控器负责从打印机驱动程序那里获取假脱机数据并将其交付给打印机。在无驱动程序的打印服务器中,端口监控器模块314(图27)将假脱机数据写入文件。一旦整个假脱机文件都已被写入文件,端口监控器模块314就发消息告知无驱动程序的打印服务器该假脱机文件的名称及位置。

状态监控器316包括运行在服务器计算机上的应用程序。它执行多种功能,不过它主要是负责将假脱机文件发送给打印机。在从端口监控器314那里发消息告知无驱动程序的打印服务器假脱机文件的位置之后,所述无驱动程序的打印服务器就发消息告知状态监控器316该假脱机文件的位置、假脱机文件应被发送到的打印机URL、以及用于将假脱机文件发送给打印机的协议信息。状态监控器316为每个请求打印机URL创建队列。由于打印机一次仅能接收一个假脱机文件,因而它将假脱机传输串行化。状态监控器316能够同时创建及维护多个队列。

在已经成功地生成了输出图像之后,状态监控器316发消息告知无驱动程序的打印服务器该作业已结束。更新作业历史,并且从无驱动程序的打印服务器队列中移除该作业。状态监控器316可以被配置成当在已经生成输出图像期间和/或在已经生成输出图像之后能向外部组件发送消息。例如,它可以被用来通知消息中心启动与打印作业的输出图像结束相对应的打印作业。

系统监控器组件320包括:监控全部其它打印服务组件、监视故障及侦听特定请求的应用程序。当从打印请求CGI脚本331那里发生打印作业时,如果不运行无驱动程序的打印服务器应用程序,则打印请求CGI脚本就能够请求系统监控器320开启无驱动程序的打印服务器,由此允许服务于打印作业请求。系统监控器320定期向无驱动程序的打印服务器发送消息,以获取程序及队列中的任何打印作业的状态。如果系统监控器察觉到故障,那么它将试图清除所述问题。

系统监控器320也可以用来下载和安装更新的打印服务系统组件。它收集系统中所有组件的版本号,并将它们发送给系统的更新Web站点。如果更新Web站点用关于新组件可用性信息予以回复的话,那么它就将取得那些组件,并将它们安装在系统上。所述系统监控器从其菜单中或从更新系统CGI脚本330中接收更新请求。

管理Web页面322允许由管理用户对系统进行远程配置和监控。使用安全特性来防止消费者用户对这些Web页面的访问。

当为了输出图像生成而提交文件时,所述无驱动程序的打印服务器打开与该文件的文件类型相对应的应用程序。例如,如果所述文件具有a.doc扩展名,则一般将打开微软字处理软件应用程序。所述应用程序继而打开该文件,并通过其内嵌的打印命令,将所提交的文件发送到选定的打印机。扩展名Web页面(未示出)显示列表文件类型信息的行(项)(在“扩展名”列中),并显示对应于所述文件类型的软件应用程序(在“应用程序名”列中)。每一项还显示扩展名的优先级(priority level)(以定义一个次序,其中按这个次序来评估带有相同扩展名的文件类型,以便为所提交的文件确定可视的应用);注册表位置(Registry Location),它标识了在OS中的何处存储关于应用程序的注册信息;应用程序的默认路径(Default Path);应用程序的可执行名称(Executable Name);以及用以打印和关闭应用程序的内部代码(internal code)。管理员能够通过激活“添加新项(add new entry)”按钮来添加新的文件类型,这将为先前Web页面中的每一列再现出带有相应编辑控件的Web页面。用户还可以更新文件类型和编辑现有的文件类型信息。

所述无驱动程序的打印服务器利用对应于文件类型值的扩展名表来确定在服务器计算机上安装哪个应用程序,以用来打印列在扩展名表上的每种文件类型的文件。所述表中的信息还用于确定打印服务服务器计算机上的可执行文件的位置。在一个实施例中,扩展名表以及各种其它的配置和打印作业数据都是在数据库中进行维护的。典型地,所述数据库将驻留在与驻留DPS软件相同的机器上,不过正像本领域技术人员将会认识到的那样,也可以使用独立的机器来驻留所述数据库。

处理打印请求

在图30中示出了举例说明响应于打印请求、由打印服务DPS系统软件组件执行的数据流程和操作的数据流程图。最初,始发端设备350的用户将从局部存储器或者远程存储器上连接于系统,并选择将要打印的源数据以及将在其上按照上述方式打印源数据的输出设备。包括用户输入352的这个信息将由相应的消息中心加以接收,所述消息中心将处理该信息以生成打印作业353。一般而言,所述打印作业将包括源数据或对源数据的引用,并且将标识出打印服务所生成的输出图像是将被存储在资源库中还是将被直接提交到输出设备。最初,由打印请求GG1脚本331来处理该打印作业,所述打印请求GG1脚本生成tmpdoc.dpsn文档354,该文档包含了打印参数以及与该打印作业相对应的其它数据。然后,经由打印请求CGI脚本,将所述tmpdoc.dpsn文档发送到作业队列356。在一个实施例中,所述作业队列包括先进先出(FIFO)类型的作业队列。作为选择,正如本领域技术人员将会认识到的那样,也可以使用其它类型的作业队列。正如上面所论述的那样,作业队列操作是由作业处理组件342来执行的。

所述作业队列由打印服务来提交将要处理的作业请求。每个请求都是由块358来处理的,在块358中,对tmpdoc.dpsn文件进行解析,以取得对应于该打印请求的打印作业参数,该打印作业参数将被存储在文档文件360中。例如,解析后的信息可以包括:打印机选择、复制份数、消费者用户的身份、文档名、正在提交打印作业的消息中心等。接着,将打印作业参数的一部分存储在DPS数据库361中。

在判断块362中,判断请求打印什么类型的文档,例如,应用程序文件、图像或Web页面URL。如果所述文档属于可浏览的文档,比如Web页面、图像或PDF文件,所述逻辑流至块364,其中经由无驱动程序的打印服务器的浏览器来加载Web页面、图像或PDF文档。否则,所述逻辑流至块366,在其中加载文档以及能够用来打印文档的适当辅助应用程序。例如,如果所述文档包括MS Excel电子表格,则就随同Excel文档一起加载MS Excel应用程序的实例。在块368中,生成内部命令以模拟请求打印操作的用户请求由浏览器或辅助应用程序来打印URL、图像或文档。例如,多数的应用程序提供文件->打印(File->Print)菜单选项,该菜单选项启动应用程序的打印过程。

响应于内部应用程序或浏览器打印请求,各种打印信息及文档信息被内部地传递给处理打印机操作的操作系统组件。正如上面所论述的那样,在一个实施例中,所述无驱动程序的打印服务器是在MS WindowsOS环境下工作的。因此,这个环境提供了OS打印子系统369以便生成将发送给目标打印机374以生成输出文件的适当打印机(即,输出设备)数据,其中所述OS打印子系统包括与对应于选定打印机的打印机设备驱动程序372相交互的图形设备接口(图形设备接口)组件370。所述打印机数据由MS Windows打印假脱机组件376作内部处理,所述打印假脱机组件输出端口监控器314所接收到的打印假脱机文件。在举例说明的示例中,假定:目的地输出设备DDEST包括PostScript打印机。于是,端口监控器314输出PostScipt文件378。

虽然进行的是上述操作,但是始发端设备350的用户也可以在使源数据被打印之前先选择预览模拟后的文档、图像或Web页面的打印输出。在判断块380中,判断用户是否请求预览打印机输出。如果回答为是(真)的话,那么在一个实施例中,就运行Adobe AcrobatDistiller382的实例,该实例用于生成Adobe可移植文档格式(PDF)文档384。接着,由预览CGI脚本333处理该PDF文档,当运行在始发端设备上的浏览器经由Adobe PDF插件再现所述文档时,所述预览CGI脚本通过消息中心MCn把文档发送回始发端设备350。已再现的显示器(未示出)将提供所打印的文档将看起来像什么的预览,并且包括将使消费者用户能选择打印或取消文档的用户界面(UI)控件。

如果消费者用户希望打印文档,则将打印通知送回消息中心MCn,在该消息中心将由预览CGI脚本333来对其进行处理。响应于打印通知的接收,预览CGI CGI脚本333开启状态监控器316,并依据输出图像数据将要送达的地点来把打印文档378提交到目的地输出设备DDEST或输出资源库78。结合这一事件,在DPS数据库361中更新作业历史信息。另外,一旦输出图像被打印,就将打印已结束通知380送回状态监控器316,该状态监控器继而将所述通知作为作业状态消息381转发回消息中心MCn。

如果消费者用户没有选择打印预览选项,则判断块382的回答就为否(假),这导致启动状态监控器316并向目的地输出设备DDEST或输出资源库78提交打印文档378。在打印过程期间,状态监控器116监控处理的进度并更新DPS数据库361。正如作业状态消息381描绘的那样,状态CGI脚本335用于从数据库那里检索进度信息并生成适当的HTML以送回提交相应打印作业的消息中心,来给消息中心提供打印状态信息。

在一个实施例中,所述无驱动程序的打印服务器支持打印机文件的直接打印。例如,如果打印作业文件包括打印机文件,那么若它对应于打印机文件类型的目的地输出设备的话则就可以直接打印它。例如,可以在PostScript打印机上打印PostScript文件。同样,用于其它类型打印机的打印机文件也许已经预先在打印过程期间通过选择“保存到文件(save to file)”选项而被创建了。如果在判断块362中判定该文件为打印机文件的话,则所述逻辑前进至块367,其中打印机文件(经打印机文件367描绘的)被直接发送给Windows打印假脱机程序376。

正如输出图像文件引用386描绘的那样,如果输出图像被存放在输出资源库78中而不是被发送给输出设备,则状态监控器316就经由作业状态消息381、随同输出图像文件的名称及位置一起发送消息中心MCn标记,所述作业状态消息是对应于打印作业的输出图像文件已经存储在资源库中的消息。

在图31中示出了无驱动程序的打印服务器软件46的内部操作的更多细节。如前所述,操作始发端设备350的消费者用户经由适合于始发端设备的用户界面(例如,迷你浏览器UI 107或浏览器UI 124)来请求打印源数据(例如,文档、图像文件或Web页面)。响应于适当UI页面上的“现在打印(print now)”按钮的激活,打印请求CGI脚本331对用户输入数据进行处理,所述打印请求CGI脚本创建tmpdoc.dpsn文档354。所述打印请求CGI脚本还将含有打印请求的消息输送到新的作业管道服务器390,该作业管道服务器存储消息队列392中的消息。对于每个打印请求消息,信息排队处理程序394开启相应的线程,所述线程解析相应的tmpdox.dpsn文档354,借此生成文档文件360并向作业队列356提交打印请求。

正如开始作业队列循环块396及终止作业队列循环块397所描绘的那样,为打印作业执行这些循环端点之间所显示出的下列操作及逻辑。首先,在块398中,从作业队列356中检索下一个作业。在判断块400中,判断打印作业对应于什么类型的文档。如果所述文档是应用程序文件,则所述逻辑就前进至判断块402,在该块中判断应该采用什么类型的文件类型打印方法。如果所述文件需要辅助应用程序(例如,MS Word、MS Excel、AutoCAD等等),那么所述逻辑就前进至块366,在该块中按照上述方式来加载文档及适当的辅助应用程序。如前所述,一旦所述文件被加载到辅助应用程序中,就在块368中内部地生成文件打印命令,以便提交用于由OS来打印的文件。

接下来,在判断块404中,判断是否从端口监控器314接收到“已结束”消息。这种判断是按定期进行的,或是通过软件中断机制来进行的,直到接收到“已结束”消息为止。继而,如前所述,状态监控器316始于块406,该块将打印文档378发送给目标打印机374并且更新DPS数据库386中的作业历史数据。

返回至判断块400和402,如果文件类型是Web页面或是无驱动程序的打印服务器计算机能在无需辅助应用程序的情况下直接打印的文件类型(例如,PDF文档或各种类型的的图像文件),那么所述逻辑就前进至块364,其中所述DPS计算机的浏览器被导航至Web页面的URL,或者使用浏览器来再现所述PDF文件或图像文件。一旦进行了再现,就从块368开始,按照上述方式来执行保持打印操作。正如上面所论述的那样,如果所述文件类型是打印机文件,那么就将该文档直接发送给Windows打印假脱机程序376。

在图32中示出了详述句柄窗口组件343所提供的逻辑和操作的流程图。如图30中的开始块450所示,在判断块362的开始运行句柄窗口线程,并且紧接其后立即在块368中调用打印动作。正如上面所论述的那样,句柄窗口组件用于处理当加载应用程序时、当将文档载入应用程序中时、当启动打印动作时、在打印过程期间等等可以运行的各种对话框和消息框。

返回至图32的流程图,在块452中,刚一运行,所述句柄Window线程就判断是否有更多的桌上型窗口要检查。这种窗口将一般包括对话框和消息框。正如终止块454中的终止线程所描绘的那样,如果没有其它窗口要检查,则就终止该线程。如果存在其它窗口要检查,则所述逻辑就前进至块456,在该块中获得窗口的窗口信息。在MSWindows操作系统下,窗口信息可以通过进行适当的Windows API调用来获得。

接下来,在判断块458中,判断所述窗口是否为再现应用程序的子窗口(即,它是否是由辅助应用程序或浏览器生成的)。如果判定为否,那么所述窗口就不对应于再现应用程序,并且所述逻辑前进至判断块452以评估下一个窗口。如果判断块458的回答为是(真),那么所述逻辑就前进至块460,在其中检查窗口的文本按钮及控制按钮。

正如判断块462所判定的那样,如果文本匹配标准消息串,那么所述逻辑就前进至块464,在其中内部地提供窗口关闭命令以仿真用户激活或关闭窗口上的按钮或是窗口框架中的窗口关闭图标。所述逻辑继而返回到判断块452以处理下一个窗口。

如果所述文本不匹配标准消息串,则判断块462的回答为否(假),并且所述逻辑前进至判断块466,在该块中判断所述文本是否匹配DPS数据库386当中的句柄窗口表470中所存储的相应项列表MessageText值。如果存在匹配值,则所述逻辑前进至块468,在该块中通过检索匹配MessageText值的行中的数据并根据该数据提供的参数向Windows API发出相应的消息,来执行表命令。例如,在图472的顶端示出了典型的项列表行472。所述行包含关于Windows API的信息,包括Message、Wparam及Lparam值。这些参数用来进行相应的API调用,以实现用于处理窗口的期望操作。一旦执行了所述表命令,或者如果判断块466的回答为否(假),那么所述逻辑就返回到判断块452以开始处理下一个窗口。

用户帐户设置

参照图33-37,所述系统提供了各种用户界面屏幕以使用户能设置他们的帐户和配置参数,比如网络、打印机、传真及联系。正如上面所论述的那样,这些UI屏幕将典型地包括用于有线和无线网络访问的基于HTML的web页面、以及用于那些经由蜂窝式基础结构来访问系统的设备的基于WAP的卡。设置过程包括在图33中的web页面500的顶端显示的多个操作。这些操作包括:开始设置操作502、文件服务器访问设置操作504、收藏打印机设置506、传真设置操作508、联系列表设置操作510、以及终止设置操作512。在通过这些操作允许安装各种参数之前,用户将不得不使用典型的用户验证方案来向系统注册,所述用户验证方案涉及用户名和个人标识号码(PIN)。

用户通过登录到系统中并导航至帐户设置屏幕或者设定屏幕来开始设置过程。可以经由几导航方案来访问包含类似于下述那些内容的各种屏幕。在设置操作期间,用户将定义涉及一个或多个文件服务器的参数,其中用户在随后的用户会话期间可能希望从所述文件服务器那里访问源数据。依照web页面500,使用户能够在编辑框514和516中定义服务器名(即,别名)和相应的服务器地址。所述用户也将能够分别在编辑框518和520输入帐户名和密码,同时在编辑框522中输入确认密码。最后,用户将经由下拉列表524选择文件服务器类型。在所有参数都已被输入之后,用户将激活“现在添加服务器(ADDSERVER NOW)”按钮526,借此令web页面向驻留web页面的消息中心返回参数。所述参数继而被存储在消息中心数据库228中的网络站点表中。

图33举例说明了web页面500A,该页面描绘了在用户已经添加几个服务器之后web页面500可能呈现为何样。如服务器名列528中所示,用户可以为服务器命名用户期望的任何名称(在合理的长度限制内,比如32个字母)。由于网络站点表经由SUB_ID外部关键字引用预订者表并使用代用品主关键字(SITE_ID),因而多个用户能够使用同一个服务器名,而不会引起混淆,比如服务器、家庭网络等等。然而,能为用户所看见的服务器仅是那些用户曾预先注册过的服务器。

如主机地址列(Host Address)530中所示,用户可以使用IP地址(例如200.221、219.218)或域名(例如,ftp、prlsip、com)来标识服务器(主机)地址。文件服务器类型列(File Server Type)532列出用户已经添加的服务器的服务器类型。转换成这些参数可以通过激活“编辑(EDIT)”按钮534来进行,同时可以经由“删除(REMOVE)”按钮536来删除服务器。

在用户已经设置了他或她的服务器之后,该用户将激活“下一页>(NEXT>)”按钮538,该按钮使设置过程转到收藏打印机设置操作506,正如图35中的Web页面540所举例说明的那样。此时,用户面前出现了用于选择打印机(即,输出设备)的两个选项。“选择(SELECT)”按钮542的激活使用户能在预先配置的打印列表中搜索打印机,而“搜索(SEARCH)”按钮544的激活使用户能经由一个或多个输入参数搜索打印机。一般而言,预先配置的打印列表将由用户为其工作的公司或者企业的管理员经由一组独立的管理web页面来配置,所述这组独立的管理web页面仅对管理员可用。该用户面前将出现打印机列表,并且可以选择作为“收藏”打印机的列表中的一个或多个打印机。

搜索(SEARCH)按钮544的激活将令Web页面546转而向用户提供服务。这个Web页面包括几个编辑框,在其中用户能够有选择地输入搜索信息,包括“按城市(By City)”编辑框458、“按州(By State)”编辑框550、“按邮政编码(By Zip Code)”编辑框552、“按交易(By Business)”编辑框554、“按打印机别名(By PrinterNickname)”编辑框556、“按打印机制造商(By PrinterManufacture)”编辑框558、以及“按打印机型号(By Printer Model)”编辑框560。响应于“现在搜索(SEARCH NOW)”按钮562的激活,所述系统将试图识别既对于用户而言可用的又符合用户搜索条件的任何已注册的打印机。例如,响应于在“按州(By State)”编辑框550中输入的华盛顿这一搜索条件值,而返回一组示范性的三个打印机。接着,通过点选对应于列表中每一行的复选框564,可以选择返回列表中的打印机以将其添加到用户的打印机列表。所述用户于是将激活“完成(FINISHED)”按钮566来保存选定的打印机,从而将用户返回到Web页面540(A)。这时,所述Web页面将在收藏打印机列表568中显示出任何预先选定的打印机。如果期望的话,该用户就可以经由激活按钮570而从列表中删除打印机。

在用户已经将打印机添加到他或她的收藏列表之后,该用户将激活“下一页>(NEXT>)”按钮572,从而令设置过程前进至传真设置操作508。这将让用户转入到一系列传真设置Web页面(未示出)。这些页面使用户能选择默认的外发传真及预先配置的封面。随后,该用户在联系列表设置操作510期间可以通过使用一组联系列表设置Web页面(未示出)而有选择地添加联系信息。所述联系信息使用户能更容易地将文档及传真发送到列在他们联系列表上的人。

WAP UI示例

正如上面所论述的那样,在一个实施例中,启用无线Web的设备能够经由WAP网关110来访问系统(图20)。WAP接口包括除它们是以WML来编码且包含显著较少的数据之外大致类似于基于HTML的Web页面的“卡”的“平台(deck)”。此外,设计WAP卡以使它们能够利用极小的用户界面加以导航。参照图38的图标符号,在图39-52中示出了与示范性的基于WAP的用户界面相对应的各种WAP卡的细节及操作。在一个实施例中,使用一组CGI脚本来自动地生成WAP卡。

参照图39和40,用户按照下列方式使用WAP启用的设备来访问系统。首先,用户按照上述方式访问他或她的无线因特网网关。该用户于是将直接地或者通过记住的链接(即,收藏链接等等)输入系统的URL。继而,将向对应于WAP卡1的用户提供闪光(splash)屏幕600。在登录的初始部分期间,所述系统将标识无线设备(例如,通过设备电话号码或其它的唯一标识符),并且试图借助于数据库查询601、通过消息中心数据库228中的预订者表检索对应于设备的信息。如果所述设备被标识,则该用户已经预先向系统注册了该设备。因此,该用户面前将出现对应于WAP卡2的登录屏幕602。根据在预订者表中预先输入的信息,将在屏幕上显现出用户的名(或其它标识符),并且将要求该用户输入他或她的PIN。如果输入的PIN匹配所存储的PIN,则将让该用户登录到系统中。如果否,则该用户面前将出现请求重新输入PIN的屏幕604。如果PIN登录再次失败,则该用户面前将出现要求如果用户期望PIN则用电子邮件向他邮寄PIN的屏幕606。

如果用户的无线设备对系统而言是新的,则数据库查询601的结果就将为空(Null),并且所述逻辑将前进至初始的登录屏幕606,在其中用户输入用户名和PIN。如果输入了无效PIN,则将在所述设备上显示请求新的PIN登录的屏幕610。PIN登录刚一成功,确认屏幕612就将出现在用户面前。参照图40,一旦已经输入用户名和PIN,就由预订者表构成数据库查询613,以检索用户的电子邮件地址。如果所述用户是新用户或者未发现电子邮件地址,则就请求该用户经由屏幕614输入电子邮件地址。如果发现现有的用户电子邮件地址,则就将经由数据库查询616来更新新设备的预订者表项。作为替换,一旦输入了新的用户名、PIN和电子邮件地址,新的预订者记录就经由数据库查询618而被插入到预订者表中。

一旦用户得到了确认,就判断该用户是否具有任何经由数据库622而预先配置的网络站点。如果该用户具有预先配置的网络站点,则所述逻辑就前进以执行CGI脚本2,所述CGI脚本的细节在图41中示出了;否则的话,所述逻辑就跳至图43中所示的导航位置5。

参照图41,响应于CGI脚本3的执行,用户面前将出现站点选择屏幕624,该屏幕使用户能选择网络站点,其中与用户希望打印的文档相对应的源数据就位于上述网络站点。如果期望的话,所述用户可以选择设置新的网络站点,这将使所述逻辑跳至导航位置5。

一旦已经选择了网络站点,CG1脚本4的执行就开始了,这会生成图42.中所示的网络导航屏幕626、628和630。这些屏幕使用户能将网络站点导航至与用户希望打印的文档文件相对应的浏览器。一旦用户已经选择了文档,就使用CGI脚本3来生成屏幕632,在该屏幕中显示了网络站点名称和文档文件名称。这个屏幕还使用户能经由打印(Print)、传真(FAX)和电子邮件(Email)选项634来选择用户期望输出的什么类型。

参照图3,刚一跳至导航位置5,所述用户面前就会出现设置屏幕636。这个屏幕使用户能设置包括网络站点、打印机在内的各种收藏,并且定义传真和电子邮件信息。网络站点(Network Site)选项的选择使用户前进至文件服务器添加屏幕638,经由该屏幕用户能够按照类似于上面参照经由Web页面500来添加新网络站点的方式、通过提供URL或IP地址、用户名与密码来添加新的网络站点。如前所述,用户名和密码都属于将要添加的特定网络。刚一选择添加网络站点,所述用户面前就会出现确认屏幕640。如图44所示,一旦用户已经经由OK选项选择添加网络站点,就会执行CGI脚本9以便经由数据库查询642来把已输入的数据存储到网络站点表中,于是在用户的设备上再现出确认服务器已被添加的屏幕644。

响应于从屏幕636上选择传真(FAX)选项,所述用户面前出现添加传真屏幕646,用户经由所述添加传真屏幕,能够通过指定名称和传真号码来输入新的传真。如图46所示,一旦用户选择添加传真数据,所述用户面前就将出现确认屏幕647,并且刚一选择OK选项,就执行CGI脚本11以便经由数据库查询648而将新记录插入在传真/电子邮件表(FET)中。继而,所述用户面前会出现确认传真数据已被添加的屏幕650。

同样,响应于从屏幕636上选择电子邮件(Email)选项,所述用户面前将会出现电子邮件添加屏幕652,在该屏幕中用户将输入电子邮件名称(即,别名)和电子邮件地址,于是选择添加新的电子邮件信息,由此所述用户面前将出现确认屏幕653。如图47所示,刚一经由OK选项接受,就执行CGI脚本12以便经由数据库查询654而将新记录插入在FET表中。继而,所述用户面前会出现确认电子邮件数据已被添加的屏幕656。

如图45所示,响应于从屏幕636上选择打印机(Printer)选项,所述用户面前出现添加打印机屏幕658,经由该屏幕用户能够经由类似于上面参照Web页面540和546所述的搜索条件来选择要添加的打印机。一旦该用户经由返回选择列表选择添加打印机,所述用户面前就将出现确认屏幕660,并且刚一选择OK选项,就经由数据库查询662而添加打印机表中的新记录。继而,所述用户面前会出现确认新打印机已被添加的屏幕664。

返回到图41中的屏幕632,一旦已经选定了文档文件,所述用户就可以经由打印(Print)、传真(FAX)和电子邮件(Email)选项634,在选定打印机上打印所述文档,将所述文档传真至选定的传真机(经由机器的传真号码),或者将所述文档电邮至选定的电子邮件接收方。打印(Print)选项的激活会运行CGI脚本13,从而生成图48中所示的打印机选择屏幕666。这个屏幕使用户能从已经预先被添加到用户收藏打印机列表的打印机当中选择打印机。刚一选择了列表中的打印机,所述用户面前就会出现标识将要打印的文档以及选定的打印机的配置屏幕668。如图52所示,OK选项的激活令CGI脚本16被执行。依照打印请求,相应的打印作业将经由数据库查询670而被放入打印队列表中,并且作业队列确认屏幕672将出现在用户面前。一旦打印作业已经被排队,就按照上述方式通过消息中心、RDC与打印服务的适当组合来对其进行处理,以使得在选定的打印机上打印所述文档。

从屏幕632上激活传真(FAX)选项,会运行CGI脚本14,从而生成图49中所示的传真选择屏幕674。这个屏幕使用户能从已经预先被添加到用户收藏传真列表的传真当中选择传真,或者使用户能输入尚未在传真列表中设置的传真机号码。如果按后一种情况用户选择输入传真机号码,那么所述用户面前就会出现屏幕676,通过所这个屏幕能够输入所述号码。从屏幕676上选择OK选项或者从屏幕674上选择预先配置的传真机,都将令确认屏幕676得以再现。刚一选择OK选项,就会执行CGI脚本16,其中在这种情况下,传真作业信息将经由数据库查询678而被插入到传真/电子邮件队列表中。一旦传真作业已经被排队,就通过适当的消息中心来对其进行处理,这将按照有点类似于打印服务处理用于打印的文档时的方式来生成对应于所述文档的传真数据,并且根据其传真号码来将传真数据发送到指定的传真机。

电子邮件请求的处理以类似于传真请求的方式进行。如图50所示,这个过程是通过从屏幕632上激活电子邮件(Email)选项而发启的,从而将运行CGI脚本15。这个CGI脚本首先生成电子邮件选择屏幕682,该屏幕使用户能(经由相应的电子邮件别名)从用户预先配置的收藏电子邮件接收方列表当中选择将要把文档发送到的电子邮件地址,或者使用户能输入尚未配置的某人的新电子邮件地址。如果用户选择人工地输入未列入表中的电子邮件地址,那么所述用户面前就会出现屏幕684,经由该屏幕能够输入地址。从屏幕684上选择OK选项或者从屏幕682上选择预先配置的电子邮件接收方,都将会令确认屏幕686得以再现。刚一选择OK选项,就将执行CGI脚本16,其中在这种情况下,电子邮件作业信息将经由数据库查询678而被插入到传真/电子邮件队列表中。一旦电子邮件作业已经被排队,就通过适当的消息中心来对其进行处理,从而将生成带有附加的选定文档文件的电子邮件消息,并且通过接收方的电子邮件地址或通过经由屏幕684输入的电子邮件地址,将所述电子邮件发送至选定的接收方。作为选择,可以将文档的内容包含在电子邮件的主体中。电子邮件生成的更多细节在于2002年3月21日提交的序号为No.xxxx的、名为“经由电子邮件进行打印的方法和系统(METHOD AND SYSTEM TO PRINT VIA E-MAIL)”的共同待审美国专利申请作了论述,将该篇申请中包含的说明书和附图全部引入于此以供参考。

返回到图39中的屏幕606,响应于用以使他或她的PIN经由电子邮件来发送的用户请求,所述系统将从消息中心数据库228中检索所述用户的PIN,自动地生成按名字标识用户且包含PIN的电子邮件,并且经由用户预先注册的电子邮件地址而将该电子邮件回送给用户。然后,如图52所示,执行CGI脚本17。如果所述电子邮件消息被成功发送,那么标识这一成功发送的屏幕688被再现。如果在发送电子邮件地址的过程中出现了故障,那么就在屏幕690上再现出相应的故障信息。

文档预览导航

可选择的其中一种作业请求的输出方法就是文档预览。由于通常受限的显示能力(例如,小屏幕、非标准的画面长宽比以及低像素分辨率),当在输出设备上进行再现时将如何呈现文档的预览是一个非平凡的且很有挑战性的任务。另外,预览请求所需的响应时间要比打印请求所需的响应时间更加严格。所述输出管理系统在两个方向上解决了这些难题。对于图像文件而言,它创建浓淡处理的缩微图并且校准最终输出尺寸,以符合垂直与水平尺寸而不会损失画面长宽比。对于非图像文件而言,它将所述文件转换成纯文本格式而不会损失页面比例关系,并且将每一个页面分割成一系列卡,然后引用允许在垂直与水平方向上的页面导航来将这些卡链接起来。

图700中的图700举例说明了转换是如何发生的。所述过程始于原始图像702。在第一行,根据掌上设备706的显示能力而生成缩微图704,而在第二行,根据蜂窝式电话710提供的更低的屏幕分辨率来生成更小的缩微图708。注意:用于蜂窝式电话的缩微图未覆盖整个屏幕,以便保持画面长宽比。

图54中的图712举例说明了察看转换过程的文本文档。正如上述那样,根据文本排列顺序将输出文件的文本页面分解为WAP卡。例如,第一个256字节的页面被转换成第一张卡(标签“1”),下一个256字节的页面被转换成第二张卡,诸如此类。初始文本页面中的图像将用链接着卡的图像来替换,以标识它们在初始环境中的放置,正如图像链接714和预览图像716分别描绘的那样。用户可以利用这些链接来预览根据前述图像察看转换机制生成的图像。这一布局允许在上、下方向上以及跨越不同页面的页面导航。因为保持了页面比例关系,所以用户也可以进行随机访问以预览这些页面。

除了顺序式的文本文档之外,所述系统还能够提供对电子表格类型文档的预览,正如图55中的图718所举例说明的那样。预览规则(即,顺序式文本)文档与预览电子表格之间的差异就在于:电子表格的预览需要保存其实际的布局。因此,电子表格的预览需要在垂直与水平尺寸上嵌入。图55中的示例对应于双页面的电子表格文档,所述双页面电子表格文档被转换成两个9张卡的预览页面,每一个页面都包括两个或多个链接(当可用时),以便导航至另一个页面。例如,第一张卡720包括转到卡724的“向右”链接722和转到卡728的“向下”链接726。还提供链以便在页面之间进行导航。因为保持了页面比例关系,用户也可以进行随机访问以便预览这些页面。

即时消息传送集成

即时消息传送技术的迅速增长的数目和广泛的接受已经让即时消息成为了用于连接用户们的大型系统。即时消息传送传送使用户能以简单且近乎实时的方式来交换文本消息、聊天以及向朋友及家人发送图像或语音问候语。然而,由于最初是为文本交换而设计的,因而总体上来讲它不具有对信息或资源共享的感知。因此,所述输出管理系统能够介入以弥补其不足之处。

所述系统使即时消息传送用户能让它们的伙伴共享其资源。所述资源不局限于其类型、连接性(内部或外部、网络或本地)或者运行平台,只要所述设备是在网络资源上被共享的即可,所述网络资源包括但不限于:文件、软盘或光盘驱动程序、以及网络文件系统(即,共享文件目录等等)。当用户宣布其共享资源的可利用时,这些资源对于他们的伙伴而言都将是可见的。继而,他们的伙伴就可以通过按压按钮来从其它人的本地目录上下载文件,将文件拖拽到其它人的软盘或光盘,通过点击驱动程序链接来察看其它人的本地驱动程序目录,而除了即时消息传送操作区域当中的一次输出管理系统部署并且在启用远程桌面客户端的情况下让用户运行即时消息传送工具以外,所有的这些都不需要显著地重现系统管理工作。

为了实现即时消息传送区域中的资源共享,即时消息传送客户端需要具备远程桌面客户端能力。所述远程桌面客户端帮助客户端机器通过向消息中心注册来公布其共享的资源。刚一注册结束,所述客户端机器就能够发送和接收资源共享请求。为了提高上述性能,优选地,即时消息传送操作商应该安装其自己的消息中心以便管理其客户端,而不是依赖于根消息中心。

在图56中示出了举例说明示范性的即时消息传送集成实施方案图729。在此例中,两个公用消息中心MC1和MC2位于即时消息传送(IM)运营网络730内,每一个消息中心都包括集成的打印服务。这些消息中心都向区域0的根消息中心MC0注册。每个即时消息传送客户端732用户都在同一个主机上运行远程桌面客户端,并且都向IM运营商的网络730中的其中一个消息中心进行注册。在这个配置结构中,所有的即时消息传送客户端用户都能够访问彼此的共享资源而不必咨询根消息中心。如果期望的话,则为了性能考虑,IM网络运营商可以安设更多的消息中心以便按比例扩大所述系统。

举例说明的系统为设备共享采用了Microsoft Windows的新体系结构。以使用打印机驱动程序为例,可以在请求时、通过远程桌面客户端来向另一个主机传送Windows共享式打印机的设备驱动程序。在下载并安装所述打印机驱动程序之后,用户可以把其它人的打印机当作共享网络设备来进行访问。这将Windows中的设备共享概念扩展到更大的范围。这种配置结构中的网络被扩展至整个即时消息传送网络,而不是LAN。接着,即时消息传送用户能向彼此的共享设备输出文件,就仿佛他们是在同一个LAN上相连着的一样,而与此同时远程桌面客户端则做着全部的工作。

多媒体消息传送服务集成

不久前,通常由于低网络带宽和缺乏处理能力,无线设备上的无线计算还仍只是限于面向文本的应用程序。近日,一些运营商已经为一套更广泛的服务引入支持,比如像WAP应用程序。尽管初始反应并非势不可挡,但是多数的无线运营商相信,提供那些将给用户提供更多引人注目的体验的服务将是必然的。这将需要更高的网络带宽,更多有能力的硬件,并功能更强的设备。所有来自于运营商、基础结构供应商、和设备制造商的努力都已引发“3G”(第三代)无线通讯的到来。

许多移动设备制造商已经开始致力于3G服务开发,包括视频片断的支持、MP3、放映幻灯片、视频会议等等。这些均落入到广义范畴的多媒体无线技术方案中。目前系统的体系结构通过提供多媒体输出管理的公共平台来适合这种多媒体与移动计算环境。在图57中示出了与正由其中一个行业先行者诺基亚(Nokia)研发的、称为多媒体消息传送服务(MMS)的多媒体综合系统相对应的图734。

在此例中,部署了入站网关736及出站网关738,以便它们两者都连接于MMSC以及输出管理网络740内的消息中心MC1。所述入站网关从有MMS能力的设备742那里接收移动发启的MMS请求,将这种请求转换并交付给消息中心MC1以供进一步处理。典型的请求可以是:将电影片断保存到共享文件服务器上,将相片图像打印到彩色激光打印机,或将MP3音频消息中继到上述已通电的输出管理系统的即时消息传送客户端。所述出站MMS网关接收从输出管理客户端指定到MMS设备的一般请求。它将这些请求转换成符合MMS的格式,并将它们发送到多媒体消息传送服务中心(MMSC)744以供传送。所述系统能够采用MMS操作网络746中的任一根消息中心来支持启用MMS的消息中心与客户端之间的有效资源共享。在一个实施例中,所述入站网关和出站网关可以被定位于同一处(即,驻留在同一个装置上)以便将硬件成本最小化。这种体系结构利用作为管道的输出管理系统来平衡对非MMS客户端的MMS服务。在修改入站网关的进入接口和出站网关的输出接口的情况下,多媒体消息传送服务集成的一般概念能够适用于任何类型的多媒体服务。而其余的输出管理系统会完整无损。

经由安全CGI/VPI代理的防火墙后的文档访问/打印

正如上面所论述的那样,所述系统使用户能访问包括文档和输出设备在内的资源,其中所述资源位于防火墙之后的专用网络上。在早期的体系结构中,这个功能是通过利用穿过消息信道对消息信道的持久性通信信道来辅助实施的。参照图58,能够实现这个的另一个方法是:通过用户的CGI VPN代理。正如在图中举例说明的那样,可以对所述系统的各种用户界面750进行配置,以便从公用网络(例如,因特网60)那里通过CGI VPN代理752来路由公用用户通信,所述CGI VPN代理被设置在DMZ 754内。所述CGI VPN代理继而将通过VPN交换机756来路由所述通信,所述VPN交换机提供了通过防火墙758的安全通路,其中所述防火墙提供DMZ 754与专用内联网之间的安全保护。所述VPN交换机继而将入站通信路由到位于内联网760内的消息中心MC1。同样位于内联网内的是三个专用资源,包括:打印服务PS1、文件存储FS1以及输出设备D1。

依照举例说明的体系结构,允许公用用户经由可公开访问的用户界面(即,Web UI和WAP UI)与位于专用网络内的消息中心之间的VPN链路来访问专用资源。当Web UI和WAP UI的安全措施是可靠的时,例如通过用户验证和任意的加密技术,只有得到批准的用户才能访问VPN链路,借此维护了防火墙756的安全特性。此外,由于使用了安全CGI VPN代理,无形中消除了通过代理而攻入专用网络的黑客。

这个实施方案扩展了系统的功能,因此无需提供可公开访问的消息中心。例如,当销售代表从他们的总公司离开时,企业可能希望给其销售代表提供检索和打印存储在一个或多个专用企业网络上的文档的能力。所述CGI VPN代理与专用MC相协作,使这些销售代表能够访问专用企业网络内的文件存储,并能够将存储在那些文件存储上的文档打印到任何向所述专用MC注册过的输出设备上。

通过VPN交换机来访问专用MC的另一个方法就是:通过利用J2ME(Java 2 Micro Edition)+VPN启用的设备762。这种设备正处于研发过程中,而且预测它在不久的将来能够更加易于利用。实际上,正如图58中举例说明的那样,J2ME+VPN启用的设备具有内嵌的VPN客户端,所述VPN客户端使所述设备能直接与VPN交换机相通信,而无需VPN代理的用户。

在不带MC动专用网络上打印到资源

如图59A和59B所示,可以对系统进行配置以实现在位于不包括消息中心的专用网络上的输出设备上进行打印。例如,在图59A中所示的配置结构764,消息中心MC1被设置在DMZ 754中,而指定的打印机D1位于通过防火墙758而与DMZ相隔开的专用内联网760内。在这个配置结构中,在位于专用内联网内的远程桌面客户端RDC1与消息中心MC1之间建立了持久性连接764。

在设置操作期间,远程桌面客户端RDC1将对与消息中心MC1之间的通信进行初始化,以便打开和所述消息中心之间的持久性连接766相对应的通信链路。所述RDC于是将数据发送到消息中心MC1,所述消息中心MC1识别连接在它上面的输出设备(在这种情况下是输出设备D1)。这个信息将被存储在消息中心MC1的RPRM数据库242中。

对应于配置结构764的示范性打印操作可以按如下进行。首先,始发端设备的用户经由UI 750而与消息中心MC1相连,所述始发端设备比如是蜂窝式电话768。通过所述UI,用户能够选择例如存储在文件存储FS1上的远程源文档以便打印,所述文件存储FS1位于DMZ 754中。作为选择,依据其它MC的配置结构以及其它文件存储的位置,可以从另一个DMZ或专用网络(未示出)那里检索所述文档。当然,用户同样也可以选择存储在始发端设备上的本地源文档以便打印。

在选择文档之后,用户于是将选择输出设备;在这种情况下,输出设备D1被选定。刚一确认打印请求,就将由打印服务PS来从其文件存储那里检索所述源文档,或者若所述文档是本地源的话则就发送给打印服务。所述MC也将把信息发送到PS,该PS标识了选定的输出设备的设备能力。所述打印服务于是将生成对应于所述源文档和选定的输出设备的输出图像数据,并将所述输出图像数据作为输出图像文件存储在资源库(例如,位于文件存储FS1内的资源库)中。所述PS于是将随同对输出图像文件的引用一起,通知消息中心MC1所述作业已结束。消息中心于是将检索输出图像文件并经由持久性连接766而将它转发到远程桌面客户端RDC1。一旦接收了所述图像数据文件,所述RDC于是将把它提交到用于再现的输出设备D1。刚一结束,所述RDC就将经由持久性连接766通知消息中心MC1,于是所述MC将更新UI 750以通知用户打印作业已经结束。

在图59B中示出了生成相同最终结果的另一个配置结构770。在这种情况下,除了VPN交换机756、VCN客户端772和774的添加以外,所有组件皆与图59A中的相同。在这种情况下,消息中心MC1和远程桌面客户端RDC1将经由VPN信道776进行通信。VPN信道的使用为专用内联网760提供了最佳水平的安全性。

在上述说明和附图中,公开了能实现MS Windows操作系统组件所提供的软件操作的本发明的实施例。这不意旨局限于此,因为本发明的原理和讲授都可以应用在使用其它操作系统的实施方案中,比如基于UNIX的操作系统和基于LINUX的操作系统。举例来说,各种UNIX和LINUX操作系统都提供了OS内核组件支持的图形用户界面、应用程序API和打印能力,所述这些OS内核组件都提供了与上述MS Windows打印支持组件(例如,Windows GDI、打印假脱机程序、打印机驱动程序等等)相类似的操作。

示范性服务器计算机系统

参照图60,举例说明了通用常规计算机服务器800,它适合于在实践本发明时结合使用,并且它可以用于其中使用一台独立计算机来执行Web服务器操作的DPS服务器计算机和Web服务器计算机。可以适合于这些目的计算机系统的示例包括:操作Microsoft Windows的计算机服务器、基于UNIX和基于LINUX的操作系统。

正如本领域普通技术人员众所周知的那样,计算机服务器800包括机箱802,在机箱中安装有主板(未示出),主板上组装了适当的集成电路,其中包含了一个或多个处理器804和存储器(如DIMM或SIMM)806。还包含有监控器808,用来显示由在计算机服务器上运行的软件程序及程序模块生成的图形与文本。鼠标810(或其它指示设备)可连接于机箱802背后的串行端口(或总线端口、或USB端口),且来自于鼠标810的信号被传达给主板,从而控制显示器上的光标以及选择文本、菜单选项和图形组件,它们都是通过计算机上执行的软件程序与模块来显示于监控器808上的。另外,键盘812连接到主板,用来让用户输入文本及命令,这些文本及命令将影响计算机上正在执行的软件程序的运行。计算机服务器800还包括内置于主板上的网络接口卡(NIC)814或等效电路,以使服务器能够经由网络816来发送和接收数据。

符合本发明的文件系统存储可以经由多个硬盘818来实现,这些硬盘内部存储于机箱802内,和/或经由多个硬盘来实现,这些硬盘存储在外部磁盘阵列820当中,可以经由内置于主板上的SCSI卡822或等效SCSI电路来访问该磁盘阵列。作为选择,可以利用使用适当光纤信道(Fibre Channel)接口卡(未示出)或内置电路的光纤信道链路,来访问磁盘阵列820。

计算机服务器800通常可以包括光盘只读存储器驱动器824,它可将只读光盘插入其中,以使光盘上的可执行文件及数据能被读取,从而传输到存储器806和/或硬盘818上的存储设备当中。同样,为此目的,可以提供软盘驱动器826。还可以包括诸如光学记录媒体或DVD驱动器之类的其它大容量存储设备。由软件程序、组件及模块组成的机器指令,它们可使处理器804实现本发明如上所述的操作,在将它们加载到存储器806中由处理器804执行以前,这些机器指令将典型地分布在软盘828或CD-ROM 830(或者其它存储介质)上以及存储在一个或多个硬盘818上。或者作为选择,这些机器指令可作为载波文件经由网络816来进行加载。正如上面所呈现的那样,本发明的实施例可以用作在某种形式的处理核心(比如计算机的中央处理器)上执行的软件程序或可以用以支持这类软件程序,或者在机器可读介质上或内部实施或实现。机器可读介质包括:任何用于以机器(例如,计算机)可读的形式存储或发送信息的机构。例如,机器可读介质可以包括诸如像:只读存储器(ROM);随机存取存储器(RAM);磁盘存储器介质;光学存储介质;和闪速存储器设备等等。另外,机器可读介质可以包括诸如电信号、光学信号、声学信号之类的传送信号或者其它形式的传送信号(例如,载波、红外信号、数字信号等等)。

由此,本发明的实施例可以用作在某种形式的处理核心(比如,计算机的CPU)上执行的软件程序或用于支持这类软件程序,或者在机器可读介质上或内部实施或实现。机器可读介质包括任何用于以机器(例如,计算机)可读的形式存储或发送信息的机制。例如,机器可读介质可以包括诸如像:只读存储器(ROM);随机存取存储器(RAM);磁盘存储器介质;光学存储介质;和闪速存储器设备等等。另外,机器可读介质可以包括诸如电信号、光学信号、声学信号之类的传送信号或者其它形式的传送信号(例如,载波、红外信号、数字信号等等)。

举例说明的本发明实施例的上述说明包括理论上描述的内容,并不意指穷举或将发明限制成所公开的明确形式。虽然在这里所描述的本发明的特定实施例以及示例是为了举例说明目的,但是本领域的技术人员应将认识到,在发明范围内的各种等效修改都是可以的。

可以根据上述详细说明来对本发明作出这些修改。用在以下权利要求中的术语不应该被解释为将本发明限制成在说明书和权利要求中公开的特定实施例。而是,本发明的范围应当完全地通过以下权利要求加以确定,应将依照权利要求解释的原则来对所述权利要求进行解释。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号