远程获取对设备的暂时独占控制的方法

文档序号:6599703阅读:314来源:国知局
专利名称:远程获取对设备的暂时独占控制的方法
技术领域
本发明涉及远程获取对设备的暂时独占控制的技术。具体地说,本发明涉及通过网络远程获取对一个设备的独占控制的技术,它确定设备对一个请求远程独占控制的用户是否可用和为用户提供远程独占控制或将用户加入一个由请求对设备的独占控制的用户构成的预约队列。
背景技术
在将打印作业交给打印机打印时,打印作业一打印出来,接收方就必须到打印机去提取硬拷贝打印输出。通常,在到打印机提取他的打印输出时,接收方发现他的硬拷贝打印输出不在那里。这可能是因为接收方的打印作业在打印队列内仍排在其他打印作业的后面等待处理,或者因为他的打印作业可能已被其他人无意或有意取走。对于传真传输来说也会有这样的问题。针对这个问题,一些系统已经注意到将打印作业或者传真传输推迟到接收方到了打印机/传真机时再打印。
Canon激光传真机7000/7500采用了一种已知的推迟打印传真传输的方法。这种传真机推迟打印传真机接收到的一个传输,将这个传输存储在一个机密的电子邮箱内。数据在邮箱内一直保留到具有正当邮箱代码的人员到达传真机、键入了正当的代码后再可从邮箱取出。一旦键入了正当的邮箱代码,传真机就将这个传输打印出来。
一种推迟打印机打印的方法要求对接收方进行验证后才可打印打印作业。1999年10月4日递交的共同未决美国专利申请No.09/411,665“需验证的保密打印”(“Authenticated Secure Printing”)揭示了一种要求接收方得到验证后才可打印保密文件的方法,该申请的内容在此列作从属申请予以引用。简要地说,该申请揭示了一种将用户提供的唯一标识信息与打印作业一起提交给打印节点。接收到打印作业和唯一标识信息后,打印节点将打印作业加密,以保密方式存储起来。为了从打印机提取这个保密打印作业,具有正当验证信息的人员需向打印机提供这信息,打印机再处理和打印出这个打印作业。
在颁发给Davis等人的美国专利No.5,633,932中揭示了另一种将文件推迟到接收到来自接收方验证时打印的方法。按照这个专利,以加密格式将打印作业和头标发送给一个打印节点。如果文件被认为是“敏感的”,就将一个表示文件敏感的指示放入电子头标,将文件标为敏感的。接收到加密的文件和头标后,打印节点对头标解密,确定文件是否为敏感的,如果是,就将这个“敏感”文件一直存储到打印节点接收到来自接收方的验证后再打印。
以上这些方法提供了将打印推迟到接收到接收方的验证。然而,这些方法都没有涉及在接收方通过验证后进一步对打印操作的控制。具体地说,在以上这些方法中,在接收方通过验证后,继续打印在打印队列内由队列按接收次序排在接收方的打印作业前的所有等待处理的打印作业。因此,接收方必须等到在他的打印作业前的等待处理的其他打印作业都得到打印。此外,经验证的接收方不能从在队列内等待处理的那些打印作业中选择一个打印作业打印。此外,如果接收方在他通过验证后又提交一个打印作业,他可能必须再次验证,以便打印新提交的打印作业。再说,接收方只能打印队列已经接收的打印作业而不能人工地接入一个远程存储位置和下载一个打印作业去打印。
其他所关心的涉及精确对在打印操作中所耗费的资源(例如所用的纸张的数量和类型以及所耗费的墨水量)进行记帐。详细些说,为了对使用资源的事务所内具体部门或具体人员计费,可能要求精确地对资源进行记帐。记帐大多数都是由打印服务器内计测打印作业的软件根据谁提交打印作业来实现的。然而,这种记帐方法不能精确地反映实际使用资源的接收方,而只是标识发送方或发送部门。这在一个诸如会计处之类的部门要求另一个诸如技术处之类的部门向它发送一份文件的拷贝时尤为明显。在这种情况下,发送方(技术处)总是要为资源付费,而接收方(会计处)实际使用这些资源。结果,发送方要为他们并没有使用的资源付费。
还有所关心的是一个用户不在事务所因此不能到打印机处获取对打印机的控制使他的打印作业打印出来的情况。例如,用户可能到事务所有些迟,因此可能没有机会打印出他的打印作业在会议上分发。由于他到达事务所稍迟,他可能没有足够的时间及时打印他的打印作业供会议使用。在这种情况下,所希望的是有一种方式使用户在他不在事务所时他可以获取对一个打印机的控制,打印出他的打印作业,这样在用户到达事务所时就可以捡取。
在美国专利6,184,996(以下称为996专利)中揭示了一种通过人工改变打印作业在一个队列内的位置远程打印打印作业的方法。按照996专利,用户可以用一个浏览器接到一个打印机的Web服务器上。利用浏览器,用户因此能查看打印机的打印队列和在队列内选择一个打印作业使它提前。然而,打印作业只能根据它的优先等级在队列内提前而不能队列内提前到一个高优先权的打印作业之前。此外,996专利的方法需要对队列进行手动操作。也就是说,用户必须接到打印机的Web服务器上而且手动选择一个需提前的打印作业。因此,996专利的方法将有些劳动加到用户身上。另一个问题是,如果用户想要将他的打印作业提前到所有其他的打印作业之前以使它立即打印出来,他也不能那样做,如果在队列内他的打印作业前等待处理的打印作业中有优先权更高的打印作业的话。
996专利的方法的另一个问题是用户没有实际对队列本身的控制,因此,一旦用户提前队列内的一个打印作业,其他用户也可以接到打印机的Web服务器上,将他们的打印作业提前到在第一个用户的打印作业之前。因此,虽然第一个用户可能已经将队列内的一个打印作业提前,但他没有对队列的控制,没有办法阻止其他用户接入队列,从而他可能丢失在队列内相对其他用户提前的位置。所以,所需的是一种使用户可以获得对一个设备的功能的控制的方法,能拒绝其他用户接入这个设备和能使他们的打印作业在队列内提前和打印,而不需要手动对队列进行操作。
就对设备的独占控制来说所关注的还涉及用户试图获得对设备的遥控,但由于设备可能正忙、已经由其他人员控制或者可能暂时不正常而受到拒绝。在这种情况下,用户对控制的请求可能不断地受到拒绝,而用户可能不得不反复地试图获得控制。所以,用户只是在设备可用时请求对设备的控制的情况下才能获取控制。因此,所需要的是一种使用户能获取对设备的功能的控制而不需要反复请求控制的方法。

发明内容
本发明通过提供一种使用户能远程获取对一个设备的独占控制的系统而解决了上述这些问题。按照本发明,用户建立与设备的通信,请求获取对设备的功能的控制。如果设备可用和/或用户有权获取控制,就为用户提供对设备的远程独占控制。但是,如果设备暂时不可用,就将用户加入一个由请求对设备的远程控制的用户构成的预约队列。
因此,用户可以远程获取对一个诸如打印机之类的设备的控制,而且可以将打印作业提交给打印机和使打印机在其他打印作业前打印出他的打印作业。因此,如果用户要到会较晚,他也可以使他的打印作业打印出来等他到达事务所时来取。
而且,用户不必亲身到设备处来获取独占控制,而是可以远程获取对设备的独占控制。此外,如果设备对用户获取远程独占控制暂不可用,就将用户加入一个用户的预约队列,从而稍后为他提供远程独占控制,而不需要为获得远程独占控制再次进行请求。
因此,在本发明的一种情况下,用户通过远程建立通过网络与一个设备的通信和请求获取对这个设备的功能的远程独占控制可以远程获取对这个设备的独占控制。确定设备对要获取对设备的功能的远程独占控制的用户是否可用,在确定设备对要获取对设备的功能的远程独占控制的用户可用的情况下,为用户提供对设备的功能的远程独占控制。然而,在确定设备对需获取对设备的功能的独占控制的用户暂不可用的情况下,将用户加入一个由请求对设备的独占控制的用户构成的预约队列。
在确定设备对一个要获取远程独占控制的用户是否可用中,可以确定设备是否处在其他用户的独占控制下,或者可以确定用户是否有权获取对设备的远程独占控制。如果设备处在其他用户的独占控制下,可以确定请求对设备的远程独占控制的用户是否具有比这其他用户高的优先权,如果请求用户具有比这其他用户高的优先权,可以将设备的独占控制暂时交给请求用户,从而为请求用户提供对设备的远程独占控制。
在将用户加入请求对设备的独占控制的预约队列的情况下,可以根据用户的优先权将用户加在预约队列内的一个位置。用户在有其他用户从预约队列中撤消时在预约队列内上提,而在用户到达在预约队列内的第一位置时,为用户提供对设备的远程独占控制,并将这情况通知用户。或者,也可以是将可以获取对设备的远程独占控制通知用户后,设备等待一段预定时间,让用户确认需要提供远程独占控制。在这段预定时间过去后,可以将这个用户从预约队列中撤消,并将这情况通知用户,或者也可以是将用户移到预约队列内的一个新的位置,并将这个新的位置通知用户。新的位置可以是预约队列内的一个最末位置,也可以根据用户的优先权与预约队列内其他用户的优先权的比较确定的一个位置。
在为用户提供对设备的远程独占控制的情况下,可以获取用户的标识信息,根据所获取的标识信息可以自动地处理在打印队列内的打印作业,使得在用户保持对设备的远程独占控制期间打印用户在打印队列内等待处理的打印作业,而暂时推迟在打印队列内等待处理的其他打印作业。结果,在用户请求对设备的远程独占控制时,获取用户的标志,自动将队列内与用户的标志一致的等待处理的打印作业提前,在其他打印作业之前打印。因此,用户不需要手动地处理队列以便提前他的打印作业使这些打印作业打印出来,而是只要用用户的标识信息就可自动地执行这个过程。因此,提供了一个劳动强度不大的打印队列管理过程。
以上给出了本发明的概要,有助于迅速地理解本发明的本质。从下面结合附图对本发明的优选实施例的详细说明中可以更为充分地理解本发明。
附图简要说明

图1为可以实现本发明的网络计算环境的示意图。
图2为示出图1中的计算机的内部体系结构的详细方框图。
图3为示出图1中的打印机的内部体系结构的详细方框图。
图4为示出图1中的服务器的内部体系结构的详细方框图。
图5示出了一个可以采用本发明的系统配置。
图6A为示出提交一个要打印的打印作业的处理步骤的流程图。
图6B为示出一个打印队列插入线程的处理步骤的流程图。
图6C为示出在验证成功后获取对一个打印设备的控制的处理步骤的流程图。
图6D为示出在获取独占控制后处理一个要打印的打印作业的处理步骤的流程图。
图6E为示出一个打印队列提取线程的处理步骤的流程图。
图6F为示出在验证成功前获取对一个打印设备的控制的处理步骤的流程图。
图7示出了对于第一例子的在一个打印队列内的打印作业的排列情况。
图8示出了对于第二例子的在一个打印队列内的打印作业的排列情况。
图9示出了对于第三个例子的在一个打印队列内的打印作业的排列情况。
图10至12示出了对于第四个例子的在一个打印队列内的打印作业的排列情况。
图13示出了另一个可以采用本发明的系统配置。
图14示出了另一个可以采用本发明的系统配置。
图15示出了一个可以采用本发明的传真系统配置。
图16为在没有验证的情况下获取独占控制的处理步骤的流程图。
图17A示出了一个在实践本发明中可以使用的具有显示器和键盘的打印机。
图17B至17D示出了图17A的显示器为接收方提供各种打印选项的情况。
图18示出了可以采用按照本发明设计的远程独占控制的网络的一个例子。
图19A至19C为示出按照本发明设计的执行对一个设备的远程独占控制的处理步骤的流程图。
图20和21示出了一个由请求获取对一个设备的独占控制的用户构成的预约队列的例子。
图22A至22D为从已经具有对设备的独占控制的其他用户远程夺取对设备的独占控制的处理步骤的流程图。
图23A至23D示出了在一个优先用户从具有对设备的独占控制的其他用户夺取独占控制的情况下的预约队列的例子。
具体实施例方式
图1示出了可以实现本发明的网络计算环境的整个系统的示意图。虽然以下说明主要集中在图1所示的网络计算环境,但是本发明也可以在不同的其他系统中实现。例如,本发明可以在包括图5和13至15所示的任何配置中实现。
如图1所示,这个网络计算环境包括与台式计算机10、笔记本计算机20、服务器40、数字复印机30和打印机50连接的网络100。网络100最好是一个包括总线型物理体系结构的以太网媒体,当然本发明也可以在包括互联网或内部网的其他类型的网络上使用。
台式计算机10可以是一个IBM PC可相容计算机,具有视窗环境(windowing environment),例如Microsoft Windows 95、Windows 98或Windows NT、Macintosh工作站、UNIX工作站、Sun Microsystems工作站,或几乎任何可以提交要打印的打印作业的工作站。为了简明起见,在这里将就IBM PC兼容工作站进行说明。以IBM PC兼容计算机为代表的台式计算机10最好具有显示器、键盘鼠标、软盘驱动器和/或其他类型的存储媒体(未示出)。连接到台式计算机10上的还有智能卡接口装置,用来作为与计算机用户的智能卡(例如智能卡16)的接口。智能卡16因此提供了一种机制,使计算机用户可以向台式计算机10、打印机50或数字复印机30提供需验证的用户身份。虽然在这里说明的是使用智能卡接口装置15和智能卡16的情况,但是也采用诸如硬件令牌和令牌读出器之类的的其他机制。
与台式计算机10类似,笔记本计算机20也可以是任何类型的可以提交要打印的打印作业的笔记本计算机。然而,为了简便起见,在这里就具有诸如Microsoft Windows 95、Windows 98或Windows NT之类的的视窗环境的IBM PC兼容计算机进行说明。象台式计算机10一样,笔记本计算机20也有显示器、键盘、鼠标和软盘驱动器或其他存储装置(未示出)。此外,笔记本计算机20也有一个接在它上面的智能卡接口装置25,用来作为与计算机用户的智能卡(例如智能卡26)的接口。
接到网络100上的还有能通过网络100接收需打印的图像数据的数字复印机30和打印机50。数字复印机30也配备的智能卡接口装置35,用作与打印作业接收方的智能卡(例如智能卡36)的接口。打印机50同样也有用来与智能卡56对接的智能卡接口55。
此外,服务器40也接到网络100上。服务器40可以是任何类型的起着诸如Compaq Prosignia 1600服务器作用的计算机。而且,服务器40可以运用任何网络操作系统,例如Novell网件、Windows NT、DOS、Windows 95/98或UNIX。本发明并不局限于任何具体的服务器类型或操作系统,而是可以用打印作业可以通过网络打印的任何服务器和操作系统来实现。服务器40具有存储器41,它最好是一个可以存储大量申请文件文件、打印数据文件或其他数据文件的大硬盘。此外,服务器40最好在硬盘内有一个打印队列,用来存储和管理通过服务器40处理的打印数据。服务器40可以由网络100上的其他设备作为一个文件服务器使用,也可以起网络100上的其他设备接入另一个网络(例如互联网)的网关的作用。
打印机50可以是任何类型的可以打印图像的打印设备。例如,打印机50可以是一个激光或喷墨打印机,能象打印机和传真设备那样进行工作。打印机50可以有一个存储装置5,它最好是一个大硬盘。存储装置51可以用来存储打印机50接收的打印数据。然而,如从下面的说明中将看到的那样,打印队列和打印数据存储装置最好配置在服务器40内。打印机50还有一个植入的智能芯片57,用来执行与加密/解密(如果必要的话)和对接收方的验证有关的各种操作。此外,打印机50也接有智能卡接口设备55,它能与打印作业接收方的智能卡(例如智能卡56)对接。这样,利用智能卡接口设备55和智能卡56与打印机50内的智能芯片57配合就可以控制要求对接收方进行验证的打印作业的打印。
图2为示出台式计算机10的内部体系结构概况的方框图。在图2中,台式计算机10包括中央处理单元(CPU)210,例如为一个接到计算机总线200上的可编程微处理机。接到计算机总线200上的还有用来与键盘对接的键盘接口220、用来与指点装置对接的鼠标接口230、用来与软盘对接的软盘接口240、用来与显示器对接的显示器接口250、用来与网络100对接的网络接口260和用来与智能卡接口设备15对接的智能卡接口265。
随机存取存储器(RAM)270接到计算机总线200上为CPU 210提供对存储装置的接入,从而起着CPU 210的运行主存储器(内存)的作用。具体地说,在执行所存储的程序指令序列时,CPU 210将这些指令序列从硬盘280(或者其他存储媒体)装入RAM 270,再从RAM 270执行这些所存储的程序指令序列。还应注意的是在视窗操作系统下可用的标准磁盘允许一些存储器段与RAM 270和硬盘280交换数据。只读存储器(ROM)290存储不变的指令序列,例如CPU 210的启动指令序列或对接到计算机10上的外围设备进行操作的基本输入/输出操作系统(BIOS)程序。
硬盘280为计算机可读媒体的例子,存储由CPU 210可执行的程序指令程序,构成操作系统281、打印机驱动程序282、智能卡接口驱动程序283其他驱动程序284、文字处理程序285、其他程序286、电子邮件程序287和其他文件288。如上所述,操作系统281最好是一个视窗操作系统,当然也可以用其他类型的操作系统与本发明配合。打印机驱动程序282用来准备在至少一个图像形成设备(例如打印机50)上打印的图像数据。智能卡接口驱动程序283用来驱动和控制与智能卡接口设备15对接的智能卡接口265,对智能卡(例如智能卡16)进行读、写。其他驱动程序284包括接到计算机总线200上的其他接口的驱动程序。
文字处理程序285是一个用来创建文件和图像的典型文字处理程序,诸如Microsoft Word或Corel WordPerfect文件。其他程序286含有对台式计算机10进行操作、运行所要求的应用程序所需的其他程序。电子邮件程序287是一个使台式计算机10可以通过网络100接收和发送电子邮件的典型电子邮件程序。其他文件288包括台式计算机10的操作或由其他应用程序在台式计算机10上创建和/或保存的文件所需的任何文件。例如,其他文件288可以包括诸如Microsoft Internet Explorer或Netscape Navigator之类的互联网浏览器应用程序。
图3为示出打印机50的内部体系结构概况的方框图。由图3可见,打印机50包括打印机智能芯片57,可以在智能芯片驱动程序358配合下执行一定的加密操作。打印机50还包括一个接到打印机总线300上的中央处理单元(CPU)310,例如为一个可编程微处理器。接到打印机总线300上的还有用来控制打印机50的打印引擎325、用来与打印机50的各种输入输出设备(未示出)通信的I/O端口330、用来与智能卡接口设备55对接的智能卡接口365、用来将打印机50接到网络100上的网络接口360和用来与控制打印机操作的设备对接的控制设备接口356。
控制设备接口356可以与几乎任何类型的用户可以激活来获得对打印机的控制的机制对接。例如,控制设备接口356可以与打印机50的控制面板上的一个按钮对接,从而用户为了获得对打印机的控制可以按压这个按钮。在按钮受到按压时,这样的信号就提供给打印机引擎控制逻辑351,从而用户可以获得对打印引擎操作的控制。当然,可以用其他过程来获得对打印机的控制,包括用户在打印机50的控制面板上输入用户名(标识符)或者通过验证装置开始或完成一个验证过程。如下面将详细说明的那样,验证过程可以是任何一些过程,包括但不局限于输入用户名和密码、将智能卡或硬件令牌插入读卡器、无线令牌(例如高速路执照)或拧动一个键。
控制设备接口356还与释放打印机控制的机构对接。例如,打印机50的控制面板可以包括一个用来获得打印机控制的按钮和另一个用来释放打印机控制的按钮。以与以上所说明的类似的方式,在激活一个用来释放打印机控制的装置时,无论装置是什么类型,控制设备接口356都向打印引擎控制逻辑351提供一个释放装置已经激活的信号,从而用户释放对打印引擎操作的控制,正常打印操作继续执行。
接到打印机总线300上的还有非易失性地存储程序指令的EEPROM 340、随机存取存储器(RAM)370、打印机存储器51和只读存储器(ROM)390。RAM 370接到打印机总线300上,为CPU 310提供对存储装置的接入,从而对CPU 310起着运行时间主存储器的作用。具体地说,在执行所存储的程序指令序列时,CPU 310将这些指令序列从打印机内存51(或者其他存储媒体)装入RAM 370,从RAM 370执行这些所存储的程序指令程序,ROM 390存储不变的指令序列,例如CPU 310的启动指令序列或者操作打印机50的各种外围设备的BIOS程序。
打印机存储器51是计算机可读媒体的一个例子,它存储CPU 310可执行的程序指令序列,以便构成打印机引擎逻辑351、控制逻辑驱动程序352、I/O端口驱动程序353、智能卡接口驱动程序354、其他文件357、打印机智能芯片驱动程序358和电子邮件程序359。打印机引擎逻辑351和控制逻辑驱动程序352用来控制和驱动打印机50的打印机引擎325,以便按照打印机50接收(最好是通过网络100)的图像数据打印图像。I/O端口驱动程序353用来驱动通过I/O端口330连接的输入输出装置(未示出)。智能卡接口驱动程序354用来驱动与智能卡接口设备55对接的智能卡接口365,从而使打印机50可以在验证接收方的过程期间与智能卡(例如智能卡56)通信。
其他文件357包括操作打印机50的其他文件和/或程序。打印机智能芯片驱动程序358用来与打印机智能芯片57对接,实现一定的加密操作。电子邮件程序359是一个典型的使打印机50可以从网络100接收电子邮件消息的电子邮件程序。这样的电子邮件消息可以含有与打印作业有关的信息,如下面将要详细说明的那样。打印机内存51还包括提供通过网络接口360检索网络上的文件的能力的FTP/HTTP客户程序395。连接到打印机总线300上的还有显示器接口375和键盘接口385。如下面将要说明的那样,打印机50可以包括一个显示器和键盘,利用FTP/HTTP客户程序395为接收方提供从远程存储位置检索打印作业的选项。
图4为示出服务器40的内部体系结构概况的方框图。由图4可见,服务器40包括中央处理单元(CPU)410,例如为一个与计算机总线400对接的可编程微处理器。接到计算机总线400上的还有用来与网络100对接的网络接口460。此外,随机存取存储器(RAM)470、硬盘41和只读存储器(ROM)490也接到计算机总线400上。RAM 470接到计算机总线400上,为CPU 410提供对存储装置的接入,从而对CPU 410起着运行时间主存储器的作用。具体地说,在执行所存储的程序指令序列时,CPU 410将这些指令序列从硬盘41(或者其他存储媒体)装入RAM 470,再从RAM 470执行这些所存储的程序指令序列。还应看到标准磁盘交换技术允许一些存储器段与RAM 470和硬盘41交换数据。ROM 490存储不变的指令序列,例如CPU 410的启动指令序列或操作可以接到服务器40上的外围设备(未示出)的输入输出操作系统(BIOS)程序。
硬盘41是计算机可读媒体的一个例子,它存储CPU 410可执行的程序指令序列,以便构成操作系统411、网络接口驱动器412、加密/解密逻辑413、电子邮件程序414、队列415、FTP/HTTP客户程序495、FTP/HTTP服务器496和其他文件416。如上所述,操作系统411可以是诸如DOS、Windows 95、Windows 98、Windows NT、UNIX、NovellNetware之类的操作系统。网络接口驱动程序412用来驱动使服务器40与网络100对接的网络接口460。电子邮件程序414是一个典型的电子邮件程序,使服务器40可以通过网络100接收和/或发送电子邮件消息。队列415用来存储大量的要在一个或多个图像形成设备(例如打印机50)上输出的打印作业。其他文件416包括操作服务器40和/或为服务器40提供附加功能所需的其他文件或程序。FTP/HTTP客户程序495为服务器40提供通过网络接口460检索网络上采用FTP和HTTP协议的数据文件。此外,打印机50的FTP/HTTP客户程序395或工作站(例如计算机10)内的FTP/HTTP客户程序可以接入服务器40的FTP/HTTP服务器496。
下面将详细说明获得对一个打印设备的临时独占控制的情况。然而,首先将对什么是获得临时独占控制、怎样能获得独占控制和释放独占控制、用户有了独占控制能做什么、以及在下面的讨论中所用的一些术语进行简要的说明。获得独占控制通常是指中断对打印设备的接入和获得对打印设备的打印引擎操作的控制。中断接入意味着控制网络对打印设备的接入,控制打印设备的所有其他通信接口和打印机状态页面的打印或其他管理操作。例如,控制网络接入可以是控制接入打印作业,或者,如果打印设备是一个多功能设备,控制诸如输入传真之类的输入作业。控制通信接口可以是控制诸如并行和串行端口、USB(通用串行总线)端口、红外设备、RF设备之类的通信信道。
此外,可以结合验证过程也可以不考虑验证过程获得控制。在结合验证过程获得控制的情况下,可以在验证过程开始时也可以在验证过程完成后获得控制。在前一种在验证过程开始时获得控制的情况下,如果验证过程失败就释放控制。但是,在后一种情况下,只有在完成了一个成功的验证过程后才能获得控制。
有许多能够执行的验证过程,其中有一些将在下面详细说明。简要地说,验证过程可以包括输入用户名和密码、将智能卡或硬件令牌插入读卡器、读到无线令牌(例如高速路执照)、拧动一个键或生物测定(biometrics)。当然,本发明并不局限于任何具体的验证过程,本发明可以配合包括以上所列的任何类型的验证过程使用。
也可以不用验证过程获得控制。例如,用户可以在打印机的键盘上输入用户名,从而获得控制。这个过程不必执行验证过程,而只要对用户进行识别,根据输入的用户名为他提供对打印机的控制。此外,打印机可以配有一个获得控制的按钮。这样,想要获得打印机控制的用户只要按压这个按钮就可以获得对打印机的控制。如很容易看到的那样,这种获得控制的设备与用户不相关,因此任何用户都能用这样的方式获得控制。本发明并不局限于这些获得控制的方法,几乎任何提供获得对打印机的控制的能力的设备都可以使用。
在用户获得打印机控制后,打印机通常只在用户放弃控制后才恢复到正常的打印操作。与获得控制的过程类似,有许多方式用户可以释放控制,而本发明并不局限于任何具体方式。释放控制的方式的一些例子有按压打印机控制面板上的一个按钮、用户动作超时、完成等待处理的打印操作和用户动作超时、从读卡器拆下智能卡或硬件令牌或者完成等待处理的打印操作后从读卡器拆下智能卡或硬件令牌、用户动作超时和令牌超时。此外,验证/授权失败也可以释放控制。
在用户有了对打印机操作的独占控制时,有各种操作可以执行。例如,如果打印机是一个多功能设备,例如为一个打印机/传真机或打印机/复印机,用户就可以执行传真操作来发送传真或者打印出存储在电子邮箱内的传真消息,也可以执行复印操作来产生复印件。此外,用户可以浏览网络,搜索要在打印机内打印的文件。例如,用户可以浏览网络,搜索存储在文件服务器或电子邮件服务器内的文件。此外,用户可以用URL(通用资源定位器)从互联网或内部网位置检索一个文件,使它在打印机上打印出来。此外,用户可以接入包含在打印机的打印队列内的打印作业的清单。可以提供这个清单,显示所有的打印作业、只显示属于这个用户的打印作业或者只显示经验证的属于这个用户的打印作业(如果用户受到验证的话)。因此,用户可以从需打印的队列中选择一个打印作业。容易看出,有许多操作可以由用户在他有对打印机的独占控制时执行。以上提到的只是可以执行的操作的一些例子,本发明并不局限于这些操作,而是也可以包括其他一些操作。
对于以下说明中所用的一些术语来说,所谓“发送方”是指从一个主计算机或发送节点提出一个需由一个图像形成设备打印出来的打印作业的人员。“预定接收方”是指持有正当凭证可以在图像形成设备处验证本人的人员。在有些情况下,发送方和预定接收方可以是同一个人。也就是说,发送打印作业的人员也可能持有在图像形成设备处验证本人的正当凭证。在其它情况下,发送方和预定接收方可以是不同的人。例如,发送方可以提出一个需由除了他本人之外的持有需在图像形成设备验证的正当凭证的人检索的打印作业。然而,在下面所说明的这些例子中,“预定接收方”是指持有在图像形成设备可以验证他本人的正当凭证的人员,无论是谁提出打印作业的。
所谓“发送节点”是指一个向打印机提出打印作业的实体。这可以包括(但不局限于)个人计算机或除了打印服务器之外的中间服务器。可以直接从一个发送节点向一个打印服务器或向一个打印机本身提出一个打印作业。
“打印队列”是指一个存储打印作业的软件和硬件机构。这个机构可以包括(但不局限于)在RAM内的缓存器、RAM磁盘、硬盘和闪速磁盘(flash disks)。打印队列可以配置在包括提出打印作业的个人计算机(发送节点)、网络打印机本身、独立打印服务器和用作打印服务器的个人计算机的一些部位中任何一个部位。打印队列是一个打印作业在提交给打印机打印前的临时存储场所。
“打印服务器”是指接收打印作业和将它们发送给一个打印机打印的软件机构。打印服务器可以是一个独立的诸如Novell Pserver之类的打印服务器,可以包含在一个网络打印机本身内,也可以包含在另一个个人计算机内。在打印服务器包含在另一个个人计算机内的情况下,在个人计算机内的打印服务器可以接收来自另一个发送个人计算机打印作业,再将它们提交给位于一个网络打印机内的打印服务器。
“打印设备”是指处理打印作业和将图像打印到记录媒体上的实体。打印设备的例子有喷沫打印机、激光打印机、传真机和网络复印机/打印机。应指出的是,本发明可以用于任何图像形成设备,包括而不局限于上述这些图像形成设备。
“记帐软件”是指对网络打印任务进行记帐的计算机程序。这样的程序可以配置在一个从网络内所有的打印机提取使用信息的集中记帐服务器内。这个程序也可以驻留在打印服务器内、起打印服务器的个人计算机作用内,或者能够根据网络内的打印机打印的打印作业收集打印作业使用信息的几乎任何其他设备内。
在下面的讨论中,所谓“正常打印作业”是指这样的打印作业,它不含有任何特定电子标题信息或用打印作业识别任何特定接收方的其他信息,而且不需要验证接收方进行打印。正常打印作业通常由打印服务器处理,依次打印,即排在打印机已经接收到的其他打印作业后打印。它们不需要接收方验证就可打印,因此一直可打印,直到有一个接收方给出正当的验证信息。
所谓“经验证的打印作业”是指只能在预定接收方通过验证后打印的打印作业。也就是说,经验证的打印作业含有预定接收方的唯一标识信息,只有接收方通过打印机的验证后才能打印。一旦接收方通过验证,就释放经验证的打印作业,予以打印。
图5示出了一个可以采用本发明的系统配置。本发明并不局限于用于如下面将说明的图5所示的系统,也可以用于许多其他系统。如图5所示,一个或多个诸如计算机10之类的发送节点510、一个诸如服务器40之类的打印服务器540和至少一个诸如打印机50之类的打印设备550通过网络500进行通信。在这方面,网络500可以是任何类型的网络,包括局域网(LAN)、广域网(WAN)、互联网、内部网或者任何其他类型的网络。不一定需要硬布线的网络连接,本发明可以用于计算机和打印机通过无线连接进行通信的情况。接到打印机550上的还有智能卡接口设备555。
在图5所示的这个系统中,打印队列在打印机550外,最好包括在服务器540内。打印队列包括在打印机本身内而不是在打印机外的情况将在下面说明图14时详细说明。
如上所述,独占控制可以结合验证获得,也可以不考虑验证获得。在下面的说明中,将首先说明结合验证的独占控制,再说明不考虑验证的独占控制。
图6A、6B、6C、和6D为示出结合验证的在验证过程成功后获得对一个打印设备的控制的处理步骤的流程图。简要地说,处理步骤包括将打印数据从一个发送节点提交给一个打印队列;确定打印作业是否为一个验证的打印作业,如果是,就推迟打印直到预定接收方得到验证;验证预定接收方;推迟打印队列内的打印作业的打印;经验证的接收方选择需打印的打印作业;经验证的接收方放弃控制;以及打印设备继续执行正常打印操作。
如图6A所示,在步骤S600,为了提交一个打印作业,用户在一个诸如台式计算机10或笔记本计算机20之类的发送节点激活打印驱动程序。例如,如果发送方正在运用一个诸如Microsoft Word或CorelWordPerfect之类的文字处理机应用程序而想要打印文件,他通常可以选择在这个应用程序内的打印选项,激活打印驱动程序。打印驱动程序通常允许发送方选择打印选项,诸如打印速度、打印清晰度或复制份数之类。对于本发明来说,一个选项将是选择验证打印模式。在这方面,如果发送方希望只是在接收方在打印机处得到验证后才可打印出打印作业,发送就选择这个模式。当然,本发明并不局限于在打印驱动程序内选择验证打印模式,也可以用其他提交经验证的打印作业的过程来代替。例如,如果打印驱动程序具有自动检测智能卡插入智能卡读卡器的情况的能力,打印驱动程序可以根据智能卡自动获得接收方的标识信息,将打印作业作为一个经验证的打印作业提交,而不需要用户在打印驱动程序内选择验证打印模式。同样,也可以用任何提交经验证的打印作业的方法。
在图6A中,如果打印作业是一个经验证的打印作业,打印数据与用户标识信息一起提交(步骤S601)。用户标识信息可以是一个包含在一个数字证件内的可区别名、用户/个人识别号码、生物测定信息或者任何其他可唯一标识预定接收方的信息。标识信息将打印作业与预定接收方相链接,因此只有预定接收方才能打印这个打印作业。具体地说,将标识信息(诸如预定接收方的名字、姓、国家、地区(城市)、机构、组织单位或其他对他是唯一的信息)与打印作业相链接。与打印作业链接的实际标识信息取决于具体实现。它可以就是用户的ID号码,也可以是整个数字证件。当然,发送方不会有接收方的生物测定信息,因为这样的信息需要接收方处在发送节点,提供他本人的这种信息。然而,在发送方用接收方的可区别名称或数字证件提交打印作业后,接收方可以在图像形成设备用生物测定设备得到验证。因此,在提交经验证的打印作业的将接收方的信息与打印作业链接中所用的设备类型与验证接收方中所用的设备类型之间可能会有差别。
接收方的信息可以通过各种方法获得,与打印作业链接。例如,发送可以将一个智能卡插入一个位于发送节点的智能卡读卡器,例如如图1所示的连接到计算机10上的智能卡读卡器15。智能卡含有数字形式的预定接收方的唯一标识信息,这信息通过智能卡接口265提供给计算机。或者,这信息可以通过一个公开密钥基础设施由电子邮件或其它设备从数字证件中获得。在这种情况下,这信息可以通过互联网下载给计算机10,再与打印作业一起提交。
此外,也可以用诸如接收方的指纹或视网膜扫描之类的生物测定标识信息,使得在打印机处可用一个生物测定设备来验证接收方。因此,可以用任何为发送节点提供有关接收方的唯一标识信息和以后对接收方执行验证的设备。
当然,经验证的打印作业不是发送节点可提交的打印作业的唯一类型,本发明并不局限于用于经验证的打印作业。发送方可以从打印机驱动程序中选择正常打印作业模式,提交不需要验证接收方的正常打印作业。因此,在这个例子中,将省略步骤S601。
再来看图6A,在步骤S601提供了标识信息后,发送节点提交要打印的经验证的打印作业(步骤S602)。在图5中,经验证的打印作业提交给包含在服务器540内的一个打印队列。然而,如上所述,打印作业不需要提交给一个服务器内的打印队列,而可以提交给在发送节点本身内的打印队列,通过网络提交给一个中间服务器或者包含在一个打印机本身内的打印服务器。
图6B示出了一个打印队列插入线程的处理步骤。在图6B中,在发送节点提交经验证的打印作业后,打印队列插入线程从等待打印作业(步骤S603)解锁,接收和存储打印作业(步骤S604)。然后,确定所接收的打印作业是否为一个经验证的打印作业(步骤S605)。如果打印作业不是一个经验证的打印作业,控制返回步骤S603,线程等待接收另一个打印作业。注意,有一个独立的打印队列提取线程负责从队列中提取打印作业发送给打印机打印(示于图6E)。
在大多数情况下,一从打印队列接收到打印数据,打印机就将这数据缓存在存储器内,开始处理这数据,打印出图像。然而,在有些打印机中,一旦打印数据从队列提交给打印机,打印机可以将这数据暂时存储在打印机内的一个本地磁盘内而不是将打印数据缓存在存储器内。在这些打印机中,一旦在磁盘上存储了足够的数据,打印机可以开始将数据从本地磁盘缓存在打印机的存储器内再开始打印,而其余数据继续存储到磁盘上。当然,打印机也可以等到全部打印作业存储在本地磁盘内后再开始缓存数据而不是只要在磁盘上存储了足够的数据就开始缓存数据。
回到步骤S605,如果打印作业是一个经验证的打印作业,就确定接收方是否已经验证(步骤S606)。这个确定步骤可以包括打印队列执行一个轮询操作,向打印机查询接收方的标识信息。如果接收方已经验证,打印机就会用接收方的标识信息响应队列。如果接收方没有验证,打印机可以提供一个否定响应或者根本就不响应。如果接收方还没有验证,流程进至步骤S607,打印队列向打印机登记,以便在接收方得到验证时可接收到通知。因此,推迟这个打印作业的打印,直到持有正当验证信息的接收方在打印机处给出验证信息。打印数据可以存储在打印队列内,也可以存储在一个打印服务器内。
有各种方法可以推迟一个经验证的打印作业的打印,直到接收方得到验证。一种方法是打印队列试图与打印机建立通信,以便将打印数据提交给打印机进行打印。建立通信后,打印队列可以请求接收方的验证信息。如果打印机没有从接收方接收到验证信息,即接收方还没有在打印机处验证,打印队列就可以向打印机登记,使打印机在接收方得到验证时通知它。在这个例子中,由于接收方还没有得到验证,打印机没能返回必要的验证信息,从而打印队列向打印机登记,等到接收到通知后再将打印作业数据发送给打印机(步骤S607)。
另一种推迟经验证的打印作业的打印的方法可以通过利用查询机制来实现。一些网络协议应用请求/响应例行程序。在这方面,队列一接收到一个经验证的打印作业,协议就向打印机请求接收方的验证信息。如果接收方还没有到达打印机和没有向打印机出示验证信息,打印机就返回一个否定响应或者根本不响应,从而推迟打印作业的打印。在由协议设定的时间间隔内每次接收到一个否定响应或者没有接收到响应时就进行重复请求,直到接收方向打印机出示验证信息。接收方一经验证,协议接收到必要信息,打印数据就提交给打印机去打印。
下面将通过一些例子对本发明进行详细说明。第一个例子将说明接收正常打印作业和接收方还没有得到验证的经验证的打印作业的打印机的情况。第二个例子将说明在队列内只有经验证的打印作业、接收方得到验证后选择打印所有他的经验证的打印作业和立即释放控制的情况。第三个例子将说明在队列内有正常和验证两种打印作业、接收方得到验证后选择打印所有他的经验证的打印作业和立即释放控制的情况。第四个例子将说明在队列内有正常和验证两种打印作业、接收方得到验证后保持控制的情况。第四个例子还包括说明在接收方保持控制的情况下队列接收其他打印作业的情况。第五个例子将说明经验证的接收方选择需打印哪些打印作业(包括按打印作业打印)和例如通过互联网或内部网从一个网络选择一个打印作业的情况。
在第一个例子中,将结合图7和8说明一个含有正常和验证两种打印作业的打印队列。在这个例子中,假设任何接收方都没有向打印机提供验证。如图7所示,打印队列(例如在服务器40内的队列415)含有六个打印作业601至606。打印作业601、602、604和605是正常打印作业,而打印作业603和606是经验证的打印作业。队列按递增次序接收到在这个队列内的每个打印作业。
图6E的打印队列提取线程按接收次序开始处理处理每个打印作业。因此,由于打印作业601是第一个收到的,因此打印队列首先对它进行处理。如图7所示,打印作业601是一个正常打印作业。由于打印机没有在打印其他打印作业,而这个打印作业不需要接收方验证,打印队列就与打印机建立通信,将打印数据提交给打印机,在那里缓存和打印出来(如图6E中所示的步骤S652和S653)。在打印机忙于处理打印作业601的同时,打印作业602至606继续存储在队列内,直到轮到需处理它们(在步骤S652的确定结果为NO)。
一旦打印作业601的所有打印数据都得到缓存,就从队列中除去这个打印作业(步骤S654),打印队列开始处理队列中的下一个打印作业,即打印作业602。由于打印作业602还是一个正常打印作业,不需要接收方验证就可打印,打印数据就由队列提交给打印机,在完成打印打印作业601时开始缓存在打印机内。打印作业601完成打印而打印作业602已经有足够的打印数据得到缓存时,打印机就开始打印打印作业602(步骤S653)。
一旦打印作业602的所有打印数据都得到缓存,就从队列中除去这个打印作业(步骤S654),打印队列试图将队列中的下一个打印作业提交给打印机。在这个例子中,打印作业603至606在队列中等待处理,因此打印队列试图提交打印作业603。然而,由于打印作业603是一个经验证的打印作业,打印队列提取线程就获取队列中的下一个打印作业(步骤S650)。
因此,由于打印作业604是一个象打印作业601和602那样的正常打印作业,打印作业604就得到处理,打印出来(步骤S652和S653)。同样,正常打印作业605在打印作业604后得到处理和打印。然后,随着对打印作业605的处理,打印队列试图提交经验证的打印作业606。然而,象打印作业603那样,打印作业606不予打印,因此仍留在打印队列内,接在打印作业603后(步骤S651)。因此,在打印作业601、602、604和605已经打印后,打印队列呈现为如图8所示。
下面将结合图6C、6D和8说明第二个例子,其中接收方提取如图8所示的留在队列内的经验证的打印作业603和606。在这个例子中,假设接收方一选择一个打印所有他的经验证的打印作业的选项,他就立即释放对打印机的控制。
如上所述,有一些方式一个经验证的接收方在他得到验证后可以释放对打印机的控制。一种方式是接收方在他得到他已经顺利通过验证的通知和选择了一个打印选项(例如打印所有的经验证的打印作业或者选择一个需打印的打印作业)后只要按压打印机上的一个释放按钮。按压了这个按钮,打印机就会通知打印队列,接收方已经释放控制,现在它可接收打印作业(当然这取决于打印机的缓冲区空间的可用情况)。然而,即使是接收方已经得到验证而且按压了按钮释放对打印机的控制,如果用户选择的是打印所有他的在队列内等待处理的经验证的打印作业,这些经验证的打印作业也在其他打印作业前不断得到处理和打印出来。这使接收方能够获得对打印机的控制,使他的经验证的打印作业正好在其他打印作业前打印出来,而不用在打印机处等到所有他的打印作业打印出来后再释放控制。因此,接收方可以在验证后立即释放控制,这样他的打印作业将打印出来,但他不必在打印机处等待,如果他愿意的话可以离开打印机,稍后再回来取他的硬拷贝打印输出。
其他释放控制的方法可以包括接收方在键盘上输入一个代码或者从智能卡读卡器中取下他的智能卡。如果采用后一种方法,接收方将他的智能卡插入智能卡读卡器,从而通过验证后获得对打印机的控制。只要接收方的智能卡还留在智能卡读卡器内,他仍然是得到验证的,保持对打印机的控制。一旦接收方从读卡器取下他的智能卡,他就不再是得到验证的,从而释放对打印机的控制。如上所述,本发明并不局限于任何释放控制的具体方法,以上所述的只是可以使用的一些方法的例子。
回到这个例子,应指出的是,这个例子所涉及的是在接收方验证时在队列内只有经验证的打印作业等待处理而且在接收方通过验证后没有收到其他打印作业的情况。下面将详细说明与在接收方验证时除了经验证的打印作业之外的打印作业在队列中等待处理的情况或者在接收方通过验证后队列接收到打印作业的情况。此外,在所给出的这个例子中,假设接收方是用一个智能卡验证的。当然,如上所述的任何验证方法都可以使用,本发明并不局限于用智能卡。然而,为了简明起见,将只详细说明使用智能卡的情况。
参见图6C,为了使打印作业603和606打印出来,在步骤S609,持有正当验证(标识)信息的接收方向打印机出示这信息。对于这个例子,接收方将智能卡56插入接到打印机50上的智能卡读卡器55。接收方将他的智能卡一插入智能卡读卡器,打印机就处理通过智能卡接口365和智能卡接口驱动程序354送至控制逻辑320的信息。然后,打印机执行一个验证过程,检验这个唯一标识信息的完整性和真实性(步骤S610)。如果完整性和真实性检验失败(步骤S611),就在步骤S616将这样的情况通知用户。如果完整性和真实性检验成功(步骤S611),就执行一个验证过程,对接收方进行验证(步骤S612)。这可以包括打印机50执行一个“询问/响应”机制或其他验证接收方(在这种情况下为智能卡持有人)的身份的过程。
在步骤S613,确定对接收方的验证是否成功。如果接收方通过验证,流程就进至步骤S614。如果验证失败,就将验证失败通知接收方(步骤S616)。可以通过显示出错消息的显示器、打印机上的报警器或者其他设备提供通知,表示验证过程已经失败。
在验证后,可以执行一个任选的检验,确定接收方是否有权使用设备(步骤S614)。这个权限检验可以通过一个包括(但不局限于)目录查询和接入控制表查找。如果接收方无权使用设备,就通知他权限检验失败(步骤S616)。如果接收方得到验证和授权,他就可以接收到一个对于这种情况的通知。
一旦接收方得到验证和授权(如果有权限检验的话),在给出的这个例子中接收方就获得对设备的独占控制,在队列内等待处理的所有打印作业都被推迟,不予打印(步骤S617)。此外,在步骤S617,如果打印队列已经登记了从打印机接收通知,就将接收方已经验证通知打印队列。可以推迟打印作业的一种方法是打印机向队列提供一个它“正忙”或打印机的缓存器已满的指示。回忆一下,队列为了向打印机提交打印数据通常要与打印机建立通信,确定打印机是否可以接收打印数据。因此,如果打印机正忙,它就不能接收打印数据,从而阻止队列内的打印作业发送给打印机。在这个例子中,在接收方得到验证后,打印机对于在队列内的所有打印作业都呈现为忙,而且继续呈现为忙,直到接收方放弃对打印机的控制为止。应指出的是,本发明并不局限于发忙或缓存器满指示,也可以用任何其他阻止打印作业缓存和打印的机制。
接收到接收方通过验证的通知(步骤S617),队列确定对于这个经验证的接收方在队列内是否有任何等待处理的经验证的打印作业(步骤S618)。如果对于这个经验证的接收方在队列内没有等待处理的经验证的打印作业,就在步骤S619将这样的情况通知接收方。如果对于这个经验证的接收方在队列内有等待处理的打印作业,流程就进至图6D中的步骤S622。在这个例子中,打印作业603和606在队列内等待处理。
如图6D所示,在步骤S622,确定接收方是否选择了选择一个打印作业打印。在这方面,接收方可以从在队列内等待处理的一列打印作业中选择一个或多个打印作业。或者,接收方也可以选择一个来自远地存储位置的打印作业。接收方选择打印作业的情况将在下面结合图17A至17D详细说明。如果接收方选择了用户选择,流程就进至步骤S624和S625,接收方选择一个打印作业,所选的打印作业就释放出来予以打印。如果接收方没有选择用户选择,而是选择了打印在队列内等待处理的所有他的经验证的打印作业,流程就进至步骤S623,对于这个经验证的接收方在队列内等待处理的下一个经验证的打印作业就释放出来予以打印。在这个例子中,一旦用户选择了打印所有他的经验证的打印作业,他就通过从读卡器取出他的智能卡释放对打印机的控制。
队列内的下一个经验证的打印作业(在这个例子中为打印作业603)通过步骤S626至S630进行处理,然后流程返回图6C的步骤S620。在这个优选实施例中,要求接收方保持对打印设备的控制,以便打印所有他的经验证的打印作业。也就是说,每次从步骤S618至步骤S630处理一个经验证的打印作业,再返回步骤S620。照这样,完成对打印作业603的处理后,打印机就开始一个新的过程,处理下一个经验证的打印作业(打印作业606)。在处理打印作业606的过程中,打印队列再次向打印机请求接收方的验证信息。如果接收方在步骤S620已经释放控制,打印机将提供一个否定响应或者根本就不响应。因此,在这个优选实施例中,一旦接收方放弃了控制(在这里是通过取出他的智能卡),队列内等待处理的打印队列还没有请求接收方的标识信息的任何经验证的打印作业将留在队列内不会予以打印,直到接收方再次得到验证。因此,一旦接收方放弃了控制而打印作业606还没有开始处理,打印作业606就留在打印队列内。
或者,一旦接收方得到验证而且选择了打印队列内等待处理的所有他的经验证的打印作业,在步骤S623,打印队列可以用接收方的标识信息释放和处理队列内所有要给接收方的经验证的打印作业(打印作业603和606),然后在步骤S620确定接收方是否已经释放控制。在这种情况下,将处理两个打印作业603和606,打印队列然后会是空的。
回到图6D,在步骤S625或步骤S623一个打印作业已经释放出来打印时,确定这个打印作业是否为一个加标打印作业的打印(print byreference print job)(步骤S626)。在本发明中,加标打印作业的打印是打印数据不是存储在打印队列而是存储在一个远地存储位置的打印,这个打印作业在队列内含有一个远地存储位置的标注。如果打印作业是一个加标打印,就在步骤S627队列从远地存储位置提取打印数据。如果打印作业不是一个加标打印,流程就进至步骤S628。
在步骤S628,开始打印处理,而在步骤S629对在打印操作期间所用的打印资源进行跟踪。例如,可以跟踪诸如在打印操作期间所用的纸张和数量和类型或者墨水的数量和类型之类的资源。然后将跟踪到的资源与经验证的接收方的标识信息关联,提交给应用跟踪信息的记帐设备(步骤S630)。这样的记帐设备可以是一个打印服务器或者其他应用记帐程序的设备。应指出的是,在有些情况下可能不要求资源跟踪,因此步骤S629和S630可以省略。
在打印经验证的打印作业后,,确定接收方是否已经释放对打印机的控制(图6C中的步骤S620)。在这个例子中,接收方在得到验证和选择了一个打印所有他的经验证的打印作业的选项后已经立即释放控制。也就是说,他立即从智能卡读卡器取下他的智能卡,从而释放了对打印机的打印能力的控制。在这个优选实施例中,打印作业603得到处理,而在接收方放弃了控制后,打印机提供了一个对打印打印作业606的否定响应,因此打印作业606留在队列内,打印机回到正常打印操作,释放所有在队列内等待处理的受到推迟的(非验证)打印作业(步骤S621)(即打印机不再给出一个“正忙”的指示)。
当然,对于这个可替实施例来说,接收方在处理打印作业606前释放对打印机的控制时,不执行步骤S620的判决,直到得到打印作业606,因此打印机在所有的经验证的打印作业都完成打印后才回到正常打印操作。
下面将结合图6C、6D和9说明第三个例子。在这个例子中,在接收方得到验证时打印作业1001至1005在队列内等待处理,至少其中一个打印作业是需要验证接收方才能打印的经验证的打印作业。象第二个例子那样,在这个例子中接收方用一个智能卡设备给出正当验证信息后立即从智能卡读卡器取出他的智能卡。此外,在这个例子中接收方没有选择用户选择打印作业,打印作业中也没有定位打印。
对于这个例子来说,就在步骤S609前打印队列内等待处理的打印作业如图9所示。因此,就在接收方将他的智能卡插入智能卡读卡器前,打印作业1001至1005在队列内等待处理,而打印作业1004和1005是对于经验证的接收方的等待处理的经验证的打印作业。
再来看图6C,一旦接收方得到验证和授权(如果有的话),就在步骤S617通知打印队列,这个接收方已经得到验证,推迟在队列内等待处理的所有打印作业,如上所述。同样,推迟打印作业可以通过只是打印机向队列提供一个它正忙或缓存器满的指示从而阻止将队列内的打印作业提交给打印机来实现。
一旦推迟了在队列内等待处理的所有打印作业,队列确定是否有对于接收方的等待处理的经验证的打印作业(步骤S618)。可以通过将经验证的接收方的唯一标识信息与在队列内等待处理的打印作业相匹配作出判决。如果发现有匹配,流程就进至图6D的步骤S622。如果没有发现有匹配,就在步骤S619将这情况通知接收方。在这个例子中,打印作业1004和1005是与经验证的接收方匹配的经验证的打印作业。因此,流程进至步骤S622,接收方选择打印所有他的经验证的打印作业。然后,流程进至步骤S623,将打印作业1004发去打印和处理(步骤S626至S630)。
然后,流程返回图6C的步骤S620,确定接收方是否已经释放控制。回想一下,在这个例子中,接收方在选择打印所有他的经验证的打印作业后从读卡器立即取出他的智能卡。因此,在步骤S620,确定接收方已经释放控制,于是不释放和打印打印作业1005。所以,打印作业1004一打印,就释放和处理队列内剩下的非验证(正常)打印作业(步骤S621)。
下面将结合图6C、6D和10至12说明第四个例子。在这个例子中,图10的打印队列最初与图9所示的相同。然而,与前面的这些例子不同,接收方在得到验证后并没有立即释放对打印机的控制,而是保持对打印机的控制。此外,在这个例子中,在接收方通过验证后,队列接收到其他的打印作业,接收方没有选择用户选择,而且打印作业都不是定位打印。
在这个例子中,步骤S609至S623与上面所述的相同。这些步骤概要地说是,一旦接收方得到验证,就推迟打印队列内的所有打印作业而处理经验证的打印作业1004,发去打印。然后,流程返回步骤S620,确定接收方没有释放控制,因此流程返回步骤S623,处理和释放打印作业1005。然而,与第三个例子不同的是,在所有经验证的打印作业都已打印后并不释放留在队列内的打印作业(在这里是打印作业1001、1002和1003),而是仍将它们留在打印队列内予以推迟。这是因为在步骤S620接收方没有释放对打印机的控制。回想一下,接收方保持对打印机的控制的一种方式是就将他的智能卡留在读卡器内,因此继续推迟留在队列内的不是接收方的经验证的打印作业的所有打印作业的打印。
所以,如图6C所示,在步骤S620确定接收方是否已经释放控制。由于接收方没有释放控制,仍推迟这些打印作业,流程返回步骤S618,确定在队列是否有其他的经验证的打印作业等待处理。也就是说,确定队列是否接收到什么新的经验证的打印作业。
假设接收方还没有释放控制,即没有从智能卡读卡器取出他的智能卡,下面将这个例子扩展为包括在接收方保持对打印机的控制的同时接收到其他的打印作业。如图11所示,打印作业1001、1002和1003仍留在队列内。此外在接收方保持对打印机的控制的同时,队列接收到正常打印作业1006和经验证的打印作业1007。在接收到其他一些打印作业时,就在图6B的步骤S603开始处理这些打印作业。一旦有打印作业添加给队列(步骤S604),流程就返回步骤S603,除非这个打印作业是一个经验证的打印作业。在打印队列插入线程确定所接收的打印作业是一个经验证的打印作业(步骤S605)而且在这个作业到达时预定接收方得到验证(步骤S606)时,就等待另一个打印作业(步骤S603)。因此,推迟在这个例子中的打印作业1006。然而,由于接收方已经验证,所以如在图6C的步骤S618至S621所规定的操作确定可提供一个要给这个经验证的接收方的经验证的打印作业,于是处理和释放打印作业1007去打印,与打印作业1004和1005类似。结果,推迟正常打印作业的打印,而打印出队列在接收方保持对打印机的打印能力的控制期间接收到的要给接收方的经验证的打印作业。同样,一旦接收方放弃控制,打印机就恢复正常打印操作,释放和打印打印作业1001、1002、1003和1006。
在第五个例子中,图12示出了一个在打印作业1004、1005和1007打印后剩下推迟的打印作业1001、1002、1003和1006的队列和这个队列接收到经验证的打印作业1008的情况。经验证的打印作业1008需要验证另一个需验证的接收方。也就是说,已经在打印机验证的这个接收方不是经验证的打印作业1008的预定接收方。同样,图6B的步骤S603至S605与上面所述的相同。然而,在步骤S606,确定预定接收方是否得到验证。由于打印作业1008是一个经验证的打印作业,但是属于另一个需验证的接收方,因此不释放和打印打印作业1008。相反,队列向打印机登记(步骤S607),要在预定接收方验证时得到通知,然后返回步骤S603。这个作业直到打印队列得到持有对于打印作业1008正当的标识信息的接收方已在打印机处通过验证的通知时才释放和打印。
以上这些例子说明了用智能卡获得对打印机的打印能力的控制的情况。然而,正如前面所提到的那样,也可以用诸如键盘或生物测定设备之类的其它设备来实现同样的功能。以上这些例子也说明了在打印队列包含在一个服务器内而所有的数据存储在打印服务器内的配置中本发明的情况。然而,如下面要说明的那样,本发明可以用于各种其他配置。
图13示出了可以采用本发明的另一种配置。如图13所示,网络可以包括数据存储器1301和前面提到的打印服务器。数据存储器可以是一个另外的存储媒体,例如接至打印服务器的硬盘、具有存储打印数据的硬盘的独立计算机或者其它类型的存储媒体。采用这种配置,发送节点提交的打印数据可以存储在数据存储器内,而将一个对于所存储的打印数据的文件名和位置的标志提交给打印队列。或者,打印数据可以在发送节点提交打印作业前就驻留在数据存储器内,而不是将打印数据从发送节点提交给数据存储器作为打印作业提交的一部分。在这种情况下,提交给队列的打印作业将只提供一个对打印数据存储位置的标志。
这种配置的工作情况与以上这些例子类似。一个差别是一旦释放了打印作业去打印(步骤S623),就在步骤S626确定打印作业是否为一个加标打印的打印作业。由于打印作业是一个加标的打印,打印队列用打印数据存储标志位置提取所存储的打印数据(步骤S627),再将所提取的打印数据提交给打印机。
图13所示的网络可以是互联网。一旦释放了打印作业去打印,打印队列就通过互联网从数据存储器提取打印数据,对它进行处理,以便打印出来。因此,为了打印队列可以通过互联网提取打印数据,为打印服务器提供了通过图3和4中所示的FTP/UTTP客户程序395或495接入互联网的能力。
本发明也不局限于队列包含在一个打印服务器内的配置。队列也可以包含在打印机本身内或者包含在一个个人计算机或其他设备内。这样的配置可以提供一个与图14所示类似的系统。在图14中,发送节点通过网络1400与打印机1450通信。接到打印机1450上的有智能卡读卡器1455。队列可以设置在打印机的一个存储磁盘内,例如图3中所示的打印机存储器51内的队列315。或者,队列也可以是设置在计算机10的硬盘280内。这种配置的工作情况与上面所述的类似,只是打印机不需要通过网络与一个在打印服务器内的外界队列通信。相反,主计算机与打印机它们自己进行通信,提供本发明的功能。
此外,本发明并不局限于一个计算机(发送节点)和打印机通过网络通信的配置。在这方面,图15示出了一种本发明用于传真模型的配置。为了将本发明用于传真模型,用了一个能在发送传真时提供接收方的唯一标识信息的传真机。因此,发送传真也可以用如上所述的智能卡接口。在接收端,传真机与上面所述的打印机模型类似地存储和推迟传真传输的打印。因此,本发明的控制存储在一个队列内的传真传输的打印输出操作以与上面所述的打印机模型相同的方式执行。
在本发明的另一种情况中,可以为接收方提供一种有选择地选择要打印哪些打印作业的机制,而不是选择打印所有的经验证的打印作业。这个选择涉及图6D的选择步骤S622、S624和S625。实现以上所述的一种方式可以是在打印机处提供一个显示器,例如图17A中所示的打印机1750的显示器1700。打印机还可以配有一个允许接收方从显示器上显示的各个选项中进行选择的键盘1720。或者,也可以显示器本身是一个触摸屏显示器,这样就不需要键盘。
图17B示出了显示屏幕1700的一个例子。如图17B所示,一旦接收方得到验证,显示器可以为接收方提供一个他已经得到验证的指示(1701),而且为他提供选择一个要打印的打印作业(1702)或打印在队列内等待处理的所有他的打印作业(1703)的选项。在本发明的这种情况下,接收方以与上面所述的相同的方式予以验证。然而,一旦接收方得到验证和选择了选择一个要打印的打印作业,就推迟在队列内的所有打印作业,直到接收方选择了要打印的打印作业。如果接收方选择选项1703(打印所有他的经验证的打印作业),如上所述,对在队列内等待处理的所有经验证的打印作业和在接收方保持对打印机的控制时队列接收到的那些打印作业以与上面所述的相同的方式进行处理和打印。
然而,在接收方选择了选项1702(选择一个要打印的打印作业,相应于步骤S624)的情况下,可以在显示器1700上为接收方提供其他的一些选项。如图17C所示,一个进一步的选项是从在队列内等待处理打印作业中选择一个打印作业的选项1704。在选择这个选项的情况下,在显示器上提供一个列出在队列内等待处理的打印作业的表。这个表可以包括与接收方的标识信息匹配的所有打印作业,也可以列出在队列内等待处理的所有打印作业,包括正常打印作业和经验证的打印作业,但最好不包括要给其他接收方的打印作业。从这个表中接收方可以选择一个或多个要打印的打印作业,可以是他的正常打印作业之一,也可以是他的经验证的打印作业之一。于是在步骤S625释放和处理这些打印作业。只要接收方保持对打印机的控制,就推迟队列内的所有打印作业,直到由于接收方从显示器上选择它们而释放或者接收方放弃对打印机的控制。
根据上述情况,如果队列含有五个都属于这个接收方的经验证的打印作业1至5,接收方可以选择只打印经验证的打印作业5而不打印经验证的打印作业1至4。于是他可以稍后再回来打印任何打印作业1至4。
图17C中所示的另一个选项是接收方从网络(1705)(即在网络上的除了打印队列之外的一个位置)选择一个打印作业。网络可以是任何类型的网络,包括WAN(广域网)、LAN(局域网)、内部网、互联网、USB、1394、归属网等。可以用类似于在1999年12月17日递交的共同待决美国申请09/465,835“提取和打印网络文件的系统”(“SystemFor Retrieving And Printing Network Documents”)中所揭示的方法浏览和从互联网、内部网或电子邮件提取打印数据,该申请在这里列作参考予以引用。然而,在这个实施例中,将设备的显示屏界面用作在申请09/465,835中所说明的浏览器。选择选项1705后,可以显示如图17D所示的其他选项。
然而,应当指出的是,在本发明的打印数据在互联网或内部网上的这种情况下,在经验证的打印作业通常配有接收方的验证信息的意义上,下载的打印作业不一定是经验证的打印作业。详细些说,在前面的各种情况下,打印作业是从发送节点通过网络提交给打印队列的。这样,发送节点提供了接收方的标识信息,以便将打印作业标识为经验证的打印作业。为了打印这些打印作业,接收方必须在打印机处都到验证后才可以打印经验证的打印作业。
然而,在本情况下,打印作业不是由发送节点提交而是由打印机本身在接收方通过验证后他保持对打印机的控制时进行请求。因此,打印机已经知道所验证的接收方是谁和接收方在控制打印机。所以,通过互联网或内部网打印的所有打印作业在下载后就被释放和打印,因为接收方已经通过验证和具有对打印机的控制。
本发明的另一种情况涉及精确对在打印操作中所耗费的资源(例如所用的纸张的数量和类型以及所耗费的墨水量)进行记帐。详细些说,为了对使用资源的事务所内具体部门或具体人员计费,可能要求精确地对资源进行记帐。记帐大多数都是由打印服务器内跟踪打印作业的软件根据谁提交打印作业来实现的。然而,这种记帐方法不能精确地反映实际使用资源的接收方,而只是标识了发送方或发送部门。
因此,本发明考虑了用一个与所验证的接收方的唯一标识信息结合的记帐应用程序。在这种情况下,一旦接收方通过验证,由打印机计测在打印操作期间所用的打印机资源(步骤S629)。然后,打印机将所计测的资源与所验证的接收方的标识信息相关联(步骤S630)。所计测的数据可以由打印机提交给一个含有记帐应用程序的设备,例如打印服务器40。或者,也可以是打印机向打印服务器或应用记帐程序的另一个设备登记,打印服务器或这个设备可以周期性地接入打印机,收集记帐信息。然后,打印服务器内的记帐应用程序用这个与接收方具有对打印机的控制时在所有打印操作期间所用的资源一致的信息为接收方所属的部门开帐单。这样,记帐应用可以计测实际应用资源的人员所用的资源,而不是将所用的资源划归可能使用也可能没有使用这些资源的发送方。
以上说明了结合验证获得独占控制的情况,接收方只有通过了验证才能获得独占控制。下面将说明一个结合验证获得独占控制的过程,但独占控制可以在接收方通过验证前获得。
总的来说,这个过程与以上结合图6A至6D所说明的类似。然而,在处理步骤上需要有些改变,因此用图6F代替图6C。于是,图6A和6B所示的这些处理步骤同样适用于只是在接收方通过了验证后才获得独占控制的情况和在接收方通过验证前获得独占控制的情况。这样在这里就不再重复对图6A和6B的说明,而只对图6F进行说明。
如图6F所示,步骤S609与图6C中的步骤S609不同。在图6C中,接收方只给出他的标识信息,然后,在步骤S610至S615,打印机处理这信息,执行验证。在图6C中,在接收方通过了验证后,在步骤S617推迟在打印队列中的所有打印作业。因此,在图6C中独占控制只有到步骤S617才可获得。然而,在图6F中,在接收方给出他的标识信息开始验证过程(步骤S609)时,打印机同时为队列提供一个它正忙的指示,从而推迟在打印队列内等待处理的所有打印作业。因此,独占控制在图6F中在步骤S609而不是步骤S617获得。
在这个实施例中,由于接收方在成功的验证过程前获得独占控制,因此提供了一种万一验证失败就释放独占控制的机制。因此,如果步骤S610至S615(验证过程步骤)中的任何步骤导致验证(或授权)失败,就在步骤通知接收方验证失败,于是自动释放独占控制。因此,与图6C相比,图6F中的步骤S616包括这个附加的释放所有推迟的打印作业的过程。
如果在步骤S610至S615接收方顺利通过验证,就在步骤S617打印机将接收方通过验证通知打印队列。因此,与图6C相比,在图6F中,步骤S617取消了推迟在打印队列内的打印作业,因为这个过程预先在步骤S609执行。
图6F的其余处理步骤(步骤S618至S621)与上面对图6C所作的说明相同,因此在这里不再重复对这些步骤的说明。
从上面很容易可以看到,独占控制可以结合验证获得,无论是在接收方顺利通过验证前(如果验证失败就自动释放控制)还是只是在执行了成功的验证过程后。虽然以上集中在说明结合验证获得独占控制的情况上,但如上所述独占控制也可以在没有验证的情况下获得。下面将详细说明这个过程。
总的来说,在没有验证的情况下获得独占控制的过程与上面对图6A至6D(实施例1)和图6A、6B、6D和6F(实施例2)所说明的类似。然而,省略了涉及验证的处理步骤。
图16为在没有验证的情况下获得独占控制的处理步骤的流程图。在步骤S1609,接收方执行一个获得独占控制的过程。如上所述,可以用任何类型的获得独占控制的过程,本发明并不局限于任何具体类型的过程。例如,接收方可以按压打印机控制面板上的一个按钮来获得控制,也可以键入一个用户名。在后一种情况下,可以执行一个任选的过程,确认在一个特许用户表内是否含有接收方的用户名。如果有,就允许用户获得控制。如果没有,就通知用户失败。这些任选的步骤在图16中没有示出,但是会在步骤S1609后执行,与图6C中的步骤S614、S615和S616类似。假设接收方执行了一个不涉及授权的获得控制的过程(例如按压一个按钮),流程就进至步骤S1610。
在步骤S1610,一旦接收方执行了这个获得独占控制的过程,就推迟打印在打印队列内等待处理的所有打印作业以及打印队列在接收方保持控制时接收到的打印作业。同样,可以由任何如上所述的过程执行推迟打印作业。
在步骤S1611,接收方执行一个选择一个要打印的打印作业。这个过程可以是上面对图17A至17D所说明的任何过程。也就是说,接收方可以选择一个在打印队列内等待处理的打印作业,也可以通过网络(包括互联网或内部网)从一个远地存储位置选择一个文件。一旦接收方执行了选择文件或打印作业的过程,他就提出了要打印机打印的打印作业(步骤S1612)。
步骤S1613至S1617分别与图6D中的步骤S626至S630相同。因此,如果打印作业中有加标引打印,就从存储位置提取打印数据,然后计测在打印打印作业中所用的打印资源,将所用的打印资源与接收方相关联。应指出的是,步骤S1616和S1617只能在识别了接收方的情况下执行。也就是说,为了将打印资源与接收方相关联,接收方必须在步骤S1609向打印机提供一些标识信息(例如用户名)。因此,如果接收方只是按压一个按钮,他就是一个匿名的接收方,这样就不能将任何所计测的资源与他相关联。在这种情况下,可以省略步骤S1616和S1617。
一旦打印了打印作业,就确定接收方是否已经释放控制(步骤S1618)。同样,可以用上面所说明的任何过程执行释放控制,因此本发明并不局限于任何具体的过程。如果接收方保持控制,流程返回步骤S1611,接收方选择另一个要打印的打印作业。在这方面,打印机在步骤S1611等待接收方选择另一个打印作业,而对于其他打印请求保持“忙”(即仍推迟队列内等待处理的打印作业),直到接收方手动释放控制。当然,还可以采用一种超时机制,使得在一段用户设定的不动作时间后打印机会自动释放控制。控制一释放,就释放在队列内所有推迟的打印作业,打印机恢复正常打印操作(步骤S1619)。
远程获得独占控制以上给出了在用户处在诸如打印机之类的设备处时获得对设备的独占控制的说明。也就是说,用户通过将智能卡插入接在打印机上的智能卡读卡器、按压打印机上的按钮、将标识码(PIN)键入打印机等获得独占控制。下面将说明远程获得对一个设备的独占控制的情况,即从一个远离设备的网络位置或者通过应用一个与设备远程连接的无线设备获得远程独占控制的情况。此外,上述说明涉及获得对一个打印机的独占控制的情况,而下面将结合使用一个共享的多功能设备(即连接到一个网络上由多个用户共享的可以执行诸如打印、拷贝、扫描和传真之类的各种操作的设备)说明对这个设备的远程独占控制的情况。
图18示出了可以采用远程独占控制的网络环境的一个例子。与以上说明类似,网络2000最好是互联网,但也可以是局域网(LAN)、广域网(WAN)或任何其他类型的网络。连接到网络2000上的有多功能设备2001、计算机工作站2002、笔记本计算机2003和服务器2005。如图18所示,以上设备最好都通过硬布线链路连接到网络2000上。然而,各设备也可以用任何无线技术(例如,RF或IR)通过网络2000进行通信。这样的无线通信对于笔记本计算机2003来说在图18中概括地示为无线传输2008。也可以用一个无线手持设备(以下称为“掌上设备2004”),诸如掌上VIIx手持设备之类,接到网络上来获得对多功能设备2001的远程独占控制。掌上设备2004最好用无线通信2010通过网络2000与多功能设备2001通信,或者用无线通信2011直接与多功能设备2001通信。网络2000、计算机工作站2002、笔记本计算机2003和服务器2005的详细结构可以基本上与上面说明的网络100、计算机工作站10、笔记本计算机20和服务器40相同,因此为了简明起见在这里就不再重复对这些组成部分的详细说明。
多功能设备2001可以是任何类型的具有多功能的设备。由于具有网络能力,多功能设备可以执行各种通过网络进行的操作,诸如发送或接收传真、接收打印请求和打印打印作业之类。多功能设备2001最好是具有执行打印操作(即通过网络2000接收打印作业)、执行传真操作、拷贝操作和扫描操作的能力。当然,拷贝和扫描操作通常要求用户处在设备处将硬拷贝打印输出馈入设备,因此这些操作通常不能远程执行。这样,下面的对多功能设备2001的远程独占控制的说明将局限于获得远程独占控制后用户执行打印和传真操作的情况。
此外,多功能设备2001最好包括一个植入的Web服务器,作为向用户提供使用设备这种能力的手段。也就是说,用户可以通过互联网(网络2000)接入多功能设备内的Web服务器,调出Web服务器内的一个为用户提供获得对设备的控制能力的网页。通过互联网接入了Web服务器内的这个网页,用户就可以选择一个获得对设备的远程独占控制的选项,如果获得控制,在用户具有对设备的远程独占控制时执行各种操作。
图19A至19C为示出按照本发明的一个实施例执行远程独占控制的处理步骤的流程图。如图19A所示,在步骤S1900,用户执行一个建立与一个在网络上的需获得对它的远程独占控制的设备(例如多功能设备2001)的连接的过程。例如,用户可以键入一个多功能设备2001的Web服务器的URL(资源定位码)。这样的过程可以由任何计算机工作站2002、笔记本计算机2003或掌上设备2004执行。如果用户不能建立连接(步骤S1901的判决结果为NO),就通知用户连接失败(步骤S1902)。这可以与通常所知的在浏览器应用程序中所提供的在出现连接失败时通知用户的通知类似。连接失败可以在例如网络有问题或者设备离线或被其他用户的连接占用。如果用户能成功地建立与设备的连接,流程就进至步骤S1903。
在步骤S1903,假设用户选择了一个请求获得对设备的独占控制的选项。也就是说,建立了与Web服务器的连接后,用户可以得到一个包括各个由用户选择的选项的主页。例如,可以为用户提供一个查看有关设备的信息(即设备的类型、设备的功能等)的选项、一个对设备执行一些管理过程(改变IP地址等)的选项和一个请求获得对设备的独占控制的选项。虽然用户可以选择任何其他可得到选项,但步骤S1903假设用户选择了一个要获得对设备的独占控制的选项。
在用户选择了要远程获得对设备的独占控制的选项后,确定设备当前是否在用(步骤S1904)。也就是说,确定另一个用户是否在没有获得对设备的独占控制的情况下正在应用设备的任何功能(打印、拷贝、传真或扫描)。应指出的是,这个说明所涉及的情况是,一个请求对设备远程独占控制的用户不能中断别的独占控制或一个已在进行中的作业,而必须等到设备可用(即不再在其他用户的独占控制下)才可获得独占控制。下面将说明可以中断其他独占控制而不需等到设备成为可用就可获得独占控制的情况。如果在步骤S1904的确定结果为NO,就在步骤S1905确定设备是否已经处在其他用户的独占控制下。如果设备不处在其他用户的独占控制下,流程就进至步骤S1906。在对步骤S1906进行说明前,应指出的是步骤S1904和S1905的YES分支都进至图19C的步骤S1920,步骤S1920将稍后予以说明。
下面开始图19A的步骤S1906,一旦确定设备没有在用而且它不在其他用户的独占控制下,请求获得对设备的远程独占控制的用户就给出他的标识信息。也就是说,用户用任何输入标识信息的措施输入标识信息,例如将智能卡插入用户的远程设备(计算机工作站2002,笔记本计算机2003等)的智能卡读卡器、将具有一个含有标识信息的磁条的卡扫过磁卡片阅读器、将他的姓名和密码或PIN输入浏览器之类。无论采用什么措施,一旦用户输入了他的标识信息,在步骤S1907至S1913执行各种处理,验证用户是否有权获得对设备的独占控制。步骤S1907至S1913与图6C的步骤S610至S616相同,因此在这里不再重复对这些步骤的说明。一旦用户得到验证和授权可以获得独占控制,流程就进至步骤图19B的步骤S1914。当然,如果在步骤S1907至S1912用户验证没有通过或得到授权,就在步骤S1913将这结果通知用户。
下面来看图19B,在步骤S1907至S1912用户得到验证和授权后,就在步骤S1914为用户提供对设备的功能的独占控制。也就是说,在用户的远程计算机的浏览器中为用户提供一个代表设备的控制面板的窗口,也可以提供代表各种选项的文本供用户卷滚,以执行设备的各种操作。同时,设备的各个引擎(即,打印引擎、传真引擎、扫描仪引擎和复印机引擎)对于来自其他用户的请求都可以呈现为忙。这样,将只接收获得对设备的独占控制的远程用户提交给设备的对各个引擎的请求。可以拒绝来自其他用户的请求,也可以与象上面所说明的推迟打印作业那样暂时推迟来自其他用户的请求,直到释放了对设备的独占控制。
还应注意的是,虽然当前的讨论涉及一个多功能设备,但是如果请求获得独占控制的用户预先已经向这个多功能设备提出打印作业(最好通过象上面就用一个智能卡对打印机的独占控制所说明的实施例那样包括标识信息和打印作业),本发明就可以保证自动处理一个打印队列。也就是说,一旦用户得到验证和授权(步骤S1906至S1912,或者步骤S1920至S1926),获得独占控制(步骤S1914),就可以确定在打印队列内是否有这个独占控制用户的等待处理的打印作业。如果有,可以自动地处理这个打印队列,将独占控制用户的打印作业移到打印队列的顶上,独占控制用户只要从设备的功能中选择一个打印选项就可以将它们打印出来。
再回到图19B,一旦用户获得独占控制,定时器就确定用户保持控制是否过了一段预定的时间而没有对设备进行任何操作(步骤S1915)。这个步骤提供了从使设备一直空闲的用户(虽然他们已经获得独占控制)释放独占控制的方式。如果用户在一段预定的时间内使设备一直空闲,就在步骤S1916释放控制,设备恢复正常操作。此外,一旦用户自愿释放控制(步骤S1917),设备也就恢复正常操作(步骤S1916)。
现在回到步骤S1904和S1905,确定设备在用(步骤S1904的判决结果为YES)或者设备在其他用户的独占控制之下(步骤S1905的判决结果为YES),流程就进至图19C的步骤S1920。概括地说,图19C的这些处理步骤包括确认用户可以获得独占控制(验证和授权),将用户添加入请求获得对设备的远程独占控制的用户的预约队列内,以及一旦用户到达预约队列表的顶上就为用户提供对设备的独占控制。
步骤S1920至S1927与步骤S1906至S1913相同,因此在这里不再重复对这些步骤的详细说明。然而,简要地说,这些步骤包括对用户进行验证和确定用户是否有权获得对设备的独占控制。一旦用户得到验证和确定为有权获得独占控制(步骤S1926的判决结果为YES),就将这个用户添加入一个列有请求获得对设备的独占控制的用户的预约队列(步骤S1928)。用户通常是加在队列内的最后一个位置(表底)。例如,如图20所示,如果当前企图获得对设备的远程独占控制的用户标为用户D,于是如图20所示,这个用户作为远程用户D被加到预约队列的最后一个位置。然而,也可以是将请求获得独占控制的用户根据用户的优先权插入预约队列中的一个位置。例如,如21所示,在当前用户(远程用户D)加入预约队列前,远程用户A、B和C以及本地用户A已经插入队列。然而,在添加远程用户D前,先确定远程用户D的优先等级,再根据所确定的优先等级将远程用户D插入队列内的适当位置。也就是说,在远程用户D具有比远程用户B和C和本地用户A高而比远程用户A低的优先级别的情况下,就将远程用户D插入预约队列内远程用户A的下面而在远程用户B和C和本地用户A的上面。是将用户添加在表底还是根据优先权插入表的中间这样的决定可以由概括地表示为步骤S1928的过程的一部分作出。
将用户加入预约队列后,确定用户是否已经断开他们与设备的连接(步骤S1929)。在这方面,最好是用户保持与设备的连接,以便用户一旦移到预约队列的顶上就可以立即获得对设备的远程独占控制。当然,也可以只是在用户处在预约队列表的表顶或者接近预约队列表的表顶时诸如通过向用户发送一个电子邮件之类通知用户,使得用户于是可以重新建立连接,获得远程独占控制。然而,在这个优选实施例中,如果用户断开他与设备的连接,就将用户从预约队列内撤消(步骤S1930)。
只要用户保持他们与设备的连接,在确定用户处在预约队列表的表顶时(步骤S1931的判决结果为YES),就通知用户已经获得远程独占控制,然后从预约队列内撤消这个用户(步骤S1932)。于是流程进至图19B的步骤S1914,其说明与上面给出的相同,在这里不再重复。然而,应指出的是,在以上对步骤S1914等的说明中,如果在步骤S1915确定用户已经有一段预定时间没有动作,就释放独占控制,而用户将需要再进行请求来获得独占控制。作为可供选择的另一种配置,一旦由于用户没有动作而释放了独占控制(步骤S1916),可以再将用户添回预约队列,置于最后一个位置,或者根据用户的优先等级插入某个位置。这种配置为由于没有动作而丢失独占控制的用户提供了重新建立独占控制而不需要再进行请求的方式。
因此,正如从以上可以清楚地看到的那样,用户与网络上的设备建立远程连接后,请求获得对设备的独占控制。如果设备处于在用或者在其他用户的独占控制之下,就将用户插入请求获得对设备的独占控制的用户的预约队列。在用户到达预约队列的顶上时,只要用户保持与设备的连接,用户就可以得到已经获得独占控制的通知,因此用户能执行各种对设备的操作,而不会被其他用户中断。然而,有时一些可能具有比另一个具有对一个设备的独占控制的用户高的优先权的用户可能希望能从那个用户夺取对设备的独占控制。也就是说,对于高优先权用户来说可能希望可以中断一个低优先权用户的独占控制,例如公司总裁希望可以中断一个秘书的独占控制。下面将结合图22A至22D说明这样的情况。
图22A为一些处理步骤的流程图,这些处理步骤简要地示出了一个用户通过网络建立与一个设备的远程连接和请求获取远程独占控制的过程。图22A所示的这些处理步骤实际上与上面对图19A所说明的相同。然而很容易看出,图19A与图22A之间的差别是在图19A中,在用户选择一个获取独占控制的选项时(步骤S1903),先确定设备是否在用(步骤S1904)或已经由其他用户独占控制(步骤S1905),然后再执行用户验证/授权的处理步骤(步骤S1906至S1913或S1920至S1927)。在图19A的实施例中,在用户验证/授权前执行步骤S1904和S1905是可取的,因为假设他们不能中断一个独占控制,而只能加入一个预约队列等待轮到他们。然而在图22A的实施例中,由于假设用户能中断一个独占控制,因此更可取的是首先对用户进行验证/授权,以便能确定请求用户的优先权(即确定用户是否可以中断这个独占控制)。因此,在图22A中,一旦用户建立了与设备的远程连接(步骤S2200至S2202)而且选择了一个获取独占控制的选项(步骤S2203),就在步骤S2204至S2211执行用户验证/授权。步骤S2204至S2211与步骤S1906至S1913相同,因此在这里不再重复对这些步骤的说明。
在验证/授权成功(步骤S2210的判决结果为YES)后,过程进至图22B的步骤S2212。在步骤S2212,确定其他用户是否已经具有对设备的独占控制。如果设备没有由其他用户独占控制,过程就进至步骤图22C的S2213。如果设备已经由其他用户独占控制,过程就进至步骤图22B的S2223。下面将首先说明设备没有受其他用户独占控制的过程(从步骤S2213开始),然后再说明设备已经受其他用户独占控制的过程(步骤S2223)。
在图22C的步骤S2213,由于在步骤S2212确定设备没有受其他用户独占控制,因此对设备功能的独占控制要给请求用户。应指出的是,在本实施例中请求独占控制的高优先权用户优先于请求独占控制的低优先权用户,而任何请求独占控制的用户优先于任何没有请求或获取独占控制而使用设备的用户。这样,在步骤S2213,由于确定设备没有受其他用户独占控制,因此请求独占控制的用户立即获得独占控制,中断了任何由没有请求或获取独占控制的用户正在进行的作业。因此,不必正象在步骤S1904那样确定设备是否在用,因为无论设备是否在用用户都将获得独占控制。当然,可以采用不是自动中断设备不在其他用户的独占控制下的正进行中的一个作业而是询问请求独占控制的用户是否要中断这个作业的实施方式。然而,在上面所说明的这些步骤中所示的过程是更为可取的。
在步骤S2213获取了独占控制后,执行与步骤S1915至S1917相同的步骤S2214至S2216。这样,一旦独占控制释放(步骤S2215),设备就恢复正常操作,从而恢复任何可以是中断了的作业。
再来看步骤S2212,如果确定设备已在其它用户的独占控制下,就在步骤S2223根据请求用户的标识信息确定请求用户(下面称为“优先用户”)是否有权中断另一个独占控制。也就是说,确定优先用户是否具有比已经具有对设备的独占控制的用户高的优先权。如果优先用户没有中断另一个独占控制的特权,过程就在图22D的步骤S2218继续下去。然而,如果优先用户确实具有比已经具有对设备的独占控制高的优先权,就可以要求优先用户确认是否要中断这个独占控制(步骤S2224)。当然,也可以采用自动将独占控制交给优先用户和自动中断低优先权用户的独占控制而不要求优先用户确认这中断的实施方式。然而,本实施例可取的是为优先用户提供了一个确认要中断低优先权用户的独占控制的选项。这可以包括为优先用户提供已经具有独占控制的用户的姓名或身份和其他有关当前的独占控制的信息。例如,可以告诉优先用户当前用户的姓名和他们正处于发送一个10页传真的第5页,要求优先用户确认允许这独占控制继续下去还是要中断这独占控制。如果优先用户选择不中断当前用户的独占控制(步骤S2224的判决结果为NO),或者如上所述如果优先用户没有中断其他用户的独占控制的特权,过程就进至图22D的步骤S2218。如果用户确实有中断其他用户的独占控制的特权(步骤S2223的判决结果为YES),而且确实要中断当前的独占控制(步骤S2223的判决结果为YES),过程就进至图22B的步骤S2225。
在前一种情况下,在步骤S2218,将优先用户加入一个请求获取独占控制的用户的预约队列。这个过程和在步骤S2218后的这些步骤中的过程与上面对图19C的步骤S1928至S1932和图19B的步骤S1914至S1917所说明的相同。因此,在这里不再重复对步骤S2218后的这些步骤的说明。然而,应指出的是,虽然优先用户可能没有中断当前这个用户的独占控制的特权(步骤S2223的判决结果为NO),他仍然可能有一个比可能已经处在预约队列内的其他用户高的优先权。这样,如上所述,可以根据优先用户的优先等级将他插入预约队列内一个比在预约队列内的所有或至少一些其他用户高的位置。
在后一种情况下,过程进至步骤S2225,中断当前用户的独占控制,使优先用户获得独占控制。这个过程通过将优先用户加到预约队列的顶上和将当前用户排在优先用户后来执行(步骤S2225)。图23A和23B示出了预约队列的例子,图23A所示的是将优先用户加到队列表的表顶的情况,而图23B所示的是将当前(所中断的)用户排在优先用户后的情况。然后,在步骤S2226,释放当前用户的独占控制,将独占控制配给优先用户。一旦优先用户得到了独占控制,就将优先用户从预约队列中撤消,结果如图23C所示。
一旦优先用户获取独占控制,如果优先用户独占控制有一段预定时间没有动作(步骤S2227的判决结果为YES),或者在优先用户自愿释放独占控制后(步骤S2229的判决结果为YES),就将独占控制交回给当前(被中断的)用户,再从预约队列中撤消当前(被中断的)用户(步骤S2228),结果如图23D所示。当前用户的独占控制得到恢复,步骤S2213至S2216与上面所说明的相同。
从以上说明很容易看到,一个请求获取独占控制的具有比另一个已经具有对一个设备的独占控制的用户高的优先权的用户可以从这个(低优先权)用户夺取对这个设备的独占控制,而对这个设备的独占控制在优先用户的独占控制释放后就还给这个(被中断的)用户。
以上结合例示性的具体实施例对本发明作了说明。可以理解,本发明并不局限于以上所说明的实施例,熟悉该技术领域的人员按照本发明的精神和范围可以在各个方面予以变动和修改。
权利要求
1.一种用户通过网络远程获取对一个设备的独占控制的方法,所述方法包括下列步骤通过网络远程建立与设备的通信;请求获取对设备的功能的远程独占控制;确定对于要获取对设备的功能的远程独占控制的用户,该设备是否可用;在确定步骤确定对于要获取对设备的功能的远程独占控制的用户,该设备可用的情况下,为用户提供对设备的功能的远程独占控制;以及在确定步骤确定对于要获取对设备的功能的远程独占控制的用户,该设备不可用的情况下,将用户加入一个请求对设备的功能的独占控制的用户的预约队列。
2.一种按照权利要求1所述的方法,其特征在于,所述提供对设备的功能的远程独占控制的步骤包括暂时推迟除了已经得到对设备的功能的远程独占控制以便保持对设备的功能的远程独占控制期间利用设备的功能执行操作的用户之外的用户的请求。
3.一种按照权利要求1所述的方法,其特征在于,在确定步骤确定设备在另一个用户的独占控制之下的情况下,所述方法还包括确定请求对设备的远程独占控制的用户是否具有比这另一个用户高的优先权,如果请求用户确实具有比这另一个用户高的优先权,就暂时将对设备的独占控制让给请求用户,从而为请求用户提供对设备的远程独占控制。
4.一种按照权利要求1所述的方法,其特征在于,所述确定步骤包括确定用户是否有权获取对设备的远程独占控制。
5.一种按照权利要求1所述的方法,其特征在于,在将用户加入请求对设备的独占控制的用户的预约队列的情况下,根据用户的优先权将用户加在预约队列内的一个位置。
6.一种按照权利要求5所述的方法,其特征在于,所述用户在有其他用户从预约队列中撤消时在预约队列内上提,而在用户到达在预约队列内的第一位置时,为用户提供对设备的远程独占控制,而且将已提供远程独占控制通知用户。
7.一种按照权利要求5所述的方法,其特征在于,所述用户在有其他用户从预约队列中撤消时在预约队列内上提,而在用户到达在预约队列内的第一位置时,将对设备的远程独占控制可以获取通知用户,以及等待一段预定时间让用户确认需提供对设备的远程独占控制。
8.一种按照权利要求7所述的方法,其特征在于,所述预定时间过去后,从预约队列中撤消所述用户,以及将他已经从预约队列内撤消通知该用户。
9.一种按照权利要求7所述的方法,其特征在于,所述预定时间过去后,将所述用户移到预约队列内的一个新的位置,以及将新的位置通知用户。
10.一种按照权利要求1所述的方法,其特征在于,在确定步骤确定设备对要获取远程独占控制的用户可用的情况下,所述方法还包括在为用户提供对设备的远程独占控制前对用户进行验证的步骤。
11.一种按照权利要求1所述的方法,其特征在于,在为用户提供对设备的远程独占控制的情况下,所述方法还包括下列步骤获取用户的标识信息;以及根据所获取的标识信息,自动处理在一个打印队列内的打印作业,使得在用户保持对设备的远程独占控制期间打印所述用户的在打印队列内等待处理的打印作业,而暂时推迟在打印队列内等待处理的其他打印作业。
12.一种用户通过网络远程获取对一个设备的独占控制的计算机可执行的处理步骤,所述计算机可执行的处理步骤包括下列步骤通过网络远程建立与设备的通信;请求获取对设备的功能的远程独占控制;确定设备对要获取对设备的功能的远程独占控制的用户是否可用;在确定步骤确定设备对要获取对设备的功能的远程独占控制的用户可用的情况下,为用户提供对设备的功能的远程独占控制;以及在确定步骤确定设备对要获取对设备的功能的远程独占控制的用户暂不可用的情况下,将用户加入一个请求对设备的功能的独占控制的用户的预约队列。
13.一种存储用户通过网络获取对一个设备的独占控制的计算机可执行的处理步骤的计算机可读媒体,所述计算机可执行的处理步骤包括下列步骤通过网络远程建立与设备的通信;请求获取对设备的功能的远程独占控制;确定设备对要获取对设备的功能的远程独占控制的用户是否可用;在确定步骤确定设备对要获取对设备的功能的远程独占控制的用户可用的情况下,为用户提供对设备的功能的远程独占控制;以及在确定步骤确定设备对要获取对设备的功能的远程独占控制的用户暂不可用的情况下,将用户加入一个请求对设备的功能的独占控制的用户的预约队列。
14.一种用户可以通过网络远程获取独占控制的设备,所述设备包括一个存储可执行的处理步骤的存储器;以及一个执行这些可执行的处理步骤的处理器,这些可执行的处理步骤包括(a)通过网络建立与一个远程设备的通信;(c)接收来自远程设备的一个用户要获取对设备的功能的远程独占控制的请求;(d)确定设备对要获取对设备的功能的远程独占控制的用户是否可用;(e)在确定步骤确定设备对要获取对设备的功能的远程独占控制的用户可用的情况下,为用户提供对设备的功能的远程独占控制;以及(f)在确定步骤确定设备对要获取对设备的功能的远程独占控制的用户暂不可用的情况下,将用户加入一个请求对设备的功能的独占控制的用户的预约队列。
15.一种按照权利要求14所述的设备,其特征在于,所述提供对设备的功能的远程独占控制的步骤包括暂时推迟除了已经得到对设备的功能的远程独占控制以便保持对设备的功能的远程独占控制期间利用设备的功能执行操作的用户之外的用户的请求。
16.一种按照权利要求14所述的设备,其特征在于,在将用户加入请求对设备的独占控制的用户的预约队列的情况下,根据用户的优先权将用户加在预约队列内的一个位置。
17.一种按照权利要求16所述的设备,其特征在于,所述用户在有其他用户从预约队列中撤消时在预约队列内上提,而在用户到达在预约队列内的第一位置时,为用户提供对设备的远程独占控制,以及将远程独占控制已提供通知用户。
18.一种按照权利要求16所述的设备,其特征在于,用户在有其他用户从预约队列中撤消时在预约队列内上提,而在用户到达在预约队列内的第一位置时,将对设备的远程独占控制可以获取通知用户,以及等待一段预定时间让用户确认需提供对设备的远程独占控制。
19.一种按照权利要求14所述的设备,其特征在于,在确定步骤确定设备对要获取远程独占控制的用户可用的情况下,还包括在为用户提供对设备的远程独占控制前对用户进行验证的步骤。
20.一种按照权利要求14所述的设备,其特征在于,在为用户提供对设备的远程独占控制的情况下,所述设备还包括下列步骤获取用户的标识信息;以及根据所获取的标识信息,自动处理在一个打印队列内的打印作业,使得在用户保持对设备的远程独占控制期间打印所述用户的在打印队列内等待处理的打印作业,而暂时推迟在打印队列内等待处理的其他打印作业。
全文摘要
本发明提供了一种远程获取对一个设备的独占控制的技术,包括远程建立通过网络与设备的通信;请求获取对设备功能的远程独占控制;以及根据其他用户是否具有对设备功能的远程独占控制确定是否可以获取对设备功能的远程独占控制。如果可以获取该独占控制,对请求的用户进行验证,在用户通过验证后为其提供对设备功能的独占控制,从而在用户保持对设备功能的远程独占控制期间暂时推迟该用户之外其他用户的请求。如果不能获取该独占控制,则拒绝用户要获取远程独占控制的请求,将其加入一个由请求获取对设备独占控制的用户构成的预约队列,当用户在预约队列内上升到下一个获取独占控制的用户时,通知该用户现在可以获取对设备的远程独占控制。
文档编号G06F21/00GK1428709SQ0215050
公开日2003年7月9日 申请日期2002年11月12日 优先权日2001年11月13日
发明者松林东秀裕, 克雷吉·马扎盖特, 罗伊斯·E·斯利克 申请人:佳能株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1