CN1834889A - 软件认证系统和软件认证程序及软件认证方法 - Google Patents

软件认证系统和软件认证程序及软件认证方法 Download PDF

Info

Publication number
CN1834889A
CN1834889A CNA2005100229064A CN200510022906A CN1834889A CN 1834889 A CN1834889 A CN 1834889A CN A2005100229064 A CNA2005100229064 A CN A2005100229064A CN 200510022906 A CN200510022906 A CN 200510022906A CN 1834889 A CN1834889 A CN 1834889A
Authority
CN
China
Prior art keywords
resource
log information
functional module
parts
software
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA2005100229064A
Other languages
English (en)
Other versions
CN100370411C (zh
Inventor
谷口真也
深尾明人
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Publication of CN1834889A publication Critical patent/CN1834889A/zh
Application granted granted Critical
Publication of CN100370411C publication Critical patent/CN100370411C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3604Software analysis for verifying properties of programs
    • G06F11/3612Software analysis for verifying properties of programs by runtime analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Stored Programmes (AREA)

Abstract

本发明提供一种软件认证系统,适于通过在将软件导入其执行环境之前验证软件的动作,在使软件开发变容易的同时、开发稳定性高的软件。主机终端测定单独功能模块在主机终端中使用的资源量,并将测定到的资源量换算成网络打印机中使用的资源量,从单独功能模块中取得上限值,根据换算出的资源量和取得的上限值,生成表示单独功能模块使用的资源量达到上限的日志信息。另外,从日志文件中读出日志信息,根据读出的日志信息,判定单独功能模块使用的资源量达到是否上限,当判定为资源量未达到上限时,向单独功能模块的执行文件附加电子署名信息。

Description

软件认证系统和软件认证程序及软件认证方法
技术领域
本发明涉及认证软件的系统和程序及方法,尤其涉及适于通过在软件被导入执行环境之前先验证该软件的动作而使软件开发变得容易、同时开发稳定性高的软件之软件认证系统和软件认证程序及软件认证方法。
背景技术
在打印机等组装设备中,组装称为组装用应用程序的软件,控制其动作。但是,为了制作组装用应用程序,一般需要专用的开发环境与专用的硬件,所以谁都不能简单地制成。为了解决该问题,提出专利文献1记载的信息处理装置。
专利文献1记载的发明构成为具有:可在PC上执行在图像形成装置上执行的应用程序之仿真器(emulator)。由此,即便不使用组装设备也可开发组装用应用程序。
另外,由不熟悉编程技术的人制成的组装用应用程序引起非预期的动作,产生组装设备自身的动作不能继续进行的问题。为了解决该问题,提出专利文献2记载的资源管理系统。
专利文献2记载的发明构成为具有:限制设定部,其对软件由信息设备执行时所利用的资源设定可动作的范围;和动作范围验证部,其验证在限制设定部设定的可动作范围内动作。动作范围验证部在有来自软件的资源利用要求时,比较设定的可动作范围与所要求的资源量,当超出可动作范围时,使该软件的执行中止。
专利文献1:特开2004-185595号公报
专利文献2:特开2004-94782号公报
在专利文献1记载的发明中,因为可在PC上虚拟地执行组装用应用程序,所以可以在PC上以某种程度来验证组装用应用程序的动作。
但是,在PC上执行组装用应用程序的情况和实际上在组装设备上执行该组装用应用程序的情况下,该组装用应用程序在各个执行环境下使用的资源(例如存储器量)不完全一致。这源于执行组装用应用程序的环境不同。例如,为了执行组装用应用程序,使用程序库(library),但该程序库由于硬件构成的差异,程序结构在PC用与组装设备用中各不相同。因此,即便在使用相同函数的情况下,在PC上与组装设备上,也链接功能相同、但程序构成结构的程序库,生成对象。这些对象由于程序结构不同,当然使用的资源量也不完全一致。因此,即便是在PC上适当动作的组装用应用程序,当实际上被组装在组装设备中时,也会由于使用的资源量过大,在多个组装用应用程序在组装设备上起动的情况下,有可能与其它组装用应用程序干扰,动作不稳定。尤其是打印机等组装设备与PC不同,可使用的资源量非常少,所以详细管理各个组装用应用程序使用的资源量在实现稳定动作上非常重要。
另外,就组装用应用程序自身或其处理的文件而言,文件名或路径名有一定的限制。有时PC中可使用的长度或字符种类不能在组装设备中使用。因此,即便是在PC上适当动作的组装用应用程序,当实际上组装在组装设备中时,由于文件名或路径名不适当,所以也有可能在动作上产生不当。
另一方面,在专利文献2记载的发明中,彻底防止在组装设备上执行组装用应用程序的情况下、动作不稳定,不能在组装用应用程序导入组装设备之前验证组装用应用程序使用的资源量、文件名或路径名。
这种问题不限于在组装设备上执行组装用应用程序的情况,即使对于在其它执行环境下开发在特定执行环境下执行的软件的情况而言,也可作同样的假设。
发明内容
因此,本发明着眼于这种现有技术具有的未解决的课题而做出,其目的在于提供一种适于通过在软件被导入执行环境之前先验证该软件的动作而使软件开发变容易、同时开发稳定性高的软件之软件认证系统和软件认证程序及软件认证方法。
[方式1]为了实现上述目的,方式1的软件认证系统,其根据资源管理系统生成的日志信息,认证包含功能模块的软件,该资源管理系统具备:资源测定部件,其测定所述功能模块在第1执行环境下使用的资源量;资源换算部件,其将所述资源测定部件测定到的资源量换算为所述功能模块在第2执行环境下使用的资源量;资源限制信息取得部件,其取得表示资源的限制条件之资源限制信息;和日志信息生成部件,其根据所述资源换算部件换算出的资源量和所述资源限制信息取得部件取得的资源限制信息,生成表示所述功能模块使用的资源量达到上限的所述日志信息,其特征在于,该软件认证系统具备:
取得所述日志信息的日志信息取得部件;动作判定部件,其根据所述日志信息取得部件取得的日志信息,判定所述功能模块使用的资源量是否达到上限;和软件认证部件,其当所述动作判定部件判定为未达到上限时,向所述软件附加认证信息。
根据这种构成,在资源管理系统中,通过资源测定部件,测定功能模块在第1执行环境下使用的资源量,通过资源换算部件,将测定到的资源量换算为功能模块在第2执行环境下使用的资源量。另外,通过资源限制信息取得部件,取得资源限制信息。通过日志信息生成部件,根据换算出的资源量和取得的资源限制信息,生成表示功能模块使用的资源量达到上限的日志信息。
在本系统中,通过日志信息取得部件,取得如此生成的日志信息,通过动作判定部件,根据取得的日志信息,判定功能模块使用的资源量是否达到上限。其结果是,当判定为未达到上限时,通过软件认证部件,向软件附加认证信息。
由此,因为仅向功能模块使用的资源量未达到上限的软件附加认证信息,所以可较可靠地保证软件的动作。因此,与以前相比,得到可在容易地进行软件的开发的同时、可开发稳定性高的软件的效果。
在这里,所谓资源是指功能模块可使用的资源,不限于硬件资源,还包含软件资源等其他资源。下面,在方式2和3的软件认证系统、方式5~7的软件认证程序以及方式9~14的软件认证方法中也一样。
另外,作为资源量,例如包含功能模块使用的存储器量、或可起动的功能模块的数量。另外,例如包含利用功能模块的应用程序确保的资源量(存储器量、功能模块数量)。下面,方式2和3的软件认证系统、方式5~7的软件认证程序以及方式9~14的软件认证方法也一样。
另外,日志信息取得部件只要能取得日志信息,则可以是任何构成,例如可以从输入装置等输入日志信息,可从外部的装置等获得或接收日志信息,可从存储装置或存储介质等读出日志信息,可从功能模块等数据中抽取日志信息。因此,取得中至少包含输入、获得、接收、读出和抽取。下面,在方式2和3的软件认证系统中也一样。
另外,作为资源的换算方法,例如考虑如下方法。第1方法(恒定比例换算方法)中,对测定到的资源量增加或减少恒定比例的资源量,求出换算后的资源量。第2方法(恒定量换算方法)中,无论测定到的资源量如何,都对该资源量增加或减少恒定量后,求出换算后的资源量。第3方法(常数换算方法)中,无论测定到的资源量如何,都将该资源量置换成常数,坟出换算后的资源量。第4方法(混合型换算方法)中,根据资源的种类或测定出的资源量来从第1~第3方法中选择,利用选择出的方法来求出换算后的资源量。换算方法的选择例如可如下设定阈值A、B来进行。当资源量<A时,选择常数换算方法,当A<资源量<B时,选择恒定量换算方法,当B<资源量时,选择恒定比例换算方法。其中,A<B。下面,在方式2的软件认证系统、方式5和6的软件认证程序以及方式9~12的软件认证方法中也一样。
另外,作为资源的限制条件,例如可设定第2执行环境下的资源上限值。下面,在方式5的软件认证程序以及方式9和10的软件认证方法中也一样。
另外,所谓认证信息是在第2执行环境下执行软件时用于判定可否执行的信息,从安全性的观点看,最好是别人不能复制、可判定可否执行的信息。另外,信息的形式可采用任意形式。下面,在方式2和3的软件认证系统、方式5~7的软件认证程序以及方式9~14的软件认证方法中也一样。
另外,该系统也可作为单一装置、终端等其他设备来实现,或作为可通信地连接多个装置、终端等其他设备的网络系统来实现。在后者的情况下,只要各构成要素分别可通信地连接,则可属于多个设备等中的任一设备。下面,在方式2和3的软件认证系统中也一样。
另外,作为资源管理系统的较具体的构成,可提出如下的两个构成。
第1构成是一种资源管理系统,其管理包含第1功能模块、与在其执行中需要所述第1功能模块的多个第2功能模块的软件所使用之资源,其中具备:资源测定部件,其测定所述第2功能模块在第1执行环境下使用的资源量;资源换算部件,其将由所述资源测定部件测定到的资源量换算为所述第2功能模块在第2执行环境下使用的资源量;资源限制信息取得部件,其取得表示在所述第2执行环境下的资源限制条件的资源限制信息;和日志信息生成部件,其根据所述资源换算部件换算出的资源量和所述资源限制信息取得部件取得的资源限制信息,生成表示所述功能模块使用的资源量达到上限的日志信息。
第2构成是一种资源管理系统,其管理包含第1功能模块、与在其执行中需要所述第1功能模块的多个第2功能模块的软件所使用之资源,其中具备:资源测定部件,其测定所述第1功能模块在所述第1执行环境下于所述第2功能模块的执行中使用的资源量;资源换算部件,其将由所述资源测定部件测定到的资源量换算为所述第2功能模块在第2执行环境下使用的资源量;资源限制信息取得部件,其取得表示在所述第2执行环境下的资源限制条件的资源限制信息;和日志信息生成部件,其根据所述资源换算部件换算出的资源量和所述资源限制信息取得部件取得的资源限制信息,生成表示所述功能模块使用的资源量达到上限的日志信息。下面,在方式5的软件认证程序以及方式9和10的软件认证方法中也一样。
[方式2]进而,方式2的软件认证系统,其根据资源管理系统生成的日志信息,认证包含功能模块的软件,该资源管理系统具备:资源测定部件,其测定所述功能模块在第1执行环境下使用的资源量;资源上限值取得部件,其取得在第2执行环境下的资源上限值;资源换算部件,其将所述资源上限值取得部件取得的资源上限值换算为在所述第1执行环境下的资源上限值;和日志信息生成部件,其根据所述资源测定部件测定出的资源量和所述资源换算部件换算出的资源上限值,生成表示所述功能模块使用的资源量达到上限的所述日志信息,其特征在于,该软件认证系统具备:
取得所述日志信息的日志信息取得部件;动作判定部件,其根据所述日志信息取得部件取得的日志信息,判定所述功能模块使用的资源量是否达到上限;和软件认证部件,其当所述动作判定部件判定为未达到上限时,向所述软件附加认证信息。
根据这种构成,在资源管理系统中,通过资源测定部件,测定功能模块在第1执行环境下使用的资源量。另外,通过资源上限值取得部件,取得在第2执行环境下的资源上限值,通过资源换算部件,将取得的资源上限值换算为在第1执行环境下的资源上限值。而且,通过日志信息生成部件,根据测定出的资源量和换算出的资源上限值,生成表示功能模块使用的资源量达到上限的日志信息。
在该系统中,通过日志信息取得部件,取得如此生成的日志信息,通过动作判定部件,根据取得的日志信息,判定功能模块使用的资源量是否达到上限。其结果是,当判定为未达到上限时,通过软件认证部件,向软件附加认证信息。
由此,因为仅向功能模块使用的资源量未达到上限的软件附加认证信息,所以可较可靠地保证软件的动作。因此,与以前相比,得到可在容易地进行软件的开发的同时、可开发稳定性高的软件的效果。
在这里,作为资源管理系统的较具体的构成,可提议如下的两个构成。
第1构成是一种资源管理系统,其管理包含第1功能模块、与在其执行中需要所述第1功能模块的多个第2功能模块的软件所使用之资源,其中具备:资源测定部件,其测定所述第2功能模块在第1执行环境下使用的资源量;资源上限值取得部件,其取得在第2执行环境下的资源上限值;资源换算部件,其将由所述资源上限值取得部件取得的资源上限值换算为在所述第1执行环境下的资源上限值;和日志信息生成部件,其根据所述资源测定部件测定到的资源量和所述资源换算部件换算出的资源上限值,生成表示所述功能模块使用的资源量达到上限的日志信息。
第2构成是一种资源管理系统,其管理包含第1功能模块、与在其执行中需要所述第1功能模块的多个第2功能模块的软件所使用之资源,其中具备:资源测定部件,其测定所述第1功能模块在所述第1执行环境下于所述第2功能模块的执行中使用的资源量;资源上限值取得部件,其取得在第2执行环境下的资源上限值;资源换算部件,其将由所述资源上限值取得部件取得的资源上限值换算为所述第1执行环境下的资源上限值;和日志信息生成部件,其根据所述资源测定部件测定到的资源量和所述资源换算部件换算出的资源上限值,生成表示所述功能模块使用的资源量达到上限的日志信息。下面,在方式6的软件认证程序以及方式11和12的软件认证方法中也一样。
[方式3]此外,方式3的软件认证系统,其根据由资源管理系统生成的日志信息,认证包含功能模块的软件,该资源管理系统具备:资源监视部件,其监视所述功能模块在与第1执行环境不同的第2执行环境下使用的资源使用状况;和日志信息生成部件,其根据所述资源监视部件的监视结果,生成表示所述资源使用状况的所述日志信息,其特征在于,该软件认证系统具备:
取得所述日志信息的日志信息取得部件;动作判定部件,其根据所述日志信息取得部件取得的日志信息,判定所述资源使用状况是否适合于所述第1执行环境;和软件认证部件,其当所述动作判定部件判定为适合时,向所述软件附加认证信息。
根据这种构成,在资源管理系统中,通过资源监视部件,监视功能模块在第2执行环境下使用的资源使用状况,通过日志信息生成部件,根据该监视结果,生成表示资源使用状况的日志信息。
在本系统中,通过日志信息取得部件,取得如此生成的日志信息,通过动作判定部件,根据取得的日志信息,判定资源使用状况是否适合于第1执行环境。其结果是,当判定为资源使用状况适合时,通过软件认证部件,向软件附加认证信息。
由此,因为仅向功能模块使用的资源使用状况适合于第1执行环境的软件附加认证信息,所以可较可靠地保证软件的动作。因此,与以前相比,得到可在容易地进行软件的开发的同时、可开发稳定性高的软件的效果。
在这里,作为资源使用状况,例如包含针对功能模块自身或其处理的文件的文件名和路径名之长度、文件名和路径名中使用的字符种类。下面,在方式7的软件认证程序以及方式13和14的软件认证方法中也一样。
[方式4]另外,方式4的软件认证系统是方式1~3中任一项所述的软件认证系统,其特征在于,
具备:执行文件取得部件,其取得所述功能模块的执行所需的执行文件;和第2动作判定部件,其根据所述执行文件取得部件取得的执行文件,判定构成所述功能模块的指令或指令群是否仅由可在所述第1执行环境下执行的指令或指令群构成,
当所述第2动作判定部件判定为仅由可在所述第1执行环境下执行的指令或指令群构成时,所述软件认证部件向所述软件附加所述认证信息。
根据这种构成,通过执行文件取得部件,取得功能模块的执行所需的执行文件,通过第2动作判定部件,根据取得的执行文件,判定构成功能模块的指令或指令群是否仅由可在第1执行环境下执行的指令或指令群构成。其结果是,若判定为仅由可在第1执行环境下执行的指令或指令群构成时,通过软件认证部件向软件附加认证信息。
由此,因为仅向构成功能模块的指令或指令群仅由可在第1执行环境下执行的指令或指令群构成的软件附加认证信息,所以可进一步可靠地保证软件的动作。
[方式5]另一方面,为了实现上述目的,方式5的软件认证程序,其根据资源管理系统生成的日志信息,认证包含功能模块的软件,该资源管理系统具备:资源测定部件,其测定所述功能模块在第1执行环境下使用的资源量;资源换算部件,其将所述资源测定部件测定到的资源量换算为所述功能模块在第2执行环境下使用的资源量;资源限制信息取得部件,其取得表示资源的限制条件之资源限制信息;和日志信息生成部件,其根据所述资源换算部件换算出的资源量和所述资源限制信息取得部件取得的资源限制信息,生成表示所述功能模块使用的资源量达到上限的所述日志信息,其特征在于,包含用于使计算机执行由如下步骤构成的处理的程序:
取得所述日志信息的日志信息取得步骤;动作判定步骤,其根据所述日志信息取得步骤取得的日志信息,判定所述功能模块使用的资源量是否达到上限;和软件认证步骤,其当所述动作判定步骤判定为未达到上限时,向所述软件附加认证信息。
根据这种构成,若由计算机读取程序,根据读取的程序,计算机执行处理,则得到与方式1的软件认证系统相同的作用和效果。
在这里,日志信息取得步骤只要能取得日志信息,则可以是任何构成,例如可以从输入装置等输入日志信息,可从外部的装置等获得或接收日志信息,可从存储装置或存储介质等读出日志信息,可从功能模块等数据中抽取日志信息。因此,取得中至少包含输入、获得、接收、读出和抽取。下面,在方式6和7的软件认证程序及方式9~14的软件认证方法中也一样。
[方式6]进而,方式6的软件认证程序根据资源管理系统生成的日志信息,认证包含功能模块的软件,该资源管理系统具备:资源测定部件,其测定所述功能模块在第1执行环境下使用的资源量;资源上限值取得部件,其取得第2执行环境下的资源上限值;资源换算部件,其将所述资源上限值取得部件取得的资源上限值换算为所述第1执行环境下的资源上限值;和日志信息生成部件,其根据所述资源测定部件测定出的资源量和所述资源换算部件换算出的资源上限值,生成表示所述功能模块使用的资源量达到上限的所述日志信息,其特征在于,包含用于让计算机执行由如下步骤构成的处理的程序:
取得所述日志信息的日志信息取得步骤;动作判定步骤,其根据所述日志信息取得步骤取得的日志信息,判定所述功能模块使用的资源量是否达到上限;和软件认证步骤,其当所述动作判定步骤判定为未达到上限时,向所述软件附加认证信息。
根据这种构成,若由计算机读取程序,根据读取的程序,计算机执行处理,则可以得到与方式2的软件认证系统相同的作用和效果。
[方式7]再有,方式7的软件认证程序根据由资源管理系统生成的日志信息,认证包含功能模块的软件,该资源管理系统具备:资源监视部件,其监视所述功能模块在与第1执行环境不同的第2执行环境下使用的资源使用状况;和日志信息生成部件,根据所述资源监视部件的监视结果,生成表示所述资源使用状况的所述日志信息,其特征在于,包含用于让计算机执行由如下步骤构成的处理的程序:
取得所述日志信息的日志信息取得步骤;动作判定步骤,其根据所述日志信息取得步骤取得的日志信息,判定所述资源使用状况是否适合于所述第1执行环境;和软件认证步骤,其当所述动作判定步骤判定为适合时,向所述软件附加认证信息。
根据这种构成,若由计算机读取程序,根据读取的程序,计算机执行处理,则可以得到与方式3的软件认证系统相同的作用和效果。
[方式8]还有,方式8的软件认证程序是方式5~7中任一项所述的软件认证程序,其特征在于,包含用于让计算机执行由如下步骤构成的处理之程序:
执行文件取得步骤,其取得所述功能模块的执行所需的执行文件;和第2动作判定步骤,其根据所述执行文件取得步骤取得的执行文件,判定构成所述功能模块的指令或指令群是否仅由可在所述第1执行环境下执行的指令或指令群构成,
当所述第2动作判定步骤判定为仅由可在所述第1执行环境下执行的指令或指令群构成时,所述软件认证步骤向所述软件附加所述认证信息。
根据这种构成,若由计算机读取程序,根据读取的程序,计算机执行处理,则可以得到与方式4的软件认证系统相同的作用和效果。
[方式9]另一方面,为了实现上述目的,方式9的软件认证方法根据资源管理系统生成的日志信息,认证包含功能模块的软件,该资源管理系统具备:资源测定部件,其测定所述功能模块在第1执行环境下使用的资源量;资源换算部件,其将所述资源测定部件测定到的资源量换算为所述功能模块在第2执行环境下的资源量;资源限制信息取得部件,其取得表示资源的限制条件之资源限制信息;和日志信息生成部件,其根据所述资源换算部件换算出的资源量和所述资源限制信息取得部件取得的资源限制信息,生成表示所述功能模块使用的资源量达到上限的所述日志信息,其特征在于,包含:
取得所述日志信息的日志信息取得步骤;动作判定步骤,其根据所述日志信息取得步骤取得的日志信息,判定所述功能模块使用的资源量是否达到上限;和软件认证步骤,其当所述动作判定步骤判定为未达到上限时,向所述软件附加认证信息。
由此,可以得到与方式1的软件认证系统相同的效果。
[方式10]此外,方式10的软件认证方法根据资源管理系统生成的日志信息,认证包含功能模块的软件,该资源管理系统具备:资源测定部件,其测定所述功能模块在第1执行环境下使用的资源量;资源换算部件,其将所述资源测定部件测定到的资源量换算为所述功能模块在第2执行环境下使用的资源量;资源限制信息取得部件,其取得表示资源的限制条件之资源限制信息;和日志信息生成部件,其根据所述资源换算部件换算出的资源量和所述资源限制信息取得部件取得的资源限制信息,生成表示所述功能模块使用的资源量达到上限的所述日志信息,其特征在于,包含:
运算部件取得所述日志信息的日志信息取得步骤;动作判定步骤,所述运算部件根据所述日志信息取得步骤取得的日志信息,判定所述功能模块使用的资源量是否达到上限;和软件认证步骤,其当所述动作判定步骤判定为未达到上限时,所述运算部件向所述软件附加认证信息。
由此,可以得到与方式1的软件认证系统相同的效果。
[方式11]还有,方式11的软件认证方法根据资源管理系统生成的日志信息,认证包含功能模块的软件,该资源管理系统具备:资源测定部件,其测定所述功能模块在第1执行环境下使用的资源量;资源上限值取得部件,其取得第2执行环境下的资源上限值;资源换算部件,其将所述资源上限值取得部件取得的资源上限值换算为所述第1执行环境下的资源上限值;和日志信息生成部件,其根据所述资源测定部件测定出的资源量和所述资源换算部件换算出的资源上限值,生成表示所述功能模块使用的资源量达到上限的所述日志信息,其特征在于,包含:
取得所述日志信息的日志信息取得步骤;动作判定步骤,其根据所述日志信息取得步骤取得的日志信息,判定所述功能模块使用的资源量是否达到上限;和软件认证步骤,其当所述动作判定步骤判定为未达到上限时,向所述软件附加认证信息。
由此,可以得到与方式2的软件认证系统相同的效果。
[方式12]进而,方式12的软件认证方法根据资源管理系统生成的日志信息,认证包含功能模块的软件,该资源管理系统具备:资源测定部件,其测定所述功能模块在第1执行环境下使用的资源量;资源上限值取得部件,其取得第2执行环境下的资源上限值;资源换算部件,其将所述资源上限值取得部件取得的资源上限值换算为所述第1执行环境下的资源上限值;和日志信息生成部件,其根据所述资源测定部件测定出的资源量和所述资源换算部件换算出的资源上限值,生成表示所述功能模块使用的资源量达到上限的所述日志信息,其特征在于,包含:
运算部件取得所述日志信息的日志信息取得步骤;
动作判定步骤,所述运算部件根据所述日志信息取得步骤取得的日志信息,判定所述功能模块使用的资源量是否达到上限;和
软件认证步骤,其当所述动作判定步骤判定为未达到上限时,所述运算部件向所述软件附加认证信息。
由此,可以得到与方式2的软件认证系统相同的效果。
[方式13]再有,方式13的软件认证方法根据由资源管理系统生成的日志信息,认证包含功能模块的软件,该资源管理系统具备:资源监视部件,其监视所述功能模块在与第1执行环境不同的第2执行环境下使用的资源使用状况;和日志信息生成部件,其根据所述资源监视部件的监视结果,生成表示所述资源使用状况的所述日志信息,其特征在于,包含:
取得所述日志信息的日志信息取得步骤;动作判定步骤,其根据所述日志信息取得步骤取得的日志信息,判定所述资源使用状况是否适合于所述第1执行环境;和软件认证步骤,其当所述动作判定步骤判定为适合时,向所述软件附加认证信息。
由此,可以得到与方式3的软件认证系统相同的效果。
[方式14]还有,方式14的软件认证方法根据由资源管理系统生成的日志信息,认证包含功能模块的软件,该资源管理系统具备:资源监视部件,其监视所述功能模块在与第1执行环境不同的第2执行环境下使用的资源使用状况;和日志信息生成部件,其根据所述资源监视部件的监视结果,生成表示所述资源使用状况的所述日志信息,其特征在于,包含:
运算部件取得所述日志信息的日志信息取得步骤;
动作判定步骤,所述运算部件根据所述日志信息取得步骤取得的日志信息,判定所述资源使用状况是否适合于所述第1执行环境;和
软件认证步骤,当所述动作判定步骤判定为适合时,所述运算部件向所述软件附加认证信息。
由此,可以得到与方式3的软件认证系统相同的效果。
[方式15]再者,方式15的软件认证方法是方式9~14中任一项所述的软件认证方法,其特征在于,包含:
执行文件取得步骤,其取得所述功能模块的执行所需的执行文件;和第2动作判定步骤,其根据所述执行文件取得步骤取得的执行文件,判定构成所述功能模块的指令或指令群是否仅由可在所述第1执行环境下执行的指令或指令群构成,
当所述第2动作判定步骤判定为仅由可在所述第1执行环境下执行的指令或指令群构成时,所述软件认证步骤向所述软件附加所述认证信息。
由此,可以得到与方式4的软件认证系统相同的效果。
附图说明
图1是表示JAVA(注册商标)软件的构成的图。
图2是表示主机终端100的功能概要的功能框图。
图3是表示主机终端100的硬件构成的框图。
图4是表示资源限制信息400的数据结构的图。
图5是表示模块信息420的数据结构的图。
图6是表示执行环境信息登录表格440的数据结构的图。
图7是表示资源换算表格22的数据结构的图。
图8是表示资源管理表格460的数据结构的图。
图9是表示事件听众(event listener)表格480的数据结构的图。
图10是表示单独功能模块控制处理的流程图。
图11是表示可否执行判定处理的流程图。
图12是表示模块起动处理的流程图。
图13是表示事件听众登录处理的流程图。
图14是表示分类读入处理的流程图。
图15是表示事件听众控制处理的流程图。
图16是表示事件听众执行处理的流程图。
图17是表示实例删除处理的流程图。
图18是表示模块认证处理的流程图。
图19是表示产生了错误时的日志文件的内容的图。
图20是表示未产生错误时的日志文件的内容的图。
图21是表示并列执行构成资源管理对象的单独功能模块b、c的情况之时间图。
图22是表示主机终端100的功能概要的功能框图。
图23是表示资源换算表格22的数据结构的图。
图24是表示资源管理表格460的数据结构的图。
图25是表示可否执行判定处理的流程图。
图26是表示主机终端100的功能概要的功能框图。
图27是表示事件听众执行处理的流程图。
图28是表示模块认证处理的流程图。
图29是表示执行了文件操作时的日志文件的内容的图。
图30是表示执行了文件操作时的日志文件的内容的图。
图31是表示模块认证处理的流程图。
图32是表示分类验证处理的流程图。
图中:100...主机终端,110...OS,120...共同功能模块,130...单独功能模块,10、16...资源测定部,12、20...资源限制部,14...单独功能模块管理部,18...上限值取得部,22...资源换算表格,24、34...资源换算部,26...日志信息生成部,28...日志信息取得部,30...动作判定部,32...模块认证部,36...资源监视部,50...CPU,52...ROM,54...RAM,58...I/F,60...输入装置,62...存储装置,64...显示装置,400...资源限制信息,420...模块信息,440...执行环境信息登录表格,460...资源管理表格,480...事件听众表格,520...执行结果登录表格,199...网络。
具体实施方式
下面,参照附图来说明本发明的第1实施方式。图1~图21是表示本发明的软件认证系统和软件认证程序及软件认证方法的第1实施方式的图。
本实施方式如图2所示,在主机终端100上的JAVA(注册商标)应用程序的执行环境下、仿真用于控制网络打印机动作的JAVA(注册商标)分类设置时适用本发明的软件认证系统和软件认证程序及软件认证方法。
首先,说明适用本发明的主机终端100的功能概要。
图1是表示JAVA(注册商标)软件的构成的图。
在JAVA(注册商标)应用程序的执行环境下,在OS(Operating System)上执行控制JAVA(注册商标)分类设置的执行之JAVA(注册商标)分类和JVA(Java(注册商标)Virtual Machine)构成的共同功能模块,在共同功能模块上执行作为JAVA(注册商标)分类设置的单独功能模块。在这里,JAVA(注册商标)软件由共同功能模块和单独功能模块构成。
共同功能模块如图1所示,可执行多个单独功能模块。在图1的例子中,示出在共同功能模块a上执行两个单独功能模块b、c的情况。在这里,在将单独功能模块b使用的资源量设为x1、将共同功能模块a在单独功能模块b的执行中使用的资源量设为x2、将单独功能模块b可使用的资源上限值设为Xmax的情况下,在本实施方式中,限制资源量,以使x1+x2≤Xmax。
图2是表示主机终端100的功能概要的功能框图。
主机终端100如图2所示,具有OS 110、共同功能模块120、多个单独功能模块130和应用程序认证部140。
OS110构成为具有:测定JAVA(注册商标)软件使用的资源量的资源测定部10、和限制JAVA(注册商标)软件整体使用的资源量的资源限制部12。
资源限制部12限制JAVA(注册商标)软件使用的资源,以使资源测定部10测定到的资源量不足分配给JAVA(注册商标)软件的规定上限值。
共同功能模块120构成为具有:管理单独功能模块130的执行之单独功能模块管理部14、测定单独功能模块管理部140及单独功能模块130使用的资源量之资源测定部16、登录根据主机终端100在规定条件下使用的资源量和网络打印机在相同的规定条件下使用的资源量所确定之换算率的资源换算表格22、和换算资源量的资源换算部24。
资源测定部16按每个单独功能模块130,测定该单独功能模块130使用的资源量、和单独功能模块管理部14在该单独功能模块130的执行中使用的资源量。
资源换算部24根据资源换算表格22,将资源测定部16测定到的资源量换算为网络打印机中使用的资源量。
共同功能模块120构成为还具有:取得单独功能模块130在网络打印机中的资源上限值的上限值取得部18、限制单独功能模块管理部14及单独功能模块130使用的资源量的资源限制部20、和生成日志信息的日志信息生成部26。
资源限制部20限制单独功能模块130使用的资源量、和单独功能模块管理部14在该单独功能模块130的执行中使用的资源量,以使由资源换算部24换算出的资源量不足上限值取得部18取得的上限值。
日志信息生成部26当判定为资源换算部24换算出的资源量为上限值取得部18取得的上限值以上时,生成表示单独功能模块130使用的资源量达到上限的日志信息。
应用程序认证部140构成为具有:日志信息取得部28,其取得日志信息生成部26生成的日志信息;动作判定部30,其根据日志信息取得部28取得的日志信息,判定单独功能模块130使用的资源量是否达到上限;和模块认证部32,其当动作判定部30判定为未达到上限时,向单独功能模块130附加电子署名信息。
下面,说明主机终端100的构成。
图3是表示主机终端100的硬件构成的框图。
主机终端100如图3所示,由根据控制程序来控制运算和系统整体的CPU50、在规定区域中事先存储CPU50的控制程序等的ROM52、存储从ROM52等读出的数据或CPU50的运算过程中必需的运算结果之RAM54、和对外部装置中介数据的输入输出之I/F58构成,这些部件由作为传输数据用的信号线之总线59相互且可交换数据地连接。
作为外部装置,在I/F58上连接着作为人机界面的由可输入数据之键盘或鼠标等构成的输入装置60、将数据或表格等作为文件存储的存储装置62、根据图像信号来显示画面的显示装置64、和用于连接在网络199上的信号线。
下面,详细说明存储装置62的数据结构。
存储装置62存储有共同功能模块120和多个单独功能模块130。
单独功能模块130构成为包含存储在网络打印机中的资源上限值的资源限制信息。
图4是表示资源限制信息400的数据结构的图。
如图4所示,资源限制信息400构成为包含:存储单独功能模块130和共同功能模块120在该单独功能模块130的执行中可使用的存储器(RAM54)的上限值之字段402、和存储单独功能模块130和共同功能模块120在该单独功能模块130的执行中可起动的分类数之字段404。
单独功能模块130构成为还包含关于单独功能模块130的模块信息。
图5是表示模块信息420的数据结构的图。
如图5所示,模块信息420构成为包含:存储是否为限制单独功能模块130使用的资源量的对象(下面称为资源管理对象。)之字段422、存储单独功能模块130可执行的网络打印机的机型之字段424、和存储电子署名信息的字段426。
在图5的例子中,在字段422中存储着‘有效’。这表示将单独功能模块130作为资源管理对象来管理。并且,在字段424、字段426中,分别存储着‘TypeA’、‘X社’。这表示单独功能模块130可执行的机型为‘TypeA’,接受X社的电子署名。
存储装置62还存储有登录了表示共同功能模块120的执行环境的执行环境信息之执行环境信息登录表格。
图6是表示执行环境信息登录表格440的数据结构的图。
如图6所示,执行环境信息登录表格440构成为包含:登录了单独功能模块130可起动的个数之上限值的字段442、登录了应执行的单独功能模块130的名称之字段444、登录了应删除的单独功能模块130的名称之字段446、登录了仿真的网络打印机之机型的字段448、和登录了可对应的电子署名信息的字段450。
在图6的例子中,在字段442、字段444、字段446中分别登录着‘5’、‘单独功能模块b、d’、‘单独功能模块c’。这表示最多可起动5个单独功能模块130,在共同功能模块120起动时,执行单独功能模块b、d,应删除单独功能模块c。并且,在字段448、字段450中分别登录着‘TypeA’、‘X社’。这表示仿真的网络打印机之机型为‘TypeA’,可执行包含X社的电子署名信息之单独功能模块130。
存储装置62还存储有资源换算表格22。
图7是表示资源换算表格22的数据结构的图。
如图7所示,在资源换算表格22中,对每个资源种类或使用方式登录一个记录。各记录构成为包含登录资源名称的字段502、和登录换算率的字段504。
在图7的例子中,在第1个记录中,分别登录‘存储器使用方式A’作为资源的名称,登录‘1’作为换算率。这表示在单独功能模块130在使用方式A下使用存储器的情况下,通过向单独功能模块130在主机终端100中使用的存储器量乘以换算率‘1’,而执行向网络打印机中使用的存储器量的换算。同样,在单独功能模块130在使用方式B、C下使用存储器的情况下,采用对应于使用方式B、C的换算率。
存储器的使用方式A~C由共同功能模块120和单独功能模块130使用的函数或程序库来确定。例如,在使用处理整数型变量的程序库等的情况下为使用方式A;在使用处理双倍(double)型变量的程序库等的情况下为使用方式B。
另外,在第4个记录中,分别登录‘分类数’,作为资源的名称,登录‘1’,作为换算率。这表示通过向单独功能模块130在主机终端100中起动的分类数乘以换算率‘1’,从而执行向网络打印机中起动的分类数的换算。
另外,在资源换算表格22中,对多个测试模块的每个,根据在主机终端100和网络打印机中该测试模块使用的资源量,确定换算率,并登录对各测试模块确定的换算率中的最大值。
在存储装置62中,还按每个构成资源管理对象的各单独功能模块130,存储着管理该单独功能模块130使用的资源量之资源管理表格。资源管理表格在单独功能模块130是资源管理对象的情况下,伴随其起动而生成。
图8是表示资源管理表格460的数据结构的图。
如图8所示,在资源管理表格460中,对每个资源种类登录一个记录。各记录登录着包含:登录资源名称的字段462、登录单独功能模块130在网络打印机中的资源上限值之字段464、登录单独功能模块130在主机终端100中正在使用的资源量之字段466、和将字段466的值换算成在网络打印机中使用的资源量的值之字段468。
在图8的例子中,在第1个记录中,分别登录‘存储器’,作为资源的名称,登录‘1000000’,作为上限值,对每个存储器的使用方式A~C,登录‘200000’、‘100000’和‘150000’,作为当前值,登录‘650000’,作为换算值。这表示单独功能模块130在网络打印机中的存储器量上限值为1000000[byte],在使用方式A下使用200000[byte]的当前存储器,在使用方式B下使用100000[byte]的当前存储器,在使用方式C下使用150000[byte]的当前存储器。并且,表示换算成在网络打印机中使用的存储器量的值(下面称为换算存储器量)为650000[byte]。换算存储器量可参照图7的资源换算表格22,算出为200000×1+100000×1.5+150000×2=650000。
另外,在第2个记录中,分别登录‘分类数’,作为资源的名称,登录‘100’,作为上限值,登录‘20’,作为当前值,登录‘20’,作为换算值。这表示单独功能模块130在网络打印机中可起动的分类数之上限值为100个,当前起动20个分类。并且,表示换算成在网络打印机下起动的分类数之值(下面称为换算分类数。)为20个。换算分类数可参照图7的资源换算表格22,算出为20×1=20。
存储装置62还存储有事件听众表格480,该表格登录处理单独功能模块130接收的事件之事件听众。
图9是表示事件听众(listener)表格480的数据结构的图。
如图9所示,在事件听众表格480中,对单独功能模块130登录的每个事件听众,登录记录。各记录登录着包含登录事件听众的名称之字段482。
返回图3,CPU50由微处理单元等构成,使存储在ROM52的规定区域中的规定程序起动,根据该程序,分别分时执行图10、图14、图15、图17和图18的流程图所示的单独功能模块控制处理、分类读入处理、事件听众控制处理、实例(instance)删除处理和模块认证处理,以作为共同功能模块120的处理。
首先,说明单独功能模块控制处理。
图10是表示单独功能模块控制处理的流程图。
单独功能模块控制处理是控制单独功能模块130的删除和执行的处理,若由CPU50执行,则如图10所示,首先移动到步骤S100。
在步骤S100中,从执行环境信息登录表格440中取得应执行的单独功能模块130的名称和应删除的单独功能模块130的名称,并移动到步骤S102,判定应删除的单独功能模块130是否存在,当判定为应删除的单独功能模块130存在时(是),移动到步骤S104。
在步骤S104中,根据取得的名称,从存储装置62中删除该单独功能模块130,并移动到步骤S106,根据该单独功能模块130中包含的模块信息420,判定该单独功能模块130是否是资源管理对象,当判定为该单独功能模块130是资源管理对象时(是),移动到步骤S108。
在步骤S108中,从存储装置62中删除对应于该单独功能模块130的资源管理表格460,并移动到步骤S110,从表示当前起动中的模块数的变量值中减去‘1’,并移动到步骤S102。
另一方面,在步骤S106中,当判定为该单独功能模块130不是资源管理对象时(否),移动到步骤S102。
另一方面,在步骤S102中,当判定为应删除的单独功能模块130不存在时(否),移动到步骤S112,判定应执行的单独功能模块130是否存在,当判定为应执行的单独功能模块130存在时(是),移动到步骤S114。
在步骤S114中,判定表示当前起动中的模块数的变量值是否不足规定的上限值,当判定为不足规定的上限值时(是),移动到步骤S116。
在步骤S116中,根据取得的名称,从存储装置62中读入该单独功能模块130,移动到步骤S118,执行判定读入的单独功能模块130可否执行的可否执行判定处理,移动到步骤S120。
在步骤S120中,判定是否从可否执行判定处理返回表示允许单独功能模块130的执行的返回值,当判定为返回表示允许执行的返回值时(是),移动到步骤S122。
在步骤S122中,根据该单独功能模块130中包含的模块信息420,判定该单独功能模块130是否是资源管理对象,当判定为该单独功能模块130是资源管理对象时(是),移动到步骤S124。
在步骤S124中,生成对应于该单独功能模块130的资源管理表格460,从该单独功能模块130所包含的资源限制信息400中取得上限值,将取得的上限值登录于生成的资源管理表格460中,并移动到步骤S126,向表示当前起动中的模块数的变量值加‘1’,移动到步骤S128。
在步骤S128中,将生成的资源管理表格460的地址设定为资源确保对象的参照指针,并移动到步骤S130,执行起动该单独功能模块130的模块起动处理,移动到步骤S132,清零资源确保对象的参照指针,并移动到步骤S112。
另一方面,在步骤S122中,当判定为该单独功能模块130不是资源管理对象时(否),移动到步骤S134,执行与步骤S130一样的模块起动处理,并移动到步骤S112。
另一方面,在步骤S120中,当判定为从可否执行判定处理返回表示不允许单独功能模块130的执行之返回值时(否),移动到步骤S112。
另一方面,在步骤S114中,当判定为表示当前起动中的模块数的变量值为规定的上限值以上时(否),移动到步骤S136,生成表示模块数达到上限的日志信息,并将生成的日志信息记录在存储装置62的日志文件中,结束一系列的处理,恢复到原来的处理。
另一方面,在步骤S112中,当判定为应执行的单独功能模块130不存在时(否),结束一系列的处理,恢复到原来的处理。
下面,说明步骤S118的可否执行判定处理。
图11是表示可否执行判定处理的流程图。
可否执行判定处理若在步骤S118中执行,则如图11所示,首先移动到步骤S200。
在步骤S200中,从包含于单独功能模块130中的模块信息420中取得机型信息,并移动到步骤S202,判定取得的机型信息与执行环境信息登录表格440的机型信息是否一致,当判定为这些机型信息一致时(是),移动到步骤S204。
在步骤S204中,从单独功能模块130所包含的模块信息420中取得电子署名信息,并移动到步骤S206,根据执行环境信息登录表格440,判定取得的电子署名信息是否可对应,当判定为是可对应的电子署名信息时(是),移动到步骤S208。
在步骤S208中,根据单独功能模块130所包含的模块信息420,判定单独功能模块130是否为资源管理对象,并当判定为是资源管理对象时(是),移动到步骤S209。
在步骤S209中,判定对应于执行环境信息登录表格440的资源换算表格22是否存在,当判定为对应的资源换算表格22存在时(是),移动到步骤S210,从存储装置62中读入对应的资源换算表格22,移动到步骤S211。
在步骤S211中,从单独功能模块130所包含的资源限制信息400中取得上限值,并移动到步骤S212,判定上限值的取得是否成功,当判定为上限值的取得成功时(是),移动到步骤S214。
在步骤S214中,判定取得的上限值是否不足全部存储器余量,当判定为不足全部存储器余量时(是),移动到步骤S216,返回表示允许单独功能模块130的执行的返回值,结束一系列的处理,恢复到原来的处理。
另一方面,在步骤S214中,当判定为取得的上限值为全部存储器余量以上时(否),移动到步骤S217,生成表示上限值为全部存储器余量以上的日志信息,并将生成的日志信息记录在存储装置62的日志文件中,移动到步骤S218,返回表示允许单独功能模块130的执行的返回值,结束一系列的处理,恢复到原来的处理。
另一方面,当在步骤S212中判定为上限值的取得失败时(否),当在步骤S206中判定为不是可对应的电子署名信息时(否),和当在步骤S202中判定为机型信息不一致时(否),均移动到步骤S218。
另一方面,在步骤S209中,当判定为对应于执行环境信息登录表格440的资源换算表格22不存在时(否),移动到步骤S211。
另一方面,在步骤S208中,当判定为单独功能模块130不是资源管理对象时(否),移动到步骤S216。
下面,说明步骤S130、S134的模块起动处理。
图12是表示模块起动处理的流程图。
模块起动处理若在步骤S130、S134中执行,则如图12所示,首先移动到步骤S300。
在步骤S300中,从单独功能模块130中输出应读入分类的分类读入指令,并移动到步骤S302,判定分类的读入是否成功,当判定为分类的读入成功时(是),移动到步骤S304。
在步骤S304中,判定是否设定资源确保对象的参照指针,并当判定为设定有资源确保对象的参照指针时(是),移动到步骤S305,算出读出的分类之执行所需的存储器量,并移动到步骤S306。
在步骤S306中,从读出的分类使用的程序库等中,特定存储器的使用方式,从读入的资源换算表格22中取得对应于特定的存储器使用方式的换算率,并向算出的存储器量乘以取得的换算率,从而执行向网络打印机中使用的存储器量的换算。
之后,移动到步骤S307,向资源确保对象的参照指针指示的资源管理表格460(下面称为参照资源管理表格460。)之使用存储器量中加上换算存储器量,并移动到步骤S308,判定相加后的合计存储器量是否不足参照资源管理表格460的上限值,当判定为不足上限值时(是),移动到步骤S310。
在步骤S310中,在存储器上生成读入的分类的实例,并移动到步骤S312,将表示资源确保对象的参照指针值之资源确保对象参照信息保存在生成的实例中,并移动到步骤S313,将换算存储器量保存在生成的实例中,并移动到步骤S314。
在步骤S314中,判定实例的生成是否成功,并在判定为实例的生成成功时(是),移动到步骤S316,执行调用读入分类的功能之分类功能调用处理,并移动到步骤S318,执行登录单独功能模块130的事件听众之事件听众登录处理,结束一系列的处理,恢复到原来的处理。
另一方面,在步骤S308中,当判定为合计存储器量为上限值以上时(否),移动到步骤S320,从参照资源管理表格460的使用存储器量中减去换算存储器量,并移动到步骤S321。
在步骤S321中,生成表示单独功能模块130使用的存储器量达到上限的日志信息,并将生成的日志信息记录在存储装置62的日志文件中,移动到步骤S322,通知错误,移动到步骤S314。
另一方面,在步骤S304中,当判定为未设定资源确保对象的参照指针时(否),移动到步骤S324,在存储器上生成读入的分类的实例,并移动到步骤S314。
另一方面,在步骤S314中判定为实例的生成失败时(否)、和步骤S302中判定为分类的读入失败时(否),都移动到步骤S318。
下面,说明步骤S318的事件听众登录处理。
图13是表示事件听众登录处理的流程图。
事件听众登录处理若在步骤S318中执行,则如图13所示,首先移动到步骤S400。
在步骤S400中,从单独功能模块130中输出读入事件听众分类的分类读入指令,并移动到步骤S402,判定事件听众分类的读入是否成功,当判定为事件听众分类的读入成功时(是),移动到步骤S404。
在步骤S404中,判定是否设定有资源确保对象的参照指针,并在判定为设定有资源确保对象的参照指针时(是),移动到步骤S405,算出读入的事件听众分类之执行所需的存储器量,移动到步骤S406。
在步骤S406中,从读入的事件听众分类使用的程序库等中特定存储器的使用方式,从读入的资源换算表格22中取得对应于特定的存储器使用方式的换算率,向算出的存储器量乘以取得的换算率,从而执行向网络打印机中使用的存储器量的换算。
之后,移动到步骤S407,向参照资源管理表格460的使用存储器量上加上换算存储器量,移动到步骤S408,判定相加后的合计存储器量是否不足参照资源管理表格460的上限值,当判定为不足上限值时(是),移动到步骤S410。
在步骤S410中,在存储器上生成读入的事件听众分类的实例,并移动到步骤S412,将表示资源确保对象的参照指针值之资源确保对象参照信息保存在生成的实例中,移动到步骤S413,将换算存储器量保存在生成的实例中,并移动到步骤S414。
在步骤S414中,判定实例的生成是否成功,并当判定为实例的生成成功时(是),移动到步骤S416,将生成的实例之事件听众登录在事件听众执行列表中,结束一系列的处理,恢复到原来的处理。
另一方面,在步骤S408中,当判定为合计存储器量为上限值以上时(否),移动到步骤S418,从参照资源管理表格460的使用存储器量中减去换算存储器量,并移动到步骤S419。
在步骤S419中,生成表示单独功能模块130使用的存储器量达到上限的日志信息,并将生成的日志信息记录在存储装置62的日志文件中,移动到步骤S420,通知错误,移动到步骤S414。
另一方面,在步骤S404中,当判定为未设定资源确保对象的参照指针时(否),移动到步骤S422,在存储器上生成读入的事件听众分类的实例,并移动到步骤S414。
另一方面,当步骤S414中判定为实例的生成失败时(否)、和步骤S402中判定为事件听众分类的读入失败时(否),结束一系列的处理,恢复到原来的处理。
下面,说明分类读入处理。
图14是表示分类读入处理的流程图。
分类读入处理是对应于分类读入指令来读入分类的处理,若由CPU50执行,则如图14所示,首先移动到步骤S500。
在步骤S500中,判定是否取得分类读入指令,当判定为取得分类读入指令时(是),移动到步骤S502,否则(否),在步骤S500待机中,到取得分类读入指令为止。
在步骤S502中,判定关于分类读入指令的分类是否被登录于高速缓冲存储器表格中,当判定为未登录于高速缓冲存储器表格中时(否),移动到步骤S504。
在步骤S504中,特定关于分类读入指令的分类所属的单独功能模块130,并移动到步骤S506,根据特定的该单独功能模块130中包含的模块信息420,判定该单独功能模块130是否是资源管理对象,当判定为是资源管理对象时(是),移动到步骤S508。
在步骤S508中,将对应于该单独功能模块130的资源管理表格460的地址设定为资源确保对象的参照指针,并移动到步骤S509。
在步骤S509中,从读入的资源换算表格22中取得对应于分类数的换算率,并向关于分类读入指令的分类数‘1’乘以取得的换算率,从而执行向网络打印机中起动的分类数的换算。
接着,移动到步骤S510,向参照资源管理表格460的起动分类数加上换算分类数,并移动到步骤S512,判定相加后的合计分类数是否不足参照资源管理表格460的上限值,并当判定为不足上限值时(是),移动到步骤S514。
在步骤S514中,从单独功能模块130读入关于分类读入指令的分类,移动到步骤S516,将读入的分类登录在高速缓冲存储器表格中,移动到步骤S517。
在步骤S517中,将换算分类数保存在读入的分类中,并移动到步骤S518,清零资源确保对象的参照指针,结束一系列的处理,恢复到原来的处理。
另一方面,在步骤S512中,当判定为合计的分类数为上限值以上时(否),移动到步骤S520,从参照资源管理表格460的起动分类数中减去换算分类数,并移动到步骤S521。
在步骤S521中,生成表示单独功能模块130起动的分类数达到上限的日志信息,并将生成的日志信息记录在存储装置62的日志文件中,移动到步骤S522,通知错误,移动到步骤S518。
另一方面,在步骤S506中,当判定为该单独功能模块130不是资源管理对象时(否),移动到步骤S524,从单独功能模块130中读入关于分类读入指令的分类,移动到步骤S526,将读入的分类登录在高速缓冲存储器表格中,结束一系列的处理,恢复到原来的处理。
另一方面,在步骤S502中,当判定为关于分类读入指令的分类被登录在高速缓冲存储器表格中时(是),结束一系列的处理,恢复到原来的处理。
下面,说明事件听众控制处理。
图15是表示事件听众控制处理的流程图。
事件听众控制处理是控制事件听众的执行之处理,若由CPU50执行,则如图15所示,首先移动到步骤S600。
在步骤S600中,取得事件听众执行列表,移动到步骤S602,根据取得的事件听众执行列表,判定应执行的事件听是否存在众,并当判定为应执行的事件听众存在时(是),移动到步骤S604。
在步骤S604中,特定成为该事件听众生成源的单独功能模块130,并移动到步骤S606,根据特定的该单独功能模块130中包含的模块信息420,判定该单独功能模块130是否是资源管理对象,当判定为是资源管理对象时(是),移动到步骤S608。
在步骤S608中,将对应于该单独功能模块130的资源管理表格460之地址设定为资源确保对象的参照指针,并移动到步骤S610,执行对该事件听众执行的事件听众执行处理,并移动到步骤S612,清零资源确保对象的参照指针,并移动到步骤S614。
在步骤S614中,从事件听众执行列表中删除该事件听众,并移动到步骤S602。
另一方面,在步骤S606中,当判定为该单独功能模块130不是资源管理对象时(否),移动到步骤S616,执行该事件听众,并移动到步骤S614。
另一方面,在步骤S602中,当判定为应执行的事件听众不存在时(否),结束一系列的处理,恢复到原来的处理。
下面,说明步骤S610的事件听众执行处理。
图16是表示事件听众执行处理的流程图。
事件听众执行处理若在步骤S610中执行,则如图16所示,首先移动到步骤S700。
在步骤S700中,将程序指针移动到事件听众中包含的指令列表的开头,并移动到步骤S702,判定程序指针指示的地址中是否存在应执行的指令,当判定为存在应执行的指令时(是),移动到步骤S703,算出指令执行所需的存储器量,移动到步骤S704。
在步骤S704中,从指令执行中使用的数据库等特定存储器的使用方式,从读入的资源换算表格22中取得对应于特定的存储器使用方式的换算率,并向算出的存储器量乘以取得的换算率,从而执行向网络打印机中使用的存储器量的换算。
之后,移动到步骤S705,向参照资源管理表格460的使用存储器量上加上换算存储器量,并移动到步骤S706,判定相加后的合计存储器量是否不足参照资源管理表格460的上限值,当判定为不足上限值时(是),移动到步骤S708。
在步骤S708中,确保存储器,移动到步骤S710,执行程序指针指示的地址的指令,并移动到步骤S712,将程序指针移动到事件听众所包含的指令列表的下一个,并移动到步骤S713,待机处理仅规定的待机时间,移动到步骤S702。
另一方面,在步骤S706中,当判定为合计的存储器量为上限值以上时(否),移动到步骤S714,从参照资源管理表格460的使用存储器量中减去换算存储器量,并移动到步骤S715。
在步骤S715中,生成表示单独功能模块130使用的存储器量达到上限的日志信息,并将生成的日志信息记录在存储装置62的日志文件中,移动到步骤S716,通知错误,移动到步骤S712。
另一方面,在步骤S702中,当判定为不存在应执行的指令时(否),结束一系列的处理,恢复到原来的处理。
下面,说明实例删除处理。
图17是表示实例删除处理的流程图。
实例删除处理是删除实例的处理,若由CPU50执行,则如图17所示,首先移动到步骤S800。
在步骤S800中,取得登录了应删除实例的实例删除列表,并移动到步骤S802,根据取得的实例删除列表,判定是否存在应删除的实例,并当判定为存在应删除的实例时(是),移动到步骤S804。
在步骤S804中,从该实例中取得资源确保对象参照信息,并移动到步骤S805,判定资源确保对象参照信息的取得是否成功,当判定为资源确保对象参照信息的取得成功时(是),移动到步骤S806。
在步骤S806中,根据取得的资源确保对象参照信息,设定资源确保对象的参照指针,并移动到步骤S808,删除相应的实例,移动到步骤S810,从参照资源管理表格460的使用存储器量中减去该实例执行所需的存储器量,并移动到步骤S812。
在步骤S812中,清零资源确保对象的参照指针,移动到步骤S814,从实例删除列表中删除该实例,移动到步骤S802。
另一方面,在步骤S805中,当判定为资源确保对象参照信息的取得失败时(否),移动到步骤S816,删除该实例,移动到步骤S814。
另一方面,在步骤S802中,当判定为不存在应删除的实例时(否),结束一系列的处理,恢复到原来的处理。
下面,说明模块认证处理。
图18是表示模块认证处理的流程图。
模块认证处理若由CPU50执行,则如图18所示,首先移动到步骤S900。
在步骤S900中,从存储装置62的日志文件中读出日志信息,并移动到步骤S902,根据读出的日志信息,判定单独功能模块130的起动分类数或使用存储器量是否达到上限,并当判定为起动分类数或使用存储器量未达到上限时(否),移动到步骤S904。
在步骤S904中,根据读出的日志信息,判定单独功能模块130是否不能安装于网络打印机中,并当判定为单独功能模块130能安装时(否),移动到步骤S906。
在步骤S906中,判定存储装置62的日志文件中是否存在未处理的日志信息,当判定为不存在未处理的日志信息时(否),移动到步骤S908,从存储装置62中读出单独功能模块130的执行文件,移动到步骤S910。
在步骤S910中,向读出的执行文件附加电子署名信息,移动到步骤S912,将附加了电子署名信息的执行文件保存在存储装置62中,结束一系列的处理,恢复到原来的处理。
另一方面,在步骤S906中,当判定为存在未处理的日志信息时(是),移动到步骤S900。
另一方面,在步骤S904中,当判定为单独功能模块130不能安装时(是),和在步骤S902中,当判定为起动分类数或使用存储器量达到上限时(是),均移动到步骤S914,将表示单独功能模块130不能认证的消息显示于显示装置64中,结束一系列的处理,恢复到原来的处理。
下面,说明本实施方式的动作。
首先,说明执行构成资源管理对象的单独功能模块130的情况。
主机终端100通过共同功能模块120的执行来执行单独功能模块控制处理。在单独功能模块控制处理中,经过步骤S102~S110,在存在应删除的单独功能模块130的情况下,删除该单独功能模块130。之后,经过步骤S114,若判定为当前起动中的模块数不足规定的上限值,则经过步骤S116、S118,读入相应的单独功能模块130,判定读入的单独功能模块130可否执行。在可否执行判定处理中,就单独功能模块130而言,在具有一致的机型信息和可对应的电子署名信息,并且可使用的存储器量的上限值不足全部存储器余量的情况下,允许执行。
若允许单独功能模块130的执行,则经过步骤S124~S128,生成资源管理表格460,将当前起动中的模块数加‘1’,单独功能模块130起动。在模块起动处理中,经过步骤S509、S510、S305~S307,将单独功能模块130的起动分类数和使用存储器量换算成在网络打印机下的起动分类数和使用存储器量后相加。此时,若起动分类数和使用存储器量其中之一为上限值以上,则经过步骤S521、S522或步骤S321、S322,生成表示单独功能模块130的起动分类数或使用存储器量达到上限的日志信息,同时,通知错误,中止分类的读入或实例的生成。
与此相对,在起动分类数和使用存储器量均不足上限值的情况下,经过步骤S514、S310、S318,读入单独功能模块130的分类,生成所读入的分类之实例,登录单独功能模块130的事件听众。在事件听众登录处理中,经过步骤S509、S510、S405~S407,将单独功能模块130的起动分类数和使用存储器量换算成在网络打印机下的起动分类数和使用存储器量后相加。此时,若起动分类数和使用存储器量其中之一为上限值以上,则经过步骤S521、S522或步骤S419、S420,生成表示单独功能模块130的起动分类数或使用存储器量达到上限的日志信息,同时,通知错误,中止事件听众分类的读入或实例的生成。
与此相对,在起动分类数和使用存储器量均不足上限值的情况下,经过步骤S514、S410、S416,读入事件听众分类,生成事件听众分类之实例,将生成的实例之事件听众登录在事件听众执行列表中。
另一方面,在主机终端100中,通过共同功能模块120的执行来执行事件听众控制处理。在事件听众控制处理中,经过步骤S703~S705,将成为应执行事件听众的生成源之单独功能模块130的使用存储器量换算成在网络打印机下的使用存储器量后相加。此时,若使用存储器量为上限值以上,则经过步骤S715、S716,生成表示单独功能模块130使用的存储器量达到上限的日志信息,同时,通知错误,中止事件听众的执行。
与此相对,在使用存储器量不足上限值的情况下,经过步骤S710,执行包含于事件听众中的指令。
另一方面,在主机终端100中,通过共同功能模块120的执行来执行实例删除处理。在实例删除处理中,在存在应删除的实例的情况下,经过步骤S808、S810,删除该实例,减去构成该事件听众的生成源之单独功能模块130的使用存储器量。
图19是表示产生错误时的日志文件的内容的图。
在产生了错误的情况下,在日志文件中,如图19所示,除表示单独功能模块130起动或停止的日志信息外,还记录表示单独功能模块130的起动分类数或使用存储器量达到上限的日志信息。
图20是表示未产生错误时的日志文件的内容的图。
与此相对,在未产生错误的情况下,在日志文件中,如图20所示,仅记录表示单独功能模块130起动和停止的日志信息。
下面,说明执行不是资源管理对象的单独功能模块130的情况。
主机终端100若执行单独功能模块控制处理,则经过步骤S116、S118,读入相应的单独功能模块130,判定读入的单独功能模块130可否执行。
若允许单独功能模块130的执行,则经过步骤S134,单独功能模块130起动。在模块起动处理中,经过步骤S524、S324、S318,读入单独功能模块130的分类,生成读入的分类之实例,登录单独功能模块130的事件听众。在事件听众登录处理中,经过步骤S524、S422、S416,读入事件听众分类,生成事件听众分类的实例,将生成的实例之事件听众登录在事件听众执行列表中。
另一方面,若在主机终端100中执行事件听众控制处理,则经过步骤S616,执行包含于应执行的事件听众中的指令。
另一方面,若在主机终端100中执行实例删除处理,则在应删除的实例存在的情况下,经过步骤S816,删除该实例。
图21是表示并列执行构成资源管理对象的单独功能模块b、c的情况之时间图。
图21中,实线表示单独功能模块b的滑件(sled)、和共同功能模块120的滑件中在单独功能模块b的执行中使用的滑件。点划线表示单独功能模块c的滑件、和共同功能模块120的滑件中在单独功能模块c的执行中使用的滑件。
若执行单独功能模块b,则执行共同功能模块120的AM滑件(起动处理部),单独功能模块b起动,执行该滑件。另外,执行共同功能模块120的AM滑件,生成单独功能模块b的事件听众。之后,若产生对应于单独功能模块b的事件,则执行共同功能模块120的AM滑件(事件处理部),读入单独功能模块b的分类,生成读入的实例。在不需要单独功能模块b的情况下,执行共同功能模块120的实例删除滑件,删除单独功能模块b的实例。在该一系列的处理中,管理伴随共同功能模块120和单独功能模块b的滑件的执行而增减的起动分类数和使用存储器量,作为单独功能模块b使用的资源量进行管理,以不足对单独功能模块b设定的规定上限值的方式进行限制。
该动作对单独功能模块c也一样。其中,在该一系列的处理中,伴随共同功能模块120和单独功能模块c的滑件的执行而增减的起动分类数和使用存储器量,作为单独功能模块c使用的资源量而被管理,以不足对单独功能模块c设定的规定上限值的方式进行限制。
下面,说明认证单独功能模块130的情况。
在主机终端100中若生成日志文件,则重复经过步骤S900~S906,依次从日志文件中读出日志信息,判定单独功能模块130的起动分类数或使用存储器量是否达到上限,和单独功能模块130是否不能安装于网络打印机中。如图20所示的日志文件那样,就包含于日志文件中的全部日志信息而言,若判定为起动分类数或使用存储器量未达到上限且能安装,则经过步骤S908~S912,读出单独功能模块130的执行文件,向读出的执行文件附加电子署名信息后保存。
与此相对,如图19所示的日志文件那样,就包含于日志文件中的任一日志信息而言,若判定为起动分类数或使用存储器量达到上限或不能安装,则经过步骤S914,显示表示不能认证的消息。
由此,在本实施方式中,测定单独功能模块130在主机终端100中使用的资源量,并将测定到的资源量换算成在网络打印机下使用的资源量,从单独功能模块130取得上限值,根据换算出的资源量和取得的上限值,生成表示单独功能模块130使用的资源量达到上限的日志信息。
由此,可在导入网络打印机之前,验证单独功能模块130在网络打印机下使用的资源量是否达到资源的上限值。因此,与以前相比,可容易地进行软件开发,同时,可开发稳定性高的软件。
进而,在本实施方式中,对每个构成资源管理对象的各单独功能模块130,测定该单独功能模块130使用的存储器量、以及共同功能模块120在该单独功能模块130的执行中使用的存储器量和起动的分类数。
由此,可以单独功能模块130为单位来验证共同功能模块120在网络打印机下使用的资源量是否达到资源的上限值。
再者,在本实施方式中,根据换算出的资源量和取得的上限值,禁止基于单独功能模块130的资源的确保。
由此,可限制单独功能模块130超过上限值来使用资源量。
并且,在本实施方式中,根据登录了基于主机终端100在规定条件下使用的资源量和网络打印机在相同的规定条件下使用的资源量所确定之换算率的资源换算表格22,进行换算。
由此,可在主机终端100和网络打印机之间较正确地换算资源量。
并且,在本实施方式中,根据共同功能模块120和单独功能模块130使用的资源种类,从资源换算表格22中取得对应的换算率,并根据取得的换算率来进行换算。
由此,由于可执行对应于共同功能模块120和单独功能模块130使用的资源种类之换算,所以可在主机终端100和网络打印机之间进一步正确地换算资源量。
还有,在本实施方式中,根据共同功能模块120和单独功能模块130使用的资源方式,从资源换算表格22中取得对应的换算率,并根据取得的换算率来进行换算。
由此,由于可执行对应于共同功能模块120和单独功能模块130使用的资源方式之换算,所以可在主机终端100和网络打印机之间进一步正确地换算资源量。
并且,在本实施方式中,资源换算表格22对多个测试模块的每个,根据该测试模块在主机终端100和网络打印机下使用的资源量来确定换算率,并登录对各测试模块确定的换算率中的最大值。
由此,因为在资源换算表格22中登录对各测试模块确定的换算率中的最大值,所以可多多地估计共同功能模块120和单独功能模块130使用的资源量。因此,可较可靠地保证单独功能模块130的动作。
另外,在本实施方式中,从日志文件中读出日志信息,根据所读出的日志信息,判定单独功能模块130使用的资源量是否达到上限,并当判定为资源量未达到上限时,向单独模块功能130的执行文件附加电子署名信息。
由此,因为仅向使用的资源量未达到上限的单独功能模块130附加电子署名信息,所以可较可靠地保证单独功能模块130的动作。
此外,在本实施方式中,从日志文件中读出日志信息,根据读出的日志信息,判定单独功能模块130是否不能安装于网络打印机中,并当判定为能安装时,向单独模块功能130的执行文件附加电子署名信息。
由此,因为仅向能安装于网络打印机的单独功能模块130附加电子署名信息,所以可进一步可靠地保证单独功能模块130的动作。
在上述第1实施方式中,资源测定部16和步骤S305、S405、S703对应于方式1、5、9或10的资源测定部件,资源换算部24和步骤S306、S406、S509、S704对应于方式1、5、9或10的资源换算部件。另外,上限值取得部18和步骤S211对应于方式1、5、9或10的资源限制信息取得部件,日志信息生成部26和步骤S321、S419、S521、S715对应于方式1、5、9或10的日志信息生成部件。
另外,在上述第1实施方式中,日志信息取得部28和步骤S900对应于方式1的日志信息取得部件,步骤S900对应于方式5、9或10的日志信息取得步骤,动作判定部30和步骤S902对应于方式1的动作判定部件。另外,步骤S900对应于方式5、9或10的动作判定步骤,模块认证部32和步骤S910对应于方式1的软件认证部件,步骤S910对应于方式5、9或10的软件认证步骤。
此外,在上述第1实施方式中,电子署名信息对应于方式1、5、9或10的认证信息,CPU50对应于方式10的运算部件。
下面,参照附图来说明本发明的第2实施方式。图22~图25是表示本发明的软件认证系统和软件认证程序及软件认证方法的第2实施方式的图。
在本实施方式中,本发明的软件认证系统和软件认证程序及软件认证方法如图22所示,适用于在主机终端100上的JAVA(注册商标)应用程序的执行环境中、仿真用于控制网络打印机动作的JAVA(注册商标)分类设置的情况,与上述第1实施方式的不同之处在于换算资源的上限值。另外,下面仅说明与上述第1实施方式不同的部分,对与上述第1实施方式重复的部分附加相同符号,省略说明。
首先,说明适用本发明的主机终端100的功能概要。
图22是表示主机终端100的功能概要的功能框图。
共同功能模块120如图22所示,除单独功能模块管理部14、资源测定部16、上限值取得部18、资源限制部20、资源换算表格22和日志信息生成部26外,构成为还具有换算资源量的资源换算部34。
资源换算部34根据资源换算表格22,将上限值取得部18取得的资源量换算为主机终端100中的资源上限值。
资源限制部20限制单独功能模块130使用的资源量、和单独功能模块管理部14在该单独功能模块130执行中使用的资源量,以使资源测定部16测定到的资源量不足资源换算部34换算出的上限值。
日志信息生成部26当判定为资源测定部16测定到的资源量是资源换算部34换算出的上限值以上时,生成表示单独功能模块130使用的资源量达到上限的日志信息。
下面,说明主机终端100的构成。
存储装置62代替图7的资源换算表格22,存储图23的资源换算表格22。
图23是表示资源换算表格22的数据结构的图。
在资源换算表格22中,如图23所示,按每个资源的种类或使用方式,登录一个记录。各记录构成为包含登录资源名称的字段502和登录换算率的字段504。
在图22的实例中,在第1个记录中,分别登录‘存储器’作为资源的名称,登录‘1’作为换算率。这表示通过用换算率‘1’除以单独功能模块130在网络打印机中的存储器量的上限值,从而执行向主机终端100中的存储器量上限值的换算。
另外,在第2个记录中,分别登录‘分类数’,作为资源的名称,登录‘1’,作为换算率。这表示通过用换算率‘1’除以单独功能模块130在网络打印机下可起动的分类数上限值,从而执行向在主机终端100中可起动的分类数的换算。
此外,在资源换算表格22中,对多个测试模块的每个,根据在主机终端100和网络打印机中该测试模块使用的资源量,确定换算率,并登录对各测试模块确定的换算率中的最大值。
存储装置62还存储着图24的资源管理表格460,以代替图8的资源管理表格460。
图24是表示资源管理表格460的数据结构的图。
在资源管理表格460中,如图24所示,对每个资源种类登录一个记录。各记录包含:登录资源名称的字段462、登录单独功能模块130在网络打印机中的资源上限值之字段464、登录将字段464的值换算为主机终端100中的资源上限值的值之字段470、和登录单独功能模块130在主机终端100中正在使用的资源量之字段466。
在图24的实例中,在第1个记录中,分别登录‘1000000’,作为上限值,登录‘666666’,作为换算值。这表示单独功能模块130在网络打印机中的存储器量上限值为1000000[byte],换算成在主机终端100中的存储器量上限值的值(下面称为换算存储器上限值。)为666666[byte]。换算存储器上限值可参照图23的资源换算表格22,算出为1000000/1.5=666666。
另外,在第2个记录中,分别登录‘100’,作为上限值,登录‘20’,作为换算值。这表示单独功能模块130在网络打印机中可起动的分类数之上限值为100个,换算成在主机终端100中可起动的分类数上限值之值(下面称为换算分类上限值。)为20个。换算分类上限值可参照图23的资源换算表格22,算出为20/1=20。
下面,说明主机终端100中执行的处理。
CPU50执行图25的流程图所示的可否执行判定处理,以代替图11的可否执行判定处理。
图25是表示可否执行判定处理的流程图。
可否执行判定处理若在步骤S118中执行,则如图25所示,首先经过步骤S200~S212后,移动到步骤S213。
在步骤S213中,从读入的资源换算表格22中取得对应于取得的上限值之换算率,并通过用取得的换算率除以取得的上限值,进行向主机终端100中的上限值的换算。
然后,移动到步骤S214,判定换算存储器上限值是否不足全部存储器余量,当判定为不足全部存储器余量时(是),移动到步骤S216,否则(否),移动到步骤S217。
而且,在上述第1实施方式中,虽然设置了步骤S306、S406、S509、S704的处理,但在本实施方式中,不需要这些处理。
另外,在上述第1实施方式中,通过步骤S313、S320、S418、S517、S520、S714的处理来处理换算存储器量和换算分类数,但在本实施方式中,处理主机终端100中的使用存储器量和起动分类数。
此外,在上述第1实施方式中,通过步骤S308、S408、S512、S706来处理网络打印机中的使用存储器量和起动分类数,但在本实施方式中,处理换算存储器上限值和换算存储器。
下面,说明本实施方式的动作。
首先,说明执行成为资源管理对象的单独功能模块130的情况。
主机终端100通过共同功能模块120的执行来执行单独功能模块控制处理。在单独功能模块控制处理中,经过步骤S102~S110,在应删除的单独功能模块130存在的情况下,删除该单独功能模块130。之后,经过步骤S114,若判定为当前起动中的模块数不足规定的上限值,则经过步骤S116、S118,读入该单独功能模块130,判定所读入的单独功能模块130可否执行。在可否执行判定处理中,经过步骤S213,将从资源限制信息400取得的上限值换算为主机终端100中的上限值。另外,就单独功能模块130而言,在具有一致的机型信息和可对应的电子署名信息,并且换算存储器上限值不足全部存储器余量的情况下,允许执行。
若允许单独功能模块130的执行,则经过步骤S124~S128,生成资源管理表格460,将当前起动中的模块数加‘1’,单独功能模块130起动。在模块起动处理中,经过步骤S510、S305、S307,将单独功能模块130的起动分类数和使用存储器量相加。此时,若起动分类数和使用存储器量的任一个为换算上限值(称为换算分类数或换算存储器上限值。下面一样。)以上,则经过步骤S521、S522或步骤S321、S322,生成表示单独功能模块130的起动分类数或使用存储器量达到上限的日志信息,同时,通知错误,中止分类的读入或实例的生成。
与此相对,在起动分类数和使用存储器量均不足换算上限值的情况下,经过步骤S514、S310、S318,读入单独功能模块130的分类,生成所读入的分类之实例,登录单独功能模块130的事件听众。在事件听众登录处理中,经过步骤S510、S405、S407,将单独功能模块130的起动分类数和使用存储器量相加。此时,若起动分类数和使用存储器量的任一个为换算上限值以上,则经过步骤S521、S522或步骤S419、S420,生成表示单独功能模块130的起动分类数或使用存储器量达到上限的日志信息,同时,通知错误,中止事件听众分类的读入或实例的生成。
与此相对,在起动分类数和使用存储器量均不足换算上限值的情况下,经过步骤S514、S410、S416,读入事件听众分类,生成事件听众分类之实例,将生成的实例之事件听众登录在事件听众执行列表中。
另一方面,主机终端100通过共同功能模块120的执行来执行事件听众控制处理。在事件听众控制处理中,经过步骤S703、S705,将成为应执行事件听众的生成源之单独功能模块130的使用存储器量相加。此时,若使用存储器量为换算上限值以上,则经过步骤S715、S716,生成表示单独功能模块130使用的存储器量达到上限的日志信息,同时,通知错误,中止事件听众的执行。
与此相对,在使用存储器量不足换算上限值的情况下,经过步骤S710,执行包含于事件听众中的指令。
这样,在本实施方式中,测定单独功能模块130在主机终端100中使用的资源量,并从单独功能模块130取得上限值,将取得的上限值换算成主机终端100中的资源上限值,根据测定出的资源量和换算到的上限值,生成表示单独功能模块130使用的资源量达到上限的日志信息。
由此,可在导入网络打印机之前,验证单独功能模块130在网络打印机中使用的资源量是否达到资源的上限值。因此,与以前相比,可容易地进行软件开发,同时,可开发稳定性高的软件。
在上述第2实施方式中,资源测定部16和步骤S305、S405、S703对应于方式2、6、11或12的资源测定部件,资源换算部34和步骤S213对应于方式2、6、11或12的资源换算部件。另外,上限值取得部18和步骤S211对应于方式2、6、11或12的资源上限值取得部件,日志信息生成部26和步骤S321、S419、S521、S715对应于方式2、6、11或12的日志信息生成部件。
另外,在上述第2实施方式中,日志信息取得部28和步骤S900对应于方式2的日志信息取得部件,步骤S900对应于方式6、11或12的日志信息取得步骤,动作判定部30和步骤S902对应于方式2的动作判定步骤。另外,步骤S900对应于方式6、11或12的动作判定步骤,模块认证部32和步骤S910对应于方式2的软件认证部件,步骤S910对应于方式6、11或12的软件认证步骤。
此外,在上述第2实施方式中,电子署名信息对应于方式2、6、11或12的认证信息,CPU50对应于方式12的运算部件。
下面,参照附图来说明本发明的第3实施方式。图26~图30是表示本发明的软件认证系统和软件认证程序及软件认证方法的第3实施方式的图。
如图26所示,本实施方式将本发明的软件认证系统和软件认证程序及软件认证方法适用于在主机终端100上的JAVA(注册商标)应用程序的执行环境中、仿真用于控制网络打印机动作的JAVA(注册商标)分类设置的情况,与上述第1和第2实施方式的不同之处在于根据文件操作相关的日志信息,认证单独功能模块130。另外,下面仅说明与上述第1和第2实施方式不同的部分,对与上述第1和第2实施方式重复的部分附加相同符号,省略说明。
首先,说明适用本发明的主机终端100的功能概要。
图26是表示主机终端100的功能概要的功能框图。
共同功能模块120如图26所示,构成为除单独功能模块管理部14和日志信息生成部26外,还具有监视单独功能模块130使用的资源使用状况的资源监视部36。
日志信息生成部26根据资源监视部36的监视结果,生成表示资源使用状况的日志信息。
下面,说明主机终端100的构成。
CPU50执行图27的流程图所示的事件听众执行处理,以代替图16的事件听众执行处理。另外,执行图28的流程图所示的模块认证处理,以代替图18的模块认证处理。
下面,说明事件听众执行处理。
图27是表示事件听众执行处理的流程图。
事件听众执行处理若在步骤S610中执行,则如图27所示,首先移动到步骤S1000。
在步骤S1000中,将程序指针移动到事件听众中包含的指令列表的开头,并移动到步骤S1002,判定程序指针指示的地址中是否存在应执行的指令,当判定为存在应执行的指令时(是),移动到步骤S1004。
在步骤S1004中,判定应执行的指令是否是执行文件操作的文件操作指令,当判定为是文件操作指令时(是),移动到步骤S1006。作为文件操作,例如文件的制作、文件的读入、文件的写入、文件的删除、文件名的确认、文件名的变更、文件属性的确认、文件属性的变更、目录(directory)的制作、目录的删除、目录名的确认、目录名的变更、目录属性的确认和目录属性的变更。作为文件或目录的属性,包含关于读入专用等访问权的设定的属性。
在步骤S1006中,生成包含成为文件操作对象的文件名和路径名的日志信息,并将生成的日志信息记录在存储装置62的日志文件中,移动到步骤S1008。
在步骤S1008中,执行程序指针指示的地址的指令,移动到步骤S1010,并将程序指针移动到事件听众中包含的指令列表的下一个,移动到步骤S1002。
另一方面,在步骤S1004中,当判定为不是文件操作指令时(否),移动到步骤S1008。
另一方面,在步骤S1002中,当判定为不存在应执行的指令时(否),结束一系列的处理,恢复到原来的处理。
下面,说明模块认证处理。
图28是表示模块认证处理的流程图。
模块认证处理若由CPU50执行,则如图28所示,首先移动到步骤S1100。
在步骤S1100中,从存储装置62的日志文件中读出日志信息,移动到步骤S1102,判定读出的日志信息是否是文件操作相关的日志信息,当判定为是文件操作相关的日志信息时(是),移动到步骤S1104。
在步骤S1104中,从读出的日志信息中取得文件名,移动到步骤S1106,判定取得的文件名是否为规定长度(网络打印机中可对应的长度)以下,当判定为文件名为规定长度以下时(是),移动到步骤S1108。
在步骤S1108中,判定取得的文件名中是否包含网络打印机中不能使用的字符种类(汉字等)字符,当判定为文件名中不包含不能使用的字符种类的字符时(否),移动到步骤S1110。
在步骤S1110中,从读出的日志信息中取得路径名,移动到步骤S1112,判定取得的路径名是否为规定长度以下,当判定为路径名为规定长度以下时(是),移动到步骤S1114。
在步骤S1114中,判定取得的路径名中是否包含不能使用的字符种类的字符,当判定为路径名中不包含不能使用的字符种类的字符时(否),移动到步骤S1116。
在步骤S1116中,判定存储装置62的日志文件中是否存在未处理的日志信息,当判定为不存在未处理的日志信息时(否),移动到步骤S1118,从存储装置62中读出单独功能模块130的执行文件,移动到步骤S1120。
在步骤S1120中,向读出的执行文件附加电子署名信息,移动到步骤S1122,将附加了电子署名信息的执行文件保存在存储装置62中,结束一系列的处理,恢复到原来的处理。
另一方面,在步骤S1116中,当判定为存在未处理的日志信息时(是),移动到步骤S1100。
另一方面,在步骤S1106中,当判定为文件名比规定长度还大时(否),在步骤S1108中,当判定为文件名中包含有不能使用的字符种类的字符时(是),在步骤S1112中,当判定为路径名比规定长度还大时(否),和在步骤S1114中,当判定为路径名中包含有不能使用的字符种类的字符时(是),都移动到步骤S1124,将表示单独功能模块130不能认证的消息显示于显示装置64中,结束一系列的处理,恢复到原来的处理。
另一方面,在步骤S1102中,当判定为读出的日志信息不是文件操作相关的日志信息时(否),移动到步骤S1116。
下面,说明本实施方式的动作。
在主机终端100中,若通过单独功能模块130的执行来执行文件操作指令,则经过步骤S1006,生成包含成为文件操作对象的文件名和路径名的日志信息。
图29和图30是表示进行文件操作时的日志文件的内容的图。
在进行文件操作的情况下,如图29和图30所示,在日志文件中记录:表示单独功能模块130起动及停止的日志信息、表示网络打印机中的文件名及路径名的长度上限值的日志信息、和包含成为文件操作对象的文件名及路径名的日志信息。在图29的例子中,第3~第5个记录存储着文件操作相关的日志信息,在图30的例子中,第3个记录存储着文件操作相关的日志信息。
在主机终端100中,若生成日志文件,则重复经过步骤S1100~S1116,从日志文件中依次读出日志信息,从读出的日志信息中取得文件名和路径名,判定取得的文件名和路径名是否为规定长度以下、和取得的文件名和路径名中是否包含不能使用的字符种类的字符。如图30所示的日志文件那样,就日志文件中包含的文件操作相关的全部日志信息而言,若判定为文件名和路径名为规定长度以下、且文件名和路径名中不包含不能使用的字符种类的字符,则经过步骤S1118~S1122,读出单独功能模块130的执行文件,向读出的执行文件附加电子署名信息后保存。
与此相对,如图29所示的日志文件那样,就日志文件中包含的文件操作相关的任一日志信息而言,若判定为文件名和路径名比规定长度大,则经过步骤S1124,显示表示不能认证的消息。在图29的例子中,第4和第5个记录与之对应。
这样,在本实施方式中,从日志文件中读出文件操作相关的日志信息,并根据读出的日志信息来判定文件名和路径名是否为规定长度以下,当判定为是规定长度以下时,向单独模块功能130的执行文件附加电子署名信息。
由此,因为仅向构成文件操作对象的文件名和路径名为网络打印机中可对应的长度以下之单独功能模块130附加电子署名信息,所以可进一步确实地保证单独功能模块130的动作。
进而,在本实施方式中,从日志文件中读出文件操作相关的日志信息,并根据读出的日志信息来判定文件名和路径名中是否包含不能使用的字符种类的字符,当判定为不包含不能使用的字符种类的字符时,向单独模块功能130的执行文件附加电子署名信息。
由此,因为仅向成为文件操作对象的文件名和路径名中不包含网络打印机不能使用的字符种类的字符之单独功能模块130附加电子署名信息,所以可进一步可靠地保证单独功能模块130的动作。
在上述第3实施方式中,资源监视部36和步骤S1004对应于方式3、7、13或14的资源监视部件,日志信息生成部26和步骤S1006对应于方式3、7、13或14的日志信息生成部件,日志信息取得部28和步骤S1100对应于方式3的日志信息取得部件。另外,步骤S1100对应于方式7、13或14的日志信息取得步骤,动作判定部30和步骤S1106、S1108、S1112、S1114对应于方式3的动作判定部件,步骤S1106、S1108、S1112、S1114对应于方式7、13或14的动作判定步骤。
另外,在上述第3实施方式中,模块认证部32和步骤S1120对应于方式3的软件认证部件,步骤S1120对应于方式7、13或14的软件认证步骤,电子署名信息对应于方式3、7、13或14的认证信息。另外,CPU50对应于方式14的运算部件。
下面,参照附图来说明本发明的第4实施方式。图31和图32是表示本发明的软件认证系统和软件认证程序及软件认证方法的第4实施方式的图。
本实施方式将本发明的软件认证系统和软件认证程序及软件认证方法适用于在主机终端100上的JAVA(注册商标)应用程序的执行环境中、仿真用于控制网络打印机动作的JAVA(注册商标)分类设置的情况,与上述第1~第3实施方式的不同之处在于根据单独功能模块130的执行文件来认证单独功能模块130。另外,下面仅说明与上述第1~第3实施方式不同的部分,向与上述第1~第3实施方式重复的部分附加相同符号,省略说明。
首先,说明主机终端100的构成。
CPU50执行图31的流程图所示的模块认证处理,以代替图18的模块认证处理。
图31是表示模块认证处理的流程图。
模块认证处理若由CPU50执行,则如图31所示,首先移动到步骤S1200。
在步骤S1200中,读出单独功能模块130的执行文件,移动到步骤S1201,从读出的单独功能模块130的执行文件中取得分类文件列表,移动到步骤S1202,根据取得的分类文件列表,执行进行分类验证的分类验证处理,移动到步骤S1204。
在步骤S1204中,判定是否从分类验证处理输出分类不存在通知,当判定为未输出分类不存在通知时(否),移动到步骤S1206。
在步骤S1206中,判定存储装置62的日志文件中是否存在未处理的日志信息,当判定为不存在未处理的日志信息时(否),移动到步骤S1208,从存储装置62中读出单独功能模块130的执行文件,移动到步骤S1210。
在步骤S1210中,向读出的执行文件上附加电子署名信息,移动到步骤S1212,将附加了电子署名信息的执行文件保存在存储装置62中,结束一系列的处理,恢复到原来的处理。
另一方面,在步骤S1206中,当判定为存在未处理的日志信息时(是),移动到步骤S1202。
另一方面,在步骤S1204中,当判定为输出分类不存在通知时(是),移动到步骤S1214,将表示单独功能模块130不能验证的消息显示于显示装置64中,结束一系列的处理,恢复到原来的处理。
下面,说明步骤S1202的分类验证处理。
图32是表示分类验证处理的流程图。
分类验证处理若在步骤S1202执行,则如图32所示,首先移动到步骤S1300。
在步骤S1300中,根据取得的分类文件列表,读入分类文件,移动到步骤S1302,根据读入的分类文件,生成分类定义列表,移动到步骤S1304。
在步骤S1304中,判定生成的分类定义列表中是否存在未验证的分类定义,当判定为存在未验证的分类定义时(是),移动到步骤S1306,判定分类的读入是否成功,当判定为分类的读入成功时(是),移动到步骤S1308。
在步骤S1308中,根据分类定义,判定分类解决路径上是否存在分类,当判定为分类解决路径上不存在分类时(否),移动到步骤S1310,输出分类不存在通知,结束一系列的处理,恢复到原来的处理。
另一方面,在步骤S1308中,当判定为分类解决路径上存在分类时(是),移动到步骤S1304。
另一方面,在步骤S1306中,当判定为分类的读入失败时(否),和在步骤S1304中,当判定为不存在未验证的分类定义时(否),结束一系列的处理,恢复到原来的处理。
下面,说明本实施方式的动作。
主机终端100重复经过步骤S1202~S1206,判定单独功能模块130使用的分类是否仅由网络打印机可执行的分类构成。其结果是,若判定为仅由网络打印机可执行的分类构成,则经过步骤S1208~S1212,读出单独功能模块130的执行文件,向读出的执行文件上附加电子署名信息并保存。
与此相对,若判定为单独功能模块130使用的任一分类是网络打印机不能执行的分类,则经过步骤S1214,显示表示不能认证的消息。
这样,在本实施方式中,取得单独功能模块130的执行文件,根据取得的执行文件,判定单独功能模块130使用的分类是否仅由网络打印机可执行的分类构成,当判定为仅由网络打印机可执行的分类构成时,向单独功能模块130的执行文件附加电子署名信息。
由此,由于仅向仅使用网络打印机可执行的分类之单独功能模块130附加电子署名信息,所以可进一步可靠地保证单独功能模块130的动作。例如,当具有恶意的开发者从主机终端100移动到网络打印机时,若改写分类的二进制,则网络打印机不正确动作。也可防止这种不正当行为。
在上述第4实施方式中,步骤S1200对应于方式4的执行文件取得部件,或方式8或15的执行文件取得步骤,步骤S1204对应于方式4的第2动作判定部件,或方式8或15的第2动作判定步骤。另外,步骤S1210对应于方式4的软件认证部件,或方式8或15的软件认证步骤。
另外,在上述第1和第2实施方式中,资源换算表格22登录对各测试模块确定的换算率中的最大值而构成,但不限于此,也可登录对各测试模块确定的换算率中的平均值而构成。
由此,因为在资源换算表格22中登录对各测试模块确定的换算率中的平均值,所以可在具有一定程度的可靠性来保证功能模块的动作的同时,抑制网络打印机中使用的资源量。
另外,在上述第1和第2实施方式中,构成为生成表示单独功能模块130使用的资源量达到上限的日志信息,但不限于此,也可在显示装置64中显示表示单独功能模块130使用的资源量达到上限的消息。
此外,在上述第1和第2实施方式中,示出在资源换算表格22中登录‘1’来作为换算率的例子,但不限于此,也可根据主机终端100与网络打印机的规格差异来登录1以外的值。
再者,在上述第1和第2实施方式中,构成为:作为资源量,限制使用存储器量和起动分类数,但不限于此,也可构成为:限制插件(socket)连接数、文件连接数、文件数、文件容量、分类尺寸、ZIP存储器容量、CPU利用量、插件通信量和文件读写量。
另外,分别单独构成上述第1~第4实施方式,但不限于此,也可使这些方式复合地组合而构成。即,可任意组合步骤S902、S904的判定处理、步骤S1106、S1108、S1112、S1114的判定处理、和步骤S1204的判定处理。最好仅在满足关于这些判定处理的全部认证条件的情况下,向单独功能模块130附加电子署名信息。
另外,在上述第1~第4实施方式中,说明了在执行图10~图18、图25、图27、图28、图31和图32的流程图所示的处理时,均执行事先存储在ROM52中的控制程序的情况,但不限于此,也可从存储了表示这些步骤的程序之存储介质中将该程序读入RAM54后执行。
在这里,所谓存储介质是RAM、ROM等半导体存储介质、FD、HD等磁存储型存储介质、CD、CDV、LD、DVD等光学读取方式存储介质、MO等磁存储型/光学读取方式存储介质,无论是电子、磁、光学等读取方法的哪一个,只要是可由计算机读取的存储介质,就包含所有存储介质。
另外,在上述第1~第4实施方式中,将本发明的软件认证系统和软件认证程序及软件认证方法适用于在主机终端100上的JAVA(注册商标)应用程序的执行环境下、仿真控制网络打印机动作用的JAVA(注册商标)分类设置的情况,但不限于此,在不脱离本发明的精神的范围下,也可适用于其它情况。可代替网络打印机,适用于例如投影仪、电子纸(paper)、本地网关(home gateway)、个人计算机、PDA(Personal Digital Assistant)、网络存储器、音频设备、移动电话、PHS(注册商标)(Personal HandyphoneSystem)、手表型PDA、STB(Set Top Box)、POS(Point Of Sale)终端、FAX机、电话(还包含IP电话等)等其他设备中。

Claims (10)

1、一种软件认证系统,其根据资源管理系统生成的日志信息,认证包含功能模块的软件,该资源管理系统具备:资源测定部件,其测定所述功能模块在第1执行环境下使用的资源量;资源换算部件,其将所述资源测定部件测定到的资源量换算为所述功能模块在第2执行环境下使用的资源量;资源限制信息取得部件,其取得表示资源的限制条件之资源限制信息;和日志信息生成部件,其根据所述资源换算部件换算出的资源量和所述资源限制信息取得部件取得的资源限制信息,生成表示所述功能模块使用的资源量达到上限的所述日志信息,其特征在于,该软件认证系统具备:
取得所述日志信息的日志信息取得部件;
动作判定部件,其根据所述日志信息取得部件取得的日志信息,判定所述功能模块使用的资源量是否达到上限;和
软件认证部件,其当所述动作判定部件判定为未达到上限时,向所述软件附加认证信息。
2、一种软件认证系统,其根据资源管理系统生成的日志信息,认证包含功能模块的软件,该资源管理系统具备:资源测定部件,其测定所述功能模块在第1执行环境下使用的资源量;资源上限值取得部件,其取得第2执行环境下的资源上限值;资源换算部件,其将所述资源上限值取得部件取得的资源上限值换算为所述第1执行环境下的资源上限值;和日志信息生成部件,其根据所述资源测定部件测定出的资源量和所述资源换算部件换算出的资源上限值,生成表示所述功能模块使用的资源量达到上限的所述日志信息,其特征在于,该软件认证系统具备:
取得所述日志信息的日志信息取得部件;
动作判定部件,其根据所述日志信息取得部件取得的日志信息,判定所述功能模块使用的资源量是否达到上限;和
软件认证部件,其当所述动作判定部件判定为未达到上限时,向所述软件附加认证信息。
3、一种软件认证系统,其根据由资源管理系统生成的日志信息,认证包含功能模块的软件,该资源管理系统具备:资源监视部件,其监视所述功能模块在与第1执行环境不同的第2执行环境下使用的资源使用状况;和日志信息生成部件,其根据所述资源监视部件的监视结果,生成表示所述资源使用状况的所述日志信息,其特征在于,该软件认证系统具备:
取得所述日志信息的日志信息取得部件;
动作判定部件,其根据所述日志信息取得部件取得的日志信息,判定所述资源使用状况是否适合于所述第1执行环境;和
软件认证部件,其当所述动作判定部件判定为适合时,向所述软件附加认证信息。
4、根据权利要求1~3中任一项所述的软件认证系统,其特征在于,
具备:
执行文件取得部件,其取得所述功能模块的执行所需的执行文件;和
第2动作判定部件,其根据所述执行文件取得部件取得的执行文件,判定构成所述功能模块的指令或指令群是否仅由可在所述第1执行环境下执行的指令或指令群构成,
当所述第2动作判定部件判定为仅由可在所述第1执行环境下执行的指令或指令群构成时,所述软件认证部件向所述软件附加所述认证信息。
5、一种软件认证程序,其根据资源管理系统生成的日志信息,认证包含功能模块的软件,该资源管理系统具备:资源测定部件,其测定所述功能模块在第1执行环境下使用的资源量;资源换算部件,其将所述资源测定部件测定到的资源量换算为所述功能模块在第2执行环境下使用的资源量;资源限制信息取得部件,其取得表示资源的限制条件之资源限制信息;和日志信息生成部件,其根据所述资源换算部件换算出的资源量和所述资源限制信息取得部件取得的资源限制信息,生成表示所述功能模块使用的资源量达到上限的所述日志信息,其特征在于,包含用于让计算机执行由如下步骤构成的处理之程序:
取得所述日志信息的日志信息取得步骤;
动作判定步骤,其根据所述日志信息取得步骤取得的日志信息,判定所述功能模块使用的资源量是否达到上限;和
软件认证步骤,其当所述动作判定步骤判定为未达到上限时,向所述软件附加认证信息。
6、一种软件认证程序,其根据资源管理系统生成的日志信息,认证包含功能模块的软件,该资源管理系统具备:资源测定部件,其测定所述功能模块在第1执行环境下使用的资源量;资源上限值取得部件,其取得第2执行环境下的资源上限值;资源换算部件,其将所述资源上限值取得部件取得的资源上限值换算为所述第1执行环境下的资源上限值;和日志信息生成部件,其根据所述资源测定部件测定出的资源量和所述资源换算部件换算出的资源上限值,生成表示所述功能模块使用的资源量达到上限的所述日志信息,其特征在于,包含用于让计算机执行由如下步骤构成的处理之程序:
取得所述日志信息的日志信息取得步骤;
动作判定步骤,其根据所述日志信息取得步骤取得的日志信息,判定所述功能模块使用的资源量是否达到上限;和
软件认证步骤,其当所述动作判定步骤判定为未达到上限时,向所述软件附加认证信息。
7、一种软件认证程序,其根据由资源管理系统生成的日志信息,认证包含功能模块的软件,该资源管理系统具备:资源监视部件,其监视所述功能模块在与第1执行环境不同的第2执行环境下使用的资源使用状况;和日志信息生成部件,其根据所述资源监视部件的监视结果,生成表示所述资源使用状况的所述日志信息,其特征在于,包含用于让计算机执行由如下步骤构成的处理之程序:
取得所述日志信息的日志信息取得步骤;
动作判定步骤,其根据所述日志信息取得步骤取得的日志信息,判定所述资源使用状况是否适合于所述第1执行环境;和
软件认证步骤,其当所述动作判定步骤判定为适合时,向所述软件附加认证信息。
8、一种软件认证方法,其根据资源管理系统生成的日志信息,认证包含功能模块的软件,该资源管理系统具备:资源测定部件,其测定所述功能模块在第1执行环境下使用的资源量;资源换算部件,其将所述资源测定部件测定到的资源量换算为所述功能模块在第2执行环境下使用的资源量;资源限制信息取得部件,其取得表示资源的限制条件之资源限制信息;和日志信息生成部件,其根据所述资源换算部件换算出的资源量和所述资源限制信息取得部件取得的资源限制信息,生成表示所述功能模块使用的资源量达到上限的所述日志信息,其特征在于,包含:
取得所述日志信息的日志信息取得步骤;
动作判定步骤,其根据所述日志信息取得步骤取得的日志信息,判定所述功能模块使用的资源量是否达到上限;和
软件认证步骤,其当所述动作判定步骤判定为未达到上限时,向所述软件附加认证信息。
9、一种软件认证方法,其根据资源管理系统生成的日志信息,认证包含功能模块的软件,该资源管理系统具备:资源测定部件,其测定所述功能模块在第1执行环境下使用的资源量;资源上限值取得部件,其取得第2执行环境下的资源上限值;资源换算部件,其将所述资源上限值取得部件取得的资源上限值换算为所述第1执行环境下的资源上限值;和日志信息生成部件,其根据所述资源测定部件测定出的资源量和所述资源换算部件换算出的资源上限值,生成表示所述功能模块使用的资源量达到上限的所述日志信息,其特征在于,包含:
取得所述日志信息的日志信息取得步骤;
动作判定步骤,其根据所述日志信息取得步骤取得的日志信息,判定所述功能模块使用的资源量是否达到上限;和
软件认证步骤,其当所述动作判定步骤判定为未达到上限时,向所述软件附加认证信息。
10、一种软件认证方法,其根据由资源管理系统生成的日志信息,认证包含功能模块的软件,该资源管理系统具备:资源监视部件,其监视所述功能模块在与第1执行环境不同的第2执行环境下使用的资源使用状况;和日志信息生成部件,其根据所述资源监视部件的监视结果,生成表示所述资源使用状况的所述日志信息,其特征在于,包含:
取得所述日志信息的日志信息取得步骤;
动作判定步骤,其根据所述日志信息取得步骤取得的日志信息,判定所述资源使用状况是否适合于所述第1执行环境;和
软件认证步骤,其当所述动作判定步骤判定为适合时,向所述软件附加认证信息。
CNB2005100229064A 2005-03-14 2005-12-09 软件认证系统和软件认证方法 Expired - Fee Related CN100370411C (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2005070505 2005-03-14
JP2005070505 2005-03-14
JP2005249530A JP4232767B2 (ja) 2005-03-14 2005-08-30 ソフトウェア認証システムおよびソフトウェア認証プログラム、並びにソフトウェア認証方法
JP2005249530 2005-08-30

Publications (2)

Publication Number Publication Date
CN1834889A true CN1834889A (zh) 2006-09-20
CN100370411C CN100370411C (zh) 2008-02-20

Family

ID=36581856

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005100229064A Expired - Fee Related CN100370411C (zh) 2005-03-14 2005-12-09 软件认证系统和软件认证方法

Country Status (6)

Country Link
US (1) US20060206929A1 (zh)
EP (1) EP1703370A3 (zh)
JP (1) JP4232767B2 (zh)
KR (1) KR100751159B1 (zh)
CN (1) CN100370411C (zh)
TW (1) TW200634568A (zh)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4207938B2 (ja) * 2005-02-01 2009-01-14 セイコーエプソン株式会社 ソフトウェア認証システム、ソフトウェア認証プログラム、およびソフトウェア認証方法
US8001383B2 (en) 2007-02-01 2011-08-16 Microsoft Corporation Secure serial number
US9003394B2 (en) 2007-07-10 2015-04-07 Ricoh Company, Ltd. Program determining apparatus and program determining method
JP2009037589A (ja) * 2007-07-10 2009-02-19 Ricoh Co Ltd プログラム判定装置、プログラム判定方法及びプログラム
JP4976329B2 (ja) * 2008-04-10 2012-07-18 株式会社リコー 追加プログラムを実行可能な装置、障害解析支援方法、及び障害解析支援プログラム
JP5247230B2 (ja) * 2008-05-14 2013-07-24 キヤノン株式会社 画像形成装置及びその制御方法、並びにプログラム
TWI459295B (zh) * 2008-08-22 2014-11-01 Hon Hai Prec Ind Co Ltd 動態調用功能模組的系統及方法
US10642794B2 (en) * 2008-09-11 2020-05-05 Vmware, Inc. Computer storage deduplication
JP5592942B2 (ja) 2009-05-19 2014-09-17 ヴイエムウェア インク 仮想マシンシステムにおけるショートカット入出力
US9672022B2 (en) * 2010-06-23 2017-06-06 Microsoft Technology Licensing, Llc Applications including multiple experience modules
US9760917B2 (en) 2011-06-29 2017-09-12 International Business Machines Corporation Migrating computing environment entitlement contracts between a seller and a buyer
US20130006793A1 (en) 2011-06-29 2013-01-03 International Business Machines Corporation Migrating Computing Environment Entitlement Contracts Based on Seller and Buyer Specified Criteria
US8775593B2 (en) 2011-06-29 2014-07-08 International Business Machines Corporation Managing organizational computing resources in accordance with computing environment entitlement contracts
US8812679B2 (en) 2011-06-29 2014-08-19 International Business Machines Corporation Managing computing environment entitlement contracts and associated resources using cohorting
KR101946874B1 (ko) * 2012-09-03 2019-02-13 엘지이노텍 주식회사 프로그램 인증 시스템.
US9319392B1 (en) 2013-09-27 2016-04-19 Amazon Technologies, Inc. Credential management
JP2019067219A (ja) * 2017-10-02 2019-04-25 株式会社東芝 画像形成装置及びコンピュータプログラム

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3435454B2 (ja) * 1995-02-28 2003-08-11 富士通株式会社 異なる環境空間での連続運転方法およびそのための装置
JPH09330243A (ja) * 1996-06-10 1997-12-22 Toshiba Corp 計算機システム
BR9713267A (pt) * 1996-10-25 2004-06-15 Schlumberger Systems & Service Cartão de circuito integrado para uso com um terminal, processo para uso com o mesmo, microcontrolador e processo para sua programação
NZ336605A (en) * 1997-01-09 2001-05-25 Media Metrix Inc Monitoring of remote file access on a public computer network such as the internet
US6148401A (en) * 1997-02-05 2000-11-14 At&T Corp. System and method for providing assurance to a host that a piece of software possesses a particular property
US5915085A (en) * 1997-02-28 1999-06-22 International Business Machines Corporation Multiple resource or security contexts in a multithreaded application
US6105137A (en) * 1998-07-02 2000-08-15 Intel Corporation Method and apparatus for integrity verification, authentication, and secure linkage of software modules
US6405327B1 (en) * 1998-08-19 2002-06-11 Unisys Corporation Apparatus for and method of automatic monitoring of computer performance
WO2000019320A1 (en) 1998-09-30 2000-04-06 Netscout Service Level Corporation Evaluating computer resources by end-user emulation
US6581206B2 (en) * 1999-11-12 2003-06-17 Sun Microsystems, Inc. Computer program language subset validation
US6708324B1 (en) 1999-06-24 2004-03-16 Cisco Technology, Inc. Extensible automated testing software
US6772106B1 (en) * 1999-08-20 2004-08-03 Hewlett-Packard Development Company, L.P. Retargetable computer design system
JP2001154878A (ja) 1999-11-30 2001-06-08 Nec Ic Microcomput Syst Ltd デバッグ用プログラム生成方法及び生成・実行方法
US7086060B2 (en) * 2001-02-15 2006-08-01 Sun Microsystems, Inc. Method for programmatic representation and enforcement of resource controls
US20020120660A1 (en) * 2001-02-28 2002-08-29 Hay Russell C. Method and apparatus for associating virtual server identifiers with processes
DE10118267A1 (de) * 2001-04-12 2002-10-24 Bosch Gmbh Robert Verfahren zur Authentifizierung eines Anwenders bei einem Zugang zu einem softwarebasierten System über ein Zugangsmedium
US7099663B2 (en) * 2001-05-31 2006-08-29 Qualcomm Inc. Safe application distribution and execution in a wireless environment
JP2003050641A (ja) * 2001-08-07 2003-02-21 Nec Corp プログラム管理システム、そのプログラム管理方法、及び情報管理プログラム
JP2004185595A (ja) 2002-07-26 2004-07-02 Ricoh Co Ltd 情報処理装置およびそのプログラム
JP2004094782A (ja) 2002-09-03 2004-03-25 Ricoh Co Ltd リソース管理システム、プログラムおよび記録媒体
US20040167859A1 (en) * 2003-02-14 2004-08-26 Richard Mirabella Software license management system configurable for post-use payment business models
KR101044182B1 (ko) * 2003-03-06 2011-06-28 마이크로소프트 코포레이션 시스템의 검증을 용이하게 하는 방법, 소프트웨어 애플리케이션의 검증을 용이하게 하는 장치 및 컴퓨터 판독 가능 기록 매체
US20040226015A1 (en) * 2003-05-09 2004-11-11 Leonard Ozgur C. Multi-level computing resource scheduling control for operating system partitions
US20040267868A1 (en) * 2003-06-26 2004-12-30 International Business Machines Corporation Method for monitoring print jobs in a data processing network
KR20040041138A (ko) * 2004-04-26 2004-05-14 쉬프트정보통신 주식회사 분산배포서버에 의한 클라이언트 모듈 배포 및 버전 자동매핑방법
JP4207938B2 (ja) * 2005-02-01 2009-01-14 セイコーエプソン株式会社 ソフトウェア認証システム、ソフトウェア認証プログラム、およびソフトウェア認証方法

Also Published As

Publication number Publication date
CN100370411C (zh) 2008-02-20
US20060206929A1 (en) 2006-09-14
KR100751159B1 (ko) 2007-08-22
EP1703370A3 (en) 2008-05-14
KR20060100915A (ko) 2006-09-21
JP2006293974A (ja) 2006-10-26
TW200634568A (en) 2006-10-01
EP1703370A2 (en) 2006-09-20
JP4232767B2 (ja) 2009-03-04

Similar Documents

Publication Publication Date Title
CN1834889A (zh) 软件认证系统和软件认证程序及软件认证方法
CN1278216C (zh) 设备关联管理系统、网络设备及设备关联管理方法
CN1301470C (zh) 服务提供系统和服务提供方法
CN1126053C (zh) 文件检索方法、文件检索发送方法及装置
CN1321923A (zh) 画面程序作成方法、记录媒体
CN1501285A (zh) 排版系统、排版程序和排版方法
CN1912825A (zh) 信息处理装置及其控制方法
CN1731399A (zh) 信息处理装置及其控制方法
CN1811691A (zh) 信息处理装置及其控制方法
CN1856036A (zh) 字幕产生设备和方法
CN1510593A (zh) 编排系统、编排程序和编排方法
CN1624696A (zh) 信息处理设备、方法及其程序、信息处理系统及其方法
CN1645336A (zh) 基于模板的异构日志信息自动提取与分析方法
CN1845505A (zh) 一种家庭网络设备的控制方法及设备管理装置
CN1828516A (zh) 布局控制装置和布局控制方法
CN1592230A (zh) 受控资源的授权管理
CN1744036A (zh) 报告软件中支持定制图形表示的系统和方法
CN1530855A (zh) 布局系统和布局程序以及布局方法
CN1530856A (zh) 布局系统和布局程序以及布局方法
CN1444356A (zh) 数据通信方法
CN1507202A (zh) 设备管理系统、设备管理终端、网络设备、终端程序、设备程序以及设备管理方法
CN1384454A (zh) 信息概括系统和信息概括方法
CN1309209C (zh) 信息提供及处理设备、方法和系统以及程序及其存储介质
CN1771480A (zh) 图像管理方法
CN1771485A (zh) 数据发送系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CI02 Correction of invention patent application

Correction item: Priority

Correct: 2005.08.30 JP 2005-249530

False: Lack of priority second

Number: 38

Page: The title page

Volume: 22

COR Change of bibliographic data

Free format text: CORRECT: PRIORITY; FROM: MISSING THE SECOND ARTICLE OF PRIORITY TO: 2005.8.30 JP 2005-249530

C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20080220

Termination date: 20161209