外围设备、信息处理方法和控制程序的制作方法

文档序号:6422303阅读:268来源:国知局
专利名称:外围设备、信息处理方法和控制程序的制作方法
技术领域
本发明涉及一种外围设备、用于该外围设备的方法、以及控制程序,其中该外围设备包括安装在其上的程序,该程序用于控制由该外围设备执行的处理。
背景技术
在作为外围设备的典型例子的图像形成设备的技术中,通过使用具有机械结构的硬件计数器对总输出进行计数是公知的。为了减小安装计数器所需的成本和空间,已提出了软件计数器。软件计数器技术允许以低成本在小空间内实现大量计数器。在软件计数器中,计数值存储在半导体存储器中。这使得有可能为各个功能准备软件计数器,并且为各个功能存储准确的计数信息。(日本专利申请公开文献No.2001-92779)。以下,软件计数器被简称为计数器。在本发明中,术语“计数器”用来一般性地描述用于在诸如打印机、传真机、扫描仪、复印机的外围设备或者具有上述功能中的两种或更多种的多功能设备中测量和存储使用量例如执行程序的次数、执行操作的次数、或者应用程序的使用时间长度的装置。
一种这样的打印系统是公知的,其中根据诸如打印功能或扫描仪功能的特定功能和使用该特定功能的应用程序的组合,收取使用费用(日本专利申请公开文献No.2002-117157)。
添加和删除软件以在外围设备上实现各种功能变得更加容易。已提出了一种这样的打印设备,其中将计数器固定分配给每个应用程序,以对执行每个应用程序的次数进行计数。
提供分配给各个应用程序的计数器使得有可能根据每个应用程序的使用量收取使用应用程序的费用。在这种情况下,应用程序的拥有者或其代理人如服务人员必须周期性地读取各个应用程序的计数值,并且基于这些计数值为使用应用程序向用户收费。然而,管理计数值是麻烦的,并且读取这些计数值需要较高的劳动力成本。特别是当存在大量应用程序时,该问题变得严重。即使在通过网络等自动读取计数器值的系统中,该系统也必须具有高可靠性,并且每次执行计数时都需要收集信息,这使得将较高的负载施加到网络上。
一种解决上述问题的可能技术是通过签发由特定证书管理机构(CA)认证的电子证书或者向用户提供许可证(license)信息或许可证数据,为每个应用程序的使用量设置上限,并且向用户提供使用应用程序的权限,由此允许用户在给定的权限内使用应用程序。
然而,如果获取了产生工具,则任何人都可通过使用产生工具来产生许可证信息。

发明内容
有鉴于此,本发明的一方面是提供一种仅允许外围设备的应用程序或功能的使用权限的拥有者签发许可证信息的技术。
此外,为了使得有可能当在设备中发生故障时或者由于任何其他原因,将应用程序的许可证信息从该设备转移到另一个设备,或者为了使得有可能由于在设备上安装使用权限之后终止使用应用程序而将应用程序的使用权限返回给应用程序的拥有者,本发明的一方面是提供一种从设备收回给予使用应用程序特定次数的权限的许可证信息的技术。本发明的另一方面是提供一种从设备收回表示使用应用程序特定次数的权限的许可证信息使得不能在任何设备内安装所收回的许可证信息的技术。
为了实现这些方面的至少之一,本发明提供了一种管理设备,其用于管理表示可在外围设备上执行的程序或者外围设备的功能的允许使用量的许可证信息,该管理设备包括获取装置,用于从外界获取用于标识许可证信息的许可证标识信息、以及表示程序使用权限的改变量的许可证信息;管理装置,用于管理与已经安装的许可证信息对应的许可证标识信息;确定装置,用于确定对应于许可证信息的许可证标识信息是否包括在由管理装置管理的许可证标识信息中;以及操作控制装置,用于如果确定装置确定对应于许可证信息的许可证标识信息包括在由管理装置管理的许可证标识信息中,则以等于由管理装置管理的使用权限的改变量的量改变已经安装的程序使用权限的值。
在另一方面,本发明提供了一种信息处理设备,其具有产生表示可在外围设备上执行的程序或者外围设备的功能的允许使用量的许可证信息的能力,该信息处理设备包括用于产生用于标识特定许可证信息的许可证标识信息的装置;以及改变装置,用于改变许可证信息,使得将标识程序的程序标识信息、允许使用量以及标识设备的设备标识信息包括到许可证信息中,并且将由生成装置产生的许可证标识信息包括到许可证信息中。在另一方面,本发明提供了一种外围设备,其具有通过使用计数器来管理程序的使用量的能力,该外围设备包括获取装置,用于获取外围设备上的特定程序的允许使用量;用于根据由获取装置获取的允许使用量来产生许可证信息的装置;检测装置,用于检测要向其转移许可证信息的设备;以及转移装置,用于将加密的许可证信息作为许可证信息转移到外部设备。
通过下面参照附图对优选实施例的描述,本发明的其他方面、特性和优点将会变得清楚。


图1是在总体上示出根据本发明第一实施例的系统的图。
图2是示出根据本发明第一实施例的多功能设备的软件模块的分级结构的优选例子的图。
图3是示出根据本发明第一实施例的在图1所示的多功能设备上安装应用程序的处理的流程图。
图4是示出根据本发明第一实施例的计数器号码/应用程序ID表的例子的图。
图5是示出一组作业命令的示例图。
图6是示出根据本发明第一实施例的为更新计数器而由计数器更新装置执行的处理的流程图。
图7是示出根据本发明第一实施例的在多功能设备中提供的一组计数器的示例图。
图8是示出根据本发明第一实施例的卸载安装在多功能设备中的应用程序的处理的流程图。
图9是示出根据本发明第二实施例的多功能设备的软件模块的分级结构的示例图。
图10是示出根据本发明第二实施例的用于安装应用程序的对话框屏幕的示例图。
图11是示出根据本发明第二实施例的响应按图10所示的确定按钮而执行的处理的流程图。
图12是示出根据本发明第二实施例的计数器号码/应用程序ID表的示例图。
图13是示出根据本发明第二实施例的在安装应用程序时通知向上计数单位(count-up unit)的通知屏幕的示例图。
图14是示出根据本发明第二实施例的应用程序信息的一组元素的示例图。
图15是示出根据本发明第二实施例的为对计数器进行向上计数而由计数器更新装置执行的处理的流程图。
图16是示出根据本发明第二实施例的在多功能设备中提供的一组计数器的示例图。
图17是示出根据本发明第二实施例的卸载安装在多功能设备中的应用程序的处理的流程图。
图18是示出针对各个应用程序更新计数器和管理计数器上限的处理的流程图。
图19是示出计数器上限表的示例图。
图20是示出许可证文件的内容的示例图。
图21是示出产生许可证文件的处理的流程图。
图22是示出与许可证文件相关联的处理的流程图。
图23是示出许可证文件ID表的示例图。
图24是示出应用程序密钥表的示例图。
图25是示出收回应用程序的处理的流程图。
图26A和26B是示出用于收回许可证文件的网页的示例图。
图27是示出在一个地点管理所有许可证并且自动分配许可证的系统的方框图。
图28是示出自动分配许可证的处理的流程图。
图29是示出许可证使用状态表的示例图。
图30是示出自动许可证分配处理中由设备执行的发出许可证请求的处理的流程图。
图31A是示出应用程序控制屏幕的示例图,而图31B是示出登录屏幕的示例图。
图32是示出自动许可证分配处理中由主机设备执行的签发许可证的处理的流程图。
图33是示出自动许可证分配处理中由设备执行的返回许可证的处理的流程图。
图34是示出通过其将允许使用应用程序的用户数限定于预定值的应用程序许可证数据库的示例图。
图35是示出根据表示许可证证书号码的信息签发许可证文件的处理的流程图。
图36是示出许可证证书数据库的示例图。
图37是示出自动许可证分配处理中由主机设备执行的签发许可证的处理的流程图,其中将允许使用应用程序的用户数限定于预定值。
图38是示出根据本发明实施例的应用程序许可证数据库的示例图。
图39是示出根据本发明实施例的包括计算机的打印机控制系统的方框图。
具体实施例方式
下面结合附图参考优选实施例更详细地描述本发明。
第一实施例图1是在总体上示出根据本发明第一实施例的系统的图。在图1中,多功能设备100是外围设备的典型例子,并且具有以下部分扫描仪、打印机、复印机和传真机。多功能设备100通过网络连接到网络服务器12以及主机计算机11,其中网络服务器12是外部信息处理设备的优选例子,并且主机计算机11是信息处理设备的优选例子。多功能设备100还通过公用通信网络连接到其他通信设备。多功能设备100不局限于图1所示的多功能设备,而是多功能设备100可以是数字复印机或者也能够用作复印机的打印机。连接到网络的外围设备的数目不局限于图1所示的例子中的数目。外围设备不局限于多功能设备100,而是具有形成图像的能力的单功能设备如传真机、打印机或扫描仪或者安设在该设备中的控制器也可用作外围设备。计数器可安设在打印机的网络板如网络接口上。
多功能设备100主要包括读取器1、打印机单元2和图像输入/输出控制器3。读取器1连接到打印机单元2和图像输入/输出控制器3。读取器1读取文档的图像,并且将所得到的图像数据输出到打印机单元2或图像输入/输出控制器3。打印机单元2根据从读取器1和图像输入/输出控制器3输出的图像数据在打印纸上打印图像。图像输入/输出控制器3连接到外部网络或公用通信网络,并且负责输入/输出图像数据。当用户使用多功能设备100时,图像输入/输出控制器3存储表示多功能设备100的使用量的数据。图像输入/输出控制器3还分析和控制从通过网络连接的主机计算机11接收的作业(例如,打印命令)。
图像输入/输出控制器3包括传真单元4、文件单元5、作为获取装置的例子的网络接口7、PDL格式化器8和核心10。传真单元4连接到核心10和公用通信网络。如果传真单元4通过公用通信网络接收到压缩的图像数据,则传真单元4对压缩的图像数据进行解压缩,并且将所得到的解压缩图像数据发送到核心10。另一方面,如果传真单元4从核心10接收到图像数据,则传真单元4对所接收的图像数据进行压缩,并且通过公用通信线将压缩的图像数据发送到公用通信网络。文件单元5连接到核心10和存储设备6。文件单元5压缩从核心10接收的图像数据,并且将所得到的压缩图像数据与在检索压缩图像数据时使用的关键字一起存储在存储设备6中。在本实施例中,硬盘驱动器用作存储设备6,其是存储装置的优选例子,不过存储设备6不局限于硬盘驱动器。此外,文件单元5根据从核心10接收的关键字检索存储在存储设备6中的压缩图像数据。文件单元5读取所检索的压缩图像数据,对其进行解压缩,并且将所得到的解压缩图像数据发送到核心10。
网络接口7用作核心10与通过外部网络连接的主机计算机11和网络服务器12之间的接口。通过网络接口7执行从主机计算机11(主机计算机3000)接收作业控制数据和将图像数据等发送到主机计算机11。例如,作业控制数据包括要与PDL数据一起发送的作业控制命令。例如,将PDL数据转换成图像数据,并且将其打印在纸上,然后对这些纸张进行排序(sort)和卡钉(staple)。网络接口7具有称作MIB(管理信息库)的数据库,根据该数据库,网络接口7通过利用SNMP(简单网络管理协议)与网络上的主机计算机11通信来管理打印机单元2。网络接口7具有接受用于安装、卸载、启动或停止在图像形成设备上实现各种功能的应用程序的安装请求、卸载请求、启动请求、停止请求等的能力。这使得通过网络连接的其他设备有可能控制多功能设备100上的应用程序。
格式化器8连接到核心10,并且负责将从主机计算机11接收的PDL数据转换成可由打印机单元2处理以打印图像的格式的图像数据。
图像存储器9用来临时存储从读取器1接收的信息或者通过网络接口从主机计算机11等接收的信息。
核心10是用作存储装置以及分析装置的单元的优选例子,其控制在读取器1、传真单元4、文件单元5、网络接口7和PDL(页面描述语言)格式化器8之间发送的数据。核心10还分析作业控制数据,并且存储表示与用户的使用相关联的状态、要复印的页数、要打印的页数或要扫描的页数的信息。
主机计算机11(信息处理设备)是个人计算机或工作站(PC/WS)。网络服务器12负责控制整个网络。记帐(accounting)服务器13是外部信息处理设备的例子,其包括用于管理与多功能设备100相关联的记帐信息。记帐服务器13能够根据多功能设备100的计数器的计数值显示多功能设备100的使用量,并且能够管理使用量。操作控制单元14包括操作控制面板。使用安设在操作控制面板上的触摸面板,用户可选择要执行的应用程序,并且可选择应用程序要使用的功能。代替通过多功能设备100的操作控制单元13输入应用程序执行命令,还可从用作外部信息处理设备的网络服务器12输入应用程序执行命令。由计数器对所执行应用程序的使用量进行计数,在描述了多功能设备100之后,后面将描述计数器。
图2是示出根据本发明第一实施例的图像形成设备的软件模块分级结构的优选例子的图。软件模块包括操作系统(OS)201。在操作系统(OS)201之上的上层中,软件模块包括用于控制各种设备的控制器模块202。在更上层中,软件模块包括用于逐步执行程序的解释器模块203。在解释器模块203之上的上层中,软件模块包括用于管理可动态安装和移除的应用程序的应用程序管理模块204。用于实现各种功能的应用程序205在应用程序管理模块204的控制之下运行。可通过解释器模块203执行用于提供复印功能的应用程序模块。例如,响应将从外部服务器获取的应用程序模块安装到图像形成设备中,应用程序管理模块204添加应用程序205并且管理它。另一方面,如果从图像形成设备删除该应用程序模块,则应用程序管理模块204从管理中移除应用程序205。
用于安装/卸载应用程序205的应用程序安装器206也可在应用程序管理模块204上执行。应用程序是用于与多功能设备协作向用户提供各种处理的程序的典型例子。应用程序的特定例子包括用于处理或压缩图像的应用程序、用于管理例如打印限制的应用程序、嵌入在应用程序中的插件程序、用于远程控制多功能设备的程序、用于通过控制多功能设备的单元如修整器(finisher)来装订(binding)打印纸张的应用程序、用于转换或分析特定文档数据的程序、文档产生程序如字处理器、时间表管理程序、表格程序、数据库管理程序以及用于通过因特网提供打印服务的服务器程序。
这些软件程序在核心10中的CPU(未示出)上执行。在上述实施例中,解释器和OS(操作系统)安装在复印机上。应用程序205不局限于上面所述的应用程序,而是也可采用其他应用程序模块,只要它们可在图像形成设备上运行并且它们可由应用程序管理模块204适当地管理即可。
图3是示出在多功能设备100(多功能设备2702)上安装应用程序的处理的流程图。参照图3,下面描述为从主机计算机11将新的应用程序安装到多功能设备100上而由应用程序安装器206执行的处理。在主机计算机11的操作控制屏幕上,如果使用作为命令输入装置的优选例子的定点设备(未示出)输入应用程序安装命令,则启动图3所示的处理。首先,在步骤S301,从主机计算机11接收应用程序信息。应用程序信息包括与程序相关联的属性信息,例如销售商名称、应用程序ID、应用程序名称、所需存储器大小、版本号以及最后更新日期/时间。应用程序信息用于管理应用程序的使用。
如果在步骤S301接收到包括应用程序ID的应用程序信息,其中应用程序ID是与程序相关联的属性信息的典型例子,则应用程序安装器206执行步骤S302。在步骤S302,应用程序安装器206确定是否已经安装了相同的应用程序。更具体地说,应用程序安装器206通过比较在步骤S301获取的应用程序信息和与已经安装的应用程序相关联的应用程序信息,确定是否已经安装了相同的应用程序。如果应用程序安装器206在步骤S302确定存在相同的应用程序,则应用程序安装器206终止该处理。然而,如果确定出不存在相同的应用程序,则应用程序安装器206使该处理前进到步骤S303。在步骤S303,用作确定装置的应用程序安装器206将0代入变量n。然后,应用程序安装器206使该处理前进到步骤S304。在步骤S304,应用程序安装器206确定第n应用程序计数器是否正被使用。如果它未正被使用,则应用程序安装器206使该处理前进到步骤S305。在步骤S305,应用程序安装器206更新计数器号码/应用程序ID表。更具体地说,将计数器号码n和应用程序ID相互关联地写入到该表中。在本描述中,“计数器”是指用于对应用程序已被使用的次数进行计数的计数器,其中次数是应用程序的使用量的典型例子。计数器包括用于计算启动应用程序所需的时间长度并且存储计算值的测量/存储装置。
图4示出计数器号码/应用程序ID表的例子。在图4所示的该例子中,被分配计数器号码1的计数器对应于被分配应用程序ID 11的应用程序。被分配计数器号码3的计数器对应于被分配应用程序ID 51的应用程序。其他计数器是未用的。在步骤S305完成更新表之后,应用程序安装器206使该处理前进到步骤S306。在步骤S306,应用程序安装器206将应用程序从主机下载到多功能设备100的存储设备6中,以便可在多功能设备100上使用该应用程序。然后,应用程序安装器206结束该处理。另一方面,如果应用程序安装器206在步骤S304确定第n计数器正被使用,则应用程序安装器206使该处理前进到步骤S307。在步骤S307,应用程序安装器206以1递增变量n,并且使该处理前进到步骤S308。在步骤S308,应用程序安装器206确定变量n的值是否小于在多功能设备100中可用的应用程序计数器的总数N。如果变量n的值小于应用程序计数器的总数N,则应用程序安装器206将该处理返回到步骤S304。否则,应用程序安装器206结束该处理。
一旦以上述方式安装了应用程序,则应用程序可通过按照给定命令执行作业来控制读取器、打印机单元等,从而提供各种功能。
图5示出一组作业命令的例子。在本例中,该组作业命令包括作业启动命令501、作业属性设置命令502、作业数据发送命令503以及作业结束命令504。作业启动命令501向控制器请求启动作业。作业启动命令501包括表示模式511和取决于模式的补充信息512的参数。当接收到作业启动命令501时,控制器开始为作业作准备。作业属性设置命令502是设置表示作业的功能和状态的属性的命令。属性包括表示应用程序ID、作业名称、作业类型、数据格式和选定纸张类型的信息。通过发出属性设置命令,可以连续地设置多个属性。
作业数据发送命令503是发送要在作业中处理的数据如图像数据的命令。取决于作业,没有数据要被处理。在这种情况下,可去除作业数据发送命令503。作业结束命令504是表示与作业相关联的所有命令已被发送的命令。从作业启动命令501到作业结束命令504的一组命令作为一组作业命令来解释。如果发出一组作业命令,则控制器通过控制读取器1、打印机单元2、文件单元5等根据给定属性执行适当的处理,并且控制器根据作业类型发出适当的计数器更新请求。作业启动命令包括表示发出了作业启动命令的应用程序的应用程序ID的信息。因此,基于包括在作业启动命令中的应用程序ID,控制器和计数器更新装置可确定哪个应用程序启动了当前作业。
下面参照图6描述根据第一实施例的为更新计数器而由计数器更新装置执行的处理,其中图6以流程图的形式示出该处理。首先,在步骤S601,接收计数器更新请求。在下一步骤S602,获取更新请求发出者的应用程序ID,并且该处理进入步骤S603。在步骤S603,将0代入变量n。然后,该处理进入步骤S604。在步骤S604,检查表以确定第n计数器是否被分配给与在步骤S602获取的应用程序ID对应的应用程序。如果第n计数器被分配给与在步骤S602获取的应用程序ID对应的应用程序,则该处理进入步骤S605。在步骤S605,更新被分配用于当前作业的第n计数器,然后该处理进入步骤S606。在步骤S606,更新总数计数器,然后结束该处理。另一方面,如果在步骤S604确定第n计数器未被分配给与在步骤S602获取的应用程序ID对应的应用程序,则该处理进入步骤S607。在步骤S607,确定变量n是否小于应用程序计数器的总数N。如果n<N,则在步骤S608以1递增n,并且该处理返回到步骤S604。如果在步骤S607未确定n<N,则该处理进入步骤S606。在步骤S606,仅更新总数计数器,然后结束该处理。
图7示出多功能设备100拥有的一组计数器的例子。在本例中,计数器包括三种类型复印计数器、打印计数器和扫描计数器。每种类型的计数器的集合包括一个表示总计数的总数计数器和N个特定于应用程序的计数器(分别被分配计数器号码1到N)。当正在处理复制作业时,每当复印一页时递增对应的复印计数器。类似地,当正在处理扫描作业时,每当扫描一页时,递增扫描计数器。在打印作业中,每当打印一页时,递增打印计数器。
当计数器号码/应用程序ID表的内容例如图4所示时,图7中的(a)所表示的计数器由应用程序ID为11的应用程序使用,并且图7中的(b)所表示的计数器由应用程序ID为51的应用程序使用。例如,如果应用程序ID为11的应用程序执行复印作业,则递增图7中的(c)所表示的计数器和总数计数器。类似地,如果执行打印作业,则递增图7中的(d)所表示的计数器和总数计数器。在执行扫描作业的情况下,则递增图7中的(e)所表示的计数器和总数计数器。在由远程主机计算机执行诸如打印作业、扫描作业或复印作业的作业的情况下,如果作业发出者的应用程序ID已经被登记在该表中,则递增对应于该应用程序ID的计数器和总数计数器。如果作业发出者的应用程序ID未被登记在该表中,则拒绝作业。
以上述方式,有可能管理与由多功能设备提供的功能和使用这些功能之一的应用程序的组合一样多的计数值。还有可能针对每个应用程序和针对每个功能计算计数值之和。这使得有可能不仅逐应用程序地而且逐操作地结算多功能设备的使用,其中“操作”是指由使用多功能设备的特定功能的应用程序执行的处理。例如,当计数器号码6被分配给特定图像处理应用程序时,如果使用该图像处理应用程序执行特定图像处理如复印数字水印,则向上计数对应于计数器号码6的复印计数器。这使得有可能管理使用图像处理应用程序的特定操作如复印的使用量。当然,应用程序不局限于图像处理应用程序,而是也可针对其他应用程序例如用于处理XML文档的应用程序或者用于处理特定文档文件的应用程序以类似的方式执行管理。此外,由多功能设备提供的功能不局限于复印、打印和扫描,而是多功能设备可提供其他功能如修整(finishing)、装订(binding)或打孔。
现在,下面描述卸载已被安装在多功能设备上并且其应用程序ID已被分配给计数器的应用程序的处理。图8是示出卸载已经安装在多功能设备100上的应用程序的处理的流程图。
首先,在步骤S801,检查指定的应用程序是否正在运行。如果指定的应用程序正在运行,则结束卸载处理而不执行任何操作。如果指定的应用程序未正在运行,则确定可卸载应用程序而不会遇到任何问题,因此该处理进入步骤S802。在步骤S802,将与要卸载的应用程序相关的计数器信息和应用程序信息发送到记帐服务器13。然后,该处理进入步骤S803。在步骤S803,检查记帐服务器13是否已正确地接收到所发送的信息。如果正确接收到信息,则该处理进入步骤S804。然而,如果未正确地接收到信息,则结束该处理而不卸载应用程序。在步骤S804,更新计数器号码/应用程序ID表,使得取消分配给要卸载的应用程序的应用程序ID的计数器,并且将其置于未用状态。在步骤S805,通过从存储设备6删除该应用程序来卸载它,并且结束该处理。
在本实施例中,如上所述,当安装应用程序时,将可用的计数器动态分配给该应用程序。如果由应用程序执行某处理,则向上计数分配给该应用程序的计数器。因此,有可能针对每个应用程序管理复印、打印和扫描的计数值。
当卸载应用程序时,将与该应用程序相关联的应用程序信息和计数器信息存储在记帐服务器中。因此,有可能自由地安装和卸载应用程序而不丢失计数信息。
在本实施例中,如果发现已经安装了相同的应用程序,则终止安装处理。可选地,可检查与应用程序相关联的版本信息,并且如果版本信息表示应用程序为较新版本,则可执行安装。仍然可选地,用户可确定是否应当执行安装。
虽然在本实施例中应用程序安装器206是在应用程序管理模块204上运行的应用程序之一,但是应用程序安装器206可以是嵌入在控制器202中的模块。
虽然在本优选实施例中提供了三种类型的计数器,也就是,复印计数器、打印计数器和扫描计数器,但是计数器的类型不限于此。可以存在任意数目的计数器类型。例如,根据纸张大小,可增加相同功能的计数器类型的数目。
虽然在本实施例中,将一组计数器分配给一个应用程序,但是可引入组ID,并且可由多个应用程序共享一组计数器。
虽然在本实施例中,动态分配除了总数计数器之外的所有计数器,但是也可将计数器永久性地分配给预先安装在多功能设备上的特定应用程序。
在本实施例中,当从外界接收到作业请求时,如果该作业的应用程序ID未被登记在表中,则拒绝该作业。可选地,可以接受该作业,并且可以仅仅对总数计数器进行向上计数。
第二实施例现在,下面描述根据本发明第二实施例的图像形成设备。
用作根据第二实施例的图像形成设备的多功能设备的构造类似于上面参照图1详述的根据第一实施例的多功能设备的构造,因此这里不给出其重复描述。然而,在本第二实施例中,主机计算机11用作其中存储了应用程序的文件服务器。下面描述第二实施例与第一实施例的区别。
图9示出根据本发明第二实施例的多功能设备100的软件模块的分级结构。软件模块包括操作系统(OS)901。用于控制各个设备的控制器模块902安设在操作系统901之上的层中。在更上层中,安设了用于逐步执行程序的解释器模块903以及用于控制(下面将要描述的)通用计数器的通用计数器控制程序接口(以下称作通用计数器控制API)904。在更高层中,提供了用于管理可动态安装和移除的应用程序的应用程序管理模块905。用于实现各种功能的应用程序906在应用程序管理模块905(使用量管理装置)的控制之下运行。用于安装/卸载应用程序的应用程序安装器907也在应用程序管理模块905的控制之下运行。每个应用程序906可通过应用程序管理模块905使用通用计数器控制API 904。这些软件程序在核心10内的CPU(未示出)上执行。
参照图10和11,下面描述为将存储在主机计算机11中的应用程序之一安装到多功能设备100中而由应用程序安装器907执行的处理。这里,假定主机计算机11具有万维网(Web)服务器的能力并且具有特定URL。在本实施例中,例如,应用程序位于URL“httpwww.kaisha.com/aafile”。如果在多功能设备的操作控制单元14上指定了该URL,则从主机计算机中对应于该URL的存储区域下载指定的应用程序,并且将所下载的应用程序自动安装在多功能设备中。代替使用操作控制单元14,还可通过外部计算机12的操作控制屏幕访问URL并且通过网络接口将所下载的应用程序传输到多功能设备的核心10而下载应用程序。
图10是示出根据本发明第二实施例的用于安装应用程序的对话框屏幕的示例图。当在应用程序安装器907的主屏幕(未示出)上点击安装按钮时,在多功能设备100的操作控制单元14上显示该对话框屏幕。更具体地说,如果将指向其中存在要安装的应用程序信息的主机计算机11的URL输入到文本区域1001中之后点击确定按钮1002,则应用程序安装器从主机计算机11下载指定的应用程序,并且安装所下载的应用程序。如果点击图10所示的屏幕上的取消按钮,则关闭该屏幕并且再次打开应用程序安装器的主屏幕(未示出)。
图11是示出响应按确定按钮1002而执行的处理的流程图。图12示出根据第二实施例的计数器号码/应用程序ID表的例子。图13是示出根据本发明第二实施例的用于在安装应用程序时通知向上计数单位的通知屏幕的示例图。参照图11到13,下面描述响应按确定按钮而执行的处理。
如果按确定按钮1002,则应用程序安装器907在步骤S1101从在文本区域1101中输入的数据所指定的位置获取应用程序信息。
图14示出根据第二实施例的应用程序信息的一组元素的例子。在图14所示的该例子中,应用程序信息包括销售商名称、用作应用程序标识符的应用程序ID、应用程序名称、版本、最后更新日期、所使用计数器数、计数器类型、向上计数单位、所使用的存储器以及表示从其获取程序的位置的归档文件URL。
再次参照图11,在步骤S1101,如果应用程序安装器907成功地获取作为程序属性信息的典型例子的应用程序信息,则该处理进入步骤S1102。如果未获取应用程序信息,则结束该处理。在步骤S1102,当获取了应用程序信息时,用作根据本发明的检测装置的优选例子的应用程序安装器907检测在应用程序信息中指定的计数器类型的未用计数器。如果未检测到未用计数器号码,也就是,如果不存在可用于管理通过多功能设备100的网络接口(输入单元)从例如外部主机计算机11等输入的新程序的使用量的计数器,则结束该处理。
另一方面,如果在步骤S1102针对在应用程序信息中指定的所有计数器类型都检测到未用的计数器,则该处理进入步骤S1103。在步骤S1103,基于应用程序信息,在操作控制单元上显示对话框(图13)以向用户通知向上计数单位。例如,显示应用程序名称和每次执行应用程序时要收取的费用量。在下一步骤S1104,确定按了对话框屏幕(图13)上的哪个按钮。如果确定按了取消按钮1301,则终止该处理。然而,如果确定按了继续按钮1302,则该处理进入步骤S1105。在步骤S1105,从在应用程序信息中描述的归档文件URL所指定的位置下载程序。如果在步骤S1105不能成功地下载该程序,则根据需要显示错误消息,并且结束该处理。如果在步骤S1105成功地下载该程序,则该处理进入步骤S1106。在步骤S1106,应用程序安装器(计数器管理装置)将在步骤S1105下载的程序存储到存储设备6中,以便可使用该程序。然后,该处理进入步骤S1107。在步骤S1107,应用程序安装器将在步骤S1102检测到的计数器号码和包括在应用程序信息中的应用程序ID包括到计数器号码/应用程序ID表内新创建的记录中。此外,根据需要,应用程序管理模块204初始化由应用程序安装器检测的计数器的计数器值。然后,结束该处理。在不能检测到未用计数器的情况下,也就是,在计数器数目不足够的情况下,应用程序安装器可创建新的计数器以将其分配给新的应用程序,并且可初始化该新计数器。
在图13所示的通知屏幕上,要安装的应用程序的应用程序名称显示在应用程序显示区域中,并且表示为使用多功能设备100的功能例如扫描功能或复印功能而以其收费的向上计数单位的向上计数信息(结算信息)显示在向上计数信息显示区域1304中。如果用户决定接受向上计数条件,则用户点击继续按钮1302以安装该应用程序。
图12示出根据本发明第二实施例的计数器号码/应用程序ID表的例子。针对单色打印功能、彩色打印功能、单色复印功能、彩色复印功能和扫描功能的每一个单独准备计数器号码/应用程序ID表。在每个表中,描述了分配给各个计数器的计数器号码与指定应用程序的应用程序ID之间的对应关系。由多功能设备100提供的功能不限于上述功能,而是本发明还可应用于由多功能设备100提供的其他功能,例如包括卡钉功能和装订功能的修整功能,只要可检测功能的使用量(使用功能的次数或使用时间)即可。在图12中,0xFFFFFFFF是表示计数器处于未用状态的代码。在图12所示的该特定例子中,只有一个具有图14所示的应用程序信息的应用程序被安装在多功能设备上,并且计数器号码为1的扫描计数器和计数器号码为1的通用计数器被施加到应用程序ID为11的应用程序。其他计数器是未用的。基于上述表,逐应用程序地管理应用程序的使用量。更具体地说,当特定应用程序执行使用多功能设备功能的特定操作(例如,扫描操作、复印操作、打印操作或修整操作)时,对具有在该表中分配给特定应用程序的计数器号码的计数器进行向上计数。
由在多功能设备100中提供的应用程序管理模块204执行上述逐应用程序地管理应用程序的使用量。响应向多功能设备100输入与应用程序相关联的属性信息,应用程序安装器206检测被分配用于管理与应用程序ID对应的应用程序的使用量的计数器,其中应用程序ID是要安装的程序的标识信息的典型例子。
应用程序管理模块204与由应用程序安装器206检测的计数器相关地管理所安装的应用程序。
程序标识信息可包括多条用于标识程序的信息。例如,对于应用程序,程序标识信息可包括应用程序ID和应用程序名称。在以文件的形式提供的应用程序模块的情况下,向该应用程序模块分配了模块名称,并且向其中存储了该应用程序模块的文件分配了文件名称。该文件名称和模块名称可以是程序标识信息。因此,当通过网络接口将应用程序模块与关联的应用程序信息一起输入到多功能设备中并且将其存储在多功能设备内所提供的存储设备中时,可确定是否向该应用程序模块分配了计数器。
如同在第一实施例中一样,所安装的应用程序可通过执行一组作业命令(图5)控制读取器1、打印机单元2、修整器15等,从而使用由多功能设备提供的各个功能。在第一实施例中已经描述了该过程的详细信息,因此这里不给出重复的描述。
图15是示出根据本发明第二实施例的为对计数器进行向上计数而由应用程序管理模块中的计数器更新装置执行的处理的流程图。参照图15所示的流程图,下面描述响应对特定计数器进行向上计数的请求而执行的处理。首先,在步骤S1501,应用程序管理模块例如从核心接收向上计数请求。然后,该处理进入步骤S1502。在步骤S1502,获取向上计数请求的发出者的应用程序ID,并且该处理进入步骤S1503。在步骤S1503,将0代入变量n,并且该处理进入步骤S5104。在步骤S1504,检查表,以确定第n计数器是否被分配给具有在步骤S1502获取的应用程序ID的应用程序。如果第n计数器被分配给具有在步骤S1502获取的应用程序ID的应用程序,则该处理进入步骤S1505。
在步骤S1505,应用程序管理装置从应用程序信息获取为当前作业类型定义的向上计数单位。在下一步骤S1506,以等于在步骤S1505获取的单位的值对第n计数器进行向上计数,并且该处理进入步骤S1509。在步骤S1509,应用程序管理装置以在应用程序信息中指定的值对总数计数器进行向上计数,并且完成该处理。另一方面,如果应用程序管理装置在步骤S1504确定第n计数器未被分配给具有在步骤S1502获取的应用程序ID的应用程序,则应用程序管理装置使该处理前进到步骤S1507。在步骤S1507,确定变量n小于应用程序计数器的总数N。如果n<N,则该处理进入步骤S1508。在步骤S1508,以1递增n,并且该处理返回到步骤S1504。如果在步骤S1507确定n不小于N,则该处理进入步骤S1509。在步骤S1509,仅以在应用程序信息中指定的值对总数计数器进行向上计数,并且结束该处理。
图16示出根据本发明第二实施例的在多功能设备中提供的一组计数器的例子。在本例中,这组计数器包括六种类型的计数器,也就是,复印计数器(单色复印计数器)、扫描计数器、打印计数器(单色打印计数器)、彩色复印计数器、彩色打印计数器以及通用计数器。每种类型包括由各个应用程序使用的N个计数器(被分配计数器号码1到N),并且还包括用于表示总计数的总数计数器。例如,当执行单色复印作业时,每当复印一页时,以在应用程序信息中定义的值,对复印计数器进行向上计数。类似地,每当在扫描作业、单色打印作业、彩色复印作业或彩色打印作业的期间执行特定操作时,由控制器自动地对扫描计数器、打印计数器、彩色复印计数器或彩色打印计数器进行向上计数。响应通过通用计数器控制API由应用程序发出的命令,对通用计数器进行向上计数。
例如,当安装了具有图14所示的应用程序信息的应用程序时,如果应用程序ID为11的应用程序执行扫描作业,则每当扫描一页时以10递增图16中的(a)所表示的计数器。当通用计数器控制API被设置成每当应用程序ID为11的应用程序发出作业时调用时,则每当应用程序ID为11的应用程序发出作业时以1递增图16中的(b)所表示的计数器。
现在,参照以流程图的形式示出根据第二实施例的卸载安装在多功能设备中的应用程序的处理的图17,下面描述卸载处理。首先,在步骤S1701,应用程序安装器203确定指定的应用程序是否正在运行。如果指定的应用程序正在运行,则应用程序安装器203结束卸载处理而不执行任何操作。如果指定的应用程序未正在工作,则确定可卸载指定的应用程序而不导致任何问题,因此该处理进入步骤S1702。在步骤S1702,应用程序安装器203(检测装置)在计数器号码/应用程序ID表中搜索与要卸载的应用程序相关联的计数器信息和应用程序信息。将所检索的计数器信息和应用程序信息存储在多功能设备内所提供的非易失性存储器中。然后,该处理进入步骤S1703。
在步骤S1703,确定是否成功地在非易失性存储器中存储了计数器信息和应用程序信息。如果成功地存储了它们,则该处理进入步骤S1704。然而,如果未能存储计数器信息和应用程序信息,则结束该处理而不卸载应用程序。在步骤S1704,应用程序管理模块204(计数器管理装置)更新计数器号码/应用程序ID表,使得取消与要卸载的应用程序的应用程序ID相关联的计数器的分配,并且将该计数器置于未用状态。在下一步骤S1705,应用程序管理模块204从存储设备6删除该应用程序,并且结束该处理。
在本实施例中,如上所述,当安装应用程序时,显示结算通知对话框。如果用户决定接受在为每个操作收费中所要采用的向上计数单位,并且如果用户按继续按钮,则安装应用程序。通用计数器可用于各个应用程序,由此可管理执行每个应用程序的次数或者由应用程序执行的处理量。
当卸载应用程序时,将应用程序信息和与该应用程序所使用的计数器相关联的计数器信息存储在多功能设备内所提供的存储器中。这使得有可能根据需要反复地安装和卸载应用程序,而不丢失计数信息。
如下面参照图18和19所述,根据对各个应用程序和各个功能设置的上限,限制每个应用程序的各个操作。
图18是示出根据本发明第一实施例的由计数器更新装置更新计数器的处理和由计数器上限管理装置管理计数器上限的处理的流程图。除了图18所示的处理包括管理上限的附加步骤之外,图18所示的处理类似于图6所示的处理。参照图18所示的流程图,下面描述由计数器更新装置更新计数器的处理和由计数器上限管理装置管理计数器上限的处理。
如果在步骤S1801从核心10接收到计数器更新请求,则该处理进入步骤S1802。在步骤S1802,获取计数器更新请求的发出者的应用程序ID,并且该处理进入步骤S1803。在步骤S1803,将0代入变量n,并且该处理进入步骤S1804。在步骤S1804,检查表以确定第n计数器是否被分配给与在步骤S1802获取的应用程序ID对应的应用程序。如果第n计数器被分配给具有在步骤S1802获取的应用程序ID的应用程序,则该处理进入步骤S1805。在步骤S1805,更新被分配用于当前作业的第n计数器,并且该处理进入步骤S1809。另一方面,如果在步骤S1804确定第n计数器未被分配给与在步骤S1802获取的应用程序ID对应的应用程序,则该处理进入步骤S1807。在步骤S1807,确定变量n小于应用程序计数器的总数N。如果n<N,则在步骤S1808以1递增n,并且该处理返回到步骤S1804。然而,如果在步骤S1807确定n不小于N,则该处理进入步骤S1806。在步骤S1806,仅更新总数计数器,然后结束该处理。
在步骤S1809,检查图19所示的上限表,以检测对用于当前作业类型的第n计数器设置的上限,并且将在步骤S1805更新的计数器值与所检测的上限进行比较。如果该比较表示计数器值不大于上限,则在步骤S1806更新总数计数器,并且结束该处理。然而,如果计数器值大于上限,则该处理进入步骤S1810。在步骤S1810,向图1所示的核心10发出作业终止命令,并且该处理进入步骤S1811。在步骤S1811,将表示作业已被强制性地终止的事件发送到作业的发出者,也就是,与在步骤S1802获取的应用程序ID对应的应用程序(图2中的205)。然后,在步骤S1805,更新总数计数器,并且结束该处理。
在本实施例中,在步骤S1810,强制性地终止作业。可选地,不是强制性地终止作业,而是简单地向发出了作业的应用程序发送事件以通知计数器超过了上限,并且应用程序可响应接收到该事件而执行预定操作。由应用程序执行的预定操作可以是停止发出另外的作业,显示消息以向用户警告到达了向用户许可的应用程序使用上限,在多功能设备100的操作控制单元14上显示对话框屏幕以提示用户安装作为应用程序许可证信息的优选例子的许可证文件,或者从在计算机中提供的扬声器(未示出)通过语音向用户通知上述信息。可选地,通过将必要信息发送到网络服务器或主机计算机,可以在网络服务器或主机计算机的显示器上显示对话框屏幕。
图19示出存储在多功能设备100中的计数器上限管理表的例子。在图19所示的例子中,为三种类型的计数器即复印计数器、打印计数器和扫描计数器分别定义上限,并且每种类型包括由各个应用程序使用的N个计数器(被分配计数器号码1到N)。
例如,当计数器号码/应用程序ID表具有图4所示的内容时,将图19中的(a)所表示的上限值施加到应用程序ID为11的应用程序,并且将图19中的(b)所表示的上限值施加到应用程序ID为51的应用程序。更具体地说,例如,当应用程序ID为11的应用程序执行复印作业时,施加图19中的(c)所表示的上限值。类似地,当执行打印作业时,施加图19中的(d)所表示的上限值,而当执行扫描作业时,施加图19中的(e所表示的上限值。当响应由远程主机发出的请求而执行打印作业、扫描作业或复印作业时,如果发出了作业的应用程序ID已经被登记在表中,则施加对应于该应用程序ID的上限值。如前面参照图7所述,在作业的发出者的应用程序ID未被登记在表中的情况下,拒绝该作业。当然,在这种情况下,上限值未被登记。例如,可存在这样的OCR应用程序,其使用多功能设备的扫描功能以从图像提取字符信息、识别所提取的字符信息,并且将其转换成以诸如ASCII码的代码表达的文本信息。当存在如同在上例中一样使用多功能设备的特定功能来实现扩展功能的应用程序时,针对应用程序和功能的各个组合管理对使用量施加限制、监视使用量和为使用收费。例如,在OCR应用程序和多功能设备100的扫描功能的组合中,当设置了上限使得不允许使用多功能设备100超过该上限时,应用程序管理模块905通过API对控制器进行控制而限制使用多功能设备100的功能。应用程序和多功能设备100的功能的组合的特定例子包括高级图像处理应用程序和打印功能的组合、图像处理应用程序和扫描功能的组合以及打印功能、传真功能或扫描功能与办公应用程序如表格程序或文档制作程序的组合。
因此,管理与由多功能设备提供的功能和使用该功能的应用程序的组合一样多的计数值和上限值。在该管理中,可以针对各个应用程序和针对各个功能单独管理计数值和上限值。因此,可以针对各个应用的特定操作单独管理计数值和上限值。
例如,当计数器号码6被分配给复印应用程序时,响应使用复印应用程序而对与计数器号码6对应的复印计数器进行向上计数,并且将复印应用程序的使用限制为对计数器号码6设置的上限值。这些上限值可以由特定许可证管理机制设置,并且可以向用户给予使用应用程序与由上限值定义的一样多的次数的许可证。这使得有可能根据上限为应用程序的使用预先向用户收费。由多功能设备提供的功能不限于复印、打印和扫描,而是功能可以是传真发送/接收、修整、装订或打孔。在任何情况下,可以针对应用程序和由应用程序使用的功能的每个组合设置上限。这使得有可能限制特定应用程序的特定功能,通过控制特定功能来限制输出由特定应用程序发出的作业,以及强制性地删除特定应用程序。
图20示出许可证文件的内容的例子。图21示出由应用程序的所有权的拥有者的主机计算机(未示出,但具有与图27所示的个人计算机2701类似的硬件配置)执行的产生许可证文件的处理。在图20中,在图21所示的处理中自动提供“许可证文件ID”属性。“许可证文件ID”属性被唯一地确定,使得各个许可证文件具有不同的值。
“设备序列号”属性表示允许安装许可证文件的多功能设备的序列号。“设备序列号”属性可包括多个序列号。在这种情况下,序列号以逗号分隔。“截止日期”属性表示直到其为止允许安装许可证文件的截止日期。“应用程序ID”属性表示其使用权限由当前许可证文件给予的应用程序的应用程序ID。
“有效期”属性表示在此期间由当前许可证文件给予应用程序的使用权限的以日为单位的时期。
“应用程序密钥”属性是安装其使用权限由当前许可证文件给予的应用程序所需的应用程序密钥。也就是,以加密的形式提供了应用程序代码,并且只要当使用应用程序密钥成功地对加密的应用程序进行解密,才能安装应用程序。如果成功地安装了应用程序,则如图24所示将用于解密的密钥存储在设备中,以便以后在认证许可证文件时使用。
“最大复印”属性表示允许其使用权限由当前许可证文件给予的应用程序执行复印的最大次数。通过图22所示的处理,将这里指定的值设置在存储在设备中的计数器上限表(图19)的对应字段中。另外,还可在许可证文件中设置“最大打印”属性和“最大扫描”属性,其中“最大打印”属性表示允许执行打印的最大次数,而“最大扫描”属性表示允许执行扫描的最大次数。
“附加打印”属性表示添加到允许其使用权限由当前许可证文件给予的应用程序执行打印的当前次数的值。在图22所示的处理中,将由“附加打印”属性指定的值添加到在存储在设备内的计数器上限表(图19)中所描述的对应上限。“附加扫描”属性表示添加到允许其使用权限由当前许可证文件给予的应用程序执行扫描的当前次数的值。
许可证文件还可包括表示其他作业类型的操作的最大或附加次数的值。此外,许可证文件可包括添加到允许应用程序执行复印的当前次数的值。
图21示出由应用程序的所有权的拥有者的主机计算机执行的产生许可证文件的处理。
在步骤S2101,输入许可证信息。在该步骤,输入除了“许可证文件”属性之外的图20所示的所有属性。该输入可从其中预先描述了许可证信息的文本文件执行。可选地,可通过基于命令行的接口指定可选参数来输入属性。
在步骤S2102,创建“许可证文件ID”属性。这里,使用UUID(通用唯一ID)来避免所创建的“许可证文件ID”等于任何现有的“许可证文件ID”。UUID具有128比特的数据长度,并且可基于表示创建“许可证文件ID”属性的主机计算机的物理网络地址(MAC地址)的32比特数据和表示时间的96比特数据来创建UUID。可选地,可使用CRC工具来产生唯一标识号,并且可使用其作为许可证文件ID。为了确保标识号实际上唯一,需要在同一地点管理所有标识号。
在步骤S2103,对在步骤S2101输入的许可证信息和在步骤S2102创建的许可证文件ID属性进行加密。根据RAS算法等使用与多功能设备100拥有的私有密钥对应的公开密钥通过公开密钥加密技术执行加密。可选地,根据DES算法等使用多功能设备100拥有的私有密钥通过公共密钥加密技术执行加密。
在步骤S2104,产生包括加密许可证信息的许可证文件,并且将其存储在文件系统中。然后,结束该处理。可使用多功能设备100的万维网服务器能力或电子邮件能力将在上述处理中产生的许可证文件安装在多功能设备100中。
图22示出为在图19所示的计数器上限表中设置上限而对安装在多功能设备100中的许可证文件执行的处理。图22所示的处理由多功能设备100执行。在步骤S2201,根据公开密钥加密技术使用多功能设备100拥有的私有密钥对所安装的许可证文件进行解密。在使用公共密钥加密技术对许可证文件进行了加密的情况下,根据公共密钥加密技术使用多功能设备100拥有的私有密钥执行解密。
在步骤S2202,检查解密许可证文件的内容,以确定安装的截止日期。更具体地说,通过比较在图20所示的许可证文件中描述的“截止日期”属性的值与当前日期,执行对安装截止日期的检测。如果当前日期在“截止日期”属性所表示的日期之后,则终止该处理而不执行安装。
在下一步骤S2203,验证多功能设备100的序列号。通过比较在图20所示的许可证文件中描述的“设备序列号”属性的值与多功能设备100拥有的序列号,执行对序列号的验证。如果在“设备序列号”属性中未找到多功能设备100拥有的序列号,则终止该处理而不执行安装。
在下一步骤S2204,确定是否已经安装了相同的许可证文件。通过比较在图20所示的许可证文件中描述的“许可证文件ID”的值与已经安装在多功能设备100中的许可证文件的“许可证文件ID”属性,执行该确定。已经安装的许可证文件的“许可证文件ID”属性可以在存储在多功能设备100中的诸如图23所示的许可证文件ID表中找到。如果要安装的许可证文件的“许可证文件ID”的值包括在该表的列2301中,则确定已经安装了相同的许可证文件,因此终止该处理而不执行安装。
如果允许安装相同的许可证文件两次或更多次,则被许可用户可以自由地延长“有效期”属性所表示的有效期,也就是,允许使用应用程序的时期,并且可以自由地增加允许应用程序执行打印的附加次数,其中,附加次数由“附加打印”属性表示。步骤S2204的目的就是防止这样的延长或增加。
在下一步骤S2205,通过比较在图20所示的许可证文件中描述的“应用程序密钥”属性的值与当成功地安装了应用程序时所存储的解密密钥,确定许可证文件是否有效。已经安装的应用程序密钥可以在存储在多功能设备100内的诸如图24所示的应用程序密钥表中找到。如果图20所示的许可证文件的“应用程序ID”属性的值未包括在应用程序密钥表的列2401中,或者虽然许可证文件的“应用程序ID”属性的值包括在应用程序密钥表的列2401中,但是如果对应的应用程序密钥2402不等于在许可证文件中描述的“应用程序密钥”属性的值,则确定许可证文件无效,并且终止该处理而不执行安装。
在下一步骤S2206,通过以在许可证文件中描述的“有效期”属性的值重写在图24所示的应用程序密钥表内的“截止日期”列(2403)和与许可证文件的“应用程序ID”属性对应的行的字段中描述的值,设置截止日期。在已经设置了截止日期的情况下,将“有效期”属性的值添加到当前截止日期,并且采用所得到的日期作为新的截止日期。然而,在未设置截止日期的情况下,将“有效期”属性的值添加到当前日期,并且采用所得到的日期作为截止日期。
在下一步骤S2208,确定对应于应用程序ID且要对其设置上限的计数器号码。以与图6所示的步骤S603、S604、S607和S608类似的方式,使用图4所示的计数器号码/应用程序ID表执行计数器号码的确定。然后,在图19所示的计数器上限表中,基于在图20所示的许可证文件中描述的“最大复印”属性、“附加打印”属性和“附加扫描”属性的值,写入分配给所确定的计数器号码的行中的值。这里,如同“最大复印”属性的情况一样,在属性表示上限(操作的最大允许次数)的情况下,将在属性中描述的值直接写入在计数器上限表中。然而,如同“附加打印”属性和“附加扫描”属性的情况一样,在属性表示增量的情况下,计算当前上限与属性值之和,并且将所得到的表示新上限的和写入在计数器上限表中。
最后,在步骤S2209,在图23所示的许可证文件ID表中写入许可证文件的许可证文件ID属性的值和截止日期,并且结束该处理。这里,在许可证文件ID表内新创建的记录中写入许可证文件ID和截止日期。
如上所述,在多功能设备中,管理程序存储在多功能设备的外部HD中,由此通过网络接口从外界获取标识作为许可证信息的例子的许可证文件的许可证标识信息(许可证文件ID)和表示程序的使用权限的改变量的许可证文件,并且管理对应于现有许可证文件的许可证文件ID,其中多功能设备是具有管理可在多功能设备上执行的程序的允许使用量或多功能设备的功能如打印功能或扫描功能的允许使用量的能力的外围设备的典型例子。确定在多功能设备内所管理的现有许可证文件ID中是否包括与所获取的许可证文件相同的许可证文件ID。如果找到相同的许可证文件ID,则以等于由管理程序管理的使用权限的改变量的量改变已经安装的由多功能设备上的管理程序管理的程序使用权限。例如,存储在外部HD中的许可证管理程序管理安装截止日期信息,其表示通过网络接口由多功能设备获取的许可证文件有效的时期。许可证管理程序还认证许可证文件的安装截止日期,并且与标识程序的应用程序ID一起管理已经安装的程序代码的加密密钥。许可证文件可使用唯一分配给多功能设备的加密密钥来加密,并且多功能设备可包括用于对加密的许可证文件进行解密的程序。管理程序可改变使用权限,使得如果在通过网络接口获取的许可证文件中描述的许可证信息的改变量表示使用权限的增量,则管理程序以在所获取的许可证文件中指定的量增加已经安装的程序使用权限,而如果在通过网络接口获取的许可证文件中描述的许可证信息的改变量表示使用权限的减量,则管理程序以在所获取的许可证文件中指定的量减小已经安装的程序使用权限。管理程序可作为证明信息来管理许可证文件,并且管理程序可作为证明安装在外围设备上的程序或多功能设备的功能的特定使用量的权限的财物来处理许可证文件。这里,“使用权限”是指使用多功能设备的特定功能如传真功能、打印功能、复印功能、扫描功能、彩色打印功能或者卡钉功能的权限,或者使用照相质量纸张、油墨或色粉的权限。例如,在扫描功能的情况下,使用权限包括数字或代码形式的信息,其表示允许执行扫描和复印的次数。在照相质量纸张的情况下,表达允许使用的照相质量纸张的页数。另一方面,在油墨的情况下,表达允许使用的油墨量。表示使用程序的权限的信息包括表示允许执行程序的时间或者允许执行程序的次数的信息。可以在许可证文件中描述程序和功能组合的使用权限。例如,扫描功能和OCR程序的组合的使用权限可以通过指定允许操作次数或允许使用时间来表达,并且可以在许可证文件中描述该使用权限。
图23示出存储在多功能设备100中的许可证文件ID表。在许可证文件ID表中,描述了多个记录,其中每个记录包括许可证文件ID(2301)和安装截止日期(2302)的集合。通过图22所示的处理添加新记录。多功能设备100的核心10以预定的间隔检查许可证文件ID表。如果核心10检测已经达到其安装截止日期的记录,核心10删除所检测的记录,并且使其可再用。这防止毫无限制地扩展许可证文件ID数据。
虽然在本实施例中从许可证文件ID表删除已经达到其安装截止日期的记录,从而防止增加许可证文件ID的数目,但是可以不在许可证文件ID表中描述安装截止日期,并且可以无限期地存储所安装许可证文件的许可证文件ID。在这种情况下,存在许可证文件ID表的大小达到预定值的可能性。通过提供用于当许可证文件ID表的大小达到预定值时禁止或限制许可证文件的进一步安装的装置,可避免当许可证文件ID表的大小达到预定值时将发生的问题。
图24示出存储在多功能设备100中的应用程序密钥表。应用程序密钥表包括多个记录,其中每一个记录表示应用程序ID(2401)、应用程序密钥(2402)和应用程序截止日期(2403)的集合。当安装应用程序时,在应用程序密钥表中创建新记录。如果成功地安装加密应用程序,则将用于解密的应用程序密钥与应用程序ID一起存储在新创建的记录中。当卸载应用程序时,删除对应的记录。
因此,许可证签发者可以通过签发许可证来逐设备地管理应用程序的使用量,从而以上述方式管理应用程序的使用量的上限。此外,通过管理其中描述了许可证文件ID的许可证文件,防止许可证的重复安装,同时允许基于在许可证文件中指定的值递增应用程序的允许操作次数。这使得许可证签发者有可能签发许可证而不必管理各个设备的应用程序的最大允许使用量。
参照图25和26,下面描述通过签发返回许可证文件而收回保存在多功能设备100中的许可证的技术。通过在通过网络连接到多功能设备100的主机计算机(11、23、或13)或另一个多功能设备(未示出)上运行的万维网浏览器,向多功能设备100发出收回许可证文件的命令。图26示出浏览器屏幕的例子。
在可选实施例中,多功能设备100具有电子邮件发送/接收能力,并且通过网络连接到多功能设备100的主机计算机或另一个多功能设备通过电子邮件向多功能设备100发出命令。作为响应,多功能设备100产生返回许可证文件,并且作为附连到电子邮件的文件返回它。
在可选实施例中,多功能设备100具有解释设成产生返回许可证文件的命令的能力。响应从通过网络连接到多功能设备100的主机计算机或另一个多功能设备接收到产生返回许可证文件的命令,多功能设备100解释该命令,并且根据该命令产生返回许可证文件。将所得到的许可证文件发送到主机计算机等。图25和26示出响应通过图26所示的万维网浏览器或通过电子邮件的产生返回许可证文件的命令,或者响应设成产生返回许可证文件的命令,通过签发返回许可证文件从多功能设备100收回许可证的处理。图25所示的处理在多功能设备100上执行。
在步骤S2501,获取将使用所产生的返回许可证文件的设备的序列号。该序列号在许可证收回命令中描述。在产生返回许可证文件使得所得到的返回许可证文件不仅不能由任何其他设备使用而且不能由产生返回许可证文件的设备使用的情况下,使用无效值(例如1)作为序列号。在使用图26所示的网页的情况下,当选择退还按钮2602时,使用1的序列号,而当选择转移按钮2603时,使用通过文本输入区域2604输入的序列号。
在下一步骤S2502,获取产生许可证文件所需的应用程序信息。这里,必要的信息包括应用程序ID、应用程序密钥和截止日期。应用程序ID包括在许可证文件收回命令中。在图26所示的网页屏幕的情况下,当前安装的应用程序的应用程序名称及其应用程序ID以列表的形式显示在区域2601中,以便将为从该列表选择的应用程序产生许可证文件。在获取应用程序ID之后,搜索图24所示的应用程序密钥表,以检测与所获取的应用程序ID对应的应用程序密钥(2402)。此外,检测与所获取的应用程序ID对应的截止日期(2403),并且基于截止日期和当前日期,计算有效期。此外,基于当前日期设置截止日期。可以在多功能设备100的操作控制单元(图14)上显示图26所示的用户接口。
在下一步骤S2503,获取与应用程序ID相关联的许可证信息。首先,确定与应用程序ID对应并且要对其设置上限的计数器号码。以与图6所示的步骤S603、S604、S607和S608类似的方式使用图4所示的计数器号码/应用程序ID表,执行计数器号码的确定。在确定计数器号码之后,从图7所示的计数器表和图19所示的计数器上限表检测复印、打印和扫描操作的当前值和上限,并且通过计算上限与当前值之间的差值来确定剩余的允许操作次数。采用算出的值作为“附加复印”、“附加打印”和“附加扫描”属性的值。此外,为了使应用程序的许可证对多功能设备100无效,以图19所示的计数器上限表中的对应计数器的上限替代图7所示的计数器表中的计数器的当前值。
在下一步骤S2504,以与图21所示的步骤S2101类似的方式产生许可证文件ID。然而,在该步骤S2504,采用执行图25所示的处理的多功能设备100拥有的物理地址。
如果通过上述步骤获得了产生许可证文件所需的所有许可证信息,则在步骤S2505,对许可证信息进行加密。将许可证文件的安装有效期设为固定值(例如,当前日期之后的一年)。使用要向其发送许可证文件的多功能设备拥有的私有密钥所对应的公开密钥,通过公开密钥加密技术执行加密。在所有多功能设备具有相同私有密钥的情况下,可以使用多功能设备100拥有的私有密钥作为私有密钥。可选地,可以使用要向其发送许可证文件的多功能设备拥有的私有密钥,通过公共密钥加密技术对许可证文件进行加密。
在下一步骤S2506,产生许可证文件,并且将其发送到许可证文件收回命令的发出者。然后,结束该处理。在图26所示的网页的情况下,在浏览器上显示包括表示许可证文件的图标(2608)的新网页(2607),从而提示用户下载许可证文件。响应点击图标(2608),发送许可证文件。
图26A示出通过其发出许可证文件收回命令的网页的例子。在通过网络连接到多功能设备100的主机计算机(11)上所显示的万维网浏览器上显示该网页。在网页2600上,在区域2601中指定应用程序的应用程序ID。按钮2602和2603用来排他性地选择是要退回许可证文件还是要将其转移到另一个设备。在选择转移到另一个设备的情况下,在文本输入区域2604中输入要向其转移许可证文件的设备的序列号。
如果在完成设置所有项目之后按确定按钮2605,则由多功能设备100执行上面参照图25所述的处理。如果产生许可证文件,则显示网页2607以提示用户下载所产生的许可证文件。如果点击表示许可证文件的图标(2608),则下载和存储许可证文件。
如上所述,通过签发返回许可证文件而从设备收回许可证的能力使得有可能将许可证从一个设备转移到另一个设备。此外,作为财物分配许可证文件变得有可能。可以以不允许将所得到的许可证文件重新安装到任何设备中的形式收回许可证文件。如果将该许可证文件返回到原始许可证文件的签发者,则原始许可证文件的签发者可识别应用程序的用户将不再使用该应用程序。如下面参照图27到29所述,可以根据各个设备的许可证使用状态自动地重新分配安装在多个设备中的许可证。
图27示出根据本发明的本实施例的系统。
如图27所示,作为根据本发明的管理设备的优选例子的主机计算机2701通过网络连接到作为图像形成设备的优选例子的第一多功能设备2702、第二多功能设备2703和打印机2704。主机计算机2701和诸如第一多功能设备2702的其他设备均具有网络板(通信控制装置),并且这些设备通过网络板相互发送/接收各种数据和程序。虽然在本实施例中,主机计算机2701用作管理设备,但是安设在其他设备之一如第二多功能设备2702中的控制器或控制板可用作管理设备。
下面描述根据本发明实施例的用作信息处理设备的主机计算机3000(对应于图27所示的个人计算机2701)。图39是示出根据本实施例的包括计算机的打印机控制系统的方框图。注意,本发明可应用于单个设备、包括处于相同地点的多个设备的系统、或者包括通过网络如LAN或WAN连接的多个设备的系统,只要该设备或该系统具有根据本发明的功能即可。多功能设备2702类似于图27所示的多功能设备2702。虽然存在通过网络3921连接到主机计算机3000的其他多功能设备,但是在图39中未示出它们。
在图39中,主机计算机3000包括CPU 3901,其用于根据存储在ROM 3903的程序ROM中或外部存储器391中的文档处理程序处理包括图形、图像、字符、表(例如,电子表格)的文档。CPU 3901还负责在总体上控制连接到系统总线3904的设备。用于执行上面参照图21、28、32、33、35和37所述的处理的程序存储在外部存储器3911中,并且CPU 3901将必要的程序从外部存储器3911装载到RAM 3902中,并执行它们。
在打印机中,用于执行上面参照图18、22、28、32、35和37所述的处理的程序存储在外部存储器3914中,并且打印机3912的CPU3912将必要的程序从外部存储器3914装载到RAM 3919中,并执行它们。也就是,诸如打印机或复印机2702的设备也可用作服务器或主机计算机。
在ROM 3903的程序ROM中或者在外部存储器3911中,存储了用作控制CPU 3901的控制程序的操作系统(OS)程序。用于处理文档的字体数据存储在ROM 3903的字体ROM中或者外部存储器3911中。用于处理文档的各种数据存储在ROM 3903的数据ROM或者外部存储器3911中。扫描仪单元控制器3921通过光学系统读取文档,并且以电子数据的形式将所获得的文档数据存储在HD 3920中。还可将文档数据输出到打印机单元3917。
RAM 3902用作由CPU 3901使用的主存储器或工作区。键盘控制器(KBC)3905控制通过键盘3909或定点设备(未示出)输入数据。CRT控制器(CRTC)3906控制在CRT显示器3910上显示数据。盘控制器(DKC)3907控制访问外部存储器11如硬盘(HD)或软盘(FD),其中存储了引导程序、各种应用程序、字体数据、用户文件、编辑文件和/或打印机控制命令生成程序(打印机驱动程序)。
打印机控制器(PRTC)3908通过双向接口3921连接到多功能设备2702,并且负责控制与多功能设备2702的通信。CPU 3901将显示数据转换(光栅化)成轮廓(outline)字体数据的形式,并且将所得到的数据存储在RAM 3902内所构造的显示信息RAM中。这使得有可能以所见即所得的方式在CRT 3910上显示数据。
响应在CRT 3910上采用鼠标光标(未示出)点击图标等,CPU 3901打开对应的窗口,并且执行各种数据处理。当用户想要打印数据时,用户可打开打印设置窗口,并且可设置打印机、打印机驱动程序和/或打印条件如打印模式。
在多功能设备2702中,根据存储在ROM 3913的程序ROM中或者外部存储器3914中的控制程序,打印机CPU 3912将图像信号作为输出信息输出到连接到系统总线3915的打印机引擎3917。
在ROM 3913的程序ROM中,还存储了用于控制CPU 3912的控制程序。在ROM 3913的字体ROM中,存储了用于产生输出信息的字体数据。在打印机没有外部存储器3914如硬盘的情况下,在主机计算机上使用的信息也存储在ROM 3913的数据ROM中。
CPU 3912能够通过输入单元3918与主机计算机通信。这允许将信息从打印机发送到主机计算机3000。RAM 3919由CPU 3912用作主存储器或工作区。RAM 3919的存储器容量可通过将可选RAM连接到扩展端口来增大。RAM 3919用作输出信息存储区域、环境数据存储区域和NVRAM。对外部存储器14如硬盘(HD)或IC卡的访问由存储器控制器(MC)3920控制。
外部存储器3914可选地连接到多功能设备2702,以存储字体数据、模拟程序、表单数据等。操作控制面板1501包括开关和LED指示器。外部存储器的数目不限于一,而是两个或更多个外部存储器可连接到多功能设备2702,以存储可选字体数据以及标准字体数据和/或用于解释各种打印机控制语言的程序。此外,可以提供用于存储从操作控制面板1501接收的打印机模式设置信息的NVRAM(未示出)。
图28是示出重新分配许可证的处理的流程图。该处理可以在主机计算机(2701)或多功能设备(2702或2703)或打印机(2704)上执行。在多功能设备或打印机上执行图28所示的处理的情况下,图27所示的主机计算机(2710)不是必要的。
图28所示的处理以预定的间隔(例如,每日或每小时一次)或者以预定的时间执行。
首先,在步骤S2801,从外围设备获取包括表示应用程序的使用权限的剩余量的信息的许可证使用状态信息。为了获取许可证使用状态信息,向设备发送许可证使用状态请求命令。作为响应,从设备发送许可证使用状态信息。更具体地说,如果设备接收到许可证使用状态请求命令,则设备通过计算在图19所示的计数器上限表中描述的值与在图7所示的计数器表中描述的值之间的差值,针对每个应用程序ID和每个作业确定允许进一步执行的操作次数,其中允许进一步执行的操作次数是存储在外围设备中的表示应用程序的使用权限的剩余量的信息的典型例子。基于从每个设备接收的进一步允许的操作次数,由执行图28所示的处理的主机计算机或设备如图29所示产生针对每个应用程序ID表示每个设备的许可证使用状态的许可证使用状态表。
步骤S2802到S2810针对在步骤S2801获取的各个应用程序ID重复地执行。
步骤S2803到S2805针对各个作业类型重复地执行。在该循环中的步骤S2804,如果检测到特定作业类型的进一步允许操作次数小于预定阈值(例如,100)的设备,则临时存储该设备的标识符。
在步骤S2806,检查是否存在在步骤S2804检测的设备。如果不存在这样的设备,则在步骤S2810,结束当前应用程序ID的处理。如果有更多的应用程序ID要被检查,则该处理返回到步骤S2802,以执行下一个应用程序ID的处理。在上述步骤S2804,可以针对由应用程序使用的多功能设备的每个功能检测在允许进一步执行操作的次数上小于阈值的设备。在对各个应用程序设置使用权限而与设备无关的情况下,可以针对每个应用程序检测在允许进一步执行操作的次数上小于阈值的设备。
在步骤S2806确定存在一个或多个在步骤S2804检测的设备的情况下,该处理进入步骤S2807。在步骤S2807,选择要从其收回许可证文件的设备。更具体地说,如下执行选择。在图29所示的许可证使用状态表中,对于所有的允许操作次数不等于0的那些作业类型(也就是,对于可由当前应用程序ID执行的那些作业类型),在最左列中针对作业类型以降序对允许操作次数进行排序,并且以降序选择与在步骤S2804检测的设备一样多的设备。这导致从应用程序的使用量最小的一组设备收回许可证。
如上所述,基于表示允许进一步执行操作的次数的信息,其是表示由主机计算机3000上的管理程序获取的使用权限的剩余量的信息的例子,检测在使用权限的剩余量上大于特定值的外围设备和在使用权限的剩余量上小于特定值的外围设备,并且在上述外围设备之间,通过重新分配许可证文件来重新分配使用权限,其中许可证文件的每一个是许可证信息(使用权限证书)的典型例子,从而最小化上述外围设备之间使用权限的剩余量的差异。在可选实施例中,预先确定从设备收回许可证的次序,并且以预定次序选择设备。例如,当存在按照使用权限的剩余量以降序排序的十个外围设备时,主机计算机可以将前五个外围设备当作高于阈值的外围设备,并且可以将另外五个外围设备当作低于阈值的外围设备。例如,当在具有扫描功能的外围设备上执行OCR应用程序时,如果用户A具有用于管理使用扫描功能在其上执行OCR应用程序的十个外围设备的许可证文件,则从该十个外围设备收集表示使用权限的剩余量的信息。如果这十个外围设备的使用权限的剩余量之和等于例如120,则可重新分配许可证,使得每个外围设备的使用权限的结果剩余量变得等于12,其是通过将使用权限的总剩余量120除以外围设备的数目10而获得的商。重新分配可以针对根据特定功能如打印功能或扫描功能而选择的设备来执行,或者许可证文件可以针对所有功能来重新分配。在后一情况下,可以或可以不同时重新分配应用程序的使用权限。可选地,管理应用程序的使用权限和由外围设备提供的功能如打印功能、扫描功能和传真功能的使用权限,并且分配装置可以被设置成可重新分配应用程序的使用权限或者功能的使用权限。
在下一步骤S2808,从在步骤S2808选择的设备收集与当前应用程序ID相关联的许可证文件。通过响应命令将包括指定应用程序ID的数据的许可证文件产生命令发送到所选设备并且接收从所选设备返回的许可证文件,执行许可证文件的收集。如果这些设备接收到许可证文件产生命令,则它们根据图25所示的流程产生许可证文件。
在下一步骤S2809,将在步骤S2808收集的许可证文件重新安装到在步骤S2804选择的设备中。这里,主机计算机3000通过执行图37所示的处理,更新许可证数据库。在步骤S2801,结束当前应用程序ID的处理。如果存在更多的应用程序ID要被检查,则该处理返回到步骤S2802,以对下一个应用程序ID执行上述处理。如果不存在这样的应用程序ID,则结束该处理。
图29示出基于从系统中的每个设备提供的信息在图28所示的步骤S2801产生的许可证使用状态表的例子,其表示每个应用程序ID的许可证使用状态。注意,在执行图28所示的处理的主机计算机或设备中产生与应用程序ID一样多的许可证使用状态表。
在列2901中,描述了系统中的各个设备的网络名称。在列2902中,描述了系统中的各个设备的网络地址。在列2903中,针对系统中的每个设备,描述了允许进一步执行的复印操作次数。在列2904中,针对特定应用程序ID描述了允许由每个设备进一步执行打印操作的次数。在列2905中,针对特定应用程序ID描述了允许由每个设备进一步执行扫描操作的次数。在本例中,进一步允许的扫描操作的次数在列2905中设为0,因为具有对应于该表的应用程序ID的应用程序无需执行扫描操作。
如上所述,在允许多个设备在由许可证定义的限制内执行应用程序的网络系统中,通过将许可证从应用程序的使用量最小的一组设备转移到应用程序的使用量最大的一组设备,可以最大化网络系统中应用程序的使用效率。
如下面参照图27和图30到34所述,可以在同一地点管理所有许可证,并且可以在启动应用程序时将许可证动态下载到设备中。
图27示出根据本发明的本实施例的系统配置。如图27所示,主机计算机2701通过网络连接到第一多功能设备2702、第二多功能设备2703和打印机2704。所有许可证由主机计算机2701管理。当用户开始使用应用程序时,第一多功能设备2702、第二多功能设备2703和打印机2704向主机计算机2701请求提供许可证。当用户结束应用程序的使用时,将许可证返回到主机计算机2701(类似于主机计算机3000)。
图30示出为请求主机计算机2701提供许可证而由第一多功能设备2702或第二多功能设备2703执行的处理。当用户通过图1所示的操作控制单元14发出应用程序启动命令时,开始该处理。
在操作控制单元14上,显示诸如图31B所示的登录屏幕3106或者诸如图31A所示的应用程序控制屏幕3101。当显示登录对话框3107时,用户在用户名区域3108内输入用户名,并且点击确定按钮3109。如果成功地执行登录,则关闭登录对话框3107,并且启动指定的应用程序。紧邻在启动应用程序之前,执行图30所示的处理。当显示应用程序控制屏幕3101时,如果用户点击按钮(3102或3103)以切换应用程序,则启动指定的应用程序。同样在这种情况下,紧邻在启动应用程序之前执行图30所示的处理,将表示用户名和应用程序ID的参数传输给该处理。
在步骤S3001,将许可证文件请求命令发送到主机计算机2701,以请求主机计算机2701签发许可证文件,其中许可证文件请求命令包括表示用户名、要使用的应用程序的应用程序ID和正在执行图30所示的处理的设备的序列号的参数。响应接收到该请求,主机计算机2701开始图32所示的处理。在步骤S3002,接收期望包括从主机计算机2701发送的许可证文件的响应。
在步骤S3003,检查来自主机计算机2701的响应是否包括许可证文件。如果响应由于例如发生错误而没有包括许可证文件,则该处理进入步骤S3004。在步骤S3004,在操作控制单元14上显示对话框以通知不能使用应用程序。更具体地说,在该步骤S3004,检查错误代码,并且如果错误代码表示许可证文件未被签发,则由于用户没有使用应用程序的权限,因此在操作控制单元14上显示表示用户没有使用应用程序的权限的消息。
如果在步骤S3003确定响应包括许可证文件,则该处理进入步骤S3005。在步骤S3005,安装所接收的许可证文件。通过图22所示的处理执行许可证文件的安装。
在步骤S3006,在完成安装许可证文件之后,启动应用程序,从而用户可使用应用程序。当正在使用应用程序时,执行图18所示的处理,在此期间,如果计数器值达到在许可证文件中定义的上限,则强制性地终止应用程序,并且显示消息以通知不允许进一步使用应用程序。
在步骤S3007,以预定的间隔确定是否响应应用程序的退出或切换而结束了应用程序。如果确定结束了应用程序,则该处理进入步骤S3008。在步骤S3008,产生要返回的许可证文件。将所产生的许可证文件与许可证文件返回命令一起发送到主机计算机2701。然后,结束该处理。在步骤S3008,根据图25所示的流程执行要返回的许可证文件的产生。然而,使用要向其返回许可证文件的主机计算机2701拥有的私有密钥执行加密。根据图33所示的流程,由主机计算机2701处理在步骤S3008发送到主机计算机2701的许可证文件。
图32示出响应接收到在图30的步骤S3001由设备发出的许可证文件请求命令而签发许可证文件的处理。图32所示的该处理在主机计算机2701上执行。
在步骤S3201,从在许可证请求命令中描述的参数提取在图30的步骤S3001发出了请求的设备的序列号、用户名和应用程序ID。
在步骤S3202,搜索图34所示的应用程序许可证数据库,以检测包括与所提取的应用程序ID相同的应用程序ID的记录,并且从该记录中提取用户列表3402。在步骤S3203,检查在步骤S3201提取的用户名是否包括在所提取的名称列表中。如果该列表没有包括该用户名,则该处理进入步骤S3204。在步骤S3204,将错误消息返回给作为许可证请求命令的发出者的设备。
如果该列表包括该用户名,则该处理进入步骤S3205。在步骤S3205,产生许可证文件。根据图12所示的流程执行许可证文件的产生。然而,从图34所示的应用程序许可证数据库获取许可证信息。每种作业类型的允许操作次数由表示相对于当前允许操作次数的增量的属性(“附加打印”属性、“附加扫描”属性、“附加复印”属性)给定。允许执行应用程序的次数针对从数据库检测的所有应用程序在许可证文件中描述,并且在数据库中将允许执行应用程序的次数临时设置为0,以便禁止将相同应用程序的许可证签发给另一个设备,从而禁止应用程序的使用。
在步骤S3206,确定是否产生了许可证文件。当在应用程序许可证数据库中允许操作次数设为0时,或者当在数据库中没有找到包括与所请求的应用程序ID相同的应用程序ID的记录时,不产生许可证文件。在这种情况下,该处理进入步骤S3207,并且将错误消息返回给作为许可证请求命令的发出者的设备。然后,结束该处理。
在步骤S3208,将所产生的许可证文件返回给作为许可证请求命令的发出者的设备。然后,结束该处理。
如上所述,通过执行存储于安设在多功能设备100内的HD中的程序,获取多功能设备100上的特定功能或程序的允许使用量。基于所检测的允许使用量,产生表示在外围设备上允许的功能或程序的使用量的许可证文件,并且将其发送到该设备。此外,产生标识许可证文件的唯一许可证文件ID,并且通过添加、插入或重写将其包括到所产生的许可证文件中。优选地,还通过添加、插入或重写将许可证文件的截止日期包括到所产生的许可证文件中。此外,可获取程序的加密密钥,并且可通过添加、插入或重写将加密密钥包括到许可证文件中。此外,可从与标识程序的应用程序ID对应的计数器上限和计数器值之间的差值确定表示与程序标识信息对应的程序的使用权限的值,并且可对结果值和标识ID进行加密。将包括加密数据的许可证文件发送到外界。基于与所发送的许可证文件对应的使用权限量更新计数器值。
图33示出对在图30所示的步骤S3008发送到主机计算机2701的许可证返回命令执行的处理,其中许可证返回命令包括返回的许可证文件。这里,假定主机计算机具有图24所示的许可证文件ID表。图33所示的流程不仅适用于在数据库中重新记录从设备返回的许可证文件时,而且适用于在主机计算机2701上安装通过图21所示的处理产生的许可证文件时。
在步骤S3301,对包括在许可证返回命令中的许可证文件进行解密。根据公开密钥加密技术算法使用主机计算机2701拥有的私有密钥执行解密。在加密时使用公共密钥的情况下,根据公共密钥加密技术算法使用主机计算机2701拥有的私有密钥执行解密。
在步骤S3302,检查解密许可证文件的内容,以检测安装截止日期。通过比较在图20所示的许可证文件中描述的“截止日期”属性的值与当前日期,执行安装截止日期的检测。如果当前日期在由“截止日期”属性表示的日期之后,则终止该处理而不执行安装。
在下一步骤S3303,验证主机计算机2701的序列号。通过比较在图20所示的许可证文件中描述的“设备序列号”属性的值与主机计算机2701拥有的序列号,执行序列号的验证。如果在“设备序列号”属性中未找到主机计算机2701拥有的序列号,则终止该处理而不执行安装。
在下一步骤S3304,确定是否已经安装了相同的许可证文件。通过比较在图20所示的许可证文件中描述的“许可证文件ID”的值与已经安装在主机计算机2701中的许可证文件的“许可证文件ID”属性来执行该确定。已经安装的许可证文件的“许可证文件ID”属性可以在存储在主机计算机2701中的诸如图23所示的许可证文件ID表中找到。如果要安装的许可证文件的“许可证文件ID”的值包括在该表的列2301中,则确定已经安装了相同的许可证文件,因此终止该处理而不执行安装。
如果允许安装相同的许可证文件两次或更多次,则被许可用户可以自由地延长由“有效期”属性表示的有效期,也就是,允许使用应用程序的时期,并且可以增加允许应用程序执行打印的附加次数,其中附加次数由“附加打印”属性表示。步骤S3304的目的就是防止这样的延长或增加。
在下一步骤S3305,通过比较在图20所示的许可证文件中描述的“应用程序密钥”属性的值与在应用程序许可证数据库(图34)中描述的应用程序密钥3408的值,确定许可证文件是否有效。如果在该表的列3401中不能找到在图20所示的许可证文件中描述的“应用程序ID”属性的值,或者虽然许可证文件的“应用程序ID”属性的值包括在应用程序许可证数据库的列3401中,但是如果对应的应用程序密钥3408不等于在许可证文件中描述的“应用程序密钥”属性的值,则确定许可证文件无效,并且终止该处理而不执行安装。
在下一步骤S3306,通过以在许可证文件中描述的“有效期”属性的值重写在图34所示的应用程序许可证数据库的“截止日期”列(3403)和描述了许可证文件的对应“应用程序ID”属性的行的字段中描述的值,设置截止日期。在已经设置了截止日期的情况下,将“有效期”属性的值添加到当前截止日期,并且采用所得到的日期作为新的截止日期。然而,在没有设置截止日期的情况下,将“有效期”属性的值添加到当前日期,并且采用所得到的日期作为截止日期。
在下一步骤S3308,通过将图20所示的许可证文件中的“最大复印”属性、“附加打印”属性和“附加扫描”属性的值描述到应用程序许可证数据库(图34)内对应于应用程序ID的记录中的对应字段(3405、3406和3407)中。这里,如同“最大复印”属性的情况一样,在属性表示上限(操作的最大允许次数)的情况下,将在属性中描述的值直接写入在计数器上限表中。然而,如同“附加打印”属性和“附加扫描”属性的情况一样,在属性表示增量的情况下,计算当前上限与属性值之和,并且将所得到的表示新上限的和写入在计数器上限表中。在此步骤,在许可证数据库中重新描述在图30所示的步骤S3008从设备返回的许可证。
最后,在步骤S3309,在图23所示的许可证文件ID表中描述许可证文件的许可证文件ID属性和截止日期的值,并且结束该处理。这里,许可证文件ID和截止日期被写入在许可证文件ID表内新创建的记录中。
图34示出存储在主机计算机2701中的应用程序许可证数据库的例子。在该数据库上管理与在图23所示的网络系统中可执行的所有应用程序相关联的许可证信息。该数据库具有多个记录,其中使用应用程序ID作为主键。每个记录包括应用程序ID(3401)、允许使用应用程序的用户的用户名列表(3402)、应用程序的截止日期(3403)、允许执行应用程序的操作的次数(3405、3406和3407)、以及应用程序的加密密钥(3408)。
如上所述,在包括多个设备的网络系统中,由主机计算机管理所有应用程序许可证,当用户开始使用应用程序时,提供许可证,并且当结束应用程序时收回剩余的许可证,由此以集中的方式管理应用程序的所有许可证和各个用户拥有的使用权限。
如下面参照图35和36所述,可以使用预先签发的许可证证书来签发应用程序的许可证文件。
许可证证书是其中描述了许可证证书号码(ID)的证书。以包括在封装(package)中的纸件的形式将许可证证书与在其上存储了应用程序代码的存储介质如CD-R一起出售给用户。也可以仅将许可证证书出售给用户。
想要使用应用程序的用户通过传真、电话、电子邮件或者其他适当手段向许可证签发者通知要在其上使用应用程序的设备的序列号以及包括在封装中的许可证证书号码(ID)。许可证签发者基于序列号和许可证证书号码(ID)产生许可证文件。将所产生的许可证文件存储在存储介质如软盘或CD-R上,并且将其发送给用户。
使用诸如图36所示的数据库,由许可证签发者拥有的主机计算机管理许可证证书号码(ID)。也就是,许可证签发者产生图36所示的许可证证书数据库。该数据库的产生可以人工地或者使用适当工具来执行。如图36所示,随机地确定许可证证书号码(ID)并且将其描述在列3601中。可以采用任意的号码作为许可证证书号码,只要不存在重复的号码即可。表示用户是否已经使用了许可证证书(也就是,是否已经签发了许可证文件)的许可证证书状态信息在列3602中描述。应用程序ID在列3603中描述。与应用程序ID相关联的许可证信息(表示有效天数、允许执行应用程序的次数)在列3604到3607中描述。许可证信息由许可证签发者任意地产生。
图35示出按照许可证证书号码(ID)和设备序列号基于从应用程序的用户接收的信息签发许可证文件的处理。图35所示的该处理在具有图36所示的许可证证书数据库的主机计算机(具有与个人计算机2701类似的硬件配置,不过未示出)上执行。在该处理期间,可以通过基于窗口或者基于命令行的用户接口输入许可证证书号码(ID)和设备序列号。
首先,在步骤S3501,获取所输入的许可证证书号码(ID)。在步骤S3502,在许可证证书数据库(图36)中搜索与所输入的许可证证书号码(ID)相同的许可证证书号码(ID)。如果在许可证证书数据库中未找到该许可证证书号码(ID),则确定所接收的许可证证书号码(ID)无效,并且终止该处理。如果找到许可证证书号码(ID),则该处理进入步骤S3503。在步骤S3503,还确定许可证证书是否未用(也就是,是否已经签发了对应的许可证文件)。通过检查在许可证证书数据库(图36所示)中描述的对应于该许可证证书号码(ID)的许可证证书状态信息(3602)来执行该确定。如果发现许可证已被使用,则终止该处理。
如果许可证未用,则该处理进入步骤S3504。在步骤S3504,从许可证证书数据库提取对应于该许可证证书号码(ID)的许可证信息(表示有效天数(3604)、允许执行复印操作的次数(3605)、允许执行打印操作的次数(3606)、以及允许执行扫描操作的次数(3607))。在下一步骤S3505,获取所输入的设备序列号。在步骤S3506,基于通过前面步骤获取的许可证信息产生许可证文件。根据图21所示的流程执行许可证文件的产生。将许可证文件的安装有效期设置为固定值(例如,一年)。在文件系统中写入所得到的许可证文件,以便许可证签发者可得到该许可证文件。然后,在许可证证书数据库中,重写对应于该许可证证书号码(ID)的许可证证书状态(3602)以表示该许可证证书“被使用”。然后,结束该处理。
优选地,产生标识许可证文件的许可证文件ID,并且通过插入、添加或重写,将标识程序的应用程序ID、允许使用量、用作设备标识信息的序列号和所产生的许可证文件ID包括到许可证信息中。
因此,通过构建用于管理许可证证书的许可证证书数据库,并且以封装的形式分发许可证证书,除了直接销售/购买之外,通过因特网销售/购买许可证文件也变得可能。
下面描述另一个实施例,其中当启动应用程序时将许可证动态下载到设备中并且以集中的方式管理所有许可证。在上面参照图32所述的实施例中,针对从数据库检测的所有应用程序在许可证文件中描述允许执行操作的次数,并且在数据库中将允许执行应用程序的次数临时设置为0,以便禁止向另一个设备签发相同应用程序的许可证,从而禁止应用程序的使用。可选地,可以将允许执行操作的最大次数设为预定值(例如,100),并且可以将其描述在许可证文件中。从在数据库中描述的允许操作次数中减去该最大次数,并且可以以减法结果临时地替代在数据库中描述的值。
仍然可选地,将允许同时使用应用程序的最大用户数设置为应用程序的许可证信息,并且可以根据该许可证信息产生许可证。
在这种情况下,如下面参照图37和38所述执行该处理。
图37示出响应接收到在图30的步骤S3001由设备发出的许可证文件请求命令而签发许可证文件的处理。图37所示的该处理在主机计算机2701上执行。
在步骤S3701,从在许可证请求命令中描述的参数提取在图30的步骤S3001发出了请求的设备的序列号、用户名和应用程序ID。
在步骤S3702,搜索图38所示的应用程序许可证数据库,以检测包括与所提取的应用程序ID相同的应用程序ID的记录,并且通过计算最大允许用户数(3803)与正在使用应用程序的用户的当前数目之间的差值,确定可使用应用程序的附加用户的数目。
在步骤S3203,检查允许使用应用程序的附加用户的数目是否等于0。如果发现允许使用应用程序的附加用户的数目等于0,则该处理进入步骤S3704。在步骤S3704,将错误消息返回给作为许可证请求命令的发出者的设备,并且终止该处理。
如果允许使用应用程序的另外用户的数目不等于0,则该处理进入步骤S3705。在步骤S3705,将每种作业类型的允许操作次数除以允许使用应用程序的另外用户的数目。
在步骤S3706,根据图21所示的流程,基于在步骤S3705算出的商和在图34所示的应用程序许可证数据库中描述的数据,产生许可证文件。在步骤S3707,确定是否产生了许可证文件。当在应用程序许可证数据库中允许操作次数设为0时,或者当在数据库中没有找到包括与所请求的应用程序ID相同的应用程序ID的记录时,不产生许可证文件。在这种情况下,该处理进入步骤S3710,并且将错误消息返回给作为许可证请求命令的发出者的设备,并且终止该处理。
如果成功地产生了许可证文件,则在步骤S3708,通过在对应于应用程序ID的记录中以1增加当前使用应用程序的用户的数目(3804),并且从次数(3805、3806和3807)中减去在步骤S3706在许可证文件中设置以便表示允许执行应用程序的次数的值,更新应用程序许可证数据库。
最后,在步骤S3709,将所得到的许可证文件返回给作为许可证请求命令的发出者的设备。
在图28中的步骤S2809执行图37所示的处理。在步骤S3701检测和输入用户ID、应用程序ID和在许可证文件中描述的使用权限的增量,并且开始上述处理。
图38示出存储在主机计算机2701中的应用程序许可证数据库的例子。以集中的方式在该数据库上管理与在图27所示的网络系统中可执行的所有应用程序相关联的许可证信息。该数据库具有多个记录,其中使用应用程序ID作为主键。每个记录包括应用程序ID(3801)、应用程序截止日期(3402)、允许使用应用程序的用户的最大允许数目(3803)、目前使用应用程序的用户的数目(3804)、允许执行应用程序操作的次数(3405、3406和3407)、以及应用程序的加密密钥(3408)。
允许使用应用程序的用户的最大允许数目(3803)由在许可证文件(图20)中描述的“最大用户数”属性提供,并且通过在主机计算机2701上执行的图22所示的处理将其设置在图38所示的应用程序数据库中。
在难以使用因特网的环境中,在获取许可证文件之前需要将产生许可证文件所需的大量信息发送给许可证签发者。在本实施例中,将产生许可证文件所需的信息与标识符一起描述在数据库中,从而使得有可能容易地向许可证签发者通知必要的信息而不必使用电话或信件。这使得有可能在任何环境中获得许可证文件。
其他实施例上面参照附图所述的处理可以根据从外界安装的程序在信息处理设备或图像形成设备上执行。在这种情况下,可以从存储介质如CD-ROM、闪存或FD或者通过网络从外部存储介质将包括根据本发明的程序的信息提供给信息设备或图像形成设备。
此外,本发明的各方面也可通过将在其上存储了实现任何上述实施例的功能的软件程序的存储介质提供给系统或设备来实现,由此系统或设备中的计算机(CPU或MPU)读取和执行存储在存储介质上的程序代码。
在这种情况下,应当理解,从存储介质读取的程序代码实现本发明实施例的功能,因此存储程序代码的存储介质落在本发明的范围之内。用于存储程序代码的该存储介质的特定例子包括软盘、硬盘、光盘、磁光盘、DVD、CD-ROM、磁带、非易失性存储卡、ROM和EEPROM。
此外,本发明的范围不仅包括这样的系统,其中简单地通过读取和执行计算机上的程序代码来实现上述任何实施例的功能,而且包括这样的系统,其中使用计算机上的OS(操作系统)执行由程序代码指示的处理的部分或全部。此外,本发明的范围还包括这样的系统,其中一次性地将程序代码从存储介质传输到插入在计算机内的功能扩展板中所提供或者连接到计算机的功能扩展单元中所提供的存储器中,然后由功能扩展板或功能扩展单元中的CPU等执行由程序代码指示的处理的部分或全部,由此实现上述任何实施例的功能。
在上述实施例中,在图像形成设备上准备了多个计数器,并且当安装应用程序时,将未用的计数器动态分配给应用程序。当卸载应用程序时,释放分配给该应用程序的计数器。这使得有可能正确地管理动态添加和删除的每个应用程序的计数信息。这还使得有可能根据使用量正确地为使用图像形成设备上的应用程序向用户收费,并且向应用程序的销售商付款。
可以针对在图像形成设备上执行的每个程序单独地管理计数信息,从而使得有可能容易地管理每个程序的使用量。
当删除在图像形成设备上执行的程序时,可释放关联的计数器。这防止了不必要的计数器数量增加。此外,容易地管理在图像形成设备上实际使用的每个程序的使用量变得可能。
当添加与在图像形成设备上执行的程序相关联的属性信息时,释放关联的计数器。使用表,将计数器适当地分配给程序并且管理这些计数器。这使得有可能获取、显示和管理当前在图像形成设备上使用的程序的准确使用量。
可以针对由每个程序使用的图像形成设备的每个功能管理使用量。这使得有可能根据由应用程序和功能的组合创建的值为使用应用程序和由图像形成设备提供的功能收费。
如上面详细所述,本发明提供了一种仅允许外围设备的应用程序或功能的使用权限的拥有者签发许可证信息的技术。
当在设备中发生故障时或者当由于其他原因而希望转移时,可以将应用程序的使用权限从一个设备转移到另一个设备。这使得有可能作为财物处理使用权限信息。还有可能由于在设备上安装使用权限之后终止应用程序的使用而将应用程序的使用权限返回给应用程序的拥有者。
此外,本发明提供了一种从外围设备收回定义允许执行应用程序的次数的许可证信息的技术。
虽然本发明是参考当前被认为是优选实施例的内容来描述的,但是应当理解,本发明不局限于所公开的实施例。相反地,本发明旨在涵盖包括在所附权利要求的精神和范围之内的各种修改和等价方案。所附权利要求的范围被给予最宽的解释,以便包括所有这样的修改以及等价结果和功能。
权利要求
1.一种管理设备,用于管理表示可在外围设备上执行的程序或者外围设备的功能的允许使用量的许可证信息,该管理设备包括获取装置,用于从外界获取用于标识许可证信息的许可证标识信息、以及表示程序使用权限的改变量的许可证信息;管理装置,用于管理与已经安装的许可证信息对应的许可证标识信息;确定装置,用于确定对应于许可证信息的许可证标识信息是否包括在由管理装置管理的许可证标识信息中;以及操作控制装置,用于如果确定装置确定对应于许可证信息的许可证标识信息包括在由管理装置管理的许可证标识信息中,则以等于由管理装置管理的使用权限的改变量的量改变已经安装的程序使用权限的值。
2.根据权利要求1所述的管理设备,其中管理设备管理表示由获取装置获取的许可证信息有效的时期的安装截止日期信息;并且管理设备还包括认证装置,其用于认证许可证信息的安装截止日期。
3.根据权利要求1所述的管理设备,其中管理装置与用于标识程序的程序标识信息一起管理已经安装的程序代码的加密密钥。
4.根据权利要求1所述的管理设备,其中使用唯一分配给外围设备的加密密钥对许可证信息进行加密;并且管理设备还包括解密装置,其用于对加密的许可证信息进行解密。
5.根据权利要求1所述的管理设备,其中如果由获取装置获取的许可证信息中的改变量表示使用权限的增量,则操作控制装置以等于由许可证信息表示的使用权限增量的量增加已经安装的程序使用权限,而如果由获取装置获取的许可证信息中的改变量表示使用权限的减量,则操作控制装置以等于由许可证信息表示的使用权限减量的量减少已经安装的程序使用权限。
6.根据权利要求1所述的管理设备,其中管理装置以证明信息的形式管理许可证信息;并且证明信息形式的许可证信息证明安装在外围设备上的程序或外围设备的功能的特定使用量的权限,并且可以作为财物处理证明信息形式的许可证信息。
7.一种管理方法,用于管理表示可在外围设备上执行的程序或者外围设备的功能的允许使用量的许可证信息,该管理方法包括以下步骤从外界获取用于标识许可证信息的许可证标识信息、以及表示程序使用权限的改变量的许可证信息;管理与已经安装的许可证信息对应的许可证标识信息;确定对应于许可证信息的许可证标识信息是否包括于在管理步骤中管理的许可证标识信息中;以及执行操作,使得如果在确定步骤中确定对应于许可证信息的许可证标识信息包括于在管理步骤中管理的许可证标识信息中,则以等于程序使用权限的改变量的量改变已经安装的程序使用权限的值。
8.根据权利要求7所述的管理方法,其中管理步骤包括以下步骤管理表示在获取步骤中获取的许可证信息有效的时期的安装截止日期信息;并且该方法还包括以下步骤认证许可证信息的安装截止日期。
9.根据权利要求7所述的管理方法,其中管理步骤包括以下步骤与用于标识程序的程序标识信息一起管理已经安装的程序代码的加密密钥。
10.根据权利要求7所述的管理方法,其中使用唯一分配给外围设备的加密密钥对许可证信息进行加密;并且该方法还包括以下步骤对加密的许可证信息进行解密。
11.根据权利要求7所述的管理方法,其中在操作步骤中,如果在获取步骤中获取的许可证信息中的改变量表示使用权限的增量,则以等于由许可证信息表示的使用权限增量的量增加已经安装的程序使用权限,而如果在获取步骤中获取的许可证信息中的改变量表示使用权限的减量,则以等于由许可证信息表示的使用权限减量的量减少已经安装的程序使用权限。
12.根据权利要求7所述的管理方法,其中管理步骤包括以下步骤作为证明安装在外围设备上的程序或外围设备的功能的特定使用量的权限的财物,处理许可证信息。
13.一种计算机可读存储介质,包括存储在其上的控制程序,该控制程序由处理器执行以管理表示可在外围设备上执行的程序或者外围设备的功能的允许使用量的许可证信息,该控制程序包括以下步骤从外界获取用于标识许可证信息的许可证标识信息、以及表示程序使用权限的改变量的许可证信息;管理与已经安装的许可证信息对应的许可证标识信息;确定对应于许可证信息的许可证标识信息是否包括于在管理步骤中管理的许可证标识信息中;以及执行操作,使得如果在确定步骤中确定对应于许可证信息的许可证标识信息包括于在管理步骤中管理的许可证标识信息中,则以等于在管理步骤中管理的程序的使用权限的改变量的量改变已经安装的程序使用权限的值。
14.一种信息处理设备,具有产生表示可在外围设备上执行的程序或者外围设备的功能的允许使用量的许可证信息的能力,该信息处理设备包括用于产生用于标识特定许可证信息的许可证标识信息的装置;以及改变装置,用于改变许可证信息,使得将标识程序的程序标识信息、允许使用量以及标识设备的设备标识信息包括到许可证信息中,并且将由生成装置产生的许可证标识信息包括到许可证信息中。
15.根据权利要求14所述的信息处理设备,其中改变装置改变许可证信息,使得还将许可证信息的安装截止日期包括到许可证信息中。
16.根据权利要求14所述的信息处理设备,其中改变装置改变许可证信息,使得许可证信息还包括程序代码的加密密钥。
17.一种信息处理方法,用于产生表示可在外围设备上执行的程序或者外围设备的功能的允许使用量的许可证信息,该信息处理方法包括以下步骤产生用于标识特定许可证信息的许可证标识信息;以及改变许可证信息,使得将标识程序的程序标识信息、允许使用量以及标识设备的设备标识信息包括到许可证信息中,并且将在产生步骤中产生的许可证标识信息包括到许可证信息中。
18.根据权利要求17所述的信息处理方法,其中在改变步骤中,改变许可证信息,使得还将许可证信息的安装截止日期包括到许可证信息中。
19.根据权利要求17所述的信息处理方法,其中改变步骤包括以下步骤改变许可证信息,使得许可证信息还包括程序代码的加密密钥。
20.一种计算机可读存储介质,包括存储在其上的控制程序,该控制程序由处理器执行以产生表示可在外围设备上执行的程序或者外围设备的功能的允许使用量的许可证信息,该控制程序包括以下步骤产生用于标识特定许可证信息的许可证标识信息;以及改变许可证信息,使得将标识程序的程序标识信息、允许使用量以及标识设备的设备标识信息包括到许可证信息中,并且将在产生步骤中产生的许可证标识信息包括到许可证信息中。
21.一种外围设备,具有通过使用计数器来管理程序或功能的使用量的能力,该外围设备包括获取装置,用于获取由外围设备提供的特定功能的允许使用量或者外围设备上的程序的允许使用量;产生装置,用于根据由获取装置获取的允许使用量,产生表示可在外围设备上执行的程序或者外围设备的功能的允许使用量的许可证信息;检测装置,用于检测要向其转移许可证信息的设备;以及转移装置,用于将许可证信息转移到由检测装置检测的设备。
22.根据权利要求21所述的外围设备,还包括用于产生用于标识许可证信息的唯一许可证标识信息的装置;以及改变装置,用于改变许可证信息,使得将由生成装置产生的许可证标识信息包括到许可证信息中。
23.根据权利要求21所述的外围设备,其中改变装置改变许可证信息,使得将许可证信息的截止日期作为许可证信息包括到许可证信息中。
24.根据权利要求21所述的外围设备,还包括密钥获取装置,用于获取程序的加密密钥,其中改变装置改变许可证信息,使得将程序代码的加密密钥包括到许可证信息中。
25.根据权利要求21所述的外围设备,还包括用于从分配给程序标识信息的计数器的计数器上限和计数值之间的差值获取表示由程序标识信息标识的程序的使用权限的值的装置;加密装置,用于将所获取的值和程序标识信息加密到许可证信息中;发送装置,用于将由加密装置加密的许可证信息作为许可证信息发送到外部设备;以及更新装置,用于根据与所发送的许可证信息对应的使用权限量,更新计数值。
26.一种用于控制外围设备的信息处理方法,该外围设备具有通过使用计数器来管理程序或功能的使用量的能力,该信息处理方法包括以下步骤获取由外围设备提供的特定功能的允许使用量或者外围设备上的程序的允许使用量;根据在获取步骤中获取的允许使用量,产生表示可在外围设备上执行的程序或者外围设备的功能的允许使用量的许可证信息;检测要向其转移许可证信息的设备;以及将许可证信息转移到在检测步骤中检测的设备。
27.根据权利要求26所述的信息处理方法,还包括产生用于标识许可证信息的唯一许可证标识信息;以及改变许可证信息,使得将在产生步骤中产生的许可证标识信息包括到许可证信息中。
28.根据权利要求26所述的信息处理方法,其中改变步骤改变许可证信息,使得将许可证信息的截止日期作为许可证信息包括到许可证信息中。
29.根据权利要求26所述的信息处理方法,还包括获取程序的加密密钥的密钥获取步骤,其中在改变步骤中,改变许可证信息,使得将程序代码的加密密钥包括到许可证信息中。
30.根据权利要求26所述的信息处理方法,还包括获取外围设备上的特定程序的允许使用量;根据在获取步骤中获取的允许使用量,产生许可证信息;检测要向其转移许可证信息的设备;以及将加密许可证信息作为许可证信息转移到外部设备。
31.一种计算机可读存储介质,包括存储在其上的控制程序,该控制程序由处理器执行以控制具有通过使用计数器来管理程序或功能的使用量的能力的外围设备,该控制程序包括以下步骤获取由外围设备提供的特定功能的允许使用量或者外围设备上的程序的允许使用量;根据在获取步骤中获取的允许使用量,产生表示可在外围设备上执行的程序或者外围设备的功能的允许使用量的许可证信息;检测要向其转移许可证信息的设备;以及将许可证信息转移到在检测步骤中检测的设备。
32.一种管理设备,用于管理表示可在外围设备上执行的程序或者外围设备的功能的允许使用量的许可证信息,该管理设备包括获取设备,被配置成从外界获取用于标识许可证信息的许可证标识信息、以及表示程序使用权限的改变量的许可证信息;管理设备,被配置成管理与已经安装的许可证信息对应的许可证标识信息;确定设备,被配置成确定对应于许可证信息的许可证标识信息是否包括在由管理设备管理的许可证标识信息中;以及操作控制设备,被配置成如果确定设备确定对应于许可证信息的许可证标识信息包括在由管理设备管理的许可证标识信息中,则以等于由管理设备管理的使用权限的改变量的量改变已经安装的程序使用权限的值。
33.一种外围设备,具有通过使用计数器来管理程序或功能的使用量的能力,该外围设备包括获取设备,被配置成获取由外围设备提供的特定功能的允许使用量或者外围设备上的程序的允许使用量;产生设备,被配置成根据由获取设备获取的允许使用量,产生表示可在外围设备上执行的程序或者外围设备的功能的允许使用量的许可证信息;检测设备,被配置成检测要向其转移许可证信息的设备;以及转移设备,被配置成将许可证信息转移到由检测设备检测的设备。
全文摘要
本发明公开了一种管理方法,其用于管理表示可在外围设备上执行的程序或者由外围设备提供的功能的允许使用量的许可证信息,该方法包括以下步骤从外界获取用于标识许可证信息的许可证标识信息、以及表示程序使用权限的改变量的许可证信息;管理与已经安装的许可证信息对应的许可证标识信息;确定对应于许可证信息的许可证标识信息是否包括于在管理步骤中管理的许可证标识信息中;以及执行操作,使得如果在确定步骤中确定对应于许可证信息的许可证标识信息包括于在管理步骤中管理的许可证标识信息中,则以等于程序使用权限的改变量的量改变已经安装的程序使用权限的值。
文档编号G06F3/12GK1705930SQ20038010137
公开日2005年12月7日 申请日期2003年10月6日 优先权日2002年10月15日
发明者达藤友章 申请人:佳能株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1