CN105404526A - 信息处理装置、信息处理方法和信息处理系统 - Google Patents

信息处理装置、信息处理方法和信息处理系统 Download PDF

Info

Publication number
CN105404526A
CN105404526A CN201510564559.1A CN201510564559A CN105404526A CN 105404526 A CN105404526 A CN 105404526A CN 201510564559 A CN201510564559 A CN 201510564559A CN 105404526 A CN105404526 A CN 105404526A
Authority
CN
China
Prior art keywords
driver
information
unit
lastest imformation
program
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.)
Pending
Application number
CN201510564559.1A
Other languages
English (en)
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
Priority claimed from JP2015121447A external-priority patent/JP6540256B2/ja
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Publication of CN105404526A publication Critical patent/CN105404526A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明涉及信息处理装置、信息处理方法和信息处理系统。提供了一种计算机程序产品,其包括包含信息处理程序的非易失性计算机可读介质。该程序使计算机执行:第一获取步骤,从驱动器获取用于识别所述驱动器的识别信息;生成步骤,基于所述识别信息生成说明信息,所述说明信息指明存储用于更新所述驱动器的更新信息的存储位置;以及第二获取步骤,从所述存储位置获取所述更新信息,由在所述生成步骤中生成的说明信息指明所述存储位置。

Description

信息处理装置、信息处理方法和信息处理系统
相关申请的交叉引用
本申请要求在2014年9月9日在日本提交的日本专利申请No.2014-183679的优先权以及在2015年6月16日在日本提交的日本专利申请No.2015-121447的优先权,上述申请的全部内容通过引用方式并入到本文中。
技术领域
本发明涉及信息处理装置、信息处理方法以及信息处理系统。
背景技术
通常地,以绑定的形式来分配驱动器程序以及用于检查是否存在对该驱动程序的更新并实现安装的安装器程序。这些驱动程序和安装器程序被安装在同一台个人计算机(PC)中,安装器通过网络(诸如因特网)向服务器查询是否存在对相应的驱动程序的更新。通过该查询,如果存在更新,则安装器从服务器获取用于更新的驱动程序,并使用从服务器获取的该用于更新的驱动程序来更新安装在PC中的驱动程序。
日本专利(No.3870765)公开了一种获取用于安装在客户端装置中的外部装置的驱动程序的适当包并提示用户安装所获取的驱动程序的技术。也就是说,在日本专利(No.3870765)中,根据客户端装置或外部装置的信息,通过参考所存储的驱动程序的数据库,可以获取驱动程序的最优包。然后,自动启动安装器程序以提示用户安装在所获取的包中包括的驱动器程序。根据日本专利(No.3870765),用户能够方便地实现以下操作:从网络等获取驱动器程序的最新版本,并安装该驱动器程序的最新版本。
但是,由于现有的安装器所能够处理的驱动器程序限于与该安装器共同分配的驱动器程序,因此存在以下问题:安装器不能处理例如未来将新提供的安装器程序。因此,每次提供新的驱动器程序时,通常都必须分配相应的安装器。
另外,虽然日本专利(No.3870765)中的方法能够处理多个外部装置的驱动器程序,但是该方法不能处理未来将新提供的驱动器程序。
鉴于以上问题,需要使一个安装器能够一般适用于当前提供的程序以及未来将提供的程序。
发明内容
本发明旨在至少部分地解决现有技术中存在的问题。
一种信息处理装置,包括:第一获取单元,从驱动程序获取用于识别所述驱动程序的识别信息;生成单元,基于所述识别信息生成说明信息,所述说明信息指明存储用于更新所述驱动程序的更新信息的存储位置;以及第二获取单元,从所述存储位置获取所述更新信息,由所述生成单元生成的说明信息指明所述存储位置。
一种信息处理方法,包括:第一获取步骤,从驱动程序获取用于识别所述驱动程序的识别信息;生成步骤,基于所述识别信息生成说明信息,所述说明信息指明存储用于更新所述驱动程序的更新信息的存储位置;以及第二获取步骤,从所述存储位置获取所述更新信息,由在所述生成步骤中生成的说明信息指明所述存储位置。
一种信息处理系统,包括:第一存储单元,将用于更新驱动程序的对象存储在第一存储位置中;第二存储单元,将更新信息存储在第二存储位置中,所述更新信息包括表示所述第一存储位置的信息,由基于识别所述驱动程序的识别信息的说明信息指明所述第二存储位置;第一保存单元,存储驱动程序,所述驱动程序包括识别所述驱动程序自身的识别信息;第一获取单元,从存储在所述第一保存单元中的所述驱动程序获取所述识别信息;生成单元,基于由所述第一获取单元获取的所述识别信息生成所述说明信息;第二获取单元,从所述第二存储位置获取所述更新信息,由所述生成单元生成的所述说明信息指明所述第二存储位置;以及更新单元,基于由所述第二获取单元获取的所述更新信息,从所述第一存储单元获取所述对象,并使用所获取的对象更新存储在所述第一保存单元中的所述驱动程序。
结合附图,通过阅读以下对本发明的优选实施例的详细描述,可以更好地理解本发明的以上及其它目的、特征、优点以及技术和产业重要性。
附图说明
图1是示出根据第一实施例的信息处理系统的示例的配置的方框图;
图2是示出适用于第一实施例的客户端PC的示例的配置的方框图;
图3是用于解释根据第一实施例的客户端PC的功能的示例性功能方框图;
图4是示出根据第一实施例的安装器的示例的配置的方框图;
图5是示出根据第一实施例的驱动器的示例的配置的方框图;
图6是示出根据第一实施例的驱动器更新步骤的示意图;
图7是用于详细解释根据第一实施例的驱动器更新步骤的流程图;
图8是示出根据第一实施例的ID的示例的示意图;
图9是示出根据第一实施例的说明信息的示例的示意图;
图10是示出根据第一实施例的更新信息的示例的示意图;
图11A和图11B是示出根据第一实施例的显示屏幕的示例的示意图;
图12是示出根据第一实施例的安装完成屏幕的示例的示意图;
图13是用于解释根据本发明的实施例的ID的示例的示意图;
图14A到14C是示出适用于每个实施例的更新信息的管理方法的示例的示图;
图15是在通过参考图表根据参数来搜索ID的情况下的说明信息的示例的示意图;
图16是示出根据第一实施例的经修改的示例的驱动器安装步骤的示例的流程图;
图17是示出根据第一实施例的经修改的示例的被写入OS管理区域的驱动器信息的示例的示意图;
图18是示出根据第一实施例的经修改的示例的驱动器更新步骤的示例的流程图;
图19是示出适用于第二实施例的信息处理系统的示例的配置的方框图;
图20是用于解释根据第二实施例的客户端PC的功能的示例性功能方框图;
图21是示出根据第二实施例的安装器的示例的配置的方框图;
图22是示出根据第二实施例的驱动器安装步骤的示例的流程图;
图23是示出根据第二实施例的被写入OS管理区域的驱动器信息的示例的示意图;
图24是示出根据第二实施例的驱动器更新步骤的示例的流程图;
图25A和图25B是示出根据第二实施例的显示屏幕的示例的示意图;以及
图26是示出根据第二实施例的安装完成屏幕的示例的示意图。
具体实施方式
以下将参考附图来详细描述信息处理装置、信息处理方法以及信息处理系统的实施例。
(第一实施例)
图1示出了根据第一实施例的信息处理系统的示例的配置。如图1所示,诸如在客户端侧的个人计算机的信息处理装置10(以下称为客户端PC10)与图像形成装置20a和20b通过网络22(诸如局域网(LAN))彼此可通信地连接。在图1的示例中,图像形成装置20a和20b是打印机装置(打印机#1和#2)。用于驱动图像形成装置20a和20b的驱动器程序(在下文中简称为驱动器或驱动程序)被安装在客户端PC10上。客户端PC10可以使用所安装的驱动器通过网络22来控制图像形成装置20a和20b。
将客户端PC10连接到网络30(例如,通过路由器21的因特网)。将更新信息服务器40和对象设置服务器41连接到网络30。客户端PC10可以通过网络30与更新信息服务器40和对象设置服务器41进行通信。
在对象设置服务器41中,将用于更新安装在客户端PC10中的驱动器的对象设置并存储在预先定义的存储位置中。存储在对象设置服务器41中的对象可以是驱动器本身(其替换安装在客户端PC10中的驱动器,而且其版本比安装在客户端PC10中的驱动器的版本新)或者可以是用于构成驱动器的模块。该对象并不限定于此,其可以是仅包括驱动器的更新部分的模块。
将用于通过使用存储在对象设置服务器41中的对象来更新驱动器的更新信息存储在更新信息服务器40中。该更新信息至少包括显示对象在对象设置服务器41中被存储的存储位置的信息。
另外,在图1的示例中,示出了将两个图像形成装置20a和20b连接到网络22,以便客户端PC10控制图像形成装置20a和20b,但实施例并不限定于该示例。也就是说,客户端PC10可以仅控制被连接到网络22的两个图像形成装置20a和20b中的一个,并且可以将一个图像形成装置(例如,图像形成装置20a)连接到网络22。另外,可以将三个或更多图像形成装置连接到网络22,而且客户端PC10可以控制该三个或更多图像形成装置中的所有图像形成装置。
另外,在图1中,将更新信息服务器40和对象设置服务器41表示为彼此分开的服务器装置,但是该实施例并不限定于该示例。例如,可以将更新信息服务器40和对象设置服务器41配置为在同一服务器装置中的不同功能,或者可以将更新信息服务器40和对象设置服务器41配置为分布于在很多服务器装置之中。
图2示出了适用于第一实施例的客户端PC10的示例的配置。对客户端PC10进行配置,以便中央处理单元(CPU)51、只读存储器(ROM)52、随机存取存储器(RAM)53、存储装置54、显示控制单元55、输入/输出I/F57和通信I/F59可以通过总线50彼此通信。
CPU51根据预先存储在ROM52或存储器54中的程序通过使用RAM53作为工作存储器来控制客户端PC10的整体运行。存储装置54包括硬盘驱动器或非易失性半导体存储器(闪存),其存储用于CPU51的运行的程序或各种数据。
显示控制单元55将由CPU51根据程序生成的显示控制信号转换为可以由显示器56显示的显示信号,并向显示器56提供该显示信号。显示器56利用例如液晶显示器(LCD)作为显示设备,并根据由显示设备上的显示控制单元55提供的显示信号来显示屏幕。
输入/输出I/F57是实现与外部设备的通信的接口。在图2的示例中,将作为外部设备的包括键盘或定位设备(鼠标等)的操作单元58连接到输入/输出I/F57。但是本发明的实施例并不限定于此,可以将输入/输出I/F57连接到实现从诸如光盘(CD)或数字化通用盘(DVD)的盘片存储装置或从诸如非易失性半导体存储器的存储装置中读取数据的驱动设备。对于输入/输出I/F57例如可以使用通用串行总线(USB)。
通信I/F59通过使用诸如传输控制协议/互联网协议(TCP/IP)的预定协议来控制通过网络30的通信。
另外,更新信息服务器40和对象设置服务器41可以实现与客户端PC10相同的配置,在此不再赘述。
图3是用于解释根据第一实施例的客户端PC10的功能的示例性功能方框图。如图3所示,客户端PC10包括显示单元100、输入单元101、整体控制单元102、通信单元103、存储单元104、安装器(即安装程序)105和驱动器106。
整体控制单元102控制客户端PC10的整体运行,而且其对应于例如作为在CPU51上运行的程序的其中之一的操作系统(OS)。显示单元100根据整体控制单元102的指令在显示器56上显示屏幕。输入单元101将通过输入/输出I/F57输入的信息传送到整体控制单元102。通信单元103通过通信I/F59控制通信。存储单元104控制对于RAM53或存储装置54的数据读写。
显示单元100、输入单元101、整体控制单元102、通信单元103、和存储单元104的这些组件由在CPU51上运行的程序组成。但并不限定于此,显示单元100、输入单元101、整体控制单元102、通信单元103、存储单元104中的部分或全部可以由相互协作的硬件组成。
安装器105和驱动器106由在CPU51上运行的程序组成。当整体控制单元102控制连接到客户端PC10的外部设备时,驱动器106将作为整体控制单元102和外部设备之间的媒介。另外,当通过客户端PC10使用外部设备时,驱动器106向用户提供适当的用户接口(UI)。在该示例中,假设驱动器106是对应于对例如图像形成装置20a(printer#1)的控制的打印机驱动器。
安装器105安装客户端PC10中的驱动器106。另外,安装器105实现对之前安装在客户端PC10中的驱动器106的更新处理。例如,安装器105确定是否可以更新已经完成安装的驱动器106。在确定可以更新驱动器106的情况下,安装器通过网络30获取用于更新驱动器106的对象,并使用所获得的对象来更新驱动器106。同时提供安装器105和对应的驱动器106,例如,通过预定的步骤将安装器105安装在客户端PC10中。
图4示出了根据第一实施例的安装器105的示例的配置。如图4所示,安装器105包括通信单元120、驱动器安装单元121、UI122和驱动器信息获取单元123。
通信单元120实现与更新信息服务器40和对象设置服务器41的通信,并获取用于更新驱动器106的对象。驱动器安装单元121在客户端PC10中安装驱动器,并使用通过通信单元120获取的对象来更新驱动器106。在安装或更新驱动器106时,UI122向用户提供诸如显示或输入接口的用户接口。驱动器信息获取单元123(第一获取单元)从安装在客户端PC10中的驱动器106获取将在下文描述的识别信息。
通信单元120包括更新信息获取单元1201和对象获取单元1202。更新信息获取单元1201(第二获取单元)与更新信息服务器40进行通信以从更新信息服务器40获取用于更新驱动器106的更新信息。此时,更新信息获取单元1201基于由驱动器信息获取单元123从驱动器106获取的识别信息来获取用于说明存储更新信息的存储位置的说明信息,并根据所获取的说明信息来获取更新信息。更新信息至少包括显示用于更新驱动器106的对象在对象设置服务器41中的存储位置的信息。
对象获取单元1202基于由更新信息获取单元1201获取的更新信息从对象设置服务器41获取用于更新驱动器106的对象。
图5示出了根据第一实施例的驱动器106的示例的配置。驱动器106包括驱动器处理单元130、ID存储单元131和ID传输单元132。驱动器处理单元130是作为通用驱动器来执行处理的部分。作为一个示例,在驱动器106是打印机驱动器的情况下,驱动器处理单元130包括用户接口单元和绘图单元,其中,用户接口单元提供提示用户进行打印设定或外部装置设定(打印机设定)的用户接口,绘图单元将实际打印数据转换成诸如打印机控制语言(PCL)或PostScript之类的绘图命令。
ID存储单元131存储驱动器106独有的识别信息。此处,“驱动器106独有的”是指该识别信息对于用于说明能够更新驱动器106的驱动器程序的信息组来说是唯一的。下文将描述识别信息的配置的具体示例。
驱动器106的供应商预先设定存储在ID存储单元131中的识别信息。可以将识别信息嵌入到驱动器106的程序中,或者可以将识别信息以非易失的方式存储为与客户端PC10的存储器54中的驱动器106的程序相分离的数据。
此外,用于说明存储用于更新驱动器106的更新信息的存储位置的说明信息被配置为包括识别信息。作为一个示例,可以将识别信息用于统一资源定位符(URL)的一部分(其能够说明驱动器106)中,其中,URL显示在更新信息服务器40中存储驱动器106的更新信息的存储位置。
响应于安装器105的驱动器信息获取单元123的请求,ID传输单元132将存储在ID存储单元131中的识别信息传输到安装器105。对ID传输单元132将识别信息传输到安装器105的方法不作特别限制。例如,ID传输单元132通过驱动器106的File、Registry、PrintTicket、PrintCapability和Capability等将识别信息传输到安装器105。
接下来,将参考图6简要描述根据第一实施例的驱动器106的更新步骤。另外,如图6所示,如以上在图1和图3中所描述的相同的组件具有相同的参考编号,在此不再赘述。另外,在下文的描述中,将驱动器106独有的识别信息适当地称为ID。在图6中,假设将版本Ver#A的驱动器106预先安装在客户端PC10中。
例如,根据用户对客户端PC10的操作,开始对图6中驱动器106的更新步骤。如果开始更新步骤,安装器105首先请求驱动器106发送ID(步骤S1)。响应于该请求,驱动器106将ID返回安装器105(步骤S2)。安装器105基于从驱动器106收到的ID来生成用于说明用于更新驱动器106的更新信息的存储位置的说明信息。安装器105基于所生成的说明信息来向更新信息服务器40查询是否存在对驱动器106的更新(步骤S3)。响应于该查询,更新信息服务器40将更新信息返回安装器105(步骤S4)。
安装器105基于从更新信息服务器40收到的更新信息来确定是否存在对驱动器106的更新。在确定存在对驱动器106的更新的情况下,安装器105请求对象设置服务器41基于包括在更新信息中并显示用于更新驱动器106的对象的存储位置的信息来下载对象(步骤S5)。
响应于该请求,对象设置服务器41将用于更新驱动器106的对象传输到10(步骤S6)。将对象定义为构成比版本Ver#A的驱动器106新的版本Ver#B的驱动器106的对象。在客户端PC10中,安装器105将构成从对象设置服务器41传输的驱动器106的对象存储在例如存储装置54的预定的区域中。
安装器105对从对象设置服务器41传输的对象执行安装处理(步骤S7)。例如,安装器105解压缩被压缩存储在文件中并从对象设置服务器41传输的对象,并对解压缩后的对象执行安装处理。例如,安装器105通过安装处理根据对象来配置驱动器106’,并将之前安装的驱动器106替换为驱动器106’(步骤S8)。因此,将驱动器106更新为新版本的驱动器106’。
通过这种方式,根据第一实施例,将用于更新10中已安装完成的驱动器106的更新信息包括进存储位置,其中,存储位置由基于识别信息的说明信息(其被包括进驱动器106并唯一识别驱动器106)显示。因此,安装器105可以基于驱动器106的识别信息来执行对未知版本的驱动器106的对象的获取和安装。
接下来,将参考图7中的流程图详细描述根据第一实施例的驱动器106的更新步骤。另外,在图7中,与上述图1至图5中相同的组件使用相同的参考编号,在此不再赘述。
例如,响应于用户对客户端PC10的输入单元101的操作,表示安装器105的UI122检查驱动器106的更新(步骤S100)。可以通过UI122将指令传送到驱动器信息获取单元123(步骤S101)。
驱动器信息获取单元123收到更新检查的指令,并通过步骤S102至S105的处理来获取所有安装在客户端PC10中的驱动器的驱动器信息。也就是说,步骤S102中,驱动器信息获取单元123请求安装在客户端PC10中的每个驱动器发送驱动器信息。
如果在步骤S102中被请求驱动器信息的驱动器是具有根据第一实施例的ID的驱动器106,则响应于该请求,ID传输单元132从ID存储单元131中获取该ID作为驱动器信息(步骤S103和S104)。接下来,ID传输单元132将所获取的ID传输到驱动器信息获取单元123(步骤S105)。
作为一个示例,在驱动器信息获取单元123和ID传输单元132通过文件来执行ID传送的情况下,优选地,预先确定用于执行驱动器信息获取单元123和ID传输单元132之间的ID传送的文件的文件名称和存储位置。ID传输单元132将ID写入该文件,然后驱动器信息获取单元123从该文件中读取该ID。
另一方面,如果在步骤S102中被请求驱动器信息的驱动器是不具有根据第一实施例的ID的驱动器,则不将ID从ID传输单元132传输到驱动器信息获取单元123。在这种情况下,例如,将通用驱动器信息从驱动器传输到驱动器信息获取单元123。
驱动器信息获取单元123确定可以从中获取ID的驱动器,将其作为将被更新的驱动器,作为对安装在客户端PC10中的所有驱动器执行步骤S102至S105的结果。因此,即使例如在新旧版本的驱动器被混合安装在客户端PC10中并且存在不能从中获取ID的驱动器的情况下,也可以执行根据第一实施例的驱动器的更新。
驱动器信息获取单元123将在步骤S102至S105的处理中获取的ID传送到更新信息获取单元1201,并请求更新信息获取单元1201根据ID获取更新信息(步骤S110)。响应于该请求,更新信息获取单元1201对从驱动器信息获取单元123传送的每个ID执行将在下文描述的步骤S111和S112的处理,并从更新信息服务器40中获取与每个ID对应的更新信息。
接收到在步骤S110中从驱动器106传送的ID的更新信息获取单元1201基于传送的ID来获取可以说明与该ID对应的更新信息的存储位置的说明信息。例如,更新信息获取单元1201根据预先定义的规则基于ID来生成说明信息。
在本文中,将通过使用具体的示例来描述ID和说明信息。图8示出了根据第一实施例的ID的示例。在图8的示例中,通过9位数的字数串来表示ID。在这种情况下,作为ID,考虑使用例如9位数的序号。但并不限定于此,ID可以通过使用随机生成的字符串来进行配置。另外,ID的位数不限定于9位,其可以是10位或多于10位,或者可以少于9位。另外,如果使用数字作为ID,则该数字不限定于2进制数。例如,可以使用16进制数。
图9示出了根据第一实施例的说明信息的示例。在图9的示例中,作为说明信息,使用表示与ID对应的更新信息在网络中的位置的URL。在图9中,说明信息表示可扩展标记语言(xml)格式的文件名称为“123456789.xml”文件被存储在由“1.example.org”说明的网络中的位置。
将说明信息配置为包括上文描述的在图9中示例的识别信息。也就是说,在图9的示例中,对于包括在说明信息中的文件名称“123456789.xml”,字符串(在该实例中,字符串“123456789”)中从前端至句点“.”表示识别信息。另外,对于文件名称,句点“.”之后的字符串“xml”是表示文件是xml格式的扩展名。以这样方式,将说明信息配置为包括识别信息的格式,以便驱动器信息获取单元123可以容易地根据识别信息来生成说明信息。
回到图7中的步骤S110。更新信息获取单元1201请求更新信息服务器40根据基于从ID传输单元132传输的ID获取的说明信息(URL)来发送更新信息(步骤S111)。响应于该请求,更新信息服务器40向更新信息获取单元1201传送存储在由说明信息说明的存储位置中的更新信息(步骤S112)。
如图9所示,在将包括更新信息的文件名称的URL作为说明信息的情况下,更新信息获取单元1201可以通过根据URL访问更新信息服务器40来直接获取更新信息的文件。
如上文所述,生成与每个ID对应的存储位置,而且说明信息直接表示更新信息的存储位置(即,更新信息文件的文件名称)。因此,响应于向更新信息服务器40对更新信息的请求,更新信息获取单元1201可以直接获取更新信息文件。这表示更新信息文件的每个文件名称成为对于驱动器106的更新信息的请求的接口。因此,可以降低更新信息请求对更新信息服务器40的负载。
图10示出了根据第一实施例的更新信息的示例。在图10中,在每行的前端写入的通过冒号(:)与每行的主体隔开的数字是为了便于说明每一行而指定的行号。另外,根据图8中的ID,将图10示出的更新信息写入具有图9的URL中包括的文件名称的文件。在图10中,对于更新信息,通过第1行的描述来定义写入文件的xml,并将用于更新驱动器106的信息写入第2行的标签“<softwareInfo>”和第13行的标签“</softwareInfo>”之间的部分。
在第3行中,将与更新信息对应的ID写入标签“<softwareId>”和标签“</softwareId>”之间的部分。在第4行中,将根据更新信息进行安装的驱动器的版本写入标签“<version>”和标签“</version>”之间的部分。在这个示例中,写入与更新信息的文件名称对应的值“123456789”作为ID,并写入版本“1.1.0”。在第5行中,将根据更新信息进行安装的驱动器的公布日期写入标签“<publishDatetime>”和标签“</publishDatetime>”之间的部分。在这个示例中,使用格式“年,月,日,小时,分钟,秒”的格式写入公布日期。
在第6行中,将作为将根据更新信息进行安装的驱动器的主体的对象的文件大小写入标签“<fileSize>”和标签“</fileSize>”之间的部分。
此外,在第3行到第6行的描述中,可以省略第4行到第5行的描述和第6行的描述中的任意一个。
其中将对象本身存储为根据更新信息进行安装的驱动器的主体的URL以及其中存储驱动器的属性信息的URL写入第7行到第12行。在图10的示例中,在第7行中,将存储将被更新的驱动器的基本信息的文件的URL写入标签“<url1>”和标签“</url1>”之间的部分。此外,驱动器的基本信息包括例如驱动器类型(打印机驱动器、或扫描仪驱动器等)或与驱动器对应的装置名。在第8行中,其中将对象作为将要被安装的驱动器的主体的URL被存储并写入到标签“<url2>”和标签“</url2>”之间的部分。例如,使用以zip格式进行压缩的文件来配置对象。
在第9行到第12行中,存储将根据更新信息进行安装的驱动器的扩展信息的文件的URL、存储变更历史的文件的URL、存储详情描述的文件的URL以及存储使用许可信息的文件的URL被分别写入标签“<url3>”和标签“</url3>”之间的部分、标签“<url4>”和标签“</url4>”之间的部分、标签“<url5>”和标签“</url5>”之间的部分以及标签“<url6>”和标签“</url6>”之间的部分。
此外,在第7到第12行的描述中,在第8行中,除了对其中存储对象的URL的描述,其它可以被省略。另外,在图10的示例中,写入第7到第12行的URL包括对象设置服务器41的URL。另外,更新信息的格式优选地共用相同的ID。例如,将共用格式应用于ID相同并且版本等不同的更新信息。
回到图7的描述。更新信息获取单元1201通过例如存储装置54中的缓存文件将在步骤S111和S112中为每个ID获取的更新信息传送到驱动器信息获取单元123(步骤S113)。驱动器信息获取单元123向UI122通知从更新信息获取单元1201传送的更新信息(步骤S114)。UI122基于从驱动器信息获取单元123报告的更新信息向显示单元100通知表示将被更新的驱动器的信息(步骤S115)。
此外,更新信息获取单元1201可以基于更新信息从安装在10中的驱动器中选择将被更新的驱动器。
例如,更新信息获取单元1201将ID(图10中的第3行)和更新信息中包括的版本信息(图10的第4行)与例如之前安装在10中的驱动器106的ID和版本信息进行比较。通过该比较,如果该ID与驱动器106的ID相同,而且写入更新信息的版本比驱动器106的版本新,则更新信息获取单元1201选择由更新信息表示的驱动器作为将被更新的驱动器。更新信息获取单元1201将所选择的将被更新的驱动器的更新信息传送到驱动器信息获取单元123。
选择将被更新的驱动器的方法不限定于该示例。例如,更新信息获取单元1201可以比较已安装完成的ID彼此相同的更新信息的公布日期与驱动器106的公布日期。在这种情况下,如果写入更新信息的公布日期比已安装完成的驱动器106的公布日期更新,则将由更新信息表示的驱动器选择作为将被更新的驱动器。另外,在安装当前安装的驱动器106时所获取的更新信息被允许缓存入例如存储装置54等,并且通过比较缓存的更新信息和新获取的更新信息,可以基于两个更新信息之间的差别来选择将被更新的驱动器。
此外,不限定于在安装器105侧选择将被更新的驱动器这样的示例,可以在更新信息服务器40侧选择将被更新的驱动器。在这种情况下,安装器105向更新信息服务器40传输10中已安装完成的驱动器的ID和版本信息。更新信息服务器40基于ID和版本信息来搜索ID相同并且版本更新的驱动器的更新信息,并向安装器105传输该更新信息。
此外,可以直接从驱动器106获取版本的信息或者已安装完成的驱动器106的公布日期。不限定于此,可以将安装驱动器106时的更新信息存储在文件或注册表中。
显示单元100基于从UI122报告的信息在显示器56上显示表示将被更新的驱动器的显示屏幕。图11A和图11B示出根据第一实施例的由显示单元100显示的显示屏幕的示例。在图11A的示例中,与将被更新的驱动器对应的打印机名称将由显示屏幕300显示为区域301中的列表。安装器105从驱动器(例如,从之前安装在客户端PC10中的驱动器)获取表示打印机名称的信息,并基于所获取的信息来显示该打印机名称,其中,驱动器具有与从UI122报告的更新信息中包括的ID相同的ID。
在显示屏幕300中,响应于对输入单元101的操作,选择输入单元302选择是否对在区域301中显示的驱动器进行更新。在图11A的示例中,在选择输入单元302中选择“是”,操作按钮303,以便开始更新在区域301中显示的驱动器。
显示屏幕300不限定于图11A中的示例。图11B示出了允许将被更新的驱动器可以被选择的显示屏幕300’的示例。在显示屏幕300’中,对于在区域301’中显示的将被更新的驱动器的列表,将勾选框304添加到打印机名称中。在这种情况下,通过对输入单元101的操作,选择对勾选框304被勾选的驱动器进行更新处理。
回到图7进行描述。如果在显示屏幕300上执行驱动器更新操作,则向UI122通知来自输入单元101的情况(步骤S120)。UI122向对象获取单元1202传送将被更新的驱动器的更新信息,并指示对象获取单元1202执行驱动器更新(步骤S121)。
对象获取单元1202基于从UI122传送的更新信息向对象设置服务器41传输用于对象获取的请求(步骤S122)。响应于该请求,对象设置服务器41传输该对象。对象获取单元1202获取从对象设置服务器41传输的对象(步骤S123)。在从UI122传送多个更新信息的情况下,对象获取单元1202传输用于获取该多个更新信息的请求,并根据该多个更新信息来获取对象。
更具体地,对象获取单元1202访问对象设置服务器41以根据URL的描述(图10的第8行)从包含在从UI122传送的更新信息中的URL中获取对象,并将该对象存储为将被安装的驱动器的主体。
对象获取单元1202临时将从对象设置服务器41获取的对象与更新信息中包括的ID相关联地存储在例如存储装置54中。
对象获取单元1202指示驱动器安装单元121安装从对象设置服务器41获取的对象(步骤S124)。响应于该指示,驱动器安装单元121开始安装从对象设置服务器41获取的对象的处理(步骤S125)。在对象被配置为压缩文件的情况下,驱动器安装单元121解压缩该压缩文件,并执行安装。在对象获取单元1202获取多个更新信息的情况下,驱动器安装单元121基于与对象相关联的ID来执行安装与该多个更新信息对应的对象。
如果完成对所有对象的安装,则驱动器安装单元121向UI通知该情况(步骤S126)。UI122指示显示单元100显示指示驱动器安装完成的安装完成屏幕(步骤S127)。显示单元100根据该指示在显示器56上显示安装完成。
图12示出了根据第一实施例的显示单元100在显示器56上显示的安装完成屏幕的示例。在图12中,安装完成屏幕310显示在区域311安装并更新的驱动器的列表(在这种情况下,显示与驱动器对应的打印机名称)。
通过这种方式,根据第一实施例,配置安装器105以便根据基于将被安装在客户端PC10中的驱动器106所包括的识别信息(ID)的说明信息(例如,URL)来获取包括用于更新驱动器106的对象的URL的更新信息。因此,即使在安装驱动器106时存储在存储位置(其由基于驱动器106中包括的识别信息的说明信息来说明)的更新信息是未知驱动器的更新信息,安装器105也可以将该未知的驱动器安装在客户端PC10中。
在本文中,将描述可适用于第一实施例的ID的示例。如上文所述,ID取信息组独有的值,该信息组用于说明可以更新由ID识别的驱动器106的驱动器程序。
将参考图13描述根据实施例的ID的示例。在图13中,作为在用于说明可以更新驱动器106的驱动程序的信息组中包括的信息的示例,示出了项目“模型”、“类型”、“PnPID”、“操作系统(OS)”、“程序类型”以及“语言”的信息。另外,在图13的示例中,将信息分层地配置,以便左侧项目位于高等级而右侧的项目位于低等级,而且信息之间通过具有作为节点的信息的树结构彼此关联。
在图13示出的项目中,项目“模型”和项目“类型”指示用于说明将由驱动器106控制的硬件的信息。在图13的示例中,项目“模型”中的一个模型“Model123”与多个类型“Type01”、“Type02”等相关联。
项目“PnPID”指示与硬件一致的PnPID。在图13的示例中,通过模型“Model123”与类型“Type01”说明的信息与多个PnPID“0x1234abcd”、“0x3462blef”相关联。
项目“OS”指示与驱动器106对应的操作系统。在图13的示例中,项目“OS”包括项目“版本(ver)”和项目“版本”的低等级项目“操作位”,并且每个版本包括操作位“32位”和操作位“64位”。在图13的示例中,由模型“Model123”、类型“Type01”和PnPID“0x1234abcd”说明的信息与多个操作系统“WXOS”、“W7OS”等相关联。
项目“程序类型”指示驱动器106的功能。例如,项目“程序类型”指示打印机和扫描仪功能中的哪一个将由驱动器106控制。另外,项目“程序类型”还可以指示打印机或扫描仪功能的具体功能中的哪一个对应于驱动器106。作为一个示例,项目“程序类型”可以指示与打印机功能对应的页面描述语言(PDL)的类型。
在图13中,最低等级的项目“语言”指示应用于由更高等级的项目“程序类型”指示的功能的语言(JP(日语),EN(英语)等)。
在这种配置中,在每个实施例中,ID与树结构中叶节点唯一地关联。因此,包括按顺序从叶节点追溯到母节点的节点的信息的信息组与ID唯一地关联。
在图13的示例中,包括模型“Model123”、类型“Type01”、PnPID“0x1234abcd”、操作系统版本“WXOS”、操作系统操作位“32位”、程序类型“PDL#A”和语言“JP”的信息组与ID“ID#1”唯一地关联。另外,例如,包括模型“Model123”、类型“Type01”、PnPID“0x1234abcd”、操作系统版本“WXOS”、操作系统操作位“32位”、程序类型“TWAIN#A”和语言“EN”的信息组与ID“ID#1+1”唯一地关联。另外,例如,包括模型“Model123”、类型“Type01”、PnPID“0x1234abcd”、操作系统版本“W7OS”、操作系统操作位“32位”、程序类型“PDL#B”和语言“JP”的信息组与ID“ID#n”唯一地关联。
图14A到14C示出了适用于每个实施例的更新信息的管理方法的示例。在每个实施例中,由说明信息指示的更新信息的所有文件被存储在如图14A所示的更新信息服务器40的基础文件夹下。此外,假设该基础文件夹对应于例如URL“https://1.example.org/”。
更新信息的管理方法不限定于图14A的示例。例如,如图14B所示,在更新信息服务器40中,可以控制更新信息,以便将由说明信息指示的更新信息文件分开存储在多个文件夹中。如上文所述,将说明信息设定为对应于ID,而且将ID唯一地设定给包括该多个项目的信息的信息组。因此,可以预知由说明信息指示的更新信息文件的数量会变大。通过这种方式,将更新信息的文件进行分配以存储在多个文件夹中,以便可以容易地管理更新信息。
作为每个文件夹的文件夹名称,考虑使用为存储在文件夹中的文件的文件名称所共用的字符串。例如,对于更新信息文件,在构成文件名称的n个字符的字符串中(除了日期和扩展名),文件夹名称具有m个(m<n)相同字符的文件被从前端收集,并使用具有m个字符的字符串的文件名称将其存储在文件夹中。在图14A的示例中,从被配置9位数字的字符串文件名称的前端起(除了日期和扩展名)的4位数相同的文件被存储在文件夹中(其文件夹名称是具有多个从前端起的4位数的字符串)。在图14B的管理方法中,用于说明更新信息的说明信息成为包括如示例性在图14C中示出的文件名称和文件夹名称的信息。
此外,在以上描述中,虽然描述了说明信息直接指示更新信息文件的文件名称,并且提供了与更新信息文件的数量相同的用于询问更新信息服务器40的接口,但并不限定于该示例。例如,可以将更新信息服务器40配置为具有在图13中描述的ID的树结构作为表格,并且基于与树结构的每个节点对应的信息来搜索ID。
在这种情况下,安装器105将例如与树结构的每个节点对应的信息作为参数传送到更新信息服务器40,然后更新信息服务器40基于该参数通过参考表格来搜索ID。图15示出了在这种情况下的说明信息的示例。在图5中,部分“https://1.example.org/hoge/”是接口(I/F)部分,“/hoge/”之后的部分是参数部分。也就是说,安装器105通过使用部分“https://1.example.org/hoge/”作为公用接口来访问更新信息服务器40,并将参数部分传送到更新信息服务器40以执行询问。此外,根据询问目的的值的值被用于“/hoge/”部分。
在图15示出的配置的情况下,更新信息服务器40基于说明信息中包括的参数来执行搜索。另一方面,在以上描述的图14A和14B中示出的示例中(其中,将ID提供给每个说明信息),可以通过使用说明信息来直接获取ID。因此,与图14A和14B中示出的配置相比较,在图15示出的配置中,对数据库的负载被认为是增加的。
更具体地,在第一实施例中,如参考图13所描述的,由于ID与树结构中的每个叶节点唯一地对应,如果节点的层数增加,则预知ID的数量(即,驱动器的类型的数量)变大。在从更新信息服务器40搜索该大量的ID的情况下,更新信息服务器40优选地具有以下这样的配置:每个ID都具有如上文描述的在图14A和14B中示出的接口,以便与参考图15进行描述的其中ID具有公共接口的配置相比较,负载减少。
例如,当驱动器106将被安装在客户端PC10中时,安装器105需要根据将被控制的驱动器106或驱动器106的运行环境(操作系统版本等)来确定适合的驱动程序。在这种情况下,基于参数通过参考表格来搜索ID的方法是适合的。
(第一实施例的经修改的示例)
接下来,将描述第一实施例的经修改的示例。在以上所述的第一实施例中,安装器105(驱动器信息获取单元123)从驱动器106(ID存储单元131)获取用于检查驱动器106的更新的驱动器106的信息。相比较地,在第一实施例的经修改的示例中,安装器105从客户端PC10中的预定的存储区域中获取用于检查驱动器106的更新的驱动器的信息。
在第一实施例的经修改的示例中,安装器105存储驱动器106的驱动器信息,其中当将驱动器106安装在客户端PC10中时,在客户端PC10中包括的存储装置54中的预定的存储区域中执行所述驱动器106的安装。例如,由客户端PC10的OS管理的管理区域可作为该预定的存储区域(安装器105在其中存储驱动器信息)。如果OS是Windows(注册商标)系统,可以将注册表应用到该OS管理区域。通过OS来执行对该OS管理区域的访问。并不限定于此,在客户端PC10的存储装置54中创建预定的文件夹,可以将驱动器信息存储在该文件夹中。
图16是示出根据第一实施例的经修改的示例的驱动器106的安装步骤的示例的流程图。此外,在图16中,与上文描述的图1至4的部件相同的部件使用相同的参考编号,在此不再赘述。
在图16中,驱动器包1060是存储用于安装驱动器106的数据的文件。驱动器包1060存储例如驱动器106的程序文件(对象)和其中写入了用于安装驱动器106的驱动器信息的文件。该驱动器信息包括例如将由驱动器包1060安装的驱动器106的ID以及为驱动器106指定的名称。
安装器105从驱动器包1060取得该文件,并执行驱动器包1060的安装。客户端PC10可以通过网络30从服务器等获取驱动器包1060,或者从其中记录了驱动器包1060的诸如光盘(CD)或数字化通用盘片(DVD)之类的记录介质中获取驱动器包。
假设,在图16的过程之前,客户端PC10获取驱动器包1060并将其存储在存储装置54中。例如,根据用户对客户端PC10的输入单元101的操作,指示安装器105的UI122安装驱动器106(步骤S200)。UI122将指令传送到驱动器信息获取单元123,并请求驱动器信息获取单元123获取驱动器信息(步骤201)。
响应于从UI122获取驱动器信息的请求,驱动器信息获取单元123从驱动器包1060获取驱动器信息(步骤S202、步骤S203)。驱动器信息获取单元123将所获取的驱动器信息传送到存储单元104,并请求存储单元104写入传送的驱动器信息(步骤S204)。响应于该请求,存储单元104将从驱动器信息获取单元123传送的驱动器信息写入OS的管理区域(例如,注册表)(步骤S205)。例如,存储单元104请求客户端PC10的OS将驱动器信息写入OS管理区域。
图17示出了根据第一实施例的经修改的示例的被写入OS管理区域OS管理区域200的驱动器信息的示例。在该示例中,将驱动器信息中包括的驱动器106的ID写入与例如指示驱动器106的类型的信息(在该实例中,“打印机A”和“打印机B”)相关联的OS管理区域200。还可以将驱动器信息中包括的其它信息写入将与ID相关联的OS管理区域200。此外,除了安装器105能够处理的驱动器之外的驱动器的驱动器信息可以被写入OS管理区域200。
在步骤S204中请求写入驱动器信息之后,驱动器信息获取单元123指示驱动器安装单元121安装该驱动器(步骤S206)。驱动器安装单元121从驱动器包1060取得文件,并执行驱动器106的安装(步骤S207)。当驱动器106的安装过程完成之后,驱动器安装单元121向UI122通知该情况(步骤S208)。UI122指示显示单元100显示安装完成通知(步骤S209)。显示单元100根据该指令在显示器56上显示指示安装完成的消息。
图18是示出根据第一实施例的经修改的示例的驱动器106的更新步骤的示例的流程图。在图18中,与上文描述的图1至4的部分相同的部分使用相同的参考编号,在此不再赘述。
例如,响应于用户对客户端PC10的输入单元101的操作,指示安装器105的UI122检查驱动器106的更新(步骤S220)。可以将该指令从UI122传送到驱动器信息获取单元123(步骤S221)。
驱动器信息获取单元123收到更新检查的指令,并请求存储单元104获取驱动器信息(步骤S222)。响应于该请求,存储单元104从OS管理区域200获取所有驱动器信息(其中,ID和指示驱动器类型的信息被彼此关联地写入)。存储单元104将所获取的驱动器信息传送到驱动器信息获取单元123(步骤S223)。
驱动器信息获取单元123从传送自存储单元104的驱动器信息中选择安装器105能够处理的驱动器106的驱动器信息。例如,驱动器信息获取单元123基于驱动器信息中包括的ID来确定驱动器信息是否是安装器105能够处理的驱动器106。例如,通过确定是否可以从驱动器信息中获取按照以上所描述的预定的格式的ID,执行该确定。
以下过程基本与以上描述的图7的步骤S110之后的过程相同。例如,驱动器信息获取单元123向更新信息获取单元1201传送在步骤S222和S223中获取的ID,并请求更新信息获取单元1201根据ID获取驱动器更新信息(步骤S224)。更新信息获取单元1201基于从驱动器信息获取单元123传送的ID来生成以上描述的说明信息。更新信息获取单元1201请求更新信息服务器40根据生成的说明信息来发送更新信息(步骤S225),并获取更新信息服务器40响应于该请求所传输的更新信息(步骤S226)。
将关于ID获取的更新信息通过驱动器信息获取单元123从更新信息获取单元1201传送到UI122(步骤S227、步骤S228)。此外,即使在这种情况下,更新信息获取单元1201也可以基于更新信息从安装在客户端PC10中的驱动器中选择将被更新的驱动器。UI122基于传送的更新信息向显示单元100通知指示将被更新的驱动器的信息(步骤S229)。
显示单元100基于从UI122报告的信息在显示器56上显示表示将被更新的驱动器的显示屏幕300(参考图11A)。此时,如图11B所示出的,显示单元100可以显示显示屏幕300’(其中,可以选择将被更新的驱动器)。
向UI122通知来自输入单元101的在显示屏幕300上的驱动器更新操作(步骤S230)。UI122向对象获取单元1202传送将被更新的驱动器的更新信息,并指示对象获取单元1202更新该驱动器(步骤S231)。
对象获取单元1202基于从UI122传送的更新信息向对象设置服务器41传输用于对象获取的请求(步骤S232),并获取对象设置服务器41响应于该请求所传输的对象(步骤S233)。
对象获取单元1202指示驱动器安装单元121安装所获取的对象(步骤S234)。响应于该指示,驱动器安装单元121执行安装从对象设置服务器41获取的对象(步骤S235)。如果安装完成,则驱动器安装单元向UI122通知该情况(步骤S236)。响应于该通知,UI122指示显示单元100显示指示驱动器安装完成的安装完成屏幕(步骤S237)。显示单元100根据该指示在显示器56上显示指示安装完成的安装完成屏幕310(参考图12)。
(第二实施例)
接下来,将描述第二实施例。在以上描述的第一实施例中,虽然描述了将一个类型的驱动器106安装到客户端PC10,但实际上,在许多情况中,是将多个类型的驱动器安装到客户端PC10中。在此处,假设驱动器的类型对应于将驱动器安装到客户端PC10中的方法。例如,因为打印机装置和扫描仪装置具有不同的驱动器结构,所以其安装方法也不同。
另外,也将应用程序安装到客户端PC10中。在一些情况下,除驱动器之外,还安装应用程序。在其它情况下,可以单独安装应用程序。此外,假设一个相对小范围的工作,应用程序是以接近于用户的指定请求的方式而生成的程序。总的来说,不执行对诸如客户端PC10中的打印机或扫描仪之类的外部装置的直接控制。应用程序的安装方法与每个驱动器的安装方法不同。
在第二实施例中,在安装方法不同的多个类型的驱动器和应用程序将被安装到客户端PC10的情况下,将描述程序(驱动器程序和应用程序)的更新方法。
图19示出了适用于第二实施例的信息处理系统的示例。此外,在图19中,与上述图1中相同的部分的参考编号相同,在此不再赘述。
在图19中,作为图像形成装置20c,具有包括打印机功能200和扫描仪功能201的多种功能的多功能打印机(MFP)被连接到网络22。客户端PC10可以通过网络22与图像形成装置20c通信,以允许图像形成装置20c通过使用打印机功能200来执行打印或通过使用扫描仪功能201通过读取原型来获取图像数据。另外,客户端PC10可以执行多种数据处理,诸如生成或编辑用于通过使用打印机功能200来执行打印的打印数据、或处理通过使用扫描仪功能201获取的图像数据。
图20是用于解释根据第二实施例的客户端PC10的功能的示例性功能方框图。此外,在图20中,与上述图3中相同的部分的参考编号相同,在此不再赘述。另外,由于参考第一实施例中的图2进行描述的配置可以根据第二实施例在不修改客户端PC10的硬件配置的情况下被应用,对硬件配置的描述在此省略。
在图20中,客户端PC10包括用于控制打印机功能200的打印机驱动器106a以及用于控制扫描仪功能201的扫描仪驱动器106b作为驱动器。
另外,客户端PC10可以包括应用程序106c。应用程序106c对数据进行预定的数据处理。例如,应用程序106c通过对数据进行处理来生成打印数据,并将生成的打印数据传送到打印机驱动器106a。打印机驱动器106a根据从应用程序106c传送的打印数据来控制打印机功能200。另外,例如,应用程序106c可以指示扫描仪驱动器106b控制扫描仪功能201以获取图像数据,并可以对获取的图像数据进行图像处理。应用程序106c的功能不限定于此。
配置安装器105’,以便安装打印机驱动器106a、扫描仪驱动器106b、应用程序106c(它们的安装方法各不相同)。
在此,将简要描述由安装器105’执行的安装过程和更新过程。此外,在下文中,如果没有特别描述,则将安装过程和更新过程统称为安装过程。
根据将被安装的程序的类型,通过预先定义的步骤由OS执行安装过程。因此,需要准备专用于这些程序类型的安装器。例如,驱动器程序和应用程序的安装方法彼此不同。另外,作为将被控制的装置类型不同的驱动器程序,打印机驱动器和扫描仪驱动器的(由OS确定的)安装方法彼此不同。因此,准备应用程序、打印机驱动器和扫描仪驱动器的专用安装器。
图21示出了根据第二实施例的安装器105’的示例的配置。此外,在图21中,与上述图4中相同的部分的参考编号相同,在此不再赘述。在图21中,安装器105’包括通信单元120、程序安装单元1215、UI122、程序信息获取单元1230以及安装器确定单元124。另外,程序安装单元1215包括打印机单元1210、扫描仪单元1211以及用于根据程序类型执行安装的应用程序单元1212。打印机单元1210执行打印机驱动器106a的安装。扫描仪单元1211执行扫描仪驱动器106b的安装。另外,应用程序单元1212执行应用程序106c的安装。
程序信息获取单元1230从安装在客户端PC10中的安装包中获取程序信息。该程序信息至少包括与以上描述的驱动器信息对应的程序的识别信息(ID)。程序信息还可以包括指示程序类型的信息。安装器确定单元124确定在安装程序时打印机单元1210、扫描仪单元1211以及程序安装单元1215中包括的应用程序单元1212中的哪一个将被使用。
响应于程序安装的指令,安装器105’从存储将被安装的程序的安装包中获取程序信息和元数据,并产生可以被安装的程序的列表。安装器105’根据将被安装的程序的程序类型来执行安装过程。
更具体地,安装器105’允许安装器确定单元124基于获取的程序信息来确定将被安装的程序的程序类型。接下来,响应于安装器确定单元124的确定结果,安装器105’根据将被安装的程序的程序类型从打印机单元1210、扫描仪单元1211、程序安装单元1215中包括的应用程序单元1212中选择一个,并执行安装过程。
将简要描述打印机单元1210、扫描仪单元1211以及应用程序单元1212的安装过程。
打印机单元1210执行关于客户端PC10的打印机驱动器的安装。将由打印机单元1210执行的打印机驱动器的安装过程包括:将构成打印机驱动器的文件存储在客户端PC10中的由OS定义的文件夹中;设定打印端口;产生逻辑打印机队列;以及在OS是Windows(注册商标)的情况下初始设定注册表。此外,产生逻辑打印机队列的过程包括例如产生指示与将被安装的打印机驱动器对应的打印机的图标。
扫描仪单元1211对于客户端PC10执行扫描仪驱动器的安装。将由扫描仪单元1211执行的扫描仪驱动器的安装过程包括将构成扫描仪驱动器的文件存储在客户端PC10中的由OS定义的文件夹中并设定扫描端口。
应用程序单元1212执行应用程序的安装。将由应用程序单元1212执行的应用程序的安装过程包括:将构成应用程序的文件存储在客户端PC10中创建的预定的文件夹中;以及在OS是Windows(注册商标)的情况下,初始设定注册表并注册开始菜单。
此外,由OS准备的文件夹(在OS是Windows(注册商标)的情况下,文件夹“ProgramFiles”)可以被用作存储构成应用程序的文件的文件夹。不限定于此,构成应用程序的文件可以被存储在客户端PC10中创建的任意文件夹中。
作为安装器105’能够处理的应用程序,可考虑投影应用、电子黑板查看器、和MFP控制应用等。在这些应用程序中,投影应用是用于在投影仪装置上执行客户端PC10的显示屏幕的投影或客户端PC10对投影仪装置的设定的应用程序。另外,电子黑板查看器是用于通过用户操作可通过使用触控板进行绘图的电子黑板来执行对客户端PC10中生成的图像等的查看或客户端PC10对电子黑板的设定的应用程序。另外,MFP控制应用是用于执行对诸如客户端PC10中的MFP的图像形成装置的操作的应用程序。
另外,作为安装器105’能够处理的应用程序,可以考虑用于使用云存储或设定工具(其用于执行对诸如MFP的图像形成装置或诸如投影仪装置的装置的诸如WiFi(注册商标)的无线通信的设定)的应用程序。
图22是示出根据第二实施例的打印机驱动器106a、扫描仪驱动器106b以及应用程序106c的安装步骤的示例的流程图。此外,在图22中,与上述图1、2、20和21中相同的部分的参考编号相同,在此不再赘述。在下文中,适当地,打印机驱动器106a、扫描仪驱动器106b和应用程序106c被统称为“程序”。
在图22中,安装包1061是以下这样的文件:存储用于安装程序的数据并存储构成程序的文件(对象),而且其中写入用于安装程序的程序信息。作为安装包1061的一个示例,存在存储打印机驱动器106a或扫描仪驱动器106b的驱动器包,或存储应用程序106c的应用包。
程序信息包括例如将由安装包1061安装的程序的ID、为程序指定的名称以及程序的类别信息。类别信息例如是指示程序类型的类型信息。在程序是诸如打印机驱动器106a或扫描仪驱动器106b的驱动程序的情况下,类别信息可以用于识别将被控制的程序。作为比此情形更具体的一个示例,类别信息指示驱动器将控制打印机和扫描仪中的哪一个。
假设在图22的过程之前,客户端PC10通过网络30或诸如CD或DVD的记录介质来获取安装包1061,并将安装包1061存储在存储装置54中。例如,根据用户对客户端PC10的输入单元101的操作,指示安装器105’的UI122安装该程序(步骤S300)。UI122向安装器确定单元124传送该指令(步骤S301)。响应于该指令,安装器确定单元124请求程序信息信息获取单元1230获取程序信息(步骤S302)。
响应于从UI122获取程序信息的请求,程序信息获取单元1230从安装包1061获取程序信息(步骤S303、S304)。程序信息获取单元1230将获取的程序信息传送到存储单元104,并请求存储单元104写入传送的程序信息(步骤S305)。响应于该请求,存储单元104将从程序信息获取单元1230传送的程序信息写入OS管理区域200(步骤S306)。
图23示出了根据第二实施例的被写入OS管理区域200的程序信息的示例。在该示例中,程序信息中包括的程序的ID、程序的类别信息(打印机、扫描仪或应用程序)以及程序名被彼此关联地写入OS管理区域200。在图23的示例中,将类别信息写入为程序类型。
另外,程序信息获取单元1230将在步骤S303和S304中获取的程序信息传送到安装器确定单元124(步骤S307)。安装器确定单元124基于从程序信息获取单元1230传送的程序信息中包括的类别信息来确定将由安装包1061安装的程序的类型。(步骤S308)。
当安装器确定单元124在步骤S308中确定将由安装包1061安装的程序是打印机驱动器106a时,执行步骤S3000,以便执行安装打印机驱动器106a。当在步骤S308中确定将被安装的程序是扫描仪驱动器106b时,执行步骤S3001,以便执行安装扫描仪驱动器106b。此外,当在步骤S308中确定将被安装的程序是应用程序106c时,执行步骤S3002,以便执行安装应用程序106c。
在步骤S3000中,安装器确定单元124指示打印机单元1210中的打印机单元1210通过安装包1061安装程序(步骤S310)。打印机单元1210从安装包1061取得文件,并执行安装打印机驱动器106a(步骤S311)。如果打印机驱动器106a的安装完成,则打印机单元1210向UI122通知此情况(步骤S312)。
在步骤S3001中,安装器确定单元124指示扫描仪单元1211通过安装包1061安装程序(步骤S310’)。扫描仪单元1211从安装包1061取得文件,并执行安装扫描仪驱动器106b(步骤S311’)。如果扫描仪驱动器106b的安装完成,则扫描仪单元1211向UI122通知该情况(步骤S312’)。
另外,在步骤S3002中,安装器确定单元124指示应用程序单元1212通过安装包1061安装程序(步骤S310”)。应用程序单元1212从安装包1061取得文件,并执行安装应用程序106c(步骤S311”)。如果应用程序106c的安装完成,则应用程序单元1212向UI122通知该情况(步骤S312”)。
如果是从打印机单元1210、扫描仪单元1211或程序安装单元1215的应用程序单元1212报告安装完成,则UI122指示显示单元100显示该情况(步骤S313)。显示单元100根据该指示在显示器56上显示安装完成。
图24是示出根据第二实施例的程序的更新步骤的示例的流程图。此外,在图24中,与上述图1、2、20和21中相同的部分的参考编号相同,在此不再赘述。而且,在下文中,适当地,打印机驱动器106a、扫描仪驱动器106b、应用程序106c被统称为“程序”。
关于图24中示出的过程,响应于在步骤S320中用户的操作而指示的更新检查之后,直到对象设置服务器41在步骤S333中传输对象的过程基本与第一实施例的经修改的示例中所描述的图18中的步骤S220至S233中的过程相同。
也就是说,例如,响应于用户对客户端PC10的输入单元101的操作,指示安装器105’的UI122检查程序的更新(步骤S320)。可以将该指示从UI122传送到程序信息获取单元1230(步骤S321)。
程序信息获取单元1230接收更新检查的指示,并请求存储单元104获取程序信息(步骤S322)。响应于该请求,存储单元104从OS管理区域200获取所有程序信息(其中,ID、类别信息和程序被相互关联地写入)。存储单元104将获取的程序信息传送到程序信息获取单元1230(步骤S323)。
程序信息获取单元1230从传送自存储单元104的程序信息中选择安装器105’能够处理的程序的程序信息。例如,程序信息获取单元1230基于程序信息中包括的ID来确定程序信息是否是安装器105’能够处理的程序。例如,通过确定是否可以从程序信息中获取按照以上所描述的预定的格式的ID,执行该确定。
程序信息获取单元1230向更新信息获取单元1201传送在步骤S322和S323中获取的ID,并请求更新信息获取单元1201获取与ID对应的更新信息(步骤S324)。更新信息获取单元1201基于从程序信息获取单元1230传送的ID来生成说明信息,并请求更新信息服务器40根据生成的说明信息来发送更新信息(步骤S325)。响应于该请求,更新信息获取单元1201获取从更新信息服务器40传输的更新信息(步骤S326)。
在这个实例中,假设从更新信息服务器40传输用于更新打印机驱动器106a的更新信息、用于更新扫描仪驱动器106b的更新信息和用于更新应用程序106c的更新信息,并由更新信息获取单元1201获取这些信息。
将针对ID获取的更新信息通过程序信息获取单元1230从更新信息获取单元1201传送到UI122(步骤S327、S328)。UI122将传送的更新信息传送到显示单元100(步骤S329)。
显示单元100基于从UI122传送的更新信息在显示器56上显示示出将被更新的程序的显示屏幕。图25A示出了根据第二实施例的由显示单元100显示的显示屏幕的示例。在图25A的示例中,显示屏幕400显示与区域401中的将被更新的程序、类别信息和程序类型对应的类型名称的列表。
例如,安装器105’从程序(其具有与从UI122报告的更新信息中包括的ID相同的ID,并在之前安装在客户端PC10中)中获取程序信息,并基于获取的程序信息来显示类型名称、指示类别信息的信息和显示屏幕400上的程序类型。在这个示例中,在显示屏幕400上,类型名称“MEP01”、指示打印机的类别信息的信息“打印机A”、指示程序类型的“驱动器”或类型名称“MFP01”、指示扫描仪的类别信息的信息“扫描仪B”以及指示程序类型的“驱动器”被彼此关联地显示。另外,对于应用程序106c,在显示屏幕400上仅显示指示应用程序的类别信息的信息“应用D”,其它都省略。在这种情况下,对于具有类型名称“MFP01”的MFP,示出打印机驱动器106a和扫描仪驱动器106b被更新并且应用程序106c被更新。
在显示屏幕400中,选择输入单元402根据对输入单元101的操作选择是否要更新在区域401显示的程序。在图25A的示例中,通过在选择输入单元402中选择“是”并操作按钮403,开始更新在401显示的每个程序。
另外,如图25B所示,显示单元100可以显示显示屏幕400’(通过其可以选择将要被更新的程序)。在显示屏幕400’中,对于在区域401’显示的将被更新的程序的列表,每行都加入勾选框404。在这种情况下,通过对输入单元101的操作,选择对勾选框404被勾选的行中所示的程序进行更新。
向UI122通知来自输入单元101的在显示屏幕400上的程序更新操作(步骤S330)。UI122向对象获取单元1202传送将被更新的程序的更新信息,并指示对象获取单元1202更新该程序(步骤S331)。
对象获取单元1202基于从UI122传送的更新信息向对象设置服务器41传输用于对象获取的请求(步骤S332),并获取对象设置服务器41响应于该请求所传输的对象(步骤S333)。如果获取到该对象,则对象获取单元1202将对象获取通知连同与所获取的对象对应的ID一起传送到安装器确定单元124(步骤334)。
安装器确定单元124将从对象获取单元1202传送的ID传送到程序信息获取单元1230,并请求程序信息获取单元1230发送与ID对应的程序信息(步骤S335)。响应于该请求,程序信息获取单元1230将与ID对应的传送的程序信息传送到安装器确定单元124(步骤S336)。
安装器确定单元124基于从程序信息获取单元1230传送的程序信息中包括的类别信息来确定将通过更新安装的程序的类型。(步骤S337)。
当安装器确定单元124在步骤S337中确定将通过更新安装的程序是打印机驱动器106a时,执行步骤S3003,以便安装并更新打印机驱动器106a。当在步骤S337中确定将被安装的程序是扫描仪驱动器106b时,执行步骤S3004,以便安装并更新扫描仪驱动器106b。另外,当在步骤S337中确定将被安装的程序是应用程序106c时,执行步骤S3005,以便安装并更新应用程序106c。
在步骤S3003中,安装器确定单元124指示程序安装单元1215的打印机单元1210使用在步骤S333中由对象获取单元1202获取的对象来安装程序(步骤S340)。打印机单元1210根据指示执行安装由对象获取单元1202获取的对象(步骤S341),并且如果安装完成,则打印机单元向UI122通知该情况(步骤S342)。
在步骤S3004中,安装器确定单元124指示程序安装单元1215的扫描仪单元1211使用在步骤S333中由对象获取单元1202获取的对象来安装程序(步骤S340’)。扫描仪单元1211根据指示执行安装由对象获取单元1202获取的对象(步骤S341’),并且如果安装完成,则扫描仪单元向UI122通知该情况(步骤S342’)。
另外,在步骤S3005中,安装器确定单元124指示程序安装单元1215的应用程序单元1212使用在步骤S333中由对象获取单元1202获取的对象来安装程序(步骤S340”)。应用程序单元1212根据指示执行安装由对象获取单元1202获取的对象(步骤S341”),并且如果安装完成,则应用程序单元向UI122通知该情况(步骤S342”)。
如果从打印机单元1210、扫描仪单元1211或程序安装单元1215的应用程序单元1212报告安装完成,则UI122指示显示单元100显示该情况(步骤S343)。显示单元100根据该指示在显示器56上显示安装完成。
图26是示出根据第二实施例的显示单元100在显示器56上显示的安装完成屏幕的示例。在图26中,安装完成屏幕410显示在区域411中安装并更新的程序的列表。
根据第二实施例,即使对于程序类型彼此不同的打印机驱动器106a、扫描仪驱动器106b、应用程序106c,根据基于写入OS管理区域200的打印机驱动器106a、扫描仪驱动器106b、应用程序106c的程序信息中包括的识别信息(ID)的说明信息(例如,URL),安装器105’也获取包括用于更新打印机驱动器106a、扫描仪驱动器106b、应用程序106c的对象的URL的更新信息。安装器105’可以根据基于程序信息中包括的类别信息的程序类型来进行安装。
另外,即使当安装打印机驱动器106a、扫描仪驱动器106b、应用程序106c时,存储在存储位置(其由基于打印机驱动器106a、扫描仪驱动器106b、应用程序106c中包括的识别信息的说明信息来说明)的每个更新信息都是未知程序,安装器105’也可以基于更新信息将未知程序安装在客户端PC10中。
此外,虽然以上描述的实施例和经修改的示例是用于实现本发明的适合的示例,但本发明并不限定于此。在不脱离本发明的精神的前提下,可以在本发明的范围内做各种修改和变形。
根据一个实施例,可以得到这样的效果:使一个安装器能够普遍适用于当前提供的程序和未来将提供的程序。
虽然通过具体实施例对发明进行了清楚完整的描述,但所附权利要求不限定于此,其被构造为使本领域技术人员作出的所有变形和修改可以落入在本文中阐述的基本教导的范围之内。

Claims (9)

1.一种信息处理装置,包括:
第一获取单元,从驱动器获取用于识别所述驱动器的识别信息;
生成单元,基于所述识别信息生成说明信息,所述说明信息指明存储用于更新所述驱动器的更新信息的存储位置;以及
第二获取单元,从所述存储位置获取所述更新信息,由所述生成单元生成的说明信息指明所述存储位置。
2.一种信息处理方法,包括:
第一获取步骤,从驱动器获取用于识别所述驱动器的识别信息;
生成步骤,基于所述识别信息生成说明信息,所述说明信息指明存储用于更新所述驱动器的更新信息的存储位置;以及
第二获取步骤,从所述存储位置获取所述更新信息,由在所述生成步骤中生成的说明信息指明所述存储位置。
3.根据权利要求2所述的信息处理方法,其中
所述说明信息根据预定的规则包括所述识别信息,以及
在所述生成步骤中,基于所述识别信息根据所述规则生成所述说明信息。
4.根据权利要求2或3所述的信息处理方法,其中,在所述第一获取步骤中,确定所述驱动器是否包括所述识别信息,并根据所述确定的结果从所述驱动器获取所述识别信息。
5.根据权利要求2-4中的任意一项所述的信息处理方法,其中,在所述第二获取步骤中,基于所述更新信息确定是否更新所述驱动器,并在显示单元上显示表示被确定为将被更新的所述驱动器的信息。
6.根据权利要求2-5中的任意一项所述的信息处理方法,其中,在所述第一获取步骤中,从所述驱动器获取所述识别信息,并且在安装所述驱动器时将所述识别信息存储在所述计算机的预先定义的区域中,并在更新所述驱动器时从所述存储区域获取所述识别信息。
7.根据权利要求6所述的信息处理方法,其中,在所述第一获取步骤中,还从所述驱动器获取表示所述驱动器的类型的类型信息,并将所述类型信息与所述识别信息相关联地存储在所述存储区域中。
8.根据权利要求7所述的信息处理方法,还包括:
更新步骤,使用在所述第二获取步骤中获取的所述更新信息更新所述驱动器,其中
在所述更新步骤中,从所述存储区域获取所述类型信息,并且按照与由获取的类型信息表示的驱动器的类型对应的顺序更新所述驱动器。
9.一种信息处理系统,包括:
第一存储单元,将用于更新驱动器的对象存储在第一存储位置中;
第二存储单元,将更新信息存储在第二存储位置中,所述更新信息包括表示所述第一存储位置的信息,由基于识别所述驱动器的识别信息的说明信息指明所述第二存储位置;
第一保存单元,存储驱动器,所述驱动器包括识别所述驱动器自身的识别信息;
第一获取单元,从存储在所述第一保存单元中的所述驱动器获取所述识别信息;
生成单元,基于由所述第一获取单元获取的所述识别信息生成所述说明信息;
第二获取单元,从所述第二存储位置获取所述更新信息,由所述生成单元生成的所述说明信息指明所述第二存储位置;以及
更新单元,基于由所述第二获取单元获取的所述更新信息,从所述第一存储单元获取所述对象,并使用所获取的对象更新存储在所述第一保存单元中的所述驱动器。
CN201510564559.1A 2014-09-09 2015-09-07 信息处理装置、信息处理方法和信息处理系统 Pending CN105404526A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2014-183679 2014-09-09
JP2014183679 2014-09-09
JP2015-121447 2015-06-16
JP2015121447A JP6540256B2 (ja) 2014-09-09 2015-06-16 プログラム、情報処理装置および情報処理方法、ならびに、情報処理システム

Publications (1)

Publication Number Publication Date
CN105404526A true CN105404526A (zh) 2016-03-16

Family

ID=55437594

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510564559.1A Pending CN105404526A (zh) 2014-09-09 2015-09-07 信息处理装置、信息处理方法和信息处理系统

Country Status (2)

Country Link
US (1) US20160070557A1 (zh)
CN (1) CN105404526A (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016177445A (ja) * 2015-03-19 2016-10-06 株式会社リコー 情報処理装置、プログラムおよび情報処理システム
US11687843B2 (en) 2017-07-06 2023-06-27 Ricoh Company, Ltd. System and method for reserving resources and notifying group members
JP7010005B2 (ja) * 2018-01-11 2022-01-26 富士フイルムビジネスイノベーション株式会社 情報処理装置及びプログラム
EP3629258A1 (en) 2018-09-28 2020-04-01 Ricoh Company, Ltd. Resource reservation system, terminal setting method, and information processing apparatus
JP7230465B2 (ja) 2018-11-30 2023-03-01 株式会社リコー エラー表示システム、エラー表示方法、情報処理装置
CN111736913B (zh) * 2019-03-25 2021-11-19 华为技术有限公司 类加载方法和装置

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5630076A (en) * 1995-05-05 1997-05-13 Apple Computer, Inc. Dynamic device matching using driver candidate lists
US7251812B1 (en) * 2001-10-31 2007-07-31 Microsoft Corporation Dynamic software update
US7457831B2 (en) * 2003-03-31 2008-11-25 Microsoft Corporation Peripheral device driver maintenance scheme for networked peripheral device clients
US7293272B1 (en) * 2004-02-26 2007-11-06 Veritas Operating Corporation Device driver processing for automated system restores
US7216344B2 (en) * 2004-03-02 2007-05-08 Microsoft Corporation Side-by-side drivers
US7793285B2 (en) * 2006-03-31 2010-09-07 Ricoh Company, Ltd. Web installer driver and management through a remote network
US7996831B2 (en) * 2007-02-19 2011-08-09 Kabushiki Kaisha Toshiba Office equipment and program installation support method
US8804172B2 (en) * 2010-08-18 2014-08-12 Konica Minolta Business Technologies, Inc. Non-transitory computer readable recording medium stored with printer driver updating program and printer driver updating method
US20130139139A1 (en) * 2011-11-28 2013-05-30 Wyse Technology Inc. Automatic updating of an application or a driver on a client device using a deployment configuration file
US8972973B2 (en) * 2012-06-27 2015-03-03 Microsoft Technology Licensing, Llc Firmware update discovery and distribution
US8949815B2 (en) * 2013-05-31 2015-02-03 Microsoft Corporation Driver installation for targeted and non-present devices
JP6379805B2 (ja) * 2013-09-17 2018-08-29 株式会社リコー 情報処理プログラム、情報処理装置および情報処理システム

Also Published As

Publication number Publication date
US20160070557A1 (en) 2016-03-10

Similar Documents

Publication Publication Date Title
CN105404526A (zh) 信息处理装置、信息处理方法和信息处理系统
US10223042B2 (en) System, information processing method, and storage medium
US9075627B2 (en) Server connected to image forming apparatus and client, client, and method of remotely installing driver of image forming apparatus
JP5609269B2 (ja) 画像処理装置、表示装置、画面制御システム、画面制御方法、画面制御プログラム、及びそのプログラムを記録した記録媒体
JP5527146B2 (ja) 端末装置及びプログラム
EP2388684B1 (en) Print control apparatus, print control system, and print control method
US8773691B2 (en) Printing control apparatus, printing control method, and storage medium
US20040223182A1 (en) Information processing apparatus, information processing method, and control program
US20170302806A1 (en) Information processing system, information processing apparatus, and non-transitory computer readable medium
JP2005302031A (ja) プリンタドライバの自動カスタマイズ
JP5159466B2 (ja) 画像処理装置、その制御方法、プログラム及び記憶媒体
JP6107172B2 (ja) 画像処理システムとその機能の追加又は更新方法及びプログラム
JP2008203930A (ja) サーバ装置、ドライバ処理方法、記憶媒体、プログラム
JP4976021B2 (ja) ダウンロードシステム、拠点サーバ及びプログラム
CN101458615B (zh) 信息处理设备和信息处理设备控制方法
US10582080B2 (en) Image formation apparatus, system, method and computer readable storage medium
CN101498999B (zh) 图像形成系统和方法、以及管理设备
US7640368B2 (en) Automatic driver installation method and system
US20220011987A1 (en) Information processing system, information processing apparatus, and non-transitory computer readable medium storing information processing program
CN104850362A (zh) 打印指示装置、图像形成系统和打印指示方法
US20130067452A1 (en) Management server, host device, and application management method
US20210004186A1 (en) Printer device, control method for a printer device, information processing apparatus, control method for an information processing apparatus, and storage medium therefor
JP6540256B2 (ja) プログラム、情報処理装置および情報処理方法、ならびに、情報処理システム
US20240146850A1 (en) Information processing apparatus, method of controlling information processing apparatus, and storage medium
JP2016057799A (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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20160316