资源管理系统、资源换算表生成系统以及软件认证系统的制作方法

文档序号:6520571阅读:194来源:国知局
专利名称:资源管理系统、资源换算表生成系统以及软件认证系统的制作方法
技术领域
本发明涉及一种管理资源的系统以及程序与方法,特别是一种通过在导入执行环境之前对软件在该执行环境中所使用的资源的量进行验证,而让软件的开发变得容易,同时开发出稳定性较高的软件的理想的资源管理系统、资源换算表生成系统、软件认证系统、资源管理程序、资源换算表生成程序以及软件认证程序、资源管理方法、资源换算表生成方法、以及软件认证方法。
背景技术
打印机等嵌入式机器中,嵌入有称作嵌入用应用程序的软件,控制其动作。但是,为了生成嵌入用应用程序,一般需要专用开发环境与专用的硬件,因此并不是谁都能够简单地完成的。为解决该问题,有人提出了专利文献1中所记载的信息处理装置。
专利文献1中所记载的发明,具有让图像形成装置中执行的应用程序能够在PC上执行的模拟器。通过这样,即使不使用嵌入式机器也能够开发嵌入用应用程序。
另外,还存在不熟悉编程技术的人所开发的嵌入用应用程序不能够引起预期的动作,从而无法执行嵌入机器自身的动作这一问题。为解决该问题,有人提出了专利文献2中所记载的资源管理系统。
专利文献2中所记载的发明,具有对软件在信息机器中执行时所利用的资源,设定可动作范围的限制设定部,以及验证是否是在限制设定部所设定的可动作范围内进行动作的动作范围验证部。动作范围验证部,在软件有资源利用请求时,将所设定的可动作范围与所要求的资源量进行比较,在处于可动作范围外时,中止该软件的执行。
专利文献1特开2004-185595号公报专利文献2特开2004-94782号公报专利文献1中所记载的发明中,能够在PC中假想执行嵌入用应用程序,能够在某个程度上验证嵌入用应用程序的动作。
但是,在PC中执行嵌入用应用程序的情况,与实际在嵌入机器中执行该嵌入用应用程序的情况,该嵌入用应用程序在各个执行环境中所使用的资源(例如内存)的量不完全一致。这是由于执行嵌入用应用程序的环境不同所引起的。例如,为了执行嵌入用应用程序而使用库,该库由于硬件构成的不同,在PC用与嵌入机器用中各自的程序结构不同。因此,即使在使用相同函数的情况下,PC中与嵌入机器中,虽然功能相同,但连接程序结构不同的库,并生成对象。这些对象由于程序结构不同,当然所使用的资源的量也不完全一致。所以,即使是在PC中能够恰当动作的嵌入用应用程序,在实际嵌入到嵌入机器中时,由于所使用的资源的量过大,因此在嵌入机器中启动了多个嵌入用应用程序的情况下,与其他嵌入用应用程序竞合,动作有可能会变得不稳定。特别是在打印机等嵌入机器与PC不同,可使用的资源的量非常少,因此对各个嵌入用应用程序所使用的资源的量进行详细管理这一点,在实现稳定动作上非常重要。
另外,专利文献2中所记载的发明中,是在嵌入机器中执行嵌入用应用程序的情况下,自始至终防止动作不稳定的,在导入到嵌入机器之前,无法对嵌入用应用程序所使用的资源的量进行验证。
这样的问题并不仅限于在嵌入机器中执行嵌入用程序的情况,在任何一种能够在特定环境中执行的软件,在其他执行环境中进行开发的情况下,都能够一样设想。

发明内容
本发明着眼于该以前的技术所具有的尚未解决的问题,目的在于提供一种通过在导入执行环境之前对软件在该执行环境中所使用的资源的量进行验证,而让软件的开发变得容易,同时开发出稳定性较高的软件的理想的资源管理系统、资源换算表生成系统、软件认证系统、资源管理程序、资源换算表生成程序以及软件认证程序、资源管理方法、资源换算表生成方法、以及软件认证方法。
为实现上述目的,方式1的资源管理系统,
是一种对功能模块所使用的资源进行管理的资源管理系统,其特征在于,具有测定上述功能模块在第1执行环境中所使用的资源量的资源测定机构、将上述资源测定机构所测定的资源量换算成上述功能模块在第2执行环境中所使用的资源量的资源换算机构、取得表示资源的限制条件的资源限制信息的资源限制信息取得机构、以及根据上述资源换算机构所换算的资源量以及上述资源限制信息取得机构所取得的资源限制信息,进行关于资源限制的通知的资源限制通知机构。
通过采用这样的构成,由资源测定机构,测定功能模块在第1执行环境中所使用的资源量,由资源换算机构,将所测定的资源量换算成上述功能模块在第2执行环境中所使用的资源量。另外,由资源限制信息取得机构,取得资源限制信息。另外,由资源限制通知机构,根据所换算的资源量以及所取得的资源限制信息,进行关于资源限制的通知。
通过这样,功能模块在第2执行环境中所使用的资源量是否满足资源的限制条件,能够在导入到第2执行环境中之前进行验证。所以,具有与以前相比,能够容易地进行软件的开发,同时还能够开发出稳定性高的软件这一效果。
这里,资源是指功能模块所能够使用的资源,不仅仅是硬件,还包括软件资源等其他资源。以下,在方式2以及4的软件管理系统、方式13的资源换算表生成系统、方式16的软件认证系统、方式17、18以及20的资源管理程序、方式29的资源换算表生成程序、方式32的软件认证程序、方式33~36、38以及39的资源管理方法、方式48以及49的资源换算表生成方法、以及方式52、53的软件认证方法中也相同。
另外,资源量包括例如功能模块所使用的内存量、以及能够起动的功能模块的数目。另外,还包括例如利用功能模块的应用程序所确保的资源量(内存量、功能模块数)。以下,在方式2以及4的软件管理系统、方式13的资源换算表生成系统、方式16的软件认证系统、方式17、18以及20的资源管理程序、方式29的资源换算表生成程序、方式32的软件认证程序、方式33~36、38以及39的资源管理方法、方式48以及49的资源换算表生成方法、以及方式52、53的软件认证方法中也相同。
另外,资源的换算方法,例如考虑以下方法。第1方法(一定比率换算方法),对所测定的资源量增加或减少一定比率的资源量,求出换算后的资源量。第2方法(一定量换算方法),不管所测定的资源量大小,均给该资源量增加或减少一定量,求出换算后的资源量。第3方法(常数换算方法),不管所测定的资源量大小,均将该资源量替换成常数,求出换算后的资源量。第4方法(混合式换算方法),根据资源的种类或所测定的资源量,从第1~第3方法中选择,通过所选择的方法求出换算后的资源量。换算方法的选择,例如可以如下所示设定阈值A、B来进行。在资源量<A时,选择常数换算方法,在A<资源量<B时,选择一定量换算方法,在B<资源量时,选择一定比率换算方法。且A<B。以下,在方式2以及4的软件管理系统、方式13的资源换算表生成系统、方式16的软件认证系统、方式17、18以及20的资源管理程序、方式29的资源换算表生成程序、方式32的软件认证程序、方式33~36、38以及39的资源管理方法、方式48以及49的资源换算表生成方法、以及方式52、53的软件认证方法中也相同。
另外,资源的测定,包括例如捕捉应用程序确保资源的动作,并取得要新确保的资源量的动作。以下,在方式2以及4的软件管理系统、方式13的资源换算表生成系统、方式16的软件认证系统、方式17、18以及20的资源管理程序、方式29的资源换算表生成程序、方式32的软件认证程序、方式33~36、38以及39的资源管理方法、方式48以及49的资源换算表生成方法、以及方式52、53的软件认证方法中也相同。
另外,关于资源限制的通知,包括例如表示功能模块所使用的资源量达到限制条件或上限值的通知、表示功能模块所使用的资源量被限制的通知、或提醒、推荐应当对功能模块所使用的资源量进行限制的通知。另外,还包括显示出表示功能模块所使用的资源量达到上限的消息,以及生成表示功能模块所使用的资源量达到上限的日志信息。以下,在方式2以及4的软件管理系统、方式13的资源换算表生成系统、方式16的软件认证系统、方式17、18以及20的资源管理程序、方式29的资源换算表生成程序、方式32的软件认证程序、方式33~36、38以及39的资源管理方法、方式48以及49的资源换算表生成方法、以及方式52、53的软件认证方法中也相同。
另外,作为资源的限制条件,例如可以设定第2执行文件中的资源上限值。以下,在方式2以及4的软件管理系统、方式13的资源换算表生成系统、方式16的软件认证系统、方式17、18以及20的资源管理程序、方式29的资源换算表生成程序、方式32的软件认证程序、方式33~36、38以及39的资源管理方法、方式48以及49的资源换算表生成方法、以及方式52、53的软件认证方法中也相同。
另外,资源限制信息取得机构,只要能够取得资源限制信息,不管怎么构成都可以,例如可以从输入装置等输入资源限制信息、从外部装置等获得或接收资源限制信息、从存储装置以及存储媒体等读出资源限制信息、从功能模块的其他数据中抽出资源限制信息。所以,取得中至少包括输入、获得、接收、读出以及抽出。以下在方式2以及4的资源管理系统中相同。
另外,本系统既可以作为单一的装置、终端以及其他机器来实现,又可以作为将多个装置、终端以及其他机器可通信连接起来的网络系统来实现。后者的情况下,各个构成要素只要是可通信地连接在一起,不管属于多个机器中的哪一个都可以。以下,在方式2以及4的软件管理系统、方式13的资源换算表生成系统、以及方式16的软件认证系统中相同。
进而,方式2的资源管理系统,是一种对第1功能模块,以及执行中需要上述第1功能模块的多个第2功能模块所使用的资源进行管理的资源管理系统,其特征在于,具有测定上述第2功能模块在第1执行环境中所使用的资源量的资源测定机构、将上述资源测定机构所测定的资源量换算成上述第2功能模块在第2执行环境中所使用的资源量的资源换算机构、取得表示上述第2执行环境中的资源的限制条件的资源限制信息之资源限制信息取得机构、以及根据上述资源换算机构所换算的资源量以及上述资源限制信息取得机构所取得的资源限制信息,进行关于资源限制的通知的资源限制通知机构。
通过采用这样的构成,由资源测定机构,测定第2功能模块在第1执行环境中所使用的资源量,由资源换算机构,将所测定的资源量换算成第2功能模块在第2执行环境中所使用的资源量。另外,由资源限制信息取得机构,取得表示在第2执行环境中的资源限制条件的资源限制信息。另外,由资源限制通知机构,根据所换算的资源量以及所取得的资源限制信息,进行关于资源限制的通知。
通过这样,第2功能模块在第2执行环境中所使用的资源量是否满足资源的限制条件,能够在导入到第2执行环境中之前进行验证。所以,具有与以前相比,能够容易地进行软件的开发,同时还能够开发出稳定性高的软件这一效果。
进而,方式3的资源管理系统,其特征在于,在方式2的资源管理系统中上述资源测定机构,测定上述第2功能模块在上述第1执行环境中所使用的资源量,以及上述第1功能模块在上述第1执行环境中在该第2功能模块的执行中所使用的资源量。
如果采用这样的构成,便由资源测定机构,测定第2功能模块在第1执行环境中所使用的资源量,以及第1功能模块在第1执行环境中在该第2功能模块的执行中所使用的资源量。
通过这样,得到了能够以第2功能模块单位,对第1功能模块在第2执行环境中所使用的资源量是否满足资源限制条件进行验证这一效果。
进而,方式4的资源管理系统,是一种对第1功能模块,以及执行中需要上述第1功能模块的多个第2功能模块所使用的资源进行管理的资源管理系统,其特征在于,具有测定上述第1功能模块在上述第1执行环境下在上述第2功能模块的执行中所使用的资源量的资源测定机构、将上述资源测定机构所测定的资源量换算成上述第2功能模块在第2执行环境中所使用的资源量的资源换算机构、取得表示上述第2执行环境中的资源的限制条件的资源限制信息之资源限制信息取得机构、以及根据上述资源换算机构所换算的资源量与上述资源限制信息取得机构所取得的资源限制信息,进行关于资源限制的通知的资源限制通知机构。
通过采用这样的构成,由资源测定机构,测定第1功能模块在第1执行环境下在第2功能模块的执行中所使用的资源量,由资源换算机构,将所测定的资源量换算成第2功能模块在第2执行环境中所使用的资源量。另外,由资源限制信息取得机构,取得表示在第2执行环境中的资源限制条件的资源限制信息。另外,由资源限制通知机构,根据所换算的资源量以及所取得的资源限制信息,进行关于资源限制的通知。
通过这样,第1功能模块在第1执行环境下在第2功能模块的执行中所使用的资源量是否满足资源的限制条件,能够在导入到第2执行环境中之前进行验证。所以,具有与以前相比,能够容易地进行软件的开发,同时还能够开发出稳定性高的软件这一效果。
进而,方式5的资源管理系统,其特征在于,在方式2~4中的任一个资源管理系统中具有资源限制机构,其根据上述资源换算机构所换算的资源量,以及上述资源限制信息取得机构所取得的资源限制信息,禁止上述功能模块所进行的资源确保。
如果采用该构成,便由资源限制机构,根据所换算的资源量以及上所取得的资源限制信息,禁止功能模块所进行的资源确保。
通过这样,得到了能够对功能模块超出限制条件使用内存量进行限制的效果。
进而,方式6的资源管理系统,其特征在于,在方式1~5中的任一个资源管理系统中上述资源换算机构,根据登录有根据在上述第1执行环境中以给定条件所使用的资源量,在上述第2执行环境中以上述给定条件所使用的资源量所决定的换算率的资源换算表,来进行换算。
如果采用这样的构成,便由资源换算机构,根据资源换算表进行换算。
这里,给定条件,包括例如将在第1执行环境、第2执行环境中均能够执行的测试程序,在同一环境下(不是指资源,而是与其他程序同时执行等)执行。以下,在方式22的资源管理程序,以及方式41的资源管理方法中相同。
另外,根据资源量所决定的换算率,是指例如对执行了测试程序的结果所得到的两个执行环境间的资源消耗进行比较所计算出的比率。也即,决定中包括计算。以下,在方式22的资源管理程序,以及方式41的资源管理方法中相同。
进而,方式7的资源管理系统,其特征在于,在方式6的资源管理系统中
上述资源换算表,对每一个资源的种类登录有上述换算率;上述资源换算机构,对应于上述功能模块所使用的资源的种类,从上述资源换算表取得相对应的上述换算率,根据所取得的换算率进行换算。
如果采用这样的构成,便通过资源换算机构,对应于功能模块所使用的资源的种类,从资源换算表取得相对应的换算率,根据所取得的换算率进行换算。
通过这样,由于能够进行对应于功能模块所使用的资源种类的换算,因此得到了能够在第1执行环境以及第2执行环境之间更加准确换算资源量或上限值的效果。
这里,作为资源的种类,例如在能够通过内存、文件系统等硬件的占有比率所定义的资源的情况下,包括该硬件的种类,在线程或套接字等依赖于OS(Operating System)的软件性概念的情况下,包括该概念的种类。以下,在方式23的资源管理程序,以及方式42的资源管理方法中相同。
另外,资源换算表,不管采用什么样的结构,只要对每一个资源种类登录有换算率就可以,具体的说,可以根据资源种类选择换算方法,通过所选择的换算方法对每一个资源种类换算成换算率,登录所换算的换算率。换算方法例如上述,可以考虑一定比率换算方法、一定量换算方法、常数换算方法、混合式换算方法。以下,在方式23的资源管理程序,以及方式42的资源管理方法中相同。
进而,方式8的资源管理系统,其特征在于,在方式6或7的资源管理系统中上述资源换算表,对每一个资源的使用方式登录有上述换算率;上述资源换算机构,对应于上述功能模块所使用的资源的方式,从上述资源换算表取得相对应的上述换算率,根据所取得的换算率进行换算。
如果采用这样的构成,便由资源换算机构,对应于功能模块所使用的资源的方式,从资源换算表取得相对应的换算率,根据所取得的换算率进行换算。
通过这样,由于能够进行对应于功能模块所使用的资源方式的换算,因此得到了能够在第1执行环境以及第2执行环境之间更加准确换算资源量或上限值的效果。
这里,资源的使用方式,是指在同一种类的资源中使用目的不同。具体的说,如果以内存为例,存在由JAVA(注册商标)内部打印机所确保的内存以及由Zip库所确保的内存,像这样的使用方式不同的清空,由于各自的换算率不同,因此需要分别进行处理。以下,在方式24的资源管理程序,以及方式43的资源管理方法中相同。
进而,方式9的资源管理系统,其特征在于,在方式6~8中的任一个资源管理系统中上述资源换算表,对多个测试模块,分别根据在上述第1执行环境以及上述第2执行环境中该测试模块所使用的资源量,决定上述换算率,登录对上述各个测试模块所决定的上述换算率中的最大值。
通过这样,由于资源换算表中,登录有对各个测试模块所决定的换算率中的最大值,因此能够将功能模块所使用的资源量估算的较多。所以,得到了能够比较可靠地保证功能模块的动作的效果。
这里,测试模块是指,在第1执行环境以及第2执行环境双方中动作,通过其执行而消耗资源的部件。以下,在方式10的资源管理系统、方式25以及26的资源管理程序、以及方式44、45的资源管理方法中相同。
进而,方式10的资源管理系统,其特征在于,在方式6~8中的任一个资源管理系统中上述资源换算表,对多个测试模块,分别根据在上述第1执行环境以及上述第2执行环境中该测试模块所使用的资源量,决定上述换算率,登录对上述各个测试模块所决定的上述换算率的平均值。
通过这样,由于资源换算表中,登录有对各个测试模块所决定的换算率的平均值,因此得到了能够以一定程度的可靠性确保功能模块的动作,同时,能够抑制在第2执行环境中所使用的资源量这一效果。
进而,方式11的资源管理系统,其特征在于,在方式1~10中的任一个资源管理系统中上述需要限制通知机构,显示出表示上述功能模块所使用的资源量达到上限的消息。
如果采用这样的构成,便由资源限制通知机构,显示出表示功能模块所使用的资源量达到上限的消息。
通过这样,得到了能够通过参照消息,来把握功能模块所使用的资源量达到了上限这一事项的效果。
这里,资源限制通知机构,显示出消息,但作为其他方式,可以通过声音、画面的流动、图标的显示、电子邮件、电话、FAX等来进行通知。。以下,在方式27的资源管理程序、以及方式46的资源管理方法中相同。
进而,方式12的资源管理系统,其特征在于,在方式1~10中的任一个资源管理系统中上述需要限制通知机构,生成表示上述功能模块所使用的资源量达到上限的日志信息。
如果采用这样的构成,便由资源限制通知机构,生成表示功能模块所使用的资源量达到上限的日志信息。
通过这样,得到了能够通过参照日志信息,来把握功能模块所使用的资源量达到上限这一事项的效果。
另外,为实现上述目的,方式13的资源换算表生成系统,是一种生成对第1执行环境中所使用的资源量与第2执行环境中所使用的资源量进行换算的资源换算表的资源换算表生成系统,其特征在于,具有取得表示在上述第2执行环境中以给定条件所使用的资源量之使用资源量信息的使用资源量信息取得机构、测定在上述第1执行环境中以上述给定条件所使用的资源量的资源测定机构、根据上述使用资源信息取得机构所取得的使用资源信息以及上述资源测定机构所测定的资源量,计算出换算率的换算率计算机构、以及根据上述换算率计算机构所计算出的换算率生成资源换算表的资源换算表生成机构。
如果采用这样的构成,便由使用资源信息取得机构,取得表示在第2执行环境中在给定条件下所使用的资源量的使用资源信息。另外,由资源测定机构,测定在第1执行环境中在给定条件下所使用的资源量。之后,由换算率计算机构,根据所取得的使用资源信息以及所测定的资源量,计算出换算率,由资源换算表生成机构,根据所计算出的换算率,生成资源换算表。
通过这样,得到了能够容易地生成资源换算表的效果。
这里,使用资源信息取得机构,只要能够取得使用资源信息,不管怎么构成都可以,例如可以从输入装置等输入使用资源信息、从外部装置等获得或接收使用资源信息、从存储装置以及存储媒体等读出使用资源信息、从功能模块的其他数据中抽出使用资源信息。所以,取得中至少包括输入、获得、接收、读出以及抽出。
进而,方式14的资源换算表生成系统,其特征在于,在方式13的资源换算表生成系统中上述使用资源信息,是表示测试模块在上述第2执行环境中所使用的资源量的信息;上述资源测定机构,测定上述测试模块在上述第1执行环境中所使用的资源量。
如果采用这样的构成,便由使用资源信息取得机构,取得测试模块在第2执行环境中所使用的资源量的信息。另外,由资源测定机构,测定该测试模块在第1执行环境中所使用的资源量。
通过这样,只需要在第1执行环境以及第2执行环境中执行测试模块就可以了,因此,得到了能够更加容易地生成资源换算表的效果。
进而,方式15的资源换算表生成系统,其特征在于,在方式14的资源换算表生成系统中,具有取得表示上述第2执行环境中的上述测试模块的处理时间之处理时间信息的处理时间信息取得机构、测定上述第1执行环境中的上述测试模块的处理时间的处理时间测定机构、以及根据上述处理时间信息取得机构所取得的处理时间信息,以及上述处理时间测定机构所测定的处理时间,计算出上述第1执行环境中的待机时间的待机时间计算机构。
如果采用这样的构成,便由处理时间信息取得机构,取得在第2执行环境中的测试模块的处理时间的处理时间信息。另外,通过处理时间测定机构,测定第1执行环境中的测试模块的处理时间。这样,便由待机时间计算机构,根据所取得的处理时间信息以及所测定的处理时间,计算出第1执行环境下的待机时间。
通过这样,在第1执行环境下执行功能模块的情况下,如果将所得到的待机时间设置在执行中,便能够将第1执行环境以及第2执行环境中的功能模块的处理时间调整得相等。
这里,处理时间信息取得机构,只要能够取得处理时间,不管怎样构成都根据,例如,可以从输入装置等输入处理时间信息、从外部装置等获得或接收处理时间信息、从存储装置以及存储媒体等读出处理时间信息、从功能模块的其他数据中抽出处理时间信息。所以,取得中至少包括输入、获得、接收、读出以及抽出。
另外,为实现上述目的,方式16的软件认证程序,是一种根据由方式12所述的资源管理系统所生成的日志信息,来认证软件的软件认证系统,其特征在于,具有取得上述日志信息的日志信息取得机构、根据上述日志信息取得机构所取得的日志信息,判断上述功能模块所使用的资源量是否达到上限的动作验证机构、在上述动作验证机构判断没有达到上限时,给上述软件附加认证信息的软件认证机构。
如果采用这样的构成,便由日志信息取得机构取得日志信息,由动作验证机构,根据所取得的日志信息,判断功能模块所使用的资源量是否达到了上限。如果其结果判断没有达到上限,便由软件日志机构,给软件添加认证信息。
通过这样,由于只给没有达到功能模块所使用的内存量的上限的软件添加认证信息,因此得到了能够比较可靠地保证软件动作的效果。
这里,日志信息取得机构,只要能够取得日志信息,不管怎样构成都根据,例如,可以从输入装置等输入日志信息信息、从外部装置等获得或接收日志信息信息、从存储装置以及存储媒体等读出日志信息信息、从功能模块的其他数据中抽出日志信息信息。所以,取得中至少包括输入、获得、接收、读出以及抽出。
另外,认证信息是指,在第2执行环境中执行软件时,用来判断能否执行所使用的信息,从安全性的观点出发,最好是他人无法复制,能够判断能否执行的信息。另外,信息的形式可以任意采用。以下,在方式32的软件认证程序、以及方式52、53的软件认证方法中相同。
另外,为实现上述目的,方式17的资源管理程序,是一种对功能模块所使用的资源进行管理的资源管理程序,其特征在于,包括用于让计算机执行由以下步骤所构成的处理的程序测定上述功能模块在第1执行环境中所使用的资源量的资源测定步骤、将上述资源测定步骤所测定的资源量换算成上述功能模块在第2执行环境中所使用的资源量的资源换算步骤、取得表示资源的限制条件的资源限制信息的资源限制信息取得步骤、以及根据上述资源换算步骤所换算的资源量以及上述资源限制信息取得步骤所取得的资源限制信息,进行关于资源限制的通知的资源限制通知步骤。
如果采用该构成,便由计算机读取程序,计算机按照所读取的程序来执行处理,能够得到与方式1的资源管理系统相同的作用以及效果。
这里,资源限制信息取得步骤,只要能够取得资源限制信息,不管怎么构成都可以,例如可以从输入装置等输入资源限制信息、从外部装置等获得或接收资源限制信息、从存储装置以及存储媒体等读出资源限制信息、从功能模块的其他数据中抽出资源限制信息。所以,取得中至少包括输入、获得、接收、读出以及抽出。以下在方式2以及4的资源管理系统中相同。
另外,方式18资源管理程序,是一种对第1功能模块,以及执行中需要上述第1功能模块的多个第2功能模块所使用的资源进行管理的资源管理程序,其特征在于,包括用于让计算机执行由以下步骤所构成的处理的程序测定上述第2功能模块在第1执行环境中所使用的资源量的资源测定步骤、将上述资源测定步骤所测定的资源量换算成上述第2功能模块在第2执行环境中所使用的资源量的资源换算步骤、取得表示上述第2执行环境中的资源的限制条件的资源限制信息之资源限制信息取得步骤、以及根据上述资源换算步骤所换算的资源量以及上述资源限制信息取得步骤所取得的资源限制信息,进行关于资源限制的通知的资源限制通知步骤。
如果采用该构成,便由计算机读取程序,计算机按照所读取的程序来执行处理,能够得到与方式2的资源管理系统相同的作用以及效果。
进而,方式19的资源管理程序,其特征在于,在方式18的资源管理系统中上述资源测定步骤,测定上述第2功能模块在上述第1执行环境中所使用的资源量,以及上述第1功能模块在上述第1执行环境中在该第2功能模块的执行中所使用的资源量。
如果采用该构成,便由计算机读取程序,计算机按照所读取的程序来执行处理,能够得到与方式3的资源管理系统相同的作用以及效果。
另外,方式20资源管理程序,是一种对第1功能模块,以及执行中需要上述第1功能模块的多个第2功能模块所使用的资源进行管理的资源管理程序,其特征在于,包括用于让计算机执行由以下步骤所构成的处理的程序测定上述第1功能模块在上述第1执行环境下在上述第2功能模块的执行中所使用的资源量的资源测定步骤、将上述资源测定步骤所测定的资源量换算成上述第2功能模块在第2执行环境中所使用的资源量的资源换算步骤、取得表示上述第2执行环境中的资源的限制条件的资源限制信息之资源限制信息取得步骤、以及根据上述资源换算步骤所换算的资源量与上述资源限制信息取得步骤所取得的资源限制信息,进行关于资源限制的通知的资源限制通知步骤。
如果采用该构成,便由计算机读取程序,计算机按照所读取的程序来执行处理,能够得到与方式4的资源管理系统相同的作用以及效果。
进而,方式21的资源管理程序,其特征在于,在方式18~20中的任一个资源管理程序中,包括用于让计算机执行由以下步骤所构成的处理的程序根据上述资源换算步骤所换算的资源量,以及上述资源限制信息取得步骤所取得的资源限制信息,禁止上述功能模块所进行的资源确保的资源限制步骤。
如果采用该构成,便由计算机读取程序,计算机按照所读取的程序来执行处理,能够得到与方式5的资源管理系统相同的作用以及效果。
进而,方式22的资源管理程序,其特征在于,在方式17~21中的任一个资源管理程序中上述资源换算步骤,根据登录有根据在上述第1执行环境中以给定条件所使用的资源量,在上述第2执行环境中以上述给定条件所使用的资源量所决定的换算率的资源换算表,来进行换算。
如果采用该构成,便由计算机读取程序,计算机按照所读取的程序来执行处理,能够得到与方式6的资源管理系统相同的作用以及效果。
进而,方式23的资源管理程序,其特征在于,在方式22的资源管理程序中上述资源换算表,对每一个资源的种类登录有上述换算率;上述资源换算步骤,对应于上述功能模块所使用的资源的种类,从上述资源换算表取得相对应的上述换算率,根据所取得的换算率进行换算。
如果采用该构成,便由计算机读取程序,计算机按照所读取的程序来执行处理,能够得到与方式7的资源管理系统相同的作用以及效果。
进而,方式24的资源管理程序,其特征在于,在方式22或23的资源管理程序中上述资源换算表,对每一个资源的使用方式登录有上述换算率;上述资源换算步骤,对应于上述功能模块所使用的资源的方式,从上述资源换算表取得相对应的上述换算率,根据所取得的换算率进行换算。
如果采用该构成,便由计算机读取程序,计算机按照所读取的程序来执行处理,能够得到与方式8的资源管理系统相同的作用以及效果。
进而,方式25的资源管理程序,其特征在于,在方式22~24中的任一个资源管理程序中上述资源换算表,对多个测试模块,分别根据在上述第1执行环境以及上述第2执行环境中该测试模块所使用的资源量,决定上述换算率,登录对上述各个测试模块所决定的上述换算率中的最大值。
如果采用该构成,便由计算机读取程序,计算机按照所读取的程序来执行处理,能够得到与方式9的资源管理系统相同的作用以及效果。
进而,方式26的资源管理程序,其特征在于,在方式22~24中的任一个资源管理程序中上述资源换算表,对多个测试模块,分别根据在上述第1执行环境以及上述第2执行环境中该测试模块所使用的资源量,决定上述换算率,登录对上述各个测试模块所决定的上述换算率的平均值。
如果采用该构成,便由计算机读取程序,计算机按照所读取的程序来执行处理,能够得到与方式10的资源管理系统相同的作用以及效果。
进而,方式27的资源管理程序,其特征在于,在方式17~26中的任一个资源管理程序中上述需要限制通知步骤,显示出表示上述功能模块所使用的资源量达到上限的消息。
如果采用该构成,便由计算机读取程序,计算机按照所读取的程序来执行处理,能够得到与方式11的资源管理系统相同的作用以及效果。
进而,方式28的资源管理程序,其特征在于,在方式17~26中的任一个资源管理程序中上述需要限制通知步骤,生成表示上述功能模块所使用的资源量达到上限的日志信息。
如果采用该构成,便由计算机读取程序,计算机按照所读取的程序来执行处理,能够得到与方式12的资源管理系统相同的作用以及效果。
另外,为实现上述目的,方式29的资源换算表生成程序,是一种生成对第1执行环境中所使用的资源量与第2执行环境中所使用的资源量进行换算的资源换算表的资源换算表生成程序,其特征在于,包括用于让计算机执行由以下步骤所构成的处理的程序取得表示在上述第2执行环境中以给定条件所使用的资源量之使用资源量信息的使用资源信息取得步骤、测定在上述第1执行环境中以上述给定条件所使用的资源量的资源测定步骤、根据上述使用资源信息取得步骤所取得的使用资源信息以及上述资源测定步骤所测定的资源量,计算出换算率的换算率计算步骤、以及根据上述换算率计算步骤所计算出的换算率生成资源换算表的资源换算表生成步骤。
如果采用该构成,便由计算机读取程序,计算机按照所读取的程序来执行处理,能够得到与方式13的资源换算表生成系统相同的作用以及效果。
这里,使用资源信息取得步骤,只要能够取得使用资源信息,不管怎么构成都可以,例如可以从输入装置等输入使用资源信息、从外部装置等获得或接收使用资源信息、从存储装置以及存储媒体等读出使用资源信息、从功能模块的其他数据中抽出使用资源信息。所以,取得中至少包括输入、获得、接收、读出以及抽出。以下,在方式48以及49的资源换算表生成方法中相同。
进而,方式30的资源换算表生成程序,其特征在于,在方式29的资源换算表生成程序中上述使用资源信息,是表示测试模块在上述第2执行环境中所使用的资源量的信息;上述资源测定步骤,测定上述测试模块在上述第1执行环境中所使用的资源量。
如果采用该构成,便由计算机读取程序,计算机按照所读取的程序来执行处理,能够得到与方式14的资源换算表生成系统相同的作用以及效果。
进而,方式31的资源换算表生成程序,其特征在于,在方式30的资源换算表生成程序中,其特征在于,包括用于让计算机执行由以下步骤所构成的处理的程序取得表示上述第2执行环境中的上述测试模块的处理时间之处理时间信息的处理时间信息取得步骤、测定上述第1执行环境中的上述测试模块的处理时间的处理时间测定步骤、以及根据上述处理时间信息取得步骤所取得的处理时间信息,以及上述处理时间测定步骤所测定的处理时间,计算出上述第1执行环境中的待机时间的待机时间计算步骤。
如果采用该构成,便由计算机读取程序,计算机按照所读取的程序来执行处理,能够得到与方式15的资源换算表生成系统相同的作用以及效果。
这里,处理时间信息取得步骤,只要能够取得处理时间,不管怎样构成都根据,例如,可以从输入装置等输入处理时间信息、从外部装置等获得或接收处理时间信息、从存储装置以及存储媒体等读出处理时间信息、从功能模块的其他数据中抽出处理时间信息。所以,取得中至少包括输入、获得、接收、读出以及抽出。以下在方式51的资源换算表生成方法中相同。
另外,为实现上述目的,方式32的软件认证程序,是一种根据由方式12所述的资源管理系统所生成的日志信息,来认证软件的软件认证程序,其特征在于,包括用于让计算机执行由以下步骤所构成的处理的程序
取得上述日志信息的日志信息取得步骤、根据上述日志信息取得步骤所取得的日志信息,判断上述功能模块所使用的资源量是否达到上限的动作验证步骤、在上述动作验证步骤判断没有达到上限时,给上述软件附加认证信息的软件认证步骤。
如果采用该构成,便由计算机读取程序,计算机按照所读取的程序来执行处理,能够得到与方式16的软件认证系统相同的作用以及效果。
这里,日志信息取得步骤,只要能够取得日志信息,不管怎样构成都根据,例如,可以从输入装置等输入日志信息信息、从外部装置等获得或接收日志信息信息、从存储装置以及存储媒体等读出日志信息信息、从功能模块的其他数据中抽出日志信息信息。所以,取得中至少包括输入、获得、接收、读出以及抽出。以下在方式52以及53的资源换算表生成方法中相同。
另外,为实现上述目的,方式33的资源管理方法,是一种对功能模块所使用的资源进行管理的资源管理方法,其特征在于,具有测定上述功能模块在第1执行环境中所使用的资源量的资源测定步骤、将上述资源测定步骤所测定的资源量换算成上述功能模块在第2执行环境中所使用的资源量的资源换算步骤、取得表示资源的限制条件的资源限制信息的资源限制信息取得步骤、以及根据上述资源换算步骤所换算的资源量以及上述资源限制信息取得步骤所取得的资源限制信息,进行关于资源限制的通知的资源限制通知步骤。
通过这样,能够得到与方式1的资源管理系统相同的效果。
另外,方式34的资源管理方法,是一种对功能模块所使用的资源进行管理的资源管理方法,其特征在于,具有运算机构,测定上述功能模块在第1执行环境中所使用的资源量的资源测定步骤;上述换算步骤,将上述资源测定步骤所测定的资源量换算成上述功能模块在第2执行环境中所使用的资源量的资源换算步骤;上述运算机构,取得表示上述第2执行环境中的资源的限制条件的资源限制信息之资源限制信息取得步骤;以及上述运算机构,根据上述资源换算步骤所换算的资源量以及上述资源限制信息取得步骤所取得的资源限制信息,进行关于资源限制的通知的资源限制通知步骤。
通过这样,能够得到与方式1的资源管理系统相同的效果。
另外,方式35的资源管理方法,是一种对第1功能模块,以及执行中需要上述第1功能模块的多个第2功能模块所使用的资源进行管理的资源管理方法,其特征在于,具有测定上述第2功能模块在第1执行环境中所使用的资源量的资源测定步骤、将上述资源测定步骤所测定的资源量换算成上述第2功能模块在第2执行环境中所使用的资源量的资源换算步骤、取得表示上述第2执行环境中的资源的限制条件的资源限制信息之资源限制信息取得步骤、以及根据上述资源换算步骤所换算的资源量以及上述资源限制信息取得步骤所取得的资源限制信息,进行关于资源限制的通知的资源限制通知步骤。
通过这样,能够得到与方式2的资源管理系统相同的效果。
另外,方式36的资源管理方法,是一种对第1功能模块,以及执行中需要上述第1功能模块的多个第2功能模块所使用的资源进行管理的资源管理方法,其特征在于,具有运算机构,测定上述第2功能模块在第1执行环境中所使用的资源量的资源测定步骤;上述换算机构,将上述资源测定步骤所测定的资源量换算成上述第2功能模块在第2执行环境中所使用的资源量的资源换算步骤;上述运算机构,取得表示上述第2执行环境中的资源的限制条件的资源限制信息之资源限制信息取得步骤;以及上述运算机构,根据上述资源换算步骤所换算的资源量以及上述资源限制信息取得步骤所取得的资源限制信息,进行关于资源限制的通知的资源限制通知步骤。
通过这样,能够得到与方式2的资源管理系统相同的效果。
进而,方式37的资源管理方法,其特征在于,在方式35或36的资源管理方法中上述资源测定步骤,测定上述第2功能模块在上述第1执行环境中所使用的资源量,以及上述第1功能模块在上述第1执行环境中在该第2功能模块的执行中所使用的资源量。
通过这样,能够得到与方式3的资源管理系统相同的效果。
另外,方式38的资源管理方法,是一种对第1功能模块,以及执行中需要上述第1功能模块的多个第2功能模块所使用的资源进行管理的资源管理方法,其特征在于,具有测定上述第1功能模块在上述第1执行环境下在上述第2功能模块的执行中所使用的资源量的资源测定步骤、将上述资源测定步骤所测定的资源量换算成上述第2功能模块在第2执行环境中所使用的资源量的资源换算步骤、取得表示上述第2执行环境中的资源的限制条件的资源限制信息之资源限制信息取得步骤、以及根据上述资源换算步骤所换算的资源量与上述资源限制信息取得步骤所取得的资源限制信息,进行关于资源限制的通知的资源限制通知步骤。
通过这样,能够得到与方式4的资源管理系统相同的效果。
另外,方式39的资源管理方法,是一种对第1功能模块,以及执行中需要上述第1功能模块的多个第2功能模块所使用的资源进行管理的资源管理方法,其特征在于,具有运算机构,测定上述第1功能模块在上述第1执行环境下在上述第2功能模块的执行中所使用的资源量的资源测定步骤;上述运算机构,将上述资源测定步骤所测定的资源量换算成上述第2功能模块在第2执行环境中所使用的资源量的资源换算步骤;上述运算机构,取得表示上述第2执行环境中的资源的限制条件的资源限制信息之资源限制信息取得步骤;以及上述运算机构,根据上述资源换算步骤所换算的资源量与上述资源限制信息取得步骤所取得的资源限制信息,进行关于资源限制的通知的资源限制通知步骤。
通过这样,能够得到与方式4的资源管理系统相同的效果。
进而,方式40的资源管理方法,其特征在于,在方式35~39中的任一个资源管理方法中,包括根据上述资源换算步骤所换算的资源量,以及上述资源限制信息取得步骤所取得的资源限制信息,禁止上述功能模块所进行的资源确保的资源限制步骤。
通过这样,能够得到与方式5的资源管理系统相同的效果。
进而,方式41的资源管理方法,其特征在于,在方式33~40中的任一个资源管理方法中上述资源换算步骤,根据登录有根据在上述第1执行环境中以给定条件所使用的资源量,在上述第2执行环境中以上述给定条件所使用的资源量所决定的换算率的资源换算表,来进行换算。
通过这样,能够得到与方式6的资源管理系统相同的效果。
进而,方式42的资源管理方法,其特征在于,在方式41的资源管理方法中上述资源换算表,对每一个资源的种类登录有上述换算率;上述资源换算步骤,对应于上述功能模块所使用的资源的种类,从上述资源换算表取得相对应的上述换算率,根据所取得的换算率进行换算。
通过这样,能够得到与方式7的资源管理系统相同的效果。
进而,方式43的资源管理方法,其特征在于,在方式41或41的资源管理方法中上述资源换算表,对每一个资源的使用方式登录有上述换算率;上述资源换算步骤,对应于上述功能模块所使用的资源的方式,从上述资源换算表取得相对应的上述换算率,根据所取得的换算率进行换算。
通过这样,能够得到与方式8的资源管理系统相同的效果。
进而,方式44的资源管理方法,其特征在于,在方式41~43中的任一个资源管理方法中上述资源换算表,对多个测试模块,分别根据在上述第1执行环境以及上述第2执行环境中该测试模块所使用的资源量,决定上述换算率,登录对上述各个测试模块所决定的上述换算率中的最大值。
通过这样,能够得到与方式9的资源管理系统相同的效果。
进而,方式45的资源管理方法,其特征在于,在方式41~43中的任一个资源管理方法中上述资源换算表,对多个测试模块,分别根据在上述第1执行环境以及上述第2执行环境中该测试模块所使用的资源量,决定上述换算率,登录对上述各个测试模块所决定的上述换算率的平均值。
通过这样,能够得到与方式10的资源管理系统相同的效果。
进而,方式46的资源管理方法,其特征在于,在方式33~45中的任一个资源管理方法中上述需要限制通知步骤,显示出表示上述功能模块所使用的资源量达到上限的消息。
通过这样,能够得到与方式11的资源管理系统相同的效果。
进而,方式47的资源管理方法,其特征在于,在方式33~45中的任一个资源管理方法中上述需要限制通知步骤,生成表示上述功能模块所使用的资源量达到上限的日志信息。
通过这样,能够得到与方式12的资源管理系统相同的效果。
另外,为实现上述目的,方式48的资源换算表生成方法,是一种生成对第1执行环境中所使用的资源量与第2执行环境中所使用的资源量进行换算的资源换算表的资源换算表生成方法,其特征在于,具有取得表示在上述第2执行环境中以给定条件所使用的资源量之使用资源量信息的使用资源信息取得步骤、测定在上述第1执行环境中以上述给定条件所使用的资源量的资源测定步骤、根据上述使用资源信息取得步骤所取得的使用资源信息以及上述资源测定步骤所测定的资源量,计算出换算率的换算率计算步骤、以及根据上述换算率计算步骤所计算出的换算率生成资源换算表的资源换算表生成步骤。
通过这样,能够得到与方式13的资源换算表生成系统相同的效果。
另外,方式49的资源换算表生成方法,是一种生成对第1执行环境中所使用的资源量与第2执行环境中所使用的资源量进行换算的资源换算表的资源换算表生成方法,其特征在于,具有运算机构,取得表示在上述第2执行环境中以给定条件所使用的资源量之使用资源量信息的使用资源信息取得步骤;
上述运算机构,测定在上述第1执行环境中以上述给定条件所使用的资源量的资源测定步骤;上述运算机构,根据上述使用资源信息取得步骤所取得的使用资源信息以及上述资源测定步骤所测定的资源量,计算出换算率的换算率计算步骤;以及上述运算机构,根据上述换算率计算步骤所计算出的换算率生成资源换算表的资源换算表生成步骤。
通过这样,能够得到与方式13的资源换算表生成系统相同的效果。
进而,方式50的资源换算表生成方法,其特征在于,在方式48或49的资源换算表生成方法中上述使用资源信息,是表示测试模块在上述第2执行环境中所使用的资源量的信息;上述资源测定步骤,测定上述测试模块在上述第1执行环境中所使用的资源量。
通过这样,能够得到与方式14的资源换算表生成系统相同的效果。
进而,方式51的资源换算表生成方法,其特征在于,在方式50的资源换算表生成方法中,具有取得表示上述第2执行环境中的上述测试模块的处理时间之处理时间信息的处理时间信息取得步骤、测定上述第1执行环境中的上述测试模块的处理时间的处理时间测定步骤、以及根据上述处理时间信息取得步骤所取得的处理时间信息,以及上述处理时间测定步骤所测定的处理时间,计算出上述第1执行环境中的待机时间的待机时间计算步骤。
通过这样,能够得到与方式15的资源换算表生成系统相同的效果。
另外,为实现上述目的,方式52的软件认证方法,是一种根据由方式12所述的资源管理系统所生成的日志信息,来认证软件的软件认证方法,其特征在于,具有取得上述日志信息的日志信息取得步骤、根据上述日志信息取得步骤所取得的日志信息,判断上述功能模块所使用的资源量是否达到上限的动作验证步骤、在上述动作验证步骤判断没有达到上限时,给上述软件附加认证信息的软件认证步骤。
通过这样,能够得到与方式16的软件认证系统相同的效果。
另外,方式53的软件认证方法,是一种根据由方式12所述的资源管理系统所生成的日志信息,来认证软件的软件认证方法,其特征在于,包括计算机构取得所述日志信息的日志信息取得步骤、所述计算机构根据所述日志信息取得步骤所取得的日志信息来判断所述功能模块所使用的资源量是否达到上限的动作验证步骤、所述计算机构在所述动作验证步骤判断没有达到上限时给所述软件附加认证信息的软件认证步骤。
通过这样,能够得到与方式16的软件认证系统相同的效果。


图1为说明JAVA(注册商标)软件的构成的图。
图2为说明主机终端100的功能概要的功能方框图。
图3为说明主机终端100的硬件结构的方框图。
图4为说明资源限制信息400的数据结构的图。
图5为说明模块信息420的数据结构的图。
图6为说明执行环境信息登录表440的数据结构的图。
图7为说明资源换算表22的数据结构的图。
图8为说明资源管理表460的数据结构的图。
图9为说明事件监听器表480的数据结构的图。
图10为说明个别功能模块控制处理的流程图。
图11为说明执行可否判断处理的流程图。
图12为说明模块起动处理的流程图。
图13为说明事件监听器登录处理的流程图。
图14为说明类读取处理的流程图。
图15为说明事件监听器控制处理的流程图。
图16为说明事件监听器执行处理的流程图。
图17为说明实例删除处理的流程图。
图18为说明出错了的情况下的日志文件的内容的图。
图19为说明未出错的情况下的日志文件的内容的图。
图20为说明将作为资源管理对象的个别功能模块b、c并列执行的情况的时间图。
图21为说明主机终端100的功能概要的功能方框图。
图22为说明资源换算表22的数据结构的图。
图23为说明资源管理表460的数据结构的图。
图24为说明执行可否判断处理的流程图。
图25为说明执行结果登录表520的数据结构的图。
图26为说明使用资源量测定处理的流程图。
图27为说明资源换算表生成处理的流程图。
图28为说明在网络打印机3中执行了3个测试模块T1~T3的情况下的执行结果的表。
图29为说明将待机时间设为“0”,在主机终端100中执行了3个测试模块T1~T3的情况下的执行结果的表。
图30为说明将待机时间设为“10”,在主机终端100中执行了3个测试模块T1~T3的情况下的执行结果的表。
图31为说明模块认证处理的流程图。
图中100...主机终端,110...OS,120...共通功能模块,130...个别功能模块,10、16...资源测定部,12、20...资源限制部,14...个别功能模块管理部,18...上限值取得部,22...资源换算表,24、28...资源换算部,26...日志信息生成部,30...CPU,32...ROM,34...RAM,38...I/F,40...输入装置,42...存储装置,44...显示装置,400...资源限制信息,420...模块信息,440...执行环境信息登录表,460...资源管理表,480...事件监听器表,520...执行结果登录表,199...网络。
具体实施例方式
下面对照附图对本发明的第1实施方式进行说明。图1至图20为说明本发明的相关资源管理系统以及资源管理程序、资源管理方法的第1实施方式的图。
本发明的实施方式,将本发明的相关资源管理系统以及资源管理程序、资源管理方法,应用于如图2所示,在主机终端100上的JAVA(注册商标)应用程序的执行环境中,模拟用来控制网络打印机的动作的JAVA(注册商标)类集合中的情况。
首先对使用本发明的主机终端100的功能概要进行说明。
图1为说明JAVA(注册商标)软件的结构的图。JAVA(注册商标)应用程序的执行环境中,在OS上执行对JAVA(注册商标)的执行进行控制的JAVA(注册商标)类,以及由JVM(JAVA(注册商标)Virtual Machine)所构成的共通功能模块,作为JAVA(注册商标)类集合的个别功能模块在共通功能模块上执行。这里,JAVA(注册商标)软件由共通功能模块以及个别功能模块构成。
共通功能模块如图1所示,能够执行多个个别功能模块。图1的例子中,显示了在共通功能模块a上执行两个个别功能模块b、c的情况。这里,在设个别功能模块b所使用的资源量为x1,共通功能模块a在个别功能模块b的执行中使用的资源量为x2,个别功能模块b所使用的资源的上限值为Xmax的情况下,本实施方式中,限制资源量为x1+x2≤Xmax。
图2为说明主机终端100的功能概要的功能方框图。
主机终端100如图2所示,具有OS110、共通功能模块120、以及多个个别功能模块130。
OS110,具有测定JAVA(注册商标)软件所使用的资源量的资源测定部10,以及限制JAVA(注册商标)软件全体所使用的资源量的资源限制部12。
资源限制部12限制JAVA(注册商标)软件所使用的资源,使得资源测定部10所测定的资源量,不满分配给JAVA(注册商标)软件的给定上限值。
共通功能模块120,具有管理个别功能模块130的执行的个别功能模块管理部14、测定个别功能模块管理部14与个别功能模块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所使用的资源量达到了上限的日志信息。
接下来,对主机终端100的构成进行详细说明。
图3为说明主机终端100的硬件结构的方框图。
主机终端100如图3所示,由根据控制程序对运算以及系统全体进行控制的CPU30、在给定区域中预先存储CPU30的控制程序等的ROM32、用来保存从ROM32等中读出的数据以及CPU30的运算过程中必需的运算结果的RAM34、以及进行对外部装置的数据输入输出的I/F38构成,它们之间经作为用来传输数据的信号线的总线39相连接,且能够互相授受数据。
I/F38中,作为外部装置,连接有由可进行数据输入的键盘、鼠标等构成的输入装置40作为人类接口、将数据、表格等作为文件存储起来的存储装置42、根据图像信号显示画面的显示装置44、以及用来连接网络199的信号线。
接下来,对存储装置42的数据结构进行详细说明。
存储装置42存储有共通功能模块120以及多个个别功能模块130。
个别功能模块130,具有存储有在网络打印机中的资源上限值的资源限制信息。
图4为说明资源限制信息400的数据机构的图。
资源控制信息400,如图4所示,具有存储有个别功能模块130以及共通功能模块120在该个别功能模块130的执行中所能够使用的内存(RAM34)的上限值的区域402、以及存储有个别功能模块130以及共通功能模块120在该个别功能模块130的执行中所能够起动的类数目的区域404。
个别功能模块130,包含有关于个别功能模块130的相关模块信息。
图5为说明模块信息420的数据结构的图。
模块信息420如图5所示,包括存储是否将个别功能模块130所使用的资源量作为限制对象(以下称作资源管理对象)的区域422、存储可执行个别功能模块130的网络打印机的区域424、以及存储电子签名信息的区域426。
图5的例子中,区域422中存储有“有效”。这表示将个别功能模块130作为资源管理对象进行管理。另外,区域424中存储有“TypeA”,区域426中存储有“X公司”。这表示能够执行个别功能模块130的机种为“TypeA”,且接收到了X公司的电子签名。
存储装置42,存储有登录有表示共通功能模块120的执行环境的执行环境信息登录表。
图6为说明执行环境登录表440的数据结构的图。
执行环境登录表440如图6所示,包括登录个别功能模块130的可起动个数的上限值的区域442、登录应当执行的个别功能模块130的名称的区域444、登录应当删除的个别功能模块130的名称的区域446、登录所模拟的网络打印机的机种的区域448、以及登录可对应的电子签名信息的区域450。
图6的例子中,区域442中登录有“5”,区域444中登录有“个别功能模块b、d”,区域446中登录有“个别功能模块c”。这表示最多能够起动5个个别功能模块130,在共通功能模块120起动时,应当执行个别功能模块b、d,删除个别功能模块c。另外,区域448中登录有“TypeA”,区域450中登录有“X公司”。这表示所模拟的网络打印机的机种为“TypeA”,且能够执行包含有X公司的电子签名信息的个别功能模块130。
存储装置42,还存储有资源换算表22。
图7为说明资源换算表22的数据结构的图。
资源换算表22中如图7所示,对每一个资源的种类或使用方式登录有1条记录。各个记录包括登录资源的名称的区域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与网络打印机中所使用的资源量,决定换算率,登录对各个测试模块所决定的换算率中的最大值。关于资源换算表22的生成,将在后面的实施方式中进行详细说明。
存储装置42中,还存储有对作为资源管理对象的各个个别功能模块130的每一个,管理该个别功能模块130所使用的资源量的资源管理表。资源管理表,在个别功能模块130为资源管理对象的情况下,伴随着其起动而生成。
图8为说明资源管理表460的数据结构的图。
资源管理表460中,如图8所示,对每一个资源的种类登录有1条记录。各个记录中,包括登录资源的名称的区域462、登录个别功能模块130在网络打印机中的资源上限值的区域464、登录个别功能模块130在主机终端100中目前所使用的资源量的区域466、以及登录将区域466的值换算为网络打印机中所使用的资源量的值的区域468。
图8的例子中,第1条记录中,资源名称登录有“内存”,上限值登录有“1000000”,目前值登录有在使用方式A~C中分别为“200000”、“100000”以及“150000”,换算值登录有“650000”。这表示个别功能模块130在网络打印机中的内存量的上限值为1000000[字节],目前内存在使用方式A中使用了200000[字节],在使用方式B中使用了100000[字节],在使用方式C中使用了150000[字节]。另外,表示换算为在网络打印机中所使用的内存量的值(以下称作换算内存量)为650000[字节]。换算内存量,可以参照图7的资源换算表22,作为200000×1+100000×1.5+150000×2=650000。
另外,第2条记录中,资源名称登录有“类数目”,上限值登录有“100”,目前值登录有“20”,换算值登录有“20”。这表示个别功能模块130在网络打印机中所能够起动的类数目的上限值为100个,现在起动了20个类。另外,还表示换算为网络打印机中所起动的类数目的值(以下称作换算类数目)为20个。换算类数目,可以参照图7的资源换算表22,作为20×1=20计算出来。
存储装置42,还存储有登录对各个功能模块130所接收的事件进行处理的事件监听器的事件监听器表480。
图9为说明事件监听器表480的数据结构的图。
事件监听器表480中,如图9所示,对每一个个别功能模块130所登录的事件监听器表登录有记录。各个记录包括登录事件监听器的名称的表482。
回到图3,CPU30由微处理单元等构成,起动存储在ROM32的给定区域中的给定程序,按照该程序,将图10、图14、图15以及图17的流程图所示的个别功能模块控制处理、类读取处理、事件监听器控制处理以及事件监听器删除处理,作为共通功能模块120的处理,分别分时执行。
首先对照图10对个别功能模块控制处理进行详细说明。
图10为说明个别功能模块控制处理的流程图。
个别功能模块控制处理,为控制个别功能模块130的删除以及执行的处理,如果在CPU30中执行,便如图10所示,首先进入步骤S100。
步骤100中,从执行环境信息登录表440取得应当执行的个别功能模块130的名称以及应当删除的个别功能模块130的名称,进入步骤S102,判断应当删除的个别功能模块130是否存在,在判断应当删除的个别功能模块130存在时(是),进入步骤S104。
步骤S104中,根据所取得的名称,从存储装置42中删除相应的个别功能模块130,进入步骤S106,根据该个别功能模块130中所含有的模块信息420,判断该个别功能模块130是否为资源管理对象,在判断该个别功能模块130为资源管理对象时(是),进入步骤S108。
步骤S108中,从存储装置42中删除与该个别功能模块130相对应的资源管理表460,进入步骤S110,将表示目前起动中的模块数目的变量的值减“1”,进入步骤S102。
另外,在步骤S106中判断该个别功能模块130不是资源管理对象时(否),进入步骤S102。
另外,在步骤S102中判断应当删除的个别功能模块130不存在时(否),进入步骤S112,判断应当执行的个别功能模块130是否存在,在判断应当执行的个别功能模块130存在时(是),进入步骤S114。
步骤S114中,判断表示目前起动中的模块数的变量的值是否达到了给定的上限值,在判断不满给定的上限值时(是),进入步骤S116。
步骤S116中,根据所取得的名称,从存储装置42读取该个别功能模块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中,在判断返回了表示不允许执行的返回值时(否),进入步骤S112。
另外,步骤S114中,在判断表示目前起动中的模块数的变量的值为给定上限值以上时(否),进入步骤S136,生成表示模块数达到上限值的日志信息,结束一系列处理,回到原来的处理。
另外,在步骤S112中,判断不存在应当执行的个别功能模块130时(否),结束一系列处理,回到原来的处理。
接下来,对照图11,对步骤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,从存储装置43读取对应的资源换算表22,进入步骤S211。
步骤S211中,从个别功能模块130所含有的资源限制信息400取得上限值,进入步骤S212,判断上限值的取得是否成功,在判断上限值的取得成功时(是),进入步骤S214。
步骤S214中,判断所取得的上限值是否不满全内存的剩余量,在判断不满全内存的剩余量时(是),进入步骤S216。返回表示允许个别功能模块130的执行的返回值,结束一系列的处理,回到原来的处理。
另外,在步骤S214中,判断所取得的上限值为全内存的剩余量以上(否),进入步骤S217,生成表示上限值为全内存剩余量以上的日志信息,进入步骤S218,返回表示不允许个别功能模块130的执行的返回值,结束一系列的处理,回到原来的处理。
另外,在步骤S212中,判断上限值的取得失败时(否),或是在步骤S206中判断不是能够对应的电子签名信息时(否),或是在步骤S202中判断机种信息不一致时(否),均进入步骤S218。
另外,在步骤S209中,判断不存在与执行环境信息登录表440相对应的资源换算表22时(否),进入步骤S211。
另外,在步骤S208中,判断个别功能模块130不是资源管理对象时(否),进入步骤S216。
接下来,对照图12,对步骤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所使用的内存量达到上限值的日志信息,进入步骤S322,通知出错,进入步骤S314。
另外,在步骤S304中,判断没有设定资源确保目的地的参照指针时(否),进入步骤S324,在内存中生成所读取的类的实例,进入步骤S314。
另外,在步骤S314中,判断实例的生成识别时(否),以及在步骤S302中,判断类的读取失败时(否),均进入步骤S318。
接下来,对照图13对步骤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所使用的内存量达到上限值的日志信息,进入步骤S420,通知出错,进入步骤S414。
另外,在步骤S404中,判断没有设定资源确保目的地的参照指针时(否),进入步骤S422,在内存中生成所读取的事件监听器类的实例,进入步骤S414。
另外,在步骤S414中,判断实例的生成识别时(否),以及在步骤S402中,判断事件监听器类的读取失败时(否),结束一系列的处理,回到原来的处理。
接下来,对照图14对类读取处理进行详细说明。
图14为说明类读取处理的流程图。
如果在CPU30中执行类读取处理,便如图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所起动的类数目达到上限值的日志信息,进入步骤S522,通知出错,进入步骤S518。
另外,在步骤S506中,判断该个别功能模块130不是资源管理对象时(否),进入步骤S524,从个别功能模块130读取关于类读取命令的类,进入步骤S526,将所读取的类登录到缓存表中,结束一系列的处理,回到原来的处理。
另外,在步骤S502中,判断类读取命令的相关类已经登录在缓存表中时(是),结束一系列的处理,回到原来的处理。
接下来,对照图15对事件监听器控制处理进行详细说明。
图15为说明事件监听器控制处理的流程图。
事件监听器控制处理,为控制事件监听器的执行的处理,如果在CPU30中执行,便如图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中,判断应当执行的事件监听器不存在时(否),结束一系列的处理,回到原来的处理。
接下来,对照图16对步骤S610的事件监听器执行处理进行详细说明。
图16为说明事件监听器执行处理的流程图。
如果在步骤S610中执行事件监听器执行处理,便如图16所示,首先进入步骤S700。
步骤S700中,将程序指针移动到事件监听器中所包括的命令列表的开头,进入步骤S702,判断程序指针所指的地址中是否存在应当执行的命令,在判断存在应当执行的命令时(是),进入步骤S703,计算出命令的执行所需要的内存量,进入步骤S704。
步骤S704中,根据命令的执行所使用的库等,确定内存的使用方式,从已读取的资源换算表22取得与所确定的内存使用方式相对应的换算率,给所计算出的内存量,乘上所取得的换算率,通过这样,进行向网络打印机中所使用的内存量的换算。
接下来,进入步骤S705,给参照资源管理表460的使用内存量,加上换算内存量,进入步骤S706,判断相加之后的合计内存量,是否不满参照资源管理表460的上限值,在判断不满上限值时(是),进入步骤S708。
步骤S708中,确保内存,进入步骤S710,步骤S710中执行程序指针所指示的地址的命令,进入步骤S712,将命令指针移动到事件监听器中含有的命令列表中的下一个,进入步骤S713,对处理进行给定待机时间的待机,进入步骤S702。关于该待机时间的决定,将在后面的实施方式中说明。
另外,在步骤S706中,判断合计内存量为上限值以上时(否),进入步骤S714,从参照资源管理表460的使用内存量中减去换算内存量,进入步骤S715。
步骤S715中,生成表示个别功能模块130所使用的内存量达到上限值的日志信息,进入步骤S716,通知出错,进入步骤S721。
另外,在步骤S702中,判断不存在应当执行的命令时(否),结束一系列的处理,回到原来的处理。
接下来,对照图17对实例删除处理进行详细说明。
图17为说明实例删除处理的流程图。
实例删除处理,为删除实例处理,如果在CPU30中执行,便如图17所示,首先进入步骤S800。
步骤S800中,取得登录有应当删除的实例的实例删除列表,进入步骤S802,根据所取得的实例删除列表,判断是否存在应当删除的实例,在判断存在应当删除的实例时(是),进入步骤S804。
步骤S804中,从该实例取得资源确保目的地参照信息,进入步骤S805,判断资源确保目的地参照信息的取得是否成功,在判断资源确保目的地参照信息的取得成功时(是),进入步骤S806。
步骤S806中,根据所取得的资源确保目的地参照信息,设定资源确保目的地的参照指针,进入步骤S808,删除该实例,进入步骤S810,从参照资源管理表460的使用内存量中减去该实例的执行所必须的内存量,进入步骤S812。
步骤S812中,清空资源确保目的地的参照指针,进入步骤S814,从实例删除列表中删除该实例,进入步骤S802。
另外,步骤S805中,在判断资源确保目的地参照信息的取得失败时(否),进入步骤S816,删除该实例,进入步骤S814。
另外,在步骤S802中,判断应当删除的实例不存在时(否),结束一系列的处理,回到原来的处理。
接下来,对本实施方式的动作进行说明。
首先对执行成为资源管理对象的个别功能模块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的使用内存量。
图18为说明出错的情况下的日志文件的内容的图。
在出错的情况下,日志文件中,如图18所示,除了表示个别功能模块130起动以及停止的日志信息之外,还记录有表示个别功能模块130的起动类数目或使用内存量达到上限的日志信息。
图19为说明未出错的情况下的日志文件的内容的图。
与此相对,在未出错的情况下,日志文件中如图19所示,只记录有表示个别功能模块130起动以及停止的日志信息。
接下来,对执行不是资源管理对象的个别功能模块130的情况进行说明。
主机终端100中,如果执行个别功能模块控制处理,便经步骤S116、S118,读取该个别功能模块130,判断所读取的个别功能模块130可否执行。
如果允许个别功能模块130的执行,便经步骤S134,起动个别功能模块130。模块起动处理中,经步骤S524、S324、S318,读取个别功能模块130的类,生成所读取的类的实例,登录个别功能模块130的事件监听器。事件监听器登录处理中,经步骤S524、S422、S416,读取事件监听器类,生成事件监听器类的实例,将所生成的实例的事件监听器类,登录到事件监听器执行列表中。
另外,如果在主机终端100中,执行事件监听器控制处理,便经步骤S616,执行应当执行的事件监听器中所含有的命令。
另外,如果在主机终端100中,执行实例删除处理,在存在应当删除的实例的情况下,经步骤S816,删除该实例。
图20为说明作为资源管理对象的个别功能模块b、c并行执行的情况的时间图。
图20中,实线表示个别功能模块b的线程,以及共通功能模块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中所使用的资源量,将所测定的资源量换算成网络打印机中所使用的资源量,从个别功能模块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的动作。
上述第1实施方式中,资源测定部16以及步骤S305、S405、S703,对应于方式1~4的资源测定机构,步骤S305、S405、S703,对应于方式17~20、33~39的资源测定步骤,资源换算部24以及步骤S306、S406、S509、S704,对应于方式1、2、4~8的资源换算机构。另外,步骤S306、S406、S509、S704,对应于方式17、18、20~24、33~36、38~43的资源换算步骤,上限值取得部18以及步骤S211,对应于方式1、2、4以及5的资源限制信息取得机构。
另外,上述地1实施方式中,步骤211对应于方式17、18、20、21、33~36、38~40的资源限制信息取得步骤,日志信息生成部26以及步骤S321、S419、S521、S715,对应于方式1、2、4以及12的资源限制通知机构。另外,步骤S321、S419、S521、S715,对应于方式17、18、20、28、33~36、38、39以及47的资源限制通知步骤,资源限制部20以及步骤S308、S408、S512、S706,对应于方式5的资源限制机构。
另外,上述第1实施方式中,步骤S308、S408、S512、S706,对应于方式21以及40的资源限制步骤,共通功能模块120,对应于方式2~4、18~20、35~39的第1功能模块,个别功能模块130,对应于方式2~4、18~20、35~39的第2功能模块。另外,CPU30对应于方式34、36以及39的运算机构。
接下来,对照附图对本发明的第2实施方式进行说明。图21至图24为说明本发明的相关资源管理系统与资源管理程序,以及资源管理方法的第2实施方式的图。
本发明的实施方式,将本发明的相关资源管理系统以及资源管理程序、资源管理方法,应用于如图21所示,在主机终端100上的JAVA(注册商标)应用程序的执行环境中,模拟用来控制网络打印机的动作的JAVA(注册商标)类集合中的情况,与上述第1实施方式的不同在于,换算资源的上限值这一点。另外,以下只对与上述第1实施方式不同的部分进行说明,给与上述第1实施方式重复的部分标注相同符号,省略说明。
首先对使用本发明的主机终端100的功能概要进行说明。
图21为说明主机终端100的功能概要的功能方框图。
共通功能模块120如图21所示,除了具有个别功能模块管理部14、资源测定部16、上限值取得部18、资源限制部20、资源换算表22、以及日志信息生成部26之外,还具有换算资源的量的资源换算部28。
资源换算部28,根据资源换算表22,将上限值取得部18所取得的资源量换算成主机终端中的资源的上限值。
资源限制部20,对个别功能模块130所使用的资源量,以及个别功能模块管理部14在该个别功能模块130的执行中所使用的资源量进行限制,使得资源测定部16所测定的资源量,不满资源换算部28所换算的上限值。
日志信息生成部26,在判断资源测定部16所测定的资源量,为资源换算部28所换算的上限值以上时,生成表示个别功能模块130所使用的资源量达到了上限的日志信息。
接下来,对主机终端100的构成进行详细说明。
存储装置42,代替图7的资源换算表22,存储有图22的资源换算表22。
图22为说明资源换算表22的数据结构的图。
资源换算表22中如图22所示,对每一个资源的种类或使用方式登录有1条记录。各个记录包括登录资源的名称的区域502、登录换算率的区域504。
图22的例子中,第1条记录中,资源名称登录有“内存”,换算率登录有“1”。这表示通过给个别功能模块130在网络打印机中的内存量的上限值除以换算率“1”,进行向主机终端100中的内存量的上限值的换算。
另外,第2条记录中,资源名称登录有“类数目”,换算率登录有“1”。这表示通过给个别功能模块130在网络打印机中所能够起动的类数目除以换算率“1”,进行向在主机终端100中能够起动的类数目的换算。
另外,资源换算表22中,对多个测试模块,分别根据该测试模块在主机终端100与网络打印机中所使用的资源量,决定换算率,登录对各个测试模块所决定的换算率中的最大值。关于资源换算表22的生成,将在后面的实施方式中进行详细说明。
存储装置42中,还代替图8的资源管理表460,存储有图23的资源管理表460。
图23为说明资源管理表460的数据结构的图。
资源管理表460中,如图23所示,对每一个资源的种类登录有1条记录。各个记录中,包括登录资源的名称的区域462、登录个别功能模块130在网络打印机中的资源上限值的区域464、登录将区域464的值换算为在主机终端100中的资源上限值之后的值的区域470、以及登录个别功能模块130在主机终端100中目前所使用的资源量的区域466。
图23的例子中,第1条记录中,上限值登录有“1000000”,换算值登录有“666666”。这表示个别功能模块130在网络打印机中的内存量的上限值为1000000[字节],换算为在主机终端100中的内存量的上限值之后的值(以下称作换算内存上限值)为666666[字节]。换算内存上限值,可以参照图22的资源换算表22,作为1000000/1.5=666666计算出来。
另外,第2条记录中,上限值登录有“100”,换算值登录有“20”。这表示个别功能模块130在网络打印机中所能够起动的类数目的上限值为100个,换算为在主机终端100中所能够起动的类数目的上限值之后的值(以下称作换算类上限值)为20个。换算类上限值,可以参照图22的资源换算表22,作为20/1=20计算出来。
接下来,对主机终端100中所执行的处理进行说明。
CPU30,代替图11的执行可否判断处理,执行图24的流程图所示的执行可否判断处理。
图24为说明执行可否判断处理的流程图。
如果在步骤S118中进行执行可否判断处理,便如图24所示,首先经步骤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在网络打印机中所使用的资源量是否达到了资源上限值进行验证。所以,与以前相比,能够容易地进行软件的开发,同时,还能够开发出稳定性高的软件。
接下来,对照附图对本发明的第3实施方式进行说明。图25至图30为说明本发明的相关资源换算表生成系统与资源换算表生成程序,以及资源换算表生成方法的第3实施方式的图。
本实施方式,将本发明的相关资源换算表生成系统与资源换算表生成程序,以及资源换算表生成方法,应用于在上述第1以及第2实施方式中生成所使用的资源换算表22的清空。另外,以下只对与上述第1以及第2实施方式不同的部分进行说明,给与上述第1以及第2实施方式重复的部分标注相同的符号,省略说明。
首先对网络打印机的构成进行详细说明。
网络打印机,具有与将CPU、ROM、RAM以及I/F等连接在总线上的一般的计算机相同的功能。
I/F中,作为外部装置,连接有由能够进行数据的输入以及显示的触摸屏等构成的操作面板作为人类接口、将数据以及表格等作为文件存储起来的存储装置、打印头、由打印头驱动部以及其他的打印必须机构所构成的打印机引擎、以及用来连接网络199的信号线。
存储装置,存储有登录在网络打印机中执行了测试模块的执行结果的执行结果登录表。
图25为说明执行结果登录表520的数据结构的图。
执行结果登录表520中,如图25所示,对每一个测试模块登录一条记录。各个记录中包括登录测试模块的名称的区域522、登录测试模块在网络打印机中使用的内存量的区域524、登录测试模块在网络打印机中所起动的类数目的区域526、以及登录测试模块的处理时间的区域528。
图25的例子中,第1条记录中,测试模块的名称登录有“T1(仅在使用方式A中使用内存)”,内存量登录有“100”,类数目登录有“5”,处理时间登录有“30”。这表示测试模块T1仅在使用方式A中使用内存,通过该执行,在网络打印机中使用100[字节]内存量,且起动了30个类。
CPU起动存储在ROM的给定区域中的给定程序,按照该程序,执行图26的流程图中所示的使用资源量测定处理。
图26为说明使用资源量测定处理的流程图。
如果在CPU中执行使用资源量测定处理,便如图26所示,首先进入步骤S900。
步骤S900中,取得登录有应当执行的测试模块的测试模块列表,进入步骤S902,根据所取得的测试模块列表执行测试模块,进入步骤S904。
步骤S904中,测定所执行的测试模块所使用的内存量以及所起动的类数目,进入步骤S906,测定所执行的测试模块的处理时间,进入步骤S908,将所测定的使用内存量、起动类数目以及测定时间,与测试模块的名称对应起来,登录到执行结果登录表520中,进入步骤S910。
步骤S910中,根据所取得的测试模块,判断应当执行的测试模块是否存在,在判断应当执行的测试模块存在时(是),进入步骤S902,在判断不存在时(否),结束一系列的处理,回到原来的处理。
通过使用资源量测定处理所得到的执行结果登录表520,在主机终端100中生成资源换算表22时使用。
接下来,对主机终端100的构成进行详细说明。
CPU30,起动存储在ROM32的给定区域中的给定程序,按照该程序,执行图27的流程图中所示的资源换算表生成处理。
图27为说明资源换算表生成处理的流程图。
资源换算表生成处理,为生成资源换算表22,同时决定步骤S713中的待机时间的处理,如果在CPU30中执行,便如图27所示,首先进入步骤S1000。
步骤S1000中,取得测试模块列表,进入步骤S1002,对资源换算表22进行初始化,进入步骤S1004,将待机时间设为“0”,进入步骤S1006。
步骤S1006中,根据所取得的测试模块列表,执行所有的测试模块。这里,测试模块与个别功能模块130一样,通过图10至图17,以及图24的流程图所示的处理来执行。所以,在步骤S713中,让处理等待待机时间,通过这样来调整处理时间。
接下来,进入步骤S1008,测定所执行的各个测试模块所使用的内存量以及所起动的类数目,进入步骤S1010,测定所执行的测试模块的处理时间,进入步骤S1012。
步骤S1012中,从执行结果登录表520中读出对应于各个测试模块的处理时间,进入步骤S1014,判断所读出的处理时间的合计,与对各个测试模块所测定的处理时间的合计是否一致,或其差分为给定阈值以下,在判断处理时间合计不一致或其差分大于给定阈值时(否),进入步骤S1016。
步骤S1016中,判断所读出的处理时间的合计,是否比对各个测试模块所测定的处理时间的合计短,在判断所读出的处理时间的合计这一方较短时(是),进入步骤S1018,将待机时间减去“1”,进入步骤S1006。
另外,步骤S1016中,在判断对各个测试模块所测定的处理时间的合计这一方较短时(否),进入步骤S1020,给待机时间加“1”,进入步骤S1006。
另外,在步骤S1014中,判断处理时间的合计相一致或其差分为给定阈值以下时(是),进入步骤S1022,从执行结果登录表520中读出对应于各个测试模块的使用内存量以及起动类数目,进入步骤S1024。
步骤S1024中,对每一个测试模块,根据对该测试模块所测定的使用内存量以及起动类数目,与所读出的使用内存量以及起动类数目中与该测试模块相对应的,计算出换算率,进入步骤S1026,在每一个资源种类以及使用方式中,将对各个测试模块所计算出的换算率中的最大值,登录到资源换算表22中,结束一系列的处理,回到原来的处理。
接下来,对本实施方式的动作进行说明。
网络打印机中,经过反复进行步骤S902~S908之后,执行各个测试模块,测定所执行的各个测试模块的使用内存量、起动类数目以及处理时间,将所测定的使用内存量、起动类数目以及处理时间,登录到执行结果登录表520中。
接下来,将网络打印机中所得到的执行结果登录表520,保存到主机终端100中,在主机终端100中执行资源换算表生成处理。
主机终端100中,经步骤S1006~S1010,执行各个测试模块,测定所执行的各个处理模块的处理时间。之后,经步骤S1012、S1014,从执行结果登录表520读取对应于各个测试模块的处理时间,判断所读出的处理时间的合计,与对各个测试模块所测定的处理时间的合计是否一致。如果其结果判断处理时间的合计不一致,在所读出的处理时间的合计一方较短的情况下,经步骤S1018,减少待机时间,而在对各个测试模块所测定的处理时间的合计一方较短的情况下,经步骤S1020,增加待机时间。重复步骤S1006~S1020的处理,直到处理时间的合计相一致。
图28为说明在网络打印机中执行了3个测试模块T1~T3的情况下的执行结果的表。
在网络打印机中执行了测试模块T1~T3的情况下,测试模块T1~T3的处理时间的合计,如图28所示,例如变为“120”。
图29为示出将待机时间设为“0”,在主机终端100中执行了3个测试模块T1~T3的情况下的执行结果的表。
在将待机时间设为“0”,在主机终端100中执行测试模块T1~T3的情况下,测试模块T1~T3的处理时间的合计,如图29所示,例如变为“80”。这种情况下,由于网络打印机的处理时间的合计,与主机终端100中的处理时间的合计不一致,因此增加待机时间,对处理时间进行调整。
图30为示出将待机时间设为“10”,在主机终端100中执行了3个测试模块T1~T3的情况下的执行结果的表。
接下来,将待机时间设为“10”,在主机终端100中执行测试模块T1~T3的情况下,测试模块T1~T3的处理时间的合计,如图30所示,例如变为“120”。这种情况下,由于网络打印机的处理时间的合计,与主机终端100中的处理时间的合计一致,因此将待机时间决定为“10”。
如果像这样决定待机时间,便经步骤S1022、S1024,从执行结果登录表520读出对应于各个测试模块的使用内存量以及起动类数目,根据所测定的使用内存量以及起动类数目,与所读出的使用内存量以及起动类数目,对每一个测试模块计算出换算率。之后,经步骤S1026,将对各个测试模块所计算出的换算率中的最大值,登录到资源换算表22中。
通过这样的处理所得到的待机时间以及资源换算表22,能够在上述第1以及第2实施方式中使用。
通过这样,本实施方式中,从执行结果登录表520读出测试模块在网络打印机中所使用的资源量,测定测试模块在主机终端100中所使用的资源量,根据所读出的资源量以及所测定的资源量,计算出换算率,根据所计算出的换算率,生成资源换算表22。
通过这样,只在主机终端100以及网络打印机中执行测试模块就可以了,因此能够容易地生成资源换算表22。
另外,本实施方式中,从执行结果登录表520读出网络打印机中的测试模式的处理时间,测定主机终端100中的测试模块的处理时间,根据所读出的处理时间以及所测定的处理时间,计算出主机终端100中的待机时间。
通过这样,在主机终端100中执行个别功能模块130的情况下,如果在执行中设定所得到的待机时间,就能够将个别模块130的处理时间调整得在主机终端100以及网络打印机中相等。
上述第3实施方式中,步骤S1008,与方式13或方式14的资源测定机构,以及方式29、30、48~50的资源测定步骤相对应,步骤S1010,与方式15的处理时间测定机构,以及方式31或51的处理时间测定步骤相对应。另外,步骤S1012,与方式15的处理时间信息取得机构,以及方式31或51的处理时间信息取得步骤相对应,步骤S1018、S1020,与方式15的待机时间计算机构,以及方式31或51的待机时间计算步骤相对应。
另外,上述第3实施方式中,步骤S1022,与方式13的使用资源信息取得机构,以及方式29、48或49的使用资源信息取得步骤相对应,步骤S1024,与方式13的换算率计算机构,以及方式29、48或49的换算率计算步骤相对应。另外,步骤S1026,与方式13的资源换算表生成机构,以及29、48或49的资源换算表生成步骤相对应,CPU30与方式49的运算机构相对应。
接下来,对照附图对本发明的第4实施方式进行说明。图31为说明本发明的相关软件认证系统与软件认证程序,以及软件认证方法的实施方式的图。
本实施方式,将本发明的相关软件认证系统与软件认证程序,以及软件认证方法,在根据在上述第1以及第2实施方式中所生成的日志信息对个别功能模块130进行认证的情况下使用。另外,以下只对与上述第1以及第2实施方式不同的部分进行说明,给与上述第1以及第2实施方式重复的部分标注相同的符号,省略说明。
首先对主机终端100的机构进行信息说明。
CPU30,起动存储在ROM32的给定区域中的给定程序,按照该程序,执行图31的流程图中所示的模块认证处理。
图31为说明模块认证处理的流程图。
如果在CPU30中执行模块认证处理,便如图31所示,首先进入步骤S1100。
步骤S1100中,从存储装置42的日志文件中读出日志信息,进入步骤S1102,根据所读出的日志信息,判断个别功能模块130的起动类数目或使用内存量是否达到上限,在判断起动类数目或使用内存量没有达到上限时(否),进入步骤S1104。
步骤S1104中,根据所读出的日志信息,判断个别功能模块130是否不能够安装在网络打印机中,在判断个别功能模块130能够安装时(否),进入步骤S1106。
步骤S1106中,判断存储装置42的日志文件中是否存在未处理的日志信息,在判断不存在未处理的日志信息时(否),进入步骤S1108,从存储装置42读出个别功能模块130的执行文件,进入步骤S1110。
步骤S1110中,给所读出的执行文件添加电子签名信息,进入步骤S1112,将添加有电子签名信息的执行文件保存到存储装置42中,结束一系列的处理,回到原来的处理。
另外,在步骤S1106中,判断存在未处理的日志信息时(是),进入步骤S1100。
另外,在步骤S1104中,判断个别功能模块130不能够安装时(是),以及在步骤S1102中,判断起动类数目或使用内存量达到上限时(是),均进入步骤S1114,将表示个别功能模块130不能够认证的消息显示在显示装置44中,结束一系列的处理,回到原来的处理。
接下来,对本实施方式的动作进行说明。
主机装置100中,如果在上述第1以及第2实施方式中生成了日志文件,经过重复步骤S1100~S1106,从日志文件顺次读出日志信息,判断个别功能模块130的起动类数目或使用内存量是否达到上限,以及个别能够模块130是否不能够安装在网络打印机中。如图19的日志文件所示,如果对日志文件中所包括的所有日志信息,判断起动类数目或使用内存量没有达到上限且能够安装,则经步骤S1108~S1112,读出个别功能模块130的执行文件,给所读出的执行文件添加电子签名信息并保存。
与此相对,如图18的日志文件所示,如果对日志文件中所包括的所有日志信息,判断起动类数目或使用内存量达到上限或不能够安装,则经步骤S1114,显示出表示不能够认证的消息。
这样,本实施方式中,从日志文件读出日志信息,根据所读出的日志信息,判断个别功能模块130所使用的资源量是否达到上限,在判断资源量没有达到上限时,给个别功能模块130的执行文件中添加电子认证信息。
通过这样,由于只对所使用的资源量没有达到上限的个别功能模块130添加电子签名信息,因此能够比较可靠地保证个别功能模块130的动作。
另外,本实施方式中,从日志文件读出日志信息,根据所读出的日志信息,判断个别功能模块130是否不能够安装在网络打印机中,在判断能够安装时,给个别功能模块130的执行文件添加电子认证信息。
通过这样,由于只对能够安装在网络打印机中的个别功能模块130添加电子签名信息,因此能够更加可靠地保证个别功能模块130的动作。
上述第4实施方式中,步骤S1100与方式16的日志信息取得机构,或方式32、52或53的日志信息取得步骤相对应,步骤S1102与方式16的动作检验机构,或方式32、52或53的动作检验步骤相对应。另外,步骤S1110与方式16的软件认证机构,或方式32、52或53的软件认证步骤相对应,CPU30与方式53的运算机构相对应。
另外,上述第1以及第2实施方式中,资源换算表22,登录有对各个测试模块所决定的换算率中的最大值,但并不仅限于此,也可以登录对各个测试模块所决定的换算率的平均值。
通过这样,由于资源换算表22中,登录有对各个测试模块所决定的换算率的平均值,因此能够以一定程度的可靠性确保功能模块的动作,同时,能够抑制网络打印机中所使用的资源量。
另外,上述第1以及第2实施方式中,生成表示个别功能模块130所使用的资源量达到上限的日志信息,但并不仅限于此,还可以将表示个别功能模块130所使用的资源量达到上限的消息显示在显示装置44中。
另外,上述第1以及第2实施方式中,示出了在资源换算表22中,换算率登录有“1”的例子,但并不仅限于此,根据主机终端100与网络打印机的规格差异,也可以登录其以外的值。
另外,上述第1以及第2实施方式中,将使用内存量以及起动类数目作为资源量进行控制,但并不仅限于此,还可以对套接字的连接数、文件连接数、文件数、文件容量、类大小、ZIP内存容量、CPU利用量、套接字通信量以及文件读写量进行限制。
另外,上述第1至第4实施方式中,在执行图10~图17、图24、图27以及图31的流程图所示的处理时,均对执行预先存储在ROM32中的控制程序的情况进行了说明,但并不仅限于此,也能够从存储有表示该顺序的程序的存储媒体中,将该程序读出到RAM34中并执行。
另外,上述第3实施方式中,在执行图26的流程图所示的处理时,均对执行预先存储在ROM中的控制程序的情况进行了说明,但并不仅限于此,也能够从存储有表示该顺序的程序的存储媒体中,将该程序读出到网络打印机的RAM中并执行。
这里,存储媒体是指RAM、ROM等半导体存储媒体、FD、HD等磁存储型存储媒体、CD、CDV、LD、DVD等光学读取方式存储媒体、MO等磁存储型/光学读取方式存储媒体,不管是电子、磁、光学等读取方法中的哪一个,只要是计算机可读的存储媒体,任何一种都可以。
另外,上述第1至第4实施方式中,将本发明的相关资源管理系统、资源换算表生成系统、软件认证系统、资源管理程序、资源换算表生成程序以及软件认证程序、资源管理方法、资源换算表生成方法、以及软件认证方法,应用于在主机终端100上的JAVA(注册商标)应用程序的执行环境中,模拟用来控制网络打印机的动作的JAVA(注册商标)类集合的情况,但本发明并不仅限于此,在不脱离本发明的要点的范围内,也可以应用于其他情况。可以代替网络打印机,例如应用在投影仪、电子报纸、家庭网关、个人计算机、PDA(Personal Digital Assistant)、网络存储器、音频机器、移动电话、PHS(注册商标)(Personal Handyphone System)、手表式PDA、STB(Set Top Box)、POS(Point Of Sale)、传真机、电话(包括IP电话等)等其他设备中。
权利要求
1.一种资源管理系统,是对功能模块所使用的资源进行管理的资源管理系统,其特征在于,具有测定所述功能模块在第1执行环境中所使用的资源量的资源测定机构、将所述资源测定机构所测定的资源量换算成所述功能模块在第2执行环境中所使用的资源量的资源换算机构、取得表示资源的限制条件的资源限制信息的资源限制信息取得机构、以及根据所述资源换算机构所换算的资源量以及所述资源限制信息取得机构所取得的资源限制信息而进行关于资源限制的通知的资源限制通知机构。
2.一种资源管理系统,是对第1功能模块以及执行中需要所述第1功能模块的多个第2功能模块所使用的资源进行管理的资源管理系统,其特征在于,具有测定所述第2功能模块在第1执行环境中所使用的资源量的资源测定机构、将所述资源测定机构所测定的资源量换算成所述第2功能模块在第2执行环境中所使用的资源量的资源换算机构、取得表示所述第2执行环境中的资源的限制条件的资源限制信息的资源限制信息取得机构、以及根据所述资源换算机构所换算的资源量以及所述资源限制信息取得机构所取得的资源限制信息,进行关于资源限制的通知的资源限制通知机构。
3.如权利要求2所述的资源管理系统,其特征在于所述资源测定机构,测定所述第2功能模块在所述第1执行环境中所使用的资源量、以及所述第1功能模块在所述第1执行环境中在该第2功能模块的执行中所使用的资源量。
4.一种资源管理系统,是对第1功能模块、以及执行中需要所述第1功能模块的多个第2功能模块所使用的资源进行管理的资源管理系统,其特征在于,具有测定所述第1功能模块在所述第1执行环境下在所述第2功能模块的执行中所使用的资源量的资源测定机构、将所述资源测定机构所测定的资源量换算成所述第2功能模块在第2执行环境中所使用的资源量的资源换算机构、取得表示所述第2执行环境中的资源的限制条件的资源限制信息的资源限制信息取得机构、以及根据所述资源换算机构所换算的资源量与所述资源限制信息取得机构所取得的资源限制信息,进行关于资源限制的通知的资源限制通知机构。
5.如权利要求2~4中任一项所述的资源管理系统,其特征在于具有资源限制机构,其根据所述资源换算机构所换算的资源量,以及所述资源限制信息取得机构所取得的资源限制信息,禁止所述功能模块所进行的资源确保。
6.如权利要求1~5中任一项所述的资源管理系统,其特征在于所述资源换算机构,由登录有根据在所述第1执行环境中以给定条件所使用的资源量和在所述第2执行环境中以所述给定条件所使用的资源量所决定的换算率的资源换算表,来进行换算。
7.如权利要求6所述的资源管理系统,其特征在于所述资源换算表,对每一个资源的种类登录有所述换算率;所述资源换算机构,对应于所述功能模块所使用的资源的种类,从所述资源换算表取得相对应的所述换算率,根据所取得的换算率进行换算。
8.如权利要求6或7所述的资源管理系统,其特征在于所述资源换算表,对每一个资源的使用方式登录有所述换算率;所述资源换算机构,对应于所述功能模块所使用的资源的方式,从所述资源换算表取得相对应的所述换算率,根据所取得的换算率进行换算。
9.如权利要求6~8中任一项所述的资源管理系统,其特征在于所述资源换算表,对多个测试模块,分别根据在所述第1执行环境以及所述第2执行环境中该测试模块所使用的资源量,决定所述换算率,登录对所述各个测试模块所决定的所述换算率中的最大值。
10.如权利要求6~8中任一项所述的资源管理系统,其特征在于所述资源换算表,对多个测试模块,分别根据在所述第1执行环境以及所述第2执行环境中该测试模块所使用的资源量,决定所述换算率,登录对所述各个测试模块所决定的所述换算率的平均值。
11.如权利要求1~10中任一项所述的资源管理系统,其特征在于所述资源限制通知机构,显示出表示所述功能模块所使用的资源量达到上限的消息。
12.如权利要求1~10中任一项所述的资源管理系统,其特征在于所述资源限制通知机构,生成表示所述功能模块所使用的资源量达到上限的日志信息。
13.一种资源换算表生成系统,是一种生成对第1执行环境中所使用的资源量与第2执行环境中所使用的资源量进行换算的资源换算表的资源换算表生成系统,其特征在于,具有取得表示在所述第2执行环境中以给定条件所使用的资源量的使用资源信息的使用资源信息取得机构、测定在所述第1执行环境中以所述给定条件所使用的资源量的资源测定机构、根据所述使用资源信息取得机构所取得的使用资源信息以及所述资源测定机构所测定的资源量而计算出换算率的换算率计算机构、以及根据所述换算率计算机构所计算出的换算率生成所述资源换算表的资源换算表生成机构。
14.如权利要求13所述的资源换算表生成系统,其特征在于所述使用资源信息,是表示测试模块在所述第2执行环境中所使用的资源量的信息;所述资源测定机构,测定所述测试模块在所述第1执行环境中所使用的资源量。
15.如权利要求14所述的资源换算表生成系统,其特征在于,具有取得表示所述第2执行环境中的所述测试模块的处理时间的处理时间信息的处理时间信息取得机构、测定所述第1执行环境中的所述测试模块的处理时间的处理时间测定机构、以及根据所述处理时间信息取得机构所取得的处理时间信息以及所述处理时间测定机构所测定的处理时间,计算出所述第1执行环境中的待机时间的待机时间计算机构。
16.一种软件认证系统,是一种根据由权利要求12所述的资源管理系统所生成的日志信息,来认证软件的软件认证系统,其特征在于,具有取得所述日志信息的日志信息取得机构、根据所述日志信息取得机构所取得的日志信息来判断所述功能模块所使用的资源量是否达到上限的动作验证机构、在所述动作验证机构判断没有达到上限时给所述软件附加认证信息的软件认证机构。
17.一种资源管理程序,是一种对功能模块所使用的资源进行管理的资源管理程序,其特征在于,包括用于让计算机执行由以下步骤所构成的处理的程序测定所述功能模块在第1执行环境中所使用的资源量的资源测定步骤、将所述资源测定步骤所测定的资源量换算成所述功能模块在第2执行环境中所使用的资源量的资源换算步骤、取得表示资源的限制条件的资源限制信息的资源限制信息取得步骤、以及根据所述资源换算步骤所换算的资源量以及所述资源限制信息取得步骤所取得的资源限制信息,进行关于资源限制的通知的资源限制通知步骤。
18.一种资源管理程序,是一种对第1功能模块、以及执行中需要所述第1功能模块的多个第2功能模块所使用的资源进行管理的资源管理程序,其特征在于,包括用于让计算机执行由以下步骤所构成的处理的程序测定所述第2功能模块在第1执行环境中所使用的资源量的资源测定步骤、将所述资源测定步骤所测定的资源量换算成所述第2功能模块在第2执行环境中所使用的资源量的资源换算步骤、取得表示所述第2执行环境中的资源的限制条件的资源限制信息的资源限制信息取得步骤、以及根据所述资源换算步骤所换算的资源量以及所述资源限制信息取得步骤所取得的资源限制信息,进行关于资源限制的通知的资源限制通知步骤。
19.一种资源管理程序,是一种对第1功能模块、以及执行中需要所述第1功能模块的多个第2功能模块所使用的资源进行管理的资源管理程序,其特征在于,包括用于让计算机执行由以下步骤所构成的处理的程序测定所述第1功能模块在所述第1执行环境下在所述第2功能模块的执行中所使用的资源量的资源测定步骤、将所述资源测定步骤所测定的资源量换算成所述第2功能模块在第2执行环境中所使用的资源量的资源换算步骤、取得表示所述第2执行环境中的资源的限制条件的资源限制信息的资源限制信息取得步骤、以及根据所述资源换算步骤所换算的资源量与所述资源限制信息取得步骤所取得的资源限制信息,进行关于资源限制的通知的资源限制通知步骤。
20.一种资源换算表生成程序,是一种生成对第1执行环境中所使用的资源量与第2执行环境中所使用的资源量进行换算的资源换算表的资源换算表生成程序,其特征在于,包括用于让计算机执行由以下步骤所构成的处理的程序取得表示在所述第2执行环境中以给定条件所使用的资源量的使用资源信息的使用资源信息取得步骤、测定在所述第1执行环境中以所述给定条件所使用的资源量的资源测定步骤、根据所述使用资源信息取得步骤所取得的使用资源信息以及所述资源测定步骤所测定的资源量,计算出换算率的换算率计算步骤、以及根据所述换算率计算步骤所计算出的换算率生成所述资源换算表的资源换算表生成步骤。
21.一种软件认证程序,是一种根据由权利要求12所述的资源管理系统所生成的日志信息,来认证软件的软件认证程序,其特征在于,包括用于让计算机执行由以下步骤所构成的处理的程序取得所述日志信息的日志信息取得步骤、根据所述日志信息取得步骤所取得的日志信息来判断所述功能模块所使用的资源量是否达到上限的动作验证步骤、在所述动作验证步骤判断没有达到上限时给所述软件附加认证信息的软件认证步骤。
22.一种资源管理方法,是一种对功能模块所使用的资源进行管理的资源管理方法,其特征在于,包括测定所述功能模块在第1执行环境中所使用的资源量的资源测定步骤、将所述资源测定步骤所测定的资源量换算成所述功能模块在第2执行环境中所使用的资源量的资源换算步骤、取得表示资源的限制条件的资源限制信息的资源限制信息取得步骤、以及根据所述资源换算步骤所换算的资源量以及所述资源限制信息取得步骤所取得的资源限制信息,进行关于资源限制的通知的资源限制通知步骤。
23.一种资源管理方法,是一种对第1功能模块、以及执行中需要所述第1功能模块的多个第2功能模块所使用的资源进行管理的资源管理方法,其特征在于,包括测定所述第2功能模块在第1执行环境中所使用的资源量的资源测定步骤、将所述资源测定步骤所测定的资源量换算成所述第2功能模块在第2执行环境中所使用的资源量的资源换算步骤、取得表示所述第2执行环境中的资源的限制条件的资源限制信息的资源限制信息取得步骤、以及根据所述资源换算步骤所换算的资源量以及所述资源限制信息取得步骤所取得的资源限制信息,进行关于资源限制的通知的资源限制通知步骤。
24.一种资源管理方法,是一种对第1功能模块、以及执行中需要所述第1功能模块的多个第2功能模块所使用的资源进行管理的资源管理方法,其特征在于,包括测定所述第1功能模块在所述第1执行环境下在所述第2功能模块的执行中所使用的资源量的资源测定步骤、将所述资源测定步骤所测定的资源量换算成所述第2功能模块在第2执行环境中所使用的资源量的资源换算步骤、取得表示所述第2执行环境中的资源的限制条件的资源限制信息的资源限制信息取得步骤、以及根据所述资源换算步骤所换算的资源量与所述资源限制信息取得步骤所取得的资源限制信息,进行关于资源限制的通知的资源限制通知步骤。
25.一种资源换算表生成方法,是一种生成对第1执行环境中所使用的资源量与第2执行环境中所使用的资源量进行换算的资源换算表的资源换算表生成方法,其特征在于,包括取得表示在所述第2执行环境中以给定条件所使用的资源量的使用资源信息的使用资源信息取得步骤、测定在所述第1执行环境中以所述给定条件所使用的资源量的资源测定步骤、根据所述使用资源信息取得步骤所取得的使用资源信息以及所述资源测定步骤所测定的资源量来计算出换算率的换算率计算步骤、以及根据所述换算率计算步骤所计算出的换算率而生成所述资源换算表的资源换算表生成步骤。
26.一种软件认证方法,是一种根据由权利要求12所述的资源管理系统所生成的日志信息,来认证软件的软件认证方法,其特征在于,包括取得所述日志信息的日志信息取得步骤、根据所述日志信息取得步骤所取得的日志信息,判断所述功能模块所使用的资源量是否达到上限的动作验证步骤、在所述动作验证步骤判断没有达到上限时给所述软件附加认证信息的软件认证步骤。
全文摘要
本发明涉及一种适于简化软件的开发,同时能够开发出稳定性高的软件的理想的软件管理系统。主机终端(100),测定个别功能模块(130)在主机终端(100)中所使用的资源量,将所测定的资源量换算成网络打印机中所使用的资源量,从个别功能模块(130)取得上限值,根据所换算的资源量以及所取得的上限值,生成表示个别功能模块(130)所使用的资源量达到上限的日志信息。另外,对每一个个别功能模块(130)根据所换算的资源量以及所取得的上限值,限制该个别功能模块(130)所使用的内存量,以及共通功能模块(120)在该个别功能模块(130)的执行时所使用的内存量以及所起动的类数目。
文档编号G06F9/46GK1815434SQ20051002290
公开日2006年8月9日 申请日期2005年12月9日 优先权日2005年2月1日
发明者谷口真也, 深尾明人 申请人:精工爱普生株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1