CN101296289B - 成像设备、信息处理方法 - Google Patents
成像设备、信息处理方法 Download PDFInfo
- Publication number
- CN101296289B CN101296289B CN2008100948047A CN200810094804A CN101296289B CN 101296289 B CN101296289 B CN 101296289B CN 2008100948047 A CN2008100948047 A CN 2008100948047A CN 200810094804 A CN200810094804 A CN 200810094804A CN 101296289 B CN101296289 B CN 101296289B
- Authority
- CN
- China
- Prior art keywords
- information
- function
- service module
- unit
- interface
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Facsimiles In General (AREA)
- Accessory Devices And Overall Control Thereof (AREA)
- Stored Programmes (AREA)
Abstract
提供了一种能够执行应用程序的成像设备和信息处理方法。在所述成像设备中,布置多个接口提供单元,每个接口提供单元向所述应用程序提供使得该应用程序能够使用所述成像设备的功能的接口。选择单元基于对存储在存储设备中且指示所述多个接口提供单元中的每一个的执行环境的信息和存储在所述存储设备中且指示所述成像设备的执行环境的信息的比较结果来选择所述多个接口提供单元中的至少一个,作为应用程序的使用对象。
Description
技术领域
本发明涉及一种能够执行应用程序的成像设备、信息处理方法及信息处理程序。
背景技术
近些年来,存在一种具有利用成像设备的功能的API(应用程序接口)的成像设备(被称为多功能外围设备)。该成像设备能够执行利用该API开发的应用程序。例如,参见日本特开专利申请No.2005-269619。
通常,成像设备的功能依成像设备的型号而不同。如果在API中按照原样反映功能差别,则软件开发者不得不为每种型号都开发应用程序。为了避免该情况,在API中表示成像设备的功能的抽象概念,以降低API的型号依赖性,并便于将利用API开发的应用程序部署到两个或更多型号的成像设备上。
然而,即使在API中同化了该功能差别,则除了功能差别之外还存在执行环境的差别。例如,存储器资源和CPU性能可能依型号而不同。并且,即使两个成像设备型号相同,它们所安装的应用程序的数目或是否存在外接存储器也可能并不相同。
因而,为了利用合并应用的系统(application-incorporated system)的有限资源实现最大性能,通过API调用的模块(被称为“服务模块”的模块)需要与实际执行环境一致的逻辑实现。一种可想象得到的提高性能的方法是在同一服务模块中实现与各种执行环境一致的逻辑。然而,该方法具有下面的问题。
首先,增大了服务模块的程序大小,并且增加了在存储器(RAM)上加载程序时所消耗的存储器的量。第二,存储器保护了实际并未使用的工作区域(堆栈区域等),这可能增加过度消耗的存储器的量。
对于其中合并了几个应用程序并且可用存储空间比通用计算机更有限的成像设备来说,这些问题非常重要。为此,希望提供多个服务模块,该多个 服务模块依据执行环境利用同一API提供相同的服务。然而,不希望让操作者来确定哪个服务模块适合于成像设备的执行环境,因为这将降低成像设备的操作的容易性。
发明内容
在本发明的一个方面中,本公开提供了一种其中消除了上述问题的改进的成像设备。
在本发明的一个方面中,本公开提供了一种使得应用程序能够使用多个软件模块中的适当软件模块的成像设备和信息处理方法,所述多个软件模块提供应用程序所使用的功能。
在解决或减少一个或多个上述问题的本发明的实施例中,本公开提供了一种能够执行应用程序的成像设备,该成像设备包括:多个接口提供单元,每个接口提供单元向所述应用程序提供使得该应用程序能够使用该成像设备的功能的接口;以及选择单元,其基于对存储在存储设备中且指示所述多个接口提供单元中的每一个的执行环境的信息和存储在所述存储设备中且指示所述成像设备的执行环境的信息的比较结果来选择所述多个接口提供单元中的至少一个,作为应用程序的使用对象。
在解决或减少一个或多个上述问题的本发明的实施例中,本公开提供了一种用于能够执行应用程序的成像设备的信息处理方法,该信息处理方法包括下述步骤:布置多个接口提供单元,每个接口提供单元向应用程序提供使得应用程序能够使用该成像设备的功能的接口;以及基于对存储在存储设备中且指示所述多个接口提供单元中的每一个的执行环境的信息和存储在所述存储设备中且指示所述成像设备的执行环境的信息的比较结果来选择所述多个接口提供单元中的至少一个,作为应用程序的使用对象。
根据本发明的实施例,可以提供一种成像设备和信息处理方法,其使得应用程序能够使用提供应用程序所使用的功能的多个软件模块中的适当的软件模块。
附图说明
通过下面结合附图进行的详细描述,本发明的其它目的、特征和优点将变得明显。
图1是示出了本发明的实施例中的成像设备的硬件结构的图。
图2是示出了本发明的实施例中的成像设备的软件结构的图。
图3是示出了提供功能信息的结构的图。
图4是执行条件信息的结构的图。
图5是用于解释连接管理器的功能的图。
图6是用于解释由本发明的实施例中的成像设备执行的过程的图。
图7是用于解释由连接管理器执行的服务模块选择过程的流程图。
图8是用于解释由连接管理器执行的服务模块选择过程的流程图。
图9是用于解释当可用存储空间不足时由连接管理器执行的过程的流程图。
图10是示出了服务模块信息的第一示例的图。
图11是示出了服务模块信息的第二示例的图。
图12是示出了服务模块信息的第三示例的图。
图13是示出了使用功能信息的示例的图。
图14是用于解释当外部服务器执行服务模块选择过程时由连接管理器执行的过程的序列图。
具体实施方式
将参考附图给出对本发明的实施例的描述。
图1示出了本发明的实施例中的成像设备的硬件结构。如图1中所示,成像设备10是电子装置的一个示例。通常,成像设备10是多功能外围设备。成像设备10的硬件包括控制器101、扫描仪106、打印机107、调制解调器108、网络接口109和操作面板110。
控制器101包括CPU 102、RAM 103、ROM 104和HDD 105。在ROM(只读存储器)104中,存储了各种类型的程序和程序所使用的数据。RAM(随机存取存储器)103用作用于加载程序的存储区域或所加载的程序的工作区域等。CPU(中央处理单元)102处理加载在RAM 103上的程序以实现稍后将描述的功能。HDD(硬盘驱动)105用作用于存储数据(诸如图像数据)的存储区域,通过执行程序而生成所述数据。在HDD 105中,也存储可以被安装或卸载的程序和程序所使用的数据。
扫描仪106是用于从文档中读取图像数据的硬件。打印机107是用于在 复印纸张上打印图像数据的硬件。调制解调器108是用于将成像设备10与电话线连接的硬件,并且使用该调制解调器108来经由电话线执行对图像数据的传真发送和接收。
网络接口109是用于将成像设备10与诸如LAN(局域网)的网络进行连接的硬件。所述网络可以是无线通信网络或有线通信网络。
操作面板110是具有一组按钮、液晶面板等的硬件,其适合于从用户接收输入和向用户提供操作信息。
图2示出了本发明的实施例中的成像设备的软件结构。如图2中所示,成像设备10的软件(程序)包括OSGi平台11、服务模块12、连接管理器13和应用模块14。当由成像设备10的CPU 102来执行这些软件项时,该软件项使CPU 102执行成像设备10的功能。
OSGi(开放服务网关初始化)平台11是OSGi组织提供的标准技术。OSGi平台11是一种为基于开放软件组件技术创建的基于JavaTM的软件组件(软件模块)提供执行环境的软件平台。以被称作“插件(bundle)”的软件组件的形式将基于JavaTM的软件安装在OSGi平台11上。每个插件是由单个的JAR(Java存档)文件构成的,并且彼此独立地安装各个插件。
服务模块12提供提取成像设备10的功能的接口(API)。服务模块12是响应于接口的调用而提供执行所述功能的服务的插件。依赖于要提供的服务的内容、服务的版本和服务的适当执行环境(例如,成像设备10的性能),在成像设备10中可以存在服务模块12的两个或更多的实例。例如,可以存在两个或更多的服务模块12,其中共享或重叠接口和服务内容。如图2中所示,在每个服务模块12中提供有提供功能信息文件121和执行条件文件122。换句话说,提供功能信息文件121和执行条件文件122与每个服务模块12相关联。
提供功能信息文件121是其中存储用于识别由相应服务模块12所提供的功能的信息(提供功能信息)的文件。图3是示出了提供功能信息的结构的图。
如图3中所示,将提供功能信息分成分层结构,包括大类,中间类和小类。对于大类,将成像设备的功能中被分类为大类(诸如由相应服务模块12提供的扫描、打印、传真等)的功能的标识符(识别信息)指定为大类。对于中间类,将被认为是大类功能的属性(诸如由相应服务模块12提供的彩色 /单色、可应用的纸张大小等)的功能的标识符(识别信息)指定为中间类。可以被指定为中间类的项(功能)可以根据被指定为大类的值而变化。对于小类,将被认为是大类功能的更详细属性(诸如由相应服务模块12提供的分辨率、双面等)的功能的标识符(识别信息)指定为小类。可以被指定为小类的项(功能)可以根据被指定为大类或中间类的值而变化。
执行条件文件122是其中存储描述服务模块12的执行条件的信息(执行条件信息)的文件。图4是示出了执行条件信息的结构的图。
如图4中所示,执行条件信息包含可用存储空间、要同时执行的服务模块、CPU性能、速度优先/存储器节约优先、要替换的服务模块等。
将执行相应服务模块12所需或推荐的可用存储空间的值指定为可用存储空间。将要与相应服务模块12同时(或并行)执行的服务模块12的标识符或ID指定为要同时执行的服务模块。对于CPU性能,指定执行相应服务模块12所需的推荐或最小CPU性能(时钟速度等)。对于速度优先/存储器节约优先,指定指示是根据速度优先方案还是根据存储器节约优先方案来创建服务模块12的信息。例如,当根据速度优先方案创建对作为扫描结果的压缩图像执行解压缩、编辑和再压缩的服务模块12时,确保有大量的工作存储器,并且对一个页面的图像数据共同执行块处理。另一方面,当根据存储器节约优先创建同一类型的服务模块12时,将一个页面的图像数据划分成一组图像数据部分,并且分别对每个图像数据部分执行处理。因而,根据是使用速度优先方案还是存储器节约优先方案,提供同一功能的服务模块12的内容(实体)在逻辑上不同。考虑到上述的情况,在执行条件信息中提供速度优先/存储器节约优先的项。对于要替换的服务模块,指定当安装相应服务模块12时该相应服务模块12强制替换的现有服务模块12的标识符或ID。
当安装服务模块12时,将提供功能信息文件121和执行条件文件122存储在HDD 105中。即,在创建服务模块12时,同时创建提供功能信息文件121和执行条件文件122,并且在服务模块12中提供这些文件。假设在本实施例中的提供功能信息文件121和执行条件文件122的文件标识符被布置为包括分配给相应服务模块12的特定ID(在下文中所称呼的)。在下文中,将分配给相应服务模块12的特定ID称为“服务ID”。因此,在本实施例中,可以基于文件标识符(即基于文件标识符中包含的服务ID)来识别该相应服务模块12。
将服务模块12与服务ID之间的关联独立地存储在HDD 105中。提供功能信息和执行条件信息的描述格式不限于预定的格式。例如,可以以XML(可扩展标记语言)来描述该提供功能信息和执行条件信息。
返回参考图2,将再次描述成像设备10的软件结构。应用模块14是构成用户直接使用的应用程序的插件。在下文中,也可以将应用程序称作应用。为了响应来自用户的需求,应用模块14通过服务模块12提供的接口来使用成像设备10的功能。根据应用的类型,在成像设备10中可以存在应用模块14的两个或更多的实例。
在每个应用模块14中提供使用功能信息文件141。换句话说,使用功能信息文件141与每个应用模块14相关联。
使用功能信息文件141是其中存储用于识别将由相应应用模块14所使用的功能的信息(使用功能信息)的文件。以与上述的提供功能信息相同的结构来定义使用功能信息。使用功能信息的项与提供功能信息的项对应。因而,在该实施例中,使用功能信息的结构与图3中所示的相同。
通常,在提供功能信息的大类中,指定一个功能。即,一个服务模块12通常提供被认为是大类的单个功能。另一方面,通常在使用功能信息的大类中,可以指定两个或更多的功能。即,一个应用模块14可以使用被认为是大类的两个或更多的功能。当指定两个或更多的大类时,为每个大类指定中间类,并且为每个大类或中间类指定小类。
为了允许应用模块14使用适当的服务模块12,连接管理器13基于提供功能信息文件121、执行条件文件122和使用功能信息文件141来选择适合于与应用模块14和成像设备10相关的执行环境的服务模块12。然后,连接管理器13执行允许应用模块14使用所选择的服务模块12的处理。
具体地,当存在两个或更多的与应用模块14正使用的功能相关的服务模块12时,连接管理器13从该两个或更多的服务模块12中选择合适的服务模块12。
图5是用于解释连接管理器13的功能的图。如图5中所示,应用模块14a是关于使用扫描功能和打印功能的应用模块14。应用模块14a向连接管理器13发送扫描功能使用请求r1(调用服务模块12的用于使用扫描功能的接口)和打印功能使用请求r2(调用服务模块12的用于使用打印功能的接口)。
在图5中所示的例子中,连接管理器13响应于扫描功能请求r1而选择 扫描服务-A 12a或扫描服务-B 12b,而响应于打印功能请求r2来选择打印服务-C 12c或打印服务-D 12d。扫描服务-A 12a和扫描服务-B 12b是使用同一接口提供扫描功能的服务模块12。打印服务-C 12c和打印服务-D 12d是使用同一接口提供打印功能的服务模块12。
然后,将解释成像设备10执行的过程。图6是用于解释由本发明的实施例中的成像设备执行的过程的图。在图6中,用相同的附图标记来指代与图5中的相应元素相同的元素,并且省略了对其的描述。
如图6中所示,预先(例如,在安装时)将存储在提供功能信息文件121中的关于每个服务模块12a-12d的提供功能信息和存储在执行条件文件122中的关于每个服务模块12a-12d的执行条件信息记录到连接管理器13中(步骤S11-S14)。该种情况下的记录意味着将连接管理器13设置成其中连接管理器13能够使用所述提供功能信息和执行条件信息的状态。
例如,可以通过向连接管理器13通知每个服务模块12a-12d中的提供功能信息文件121和执行条件文件122的各个文件标识符来执行该记录。这是因为,连接管理器13能够基于相应的文件标识符而获取并使用所述提供功能信息和执行条件信息。
可替代地,如果连接管理器13预先识别出了每个服务模块12的提供功能信息文件121和执行条件文件122应当存储的位置(例如,文件夹),则可以执行将每个服务模块12的提供功能信息文件121和执行条件文件122存储到该位置的步骤,以代替上述步骤S11-S14。这是因为:连接管理器13能够从该存储位置主动地获取并使用所述提供功能信息文件121和执行条件文件122。
当用户通过例如操作面板11输入请求执行应用模块14a时(S15),应用模块14a向连接管理器13通知其中提供有使用功能信息文件141的存储位置(或文件标识符)或存储在该使用功能信息文件141中的使用功能信息(步骤S16和S17)。
在这种情况下,假设在应用模块14a的使用功能信息中包括扫描功能和打印功能作为大类功能。因而,从应用模块14a向连接管理器13发送上述通知等价于向连接管理器13发送扫描功能使用请求(S16)和打印功能使用请求(S17)二者。
连接管理器13基于应用模块14a的使用功能信息、每个服务模块12的 提供功能信息和执行条件信息来选择扫描服务-A 12a和扫描服务-B 12b中的一个作为要使用的扫描功能,并选择打印服务-C 12c和打印服务-D 12d中的一个作为要使用的打印功能。将所选择的服务模块12加载到RAM 103中,然后依据来自应用模块14a的各种类型的方法调用执行处理。
下面,将描述由连接管理器执行的服务模块选择过程。图7是用于解释由连接管理器13执行的服务模块选择过程的流程图。
在图7的服务模块选择过程中,当在连接管理器13处接收到来自应用模块14的使用功能信息时(S101),连接管理器13在所述使用功能信息中选择一个大类作为处理对象(S102)。
然后,连接管理器13将关于大类的使用功能信息(包括大类指示的功能、属于该大类的中间类指示的功能和属于该大类的小类指示的功能)与各个服务模块12的提供功能信息进行比较(匹配),并且搜索包括满足关于该大类的使用功能信息的提供功能信息的任何服务模块12(即服务模块12可以提供属于该大类的所有功能)(S103)。
在这一点上,满足使用功能信息的提供功能信息意味着:其包括对包含大类、中间类和小类的所有分层结构而被指定为使用功能信息的所有功能。还包括提供功能信息和使用功能信息之间的精确匹配。
然后,连接管理器13确定所搜索的服务模块12的数目是否为1(S104)。当搜索结果的数目是1时,连接管理器13将所选择的服务模块12选择为使用对象,并且将它加载到RAM 103中(S105)。
另一方面,当在步骤S104确定存在多个搜索结果时,连接管理器13将当前的执行环境(可用存储空间、指示CPU性能的信息)与所搜索的服务模块12的每个的执行条件信息(可用存储空间、指示CPU性能的信息)进行比较,并且在所搜索的服务模块12中选择最适合当前执行环境的服务模块12(S106)。
对于其中服务ID被记录在要被其他服务模块替换的服务模块项中的服务模块12,从选择对象中忽略它。即使选择它,这样的服务模块12也将被其他服务模块12替换。因而,即使未卸载先前的服务模块12,也将新服务模块12自动选择为使用对象。
对于执行条件信息中的速度优先或存储器节约优先的项,当可用存储空间小于预定值时,优选地选择存储器节约优先的服务模块,而当可用存储空 间超过预定值时,优选地选择速度优先的服务模块。
然而,如果应用模块14对连接管理器13明确指定了速度优先或存储器节约优先,则基于应用模块14的指定执行对所述项的比较。
然后,连接管理器13将所选择的服务模块12加载到RAM103中作为使用对象(S107)。
重复步骤S102-S107的处理,直到对使用功能信息中包括的所有大类进行了处理(S108)。在对使用功能信息中包括的所有大类都进行了处理之后,终止图7的服务模块选择过程。
可替代地,可以执行图8中所示的另一个服务模块选择过程来代替图7的服务模块选择过程。图8是用于解释由连接管理器13执行的服务模块选择过程的流程图。在图8中,用相同的附图标记指代与图7中相应步骤相同的步骤,并且省略了对其的描述。
在图8的服务模块选择过程中,用步骤S106a来代替图7中所示的步骤S106。在步骤S106a中,连接管理器13优选地选择其执行条件信息被指示为存储器节约优先的服务模块12。
可替代地,可以通过下述来执行步骤S106a:比较所搜索的每个服务模块12的执行条件信息中的可用存储空间,并且在所搜索的服务模块中选择具有最小可用存储空间值的服务模块12(或具有执行服务所需要或推荐的较小可用存储空间的服务模块)作为使用对象。
在图8的服务模块选择过程中,在步骤S108后增加附加步骤S111-S117的处理(由图8中的虚线指示)。在图8中,省略了图7中所示的步骤S107,并且因此,在步骤S111的开始点,还没有将在步骤S106a选择的任何服务模块12加载到RAM 103中。
在步骤S111,连接管理器13对在步骤S108后被选择为使用对象的所有服务模块12计算执行条件信息的可用存储空间的总值。
然后,连接管理器13计算在当前执行环境中的可用存储空间与在步骤S111中计算的总值之间的差(=当前执行环境中的可用存储空间-所计算的可用存储空间的总值)(S112)。
然后,连接管理器13确定该差是否大于预定阈值(S113)。
当该差大于预定阈值时,连接管理器13确定应用模块14是否将该服务模块指定为速度优先(S114)。
当该服务模块被指定为速度优先时,对于其中存在速度优先的服务模块12的功能,用速度优先的服务模块12来代替已选择的服务模块12,使得结果得到的存储空间落入可用存储空间的可接受的限制内(S115)。即,从使用对象中略去已选择的服务模块12,并且将速度优先的服务模块12选择为使用对象。
在随后用速度优先的服务模块12来代替已选择的服务模块12的过程期间,可以在替换之前通过将速度优先的服务模块12的执行条件信息中的可用存储空间与当前的执行环境中的可用存储空间进行比较,而对结果得到的存储空间是否在可用存储空间的可接受的限制内做出确定。
在完成替换后,将此时被选择为使用对象的所有存储模块12加载到RAM103中(S116)。
另一方面,当在步骤S113确定该差不大于阈值时,连接管理器13执行在存储空间不足的情况下的处理(S117)。
图9是用于解释在存储空间不足的情况下由连接管理器执行的过程的流程图。
如图9中所示,在步骤S201,连接管理器13在被选择为使用对象的每个服务模块12的执行条件信息中检查要同时执行的服务模块(S201)。连接管理器13将要同时执行的服务模块12分成组(S202)。术语“同时”的意思是在几乎相同的时间或几乎彼此并行地执行服务模块12。应用模块14可以向连接管理器13通知要同时执行的服务模块。例如,可以包含指示要同时执行的服务模块12的信息作为所述使用功能信息的一部分。在这种情况下,在执行条件信息中可以不包含要同时执行的服务模块。
然后,连接管理器13计算关于每个组的服务模块12的执行条件信息中的可用存储空间的总值(S203)。
然后,通过将为所述组计算的各个总值进行比较,连接管理器13确定所述组中可用存储空间的总值的最大值(S204)。
然后,连接管理器13计算当前执行环境中的可用存储空间与在步骤S204中计算的最大值之间的差(=可用存储空间-最大值)(S205)。
然后,连接管理器13确定该差是否大于预定阈值(S206)。
当在步骤S206确定该差大于所述阈值时,连接管理器13依据应用模块14的处理进程对于每个组执行将服务模块加载到RAM 103中和从RAM 103 中卸载服务模块12(S207)。
接着,当从应用模块14接收到功能使用请求时,连接管理器13将与涉及该使用请求的功能对应的服务模块12和属于与该服务模块12的组相同的组的其他服务模块12加载到RAM 103上。因此而加载的每个服务模块12执行其处理。当完成处理并且达到可以卸载服务模块12的时间时,服务模块12向连接管理器13通知处理结束。当从属于该同一组的所有服务模块12接收到处理结束通知时,连接管理器13卸载属于该同一组的所有服务模块12。
重复这样的过程以使得连接管理器13能够验证应用模块14的执行,同时降低此时所消耗的存储器的量。当再次从应用模块14接收到功能使用请求时,如果需要,可以再次加载已卸载的服务模块12。
另一方面,当在步骤S206确定所述差不大于阈值时,连接管理器13确定不能执行应用模块14。
在图8的步骤S113和图9的步骤S206中使用的阈值是指对于服务模块12所使用的存储器的量的容限(margin)或允许值。该阈值不必总是恒定的。即,当实际执行应用模块14时,不仅应用模块14使用存储器,而且服务模块12也使用存储器。因而,优选的是,在执行服务模块12的选择过程时考虑应用模块14所使用的存储器的量。
然而,应用模块14所使用的存储器的量不仅随应用模块14的规格而变化,而且还随着实际的运行条件而变化。例如,即使执行同一应用模块14时,在以600dpi扫描A3文档的情况下所使用的存储器的量也与在以200dpi扫描A4文档的情况下所使用的存储器的量不同。因此,在服务模块选择过程中使用固定阈值可能导致下面的问题:即不能完全展示应用模块14的性能。
为了消除该问题,可以将本发明的成像设备布置为:使得连接管理器13在应用模块14的执行期间总是测量可用存储空间,并且根据测量结果动态地更新阈值。
可以在实际使用阈值时执行阈值的更新。在这种情况下,不必总是测量可用存储空间,并且可以在使用阈值时根据可用存储空间来更新阈值。
即使连接管理器13确定可以执行应用模块,如果使用固定阈值,也可能发生存储空间不足的错误。然而,动态地更新阈值使得在这种情况下能够增加阈值的值。可以增大用于操作应用模块14的存储器的量的容限,从而可以防止发生存储空间不足的错误。
当在已执行了一个或多个应用模块14的状态下请求初始化应用模块14时,可以对正在运行的应用模块14再次执行图7的过程,以通过考虑最新启动的应用模块14所使用的存储器资源的量而动态地改变被选择为使用对象的服务模块12。
具体地,在搜索与最新启动的应用对应的服务模块12期间,当连接管理器13确定利用任何服务模块12所述可用存储空间都不足时,该连接管理器13选择具有较小存储器消耗(即,执行条件信息中的可用存储空间的值相对较小)的服务模块12、或在执行条件信息中被指定为存储器节约优先并且包括正在运行的应用模块的所有使用功能的服务模块12,作为最新启动的应用模块的使用对象。因此,如此修改的成像设备能够有效地执行多个应用模块。
同时,提供功能信息、执行条件信息和使用功能信息不限于上述实施例中(图3、图4等)的结构。例如,可以将提供功能信息和执行条件功能信息共同存储为具有下列结构的单个文件中的一个信息项(将该信息称为“服务模块信息”)。
图10是示出了服务模块信息的第一示例的图。如图10中所示,服务模块信息包括服务ID、提供功能信息和执行条件信息。
提供功能信息包含类别和属性。类别表示功能的类别,并且等价于图3中的例子的大类。属性对应于图3中的例子中的中间类或小类,但是属性的结构根据类别而变化。
图10的服务模块信息对应于扫描功能,并且将“扫描”指定为类别。依据扫描功能中的设置信息构造属性。
另一方面,图10的服务模块信息中的执行条件信息包含使用存储器和性能。
使用存储器与图4的例子中的可用存储空间对应。性能是指示相应功能(扫描功能)的性能的索引,性能的单位根据相应功能而不同。在扫描功能的情况下,将每秒扫描的纸张数目选择为性能的单位。
图11是示出了服务模块信息的第二例子的图。图11的例子描述了服务模块12的服务模块信息,其具有与图10的例子相同的扫描功能,但是包含与其不同的属性值和执行条件信息的性能值。
图12是示出了服务模块信息的第三例子的图。图12的例子描述了具有不同功能(打印功能)的服务模块12的服务模块信息。图12的服务模块信 息的类别是“打印”。其属性具有与打印功能对应的结构。
与上述服务模块信息一致,可以以下面的结构来布置与应用模块14相关的使用功能信息。图13是示出了使用功能信息的例子的图。
在图13的例子中,使用功能信息包括使用功能的列表、关于每个使用功能的属性项的列表以及关于每个属性项的使用属性值的列表。用使用功能的列表来指示由相应应用模块14所使用的功能的类别。用使用属性值的列表来指示由相应应用模块14所使用的属性值。
即使在将提供功能信息、执行条件信息和使用功能信息改变为如图10至图13中所示的结构的情况下,由连接管理器13执行的过程也可以与上述的基本相同。
即,对于上述情况仅仅需要将图7或图8的步骤S102-S108中关于所有大类的循环过程改变为关于图13的使用功能信息中的所有使用功能的循环过程。仅仅需要将图7或图8的步骤S103改变为基于图10的服务模块信息中的提供功能信息的类别和属性来搜索可以响应于在图13的使用功能信息中指定的使用功能和使用属性值的服务模块12的步骤。仅仅需要将使用图4中的“可用存储空间”的步骤改变为使用图10中的“使用存储器”的步骤。此外,仅仅需要将使用图4中的“速度优先”的步骤改变为使用图10中的“性能”的步骤。
例如,当使用图10至图13来执行图8的过程时,满足应用模块14所请求的扫描功能(图13)的服务模块12是服务ID=0x00010001的服务模块12(图10)和服务ID=0x00010002的服务模块12(图11)(S103)。这种情况下在步骤S104中,也选择具有较小存储器用量的ID=0x00010002的服务模块12。然而,如果可用存储空间具有容限并且执行步骤S115,则最终将具有足够性能的ID=0x00010001的服务模块12选择为使用对象。
如上所述,根据本实施例中的成像设备10,向应用模块14提供的接口相同,但是提供了专用于执行环境的两个或更多的服务模块12。判断来自应用模块14的请求、服务模块12提供的功能和执行环境的情形。并且,可以将合适的服务模块12与应用模块14相关联,因而使得应用模块14能够使用由合适的服务模块12提供的功能。
在这种情况下,不将不使用的服务模块12加载到RAM 103中,并且可以降低此时消耗的存储器的量。
如果从安全的观点来看需要获取应用模块14的日志,则通过用输出日志的服务模块12来代替该服务模块12即可获得日志的输出,而不需要改变应用模块14。
可以将服务模块12提供的功能的实际使用状态用作选择服务模块12的判断标准。具体地,将表示服务模块12所提供的功能中实际被应用模块14使用的功能(方法)的使用频率的日志(“使用状态日志”)存储在HDD 105中。记录在该使用状态日志中的信息可以是固定时间段内使用频率的总值或使用数目的平均值。
当安装多功能服务模块12但是在特定型号或应用模块14中不太可能使用服务模块12提供的所有功能时,它显示白白地浪费了存储器资源。在这种情况下,安装其中仅安装了特定的功能的、与标准版本的服务模块12的子集版本等价的服务模块12,并且将提供功能信息记录到连接管理器13。如果连接管理器13根据使用状态日志确定服务模块12的功能(方法)的使用状态,并且确定利用子集版本就足够了(或者,涉及子集版本中的提供功能信息的功能满足了从使用状态日志中取得的使用功能),则可以执行用子集版本来代替多功能服务模块12。在这样的情况下,不将被替换的标准服务模块12(全集版本)加载到RAM 103中。然而,它可以存在于ROM 104或HDD 105中。如果应用模块14请求使用该子集版本中未包括的功能,则此时可以再次用全集版本来代替该子集版本。
可以由经由网络连接到成像设备的外部计算机(或外部服务器)来执行服务模块12的选择过程。图14是用于解释当外部服务器执行服务模块选择过程时由连接管理器执行的过程的序列图。
参考图14,假设外部服务器20具有程序,当外部服务器20的CPU执行该程序时,该程序使得CPU执行图7或图8和图9的过程,并且该程序存储在外部服务器20的HDD中。此外,假设外部服务器20具有存储在HDD中的各种服务模块12的提供功能信息、执行条件信息和实例(程序)。
如图14中所示,当连接管理器13从应用模块14接收到使用功能信息时(S301),连接管理器13向外部服务器20发送服务模块选择过程所需的与成像设备10的硬件资源(CPU、存储器等)相关的设备信息、以及与成像设备10的当前执行环境相关的信息,包括可用存储空间、已加载的服务模块12的服务ID等(S302)。
连接管理器13向外部服务器20发送所接收的使用功能信息(S303)。
然后,外部服务器20基于所接收的信息执行服务模块选择过程(图7或图8和图9的过程)(S304)。
随后,外部服务器20向连接管理器13返回被选择为成像设备10中的使用对象的服务模块12的服务ID(S305)。
如果在将被选择为使用对象的新服务模块12加载到RAM 103中后在已加载的服务模块12中存在不再需要的某些服务模块12,则外部服务器20还向连接管理器13返回这样的服务模块12的服务ID。
然后,外部服务器20向连接管理器13发送被选择为使用对象的新服务模块12的实例(S306)。然后,连接管理器13将所接收的新服务模块12安装到成像设备10中,并将它们存储在HDD 105中。
接着,连接管理器13卸载其服务ID被通知为是不需要的服务模块12(S307)。然后,连接管理器13将被选择为使用对象并且在步骤S306中接收的新服务模块12加载到RAM 103中(S308)。
根据这样的结构,连接管理器13可以在任何时间从外部服务器20接收必要的服务模块12,而不必预先在成像设备10中安装所有的服务模块12。因而,可以防止成像设备10的HDD 105或ROM 104在运行时短缺可用存储量。与外部服务器20写作执行的服务模块的选择和加载是高效的,并且允许连接管理器13为了故障校正的目的等而在任何时间接收服务模块12的最新更新。
可以将连接管理器13布置为:使得在完成使用应用模块14的功能之后,该连接管理器13从HDD 105中删除依据来自应用模块14的功能使用请求而接收的服务模块12。
Claims (6)
1.一种能够执行应用程序的成像设备,包括:
多个接口提供单元,每个接口提供单元向所述应用程序提供使得该应用程序能够使用该成像设备的功能的接口;以及
选择单元,其基于对存储在存储设备中且指示所述多个接口提供单元中的每一个的执行环境的信息和存储在所述存储设备中且指示所述成像设备的执行环境的信息的比较结果来选择所述多个接口提供单元中的至少一个,作为应用程序的使用对象,
其中,所述选择单元被配置为:基于将存储在所述存储设备中且指示所述应用程序所使用的功能的使用功能信息与存储在所述存储设备中且指示由所述多个接口提供单元提供的功能的提供功能信息进行比较的结果,选择所述多个接口提供单元中的至少一个作为该应用程序的使用对象。
2.根据权利要求1所述的成像设备,其中,所述选择单元被配置为:当基于所述使用功能信息和所述提供功能信息的比较结果而选择了两个或更多的接口提供单元时,使得所述选择单元基于对指示所述两个或更多的接口提供单元中的每一个的执行环境的信息与指示所述成像设备的执行环境的信息的比较结果来选择该两个或更多的接口提供单元中的一个。
3.根据权利要求1所述的成像设备,其中,将指示每个接口提供单元是对存储器节约给定优先还是对性能给定优先的优先级信息存储在所述存储设备中,并且所述选择单元基于该优先级信息来选择接口提供单元。
4.一种用于能够执行应用程序的成像设备的信息处理方法,包括以下步骤:
布置多个接口提供单元,每个接口提供单元向所述应用程序提供使得该应用程序能够使用所述成像设备的功能的接口;以及
基于对存储在存储设备中且指示所述多个接口提供单元中的每一个的执行环境的信息和存储在所述存储设备中且指示所述成像设备的执行环境的信息的比较结果来选择所述多个接口提供单元中的至少一个,作为应用程序的使用对象,
其中,所述选择步骤被配置为:基于将存储在所述存储设备中且指示所述应用程序所使用的功能的使用功能信息与存储在所述存储设备中且指示由所述多个接口提供单元提供的功能的提供功能信息进行比较的结果,选择所述多个接口提供单元中的至少一个作为该应用程序的使用对象。
5.根据权利要求4所述的信息处理方法,其中,所述选择步骤被配置为:当基于所述使用功能信息和所述提供功能信息的比较结果而选择了两个或更多的接口提供单元时,使得基于对指示所述两个或更多的接口提供单元中的每一个的执行环境的信息与指示所述成像设备的执行环境的信息的比较结果来选择该两个或更多的接口提供单元中的一个。
6.根据权利要求4所述的信息处理方法,其中,将指示每个接口提供单元是对存储器节约给定优先还是对性能给定优先的优先级信息存储在所述存储设备中,并且所述选择步骤被配置为基于该优先级信息来选择接口提供单元。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007120216 | 2007-04-27 | ||
JP120216/07 | 2007-04-27 | ||
JP2008078312A JP5167897B2 (ja) | 2007-04-27 | 2008-03-25 | 電子機器、情報処理方法、及び情報処理プログラム |
JP078312/08 | 2008-03-25 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101296289A CN101296289A (zh) | 2008-10-29 |
CN101296289B true CN101296289B (zh) | 2011-10-05 |
Family
ID=40066279
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008100948047A Expired - Fee Related CN101296289B (zh) | 2007-04-27 | 2008-04-28 | 成像设备、信息处理方法 |
Country Status (2)
Country | Link |
---|---|
JP (3) | JP5167897B2 (zh) |
CN (1) | CN101296289B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010103877A1 (en) | 2009-03-13 | 2010-09-16 | Ricoh Company, Ltd. | Information processing apparatus, information processing method, and image forming apparatus |
JP5476752B2 (ja) * | 2009-03-13 | 2014-04-23 | 株式会社リコー | 情報処理装置、情報処理方法、及びプログラム |
JP5553533B2 (ja) * | 2009-06-08 | 2014-07-16 | キヤノン株式会社 | 画像編集装置およびその制御方法およびプログラム |
JP6156635B2 (ja) * | 2013-07-10 | 2017-07-05 | 富士ゼロックス株式会社 | 画像処理装置及び制御プログラム |
JP6171710B2 (ja) * | 2013-08-08 | 2017-08-02 | コニカミノルタ株式会社 | 画像形成装置、プログラムインストール方法およびプログラムインストールプログラム |
CN103634404B (zh) * | 2013-12-05 | 2017-02-08 | 用友网络科技股份有限公司 | 多应用的处理方法、装置及系统 |
JP6442864B2 (ja) * | 2014-05-07 | 2018-12-26 | 富士通株式会社 | ソフトウェア選択装置、ソフトウェア選択方法、及びソフトウェア選択プログラム |
WO2016135803A1 (ja) * | 2015-02-23 | 2016-09-01 | 株式会社日立製作所 | 再生プログラム、端末、管理サーバ、および管理方法 |
JP6618280B2 (ja) * | 2015-06-16 | 2019-12-11 | キヤノン株式会社 | 画像形成装置、画像形成装置の制御方法、及び記憶媒体 |
CN108279971A (zh) * | 2018-01-26 | 2018-07-13 | 中国银行股份有限公司 | 一种定时执行任务的方法及装置 |
JP7186541B2 (ja) * | 2018-05-17 | 2022-12-09 | キヤノン株式会社 | 画像処理装置、その制御方法、及びプログラム |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1805522A (zh) * | 2005-01-14 | 2006-07-19 | 上海乐金广电电子有限公司 | 运用数字接口进行连接的复制录像控制设备及其方法 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11282686A (ja) * | 1998-03-30 | 1999-10-15 | Hitachi Ltd | ネットワークコンピュータシステム |
JP2001222394A (ja) * | 2000-02-10 | 2001-08-17 | Hitachi Koki Co Ltd | プリンタ制御装置 |
JP2002099430A (ja) * | 2000-09-26 | 2002-04-05 | Minolta Co Ltd | データ処理装置および方法 |
JP2005107590A (ja) * | 2003-09-26 | 2005-04-21 | Nippon Telegraph & Telephone West Corp | 構造化ファイルアクセス方法およびシステム、ならびに構造化ファイルアクセス用プログラム |
JP4625343B2 (ja) * | 2004-02-17 | 2011-02-02 | 株式会社リコー | 画像形成装置、端末装置、情報処理方法、情報処理プログラム、及び記録媒体 |
JP2006079294A (ja) * | 2004-09-08 | 2006-03-23 | Fuji Xerox Co Ltd | 情報処理装置、実行制御方法及び実行制御プログラム |
JP4299228B2 (ja) * | 2004-12-10 | 2009-07-22 | 富士通株式会社 | ライブラリ変換プログラム |
JP4124216B2 (ja) * | 2005-07-21 | 2008-07-23 | コニカミノルタビジネステクノロジーズ株式会社 | 画像処理システムおよびその制御プログラム、ならびに、画像処理装置およびその制御プログラム |
JP4498325B2 (ja) * | 2005-09-07 | 2010-07-07 | キヤノン株式会社 | 画像形成装置 |
-
2008
- 2008-03-25 JP JP2008078312A patent/JP5167897B2/ja active Active
- 2008-04-28 CN CN2008100948047A patent/CN101296289B/zh not_active Expired - Fee Related
-
2012
- 2012-11-01 JP JP2012241423A patent/JP5459380B2/ja active Active
-
2014
- 2014-01-16 JP JP2014006154A patent/JP5713123B2/ja not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1805522A (zh) * | 2005-01-14 | 2006-07-19 | 上海乐金广电电子有限公司 | 运用数字接口进行连接的复制录像控制设备及其方法 |
Non-Patent Citations (2)
Title |
---|
JP特开2006-319993A 2006.11.24 |
JP特开2006-79294A 2006.03.23 |
Also Published As
Publication number | Publication date |
---|---|
JP5459380B2 (ja) | 2014-04-02 |
JP5167897B2 (ja) | 2013-03-21 |
JP2014112901A (ja) | 2014-06-19 |
JP2008295027A (ja) | 2008-12-04 |
JP2013042545A (ja) | 2013-02-28 |
CN101296289A (zh) | 2008-10-29 |
JP5713123B2 (ja) | 2015-05-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101296289B (zh) | 成像设备、信息处理方法 | |
US7673008B2 (en) | Network system and device | |
US7640314B2 (en) | Network system, device and program | |
US9286141B2 (en) | Image forming apparatus, program management system, program management method, and computer-readable storage medium | |
US8453017B2 (en) | Electronic device saving selected error information and an error management system including such a device | |
US7730224B2 (en) | Program and method for managing device driver and information processing apparatus | |
US7552432B2 (en) | Information processing apparatus, information processing method, and control program | |
US8819464B2 (en) | Electronic apparatus and system for placing plurality of devices into corresponding power save modes according to priority level | |
US9141661B2 (en) | Report creating system, report creating apparatus, and report creating method | |
US9645863B2 (en) | Image forming device, information processing method, and information processing program | |
JP4474440B2 (ja) | 多機能周辺装置(mfp)によるサービスの提供 | |
JP2008305004A (ja) | 画像形成装置、アプリケーション実行方法及びアプリケーション実行プログラム | |
JP4261203B2 (ja) | 情報提供装置、情報提供方法、情報提供システム、及び情報提供プログラム | |
US6516304B1 (en) | System component charging and accounting system | |
US7739458B2 (en) | Image forming apparatus, shared data management method and shared data management system | |
CN105450889A (zh) | 信息处理装置和方法、信息处理系统和显示装置 | |
US10750045B2 (en) | Electronic device and method for controlling memory thereof | |
CN114020368A (zh) | 基于状态机的信息处理方法、装置和存储介质 | |
US20200092427A1 (en) | Method for installing application by image formation device, and image formation device using same method | |
JP3715629B2 (ja) | 画像処理装置およびユーザ情報管理方法 | |
US9692917B2 (en) | Operating information storing system, operating information storing method, and non-transitory computer readable recording medium storing an operating information storing method for storing information from volatile memory to non-volatile memory | |
JP4341314B2 (ja) | デバイス管理システム及びデバイス管理プログラム、並びにデバイス管理方法 | |
US20040246253A1 (en) | Drawing apparatus, drawing program, recording medium and drawing method | |
JP5111325B2 (ja) | 管理装置、管理システム、管理方法およびコンピュータプログラム | |
JP2017146755A (ja) | データ配信システム、データ配信方法、データ処理装置およびコンピュータプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20111005 |
|
CF01 | Termination of patent right due to non-payment of annual fee |