CN103154888B - 安装方法和装置 - Google Patents

安装方法和装置 Download PDF

Info

Publication number
CN103154888B
CN103154888B CN201180043967.2A CN201180043967A CN103154888B CN 103154888 B CN103154888 B CN 103154888B CN 201180043967 A CN201180043967 A CN 201180043967A CN 103154888 B CN103154888 B CN 103154888B
Authority
CN
China
Prior art keywords
application
program
jsdk
csdk
installation
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
Application number
CN201180043967.2A
Other languages
English (en)
Other versions
CN103154888A (zh
Inventor
广川朋也
杉浦裕子
韩晓峰
井川拓
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Publication of CN103154888A publication Critical patent/CN103154888A/zh
Application granted granted Critical
Publication of CN103154888B publication Critical patent/CN103154888B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/54Link editing before load time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/62Uninstallation

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Telephone Function (AREA)
  • Telephonic Communication Services (AREA)

Abstract

一种装置执行的安装方法,包括当第一程序被激活时,从第一程序接收调用;以及响应该调用,安装第一程序使用的第二程序。

Description

安装方法和装置
技术领域
本发明涉及一种安装方法和装置,特别涉及一种用于在装置中执行程序的安装方法和装置。
背景技术
传统地,应用程序可以在装运之后作为插件被加入到图像形成装置。例如,以C语言(以下称为“C应用”)开发的应用,以及以Java(注册商标)(以下称为“J应用”)开发的应用,可以被安装到专利文档1所述的图像形成装置中。
然而,用于C应用的平台与用于J应用的平台是不同的。特别地,用于J应用的平台是通过在C应用的平台上提供具有用于Java(注册商标)的API(应用程序接口)的平台而形成的(专利文档1中的JSDK平台)。
JSDK平台的模型依赖性明显低于用于C应用的平台的模型依赖性。也就是说,JSDK平台的API可以应用于各种模型类型。从应用开发者的角度,开发应用作为J应用是更有利的。这是因为在J应用的情况下,为各自的模型类型改变源代码的必要性很低,因此可以降低开发成本。
然而,JSDK平台提供的API的功能范围比C应用的平台要窄。也就是说,真正J应用可以实现的功能数量小于真正C应用可以实现的功能数量。真正J应用意味着仅仅是由JSDK平台上操作的程序模块配置的J应用。
因此,如果功能不能仅仅通过J应用来实现,那么功能需要被安装为C应用。这样,包括J应用模块和C应用模块的程序包作为一个应用被出售。
包括J应用和C应用的应用对于用户而言明显是一个单独的应用,但是这种应用被图像形成装置认为是两个应用,它不能识别具有这种配置的应用(即,包括J应用和C应用的配置)。因此,用户需要执行安装操作两次(用户需要给出执行安装操作两次的指令)。
在这种图像形成装置中,考虑到具有以上配置的应用,通过校正应用的安装机制,在技术上可以通过单独一个安装指令来执行安装J应用的处理和安装C应用的处理两者。
然而,不能识别包括J应用和C应用的应用的图像形成装置已经可以在商业上大量应用,并且可以用于终端用户。这将需要大量的成本和工作,来应用上述校正到这些图像形成装置。
专利文档1:日本公开专利申请No.2007-49677
发明内容
考虑到上述问题做出本发明,本发明的至少一个实施例的目的在于提供一种安装方法和装置,可以简化安装程序的操作。
本发明的一个方面是提供一种存储有可执行安装程序的非瞬时性计算机可读存储介质,其中该安装程序指示装置的处理器执行:当第一程序被激活时,从所述第一程序接收调用;以及响应所述调用,安装所述第一程序使用的第二程序。
本发明的一个方面是提供一种由装置执行的安装方法,所述安装方法包括:当第一程序被激活时,从所述第一程序接收调用;以及响应所述调用,安装所述第一程序使用的第二程序。
本发明的一个方面是提供一种装置,包括:接收单元,配置为当第一程序被激活时,从所述第一程序接收调用;以及第一安装单元,配置为响应所述调用,安装所述第一程序使用的第二程序。
附图说明
图1示出了根据本发明的实施例的图像形成装置的硬件配置的例子;
图2示出了根据本发明的实施例的图像形成装置的软件配置;
图3示出了JSDK应用和CSDK应用的管理机制的例子;
图4示出了根据第一实施例的作为安装目标设置的SDK应用的配置的例子;
图5是描述了根据第一实施例的SDK应用的安装处理和卸载处理的处理流程的例子的时序图;
图6示出了根据第二实施例的作为安装目标设置的SDK应用的配置的例子;
图7示出了与包括代理库的SDK应用相关的安装机制的例子;
图8是描述了根据第二实施例的SDK应用的安装处理和卸载处理的处理流程的例子的时序图;
图9用于描述安装由代理库执行的CSDK应用的处理的处理流程的例子;
图10表示记录在代理属性文件中的信息的例子;以及
图11用于描述卸载由代理库执行的CSDK应用的处理的处理流程的例子。
具体实施方式
以下参考附图描述本发明的实施例。图1示出了根据本发明的实施例的图像形成装置10的硬件配置的例子。如图1所示,图像形成装置10包括硬件元件,例如控制器11、扫描仪12、打印机13、调制解调器14、操作面板15、网络接口16和SD卡槽17。
控制器11包括CPU 111、RAM 112、ROM 113、HDD 114和NVRAM 115。ROM 113记录各种程序和程序使用的数据。RAM 112被用作加载程序的存储区域,以及所加载程序的工作区域。CPU 111处理在RAM 112中加载的程序,来实现各种功能。HDD 114记录程序和程序使用的各种数据项。NVRAM 115记录各种设置信息项。
扫描仪12是用于扫描原件而获得图像数据的硬件元件(图像扫描单元)。打印机13是用于在纸张上打印数据的硬件元件(打印单元)。调制解调器14是用于将图像形成装置10连接到电话线,通过传真通信传送和接收图像数据的硬件元件。操作面板15是包括输入单元和显示单元的硬件元件,输入单元例如是用于从用户接收输入的按钮,显示单元例如是液晶面板。网络接口16是用于将图像形成装置10连接到网络的硬件元件,网络(有线的或无线的)例如是LAN。SD卡槽17被用于读取记录在SD卡80中的程序。在图像形成装置10中,除了记录在ROM 113中的程序,记录在SD卡80中的程序也可以在RAM 112中被加载和执行。
图2示出了根据本发明的实施例的图像形成装置10的软件配置。如图2所示,图像形成装置10包括标准应用151、SAS(SDK应用业务)152、CSDK应用153、JVM 154、JSDK平台155、JSDK应用156、VAS(虚拟应用业务)157、控制业务158和OS 159。
标准应用151是在图像形成装置10中被安装为标准应用(图像形成装置10所装运的)的一组应用。图2中所示的例子是扫描仪应用1511、打印应用1512、复印应用1513和传真应用1514。扫描仪应用1511执行扫描任务。打印应用1512执行打印任务。复印应用1513执行复印任务。传真应用1514执行传真传送任务或传真接收任务。
控制业务158是一组软件模块,用于提供控制各种硬件资源的功能到上层应用,并执行图像形成装置10的基本功能。
VAS 157是用于封装控制业务158的接口,并用于吸收随着控制业务158升级而产生的接口中的差异。这确保了VAS 157上操作的程序(特别是CSDK应用153)与控制业务158的各种版本兼容。
CSDK应用153和JSDK应用156是SDK应用的例子。SDK应用被开发作为图像形成装置10的插件,用于扩展图像形成装置10的功能的目的。图像形成装置10具有专用于SDK应用的公共API(应用程序接口)。一种API是VAS 157提供的C语言。另一种API是下述JSDK平台155提供的Java(注册商标)语言。通过利用C语言的API所创建的SDK应用被称为CSDK应用153。通过利用Java(注册商标)语言的API所创建的SDK应用被称为JSDK应用156。在图2中,CSDK应用153通过一个块(矩形)来表示,但是在单独一个图像形成装置10中可以安装有多个CSDK应用153。
JVM 154是通常所说的Java(注册商标)虚拟机,通过解释Java(注册商标)字节码所定义的指令而执行。在当前实施例中,JVM 154被安装作为CSDK应用之一。
SAS 152管理CSDK应用153的生命周期。例如,SAS 152控制在CSDK应用153上执行的安装处理、激活处理、中断处理和卸载处理。
JSDK平台155提供用于JSDK应用156的执行环境。也就是说,JSDK平台155提供Java(注册商标)语言的API到JSDK应用156。JSDK平台155包括JSDK管理单元1551和回调(callback)控制单元1552。JSDK管理单元1551管理JSDK应用156的生命周期。例如,JSDK管理单元1551控制JSDK应用156上执行的安装处理、激活处理、中断处理和卸载处理。JSDK管理单元1551可以被安装作为JSDK应用156之一。回调控制单元1552控制回调处理。回调对应于通常所说的编程中的回调。也就是说,回调是一种机制,通过提前注册事件类型和报告目标(回调功能),响应于生成的事件,生成回调到相应的报告目标。
OS 159是通常所说的操作系统。在图像形成装置10中的各个软件项在OS 159中作为处理或线程而操作。
图3示出了JSDK应用156和CSDK应用153的管理机制的例子。如图3所示,通过SAS 152管理CSDK应用153的生命周期。各个CSDK应用153作为单独的处理被激活。JVM 154是CSDK应用153之一。因此,JVM 154也可以作为一个处理被SAS 152激活。
同时,通过JSDK管理单元1551来管理JSDK应用156的生命周期。各个JSDK应用156作为JVM 154的处理上的单独线程被激活。
如上所述,CSDK应用153和JSDK应用156具有不同的管理机制,因为这些应用利用不同的语言被开发。例如,如果SAS 152试图直接控制JSDK应用156,那么SAS 152需要从C语言的源代码调用Java(注册商标)语言的接口。这样,高级编程技术是必要的,并且处理内容是繁琐和复杂的。此外,CSDK应用153作为处理被执行,而JSDK应用156作为线程被执行。同样考虑到执行形式的这个差异,简化管理机制是有利的,以提供单独的应用管理机制用于CSDK应用153和JSDK应用156。
然而,CSDK应用153和JSDK应用156的用户接口被组合。这种组合的用户接口被用户使用来指示安装、卸载、激活和中断应用的处理。特别的,用于提供用户接口的应用管理屏幕图像510以集成方式显示在操作面板15上。当CSDK应用153在应用管理屏幕图像510中被设置为操作目标时,SAS 152响应于操作指令(例如,安装处理、卸载处理、激活处理和中断处理)执行处理。同时,当JSDK应用156在应用管理屏幕图像510中被设置为操作目标时,SAS 152向JSDK管理单元1551报告操作指令。响应于来自SAS 152的报告,JSDK管理单元1551响应于操作指令(例如,安装处理、卸载处理、激活处理和中断处理)执行处理。
SAS 152和JSDK管理单元1551之间的交互可以根据协议执行,该协议便于使用,与开发语言无关,例如HTTP(超文本传输协议)和SOAP(简单对象访问协议)。因此,不需要调用从C语言的源代码调用Java(注册商标)语言的接口,因此不需要复杂的处理内容。
根据第一实施例,给出了SDK应用是安装目标的配置举例的描述。在第一实施例中,SDK应用被设置为安装目标,其中CSDK应用153和JSDK应用156被简单混合。“简单”的意思是,其中混合了CSDK应用153和JSDK应用156的SDK应用并不是为了将SDK应用安装为单独的SDK应用的目的而创建的。
图4示出了根据第一实施例将SDK应用设置为安装目标的配置的例子。
如图4所示,SDK应用A1包括JSDK文件156Fa和CSDK文件153Fa。JSDK文件156Fa是单独一个存档文件(例如,JAR(Java(注册商标)存档)文件),包括JSDK应用156a和JSDK属性文件156Pa。JSDK应用156a是SDK应用A1中JSDK应用156的实体。JSDK属性文件156Pa包括JSDK文件156Fa的配置信息,以及与JSDK应用156a相关的属性信息(例如,JSDK应用156a的标识符(应用标识符))。
CSDK文件153Fa是单独一个存档文件,包括CSDK应用153a和CSDK属性文件153Pa。CSDK应用153a是SDK应用A1中CSDK应用153的实体。CSDK属性文件153Pa包括CSDK文件153Fa的配置信息,以及与CSDK应用153a相关的属性信息(例如CSDK应用153a的标识符(应用标识符))。
JSDK应用156a是通过使用CSDK应用153a执行预定功能的JSDK应用156。也就是说,在SDK应用A1中,CSDK应用153a作为一个单独的程序模块出现。JSDK应用156a可以通过使用例如JNI(Java(注册商标)本地接口)来调用CSDK应用153a的方法。
在图4中,SDK应用A1被记录在SD卡80a中。这样,JSDK文件156Fa和CSDK文件153Fa作为单独文件被记录在SD卡80a中。也就是说,在图4中,表示SDK应用A1的虚线形成的矩形对应于单独SDK应用A1的逻辑上和概念上的范围。
以下描述在图像形成装置10中,用于安装和卸载图4的SDK应用A1的处理流程。
图5是根据第一实施例的用于描述SDK应用的安装和卸载处理的处理流程的例子的时序图。在开始图5的处理之前,SD卡80a被插入到SD卡槽17中。通过SAS 152在操作面板15上显示主屏幕图像,这是应用管理屏幕图像510之一。
在主屏幕图像中,当用户选择执行安装时,SAS 152使操作面板15显示安装屏幕图像。安装屏幕图像包括SDK应用的选择列表,其中JSDK应用156a和CSDK应用153a以单独的行表示。选择列表是根据SD卡80a中的JSDK文件156Fa所包括的JSDK属性文件156Pa并且根据SD卡80a中的CSDK文件153Fa中所包括的CSDK属性文件153Pa而创建的。安装屏幕图像是应用管理屏幕图像510之一。
在步骤S101,用户在安装屏幕图像中选择包括JSDK应用156a的一行,并在安装屏幕图像中输入指令来执行安装。执行安装的指令通过SAS 152被报告给JSDK管理单元1551。在图5中,没有示出通过SAS 152的路径。
接着,JSDK管理单元1551执行JSDK应用156a的安装处理(步骤S102)。特别的,JSDK文件156Fa从SD卡80a读取并扩展。此外,利用预定存储介质,包括JSDK应用156a的应用标识符的条目被加入到JSDK平台155所管理的JSDK应用156的安装信息中(安装的JSDK应用156的列表信息)。此外,JSDK应用156a和JSDK属性文件156Pa被复制到预定存储区域(以下称为“JSDK安装区域”)。当安装处理结束时,JSDK管理单元1551发送响应到SAS 152,表示安装处理已经结束。根据该响应,安装处理已经结束的事实通过安装屏幕图像由SAS 152报告给用户(步骤S103)。
接着,当用户选择在主屏幕图像中执行激活时,SAS 152使操作面板15显示激活屏幕图像。激活屏幕图像包括在CSDK应用153的安装信息(安装的CSDK应用153的列表信息)或者JSDK应用156的安装信息中包括的CSDK应用153和JSDK应用156的列表,它们是利用NVRAM 115管理的。通过参考JSDK管理单元1551,SAS 152获取JSDK应用156的安装信息。激活屏幕图像是应用管理屏幕图像510之一。
用户选择包括激活屏幕图像所含的JSDK应用156a的一行,并在激活屏幕图像中输入激活指令(步骤S104)。激活指令通过SAS 152被报告给JSDK管理单元1551。
接着,JSDK管理单元1551输入请求来激活JSDK应用156a(步骤S105)。响应于该激活请求,JSDK应用156a被激活作为JVM 154上的线程(步骤S106)。
接着,响应于来自用户的指令,SAS 152使操作面板15再次显示安装屏幕图像。用户在安装屏幕图像中选择包括CSDK应用153a的一行,并在安装屏幕图像中输入执行安装的指令(步骤S111)。接着,SAS 152执行安装CSDK应用153a的处理(步骤S112)。特别的,CSDK文件153Fa从SD卡80a读取并扩展。此外,包括CSDK应用153a的应用标识符的条目被加入到利用NVRAM 115所管理的CSDK应用153的安装信息中。此外,CSDK应用153a和CSDK属性文件153Pa被复制到预定存储区域(以下称为“CSDK安装区域”)。
当安装处理结束时,SAS 152通过安装屏幕图像发送报告给用户,该报告表示安装处理已经结束(步骤S113)。
当SDK应用A1变得不必要时,用户在主屏幕图像中选择执行卸载。SAS152使操作面板15显示卸载屏幕图像。卸载屏幕图像包括在CSDK应用153的安装信息或者JSDK应用156的安装信息中包括的CSDK应用153和JSDK应用156的列表。卸载屏幕图像是应用管理屏幕图像510之一。
用户选择卸载屏幕图像所含的JSDK应用156a的一行,并通过卸载屏幕图像输入卸载指令(步骤S121)。卸载指令通过SAS 152被报告给JSDK管理单元1551。
响应于该卸载指令,JSDK管理单元1551输入请求来中断JSDK应用156a(步骤S122)。响应于该中断请求,与JSDK应用156a相关的线程结束(步骤S123)。接着,JSDK管理单元1551执行处理,来卸载JSDK应用156a(步骤S124)。例如,JSDK应用156a的条目从JSDK平台155所管理的JSDK应用156的安装信息中被删除。此外,已经复制到JSDK安装区域的JSDK应用156a和JSDK属性文件156Pa被删除。
接着,用户在卸载屏幕图像中选择包括CSDK应用153a的一行,并在卸载屏幕图像中输入指令来执行卸载(步骤S131)。响应于该卸载指令,SAS 152执行卸载CSDK应用153a的处理(步骤S132)。例如,与CSDK应用153a相关的条目从利用NVRAM 115管理的CSDK应用153的安装信息中被删除。此外,已经复制到CSDK安装区域的CSDK应用153a和CSDK属性文件153Pa被删除。
如上所述,在第一实施例中,尽管只有一个单独的SDK应用A1,安装操作和卸载操作分别需要两个步骤(即,步骤S101和S111,以及步骤S121和S131)。
为了解决这种冗余,在第二实施例中,SDK应用被配置为如图6所示。
图6示出了根据第二实施例将SDK应用的配置设置为安装目标的配置的例子。
如图6所示,SD卡80b具有一个JSDK文件156Fb,被记录为SDK应用B1。JSDK文件156Fb是一个存档文件(例如JAR文件),包括JSDK应用156b、JSDK属性文件156Pb、CSDK文件153Fb、代理库211、以及代理属性文件211P。JSDK应用156b是在SDK应用B1中JSDK应用156的实体。JSDK属性文件156Pb包括JSDK文件156Fb的配置信息,以及与JSDK应用156b相关的属性信息(例如JSDK应用156b的应用标识符)。
CSDK文件153Fb是一个存档文件,具有与图4所示的CSDK文件153Fa相似的配置。也就是说,CSDK文件153Fb包括CSDK应用153b(未示出)和CSDK属性文件153Pb(未示出),CSDK应用153b是在SDK应用B1中CSDK应用153的实体,CSDK属性文件153Pb包括CSDK文件153Fb的配置信息和与CSDK应用153b相关的属性信息(例如,CSDK应用153b的应用标识符)。
如上所述,在第二实施例中,CSDK应用153b被存储在JSDK应用156b的JAR文件中。
在第二实施例中,JSDK应用156b和CSDK应用153b之间的依赖性关系,与第一实施例中的JSDK应用156a和CSDK应用153a之间的依赖性关系相同。也就是说,JSDK应用156b使用CSDK应用153b作为单独一个程序模块。
代理库211是一个程序模块(库),在CSDK应用153b上执行安装处理和卸载处理。如图6所示,代理库211包括Java(注册商标)层211j和本地层211c。Java(注册商标)层211j是用于为JSDK应用156b提供接口(方法等),并以Java(注册商标)语言执行。在本地层211c中,安装处理和卸载处理的算法以C语言执行。也就是说,在代理库211中,基本功能以C语言执行,以C语言执行的部分被Java(注册商标)包装(wrap)。代理库211的基本功能以C语言执行的原因如下。即,代理库211需要访问NVRAM 115,但是很难实现以Java(注册商标)语言访问NVRAM 115的功能。此外,代理库211包括Java(注册商标)层211j,用于简化利用(调用)JSDK应用156b所执行的代理库211的操作。例如,代理库211作为单独一个JAR文件被包括在JSDK用于156b中。
代理属性文件211P包括安装代理库211所执行的CSDK应用153b的操作所需的信息。
相对于包括代理库211的SDK应用,给出图像形成装置10的安装机制的描述。图7示出了与包括代理库211的SDK应用相关的安装机制的例子。
如图7所示,采用与第一实施例相同的方式,执行安装JSDK应用156b的操作。也就是说,在应用管理屏幕图像510中输入的指令从SAS 152报告给JSDK管理单元1551。响应于该报告的指令,JSDK管理单元1551安装或卸载JSDK应用156b。
安装的JSDK应用156b在激活时调用代理库211。响应于该调用,代理库211代表SAS 152执行安装CSDK应用153b的处理。
当JSDK应用156b被卸载时,这个效果通过回调控制单元1552被回调(报告)给代理库211。代理库211根据该回调来检测已经被卸载的JSDK应用156b。响应于检测到的卸载,代理库211代表SAS 152执行卸载CSDK应用153b的处理。
如上所述,在包括代理库211的SDK应用B1中,代理库211代表SAS 152在CSDK应用153b上执行安装处理和卸载处理。
给出对于在图像形成装置10中处理图6所示的SDK应用B1的安装和卸载的处理流程的描述。
图8是描述了根据第二实施例的SDK应用的安装处理和卸载处理的处理流程的例子的时序图。在开始图8的处理之前,图6的SD卡80b被插入到SD卡槽17中。通过SAS 152在操作面板15上显示主屏幕图像,这是应用管理屏幕图像510之一。
在主屏幕图像中,当用户选择执行安装时,SAS 152使操作面板15显示安装屏幕图像,该安装屏幕图像包括JSDK应用156b的行作为选择候选。安装屏幕图像是基于SD卡80b中的JSDK文件156Fb所包括的JSDK属性文件156Pb而创建的。
在步骤S201,用户在安装屏幕图像中选择包括JSDK应用156b的一行,并在安装屏幕图像中输入指令来执行安装。执行安装的指令通过SAS 152被报告给JSDK管理单元1551。在图8中,没有示出通过SAS 152的路径。
接着,JSDK管理单元1551执行JSDK应用156b的安装处理(步骤S202)。特别的,JSDK文件156Fb从SD卡80b读取并扩展。此外,利用预定存储介质,包括JSDK应用156b的应用标识符的条目被加入到JSDK平台155所管理的JSDK应用156的安装信息中。此外,JSDK应用156b、JSDK属性文件156Pb、CSDK文件153Fb、代理库211、以及代理属性文件211P被复制到JSDK安装区域。CSDK文件153Fb、代理库211、以及代理属性文件211P通过JSDK管理单元1551被识别为JSDK应用156b的资源文件。因此,JSDK管理单元1551在CSDK文件153Fb、代理库211、或者代理属性文件211P上不执行任何特别处理。然而,通过将代理库211保存为JSDK应用156b的资源文件,可以完成代理库211的安装操作。也就是说,安装代理库211的操作是结合安装JSDK应用156b的操作而执行的(即,代理库211是与JSDK应用156b一起安装的)。
当安装处理结束时,JSDK管理单元1551发送响应到SAS 152,表示安装处理已经结束。根据该响应,安装处理已经结束的事实通过安装屏幕图像由SAS 152报告给用户(步骤S203)。
接着,当用户选择在主屏幕图像中执行激活时,SAS 152使操作面板15显示激活屏幕图像。激活屏幕图像包括在CSDK应用153的安装信息或者JSDK应用156的安装信息中包括的CSDK应用153和JSDK应用156的列表。
用户选择包括激活屏幕图像所含的JSDK应用156a的一行,并在激活屏幕图像中输入激活指令(步骤S204)。激活指令通过SAS 152被报告给JSDK管理单元1551。
接着,JSDK管理单元1551输入请求来激活JSDK应用156b(步骤S205)。响应于该激活请求,JSDK应用156b被激活作为JVM 154上的线程(步骤S206)。JSDK应用156b在RAM 112中加载代理库211,并在加载的代理库211的Java(注册商标)层211j中调用预定方法(或功能)(步骤S207)。也就是说,代理库211接收来自JSDK应用156a的调用。响应于在RAM 112中加载的代理库211,代理属性文件211P也被加载到RAM 112中。
响应于该调用,在JSDK平台155的回调控制单元1552中,代理库211注册用于发送报告的回调信息,该报告表示JSDK应用156b已经被卸载到代理库211(步骤S208)。也就是说,“JSDK应用156b卸载”被指定为一个事件,并且请求注册回调信息,其中代理库211的预定方法被指定为报告目的地(回调功能)。回调控制单元1552通过利用例如RAM 112来存储回调信息,并发送响应到代理库211,用于报告该回调信息已经被注册(步骤S209)。
接着,代理库211的本地层211c基于CSDK文件153Fb执行安装CSDK应用153b的处理(步骤S210)。以下描述安装处理的细节。在安装处理结束之后,代理库211的Java(注册商标)层211j向作为调用源的JSDK应用156b发送响应,该响应表示安装处理的结果(步骤S211)。接着,JSDK应用156b返回控制处理的功能到JSDK管理单元1551(步骤S212)。JSDK管理单元1551向SAS 152报告JSDK应用156b已经被激活。响应于该报告,SAS 152在激活屏幕图像上显示消息,即JSDK应用156b已经被激活(步骤S213)。
如上所述,在第二实施例中,响应于JSDK应用156b被激活,代理库211自动执行安装CSDK应用153b的操作。
当SDK应用B1变得不必要时,用户在主屏幕图像中选择执行卸载。SAS152使操作面板15显示卸载屏幕图像。卸载屏幕图像包括在CSDK应用153的安装信息或者JSDK应用156的安装信息中包括的CSDK应用153和JSDK应用156的列表。
用户选择卸载屏幕图像所含的JSDK应用156b的一行,并通过卸载屏幕图像输入卸载指令(步骤S221)。卸载指令通过SAS 152被报告给JSDK管理单元1551。
响应于该卸载指令,JSDK管理单元1551输入请求来中断JSDK应用156b(步骤S222)。响应于该中断请求,与JSDK应用156a相关的线程结束(步骤S223)。接着,JSDK管理单元1551执行处理,来卸载JSDK应用156b(步骤S224)。例如,JSDK应用156b的条目从JSDK平台155所管理的JSDK应用156的安装信息中被删除。此外,已经复制到JSDK安装区域的JSDK应用156b、JSDK属性文件156Pb、CSDK文件153Fb、代理库211和代理库属性文件211P被删除。
接着,响应于JSDK应用156b被卸载,JSDK平台155的回调控制单元1552调用在步骤S208注册的回调信息中指定的回调功能(步骤S225)。回调功能是代理库211的Java(注册商标)层211j的预定方法。因此,该预定方法被调用。结果,向代理库211报告JSDK应用156b已经被卸载。在步骤S224,代理库211的模块文件被删除;然而,模块文件和代理属性文件211P的内容被加载在RAM 112中。接着,代理库211的本地层211c执行卸载CSDK应用153b的处理(步骤S226)。
在卸载处理之后,代理库211的Java(注册商标)层211j返回控制处理的功能到作为调用源的回调控制单元1552(步骤S227)。接着,JSDK管理单元1551向SAS 152报告JSDK应用156b已经被卸载。响应于该报告,SAS 152使卸载屏幕图像显示JSDK应用156b已经被卸载的效果(步骤S228)。
如上所述,在第二实施例中,响应于JSDK应用156b被卸载,代理库211自动执行卸载CSDK应用153b的处理。
接着,给出对图8中步骤S210的详细描述。图9是用于描述由代理库211执行的CSDK应用的安装过程的处理流程的例子。在图9的描述中,代理库211的本地层211c被称为代理库211。
在步骤S301,代理库211确定作为安装目标的CSDK应用153b是否已经被安装在图像形成装置10中。通过比较或者交叉校验代理属性文件211P和利用NVRAM 115管理的CSDK应用153的安装信息来完成确定。
图10表示记录在代理属性文件211P中的信息的例子。如图10所示,在代理属性文件211P中,为图像形成装置10的每个模型记录模型名称、应用标识符和CSDK文件名,其中CSDK应用153b可以被安装在该图像形成装置10中。
模型名称是图像形成装置10的模型的名称。应用标识符是CSDK应用153b的标识符。即使当两个CSDK应用153b执行相同功能时,如果根据模型类型的文件内容是不同的,这两个CSDK应用153b具有不同的应用标识符。CSDK文件名是CSDK文件153Fb的名称。图10示出了一个例子,其中公共CSDK文件153Fb可以应用于不同模型类型。因此,公共应用标识符对应于不同的模型类型。
当不同的CSDK文件153Fb根据模型类型应用时,应用标识符和CSDK文件名是不同的。这样,JSDK文件156Fb包括多个CSDK文件153Fb。
在步骤S301,确定了特定应用标识符被包括在利用NVRAM 115管理的CSDK应用153的安装信息中。特别地,特定应用标识符意味着该应用标识符与作为安装目的地的图像形成装置10的模型名称相关联的代理属性文件211P中的应用标识符相同。当相应的应用标识符被包括在CSDK应用153的安装信息中时,代理库211确定CSDK应用153b已经被安装,并正常结束图9的处理。因此这样,不执行安装CSDK应用153b的处理。
当相应的应用标识符没有被包括在CSDK应用153的安装信息中时,代理库211确定CSDK应用153b还没有被安装。接着,代理库211基于代理属性文件211P,确定对应于作为安装目的地的图像形成装置10的模型名称的CSDK文件名(步骤S302)。
当对应于作为安装目的地的图像形成装置10的模型名称的CSDK文件名没有被记录在代理属性文件211P中时,代理库211异常结束图9的处理(步骤S305)。异常结束该处理意味着向JSDK应用156b返回表示安装处理没有成功的报告。
当对应于作为安装目的地的图像形成装置10的模型名称的CSDK文件名被记录在代理属性文件211P中时,代理库211确定CSDK应用153b是否可以被安装(步骤S304)。例如,当可以安装的CSDK应用153的数量有上限时,或者当有其它限制时,基于通过安装CSDK应用153b是否会超过这些上限或者限制,确定CSDK应用153b是否可以被安装。
当确定了CSDK应用153b不能被安装时,代理库211异常结束图9的处理(步骤S305)。当确定了CSDK应用153b可以被安装时,基于与步骤S302中确定的CSDK文件名相关的CSDK文件153Fb,代理库211执行安装CSDK应用153b的处理(步骤S304)。特别的,在图8的步骤S202中保存在JSDK安装区域中的CSDK属性文件153Pb被扩展,CSDK应用153b和CSDK属性文件153Pb被保存在CSDK安装区域。此外,包括CSDK应用153b的应用标识符的条目被增加到利用NVRAM 115管理的CSDK应用153的安装信息中。
当安装处理没有成功时(例如,当保存CSDK应用153b在CSDK安装区域的处理没有成功,或者增加安装信息的处理没有成功时),代理库211异常结束图9的处理。
接着,给出了图8中的步骤S226的详细描述。图11是用于描述代理库211执行的CSDK应用153的卸载过程的处理流程的例子。在图11的描述中,代理库211的本地层211c被称为代理库211。
在步骤S401,代理库211确定CSDK应用153b是否需要被卸载。特别地,例如,确定特定应用标识符是否被包括在利用NVRAM 115管理的CSDK应用153的安装信息中。特别地,特定应用标识符意味着CSDK应用153b的应用标识符,其作为步骤S225中调用的回调功能的要素所指定的卸载目标。也就是说,基于CSDK应用153b是否被安装,来确定卸载处理是否必要。
当确定了卸载处理不必要时(当CSDK应用153b没有被安装时),代理库211异常结束图11的处理(步骤S403)。当确定了卸载处理必要时(当CSDK应用153b被安装时),代理库211执行卸载CSDK应用153b的处理(步骤S402)。例如,从利用NVRAM 115管理的CSDK应用153的安装信息中删除CSDK应用153b的条目。此外,已经被复制到CSDK安装区域的CSDK应用153b和CSDK属性文件153Pb被删除。
当卸载处理没有成功时(例如当从安装信息中删除条目的处理没有成功,或者当删除CSDK应用153b的处理没有成功时),代理库211异常结束图11的处理(步骤S403)。
如上所述,根据本实施例,当JSDK应用156b被激活时,代理库211自动执行安装CSDK应用153b的处理。此外,当卸载JSDK应用156b时,代理库211自动执行卸载CSDK应用153b的处理。
因此,用户不需要执行安装CSDK应用153b的操作。
此外,安装或卸载CSDK应用153b的逻辑被安装在代理库211中,其与JSDK应用156b一起分布(包括在JSDK文件156Fb中,作为JSDK应用156b的一部分)。也就是说,该逻辑不需要被安装在图像形成装置10的安装机制的现有部分中(例如SAS 152和JSDK管理单元1551)。因此,不需要对图像形成装置10的安装机制的现有部分进行校正。
此外,CSDK应用153b(CSDK文件153Fb)被包括在JSDK文件156Fb中,作为JSDK应用156b的一部分。因此,SAS 152可以在安装屏幕图像上显示安装目标为一个JSDK应用156b。通过与参考图5所述的安装JSDK应用156a的处理相同的处理,JSDK管理单元1551可以接受(保存)CSDK应用153b(CSDK文件153Fb)在图像形成装置10中。
在本实施例中,描述了简化安装JSDK应用156和CSDK应用153的处理的例子。然而,组合程序的编程语言不需要是不同的。此外,本申请还可以被用于组合三个或更多的程序。特别的,两个或多个类型的JSDK应用156以及两个或多个类型的CSDK应用153可以被包括在JSDK文件156Fb中。
根据本发明的实施例,可以简化安装程序的操作。
本发明不限于这里所描述的特定实施例,可以进行变形和修改,而不脱离本发明的范围。
本发明是基于2010年9月16日在日本专利局提交的日本优先权申请No.2010-208213,其全部内容在此结合以供参考。

Claims (4)

1.一种由装置实现的安装和执行方法,包括:
在安装第一程序后,当所述第一程序被激活时,从所述第一程序接收调用;
响应所述调用,安装所述第一程序使用的第二程序,其中,所述第一程序和第二程序是通过不同的开发语言开发的;
通过从所述第二程序中调用执行所述第一程序要使用的多个程序模块中的一部分来执行所述第一程序;以及
响应于检测所述第一程序已经被卸载,卸载所述第二程序,
其中,所述安装所述第二程序包括在所述装置中设置回调信息,所述回调信息用于报告所述第一程序已经被卸载,所述回调信息响应于所述调用而设置,并且
所述卸载所述第二程序包括响应于检测所述第一程序已经基于所述回调信息被卸载而卸载所述第二程序。
2.根据权利要求1所述的安装和执行方法,还包括:
与所述第一程序相关联地将安装程序安装在所述装置中,所述安装程序使得所述装置执行接收所述调用并安装所述第二程序。
3.一种安装和执行装置,包括:
接收单元,配置为在安装第一程序后,当所述第一程序被激活时,从所述第一程序接收调用;
第一安装单元,配置为响应所述调用,安装所述第一程序使用的第二程序,其中,所述第一程序和第二程序是通过不同的开发语言开发的;
执行单元,被配置为通过从所述第二程序中调用执行所述第一程序要使用的多个程序模块中的一部分来执行所述第一程序;以及
卸载单元,配置为响应于检测所述第一程序已经被卸载,卸载所述第二程序,其中,所述第一安装单元在所述装置中设置回调信息,所述回调信息用于报告所述第一程序已经被卸载,所述回调信息响应于所述调用而设置,并且
所述卸载单元响应于检测所述第一程序已经基于所述回调信息被卸载而卸载所述第二程序。
4.根据权利要求3所述的安装和执行装置,还包括:
第二安装单元,配置为与所述第一程序相关联地将安装程序安装在所述装置中,所述安装程序使得所述接收单元和所述第一安装单元执行。
CN201180043967.2A 2010-09-16 2011-09-07 安装方法和装置 Expired - Fee Related CN103154888B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2010208213A JP5699500B2 (ja) 2010-09-16 2010-09-16 インストールプログラム、インストール方法、画像形成装置、及び記録媒体
JP2010-208213 2010-09-16
PCT/JP2011/070910 WO2012036174A1 (en) 2010-09-16 2011-09-07 Install method, apparatus

Publications (2)

Publication Number Publication Date
CN103154888A CN103154888A (zh) 2013-06-12
CN103154888B true CN103154888B (zh) 2016-10-12

Family

ID=45831632

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180043967.2A Expired - Fee Related CN103154888B (zh) 2010-09-16 2011-09-07 安装方法和装置

Country Status (9)

Country Link
US (1) US9274776B2 (zh)
EP (1) EP2616933A4 (zh)
JP (1) JP5699500B2 (zh)
KR (1) KR101516504B1 (zh)
CN (1) CN103154888B (zh)
AU (1) AU2011303103B2 (zh)
BR (1) BR112013006419A2 (zh)
SG (1) SG188292A1 (zh)
WO (1) WO2012036174A1 (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5786535B2 (ja) * 2011-08-08 2015-09-30 株式会社リコー 機器、情報処理方法、情報処理プログラム、及び記録媒体
CN106104476B (zh) * 2014-05-30 2019-08-13 京瓷办公信息系统株式会社 图像形成装置及图像形成方法
JP6435902B2 (ja) * 2015-02-10 2018-12-12 コニカミノルタ株式会社 ランチャ提供装置、画像形成装置、ランチャ提供方法、およびコンピュータプログラム
EP3142035B1 (en) 2015-09-14 2021-08-25 Ricoh Company, Ltd. Information processing system, information processing apparatus, information processing method, and recording medium
CN105808291B (zh) * 2016-03-03 2019-11-05 腾讯科技(深圳)有限公司 终端的应用连接方法和装置
JP2018015947A (ja) 2016-07-26 2018-02-01 キヤノン株式会社 画像形成装置、画像形成方法、およびプログラム
JP6881028B2 (ja) 2017-05-24 2021-06-02 株式会社リコー 画像形成装置、システムおよび制御方法
US10365910B2 (en) * 2017-07-06 2019-07-30 Citrix Systems, Inc. Systems and methods for uninstalling or upgrading software if package cache is removed or corrupted
US10630857B2 (en) 2017-12-21 2020-04-21 Ricoh Company, Ltd. Electronic apparatus and method to update firmware of the electronic apparatus when adding a web application to the electronic apparatus
JP7069969B2 (ja) * 2018-03-29 2022-05-18 株式会社リコー 情報処理装置、情報処理方法及び情報処理プログラム
JP7087685B2 (ja) 2018-05-31 2022-06-21 株式会社リコー 情報処理システムおよび情報処理方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1362663A (zh) * 2000-12-26 2002-08-07 松下电器产业株式会社 对装置控制软件的卸载进行控制的卸载控制装置

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5721824A (en) * 1996-04-19 1998-02-24 Sun Microsystems, Inc. Multiple-package installation with package dependencies
US6349408B1 (en) * 1998-03-23 2002-02-19 Sun Microsystems, Inc. Techniques for implementing a framework for extensible applications
US7185335B2 (en) * 2002-09-19 2007-02-27 International Business Machines Corporation Programmatic application installation diagnosis and cleaning
JP2004118237A (ja) 2002-09-20 2004-04-15 Ricoh Co Ltd 画像形成装置およびアプリケーションインストール方法
US8432562B2 (en) 2004-02-17 2013-04-30 Ricoh Company, Ltd. Image processing apparatus, method, program, and computer readable recording medium for controlling operation switching and displaying at occurrence of error conditions
JP4625343B2 (ja) 2004-02-17 2011-02-02 株式会社リコー 画像形成装置、端末装置、情報処理方法、情報処理プログラム、及び記録媒体
US7716663B2 (en) * 2004-02-26 2010-05-11 International Business Machines Corporation Method, system and program product for controlling native applications using open service gateway initiative (OSGi) bundles
US20050193389A1 (en) * 2004-02-26 2005-09-01 Murphy Robert J. System and method for a user-configurable, removable media-based, multi-package installer
EP1771785A2 (en) * 2004-07-21 2007-04-11 Softricity, Inc. System and method for extraction and creation of application meta-information within a software application repository
GB2421323B (en) * 2004-12-15 2009-07-22 Symbian Software Ltd A method of maintaining applications in a computing device
JP4843386B2 (ja) * 2005-07-11 2011-12-21 株式会社リコー 機器、情報処理方法、情報処理プログラム、及び記録媒体
JP2007048270A (ja) 2005-07-11 2007-02-22 Ricoh Co Ltd 画像形成装置、情報処理装置、情報処理方法、情報処理プログラム、及び記録媒体
US8264717B2 (en) 2005-07-11 2012-09-11 Ricoh Company, Ltd. Image forming apparatus, information processing apparatus, information processing method, information processing program and storage medium
US9141374B2 (en) 2005-09-16 2015-09-22 Ricoh Company, Ltd. Image forming device, information processing method, information processing program, and recording medium
JP5025193B2 (ja) 2005-09-16 2012-09-12 株式会社リコー 機器、情報処理方法、情報処理プログラム、及び記録媒体
JP5025192B2 (ja) 2005-09-16 2012-09-12 株式会社リコー 機器、情報処理方法、情報処理プログラム、及び記録媒体
KR100703804B1 (ko) * 2006-01-20 2007-04-09 삼성전자주식회사 플러그 앤 인스톨 시스템 및 방법
US20070201655A1 (en) * 2006-02-03 2007-08-30 Michael Shenfield System and method for installing custom services on a component-based application platform
JP4844205B2 (ja) * 2006-04-05 2011-12-28 富士ゼロックス株式会社 ソフトウェアコンポーネントのインストール方法、インストーラ、及び複合機
JP4512565B2 (ja) 2006-06-06 2010-07-28 株式会社リコー 画像形成装置およびアプリケーションインストール方法
JP2006271005A (ja) 2006-06-06 2006-10-05 Ricoh Co Ltd 画像形成装置およびアプリケーションインストール方法
US8185889B2 (en) * 2007-06-19 2012-05-22 Red Hat, Inc. Methods and systems for porting software packages from one format to another
US20090172657A1 (en) * 2007-12-28 2009-07-02 Nokia, Inc. System, Method, Apparatus, Mobile Terminal and Computer Program Product for Providing Secure Mixed-Language Components to a System Dynamically
US8239855B2 (en) * 2008-03-27 2012-08-07 Oracle International Corporation Component-based software installation
JP5599557B2 (ja) 2008-08-29 2014-10-01 株式会社リコー 情報処理装置、ライセンス判定方法、プログラム及び記録媒体
JP5206263B2 (ja) 2008-09-12 2013-06-12 株式会社リコー 情報処理装置、ライセンス判定方法、及びプログラム
GB2466220A (en) * 2008-12-12 2010-06-16 Symbian Software Ltd Installing or uninstalling computer programs using installer plug-in modules
US8607224B2 (en) * 2009-05-28 2013-12-10 Yahoo! Inc. System for packaging native program extensions together with virtual machine applications
JP5263070B2 (ja) 2009-08-13 2013-08-14 株式会社リコー プログラム導入支援装置、プログラム導入支援システム、プログラム導入支援方法、及びプログラム導入支援プログラム
JP5391937B2 (ja) 2009-09-03 2014-01-15 株式会社リコー 画像形成装置、ライセンス処理方法、及びライセンス処理プログラム
JP5428685B2 (ja) 2009-09-11 2014-02-26 株式会社リコー ライセンス導入支援装置、ライセンス導入支援方法、及びライセンス導入支援プログラム
JP5413078B2 (ja) 2009-09-14 2014-02-12 株式会社リコー 機器管理システム、機器管理装置、仲介装置、機器管理方法、及び機器管理プログラム
JP2011060237A (ja) 2009-09-14 2011-03-24 Ricoh Co Ltd プログラム導入支援装置、プログラム導入支援システム、表示制御方法、表示制御プログラム、及びそのプログラムを記録した記録媒体
US8954954B2 (en) * 2010-04-30 2015-02-10 Blackberry Limited Method and device for application installation to multiple memory components
US20110288932A1 (en) * 2010-05-21 2011-11-24 Inedible Software, LLC, a Wyoming Limited Liability Company Apparatuses, systems and methods for determining installed software applications on a computing device

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1362663A (zh) * 2000-12-26 2002-08-07 松下电器产业株式会社 对装置控制软件的卸载进行控制的卸载控制装置

Also Published As

Publication number Publication date
BR112013006419A2 (pt) 2016-07-26
KR20130045392A (ko) 2013-05-03
JP2012064022A (ja) 2012-03-29
US20130174141A1 (en) 2013-07-04
EP2616933A4 (en) 2014-03-26
SG188292A1 (en) 2013-04-30
CN103154888A (zh) 2013-06-12
US9274776B2 (en) 2016-03-01
KR101516504B1 (ko) 2015-05-04
AU2011303103B2 (en) 2014-06-05
AU2011303103A1 (en) 2013-03-14
EP2616933A1 (en) 2013-07-24
JP5699500B2 (ja) 2015-04-08
WO2012036174A1 (en) 2012-03-22

Similar Documents

Publication Publication Date Title
CN103154888B (zh) 安装方法和装置
US9141374B2 (en) Image forming device, information processing method, information processing program, and recording medium
US9792159B2 (en) Program determining apparatus and program determining method
US8239505B2 (en) Progressively implementing declarative models in distributed systems
TW412707B (en) System, method and computer program product for discovery in a distributed computing environment
US7533381B2 (en) Image forming apparatus and method for operating image forming apparatus by using remote application
US9063817B2 (en) Application platform and method for operating a data processing arrangement having such an application platform
US20080222160A1 (en) Method and system for providing a program for execution without requiring installation
US20040109188A1 (en) Image forming apparatus and methods used in the image forming apparatus
US8640121B2 (en) Facilitating multi-installer product installations
US8516505B2 (en) Cross-platform compatibility framework for computer applications
US20070094675A1 (en) Object mobility
JP2014170515A (ja) 機器、情報記録プログラム、及び情報記録方法
JP2001356912A (ja) ソフトウェアのインストール/アップデート/アンインストールシステム
WO2020207595A1 (en) Technique for determining cloud computing deployment modifications for serverless applications
US20110299121A1 (en) Information processing device, information processing method, and computer readable medium
US20070064892A1 (en) Image forming device, information processing method, information processing program, and recording medium
CN108228266B (zh) 一种Android插件框架下不同插件间启动Fragment组件的方法和装置
JP2011242891A (ja) 配信装置、画像処理装置、配信方法及びインストール方法
US20090132745A1 (en) Information processing apparatus, information processing method, and computer-readable program
US9727381B2 (en) Image forming apparatus and resource management method
US10545704B2 (en) Image forming apparatus and control method to update an application in an image forming apparatus
KR101636457B1 (ko) 복수 개의 번들간에 서로 기능을 공유할 수 있는 프레임워크 기반으로 동작하는 화상형성장치 및 이러한 화상형성장치에 번들을 설치하는 방법
US9940334B2 (en) Image forming apparatus and control method thereof
US20070260577A1 (en) Providing COM access to an isolated system

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: 20161012