CN1495579A - 图像成形装置、信息处理装置和版本校验方法 - Google Patents
图像成形装置、信息处理装置和版本校验方法 Download PDFInfo
- Publication number
- CN1495579A CN1495579A CNA031648061A CN03164806A CN1495579A CN 1495579 A CN1495579 A CN 1495579A CN A031648061 A CNA031648061 A CN A031648061A CN 03164806 A CN03164806 A CN 03164806A CN 1495579 A CN1495579 A CN 1495579A
- Authority
- CN
- China
- Prior art keywords
- api
- application program
- program
- version
- system service
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Facsimiles In General (AREA)
Abstract
本发明提供了图像成形装置,其中图像成形装置包括:应用程序,用于执行关于图像成形的处理,和系统服务程序,用于通过使用来自应用程序的API来执行基于请求的系统一侧的处理。图像成形装置还包括:用于为系统服务程序获得由应用程序所使用的API的版本信息,并且获得系统服务程序的API的版本信息的部分;以及用于逐API地将由应用程序所使用的API的版本与系统服务程序的API的版本进行比较的部分。
Description
技术领域
本发明涉及一种用于防止出现由于在图像成形装置或信息处理装置上执行的应用程序和系统服务程序之间的版本不匹配而引起的问题的技术。
背景技术
近来,作为信息处理装置的一个例子,在一个机壳中,包括打印机、复印机、传真机、扫描仪等的功能的图像成形装置(在下文中称为复合机)已是众所周知的。复合机在其机壳内包括:显示部分(part)、打印部分和图像拾取部分等。在复合机中,分别提供与打印机、复印机、传真机相对应的三段软件程序,使得复合机通过切换所述软件而分别作为打印机、复印机、扫描仪和传真机来运行。
根据这样一种传统复合机,应用程序被启动(launch)用于,例如打印机、复印机、传真机和扫描仪的每一功能单元,每一应用程序具有访问硬件资源的功能。此时,假设作为应用程序基础的操作系统的版本和在复合机中实际上使用的操作系统的版本是一样的。可是,例如,如果升级操作系统使得操作系统之间的版本不同,可能存在通过应用程序迄今为止所使用的功能变得不能使用的情况,或者应用程序本身变得不可使用。
所以,根据所述传统的复合机,如果复合机中的操作系统升级,则需要重新编译应用程序以便该应用程序运行于升级后的操作系统上。
因为分别将用于打印机、复印机、扫描仪和传真机的每一软件提供给传统的复合机,因此需要很多时间来开发软件。所以,申请人开发了一种图像成形装置(复合机),该图像成形装置包括硬件资源、多个应用程序、和包括在应用程序和硬件资源之间所提供的各种控制服务程序(control service)的平台。硬件资源用于显示部分、打印部分和图像拾取部分的图像成形处理。应用程序执行内在的用于打印机、复印机和传真机等等的用户服务程序的处理。平台包括各种控制服务程序,所述控制服务程序用于当执行用户服务程序时,管理至少为两个应用程序所共需的硬件资源,进行应用程序的执行控制,和图像成形处理。
根据这样一个新的复合机,分开地提供了应用程序和控制服务程序。所以,在复合机出货(shipped)后,用户或者第三方供应商能开发新的应用程序以便安装在复合机上。通过这样做,能够提供各种功能。
由于给新的复合机提供独立于应用程序的控制服务程序,所述控制程序用于提供至少两个应用程序所共需的服务程序,所以有必要当开发一个应用程序的时候,书写用于应用程序和各种控制服务程序之间的进程间通信的源代码。
当开发新的应用程序的时候,有必要准确地领会由每一控制服务程序所提供的应用程序接口(API:包括函数和事件),并且有必要根据预定的过程编写源代码。可是,由于调试和功能的添加等而重复升级API,对于销售者来说很难去开发应用程序,因为并不清楚应用程序应遵守哪一个API版本。所以,存在以下这种可能性,即由已开发的应用程序所使用的用于控制服务程序的API版本不同于复合机中实际使用的控制服务程序的API版本。如果在复合机上执行该应用程序,可能出现误差并且应用程序可能影响所述复合机。
这个问题是一个新问题,并且该新问题对于传统复合机来说并不是一个问题。除控制服务程序之外,如果采用经由API向应用程序提供服务程序的模块,相同的问题将出现。另外,对于通用信息处理装置来说,这个问题是共有的,在所述通用信息处理装置中,应用程序在系统软件上执行。
发明内容
本发明的一个目的是提供一种图像成形装置、一种信息处理装置和用于校验由系统端,例如控制服务程序,所提供的API和由应用程序所使用的API之间的版本差异的方法。
可以通过一种图像成形装置来获得上述目的,该图像成形装置包括用于执行关于图像成形的处理的应用程序,和系统服务程序,用于执行通过使用应用程序的API并且基于请求的图像成形装置的系统一侧的处理,所述图像成形装置包括:
获得部分,用于获得由应用程序所使用的用于系统服务程序的API的版本信息以及所述系统服务程序的API的版本信息;
比较部分,用于逐个API地对由应用程序所使用的API的版本与由系统服务程序使用的API的版本进行比较。
根据本发明,获得部分获得应用程序所使用的API版本信息以及系统服务程序所提供的API版本信息,使得比较部分逐个API地校验对应的API的版本是否相同。因此,如果改变、增加、或删除不在应用程序中使用的API而使得改变了系统的API组的版本,则也能够确定应用程序和系统服务程序关于API的版本是彼此一致的。
上述目的也可以通过一种信息处理装置得到,该信息处理装置包括应用程序、以及系统服务程序,用于通过使用应用程序的API并且基于请求执行信息处理装置的系统侧的处理,所述信息处理装置包括:
获得部分,用于为系统服务程序而获得由应用程序所使用的API的版本信息,和系统服务程序的API的版本信息;
比较部分,用于逐API地比较由应用程序所使用的API的版本与系统服务程序的API的版本。
附图说明
当结合附图时,在随后的细节描述中本发明的其它目的、特征和优点将变得很明显。其中:
图1是根据本发明第一实施例的图像成形装置的方框图;
图2示出复合机100的硬件配置的例子;
图3示出VAS 140的配置,以及根据第一实施例的VAS 140、每一应用程序、控制服务程序层150和通用OS 121之间的关系;
图4是用于说明根据第一实施例的在应用程序和VAS 140之间的API的版本校验方法的图;
图5是用于说明根据第一实施例在应用程序和VAS 140之间的API的版本校验方法的图;
图6示出根据第一实施例包含试验性启动(LAUNCH)功能的应用程序描述(主函数)的例子;
图7是描述在应用程序安装时的试验性启动(LAUNCH)的顺序的流程图;
图8是显示图7中版本校验过程的子程序的流程图;
图9用于说明根据第二实施例的版本校验方法的图;
图10是包含在应用程序中的图表的例子;
图11显示由图9中所显示的配置的VAS 140执行的版本校验的流程图;
图12是第三实施例的复合机的方框图;
图13是显示第二实施的例复合机900的VAS 941-948的配置,以及在VAS941-948、每一应用程序、控制服务程序层150和通用OS 121之间的关系的图;
图14A-14C显示VAS的配置的例子。
具体实施方式
接下来,将描述根据本发明的实施例的图像成形装置。所述图像成形装置是信息处理装置的例子。
(第一实施例)
图1是根据本发明的第一实施例的图像成形装置(在下文中称为复合机)的结构图。如图1中所示,复合机100包括硬件资源和软件组110。硬件资源包括黑白行式打印机(B&W LP)101、彩色激光打印机102、和例如扫描仪,传真机,硬盘,存储器(RAM,NV-RAM,ROM等等)和网络接口的硬件资源103。软件组110包括平台120、应用程序130以及虚拟的应用服务程序140(在下文中称为VAS)。
在应用程序130和平台120之间提供VAS 140。当每一应用程序在第一时间注册的时候,在同一时间VAS 140也注册。从应用程序的观点来看,将VAS140识别为平台120中的服务层,而从服务层的观点来看,将VAS 140识别为应用程序。也就是说,VAS 140作为控制服务程序,即,服务器的客户机进程来操作,而VAS 140作为应用程序,即,客户机的服务器进程来操作。
作为VAS 140的基本功能,VAS 140具有包装(WRAPPING)功能。根据该包装(WRAPPING)功能,VAS 140吸收应用程序和平台120之间的版本差异,并且通过选择来自控制服务程序的消息自觉地隐藏平台120。另外,VAS 140隐藏应当相对于应用程序130需隐藏的控制服务程序的API,并且VAS 140向应用程序130公开预定的API,以便保持重要的API的安全性。
然而,由于可以升级VAS 140来和升级后的控制服务程序保持一致,因此即使VAS 140具有吸收版本差异的包装(WRAPPING)功能,在应用程序和VAS 140之间仍可能出现版本不匹配。在这种情况下,在应用程序执行的时刻会出现误差。
所以,为了抑制应用程序执行时刻的误差,VAS 140具有将应用程序的整个版本与VAS 140的整个版本进行比较以校验版本是否相同的功能。
上述的应用程序的整个版本指的是由VAS 140的应用程序所使用的API集合的版本。VAS 140的整个版本指的是VAS 140的所有API集合的版本。
另外,VAS 140具有逐API地校验由应用程序所使用的API的版本的功能。通过具有该功能,即使整个版本在应用程序和VAS 140之间是不同的,所述VAS140仍可以确定能执行所述应用程序而不用考虑版本差异的问题,例如,存在以下情况,在VAS侧升级的API并不在应用程序中使用。
平台120包括控制服务程序,用于解释来自应用程序的处理请求以便发布硬件资源的获取请求;系统资源管理器(SRM)123,用于管理一个或多个硬件资源并且仲裁来自控制服务程序的获取请求;和通用的OS 121。
控制服务程序包括多个服务程序模块,该多个服务程序模块是系统控制服务程序(SCS)122、引擎控制服务程序(ECS)124、存储器控制服务程序(MCS)125、操作板控制服务程序(OCS)126、传真控制服务程序(FCS)127、和网络控制服务程序(NCS)128。另外,平台120具有通过使用预定的功能从应用程序130接收处理请求的应用程序接口(API)。在本说明书中,除这些功能之外,从应用程序发送到平台120的事件和从平台120发送到应用程序的事件也叫作“API”。
通用的OS 121是通用的操作系统,例如UNIX,并且能将平台120和应用程序130的软件的每一片段作为一个进程同时执行。
SRM 123的进程是用于和SCS 122一起来执行系统的控制和执行资源的管理。SRM 123的进程执行仲裁和执行用于请求的执行控制,所述请求来自于使用包括例如扫描仪部分和打印机部分的引擎、存储器、HDD文件、主I/O(Centronics接口、网络接口、IEEE1394接口、RS232C接口等等)的硬件资源的上层。
更具体地说,SRM 123确定所请求的硬件资源是否是可用的(无论其是否由另外的请求所使用),并且当所请求的硬件资源是可用的时候,通知上层所请求的硬件资源是可用的。另外,SRM 123为来自上层的请求执行使用硬件资源的调度,并且直接执行与该请求相对应的处理(例如,纸传输和通过打印机引擎、分配存储器区域、文件产生等的图像成形)。
SCS 122的进程执行应用程序管理、操作部分的控制、系统屏幕的显示、LED显示、资源管理、以及中断应用程序控制。
ECS 124的进程控制硬件资源的引擎,该硬件资源包括黑白激光打印机(B&W LP)101、彩色激光打印机(color LP)102、扫描仪、和传真机等。MCS125的进程获得和释放图像存储器的区域,使用硬盘装置(HDD),并且压缩和扩展图像数据。
FCS 127的进程提供API,该API用于通过使用PSTN/ISDN网络来发送和接收来自于系统控制器的每一个应用程序层的传真,注册和引用由BKM(备用SRAM)管理的各种类型的传真数据,读传真,接收和打印传真以及混合的发送和接收。
NCS 128是用于为需要网络I/O的应用程序提供公用服务程序的进程。当NCS 128通过协议将从网络接收的数据分配给相应的应用程序,并且当发送数据到网络的时候,在应用程序和网络之间充当中间件。更具体地说,NCS 128的进程包括服务器端口监控程序,例如,ftpd、httpd、lpd、snmpd、telnetd、smtpd,和这些协议的客户机功能。
OCS 126的进程控制操作板,该操作板是用于在操作者(用户)和机器的控制部分之间传送信息的装置。在该实施例的复合机100中,OCS 126包括OCS处理部分和OCS函数库部分。OCS处理部分从操作板获得按键事件,该按键事件表示按压了某个键,并且发送相应于该按键事件的按键事件函数到SCS122。OCS函数库注册画图函数和用于控制操作板的其它函数,其中所述画图函数基于来自具有控制权力的应用程序请求或基于来自控制服务程序的请求,在操作板上输出各种图像。当应用程序被开发时,OCS函数库中的函数被链接到目标程序,以至于产生所述应用程序的可执行文件,其中所述目标程序是通过编译所述应用程序的源代码文件而产生的。所有的OCS 126被配置为一个进程,或能被配置为OCS库。
应用程序130包括打印机应用程序111,所述打印机应用程序111是用于具有页面描述语言(PDL)和PCL和附言(PS postscript)的打印机的应用程序、复印应用程序112、用于传真的传真应用程序113、用于扫描仪的扫描仪应用程序114、网络文件应用程序115和进程校验应用程序116。当启动这些应用程序中的每一个时,应用程序将带有该应用程序进程的进程标识(process ID)的应用程序注册请求消息发送到所述VAS 140。该应用程序注册请求消息的VAS 140执行用于已启动的应用程序的注册处理。
在应用程序130的进程和控制服务程序的进程之间执行进程间通信,其中调用函数,发送返回值,和发送和接收消息。通过使用所述进程间通信,将实现,例如,复印、打印、扫描、和发送传真的用于图像成形处理的用户服务程序。
如上所述,第一实施例的复合机100包括多个应用程序130和多个控制服务程序,并且那些程序的每一个都作为进程来操作。在每一进程中,产生一个或多个线程和并行地执行该线程。控制服务程序向应用程序130提供公共的服务程序。当并行地执行进程、并行地执行线程以及执行进程间通信时,提供关于图像信息例如复印、打印、扫描和发送传真的用户服务程序。第三方供应商能开发用于复合机100的应用程序117、118,并且在复合机110中的控制服务程序层上的应用程序层中执行应用程序。图1示出包括新的应用程序117和118的一个例子。
在第一实施例的复合机100中,虽然应用程序130的进程和控制服务程序的进程进行运行,但应用程序和控制服务程序能是单一进程。另外,应用程序130中的应用程序能够逐一地被添加或删除。
图2示出复合机100的硬件配置的一个例子。
复合机包括控制器160、操作板175、传真控制单元(FCU)176、以及作为硬件资源的例如具体用于图像成形处理的打印机的引擎部分177。控制器160包括CPU161、系统存储器162、北桥(NB)163、南桥(SB)164、ASIC166、本地存储器167、HDD168、网络接口卡(NIC)169、SD卡槽170、USB设备171、IEEE1394设备172、以及中心核(centronics)173。例如,存储器162、167可以包括RAM和/或ROM。FCU176和引擎部分177经由PCI总线178连接到控制器中的ASIC166。CPU161通过从RAM读取来执行安装在复合机100中的应用程序和控制服务程序等的程序。
图3示出根据第一实施例的VAS 140的配置,以及在VAS 140、每一应用程序、控制服务程序层150和通用的操作系统(OS)121之间的关系。在图3中,打印机应用程序111、复印应用程序112、新的应用程序117和118作为应用程序130的例子被示出。可以包括其它的应用程序。
在虚拟的应用服务程序(VAS)140的进程中,运行分配器145、控制线程144、版本信息获得线程143、整个版本校验线程142以及API版本校验线程141。应用程序包括使用API表212,以及VAS 140包括整个API表211。更具体地说,当执行应用程序时(包括试验性启动)并且当执行VAS 140时,每一使用API表212和整个API表211被定位在例如RAM210中。
分配器145监视来自应用程序和控制服务程序的接收消息,并且向控制线程144、版本信息获得线程143、整个版本校验线程142或API版本校验线程141发送进程请求。在第一实施例中的复合机100中,通过使用分配器145,在VAS140和正常地启动(launch)或试验性地启动(launch)的应用程序之间执行进程间通信。“试验性启动(launch)”是试验性地启动(launch)仅用于实现应用程序和VAS 140之间通信的应用程序。稍后将更详细地描述试验性启动(launch)。
控制线程144将经由分配器144发送的用于应用程序所使用的每一API的版本信息或所述应用程序的整个版本信息,发送到版本信息获得线程143、整个版本校验线程142以及API版本校验线程141。另外,控制线程144控制线程141-143的处理顺序。另外,控制线程144向分配器145发送来自于线程141-143的处理请求。
API版本校验线程141获得由VAS 140的应用程序所使用的API的版本信息,和VAS 140的所有API的版本信息,并且逐API地比较应用程序和VAS之间的对应的API版本,以便校验API的版本是否相同。
整个版本校验线程142获得应用程序的整个版本信息和VAS 140的整个版本信息,并且校验应用程序的整个版本和VAS的整个版本是否相同。通过使用该线程,首先,比较整个版本,然后如果整个版本相同,则它们相互一致,并且没有必要逐API地比较版本,以便能够简化处理。仅仅当整个版本不同时,才执行逐API的校验。
版本信息获得线程143获得用于由应用程序所使用的每一API的版本信息和VAS的API功能,其中对于API版本校验线程141来说,版本信息是必要的。另外,版本信息获得线程143为每一用于应用程序获得整个版本信息和获得对于整个版本校验线程142来说是必需的VAS。
根据该实施例,当安装应用程序时,执行版本校验(更具体地说,在安装应用程序之前),因而,通过使用应用程序和VAS 140之间的进程间通信并不能获得信息,因为没有启动(launch)应用程序。因此,VAS 140试验性地启动(launch)目标应用程序,以便通过使用进程间通信从应用程序获得必要的信息。关于由版本信息获得线程143获得的信息,除版本信息之外,版本信息获得线程143可以获得产品ID(由供应商、应用程序和版本唯一确定)、供应商姓名、应用程序名称、整个版本、资源信息等。
没有提供图3所示的线程141-144,而是提供一个线程。在这种情况下,所述一个线程执行本实施例的版本校验处理(获得版本信息,执行版本校验)。VAS 140的程序可以通过将其存储在例如SD卡、CD-ROM等的记录介质中来分发。另外,能经由网络来分发程序。另外,可以通过将SD卡插入复合机中来将程序安装在复合机上。此外,可以从SD卡上启动(launch)该程序。
图4是用于说明在应用程序和VAS 140之间的API的版本校验方法的图。如图4中所示,用于VAS的由应用程序所使用的API的版本信息(版本表)被包含于应用程序的可执行文件中。以相同方式,VAS的API的版本信息(版本表)被包含于VAS的可执行文件中。一般地,由VAS的应用程序所使用的API是VAS的API的一部分。
VAS的API的版本信息包括用于每一API的版本和一组API的版本。由应用程序所使用的API的版本信息包括用于每一API的版本和一组API的版本。当开发应用程序的时候,由应用程序所使用的该组API的版本与所使用的VAS的该组API的版本相同。
为了将版本信息包含于可执行文件中,例如如图4所示,首先产生版本信息的包含文件,然后,通过包含所述包含文件来编译应用程序或者VAS程序。
VAS 140通过使用进程间通信从试验性启动(launch)过的应用程序中获得该应用程序所使用的API的版本信息。然后,VAS 140,逐API地比较所获得的版本信息和VAS的API的版本信息,以便确定该应用程序是否能被安装。另外,VAS 140可以比较应用程序和VAS 140之间的API组的版本,然后,只有当版本不同时,VAS 140可以逐API地比较API。VAS 140可以在从应用程序获得版本信息的整个表之后执行所述比较,或者可以逐个地获得API的版本,以便在每一次VAS 140获得版本时执行比较。
替代了将版本信息包含于可执行文件中,可以将版本信息存储在复合机100中,作为一个文件。在这种情况下,通过读取文件,VAS 140获得版本信息。
只要VAS 140能够参考版本信息,除了上述方法的任何方法也能被用于在复合机100中保持版本信息。
在开发应用程序后,可以升级VAS 140的API组。在这种情况下,应用程序所使用的API组的版本不同于VAS 140的API组的版本。例如,在图5所示的例子中,由于API(NO.=251)从版本101升级到版本102,VAS的API组的版本将从1.00改变到1.01。
在这种情况下,如果仅比较API组的版本,由于版本不同,应用程序和VAS140被确定彼此不一致。然而,由于在应用程序中不使用所述API(NO.=251),所以可以没有问题地运行应用程序。因此,通过逐API地比较版本,存在一种情况,即VAS 140能确定,即使API组的版本不同时,应用程序也能没有问题地运行。
接下来将描述应用程序的试验性启动(launch)。试验性启动(launch)与其中使用复合机的实质性资源的应用程序的正常启动(launch)(用于产生应用程序所想要的功能(function)的启动(launch)称为“正常启动(launch)”)不同。在试验性启动(launch)中,当应用程序正常运行时,应用程序并不能获得资源例如所需要的存储器区域。在试验性启动(launch)中,应用程序仅能执行与VAS 140的进程间通信,其中应用程序给VAS提供用于在应用程序上执行包括版本校验的校验的必要的信息。当应用程序和VAS之间的通信结束时,试验性地启动(launch)的应用程序的进程也结束。另外,应用程序的试验性启动(launch)的功能独立于应用程序的正常功能,并且对于用于本实施例的复合机的应用程序来说是公共的。因此,例如,通过向供应商提供包括试验性启动(launch)功能的程序模板,供应商能很容易地通过使用程序模板开发用于复合机的应用程序。为实现上述的版本校验,例如,供应商创建包含文件,其中用于开发应用程序所使用的API的版本存储在该包含文件中,并且当编译该应用程序时,包括所述包含文件。
通过向应用程序提供试验性启动(launch)函数,应用程序向VAS 140提供应用程序信息而无需正常地启动(launch),以便VAS 140能够校验应用程序。所以,对于API版本而言,即使应用程序与VAS 140不一致,应用程序能够免受故障和对复合机的影响。
图6示出包含试验性启动(LAUNCH)函数(FUNCTION)的应用程序的程序说明(主函数)的例子。提供该描述以作为程序模板。如图6所示,通过自变量(-V)来确定应用程序是试验性启动(LAUNCH)还是正常启动(LAUNCH)。从而,当VAS 140启动(LAUNCH)应用程序时,很容易的选择正常地启动(LAUNCH)和试验性启动(LAUNCH)之一。也就是说,当通过使用自变量(-V)来选择试验性启动(LAUNCH)时,应用程序被启动(LAUNCH),以便通知应用程序信息。如果没有选择试验性启动(LAUNCH),应用程序被正常启动(LAUNCH),以便执行应用程序固有的操作。
当在应用程序启动(LAUNCH)的时刻或在启动(LAUNCH)之后的执行时刻去执行版本校验时,使用正常启动(LAUNCH)。
通过使用例如SD卡、CD-RAM等的记录介质来分发包括试验性启动(LAUNCH)功能(FUNCTION)的应用程序。另外,经由网络也能分发程序。另外,在复合机中安装程序,例如,通过在复合机中插入SD卡。另外,可以从SD卡上启动(LAUNCH)程序。
接下来,将描述操作。图7是用于描述在应用程序安装时刻试验性启动(LAUNCH)的顺序的流程图。图8是显示图7中版本校验进程的子程序的流程图。
首先,如图7所示,在步骤S501,用户通过使用操作板上的按键或按钮来选择应用程序的安装,在步骤S502,SCS 122请求开始将应用程序安装到VAS140,在步骤S503,VAS 140试验性地启动(launch)安装目标的应用程序。然后,通过利用进程间通信,应用程序向VAS 140发送各种信息,以便在步骤S504执行版本校验处理。
在步骤S504的版本校验处理中,如图8所示,在步骤S601中,VAS 140确定是否应用程序的整个版本信息被包括在从应用程序所通知的信息中。当包含整个版本信息时,应用程序的整个版本与VAS 140的整个版本进行比较。在步骤S602中,如果它们相同,版本相互一致,以便在步骤S603中保证应用程序的操作(operate)。
另外,图8中,如果步骤S601或S602是NO(否),处理转到步骤S604。然后,VAS 140逐API地校验由VAS 140的应用程序所使用的API版本与VAS 140的相应的API版本是否相同。如果对于所有的API而言,是相同的,则在步骤S603中将保证应用程序的操作(operate)。如果存在其中版本不同的API,在步骤S605中,由于差异超出了VAS 140所支持的范围,将不能保证应用程序的操作(operate)。
如上所述,图7的步骤S504中,在执行版本校验处理之后,在步骤S505将校验是否存在另一个应用程序需要被安装,并且重复上述版本校验处理直到没有应用程序要安装为止。
如果不存在要安装的应用程序,基于已安装的应用程序的版本校验结果在操作板上显示安装屏幕,以便在步骤S506中显示各种信息。例如,基于版本校验的结果,能够保证(assured)结果是否为应用程序的操作,在步骤S507中,用户很容易地从安装屏幕上选择将要正式安装的应用程序。然后,在步骤S508中,最终安装所选择的应用程序。
如上所述,在第一实施例中,当在安装应用程序的时刻执行版本校验的时候,通过使用VAS来试验性地启动(launch)应用程序,使得通过利用进程间通信获得包括来自于应用程序的版本信息的信息。结果,版本能够被校验,以至于用户能够选择性安装能够确信操作的应用程序。
代替在安装时刻使用试验性启动(launch),当应用程序被正常地启动(launch)时执行版本校验。在主函数中使用自变量(-V)或不使用来确定应用程序是被试验性地启动(launch)还是正常地启动(launch)。因为在正常启动(launch)时刻通过使用进程间通信来获得应用程序的版本信息,版本校验进程能被执行。在应用程序启动(launch)时刻的版本校验对于最初启动(launch)已经安装的应用程序是有效的。另外,如果提供包括应用程序的版本信息的文件给复合机,VAS通过查阅文件而不是进程间通信就能够获得版本信息。
进一步地,在第一实施例中,在启动(launch)应用程序之后,执行应用程序的时候,也可以执行版本校验。在执行时刻,因为可以使用进程间通信,在合适的定时,以与正常启动(launch)时刻相同的方式,执行版本校验。
作为在应用程序执行时刻的另一种版本校验的方法,例如使用随后的方法。版本信息被包括在应用程序中的每一API的自变量中,使得当应用程序使用API时,应用程序将版本信息通知VAS 140。然后,VAS 140通过与VAS 140中相应的API版本的比较来校验API的版本。如果VAS 140确定版本不同,VAS将不向控制服务程序层发送请求。另外,VAS 140停止应用程序的执行,在操作板上显示错误以便用户知道错误。如果不存在版本差异,则继续应用程序的执行。
版本校验也能在应用程序侧执行而代替VAS。在这种情况下,应用程序从VAS 140中获得API版本信息并且使用版本信息来执行版本校验。当在应用程序安装时刻执行版本校验时,不管版本是否相同都将被发送给VAS 140。当在应用程序启动(launch)或执行的时刻,如果不存在版本差异,则继续启动(launch)或执行。如果存在版本差异,则在操作板上显示指示存在版本差异的信息,并且结束应用程序的执行。
如上所述,根据第一实施例的复合机,VAS 140获得由应用程序所使用的API的版本信息和由VAS 140提供的API的版本信息,以便VAS 140逐API地进行校验相应的API的版本是否相同。因此,如果更改、增加或删除一个并不在应用程序中使用的API,以便更改VAS 140的API组的版本,VAS 140能够确定就API的版本来说应用程序和VAS 140相互一致。与简单地比较API(整个版本)组的情况相比,VAS的版本差异的吸收范围变宽并且可以使用的应用程序将增加。
另外,根据第一实施例的复合机,VAS 140首先比较整个版本,其次仅当整个版本不同时,VAS 140逐API地执行版本校验。因此,版本校验能有效地和夹速地被执行。另外,通过使用包括必要版本信息的应用程序的可执行文件,当应用程序被试验性地启动(launch)或正常地启动(launch)时,VAS140能够通过执行进程间通信来获得必要的版本信息。
另外,当在应用程序被安装时执行版本校验时,VAS 140能试验性地启动(launch)应用程序,以便VAS 140能获得由应用程序所使用的API的版本信息。因此,与通过正常地启动(launch)应用程序来执行版本校验的情况相比,能够更有效地执行版本校验。
(第二实施例)
接下来,将描述第二实施例。已经描述的第一实施例到此为止,如图4所示,应用程序包括由VAS的应用程序所使用的API的版本信息,并且该VAS校验版本信息。
代替提供如图1所示的覆盖所有控制服务程序的VAS,复合机的VAS被配置成覆盖控制服务程序的一部分。在第二实施例中,复合机被配置成能够校验用于控制服务程序的API的版本,所述控制服务程序直接地与应用程序通信而不被VAS所干扰。在下面的描述中,每一个VAS和控制服务程序称为“一个系统”。
在第二实施例中,如图9所示,除了用于VAS 140的版本信息之外,应用程序包括为每一控制服务程序的控制服务程序所使用的API的版本信息。VAS140从应用程序获得版本信息,并且从系统中获得对应的系统的API的版本信息,并且比较版本。
如图9所示,应用程序包括用于如图9所示的每一系统的版本信息的表。代替该配置,应用程序可以包括由该应用程序所使用的所有系统的版本信息的表。在这种情况下,每一系统在表中能被标识。在图9的情况下,每一表包括API组的版本也包括每一API的版本。应用程序可以具有包括用于图10所示的每一系统的API组的版本的表。
版本信息例如示于图9中的那些,包含在应用程序的可执行文件中。作为代替,版本信息可以存储在复合机中一个或多个文件中。在这种情况下,VAS通过打开文件来替代使用进程间通信来获得版本信息。为提供版本信息,只要VAS 140能查阅版本信息,就能够采用另一种方法。
图11示出由图9所示配置的VAS 140执行版本校验的流程图。图11的流程保证了VAS 140一个接一个地从应用程序中获得版本信息的表。另外,该流程图示出了在应用程序安装时刻的版本校验过程。
首先,在步骤S701,VAS 140从应用程序获得表。然后,在步骤S702,VAS140确定表对应于哪一个系统。接下来,在步骤S703,VAS 140从系统中获得相应系统的版本信息的表。
接下来,在步骤S704,VAS 140将从应用程序中获得的版本信息与从系统中获得的版本信息进行比较,以便确定整个版本(API组的版本)是相同还是不同。如果它们相同,在步骤S706,VAS 140存储指示在应用程序和系统之间版本是相同的信息。然后,在步骤S707,如果从应用程序中要获得的表不存在,则结束版本校验。如果存在另一个表,则重复从步骤S701的处理。
在步骤S704,如果版本不同,则在步骤S705,VAS 140通过与系统的对应API的版本相比较来逐API地校验系统的应用程序所使用的API的版本。如果由应用程序所使用的API的所有版本与系统的对应的版本相同,则在步骤S706,VAS 140存储指示版本相同的信息。如果存在至少一个API,其中应用程序和系统之间的版本不同,在步骤S706,VAS 140则存储指示版本不同的信息。在此时,可以存储其中版本不同的系统名和API号(NO.)。然后,在步骤S707,如果从应用程序中要获得的表不存在,则结束版本校验。在步骤S707,如果存在另一个表,则重复从步骤S701的处理。
例如,在结束版本校验处理之后,VAS 140在操作板上显示指示如果对于所有的系统来说版本是相同的则安装应用程序的信息。另一方面,VAS 140在操作板上显示指示如果存在至少一个版本不匹配的系统则不安装应用程序的信息。在这情况下,VAS 140可以显示系统中系统名和版本不匹配API号(No.)。
根据该实施例,不仅是用于VAS 140的API,而且用于与应用程序直接通信的控制服务程序的API也可以被校验。
(第三实施例)
第一实施例的复合机100包括一个用于所有的应用程序的VAS。根据第三实施例的复合机,多个VAS为每一个应用程序而被启动,在每一个应用程序中每一VAS为对应的应用程序执行版本校验处理。
图12是第三实施例的复合机的方框图。如图12所示,因为多个虚拟应用服务程序为每个应用程序而运行,所以复合机900不同于第一实施例的复合机。
VAS941-948执行用于打印机应用程序111、复印应用程序112、传真应用程序113、扫描仪应用程序114、网络文件应用程序115和进程校验应用程序116以及新的应用程序117和118的版本校验。
图13示出第二实施例的复合机900的VAS941-948的配置,以及VAS941-948、每一应用程序、控制服务程序层150和通用OS121之间的关系的图。虽然图13示出作为应用程序的打印机应用程序111、复印应用程序112、新的应用程序117和118,并且作为一个例子的相应的VAS941、942、947和948,为其它的应用程序能采用相同的配置。
根据图13所示的第二实施例的复合机900,其不同于第一实施例的复合机100,VAS控制端口监控程序(daemon)901运行在VAS和应用程序之间。VAS控制进程901具有VAS的API的版本信息。
每一虚拟的应用服务程序(VAS)的进程包括分配器145、功能(function)版本校验线程141、以及整个版本校验线程142和版本信息获得线程143。
复合机的每一线程的功能(function)与第一实施例的相应线程的功能(function)相同。代替使用线程141-143,可以使用一个线程。
作为VAS的配置,也能采用示于图14A-14C中的配置。图14A示出一种情况,其中父VAS的子进程被用于每一应用程序,其中父VAS没有屏幕控制权(没有用户界面)。图14B示出一种情况,其中父VAS具有屏幕控制权。图14C示出一种情况,其中通过使用线程将VAS的功能(function)提供给每一应用程序。
例如,在图14C的情况下,在当应用程序不被正常地启动(launch)时的时刻,对应于每一应用程序的线程不被启动(launch)。当安装应用程序时,与任何应用程序不相对应的VAS试验性地启动(launch)应用程序,并且执行版本校验。之后,当应用程序被正常地启动(launch)时候,对应于每一应用程序的线程被启动(launch)。
如上所述,提供图像成形装置。图像成形装置包括应用程序,用于执行关于图像成形的处理,和系统服务程序,用于通过使用来自于应用程序的API执行基于请求的图像成形装置的系统侧的处理。另外,图像成形装置包括:获得部分,用于为系统服务程序而获得由应用程序所使用的API的版本信息;比较部分,用于逐个API地(API BY API)地将由应用程序所使用的API的版本与系统服务程序的API的版本相比较。
根据本发明,因为图像成形装置能逐API地比较由应用程序所使用的API的版本信息以及系统服务程序侧例如VAS的API的版本信息,使得不论对应的API的版本是否相同都能进行校验,则确定所述应用程序是否被正确地使用就变成可能。
图像成形装置可以还包括,用于将应用程序所使用的一组API版本与系统服务程序的一组API的版本进行比较的部分,
其中,仅当该组API的版本不同时,才由图像成形装置通过比较部分执行比较。
根据本发明,因为仅当API组的版本不同时才执行逐个API的版本校验,版本校验能够有效地被执行。
在图像成形装置中,应用程序的执行程序包括该应用程序所使用的API的版本信息,以及
获得部分从应用程序中获得由应用程序所使用的API的版本信息。
根据该发明,由于API的版本信息包含于应用程序的执行程序中,版本信息能够从应用程序中获得。
图像成形装置可以试验性地启动(launch)用于从应用程序中获得版本信息的应用程序。根据本发明,因为应用程序不能充分地保持图像成形装置的资源,版本校验能够有效地被执行。另外,因为版本校验能被执行而没有正常地启动(launch),应用程序能被阻止影响图像成形装置。
在图像成形装置中,系统服务程序可以包括多个系统服务程序模块,
应用程序包括用于每一个系统服务程序模块的由应用程序所使用的API的版本信息,
当获得部分从应用程序中获得对应于系统服务程序模块的API的版本信息时,获得部分从系统服务程序模块中获得系统服务程序模块的API的版本信息。
根据本发明,为由应用程序所使用的系统服务程序而执行版本校验。
图像成形装置可以包括存储由应用程序所使用的API的版本信息的文件,
其中,获得部分从该文件中获得由应用程序所使用的API的版本信息。
根据本发明,通过存储包括API的版本信息的文件,能够执行版本校验。
在图像成形装置中,其中,在安装应用程序之前,当比较部分比较版本时,
图像成形装置在操作板上显示指示如果应用程序所使用的所有API的版本与系统服务程序的对应的API的版本相同则能安装应用程序的信息。
根据本发明,作为版本校验的结果,用户能够校验可以安装哪一个应用程序。
图像成形装置可以包括:
控制服务程序,用于控制图像成形装置的硬件资源,和
虚拟应用服务程序,其作为用于至少一个控制服务程序的客户机进程而运行,并且作为应用程序的服务器进程而运行,
其中,所述系统服务程序包括通过使用来自于应用程序的API而接收请求的至少一个控制服务程序,和所述虚拟应用服务程序。在本图像成形装置中,虚拟应用服务程序可以包括获得部分和比较部分。
本发明不限于明确地已公开的实施例,并且并且在不脱离本发明的范围的情况下,可以进行变化和修改。
Claims (52)
1.一种图像成形装置包括:应用程序,用于执行关于图像成形的处理,和系统服务程序,用于通过使用来自应用程序的API来执行基于请求的图像成形装置的系统侧的处理,所述图像成形装置包括:
获得部分,为系统服务程序而获得由应用程序所使用的API的版本信息,和获得系统服务程序的API的版本信息;
比较部分,用于逐API地将由应用程序所使用的API的版本与系统服务程序的API的版本进行比较。
2.根据权利要求1所述的图像成形装置,所述图像成形装置还包括:比较部分,用于将由应用程序所使用的一组API的版本与系统服务程序的一组API的版本进行比较,其中仅当API组的版本不同时,图像成形装置才通过比较部分执行比较。
3.根据权利要求1所述的图像成形装置,其中应用程序的执行程序包括应用程序所使用的API的版本信息,以及
获得部分从所述应用程序中获得该应用程序所使用的API的版本信息。
4.根据权利要求3所述的图像成形装置,其中图像成形装置为从应用程序获得版本信息而试验性地启动应用程序。
5.根据权利要求3所述的图像成形装置,其中系统服务程序包括多个系统服务程序模块,
应用程序包括用于每一个系统服务程序模块的由该应用程序所使用的API的版本信息,
当获得部分从应用程序获得对应于系统服务程序模块的API的版本信息时,该获得部分从系统服务程序模块获得系统服务程序模块的API的版本信息。
6.根据权利要求1所述的图像成形装置,所述图像成形装置包括存储应用程序所使用的API的版本信息的文件,
其中获得部分从所述文件中获得应用程序所使用的API的版本信息。
7.根据权利要求1所述的图像成形装置,其中,当在安装应用程序之前比较部分比较版本时,
图像成形装置在操作面板上显示信息,所述信息指示如果应用程序所使用的API的所有版本与系统服务程序的对应的API的版本相同,则安装该应用程序。
8.根据权利要求1所述的图像成形装置,所述图像成形装置包括:控制服务程序,用于控制图像成形装置的硬件资源,和
虚拟的应用服务程序,作为用于至少一个控制服务程序的客户机进程而操作,以及作为用于应用程序的服务器进程而操作,
其中系统服务程序包括至少一个通过使用API从应用程序接收请求的控制服务程序,和虚拟的应用服务程序。
9.根据权利要求8所述的图像成形装置,其中虚拟的应用服务程序包括获得部分和比较部分。
10.一种图像成形装置执行的API版本校验方法,所述图像成形装置包括应用程序,用于执行关于图像成形的处理,和系统服务程序,用于通过使用来自于应用程序的API来执行基于请求的图像成形装置的系统侧的处理,该方法包括:
获得步骤,用于为系统服务程序而获得应用程序所使用的API的版本信息,以及获得系统服务程序的API的版本信息;
比较步骤,用于逐API地将应用程序所使用的API的版本与系统服务程序的API的版本进行比较。
11.根据权利要求10所述的方法,该方法还包括用于将由应用程序所使用的一组API的版本与系统服务程序的一组API的版本进行比较的步骤,
其中仅当版本组的版本不同时,该图像成形装置才执行比较。
12.根据权利要求10所述的方法,其中应用程序的执行程序包括应用程序所使用的API的版本信息,以及
其中从应用程序中获得该应用程序所使用API的版本信息。
13.根据权利要求12所述的方法,其中图像成形装置为从应用程序获得版本信息而试验性地启动应用程序。
14.根据权利要求12所述的方法,其中系统服务程序包括多个系统服务程序模块,应用程序包括用于每一系统服务程序模块的由应用程序所使用的API的版本信息,
该方法包括以下步骤:
从应用程序获得对应于系统服务程序模块的API的信息版本,以及
从系统服务程序模块获得系统服务程序模块的API的版本信息。
15.根据权利要求10所述的方法,图像成形装置包括存储由应用程序所使用的API的版本信息的文件,
其中从所述文件获得应用程序所使用的API的版本信息。
16.根据权利要求10所述的方法,其中当在安装应用程序之前比较版本时,
图像成形装置在操作板上显示信息,所述信息指示如果应用程序所使用的API的所有版本与系统服务程序的对应的API的版本相同,则安装应用程序。
17.根据权利要求10所述的方法,图像成形装置包括:控制服务程序,用于控制图像成形装置的硬件资源,以及
虚拟的应用服务程序,其作为用于至少一个控制服务程序的客户机进程而操作,并且作为用于应用程序的服务器进程而操作,
其中系统服务程序包括使用API从应用程序接收请求的至少一个控制服务程序,和虚拟的应用服务程序。
18.根据权利要求17所述的方法,其中虚拟的应用服务程序执行获得步骤和比较步骤。
19.一种使图像成形装置执行版本校验处理的计算机程序,其中图像成形装置包括应用程序,用于执行关于图像成形的处理,和系统服务程序,用于通过使用来自于应用程序的API来执行基于请求的图像成形装置的系统侧的处理,所述计算机程序包括:
获得程序代码装置,用于为系统服务程序而获得应用程序所使用的API的版本信息,和获得系统服务程序的API的版本信息;
比较程序代码装置,用于逐API地将应用程序所使用的API的版本与系统服务程序的API的版本进行比较。
20.根据权利要求19所述的计算机程序,该计算机程序还包括:
程序代码装置,用于将应用程序所使用的一组API的版本与系统服务程序的一组API的版本进行比较,
其中仅当API组的版本不同时,比较程序代码装置才执行比较。
21.根据权利要求19所述的计算机程序,其中应用程序的执行程序包括应用程序所使用的API的版本信息,以及
获得程序代码装置从应用程序获得该应用程序所使用的API的版本信息。
22.根据权利要求19所述的计算机程序,图像成形装置包括存储由应用程序所使用的API的版本信息的文件,
其中获得程序代码装置从所述文件获得应用程序所使用的API的版本信息。
23.根据权利要求19所述的计算机程序,其中,当在安装应用程序之前比较程序代码装置比较版本时,
所述计算机程序还包括程序代码装置,用于使图像成形装置在操作板上显示信息,所述信息指示如果应用程序所使用的API的所有版本与系统服务程序的对应的API的版本相同,则安装应用程序。
24.一种在图像成形装置上执行的计算机程序,其中图像成形装置包括系统服务程序,用于基于来自于执行有关图像成形处理的应用程序的请求而执行图像成形装置的系统侧的处理,所述计算机程序包括:
程序代码装置,用于基于来自于系统服务程序的请求而确定是试验性启动应用程序还是正常地启动应用程序,以及
程序代码装置,用于通过与系统服务程序通信而提供给系统服务程序有关应用程序的信息。
25.一种存储使图像成形装置执行版本校验处理的程序代码的计算机可读介质,其中图像成形装置包括用于执行有关图像成形处理的应用程序,以及基于请求并通过使用来自于应用程序的API来执行图像成形装置的系统侧的处理的系统服务程序,所述计算机可读介质包括:
获得程序代码装置,用于为系统服务程序获得应用程序所使用的API的版本信息,并且获得系统服务程序的API的版本信息;
比较程序代码装置,用于逐API地将应用程序所使用的API的版本与系统服务程序的API的版本进行比较。
26.一种存储在图像成形装置上执行的程序代码的计算机可读介质,其中图像成形装置包括系统服务程序,用于基于来自于执行有关图像成形处理的应用程序的请求而执行图像成形装置的系统侧的处理,所述计算机程可读介质包括:
程序代码装置,用于基于来自于系统服务程序的请求而确定是试验性启动应用程序还是正常地启动应用程序,以及
程序代码装置,用于通过与系统服务程序通信而将有关应用程序的信息提供给系统服务程序。
27.一种信息处理装置,包括应用程序,以及基于请求并使用来自于应用程序的API而执行信息处理装置的系统侧的处理的系统服务程序,所述信息处理装置包括:
获得部分,用于为系统服务程序而获得应用程序所使用的API的版本信息,和获得系统服务程序的API的版本信息;
比较部分,用于逐API地将应用程序所使用的API的版本与系统服务程序的API的版本进行比较。
28.根据权利要求27所述的信息处理装置,所述信息处理装置还包括用于将应用程序所使用的一组API的版本与系统服务程序的一组API的版本进行比较的部分,
其中仅当API组的版本不同时,所述信息处理装置才由比较部分执行比较。
29.根据权利要求27所述的信息处理装置,其中应用程序的执行程序包括应用程序所使用的API的版本信息,以及
获得部分从应用程序获得应用所使用的API的版本信息。
30.根据权利要求29所述的信息处理装置,其中信息处理装置为从应用程序获得版本信息而试验性地启动应用程序。
31.根据权利要求29所述的信息处理装置,其中系统服务程序包括多个系统服务程序模块,
应用程序包括用于每一系统服务程序模块的由应用程序所使用的API的版本信息,
当从应用程序获得对应于系统服务程序模块的API的版本信息时,获得部分从系统服务程序模块获得系统服务程序模块的API的版本信息。
32.根据权利要求27所述的信息处理装置,所述信息处理装置包括存储由应用程序所使用的API的版本信息的文件,
其中获得部分从该文件获得应用程序所使用的API的版本信息。
33.根据权利要求27所述的信息处理装置,其中,当在安装应用程序之前比较部分比较版本时,
信息处理装置在操作板上显示信息,所述信息指示如果应用程序所使用的API的所有版本与系统服务程序的对应的API的版本相同,则安装应用程序。
34.根据权利要求27所述的信息处理装置,所述信息处理装置包括:
控制服务程序,用于控制信息处理装置的硬件资源,以及
虚拟的应用服务程序,作为用于至少一个控制服务程序的客户机进程而操作,并且作为用于应用程序的服务器进程而操作,
其中系统服务程序包括使用API从应用程序接收请求的至少一个控制服务程序,以及虚拟的应用服务程序。
35.根据权利要求34所述的信息处理装置,其中虚拟的应用服务程序包括获得部分和比较部分。
36.一种由信息处理装置执行的API版本校验方法,所述信息处理装置包括应用程序,以及基于请求并使用来自应用程序的API来执行信息处理装置的系统侧的处理的系统服务程序,该方法包括:
获得步骤,用于为系统服务程序而获得应用程序所使用的API的版本信息,和获得系统服务程序的API的版本信息;
比较步骤,用于逐API地将应用程序所使用的API的版本与系统服务程序的API的版本进行比较。
37.根据权利要求36所述的方法,该方法还包括将应用程序所使用的一组API的版本与系统服务程序的一组API的版本进行比较的步骤,
其中仅当API组的版本不同时,信息处理装置才执行比较。
38.根据权利要求36所述的方法,其中应用程序的执行程序包括由应用程序所使用的API的版本信息,以及
其中从应用程序获得应用程序所使用的API的版本信息。
39.根据权利要求38所述的方法,其中信息处理装置为从应用程序获得版本信息而试验性地启动应用程序。
40.根据权利要求38所述的方法,其中系统服务程序包括多个系统服务程序模块,应用程序包括用于每一系统服务程序模块的由应用程序所使用的API的版本信息,该方法包括以下步骤:
从应用程序获得对应于系统服务程序模块的API的版本信息,以及
从系统服务程序模块获得系统服务程序模块的API的版本信息。
41.根据权利要求36所述的方法,信息处理装置包括存储由应用程序所使用的API的版本信息的文件,
其中从该文件获得应用程序所使用的API的版本信息。
42.根据权利要求36所述的方法,其中,当在安装应用程序之前版本被比较时,
信息处理装置在操作板上显示信息,所述信息指示如果应用程序所使用的API的所有版本与系统服务程序的对应的API的版本相同,则安装应用程序。
43.根据权利要求36所述的方法,信息处理装置包括:
控制服务程序,用于控制信息处理装置的硬件资源,以及
虚拟的应用服务程序,作为用于至少一个控制服务程序的客户机进程而操作,并且作为用于应用程序的服务器进程而操作,
其中系统服务程序包括使用API从应用程序接收请求的至少一个控制服务程序,以及虚拟的应用服务程序。
44.根据权利要求43所述的方法,其中虚拟的应用服务程序执行获得步骤和比较步骤。
45.一种使信息处理装置执行版本校验处理的计算机程序,其中信息处理装置包括应用程序,和基于请求并通过使用来自应用程序的API而执行信息处理装置的系统侧的处理的系统服务程序,该计算机程序包括:
获得程序代码装置,用于为系统服务程序而获得应用程序所使用的API的版本信息,和获得系统服务程序的API的版本信息;
比较程序代码装置,用于逐API地将应用程序所使用的API的版本与系统服务程序的API的版本进行比较。
46.根据权利要求45所述的计算机程序,该计算机程序还包括:
程序代码装置,用于比较由应用程序所使用的一组API的版本与系统服务程序的一组API的版本,
其中仅当API组的版本不同时,比较程序代码装置才执行比较。
47.根据权利要求45所述的计算机程序,其中应用程序的执行程序包括应用程序所使用的API的版本信息,以及
获得程序代码装置从应用程序获得应用程序所使用的API的版本信息。
48.根据权利要求45所述的计算机程序,信息处理装置包括存储由应用程序所使用的API的版本信息的文件,
其中获得程序代码装置从该文件获得应用程序所使用的API的版本信息。
49.根据权利要求45所述的计算机程序,其中,当在安装应用程序之前比较代码装置比较版本时,
计算机程序还包括程序代码装置,用于使信息处理装置在操作板上显示信息,所述信息指示如果应用程序所使用的API的所有版本与系统服务程序的对应的API的版本相同,则安装应用程序。
50.一种在信息处理装置上执行的计算机程序,其中信息处理装置包括系统服务程序,其基于来自应用程序的请求而执行信息处理装置的系统侧的处理,该计算机程序包括:
程序代码装置,用于基于来自系统服务程序的请求而确定是试验性地启动应用程序还是正常地启动应用程序,以及
程序代码装置,通过与系统服务程序进行通信而将有关应用程序的信息提供给系统服务程序。
51.一种存储有使信息处理装置执行版本校验处理的程序代码的计算机可读介质,其中信息处理装置包括用于执行有关图像成形处理的应用程序,以及基于请求并通过使用来自应用程序的API而执行信息处理装置的系统侧的处理,所述计算机可读介质包括:
获得程序代码装置,用于为系统服务程序而获得应用程序所使用的API的版本信息,并且获得系统服务程序的API的版本信息;
比较程序代码装置,用于逐API地将应用程序所使用的API的版本与系统服务程序的API的版本进行比较。
52.一种存储有在信息处理装置上执行的程序代码的计算机可读介质,其中信息处理装置包括系统服务程序,来基于来自于执行有关图像成形处理的应用程序的请求而执行信息处理装置的系统侧的处理,该计算机可读介质包括:
程序代码装置,用于基于来自系统服务程序的请求来确定是试验性地启动应用程序还是正常地启动应用程序,以及
程序代码装置,通过与系统服务程序通信而将有关应用程序的信息提供给系统服务程序。
Applications Claiming Priority (9)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP224136/2002 | 2002-07-31 | ||
JP224136/02 | 2002-07-31 | ||
JP2002224136 | 2002-07-31 | ||
JP2003195193A JP2004129220A (ja) | 2002-07-31 | 2003-07-10 | 画像形成装置およびバージョンチェック方法 |
JP195194/2003 | 2003-07-10 | ||
JP195193/03 | 2003-07-10 | ||
JP2003195194A JP2004127253A (ja) | 2002-07-31 | 2003-07-10 | 情報処理装置およびバージョンチェック方法 |
JP195193/2003 | 2003-07-10 | ||
JP195194/03 | 2003-07-10 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1495579A true CN1495579A (zh) | 2004-05-12 |
CN1312545C CN1312545C (zh) | 2007-04-25 |
Family
ID=30118933
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB031648061A Expired - Fee Related CN1312545C (zh) | 2002-07-31 | 2003-07-31 | 图像成形装置、信息处理装置和版本校验方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US7636172B2 (zh) |
EP (1) | EP1387268A3 (zh) |
CN (1) | CN1312545C (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100380273C (zh) * | 2004-06-21 | 2008-04-09 | 佳能株式会社 | 图像形成装置、应用程序的许可证管理方法 |
CN100459647C (zh) * | 2005-12-22 | 2009-02-04 | 夏普株式会社 | 复合机、控制装置、复合机控制系统、复合机的控制方法 |
CN102098404A (zh) * | 2009-12-09 | 2011-06-15 | 夏普株式会社 | 复合机 |
CN103078670A (zh) * | 2012-12-26 | 2013-05-01 | 东莞宇龙通信科技有限公司 | 信息获取的方法及电子设备 |
US8549598B2 (en) | 2010-04-26 | 2013-10-01 | Sharp Kabushiki Kaisha | Multifunction apparatus, authentication server, and multifunction apparatus control system |
US9001356B2 (en) | 2009-12-08 | 2015-04-07 | Sharp Kabushiki Kaisha | Multifunction printer, multifunction printer control system, and recording medium |
CN105493039A (zh) * | 2013-06-20 | 2016-04-13 | 微软技术许可有限责任公司 | 使用解耦的应用编程接口(api)版本化的应用激活 |
CN110221880A (zh) * | 2019-06-05 | 2019-09-10 | 北京金山安全软件有限公司 | 应用程序编程接口调用方法、装置、设备及介质 |
CN111142979A (zh) * | 2019-12-30 | 2020-05-12 | 广州酷狗计算机科技有限公司 | 应用程序运行方法、装置、计算机设备和存储介质 |
Families Citing this family (49)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4070693B2 (ja) | 2002-09-13 | 2008-04-02 | 株式会社リコー | 画像形成装置およびスキャンデータ処理方法 |
EP2257037A3 (en) | 2003-07-29 | 2011-06-15 | Ricoh Company, Ltd. | Image forming apparatus as client of a distributed file system, image processing method, image processing program and recording medium |
JP4676724B2 (ja) * | 2003-08-12 | 2011-04-27 | 株式会社リコー | 情報処理装置、情報処理方法、情報処理プログラム、及び記録媒体 |
JP4728611B2 (ja) | 2003-08-12 | 2011-07-20 | 株式会社リコー | 記憶媒体、記憶装置、情報処理装置、情報処理方法、情報処理プログラム及び記録媒体 |
WO2005052759A2 (en) * | 2003-11-24 | 2005-06-09 | Ebay Inc. | Business language schema design framework |
US7844639B2 (en) | 2003-11-24 | 2010-11-30 | Ebay Inc. | Backward compatibility in database schemas |
US20050190393A1 (en) * | 2004-02-27 | 2005-09-01 | Agilent Technologies, Inc. | Programmable controller system and method for supporting various operational modes in peripheral devices |
JP2007536634A (ja) * | 2004-05-04 | 2007-12-13 | フィッシャー−ローズマウント・システムズ・インコーポレーテッド | プロセス制御システムのためのサービス指向型アーキテクチャ |
US7729789B2 (en) | 2004-05-04 | 2010-06-01 | Fisher-Rosemount Systems, Inc. | Process plant monitoring based on multivariate statistical analysis and on-line process simulation |
JP4769515B2 (ja) * | 2004-09-07 | 2011-09-07 | 株式会社リコー | アプリケーション実行方法、情報処理装置、画像形成装置、アプリケーション実行プログラム、記録媒体、及び情報処理システム |
JP4597834B2 (ja) * | 2004-10-18 | 2010-12-15 | 株式会社リコー | 画像形成装置、情報処理方法、情報処理プログラム及び記録媒体 |
JP4575860B2 (ja) * | 2004-10-21 | 2010-11-04 | 株式会社リコー | 画像形成装置、インストール方法、インストールプログラム、及び記録媒体 |
EP1675044A1 (de) * | 2004-12-21 | 2006-06-28 | Siemens Aktiengesellschaft | Engineering-System für verteilte Entwicklung und Entwicklung durch mehrere Nutzer |
JP4704245B2 (ja) * | 2005-03-31 | 2011-06-15 | 株式会社リコー | 画像形成装置、情報処理方法、プログラム、及び記録媒体 |
JP5019817B2 (ja) * | 2005-08-15 | 2012-09-05 | 株式会社リコー | 情報処理装置、情報処理方法、情報処理プログラム、及び記録媒体 |
JP4791910B2 (ja) | 2005-08-26 | 2011-10-12 | 株式会社リコー | 画像形成装置、情報処理方法、情報処理プログラム、及び記録媒体 |
US9141374B2 (en) * | 2005-09-16 | 2015-09-22 | Ricoh Company, Ltd. | Image forming device, information processing method, information processing program, and recording medium |
JP4404064B2 (ja) * | 2006-03-31 | 2010-01-27 | ブラザー工業株式会社 | 画像処理装置、画像処理装置の重複設定防止プログラム。 |
JP4822544B2 (ja) * | 2006-04-26 | 2011-11-24 | 株式会社リコー | 複数のモジュール構成情報を管理できる画像形成装置 |
US20080027945A1 (en) * | 2006-07-28 | 2008-01-31 | Nichols Paul H | Methods, systems and computer program products for downloading a Java application based on identification of supported classes |
JP5057899B2 (ja) * | 2007-09-03 | 2012-10-24 | 株式会社リコー | 画像形成装置、アプリケーション制御方法、及びアプリケーション制御プログラム |
JP2009207091A (ja) * | 2008-02-29 | 2009-09-10 | Canon Inc | 画像形成装置及び方法、該方法を実行する制御プログラム、該プログラムを記憶した媒体 |
WO2010029602A1 (ja) * | 2008-09-12 | 2010-03-18 | 富士通株式会社 | ソフトウェアパッチ適用方法、プログラム及び装置 |
US8423963B2 (en) * | 2009-03-12 | 2013-04-16 | International Buysiness Machines Corporation | Computer implemented API management mechanism for generating upgrade risk level handling |
US8881039B2 (en) | 2009-03-13 | 2014-11-04 | Fisher-Rosemount Systems, Inc. | Scaling composite shapes for a graphical human-machine interface |
JP5282677B2 (ja) | 2009-06-25 | 2013-09-04 | 株式会社リコー | 互換性評価装置、互換性評価方法、及びプログラム |
DE102010011658A1 (de) * | 2010-03-17 | 2011-09-22 | Siemens Aktiengesellschaft | Applikationsplattform und Verfahren zum Betrieb einer Datenverarbeitungseinrichtung mit einer solchen |
US8825183B2 (en) * | 2010-03-22 | 2014-09-02 | Fisher-Rosemount Systems, Inc. | Methods for a data driven interface based on relationships between process control tags |
KR20110107579A (ko) | 2010-03-25 | 2011-10-04 | 삼성전자주식회사 | 인쇄 제어 단말장치 및 펌웨어 업그레이드 방법 |
US8949771B2 (en) * | 2011-06-22 | 2015-02-03 | Microsoft Corporation | Media files including programming code and description |
JP5535996B2 (ja) * | 2011-08-04 | 2014-07-02 | シャープ株式会社 | 表示制御装置、複合機制御システム、表示制御方法、プログラムおよびその記録媒体 |
US8495612B2 (en) * | 2011-10-21 | 2013-07-23 | International Business Machines Corporation | Systems and methods for upgrading a version of software |
JP5904800B2 (ja) * | 2012-01-16 | 2016-04-20 | キヤノン株式会社 | 装置、制御方法、並びにプログラム |
JP5782055B2 (ja) * | 2013-01-31 | 2015-09-24 | 京セラドキュメントソリューションズ株式会社 | 画像形成装置 |
JP5889827B2 (ja) * | 2013-04-25 | 2016-03-22 | 京セラドキュメントソリューションズ株式会社 | 画像形成装置及び画像形成方法 |
US9294524B2 (en) * | 2013-12-16 | 2016-03-22 | Nicira, Inc. | Mapping virtual machines from a private network to a multi-tenant public datacenter |
JP2018028842A (ja) | 2016-08-19 | 2018-02-22 | 株式会社リコー | 情報処理装置、情報処理方法、及び情報処理プログラム |
JP6720795B2 (ja) | 2016-09-16 | 2020-07-08 | 株式会社リコー | 機器、情報処理装置、情報処理システム、情報処理方法、及びプログラム |
GB2554390B (en) * | 2016-09-23 | 2018-10-31 | 1E Ltd | Computer security profiling |
US10310850B2 (en) * | 2016-10-19 | 2019-06-04 | Facebook, Inc. | Methods and systems for determining relevant changes in an API |
JP6870311B2 (ja) | 2016-12-16 | 2021-05-12 | 株式会社リコー | 情報処理システム、機器、情報処理方法及びプログラム |
JP6897178B2 (ja) * | 2017-03-10 | 2021-06-30 | 株式会社リコー | 情報処理システム、情報処理装置、情報処理方法及びプログラム |
JP6987541B2 (ja) * | 2017-06-16 | 2022-01-05 | 株式会社東芝 | 画像形成装置及び画像形成装置の制御方法 |
JP7119844B2 (ja) | 2018-03-05 | 2022-08-17 | 株式会社リコー | 情報処理システム、情報処理装置、情報処理方法及びプログラム |
EP3629167A1 (en) | 2018-09-27 | 2020-04-01 | Ricoh Company, Ltd. | Information processing system, information processing apparatus, method of processing information, and carrier means |
US11153401B2 (en) | 2018-09-28 | 2021-10-19 | Ricoh Company, Ltd. | Information processing system, information processing apparatus, and method of processing information |
US11431874B2 (en) | 2018-11-28 | 2022-08-30 | Ricoh Company, Ltd. | Information processing system to securely upload image data |
JP7188024B2 (ja) | 2018-11-29 | 2022-12-13 | 株式会社リコー | 情報処理装置、情報処理システム、情報処理方法及びプログラム |
US10911624B2 (en) | 2018-11-30 | 2021-02-02 | Ricoh Company, Ltd. | Server, method of controlling data communication, and storage medium |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB8814630D0 (en) * | 1987-11-17 | 1988-07-27 | Ibm | Dynamically adaptive environment for computer programs |
ATE160032T1 (de) * | 1993-05-05 | 1997-11-15 | Apple Computer | Verfahren und vorrichtung zur kompatibilitätsverifikation zwischen komponenten in einem rechnersystem |
US5634114A (en) * | 1993-11-18 | 1997-05-27 | Intel Corporation | Dynamic link library version negotiation |
EP0710914B1 (en) * | 1994-11-04 | 2000-05-03 | Canon Information Systems, Inc. | Smart programming of flash memory |
US5668999A (en) | 1994-12-20 | 1997-09-16 | Sun Microsystems, Inc. | System and method for pre-verification of stack usage in bytecode program loops |
US5774720A (en) * | 1995-08-18 | 1998-06-30 | International Business Machines Corporation | Personality neutral graphics subsystem |
US5926636A (en) * | 1996-02-21 | 1999-07-20 | Adaptec, Inc. | Remote procedural call component management method for a heterogeneous computer network |
US6154878A (en) * | 1998-07-21 | 2000-11-28 | Hewlett-Packard Company | System and method for on-line replacement of software |
AU4674100A (en) * | 1999-04-29 | 2000-11-17 | Rutgers University | Distributed software development environment |
DE19926467C1 (de) * | 1999-06-10 | 2001-01-11 | Siemens Ag | Verfahren zum Betreiben eines Computersystems, Bytecode-Verifier und Computersystem |
US6986132B1 (en) * | 2000-04-28 | 2006-01-10 | Sun Microsytems, Inc. | Remote incremental program binary compatibility verification using API definitions |
JP2002082806A (ja) | 2000-07-05 | 2002-03-22 | Ricoh Co Ltd | 画像形成装置、画像形成方法およびプログラム |
AU9084201A (en) * | 2000-09-14 | 2002-03-26 | Sun Microsystems Inc | Remote incremental program binary compatibility verification using api definitions |
JP2002200827A (ja) | 2000-11-06 | 2002-07-16 | Ricoh Co Ltd | 画像形成装置、画像形成方法およびその方法をコンピュータに実行させるプログラム |
US20030058471A1 (en) * | 2001-09-21 | 2003-03-27 | Hiromi Okubo | Method and apparatus for image processing capable of automatically adding/upgrading image processing functions, and a computer readable data medium containing computer instructions for performing the method |
-
2003
- 2003-07-28 EP EP03016594A patent/EP1387268A3/en not_active Withdrawn
- 2003-07-28 US US10/627,731 patent/US7636172B2/en not_active Expired - Fee Related
- 2003-07-31 CN CNB031648061A patent/CN1312545C/zh not_active Expired - Fee Related
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100380273C (zh) * | 2004-06-21 | 2008-04-09 | 佳能株式会社 | 图像形成装置、应用程序的许可证管理方法 |
CN100459647C (zh) * | 2005-12-22 | 2009-02-04 | 夏普株式会社 | 复合机、控制装置、复合机控制系统、复合机的控制方法 |
US9001356B2 (en) | 2009-12-08 | 2015-04-07 | Sharp Kabushiki Kaisha | Multifunction printer, multifunction printer control system, and recording medium |
CN102098404A (zh) * | 2009-12-09 | 2011-06-15 | 夏普株式会社 | 复合机 |
US8549598B2 (en) | 2010-04-26 | 2013-10-01 | Sharp Kabushiki Kaisha | Multifunction apparatus, authentication server, and multifunction apparatus control system |
CN103078670A (zh) * | 2012-12-26 | 2013-05-01 | 东莞宇龙通信科技有限公司 | 信息获取的方法及电子设备 |
CN105493039A (zh) * | 2013-06-20 | 2016-04-13 | 微软技术许可有限责任公司 | 使用解耦的应用编程接口(api)版本化的应用激活 |
CN110221880A (zh) * | 2019-06-05 | 2019-09-10 | 北京金山安全软件有限公司 | 应用程序编程接口调用方法、装置、设备及介质 |
CN110221880B (zh) * | 2019-06-05 | 2023-06-20 | 北京金山安全软件有限公司 | 应用程序编程接口调用方法、装置、设备及介质 |
CN111142979A (zh) * | 2019-12-30 | 2020-05-12 | 广州酷狗计算机科技有限公司 | 应用程序运行方法、装置、计算机设备和存储介质 |
CN111142979B (zh) * | 2019-12-30 | 2023-09-22 | 广州酷狗计算机科技有限公司 | 应用程序运行方法、装置、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US20040075857A1 (en) | 2004-04-22 |
CN1312545C (zh) | 2007-04-25 |
US7636172B2 (en) | 2009-12-22 |
EP1387268A2 (en) | 2004-02-04 |
EP1387268A3 (en) | 2005-03-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1495579A (zh) | 图像成形装置、信息处理装置和版本校验方法 | |
CN1282046C (zh) | 图像形成设备、打包方法 | |
CN1570778A (zh) | 图像形成设备和功能键分配方法 | |
CN106155679B (zh) | 信息处理系统、信息处理装置和信息处理方法 | |
CN1300673C (zh) | 成像装置和使该成像装置启动应用程序的方法 | |
US20100251232A1 (en) | Image processing apparatus, software delivery system, and install processing method | |
CN1825818A (zh) | 装置信息管理系统、计算机和程序 | |
US10609509B2 (en) | Information processing system, information processing apparatus, and information processing method for providing application information | |
CN1570777A (zh) | 图像形成装置和用远程应用软件操作图像形成装置的方法 | |
US10892956B2 (en) | Device management server, control method for the same, and medium | |
CN1869916A (zh) | 定制驱动器的方法、设备和系统 | |
US8533290B2 (en) | Installation support method and workflow generation support method | |
CN1666883A (zh) | 信息处理装置、图像形成装置及其方法和系统 | |
JP4373742B2 (ja) | 画像形成装置およびアプリ起動制限方法 | |
US20080229327A1 (en) | Information processing apparatus, information processing mehtod and computer program product | |
CN1950833A (zh) | 用于彩色管理的方法和装置 | |
CN1763737A (zh) | 打印支援装置及控制方法、打印处理装置和文本处理系统 | |
CN1892570A (zh) | 图像形成装置及图像形成控制方法 | |
JP4626676B2 (ja) | ワークフロー作成支援方法、ワークフローサーバ、プログラム | |
US20030133136A1 (en) | Method for generating and launching application for information processing apparatus and image forming apparatus | |
CN1497423A (zh) | 数据处理设备 | |
US20130278966A1 (en) | Image forming apparatus and job management method | |
US20100165391A1 (en) | Information processing apparatus, information processing method, and information processing system | |
JP2004127253A (ja) | 情報処理装置およびバージョンチェック方法 | |
US9491158B2 (en) | Authentication system, authentication method, information processing apparatus |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20070425 Termination date: 20180731 |