图像形成装置、功能追加方法及计算机可读记录介质的制作方法

文档序号:7895789阅读:124来源:国知局
专利名称:图像形成装置、功能追加方法及计算机可读记录介质的制作方法
技术领域
本发明涉及图像形成装置、功能追加方法及计算机可读记录介质,例如,。包括应 用平台的图像形成装置、功能追加方法及计算机可读记录介质
背景技术
近年来,在被称为多功能机或联合机的图像形成装置中,存在具有应用平台(下 文也简单地称为“平台”)的API (应用程序接口)的图像形成装置(例如,参见日本公开专 利申请No. 2008-16013)。通过第三方厂商等在平台上开发许多应用。用户购买适合用户的 企业等的应用,并将适合的应用安装在图像形成装置中(下文也简单地称为“机器”)。从 而,能够实现企业效率。该平台装配了设计来实现尽可能多的需要的API。然而,由于终端用户对设备的使 用变得更多样化以及在平台上设置各种应用,因此存在对于在设备已经被制成之后改变平 台的需求。例如,在存在获得关于用于新近开发的应用的设备的信息的需要的情况下,除非 平台具有用于获得该设备的该信息的API,否则要求平台的开发者获得用于新近开发的应 用的设备的信息。因此,当该种获得信息的需要增加时,平台的开发者的工作量变得非常 大。因此,无法减少开发需要的步骤的数量。理论上,可以使API实现预先提供所有设备的信息。然而,事实上,由于所有设备 的信息的庞大数量,因此预先使API实现获得所有设备的信息是困难的。此外,从开发成本 的观点来说,在不清楚所实现的API是否将被使用的情况下,实现该种API是不切实际的。 另外,由于对设备设计了通用设备接口(例如USB(通用串行总线)),因此几乎不可能预先 知道关于经由该设备接口控制装置的API。

发明内容
本发明提供一种实质上消除由相关技术的限制和缺陷造成的一个或多个问题的 图像形成装置、功能追加方法及计算机可读记录介质。在下面的描述中阐述本发明的特点和优点,并且从该描述和附图中本发明的特点 和优点将部分地变得清楚,或可以通过根据在描述中提供的宗义实践本发明来领会本发明 的特点和优点。通过能使本领域普通技术人员实践本发明的完整、清楚、简洁及准确的术语 在说明书中特定指出的图像形成装置、功能追加方法及计算机可读记录介质,将实现和获 得本发明的其它特征和优点以及目的。为了达到这些和其它优点并根据本发明的目的,如本文包含并广泛描述的,本发 明的实施例提供一种图像形成装置,包括应用平台,包括具有空实现的至少一个接口 ;及 应用部件,配置来将至少一个附加程序应用到接口,至少一个附加程序能够被动态地追加 到另一程序。当联系附图阅读时,通过下面的具体描述,本发明的其它目的、特征及优点将更清楚。


图1是说明根据本发明实施例的机器管理系统的示例性配置的示意图;图2是用于描述附加程序的示意图;图3是说明根据本发明实施例的图像形成装置的硬件配置的示意图;图4是说明根据本发明实施例的图像形成装置的软件配置的示意图;图5是用于描述追加新API的示例的示意图;图6是用于描述改变现有的API的示例的示意图;图7是说明根据本发明实施例的测试应用1215的功能配置的示意图;图8是描述根据本发明实施例设置测试条件和确定条件的操作的时序图;图9是描述根据本发明实施例的测试应用1215的操作的序列图;图10是描述根据本发明实施例的包括资源数据获取处理和有效性确定处理的操 作的第一示例的序列图;及图11是描述根据本发明实施例包括资源数据获取处理和有效性确定处理的操作 的第二示例的序列图。
具体实施例方式图1是说明根据本发明实施例的机器管理系统1000的示例性配置的示意图。图1 中的机器管理系统1000包括由例如办公室的LAN(局域网)等网络40连接的图像形成装 置10和管理装置20。网络40可以是有线网络或无线网络。在本实施例中,图像形成装置10是具有在单个外壳中提供的多个功能(例如,复 印机功能、传真功能、打印机功能、扫描仪功能等)的图像形成装置。可选择地,图像形成装 置10可以是提供上述多个功能之一的图像形成装置。管理装置20是例如执行附加程序的管理并将附加程序传送到图像形成装置10的 计算机,上述附加程序要被应用到在图像形成装置10中使用的程序上。在本实施例中,“附 加程序”指能够动态地中断预定处理(在附加程序中限定的程序)并能够被追加到图像形 成装置10的目标程序的特定位置的程序。图2是用于描述附加程序的示意图。图2表示程序501的虚拟存储器的指令布置, 对程序501要应用(追加)附加程序505。在追加附加程序505之前的情况(以正常顺序 执行指令的布置的情况)下,程序501顺序执行指令1、指令2及指令3。附图标记501a表 示正在追加附加程序505的状态下的程序501。在图2说明的示例中,在指令1和指令2之 间追加附加程序505的处理。在该情况下,以分支指令代替指令2,并根据表格502执行指 令2。定义表格502以在初始化处理、预处理(例如,将变量追加到堆栈中)、调用附加程序 505的处理及后处理(例如,从堆栈中提取所追加的变量)之后执行指令2,然后返回到程 序501a中的指令3。换句话说,在应用(追加)附加程序的情况下,当指令到达要被追加附加程序的目 标程序的预定位置时执行附加程序的处理。在执行附加程序的处理之后,处理的控制返回 到目标程序。然后,目标程序从追加了附加程序的位置开始继续执行剩余处理。附加程序不仅包括要被追加的处理(中断处理)的信息,而且还包括目标程序的信息和识别要被追 加附加程序的处理的位置的信息。在附加程序中可以涉及例如关于目标程序的变量的数据。因此,可以通过使用附 加程序来执行例如用于输出目标程序的特定位置的日志数据(例如,变量值)的处理、用于 校正程序缺陷的处理或用于实现新功能的处理的中断(追加)。因此,在不必执行源代码的校正、编辑及链接并且也不必执行重新安装的情况下, 附加程序可以动态地执行日志数据的输出、程序缺陷的校正或功能的加强。在本实施例中,将附加程序应用(追加)到目标程序并使附加程序运行的动作被 称为附加程序的“生效”。即,在本实施例中,使附加程序生效是将附加程序装载到存储器 中,并对目标程序追加(插入)所装载的附加程序的分支指令(处理)。换句话说,仅通过 将附加程序传送到图像形成装置10中,附加程序是不运行(不操作)的。即,为了对目标程 序追加(中断)分支指令(处理),要使附加程序生效。另一方面,在从目标程序释放(移 除)附加程序的情况下,附加程序“失效”。图3是说明根据本发明实施例的图像形成装置10的硬件配置的示意图。在图3 中,图像形成装置10包括例如CPU 10URAM 102,ROM 103、HDD104、扫描仪105、打印机106、 操作面板(控制面板)107、SD卡槽108、USB端口 109及网络接口 110等硬件部件。在ROM 103中保存(记录)用于程序的各种程序和数据。RAM 102用作其中保存 (记录)了要被装载的程序的区域,或用作用于要对所装载的程序执行的各种处理的工作 区。CPU 101通过执行所装载的程序中的处理来完成各种功能。程序及由该程序使用的各 种程序也可以保存在HDD 104中。扫描仪105用于从文档等中读出图像数据。打印机106 用于将图像数据打印到打印纸的页面上。操作面板107包括用于从用户接收输入的输入部 件和用于向用户显示各种数据的显示部件(例如,液晶面板)。SD卡槽108用于读出在SD 卡50中记录的程序。在图像形成装置10中,不仅将在ROM 103中记录和保存的程序装载 到RAM 102中并进行执行,而且,也可以将在SD卡50中记录的程序装载到RAM 102中并进 行执行。USB端口 109是用作USB(通用串行总线)接口的连接器。网络接口 110是用于连 接到网络(例如无线网络、有线网络)的硬件接口。图4是说明根据本发明实施例的图像形成装置10的软件配置的示意图。在图4 中,图像形成装置10包括例如标准应用121、SDK(软件开发工具包)应用122、SDK平台 123、虚拟应用服务(VAS) 124、控制服务125、附加程序控制部件1 及OS (操作系统)127。标准应用121包括要被预先实现(例如,在装运之前实现)的、标准化的应用程序 组。在图4中,标准应用121包括扫描仪应用1211、打印机应用1212、复印机应用1213、传 真机应用1214及测试应用1215。扫描仪应用1211执行扫描作业。打印机应用1212执行 打印作业。复印机应用1213执行复印作业。传真机应用1214执行传真发送作业和传真接 收作业。在例如使用新功能增强(加强)图像形成装置10的应用平台的情况下,测试应用 1215执行测试以确定新功能的有效性。下面具体描述图像形成装置10的应用平台的范围。控制服务125是对上级应用等(例如标准应用121、SDK平台123)提供用于控制 硬件资源等(API)的功能的软件摸块组。在图4中,控制服务125包括操作面板控制服务 (OCS) 1251、引擎控制服务(ECS) 1252、传真控制服务(FCS) 1253、网络控制服务(NCS) 1254 及系统控制服务(SCS) 1255。OCS 1251提供用于对操作面板107执行控制的API。ECS 1252提供用于对例如扫描仪105和打印机106等图像形成部件的引擎部分执行控制的API。 FCS1253提供用于对传真执行控制的API。NCS 12 提供用于对网络通信执行控制的API。 SCS 1255提供用于对图像形成装置10内的系统管理执行控制的API或用于对图像形成装 置10的各种数据执行控制的API。VAS 124介于控制服务125及其上级应用(例如标准应用121、SDK平台123)之 间。更具体地,VAS IM对上级应用提供控制服务125的预先包装的API。通过以VAS 124 包装控制服务125,能够从上级应用隐藏控制服务125的API。作为结果,VAS 124能够吸 收由于例如控制服务125的升级而产生的API的改变,并能够通过升级获得用于上级应用 的兼容性。SDK应用122是在图像形成装置10装运之后另外开发并实现的应用程序,该应 用程序用作扩展图像形成装置10的功能的插件程序。在图4中,SDK应用122包括应用A 1221、应用B 1222及SDK测试应用1223。应用A和B是用于提供预定服务的SDK应用122。 例如,应用A 1221可以是由厂商A开发的SDK应用122,应用B 1222可以是由厂商B开发 的SDK应用122。在对图像形成装置10的应用平台执行功能增强等情况下,SDK测试应用 1223执行测试,以从对SDK平台123是否产生影响的角度确定功能的增强是否有效SDK平台123提供用于执行SDK应用122的环境。使用由SDK平台123提供的 API (类别库)开发各个SDK应用。SDK平台123提供Java(注册商标)语言的API,与由 控制服务125提供的API相比,该API较少地依赖机器并具有较高的开发效率。因此,以 Java(注册商标)来实现SDK应用122。在图4中,SDK平台123包括Java(注册商标)虚 拟机。因此,SDK应用122可以使用Java(注册商标)标准的类别库。要注意,在本实施例中,SDK应用122和SDK平台123被记录在SD卡50中。SDK 应用122和SDK平台123也可以被记录在其它便携式计算机可读记录介质(例如USB存储 器、⑶-ROM)中。此外,也可以在网络中分配并从网络获得SDK应用122和SDK平台123。图4说明其中将SDK应用122和SDK平台123从SD卡50装载到虚拟存储器中的 情况。附加程序控制部件1 接收从管理装置20传送的附加程序并将附加程序装载到 RAM 102中。此外,附加程序控制部1 根据从管理装置20发送的指令来对附加程序执行 控制(例如有效或无效)。OS (操作系统)127包括例如设备驱动器1271。作为线程操作图像形成装置10中 的每一个软件应用并由OS 127进行处理。设备驱动器1271对连接到图像形成装置10的 通用设备接口(例如USB端口 109)的设备执行控制。除了 SDK应用122和SDK平台123之外(排除Java (注册商标)虚拟机),图4中 说明的图像形成装置10的程序是本地代码,即,被转换为可以由CPUlOl执行的机器语言的程序。在图4中,在假设SDK平台123是狭义上的应用平台的情况下,可以认为SDK平台 123、VAS IM及控制服务125对应于广义上的应用平台(用于实现应用平台的一部分)。 这是由于,虽然SDK应用122的开发商仅可以看得见SDK平台123,但是VAS IM及系统控 制125对于SDK平台123起作用也是必需的。在根据本发明的实施例的下面的描述中,被 简称为“应用平台”的术语指由SDK平台123、VAS 1 及控制服务125构成的部分。S卩,在本实施例中,由包括以降顺排列的SDK平台123、VAS 124及控制服务125的多个层构成应
用平台。如图4所示,形成应用平台的各个层123、124、125包括以附图标记“a”表示的部 分和以附图标记“b”表示的部分。“a”部分是用于在不必执行例如译码和编译的情况下使 新API被实质上追加的实现部分。“b”部分是用于在不必执行例如译码和编译的情况下使 处理的内容(执行内容)被改变的实现部分。然而,对于“b”部分不要求特别的实现处理 被执行。这是由于通过追加(应用)附加程序,可以动态地改变已经存在的API。因此,“b” 部分可以是表示要被追加附加程序的位置的部分。技术上,在不执行例如译码和编译(特定地,本地代码)的情况下不能追加新 API。因此,根据本发明的实施例,虚拟地完成新API的追加。更具体地,以空函数(blank function)或方法(下文也称为伪函数(dummy function))来实现“a”部分。术语“空”不 限于完全的空函数或方法(在函数中不写入内容),而是可以是实质上的空函数或方法。实 质上的空函数或方法可以是不具有用于完成特定功能的所写入的任何步骤的函数。例如, 日志的记录步骤(记录函数的调用的步骤)不是用于完成特定功能的步骤。因此,即使函 数包括日志的记录步骤,该函数也被认为是实质上的空函数或方法。此外,即使函数包括提 供了要追加附加程序的位置的虚构步骤,这也不会影响必须是空的函数或方法的要求。应用平台的各个层的伪函数的数量可以是单数或复数。此外,可以例如以fimcl 和fimc2任意设置函数的名称。自变量或返回值的类型优选是能够保存或引用的任意类型 的数据。通过使用附加程序执行伪函数的实现(implementing)。通过伪函数设置要追加附 加程序的位置。通过以伪函数应用附加程序,当调用伪函数时可以执行在附加程序中实现 的处理。作为结果,可以将用于完成在初始应用平台中没有包括的功能的新API实质地追 加到例如SDK平台123、VAS 124及控制服务125。实现伪函数的位置(部分)或应用附加程序的目标可以限于被转换(编译)为本 地代码(可由CPU 101执行的代码)的部分。换句话说,在执行追加新API或改变现有的 API的情况下,以Java(注册商标)实现的部分不必须要求伪函数的实现或附加函数的应 用。这是由于,以Java(注册商标)实现的部分具有高的扩展性,并且容易追加新API。此 外,这是由于,归因于例如Java(注册商标)语言的继承性,因此可以容易地改变现有的API 的处理。然而,以上描述不意味着排斥其中在以Java(注册商标)实现的部分中实现伪函 数或将附加功能追加到以Java(注册商标)实现的部分的实施例。在根据本发明的实施例的应用平台中,SDK平台123的API部分是以Java(注册 商标)实现的部分,而VAS IM和控制服务125是被转换为本地代码的部分。下面具体描述追加新API的示例。图5是用于描述追加新API的示例的示意图。 在图5说明的示例中,经由USB端口 109将新设备30 (例如用于完成Z形折叠的设备)连 接到图像形成装置10。在OS 127的级别,可以经由设备驱动器1271以通用API (例如,输 入输出控制(ioctl))控制新设备30。然而,同时,在该情况下,应用平台123、124、125还没 有装配用于控制新设备30的API。在图5说明的示例中,在控制服务125中实现附加程序131,在VAS 124中实现附 加程序132。更具体地,在该示例中,要实现附加程序131的位置是SCS 1255的“a”部分的伪函数(下文称为“SCS伪函数”)。此外,要实现附加程序132的位置是VAS IM的“a” 部分的伪函数(下文称为“VAS伪函数”)。要注意,下文将SCS 1255的“a”部分表示为 “SCS125fe”,将VAS 124的“a”部分表示为“VAS12^”,并且也以相同的方式表示应用平台 的其它层的“a”部分(例如,下文将SDK平台123的“a”部分表示为“SDK123a”)。管理装 置20保存所实现的附加程序131、132并管理所保存的附加程序131、132。将具有用于接收 新设备30的控制请求的方法的新类别的类别文件追加到SDK123a。例如,被应用到SCS伪函数的附加程序131具有被配置来根据SCS伪函数的自变 量值指明用于控制新设备30的自变量值并调用OS 127的相应的通用API (输入输出控制、 读或写)的实现(implementation)。例如,SCS伪函数的自变量可以表示指明了要在新设 备20上执行的控制的值。被应用到VAS伪函数的附加程序132具有被配置来根据VAS伪函数的自变量值指 明自变量值并调用相应的SCS伪函数的实现。换句话说,实现被应用到上级层的伪函数的 附加程序以调用下级层的相应的伪函数。要注意,对VAS伪函数指明的自变量值在不被转 换的情况下也可以被用作对SCS伪函数指明的自变量值(即,可以不予改变地使用自变量 值)。作为可选择的例子,对VAS伪函数指明的自变量值可以被转换,并且转换后的值可以 是对SCS伪函数指明的自变量值。在希望更多的摘要值或更多的通用值被指明作为VAS伪 函数的自变量的情况下,该可选择的例子是有效的。将类别追加到SDK123a的方法具有被配置来根据已指明的自变量值的内容来指 明自变量值并调用相应的VAS伪函数的实现。要注意,对类别的追加方法指明的自变量值 在不被转换的情况下也可以被用作对VAS伪函数指明的自变量值(即,可以不予改变地使 用自变量值)。作为可选择的例子,对类别的追加方法指明的自变量值可以被转换,并且转 换后的值可以是对VAS伪函数指明的自变量值。在用户指示管理装置20将附加程序131、132传送到图像形成装置10的情况下, 管理装置20传送附加程序131、132。当图像形成装置10的附加程序控制部件1 接收到 附加程序131、132时,附加程序控制部件1 使附加程序131、132有效。换句话说,将附加 程序131转换为被应用到SCS伪函数的状态,并且将附加程序132转换为被应用到VAS伪 函数的状态。当附加程序131被应用到SCS伪函数并且附加程序132被应用到VAS伪函数时, SDK应用122可以控制或使用新设备30。图5说明应用A 1221正在控制新设备30的情 况。即,应用A 1221调用将类别追加到SDK平台123a的方法(步骤Sll)。对应于由应用 A 1221请求的控制的内容的值被指明作为追加类别的方法的自变量。追加类别的方法的 自变量包括与由应用A 1221请求的控制的内容一致指明的值。追加类别的方法根据由该 方法实现的内容来调用VAS伪函数(步骤S12)。从而,响应于VAS伪函数的调用来执行附 加程序132。因此,作为结果,实质上由VAS伪函数调用SCS伪函数(步骤S13)。然后,响 应于SCS伪函数的调用来执行附加程序131。从而,作为结果,实质上由SCS伪函数调用OS 127的API (例如,输入输出控制、读、写)(步骤S14)。由SCS伪函数调用的API依赖于由 SCS伪函数指明的自变量值。响应于所调用的API,0S 127经由设备驱动器1271执行对新 设备30的控制(步骤Sl5)。从而,通过本发明上述实施例,即使在图像形成装置10的应用平台没有装配用于控制新设备的API的情况下,也可以通过使用伪函数和附加程序131、132将相应于新设备 30的API追加到图像形成装置10的应用平台。下面,具体描述改变现有的API的示例。图6是用于描述改变现有的API的示例 的示意图。作为图6中描述的图像形成装置的先决条件,预先将关于预定硬件设备(例如, 扫描仪105、打印机106或操作面板107)的数据报告给SCS 1255,并由SCS 1255管理预定 硬件设备的参数(下文称为“参数A”)。然而,虽然参数A用于确定由SCS 1255进行的处 理,但SDK应用122初始不需要参数A。因此,作为为了提供预定硬件的数据(下文也称为 “数据获取函数S”)要在SCS 1255的API中提供的目标(返回值的目标),在SCS 1255中 初始不包括参数A。在以上情况下图6说明使SDK应用122能够参考参数A的示例。在图6的示例中,要作为包括数据获取函数S的SCS的一部分来实现附加程序 133。此外,要作为包括VAS IM的现有函数(下文也称为“数据获取函数V”)的一部分来 实现附加程序133,VAS IM的现有函数被配置来通过调用数据获取函数S获得数据并将所 获得的数据提供给例如SDK平台123。管理装置20保存所实现的附加程序133、134,并管 理所保存的附加程序133、134。要被应用到数据获取函数S的附加程序133包括用于将参数A追加到例如数据获 取函数S的现有返回值的实现。例如,可以通过增加返回值的字节数并在通过增加字节数 获取的空间中保存参数A来追加参数A。要被应用到数据获取函数V的附加程序134包括 用于将来自数据获取函数S的返回值中包括的参数A追加数据获取函数V的返回值的实 现。在SDK平台123中实现现有类别的子类别,该子类别具有用于提供通过由SDK应 用122调用数据获取函数V获取的数据的方法(下文称为“数据获取方法”)。忽略子类别 的数据获取方法。忽略的内容是将在来自数据获取函数V的返回值中包括的参数A追加到 数据获取方法的返回值。在用户指示管理装置20将附加程序133、134传送到图像形成装置10的情况下, 管理装置20将附加程序133、134传送到图像形成装置10。当图像形成装置10的附加程序 控制部件1 接收到附加程序133、134时,附加程序控制部件1 使附加程序133、134有 效。换句话说,将附加程序133变为被应用到数据获取函数S的预定位置的状态,并且将附 加程序134变为被应用到数据获取函数V的预定位置的状态。当附加程序133被应用到数据获取函数S的预定位置并且附加程序134被应用到 数据获取函数V的预定位置时,SDK应用122可以获取参数A。图6说明SDK应用122获取 包括参数A的预定设备30的数据的情况。预先将包括参数A的预定设备30的数据报告给SCS 1255,并由SCS 1255管理该 数据(步骤S21)。然后,应用A 1221调用SDK平台123的数据获取方法(步骤S22)。然 后,通过SDK平台123的数据获取方法的所忽略的部分调用数据获取函数V(步骤S2!3)。然 后,一如既往,数据获取函数V调用数据获取函数S (步骤S24)。在处理数据获取函数S的 过程中,当到达要应用附加程序133的位置时执行附加程序133。附加程序133执行包括将 由SCS1255管理的参数A变为SCS 1255的返回值的处理。例如,附加程序133使SCS 1255 获取在存储器102中记录的参数A的值,并使从存储器102获取的值被追加到处理数据获 取函数S的返回值。当处理的控制返回到数据获取函数S时,将追加了参数A的返回值返回到数据获取函数V (步骤S2Q。然后,当到达要应用附加程序134的位置时执行附加程序 134。附加程序134执行将在数据获取函数S的返回值中包括的参数A追加到数据获取函 数V的返回值的处理。当处理的控制返回到数据获取函数V时,将追加了参数A的返回值 返回到数据获取方法(步骤S26)。然后,数据获取方法将包括通过SDK平台123的所忽略 的部分追加的参数A的返回值返回到应用A 1221(步骤S27)。从而,应用A 1221可以执行 使用参数A的处理。应该注意,可以通过追加新API来完成参数A的获取。可以通过参考上述图5中 说明的示例来理解怎样通过追加新API来获取参数A,从而省略其进一步的解释。下面具体描述例如为了应用附加程序测试新API的追加或现有API的改变的有效 性(即,功能加强的有效性)的示例。通过测试应用1215或SDK测试应用1223来执行有 效性的测试。图7是说明根据本发明实施例的测试应用1215的功能配置的示意图。在图7中, 测试应用1215包括例如设置部分1215A、获取部分1215B及确定部分1215C。设置部分1215A接收各种设置(例如,测试条件、确定条件),设置测试条件、确 定条件等,并在HDD 104中记录所设置的测试条件、确定条件等。在本实施例中,测试条件 包括表示要能从中获取资源使用状态(例如,表示资源的消耗量的数据,下文称为“资源数 据”)的资源的数据和表示用于获取资源数据的时序的数据。换句话说,测试条件表示用于 获取资源数据的方法。测试条件可以是例如表示获取一秒时间间隔中每秒CPU的使用率或 获取一秒时间间隔中虚拟存储器的使用率(或物理存储器的使用率)的方法的数据。虚拟 存储器的使用率(或物理存储器的使用率)可以被用作用于抓取频率(在该频率上交换 (swapping)发生)的数据。当交换的频率变得较高时,图像形成装置10的性能倾向于极大 地下降。因此,抓取交换的频率是用于测试有效性的非常重要的因素。在测试条件中可以包括用于获取资源数据的时间段(period)(开始时间、结束时 间或从开始获取资源数据起过去的时间)。要注意,能从中获取资源数据的资源不限于单一 资源。例如,该资源不限于RAM 102、CPU 101、HDD 104或硬件设备(例如,电源)。例如, 该资源也可以是图像形成装置10的软件构件(例如,图像形成装置10的文件描述符或虚 拟存储器)。确定条件可以是表示用于确定功能加强的有效性的标准的数据。确定条件被设置 为相应于根据测试条件获得的资源数据的条件。确定条件可以是例如表示与在应用附加程 序之前CPU的平均使用率相比CPU的平均使用率将不超过+15%的条件,或表示与在应用 附加程序之前虚拟存储器的平均使用率相比虚拟存储器的平均使用率将不超过+10%的条 件。要注意,确定条件不必限于与在应用附加程序之前的资源相比。例如,确定条件可以是 与绝对值相比(例如,表示CPU的平均使用率将不超过XX的条件)。获取部分1215B根据测试条件获取资源数据。确定部分1215C基于从获取部分 1215B获取的资源数据和确定条件来确定有效性。要注意,SDK测试应用1223可以具有与测试应用1215实质上相同的功能配置。 然而,由于SDK测试应用1223在Java(注册商标)机上进行操作,因此,基于Java(注册商 标)机处理的虚拟资源的资源数据来确定有效性。下面描述测试有效性的操作。图8是描述根据本发明实施例设置测试条件和确定条件的操作(过程)的时序图。在将附加程序从管理装置20传送到图像形成装置10之前 执行图8说明的操作。在图8说明的示例中,管理员等设置测试条件和确定条件(步骤S101)。经由在经 网络40连接到图像形成装置10的测试应用1215的设置部分1215A的操作面板或PC (个人 计算机)上显示的设置屏幕来执行该设置。然后,设置部分1215A在HDD 104中记录(保 存)所设置的测试条件和确定条件(步骤S102)。要注意,在测试应用1215和SDK测试应用1223上都执行图8中的操作。图9是描述根据本发明实施例的测试应用1215的操作的序列图。测试应用1215的获取部分1215B根据例如由设置部分1215A设置的测试条件等 开始获取资源数据,并在HDD 104中记录所获取的资源数据(步骤S201)。可以根据测试条 件周期性地执行资源数据的获取。然后,附加程序控制部件1 从管理装置20接收附加程和使附加程序有效的指令 (步骤S2(^)。然后,附加程序控制部件1 使所接收到的附加程序有效(步骤S20;3)。艮口, 将附加程序应用到要应用附加程序的预定位置。然后,附加程序控制部件1 对测试应用 1215报告附加程序的有效性(步骤S204)。可以在发送到测试应用1215的报告中指明附 加程序的标识符(程序ID)。即使在报告了附加程序的有效性之后,测试应用1215继续根据测试条件获取资 源(步骤S205)。然而,要注意,测试应用1215以在报告附加程序的有效性之前和之后获 取的资源数据可以被互相辨别的方式,记录在报告附加程序的有效性之前获取的资源数据 (在步骤S201中获取的资源数据)和在报告附加程序的有效性之后获取的资源数据。例如, 先前的和后来的资源数据可以被记录在不同的文件中,或用于表示附加程序的有效性的栏 可以被追加到按时间发生顺序记录的资源数据的历史中。然后,测试应用1215的确定部分1215C基于所获取的资源数据和预定的确定条件 来确定有效性(步骤S206)。在确定条件是表示在使附加程序有效之前的资源数据和在使 附加程序有效之后的资源数据之间的比较关系的条件的情况下,确定部分1215C基于在步 骤S201获取的资源数据和在S205获取的资源数据之间的差别值并基于确定条件来确定有 效性。在该情况下,认为在使附加程序有效之前的资源数据和在使附加程序有效之后的资 源数据之间的差别影响了应用附加程序。可选择地,在确定条件是表示与绝对值的比较的条件的情况下,确定部分1215C 基于在步骤S205获取的资源数据和绝对数据之间的比较关系来确定有效性。在步骤S206,在可以指定用于基于测试条件获取资源数据的时间限制的情况下, 可以当达到指定时间限制时自动执行有效性的确定。可以通过指明测试条件的限制来执行 指定用于获取资源数据的时间限制的情况。例如,可以指明获取资源数据的次数(例如10 次),或可以指明用于获取资源数据的时间段(例如30分钟)。另一方面,在不能指定用于 基于测试条件获取资源数据的时间限制的情况下,在使附加程序有效之后在预定时间过去 之后通过确定部分1215C自动执行有效性确定,或根据用户经由例如操作面板107输入的 指令来执行有效性确定。然后,确定部分1215C将确定结果(表示追加有效或无效的数据)报告给附加程 序控制部件126(步骤S207)。附加程序控制部件1 根据确定结果执行处理。例如,在确定结果表示功能加强无效的情况下,附加程序控制部件1 使附加程序无效(步骤S208)。 另一方面,在确定结果表示功能加强有效的情况下,附加程序控制部件126使附加程序有 效。下面,具体描述资源数据获取处理(步骤S2(^)和有效性确定处理(步骤S206)。图10是描述根据本发明实施例的包括资源数据获取处理和有效性确定处理的操 作的第一示例的序列图。响应于图9的步骤S204报告附加程序有效开始图10的操作。测试应用1215的获取部分1215B请求设置部分1215A获取测试条件(步骤S301)。 然后,设置部分1215A获取在HDD 104中保存的测试条件并将测试条件输出到获取部分 1215B(步骤S302)。然后,获取部分1215B根据测试条件获取资源数据。在图10说明的示 例中,周期性地获取资源数据(即,通过轮询(polling)获取资源数据)。在通过轮询获取 资源数据的情况下,测试条件优选包括表示例如轮询时间段、轮询时间间隔及受到轮询的 资源的识别数据的数据。图10中的以短划线说明的上部矩形区域表示经由专用于轮询资源数据的控制服 务125的API获取资源数据的步骤(步骤S303)。在该情况下,获取部分1215B请求控制服 务125执行用于经由VAS IM获取资源数据的轮询。根据来自获取部分1215B的请求,控 制服务125执行用于获取资源数据的轮询,并将轮询的结果输出到获取部分1215B。图10中的以短划线说明的下部矩形区域表示其中获取部分1215B关于OS 127直 接执行用于获取资源数据的轮询的步骤。只要执行轮询,就将经由OS 127获取的资源数据 返回到获取部分1215B。根据指定要由测试条件获取的资源的资源数据(目标资源数据),步骤S303和 S304的内容可以不同。例如,在可由控制服务125获取的资源数据不是目标资源数据的情 况下,不执行步骤S303。要注意,在图9的步骤S201中也执行在图10的步骤S301-S304中执行的处理。在获取资源数据之后(例如,在测试条件中指定的资源获取时间段已经过去之 后),确定部分1215C请求设置部分1215A获取确定条件(步骤S3(^)。设置部分1215A获 取在HDD 104中保存的确定条件,并将确定条件输出到确定部分1215C(步骤S306)。然后, 确定部分1215C基于确定条件和由获取部分1215B获取的资源数据来确定有效性(步骤 S307)。虽然在图10说明的通过轮询获取(测量)资源数据的第一示例中,可能很难检测 瞬间消耗的资源的最大数量,但是在检测在预定单位时间中资源消耗的平均值具有重要意 义的情况下第一示例是适合的。例如,在CPU使用率或虚拟存储器使用率方面,检测CPU或 虚拟存储器的平均消耗(使用)是重要的。因此,通过轮询获取(测量)资源数据的第一 示例是适合的。在通过轮询获取资源数据的情况下,优选例如将轮询的时间间隔延长到不影响由 图像形成装置执行的作业的工作量的程度,或考虑到通过轮询造成的工作量而调节(校 正)资源数据。下面,图11是描述根据本发明实施例包括资源数据获取处理和有效性确定处理 的操作的第二示例的序列图。可以作为图10说明的操作的替换来执行图11的操作。步骤S401和S402与图10中的步骤S301和S302实质相同。在步骤S401和S402之后,检测应用1215的获取部分1215B注册(记录)关于OS 127的回调函数及用于调用 关于OS 127的回调函数的条件(下文也称为“调用条件”)(步骤S403)。回调函数基于预 定测试条件。例如,图11的第二示例的测试条件是某资源的资源数据是否已经变为预定状 态(例如,CPU的使用率已经超过)。因此,在该情况下,调用条件是“CPU的使用率已 经超过N%”。可以通过OS 127注册分别具有不同的调用条件的多个调用函数。然后,在根据与从硬件设备获取的资源状态的改变相关联报告的事件,OS 127检 测到满足至少一个所记录的调用条件的情况下,OS 127调用回调函数(步骤S405)。响应于回调函数的调用,检测应用1215的确定部分1215C请求设置部分1215A获 取确定条件(步骤S406)。设置部分1215A获取在HDD 104中保存的确定条件,并将所获取 的确定条件输出到确定部分1215C(步骤S407)。然后,确定部分1215C基于确定条件和与 所调用的回调函数相关的调用条件(测试条件)来确定有效性(步骤S408)。例如,在确定 条件是“CPU的使用率等于或小于70%”而调用条件是“CPU的使用率已经变得等于或大于 70%”的情况下,不满足对回调函数的调用所响应的确定条件。因此,确定部分1215C确定 功能加强无效。图11中的通过事件驱动型方法获取(测量)资源数据的第二示例适合于检测瞬 间消耗的资源的最大数量具有重要意义的情况。例如,在例如具有限制大小的文件描述符 等资源数据方面,即使当消耗瞬间发生时检测消耗的最大数量也是重要的。因此,通过事件 驱动型方法获取(测量)资源数据的第二示例是适合的。虽然使用图9-11描述测试应用1215,但是也可以以相同的方式描述SDK测试应用 1223。在本发明的上述实施例中,在SDK应用122调用被追加或被改变的API的情况下 (例如,图5或6中的应用A 1221),关于资源数据的获取同步执行API的调用。可选择地, 要调用API的SDK应用122可以在调用API的时序上执行资源数据的获取,并基于所获取 的资源数据来确定有效性。可选择地,在调用API的时序上,SDK应用122可以将API的调 用报告给测试应用1215或SDK测试应用1223。从而,测试应用1215或SDK测试应用1223 可以响应于来自SDK应用122的报告获取资源数据。因此,当调用API时可以适时地获取资源数据。作为结果,可以基于适时获取的资 源数据来确定有效性。因此,通过根据本发明上述实施例的图像形成装置10,可以容易地执行新API的 追加或现有API的改变。此外,可以适当地测试追加新API或改变现有API的影响。因此, 可以防止由于API的追加或改变造成的图像形成装置10性能的极大下降。本发明不限于特定揭示的实施例,在不脱离本发明的范围的情况下可以进行修改 和变型。本申请基于在2009年12月14日递交的日本优优先权申请No. 2009483310,并将 它们的全部内容并入本文作为参考。
权利要求
1.一种图像形成装置,包括应用平台,包括具有空实现的至少一个接口 ;及应用部件,配置来将至少一个附加程序应用到所述接口,所述至少一个附加程序能够 被动态地追加到另一程序。
2.根据权利要求1所述的图像形成装置,其中应用平台包括多个层,其中对多个层中 的每一个提供具有空实现的接口,并且其中应用部件被配置来将多个附加程序应用到对多 个层中的相应层提供的接口,其中多个层中的上级层的多个附加程序之一被配置来调用多 个层中的下级层的接口。
3.根据权利要求1所述的图像形成装置,进一步包括获取部件,配置来响应于应用部件应用附加程序,获取图像形成装置的资源数据;及确定部件,配置来通过将所获取的资源数据与预定的确定条件相比较,确定附加程序 的应用的有效性。
4.根据权利要求3所述的图像形成装置,其中获取部件被配置来在应用附加程序之前 获取资源数据,并且其中确定部件被配置来基于在应用附加程序之前获取的资源数据和预 定确定条件来确定所述有效性。
5.一种功能追加方法,所述功能追加方法用于操作包括应用平台的图像形成装置,所 述应用平台包括具有空实现的至少一个接口,所述功能追加方法包括以下步骤应用步骤,将至少一个附加程序应用到所述接口,所述至少一个附加程序能够被动态 地追加到另一程序。
6.根据权利要求5所述的功能追加方法,其中应用平台包括多个层,其中对多个层中 的每一个提供具有空实现的接口,其中应用步骤包括将多个附加程序应用到对多个层中的 相应层提供的接口的步骤,并且其中多个层中的上级层的多个附加程序之一被配置来调用 多个层中的下级层的接口。
7.根据权利要求5所述的功能追加方法,进一步包括以下步骤获取步骤,响应于附加程序的应用,获取图像形成装置的资源数据;及确定步骤,通过将所获取的资源数据与预定的确定条件相比较,确定附加程序的应用 的有效性。
8.根据权利要求7所述的功能追加方法,其中获取步骤包括在应用附加程序之前获取 资源数据的步骤,并且其中确定步骤包括基于在应用附加程序之前获取的资源数据和预定 确定条件来确定所述有效性的步骤。
9.一种计算机可读记录介质,在所述计算机可读记录介质上记录用于使图像形成装置 的计算机执行功能追加方法的程序,所述图像形成装置包括应用平台,所述应用平台包括 具有空实现的至少一个接口,所述功能追加方法包括以下步骤应用步骤,将至少一个附加程序应用到所述接口,所述至少一个附加程序能够被动态 地追加到另一程序。
10.根据权利要求9所述的计算机可读记录介质,其中应用平台包括多个层,其中对多 个层中的每一个提供具有空实现的所述接口,其中应用步骤包括将多个附加程序应用到对 多个层中的相应层提供的接口的步骤,并且其中多个层中的上级层的多个附加程序之一被 配置来调用多个层中的下级层的接口。
11.根据权利要求9所述的计算机可读记录介质,其中所述功能追加方法进一步包括 以下步骤获取步骤,响应于附加程序的应用,获取图像形成装置的资源数据;及 确定步骤,通过将所获取的资源数据与预定的确定条件相比较,确定附加程序的应用 的有效性。
12.根据权利要求11所述的计算机可读记录介质,其中获取步骤包括在应用附加程序 之前获取资源数据的步骤,并且其中确定步骤包括基于在应用附加程序之前获取的资源数 据和预定确定条件来确定所述有效性的步骤。
全文摘要
本发明提供一种图像形成装置、功能追加方法及计算机可读记录介质。图像形成装置,包括应用平台,包括具有空实现的至少一个接口;及应用部件,配置来将至少一个附加程序应用到所述接口,所述至少一个附加程序能够被动态地追加到另一程序。
文档编号H04N1/00GK102123217SQ20101059205
公开日2011年7月13日 申请日期2010年12月13日 优先权日2009年12月14日
发明者大桥英树, 大石勉 申请人:株式会社理光
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1