CN106716358B - 信息处理系统和信息处理方法 - Google Patents

信息处理系统和信息处理方法 Download PDF

Info

Publication number
CN106716358B
CN106716358B CN201580046767.0A CN201580046767A CN106716358B CN 106716358 B CN106716358 B CN 106716358B CN 201580046767 A CN201580046767 A CN 201580046767A CN 106716358 B CN106716358 B CN 106716358B
Authority
CN
China
Prior art keywords
information
installer
program
computer program
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.)
Active
Application number
CN201580046767.0A
Other languages
English (en)
Other versions
CN106716358A (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.)
Liguang Co
Original Assignee
Liguang Co
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 Liguang Co filed Critical Liguang Co
Publication of CN106716358A publication Critical patent/CN106716358A/zh
Application granted granted Critical
Publication of CN106716358B publication Critical patent/CN106716358B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1204Improving or facilitating administration, e.g. print management resulting in reduced user or operator actions, e.g. presetting, automatic actions, using hardware token storing data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1224Client or server resources management
    • G06F3/1225Software update, e.g. print driver, modules, plug-ins, fonts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • G06F3/1288Remote printer device, e.g. being remote from client or server in client-server-printer device configuration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • G06F3/1289Remote printer device, e.g. being remote from client or server in server-client-printer device configuration, e.g. the server does not see the printer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

在程序信息获取步骤中,获取程序信息(S6,S7)。程序信息至少包括指示计算机程序种类的信息和指示从其获取计算机程序的源的信息。在计算机程序获取步骤中,根据程序信息获取计算机程序(S11)。在安装控制步骤,根据指示计算机程序种类的信息,执行在计算机程序获取步骤中获取到的计算机程序的安装。

Description

信息处理系统和信息处理方法
技术领域
本发明涉及信息处理系统和信息处理方法。
背景技术
为了允许诸如个人计算机的信息处理设备使用诸如打印设备的成像装置,需要在信息处理设备上安装用于控制成像装置的驱动程序。知的安装程序在例如信息处理设备的操作系统(OS)上收集系统环境信息和成像装置的型号识别信息,基于收集到的信息来搜索和获取驱动程序,然后安装该驱动程序。
例如,专利文献1公开了如下的技术:其中,获取客户端的系统信息,基于获取到的系统信息和打印机信息存储单元中所存储的打印设备的唯一信息来获取任何可用的打印机驱动器,并且将基于唯一信息进行的打印机驱动器的安装有关的安装信息发送到客户端。
这样的安装程序的使用允许用户易于执行适合成像装置和系统环境(诸如,信息处理设备的操作系统(OS))的驱动程序的安装。
发明内容
技术问题
成像装置具有应用程序,诸如在一些情况下用于更便利地利用成像装置的实用程序。通常,这样的应用程序是与驱动程序分开提供的,并且针对应用程序和驱动程序的安装方法互不相同。通常从不同的源获取驱动程序和应用程序。
通常,难以通过一个安装程序来获取和安装其安装方法互不相同的多个计算机程序。因此,用户需要获取用于一个成像装置的驱动程序和实用程序,然后利用对应的安装程序来安装这些程序,这就导致繁琐的过程。
本发明旨在解决上述技术问题,并且便于安装方法互不相同的多个计算机程序的安装。
解决技术问题的技术方案
为了解决上述技术问题并且实现目的,本发明是如下的系统:该系统包括一个或多个终端以及通过网络与所述一个或多个终端可连接的信息处理设备,并且用于提供一个或多个第一计算机程序,该一个或多个第一计算机程序用于允许所述一个或多个终端在通过网络与所述一个或多个终端连接的设备上执行处理;信息处理设备包括:存储单元,用于存储各自通过所述一个或多个终端中的终端来执行的一个或多个第一计算机程序和一个或多个第二计算机程序,从而将关于设备的设备信息发送到所述信息处理设备,并且将一个或多个第一计算机程序中的所述信息处理设备所提供的第一计算机程序安装在所述终端上;第一指定单元,用于基于从所述终端接收到的关于终端的终端信息,指定所述一个或多个第二计算机程序中待发送到所述一个或多个终端中的一个终端的第二计算机程序;第一提供单元,用于将第一指定单元所指定的第二计算机程序提供给所述终端;第二指定单元,用于通过终端执行第二计算机程序,基于从所述终端接收到的设备信息,指定一个或多个第一计算机程序中待提供给所述终端的第一计算机程序;以及第二提供单元,用于将第二指定单元所指定的第一计算机程序提供给终端;并且终端包括:发送单元,用于将所述终端信息发送到所述信息处理设备;第一处理单元,用于通过由信息处理设备向终端提供的第二计算机程序的执行,执行获取所述设备信息并且将获取到的设备信息发送到所述信息处理设备的处理;以及第二处理单元,用于通过第二计算机程序的执行,执行将所述信息处理设备所提供的第一计算机程序安装在所述终端上的处理。
本发明的有益效果
本发明能够便于其安装方法互不相同的多个计算机程序。
附图说明
图1是根据第一实施例的信息处理系统的示例性配置的框图。
图2是适用于第一实施例的服务器设备的示例性配置的框图。
图3是描述根据第一实施例的服务器系统的功能的示例性功能框图。
图4是适用于第一实施例的客户端PC的示例性配置的框图。
图5是描述根据第一实施例的客户端PC的功能的示例性功能框图。
图6是描述根据第一实施例的安装程序(installer)的功能的示例性功能框图。
图7是根据第一实施例描述根据待安装计算机程序的种类来执行安装处理的安装程序的功能的示例性功能框图。
图8是表示根据第一实施例的动态服务器中所存储的数据库中的记录的示例性配置的示意图。
图9是示意描述根据第一实施例的安装过程的示意图。
图10是根据第一实施例的安装处理的示例流程图。
图11是表示根据第一实施例的安装处理中的整个信息处理系统的示例处理的时序图。
图12是表示根据第一实施例的示例装置列表显示屏幕的示意图。
图13是表示适用于第一实施例的发送到动态服务器的示例查询的示意图。
图14是表示根据第一实施例从动态服务器发送的示例程序信息列表的示意图。
图15是表示根据第一实施例的元数据的示例性配置的示意图。
图16是表示根据第一实施例的元数据的示例性配置的示意图。
图17是描述根据第一实施例的确定待安装的计算机程序的方法的示意图。
图18是表示根据第一实施例的示例可安装计算机程序列表显示屏幕的示意图。
图19是表示根据第一实施例的示例完成通知屏幕的示意图。
图20是根据第二实施例的安装处理的示例流程图。
图21是表示描述根据第二实施例的处理的示例程序信息列表的示意图。
图22是描述根据第二实施例的确定待安装的计算机程序的方法的示意图。
图23是表示根据第二实施例的示例可安装计算机程序列表显示屏幕的示意图。
图24是描述根据第二实施例的新种类安装程序所添加到的安装程序的示意图。
图25是表示根据第三实施例的安装程序的示例性配置的框图。
图26是根据第三实施例的不包括程序安装程序的安装程序的示例性配置的框图。
图27是根据第三实施例在不包括程序安装程序的安装程序上执行安装打印机驱动的处理的示例结果的框图。
图28是更详细地描述根据第三实施例的安装处理的示例流程图。
图29是更详细地描述根据第三实施例的安装处理的示例流程图。
图30A是表示根据第三实施例的安装处理中的整个信息处理系统的示例处理的时序图。
图30B是表示根据第三实施例安装处理中的整个信息处理系统的示例处理的时序图。
图31是表示适用于第三实施例的通过安装程序管理器所生成并且发送到动态服务器的示例查询的示意图。
图32是表示根据第三实施例的从动态服务器所发送的示例安装程序信息列表的示意图。
图33是表示根据第三实施例的示例可安装程序的安装程序列表显示屏幕的示意图。
图34是适用于第三实施例的通过PD安装程序所生成并且发送到动态服务器的示例查询的示意图。
图35是表示根据第三实施例的返回到PD安装程序的示例驱动信息列表的示意图。
图36是表示适用于第三实施例的发送到PD安装程序的示例元数据的示意图。
图37是表示适用于第三实施例的示例驱动列表显示屏幕的示意图。
图38是表示根据第三实施例从动态服务器获取到的示例安装程序信息列表的示意图。
图39是表示适用于第三实施例的通过PM安装程序所生成并且发送到动态服务器的示例查询的示意图。
图40是表示根据第三实施例的示例驱动信息列表的示意图。
具体实施方式
下面将参考附图详细描述系统和信息处理方法的各个实施例。
第一实施例
图1示出根据第一实施例的信息处理系统的示例性配置。在图1中,通过网络22(诸如,局域网(LAN))将信息处理设备10(诸如,在客户端侧的个人计算机,此后称之为客户端PC 10)与成像装置201和202相互连接,从而执行之间的通信。在图1所示的示例中,成像装置201和202分别是打印设备和多功能打印机(MFP)。MFP是在一个主体中实现诸如打印功能、扫描功能、复印功能以及传真功能的多个功能的多功能成像装置。
用于控制成像装置201和202的驱动程序安装在客户端PC 10上。由于MFP具有多个功能,所以针对成像装置202的每个功能将驱动安装在客户端PC 10上。客户端PC 10能够利用所安装的驱动程序,通过网络22控制成像装置201和202
另外,在客户端PC上能够安装实用程序,如用于更方便地利用驱动程序所控制的成像装置201和202的应用程序。为了简化描述,下面除非另外说明,这些驱动程序或应用程序被简称为程序。
客户端PC 10通过路由器21与诸如因特网的外部网络30连接。网络30与包括动态服务器40和静态服务器41的服务器系统400连接。客户端PC 10通过网络30与服务器系统400连接,从而与动态服务器40和静态服务器41相互执行通信。
待安装在客户端PC 10上的驱动程序和应用程序存储在静态服务器41中的预定存储位置。静态服务器41中所存储的每个驱动程序或应用程序可以是,例如将替换客户端PC10上所安装的对应程序的驱动,并且该驱动的版本比对应的程序新,或者可以是待包括在程序中的模块。可替换地,静态服务器41中所存储的程序可以是只包括程序的更新部分的模块。下面,这些程序和待包括在程序中的模块适当地被称为程序对象。
动态服务器40包括数据库。当已经接收到来自外部的查询时,动态服务器40执行数据库的搜索,并且作为搜索的结果,返回指示静态服务器41中所存储的程序的程序信息。程序信息至少包括指示静态服务器41中存储该程序所在的存储位置的信息(获取资源信息),以及指示该程序的种类的信息。程序信息还能够包括作为关于程序信息的信息的元信息。
在图1所示的示例中,两个成像装置201和202与网络22连接,并且通过客户端PC 10进行控制,但是本发明不限于该示例。具体地,客户端PC 10可以控制与网络22连接的两个成像装置201和202中的一个成像装置,或者仅控制两个成像装置201和202中的一个成像装置,例如,成像装置201可以与网络22连接。可替换地,成像装置201、202、...中的多于两个成像装置可以与网络22连接,并且客户端PC 10可以控制成像装置201、202、...中的多于两个成像装置的部分或者所有。
在图1所示的示例中,一个客户端PC 10与网络22连接,但是本发明不限于该示例。具体地,能够控制成像装置201和202的多个客户端PC 10可以与网络22连接。
另外,在图1所示的示例中,动态服务器40和静态服务器41是单独的服务器设备,但是本发明不限于该示例。例如,服务器系统400可以包括一个服务器设备,并且动态服务器40和静态服务器41可以在该服务器设备上作为单独功能来实现。可替换地,服务器系统400可以包括多个合作的服务器设备,而动态服务器40和静态服务器41可以在服务器系统400中所包括的服务器设备上通过分发的方式来实现。当能够唯一指定驱动程序和应用程序的存储位置时,静态服务器40不需要包括在该系统中。
图2示出当通过单独的服务器设备来实现动态服务器40和静态服务器41时,通常适用于动态服务器40和静态服务器41的服务器设备的示例性配置。下面,为了描述方便,除非另外说明,动态服务器40和静态服务器41被共同描述为服务器设备。
图2中所示的服务器设备包括中央处理器(CPU)411、只读存储器(ROM)412、RAM413、存储器414、以及通信I/F 415。这些组件通过总线410相互连接从而执行之间的通信。
存储器414是非瞬态半导体存储器,诸如硬盘驱动器或闪速存储器,在其中存储在CPU 411上运行的计算机程序以及各种数据。当服务器设备是动态服务器40时,存储器414在其中存储上述数据库,而当服务器设备是静态服务器41时,在其中存储上述驱动程序和应用程序作为程序对象。
CPU 411根据从ROM 412或者存储器414读取到的计算机程序,利用RAM 413作为工作存储器,来控制服务器设备的整体操作。通信I/F 415根据来自CPU 414的指令,通过网络30来控制通信。
服务器设备的配置不限于图2中所示的示例。例如,与通常的计算机相似,服务器设备还可以包括:用于根据CPU 411所生成的屏幕信息在显示器上显示屏幕的显示控制单元、用于利用外部装置执行数据输入和输出的数据I/F、以及用于接收用户输入的输入设备。
图3是描述根据第一实施例的服务器系统400的功能的示例性功能框图。服务器系统400包括第一存储单元420、第二存储单元421、通信单元422、第一指定单元423、第一提供单元424、第二指定单元425、以及第二提供单元426。
在第一存储单元420、第二存储单元421、通信单元422、第一指定单元423、第一提供单元424、第二指定单元425和第二提供单元426之中,第一指定单元423、第一提供单元424、第二指定单元425和第二提供单元426是动态服务器40中所生成或者存储的信息,而每个单元的功能是通过执行例如客户端PC 10上的对应计算机程序来实现的。第一存储单元420和第二存储单元421是分别通过在动态服务器40和静态服务器41的CPU 411上运行的计算机程序来实现的。
可替换地,第一存储单元420、第二存储单元421、通信单元422、第一指定单元423、第一提供单元424、第二指定单元425和第二提供单元426可以作为通过动态服务器40和静态服务器41的CPU 411所运行的计算机程序来实现。
第一存储单元420是用于在静态服务器41控制进行如下的存储和读取的存储单元:在预定的存储位置存储,并且从这些存储位置读取,多种驱动程序和应用程序的程序对象,作为待安装在客户端PC 10上的第一计算机程序,以及用于将这些驱动程序和应用程序安装到客户端PC 10的安装程序的程序对象(第二计算机程序)。第一存储单元420将这些程序对象存储在例如静态服务器41中所包括的存储器414中。
第二存储单元421在动态服务器40上控制信息在数据库中的存储,以及信息从数据库的读取(搜索)。例如,第二存储单元412根据来自外部的查询来搜索数据库,并且获取上述程序信息作为搜索结果。第二存储单元421将该数据库存储在例如动态服务器40中所包括的存储器414中。
通信单元422通过网络30控制与客户端PC 10的通信。
第一指定单元423用于基于从客户端PC 10所发送的关于客户端PC 10的信息,指定待提供给客户端PC 10的安装程序。第一提供单元424用于向客户端PC 10提供第一指定单元423所指定的安装程序。第二指定单元425用于当在客户端PC 10上执行上述安装程序时,基于从客户端PC 10所发送的信息,在多种驱动程序和应用程序之中指定待提供给客户端PC 10的程序。第二提供单元426用于向客户端PC 10提供第二指定单元425所指定的程序。
图4示出适用于第一实施例的客户端PC 10的示例性配置。在客户端PC 10中,中央处理器(CPU)51、只读存储器(ROM)52、随机存取存储器(RAM)53、存储器54、显示控制单元55、输入/输出I/F 57以及通信I/F 59通过总线50相互连接,从而执行之间的通信。
CPU 51根据预先存储在ROM 52或者存储器54中的程序,利用RAM 53作为工作存储器,控制客户端PC 10的整体操作。存储器54是硬盘驱动器或者非瞬态半导体存储器(闪速存储器),在其中存储用于操作CPU 51的计算机程序和各种数据。
显示控制单元55根据计算机程序,将CPU 51所生成的显示控制信号转换为在显示器56上可显示的显示信号,并且将显示信息提供给显示器56。显示器56例如包括作为显示设备的液晶显示器(LCD),并且在显示设备上显示根据从显示控制单元55所提供的显示信号的屏幕。
输入/输出I/F 57用于执行与外部装置的通信的接口。在图4所示的示例中,输入/输出I/F 57与作为外部装置的、包括键盘和指向设备(例如,鼠标)的输入单元58进行连接。可替换地,输入/输出I/F 57可以与存储器(诸如,非瞬态半导体存储器或者驱动设备)进行连接,该存储器用于例如从光盘存储介质(诸如,光盘(CD)或者数字多功能光盘(DVD))读取数据。输入/输出I/F 57例如可以是通用串行总线(USB)。
通信I/F 59利用诸如传输控制协议和因特网协议(TCP/IP)的预定协议,通过网络30来控制通信。
图5是描述根据第一实施例的客户端PC的功能的示例性功能框图。在图5中,客户端PC 10包括显示单元101、输入单元102、存储单元103、通信单元104、OS(操作系统)110、安装程序111、驱动群组120、以及应用群组121。
在客户端PC 10上,显示单元101、输入单元102、存储单元103和通信单元104是通过CPU 51上运行的计算机程序来实现的。可替换地,显示单元101、输入单元102、存储单元103和通信单元104中的一些或者全部可以通过相互合作的硬件组件来实现。
显示单元101根据指令,生成用于在显示器56上执行显示的显示信息。显示控制单元55基于显示单元101所生成的显示信息,生成用于根据显示信息在显示器56上执行显示的显示信号,并且将显示信号输出到显示器56。输入单元102根据从操作单元58所输出的用户操作来接收信号。存储单元103将数据存储在存储器54和RAM 53中。通信单元104通过通信I/F 59控制通信。
驱动群组120能够包括一个或多个驱动程序1201、1202、...。应用群组121能够包括一个或多个应用程序1211、1212、...。在图5中,驱动程序1201、1202、...被表示为驱动#1、驱动#2、...。相似地,应用程序1211、1212、...被表示为应用#1、应用#2、...。
当OS 110控制外部装置时,驱动程序1201、1202、...各自允许CPU 51执行OS 110与连接到客户端PC 10的外部装置之间的中介的功能。当通过客户端PC 10使用外部装置时,驱动程序1201、1202、...各自向用户提供适当的用户界面(UI)。驱动程序1201、1202、...各自是针对例如外部装置的每个功能和每个型号而准备,并且安装在客户端PC 10上。
应用程序1211、1212、...各自是例如允许更方便使用外部装置的实用程序。例如,当外部装置是用于将图像投影到投影介质上的投影仪时,应用程序1211、1212、...可以各自是如下的投影应用:允许通过投影仪进行客户端PC 10的显示屏幕的投影以及通过客户端PC 10的投影仪的设置。当外部装置是用于将所写信息显示为图像数据的电子黑板时,应用程序1211、1212、...可以各自是如下的电子黑板查看应用:用于在客户端PC 10上执行查看在电子黑板上通过用户操作(例如,书写)所生成的图像等,以及通过客户端PC 10的电子黑板的一些设置。可替换地,应用程序1211、1212、...可以各自是如下的图像形成设备操作应用程序:用于在客户端PC 10上实现诸如MFP或打印设备的图像形成设备的操作屏幕,并且通过客户端PC 10执行图像形成设备的设置和操作。可替换地,当成像装置201、202、...通过诸如WiFi(注册商标)的无线通信来执行与客户端PC 10或者网络30的通信时,应用程序1211、1212、...可以各自是用于执行无线通信设置的通信设置工具。可替换地,应用程序1211、1212、...可以各自是客户端PC 10所通常使用的应用程序。
安装程序111在客户端PC 10上安装驱动器群组120中所包括的驱动程序1201、1202、...,以及应用群组121中所包括的应用程序1211、1212、...。安装程序111安装用于更新驱动程序1201、1202、...和应用程序1211、1212、...的计算机程序。
图6是描述根据第一实施例的安装程序111的功能的示例性功能框图。安装程序111是包括UI单元1110、安装程序管理器1111、以及各自与待安装的计算机程序的种类对应的安装程序1112、1113和1114的计算机程序。
在图6所示的示例中,在安装程序1112、1113和1114之中,安装程序1112是用于安装应用程序的应用安装程序。安装程序1113是用于安装打印机驱动程序的打印机驱动安装程序,其中的打印机驱动程序用于控制打印机功能。安装程序1114是用于安装扫描仪驱动程序的扫描仪驱动安装程序,其中的扫描驱动程序用于控制扫描仪功能。由于安装根据计算机程序的种类采用不同的过程,所以准备与计算机程序的种类对应的安装程序。
下面示意地描述通过安装程序1112、1113和1114进行的安装处理。
将描述用于执行安装应用程序的处理的安装程序1112。假设在相对小的范围内的任务,应用程序是生成以满足用户的特定的请求的计算机程序,并且通常不通过客户端PC10执行诸如打印机或扫描仪的外部设备的直接控制。
通过安装程序1112所执行的安装应用程序的处理包括如下处理:将应用程序中所包括的每个文件存储在客户端PC 10上所生成的预定文件夹内,以及当OS是Windows(注册商标)时注册表的初始设置和注册到开始菜单。应用程序的配置文件能够存储在OS所准备的文件夹中(当OS是Windows(注册商标)时,“Program Files(程序文件)”文件夹)。可替换地,配置文件可以存储在客户端PC 10上生成的可选文件夹。
下面描述用于执行安装打印机驱动程序的处理的安装程序1113。通过安装程序1113所执行的安装打印机驱动的处理包括如下处理:将打印机驱动中所包括的每个文件存储在OS所确定的客户端PC 10上的文件夹中,打印端口的设置、逻辑打印机队列的产生、以及当OS是Windows(注册商标)时注册表的初始设置。产生逻辑打印机队列的处理包括,例如产生图标的处理,该图标代表与待安装的打印机驱动对应的打印机。
下面描述用于执行安装扫描仪驱动程序的处理的安装程序1114。通过安装程序1114所执行的安装扫描仪驱动的处理包括如下处理:将扫描仪驱动中所包括的每个文件存储在由OS所确定的客户端PC 10上的文件夹中,以及设置扫描端口的处理。
图7是描述安装程序1112、1113和1114的功能的示例性功能框图。在下面的描述中,安装程序1112代表安装程序1112、1113和1114。安装程序1112包括设备信息处理单元1120和安装处理单元1121。
设备信息处理单元1120是第一处理单元,其用于通过网络22从与客户端PC 10连接的每个设备(图1所示的示例中的成像装置201和202)获取设备信息,并且将获取到的设备信息发送到服务器系统400。安装处理单元1121是第二处理单元,其用于执行在客户端PC10上安装从服务器系统400接收到的驱动程序或应用程序的处理。
在图6中,在安装程序111的操作中,UI单元1110向用户提供显示和诸如输入界面的UI。
安装程序管理器1111执行对于驱动程序或应用程序在客户端PC 10上安装的控制和管理。虽然随后进行详细描述,安装程序管理器1111通过通信单元104,将包括客户端PC10的信息的查询发送到动态服务器40。然后,安装程序管理器1111响应于该查询并且指示待安装的计算机程序,获取从动态服务器40所返回的程序信息,并且根据获取到的程序信息,从静态服务器41获取计算机程序(程序对象)。安装程序管理器1111基于获取到的程序信息,从安装程序1112、1113和1114之中选择安装该计算机程序所使用的安装程序,并且使得所选择的安装程序执行该计算机程序的安装。换言之,安装程序管理器111具有如下功能:用于获取程序信息的程序信息获取单元、用于获取计算机程序的计算机程序获取单元、以及用于控制安装处理的安装控制单元。
上述的安装程序111中所包括UI单元1110、安装程序管理器1111、以及安装程序1112、1113和1114是通过CPU 51上运行的计算机程序来实现。安装程序111可以最初只包括UI单元1110和安装程序管理器1111,而随后另外地包括安装程序1112、1113和1114。该计算机程序存储在通信I/F 59能够与其通信的网络所连接的计算机上,通过网络来下载和提供。可替换地,该计算机程序可以通过网络来提供或者分发。
可替换地,该计算机程序可以作为文件以可安装或者可执行的格式记录和提供在诸如光盘(CD)或者数字多功能光盘(DVD)的计算机可读记录介质中。在此情况下,该计算机程序通过外部驱动设备或者与输入/输出I/F 57连接的计算机提供给客户端PC 10。
可替换地,该计算机程序可以预先存储在ROM 52或者存储器54中,并且进行提供。
计算机程序被配置为例如包括上述组件(UI单元1110、安装程序管理器1111以及安装程序1112、1113和1114)的模块。每个组件通过CPU 51在主存储器设备上(例如,RAM53)加载并且生成,作为从例如存储器54读取计算机程序并且执行该计算机程序的实际硬件。
图8示出根据第一实施例的动态服务器40中所存储的数据库中的记录的示例性配置。数据库中的一个记录与一个计算机程序对应,并且至少包括:作为安装程序111待安装的计算机程序的程序信息,以及作为其上可安装计算机程序的信息处理设备的信息的系统信息。
在图8中,在记录的项目之中,“ID”、“显示名称”、“版本”、“更新日期和时间”、“大小”、“安装程序识别名称”、“元数据”和“资源位置”包括在与该记录对应的计算机程序的程序信息中。
项目“ID”是用于识别与程序信息对应的计算机程序的识别信息,并且指示例如该计算机程序的种类。项目“显示名称”是当该程序信息所指示的计算机程序显示在例如显示单元101上时所使用的名称。项目“版本”和“更新日期和时间”分别是关于与该程序信息对应的计算机程序的版本信息和更新日期与时间信息。项目“大小”指示与该程序信息对应的计算机程序的数据大小。
项目“安装程序识别信息”是用于识别安装程序的识别名称,该安装程序执行与程序信息对应的计算机程序的安装。项目“元数据”是指示将要从其获取关于程序信息的信息(元信息)的获取源的信息(例如,同一资源定位符(URL))。项目“资源位置”指示如下的信息:该信息指示将从其要获取与程序信息对应的计算机程序(程序对象)的获取资源的信息(例如,URL)。项目“资源位置”例如是静态服务器41中所包括的URL。相似地,项目“元数据”是静态服务器41中所包括的URL。
在图8中,记录项目之中的“OS版本”、“架构”、“区域设置”、“型号规格信息”指示该记录的计算机程序所兼容的系统的系统信息。项目“OS版本”和“架构”分别指示可安装该计算机程序的OS的版本和架构。项目“区域设置”是区域设置信息,诸如当安装计算机程序时所使用的语言。
项目“型号规格信息”是用于指定与该记录对应的外部装置的型号的信息。项目“型号规格信息”可以是在即插即用ID(PnP ID),作为在即插即用技术中所使用的用于识别供应商和型号的识别信息。
下面参考图9示意描述根据第一实施例的安装驱动程序或应用程序的过程。在图9中,通过相同的附图标记来表示与上述图1、图5和图6中相同的部分,并将省略它们的详细描述。图9中所示的安装过程是响应于例如客户端10上的用户操作而开始的。
当开始安装过程时,安装程序111首先在客户端PC 10所连接的段中搜索与网络22连接的任何外部装置(成像装置201、202、...)(步骤S1),并且从搜索到的外部装置获取用于说明该外部装置的型号的型号规格信息(步骤S2)。安装程序111可以利用例如Bonjour(注册商标)或者简单网络管理协议(SNMP),来搜索外部装置。
可替换地,安装程序111例如获取PnP ID作为型号规格信息。安装程序111利用在搜索外部装置时获取到的网络标识符,诸如外部装置的因特网协议(IP)地址,以及诸如SNMP的协议或者设备的网络服务(WSB),从外部装置获取PnP ID。
在图9所示的示例中,安装程序111从网络22搜索作为外部装置的成像装置201(打印设备)和成像装置202(MFP),并且获取它们的型号规格信息。
安装程序111使得显示单元101显示在步骤S1和步骤S2获取到的型号规格信息列表(设备列表),并且向用户呈现该列表(步骤S3)。实际上,显示单元101向用户呈现与型号规格信息对应的显示名称。用户响应于显示单元101所显示出的型号规格信息列表,操作输入单元102,并且选择从将要获取驱动或应用所来自的外部装置。输入单元102将所选择的外部装置的型号规格信息返回到安装程序111(步骤S4)。
安装程序111从OS 110获取安装程序时所使用的信息(步骤S5)。例如,安装程序111从OS 110获取用于识别OS的OS识别信息,诸如OS的版本信息。在步骤S5中,安装程序111也从OS 110获取诸如区域设置信息的信息。
安装程序111将在步骤S4中获取到的所选择的外部装置的型号规格信息与至少在步骤S5中获取到的OS识别信息进行组合,从而生成请求搜索客户端PC 10上可安装的计算机程序的查询,并且在步骤S6将该查询发送到动态服务器40(发送单元,第一处理器)。动态服务器40根据从安装程序111发送出的查询,执行数据库上的搜索处理,并且输出与查询对应的程序信息(第一指定单元、第二指定单元)。当找到与查询对应的多个程序信息时,动态服务器40输出各个程序信息。在步骤S7,动态服务器40将搜索到的程序信息的列表发送到从其发送该查询的安装程序111(第一提供单元、第二提供单元)。
当从动态服务器40所发送的程序信息包括指示从其获取元信息的源的信息时,安装程序111从获取源获取元信息(步骤S8)。在该示例中,元信息存在静态服务器41中。
安装程序111基于在步骤S7中从动态服务器40获取到的程序信息,以及通过安装程序111已经安装在客户端PC 10上的任何计算机程序的信息,生成可安装在客户端PC 10上的计算机程序的列表。安装程序111基于从动态服务器40所获取的程序信息,及通过安装程序111已经安装在客户端PC 10上的任何计算机程序的信息,可以生成能够各自更新已安装的计算机程序的计算机程序列表,并且将该列表添加到任何可安装的计算机程序的列表。
安装程序111使得显示单元101显示所生成的可安装计算机程序列表,并且将该列表呈现给用户(步骤S9)。用户响应于显示单元101所显示的计算机程序列表来操作输入单元102,并且选择待安装或者待更新的计算机程序。输入单元102将指示已选择的计算机程序的信息传递到安装程序111(步骤S10)。
安装程序111根据在步骤10中所传递的与指示计算机程序的信息对应的程序信息中所包括的信息,以及指示计算机程序的获取源的信息,从静态服务器40获取所选择的计算机程序(步骤S11)。然后,在步骤S12,安装程序111将从静态服务器41获取到的计算机程序安装在客户端PC 10(第二处理单元)上。具体地,安装程序111基于程序信息,确定待安装的计算机程序的种类,在安装程序1112、1113和1114之中,选择与所确定的计算机程序的种类匹配的安装程序,并且使得所选择的安装程序执行计算机程序的安装。
通过这种方式,根据第一实施例,安装程序111基于外部装置的型号规格信息和用于识别其OS的OS识别信息,从动态服务器40获取指示可安装的计算机程序的程序信息。然后,根据程序信息中所包括的信息和指示计算机程序的种类的信息来选择用于安装该计算机程序的安装程序。利用此配置,不同种类的多个计算机程序能够通过一个安装程序111的通用操作来进行安装。
下面详细描述根据第一实施例的安装处理。图10是根据第一实施例的安装处理的示意流程图。图10所示的流程图中的每个处理是通过安装程序111来执行的。在步骤S100中,安装程序111通过网络22执行针对外部装置的搜索,以及对于动态服务器40的查询,并且获取指示可安装在客户端PC 10上的任何计算机程序的程序信息列表。
安装程序111将变量i初始化为值“0”(步骤S101)。值j代表在步骤S100中获取到的程序信息的总数量。
下面,针对在步骤S100获取到的所有程序信息来执行步骤S102到步骤S108的处理。在下面,程序信息(i)代表第i程序信息。
安装程序111在步骤S102中将变量i递增1,并且在步骤S103中确定程序信息(i)是否包括元数据(元信息)。如果确定程序信息(i)不包括元数据,那么安装程序111将过程进行到步骤S105。如果确定程序信息(i)包括元数据,那么安装程序111将过程进行到步骤S104,并且基于程序信息(i)的描述,从静态服务器41获取元数据。已经获取到元数据,安装程序111将过程进行到步骤S105。
在步骤S105,安装程序111确定程序信息(i)所指示的计算机程序是否是用于执行计算机程序(诸如,驱动程序或应用程序)的安装的安装程序。具体地,安装程序111确定程序信息(i)所指示的计算机程序是安装程序111中所包括的安装程序1112、1113和1114中的任何一个。如果确定程序信息(i)所指示的计算机程序是安装程序,那么安装程序111将过程进行到步骤S106。
在步骤S106,安装程序111根据程序信息(i)所指示的获取源信息,从静态服务器41获取安装程序1112、1113和1114之中程序信息(i)所指示的安装程序。然后,在随后的步骤S107,安装程序111将步骤S106中获取到的安装程序安装在客户端PC 10上,并且更新该安装程序。
在步骤S105中,如果确定程序信息(i)所指示的计算机程序不是安装程序,那么安装程序111将过程进行到步骤S109。在步骤S109中,安装程序111将程序信息(i)传递给程序信息(i)所指示的安装程序,并且请求该安装程序获取任何可安装的计算机程序的信息。
如果在步骤S104获取到元数据,那么安装程序111将获取到的元数据与程序信息(i)一起传递到安装程序。如果程序信息(i)不包括元数据,因此未获取到元数据,那么安装程序获取程序信息(i)中所包括的显示名称作为任何可安装的计算机程序的信息。如果在步骤S104中获取到元数据,那么安装程序根据该元数据获取任何可安装的计算机程序的信息。在随后的步骤S110中,安装程序111将步骤S109中获取到的关于任何计算机程序的信息,注册到将要呈现给用户的可安装计算机程序列表。
在步骤S107或S110的处理之后,安装程序111将程序进行到步骤S108。在步骤S108中,安装程序111确定变量i是否与作为程序信息总量的值j匹配。如果变量i与值j匹配,那么能够确定针对在步骤S100中获取到的所有程序信息已经结束处理。如果确定变量i与值j不匹配,那么安装程序111将过程返回到步骤S102,并且将变量i增加1以便对于接下来的程序信息(i)执行处理。
如果确定变量i与值j匹配,那么安装程序111将过程进行到步骤S111。在步骤S111,安装程序111从上述在步骤S110中将任何计算机程序的信息所注册到的、并且待呈现给用户的计算机程序的可安装计算机程序列表,删除不需要更新的计算机程序
例如,安装程序111获取注册到列表的第一计算机程序的版本信息,并比较第一计算机程序的版本信息与第二计算机程序的版本信息,其中的第二计算机程序已经安装在客户端PC 10上并且与第一计算机程序对应。然后,如果第一计算机程序的版本信息未指示相比第二计算机程序的版本信息较新的版本,那么安装程序111确定第一计算机程序是不需要更新的计算机程序,并且从列表删除第一计算机程序。
在随后的步骤S112中,安装程序111使得例如显示单元101显示待呈现给用户的可安装计算机程序列表,并且向用户呈现该列表。在步骤S113中,安装程序111响应于可安装计算机程序列表在显示单元101上的显示,在客户端PC 10上安装由用户所选择的计算机程序,并且结束根据图10所示的流程图的系列处理。
图11是表示根据第一实施例的安装处理中整个信息处理系统的示例处理的时序图。在图11中,通过相同的附图标记来表示与上述图1、图5和图6中相同的部件,并将省略它们的详细描述。在下面的描述中,将用于执行应用程序安装的安装程序1112称为AP安装程序1112,用于执行打印机驱动程序安装的安装程序1113被称为PD安装程序1113,而用于执行扫描仪驱动程序安装的安装程序1114被称为SD安装程序1114。
例如,在客户端PC 10上的用户操作命令安装程序111的激活。安装程序111的UI单元1110被通知该激活指令(步骤S200)。UI单元1110命令安装程序管理器1111在与客户端PC10相同的网段中发现与网络22连接的外部装置(步骤S201)。安装管理器1111响应于该指令,利用例如Bonjour(注册商标)或者SNMP,在网络22上执行外部装置搜索的操作(步骤S202)。
已经接收到外部装置搜索的结果检测(步骤203),安装程序管理器1111请求来自检测到的外部装置(成像装置201、202、...)的型号规格信息(步骤S204)。安装程序管理器1111响应于该请求,接收从每个外部装置所发送的型号规格信息(步骤S205)。安装程序管理器1111基于接收到的每个外部装置的型号规格信息,命令UI单元1110显示用于选择外部装置的装置列表(步骤S206)。UI单元1110响应于该指令,产生装置列表显示屏幕,并且将装置列表显示屏幕传递到显示单元101。
显示单元101将从UI单元1110发送到的装置列表显示屏幕显示在显示器56上。更具体地,显示单元101生成用于显示装置列表显示屏幕的显示控制信号,并且将显示控制信号传送到显示控制单元55。显示控制单元55基于传递到的显示控制信号来生成显示信号,并且将显示信号输出到显示器56。通过该方式,装置列表显示屏幕被显示在显示器56上。
图12表示根据第一实施例的示例装置列表显示屏幕。在图12中,显示区域201和按钮204布置在该装置列表显示屏幕200上。显示区域201包括指示步骤205中获取到的型号规格信息的列表的列表显示202,以及用于选择与列表显示202上所显示的装置对应的型号的选择输入部203。在该示例中,复选框被设置在选择输入部203中,从而允许选择多个项目。当进行操作时,按钮204将选择输入固定在选择输入部203。
当响应于装置列表显示屏幕200通过用户操作来选择型号时(步骤S207),UI单元1110命令安装程序管理器1111获取与所选择的型号对应的程序信息(步骤S208)。根据该指令,安装程序管理器1111请求OS 110获取OS信息(步骤S209)。OS 110响应于该请求返回OS信息(步骤S210)。OS信息包括指示OS的版本、架构以及区域设置的信息。OS信息还包括指示OS名称的信息。
随后,安装程序管理器1111基于步骤S204和步骤S205中获取到的型号规格信息,以及步骤S209和S210中获取到的OS信息,生成获取程序信息列表的查询,并且将该查询发送到动态服务器40(步骤S211)。动态服务器40根据该查询来搜索数据库,并且将通过搜索获取到的程序信息列表返回到安装程序管理器1111(步骤S212)。
图13示出适用于第一实施例的在步骤S211中通过安装程序管理器1111生成并且发送到动态服务器40的示例查询。除非另外说明,在图13以及示出相似示例数据的任何下面的示意图中,每行起始处的数字是用于说明所使用的行号,并且通过随后的冒号(:)与作为数据主体的代码分开。在每个实施例中示例性示出的代码是模拟通常用作编程语言的C语言的符号标识的伪代码。
图13示出,在查询的最外层括号“{”和“}”之间的描述中,外部装置的信息被描述为括号“{”下面第一行(行号“2”)与第三行(行号“4”)之间的项目“外围设备(peripheral)”。在图13所示的示例中,在项目“外围设备”中,作为PnP ID的型号规格信息“MFP模型A”(MFP型号A)被写在括号“{”与“}”之间。
在该查询中,OS信息被写为第四行到第八行之间(行号“5”到“9”)的项目“系统(system)”。在图13所示的示例中,在项目“系统”的括号“{”与“}”之间,OS版本被写为括号“{”下面第一行(行号“6”)中的项目“版本(version)”的值“6.1.7601.65536”,OS架构被写为第二行(行号“7”)中的项目“架构(architecture)”的值“x64”,区域设置信息被写为第三行(行号“8”)中的项目“区域设置(locale)”的值“ja-JP”。
动态服务器40根据该查询,搜索参考图8所描述的数据库,并且提取与查询中所描述的各个信息匹配的记录。在图8中所示的示例数据库中,动态服务器40提取如下的记录,该记录的项目“OS版本”、“架构”、“区域设置”以及“型号规格信息”中的每个项目中所描述的信息与查询中所描述的对应信息匹配。然后,动态服务器40向安装程序管理器1111发送所提取的记录中的项目“ID”、“显示名称”、“版本”、“更新日期和时间”、“大小”、“安装程序识别名称”、“元数据”以及“资源位置”的信息,作为程序信息。当根据查询已经提取多个记录时,动态服务器40将每个提取记录的各个项目的信息发送到安装程序管理器1111,作为针对该记录的程序信息列表。
图14示出根据第一实施例从动态服务器40所发送的示例程序信息列表。如图14中示例性示出,程序信息列表将一个程序信息写在位于行号“1”和行号“68”的行中最外侧括号“[”和“]”之内的每对括号“{”和“}”中。在图14所示的示例中,程序信息列表将程序信息(1)写在行号“2”到行号“11”的行的括号“{”和“}”之间,相似地,将程序信息(2)到程序信息(7)分别写在行号“12”到行号“21”的行、行号“22”到行号“30”的行、行号“31”到行号“39”的行、行号“40”到行号“48”的行、行号“49”到行号“58”的行、行号“59”到行号“67”的行。
每个程序信息(i)分别将与动态服务器40的记录的项目“ID”、“显示名称”、“版本”、“更新日期和时间”、“大小”、“安装程序识别名称”、“元数据”以及“资源位置”对应的项目“id”、“名称”、“版本”、“日期”(“published_date”)、“大小”、“安装程序”、“metadata_url”以及“download_url”写在括号“{”和“}”之间。
在图14所示的示例中,在程序信息(1)中,括号内的第一行(行号“3”)上的项目“id”具有值“mfp_modela_printer_pcl”,指示计算机程序的种类。第二行(行号“4”)上的项目“名称”具有值“MFP Model A Printer Driver PCL”。括号内的第三行(行号“5”)上的项目“版本”具有值“1.2.0.0”,而第四行(行号“6”)上的项目“日期”具有值“2014-02-11”。第五行(行号“7”)上的项目“大小”具有值“12000”。
在程序信息(1)中,括号内的第六行(行号“8”)上的项目“安装程序”具有值“printer_driver_installer”,指示PD安装程序1113是与程序信息(1)中所描述的计算机程序对应的安装程序。括号内的第七行(行号“9”)上的项目
“metadata_url”具有值
“https://example.com/mfp_modela_printer_pcl/metadata.json”,指示元数据的获取源的URL。第八行(行号“10”)上的项目“download_url”具有值
“https://example.com/mfp_modela_printer_pcl/object.zip”,指示待安装的计算机程序中所包括的程序对象的获取源的URL。
在图14中,在行号“12”到行号“21”的各个上的程序信息(2)中,项目“id”具有值“mfp_modela_printer_ps”,项目“名称”具有值“MFP Model A Printer DriverPostscript”,项目“版本”具有值“1.0.0.0”,项目“date”具有值“2014-01-01”,项目“大小”具有值“6000”。项目“安装程序”具有值“printer_driver_installer”,指示PD安装程序1113是与程序信息(2)中所描述的计算机程序对应的安装程序。在程序信息(2)中,项目“metadata_url”和项目“download_url”分别具有元数据和程序对象的获取源的URL。
在行号“22”到行号“30”的各个行上的程序信息(3)中,项目“id”具有值“mfp_modela_scanner”,项目“名称”具有值“MFP Model A Scanner Driver”,项目“version”具有值“1.0.0.0”,项目“日期”具有值“2014-01-01”,项目“size”具有值“5000”。项目“安装程序”具有值“scanner_driver_installer”,指示SD安装程序1114是与程序信息(3)中所描述的计算机程序对应的安装程序。在程序信息(3)中,项目“download_url”具有程序对象的获取源的URL。在该示例中,具有元数据获取源的URL的项目“metadata_url”在程序信息(3)中被省略。
相似地,针对每个项目来写程序信息(4)到程序信息(7)中的信息。项目“安装程序”的值指示AP安装程序1112、PD安装程序1113、SD安装程序1114以及安装程序管理器1111中的哪一个是分别与程序信息(4)到(7)的每个程序信息中所描述的计算机程序对应的安装程序。在图14所示的示例中,项目“安装程序”的值指示PD安装程序1113与程序信息(1)、(2)、(4)和(5)中所描述的计算机程序对应。也指示SD安装程序1114与程序信息(3)中所描述的计算机程序对应,而AP安装程序1112与程序信息(6)中所描述的计算机程序对应。
在图14中,在程序信息(7)中,项目“安装程序”具有值“installer_manager”,指示在安装程序管理器1111上安装或者更新项目“id”所指示的计算机程序。
在每个程序信息(i)中,可以省略项目“metadata_url”。在图14中所示的示例中,程序信息(3)、(4)、(5)和(7)不包括元数据,相应地省略项目“metadata_url”。在项目“安装程序”的值为“installer_manager”的程序信息(7)中,项目“id”的值优选地是与另一个计算机程序的程序信息中的项目“安装程序”的值对应,其中的另一个计算机程序将要通过程序信息(7)所指示的程序安装程序进行安装。
当已经从动态服务器40接收到程序信息列表时,安装程序管理器1111根据图10所示的流程图中的步骤S102到步骤S110,对于总数量是j的程序信息(i)的每个程序信息执行下面步骤S213到步骤S220的处理。
具体地,安装程序管理器1111根据图10中所示的步骤S103,确定第i程序信息(i)是否包括元数据。如果在程序信息(i)中写入项目“metadata_url”,确定程序信息(i)包括元数据。如果确定程序信息(i)包括元数据,那么安装程序管理器1111根据程序信息(i)的项目“metadata_url”中所写的元数据获取源的URL,从例如静态服务器40获取元数据(步骤S213)。静态服务器41响应于该请求,将元数据发送到安装程序管理器1111(步骤S214)。
在图14所示的示例中,项目“metadata_url”被写入程序信息(1),指示包括元数据。安装程序管理器1111从静态服务器41请求程序信息(1)内项目“metadata_url”的值“https://example.com/mfp_modela_printer_pcl/metadata.json”所指示的URL上的元数据。
下面描述元数据。图15和图16示出根据第一实施例的元数据的示例性配置。元数据具有对应的安装程序的种类所限定的格式。图15示出描述子装置的识别信息的示例元数据。图15中示意性示出的元数据适用于用于控制外部装置的驱动程序的安装程序,诸如PD安装程序1113、SD安装程序1114。
下面描述子型号。子型号是具有一个型号规格信息的外部装置的多个型号中的一个,其中的型号具有略微不同的规格。例如,对于打印设备或MFP,之间具有规格差异的多个型号,诸如在例如完成器中存在着少部分不同配置,在一些情况下具有一个型号规格信息(例如,PnP ID)。在一些情况下,具有一个型号规格信息的各个型号是由一个驱动程序来支持的。另外,在驱动程序的安装中,在一些情况下需要根据从多个型号之中选择的型号来改变UI的配置。
在图15所示的示例中,在一个型号规格信息所指示的元数据中,行号为“2”的行所写的项目“model_names”指示,将用于识别子型号的识别信息(此后称之为子型号识别信息)写在该行的括号“[”与对应的括号“]”之间。多个子型号识别信息能够写入在括号“[”与“]”之间。PD安装程序1113和SD安装程序1114各是一个程序对象,但是根据与该程序对象对应的程序信息的描述,通过参考包括子型号识别信息的元数据,通过一个型号规格信息能够识别多个子型号。
图16示出描述关于应用程序安装的信息的元数据。图16中示例性示出的元数据适用于用于安装应用程序的AP安装程序1112。当安装应用程序时,预定信息存储在通过OS110所管理的区域。图16中示例性示出的元数据描述待存储在OS 110的管理区域中的信息。例如,当包括元数据的程序信息所指示的应用程序安装在客户端PC 10上时,AP安装程序1112基于元数据中所写的各个信息,将初始设置写到OS 110的管理信息。
例如,当OS 110是微软公司(美国)所提供的Windows(注册商标)时,注册表能够用作OS 110的管理区域。
如图11所示,安装程序管理器1111根据程序信息(i),请求来自AP安装程序1112、PD安装程序1113以及SD安装程序1114的可安装计算机程序列表(步骤S215到步骤S220)。
例如,如果程序信息(i)的项目“安装程序”具有值“application_installer”,那么安装程序管理器1111确定AP安装程序1112是与该程序信息(i)对应的安装程序。然后,安装程序管理器1111向AP安装程序1112传递程序信息的项目“id”、“名称”、“版本”、“日期”(“published_date”)、“大小”、“安装程序”、“metadata_url”以及“download_url”的信息,并且请求来自AP安装程序1112的可安装计算机程序列表(步骤S215)。如果程序信息(i)包括项目“metadata_url”,那么安装程序管理器1111也将步骤S213和步骤S214中获取到的元数据传递到AP安装程序1112。
AP安装程序1112基于传递到的信息,将可安装计算机程序列表发送到安装程序管理器1111(步骤S216)。在该示例中,无论是否将元数据发送到AP安装程序1112,AP安装程序1112将程序信息的项目“名称”中所写的信息返回到安装程序管理器1111,作为可安装计算机程序的信息。
更具体地,在图14所示的示例中,行号“49”到“58”的各行上所写的程序信息(6)的项目“安装程序”具有值“application_installer”,指示AP安装程序1112是与程序信息对应的安装程序。安装程序管理器1111基于项目“安装程序”的值,将程序信息的每个项目的值传递到AP安装程序1112。AP安装程序1112将程序信息的项目“名称”的值“MFPManagement Utility”返回到安装程序管理器1111作为可安装计算机程序的信息。
例如,如果程序信息(i)的项目“安装程序”具有值“printer_driver_installer”,那么安装程序管理器1111确定PD安装程序1113是与该程序信息(i)对应的安装程序。然后,安装程序管理器1111向PD安装程序1113传递程序信息的项目“id”、“名称”、“版本”、“日期”、“大小”、“安装程序”以及“download_url”的信息,并且请求来自PD安装程序1113的可安装计算机程序列表(步骤S217)。如果程序信息(i)包括项目“metadata_url”,那么安装程序管理器1111也将在步骤S213和步骤S214中获取到的并且与程序信息(i)对应的元数据传递到PD安装程序1113。
PD安装程序1113基于传递到的信息,将可安装计算机程序列表发送到安装程序管理器1111(步骤S218)。如果元数据被传递到PD安装程序1113,那么PD安装程序1113获取元数据中所写的子型号识别信息,并且将获取到的子型号识别信息返回到安装程序管理器1111,作为可安装计算机程序的信息。
更具体地,在图14所示的示例中,行号“2”到“11”的各行上所写的程序信息(1)的项目“安装程序”具有值“printer_driver_installer”,指示PD安装程序1113是与程序信息对应的安装程序。安装程序管理器1111基于项目“安装程序”的值“printer_driver_installer”,将程序信息的每个项目的值传递到PD安装程序1113。在该示例中,程序信息(1)包括项目“metadata_url”,因此,安装程序管理器1111也将在步骤S213和步骤S214中获取到的且与程序信息对应的元数据传递到PD安装程序1113。
当已经从安装程序管理器1111一起接收到元数据与程序信息时,PD安装程序1113基于元数据中的项目“model_names”的描述,获取子模型识别信息。例如,当已经接收到图15中示意性示出的元数据时,PD安装程序1113将项目“model_names”的括号“[”与“]”之间所写的“MFP模型A类型1打印机驱动PCL”、“MFP模型A类型2打印机驱动PCL”、以及“MFP模型A类型3打印机驱动PCL”返回到安装程序管理器1111,作为可安装计算机程序的信息。
另外,例如,如果程序信息(i)的项目“安装程序”具有值“scanner_driver_installer”,那么安装程序管理器1111将程序信息的项目“id”、“名称”、“版本”、“日期”、“大小”、“安装程序”以及“download_url”的信息传送到SD安装程序1114,并且请求来自SD安装程序1114的可安装计算机程序列表(步骤S219)。如果程序信息(i)包括项目“metadata_url”的描述,那么安装程序管理器1111也将步骤S213和步骤S214中获取到的元数据传递到SD安装程序1114。
SD安装程序1114基于传递到的信息,将可安装计算机程序列表返回到安装程序管理器1111(步骤S220)。当已经接收到元数据时,SD安装程序1114获取元数据中所描述的子型号识别信息,并且将获取到的子型号识别信息返回到安装程序管理器1111,作为关于可安装计算机程序的信息。
更具体地,在图14所示的示例中,行号“22”到“30”的各行上所写的程序信息的项目“安装程序”具有值“scanner_driver_installer”,指示SD安装程序1114是与程序信息对应的安装程序。安装程序管理器1111基于项目“安装程序”的值,将程序信息的每个项目的值传递到SD安装程序1114。
在该示例中,程序信息(3)不包括“metadata_url”,因此,SD安装程序1114将程序信息(3)的项目“名称”的值“MFP模型A扫描仪驱动”传递到安装程序管理器1111,作为可安装计算机程序的信息。
安装程序管理器1111针对程序信息列表中所包括的所有程序信息(i),执行步骤S213到步骤S220的上述处理。具体地,根据图10所示的流程图中的步骤S102到步骤S110的处理,基于程序信息(i)的描述来选择地执行步骤S213与步骤S214、步骤S215与步骤S216、步骤S217与步骤S218、以及步骤S219与步骤S220中的每对步骤的处理。
如果程序信息(i)的项目“安装程序”具有值“installer_manager”,那么程序信息(i)是关于诸如AP安装程序1112、PD安装程序1113、以及SD安装程序1114的安装程序。在此情况下,安装程序管理器1111根据图10所示的流程图中的步骤S106和步骤S107的处理,执行更新安装程序的处理。
例如,在图14中所示的行号“59”到“67”的行所写的程序信息(i)中,项目“安装程序”具有值“installer_manager”,指示程序信息(7)与安装程序对应。基于例如项目“id”和项目“名称”的值能够确定程序信息(7)与AP安装程序1112、PD安装程序1113、以及SD安装程序1114中的哪一个对应。在图14所示的示例中,在程序信息(7)中,项目“id”和项目“名称”具有值“printer_driver_installer”和“Printer Driver Installer”,指示程序信息(7)与PD安装程序1113对应。
如果基于项目“id”、“名称”的值和程序信息(7)的“名称”确定程序信息(7)与PD安装程序1113对应,那么安装程序管理器1111基于程序信息(7)确定是否更新PD安装程序1113(步骤S222)。例如,安装程序1111通过随后将要描述的方法,比较已经安装在客户端PC10上的PD安装程序1113的版本信息与程序信息(7)的项目“版本”的值所指示的版本信息。作为比较的结果,如果程序信息(7)的项目“版本”的值所指示的版本信息指示的版本相比已安装的PD安装程序的版本信息更新,那么安装程序管理器1111执行PD安装程序1113的更新。
在此情况下,安装管理器1111根据程序信息(7)的项目“download_url”的值“https://example.com/printer_driver_installer/object.zip”,从静态服务器41请求用于更新PD安装程序1113的程序对象(步骤S223)。静态服务器41响应于该请求,将用于更新PD安装程序1113的程序对象返回到安装程序管理器1111(步骤S224)。
已经获取到用于更新PD安装程序1113的程序对象,安装程序管理器1111停止PD安装程序1113在客户端PC 10上的操作(步骤S225)。然后,安装程序管理器1111利用在步骤S224获取到的程序对象来执行安装处理,并且更新PD安装程序(步骤S226)。在该示例中,安装程序管理器1111利用程序对象生成新的PD安装程序1113,并且利用所生成的PD安装程序1113重写已安装的PD安装程序1113,从而执行PD安装程序1113的更新。
当完成PD安装程序1113的更新时,安装程序管理器1111激活已更新的PD安装程序1113(步骤S227)。
上述步骤S222到步骤S227的安装程序更新处理是通过对于用户不可见的方式来执行的。安装程序更新处理能够与步骤S213到步骤S220的获取可安装计算机程序列表的处理并行执行。
如果确定针对程序信息列表中所包括的所有程序信息(i)已经结束步骤S213到步骤S220的处理,那么安装程序管理器1111从步骤S216、S218和S220所获取的可安装计算机程序列表,删除不需要更新的计算机程序,换言之,不需要执行安装的计算机程序(参考图10中所示的步骤S111)。
安装程序管理器1111从程序信息列表,获取可安装计算机程序列表中所包括的每个计算机程序的版本信息和信息。安装程序管理器1111也获取通过AP安装程序1112、PD安装程序1113和SD安装程序1114已经安装在客户端PC 10上的计算机程序的信息和版本信息。计算机程序的信息可以是程序信息列表中的项目“名称”的信息。已安装计算机程序的版本信息和项目“名称”的信息存储在预定存储区域,诸如OS 110所管理的区域或者通过安装程序111所管理的存储区域。
在程序信息(i)中元数据所参考的子型号的项目“model_names”的信息能够用作计算机程序的识别信息。
安装程序管理器1111比较项目“名称”的信息相互对应的已安装计算机程序的版本信息与可安装计算机程序列表中所包括的计算机程序的版本信息。作为比较的结果,安装程序管理器1111确定,在可安装计算机程序列表中所包括的计算机程序之中,版本比对应的已安装计算机程序的版本更旧或者相同的计算机程序是不需要更新的计算机程序。安装程序管理器111从可安装计算机程序类别删除不需要更新的该计算机程序的信息。
安装程序管理器111在可安装计算机程序列表上保留,在可安装计算机程序列表中所包括的计算机程序之中,仍然待安装在客户端PC 10上的任何计算机程序。
下面参考图17更详细地描述根据第一实施例的通过安装程序管理器111确定待安装的计算机程序的方法。如图17所示例性示出,安装程序管理器111比较计算机程序的已安装版本与最新版本,从而确定每个计算机程序的安装是可能的还是不必要。
在图17中,项目“计算机程序”指示图14所示的程序信息列表中所包括的每个程序信息,以及通过程序信息中所包括的元数据所参考的子型号识别信息。项目“已安装版本”指示已经安装在客户端PC 10上的对应计算机程序的版本信息。项目“最新版本”指示从动态服务器40获取到的程序信息中所包括的版本信息。项目“确定结果”指示通过安装程序管理器1111对于计算机程序的更新(安装)是可能的(是)还是不必要的(否)的确定结果。
通过安装程序管理器1111将项目“已安装版本”的值与计算机程序的识别信息相关联地存储在安装程序管理器1111所管理的存储区域或者OS 110的管理区域,例如,当在安装程序管理器1111的控制下将计算机程序安装在客户端PC 10上时。
在图17中,第一行到第三行每行指示,通过参考图14中的程序信息(1)中所描述的元数据所获取的三个子型号识别信息中对应的一个的最新版本和已安装版本的版本信息。这三个子型号识别信息中的每一个的最新版本的版本信息与对应于程序信息(1)的程序对象的版本信息具有相同的值“1.2.0.0”。只将版本信息的值为“1.1.0.0”的驱动程序安装在客户端PC 10上,该驱动程序与三个子型号识别信息之中的第二子型号识别信息对应。
没有与第一子型号识别信息和第三子型号识别信息对应的驱动程序安装在客户端PC 10上。与三个子型号识别信息之中的第二子型号识别信息对应的已安装驱动程序的安装版本的值“1.1.0.0”指示的版本比新版本的值“1.2.0.0”较旧。因此,安装程序管理器1111确定可以更新或者安装这三个子型号识别信息的每一个的驱动程序。
在图17中,第四到第六行分别指示针对图14中的程序信息(3)到程序信息(5)的已安装版本信息和最新版本信息。在该示例中,与程序信息(3)到程序信息(5)对应的驱动程序已经被安装在客户端PC 10上,而已安装驱动程序的安装版本分别为值“1.0.0.0”、“1.0.0.0”和“2.1.0.0”。程序信息(3)到程序信息(5)中所描述的驱动程序的最新版本分别为值“1.0.0.0”、“1.0.0.0”和“2.1.0.0”,与当前的版本信息匹配。因此,安装程序管理器1111确定不需要将与程序信息(3)到程序信息(5)对应的驱动程序安装在客户端PC 10上。
在图17中,第七行到第八行分别指示图14中的程序信息(6)和程序信息(7)的已安装版本信息和最新版本信息的信息。在该示例中,在客户端PC10上未安装与程序信息(6)对应的计算机程序(应用程序)。与程序信息(7)对应的计算机程序(PD安装程序1113)的最新版本的值为“2.0.0.0”,而已经安装在客户端PC 10上的计算机程序的安装版本的值为“1.0.0.0”,因此比最新版本旧。因此,安装程序管理器1111确定能够将与程序信息(6)和(7)对应的计算机程序安装在客户端PC 10上。
在图11中,安装程序管理器1111向UI单元1110传递可安装计算机程序列表的信息,并且命令UI单元1110显示该可安装计算机程序列表,其中将不需要更新或安装的任何计算机程序的信息从该可安装计算机程序列表删除(步骤S221)。响应于该指令,UI单元1110基于从安装程序管理器1111所传递的信息,产生可安装计算机程序列表显示屏幕,并且将该屏幕传递给显示单元101。
图18示出根据第一实施例的示例可安装计算机程序列表显示屏幕。在图18中,显示区域211和按钮216布置在列表显示屏幕210上。显示区域211包括列表显示部212、当前版本显示部213、新版本显示部214和选择输入部215。
列表显示部212显示在步骤S221中从安装程序管理器1111所传递的可安装计算机程序列表中所包括的计算机程序的列表。当前版本显示部213和新版本显示部214分别显示列表显示部212中所显示的任何计算机程序的已安装版本和最新版本。对于列表显示部212中所显示的计算机程序之中未安装在客户端PC 10上的任何计算机程序,当前版本显示部213优选地显示指示未安装状态的信息,如图18中示例性示出。选择输入部215选择列表显示部212中所显示的计算机程序。在该示例中,在选择输入部215中提供复选框。当进行操作时,按钮216将选择输入固定在选择输入部215上。
在图18所示的示例中,列表显示部212显示具有上述图17中确定结果为“是”的任何计算机程序的列表。如上所述,步骤S222到步骤S227的安装程序更新处理是通过对于用户不可见的方式来执行的。因此,当可以安装诸如AP安装程序1112、PD安装程序1113以及SD安装程序1114的安装程序时,在列表显示部212中不显示关于这些安装程序的信息。
在图11中,响应于列表显示屏幕210通过用户操作来选择待安装的计算机程序,并且命令UI单元1110来执行所选择的计算机程序的安装(步骤S228)。响应于该指令,UI单元1110将指示所选择的计算机程序的信息传递到安装程序管理器1111,并且命令安装程序管理器1111执行所选择的计算机程序的安装(步骤S229)。
响应于该指令,安装程序管理器1111参考针对每个所选择的计算机程序的程序信息(i),根据安装目标的程序信息(i)中的项目“download_url”的值,请求来自静态服务器41的程序对象(步骤S230)。静态服务器41响应于该请求,将程序对象发送到安装程序管理器1111(步骤S231)。
安装程序管理器1111针对从静态服务器41所发送的程序对象,使得AP安装程序1112、PD安装程序1113和SD安装程序1114之中,与安装目标的程序信息(i)的项目“安装程序”的值对应的安装程序来执行安装处理。
例如,当安装目标的程序信息(i)中项目“安装程序”的值是指示AP安装程序1112的值“application_installer”时,安装程序管理器1111命令AP安装程序1112利用从静态服务器41获取到的程序对象来执行安装处理(步骤S232)。响应于该指令,AP安装程序1112参考程序信息(i)的每个项目的值,以利用程序对象来执行安装处理(步骤S233)。当OS 110是Windows(注册商标)时,该安装处理包括注册表的初始设置。
当安装目标的程序信息(i)包括图16中所示的元数据时,AP安装程序1112根据元数据中所描述的信息也执行将初始设置写入OS 110的管理区域的处理。当完成安装处理时,AP安装程序1112通知安装程序管理器1111处理完成(S234)。
例如,当安装目标的程序信息(i)中项目“安装程序”的值是指示PD安装程序1113的值“printer_driver_installer”时,安装程序管理器1111命令PD安装程序1113利用从静态服务器41获取到的程序对象来执行安装处理(步骤S235)。响应于该指令,PD安装程序1113参考程序信息(i)的每个项目的值,利用程序对象来执行安装处理。当安装处理完成时,PD安装程序1113通知安装程序管理器1111完成(S236)。
相似地,当安装目标的程序信息(i)中项目“安装程序”的值是指示SD安装程序1114的值“scanner_driver_installer”时,安装程序管理器1111命令SD安装程序1114利用从静态服务器41获取到的程序对象来执行安装处理(步骤S237)。响应于该指令,SD安装程序1114参考程序信息(i)的每个项目的值以利用程序对象来执行安装处理。当安装处理完成时,SD安装程序1114通知安装程序管理器1111完成(S238)。
已经获取到在步骤S229所命令的针对所有计算机程序的安装的完成通知,安装程序管理器1111通知UI单元1110安装处理的完成(步骤S240)。响应于该通知,UI单元1110生成指示安装处理完成的完成通知屏幕,并且将该屏幕传递给显示单元101。
图19示出根据第一实施例的示例完成通知屏幕。在图19中,显示区域221和按钮224布置在完成通知屏幕220上。显示区域211包括列表显示部222和版本显示部223。
列表显示部222显示上述步骤S234、S236和S238所获取到的安装处理的完成通知所针对的任何计算机程序的列表。当执行更新诸如AP安装程序1112、PD安装程序1113和SD安装程序1114的安装程序的处理时,在列表显示部222中不显示关于所更新的安装程序的信息。版本显示部223显示列表显示部222中所显示的每个计算机程序的版本信息。当进行处理时,按钮224结束系列的安装处理。
第二实施例
下面描述第二实施例。在上述第一实施例中,安装或者更新是在安装程序111已经兼容的一种计算机程序上执行的。但是在第二实施例中,安装能够在安装程序111不兼容的一种计算机程序上执行。
上述在第一实施例中参考例如图1至图6所描述的信息处理系统、客户端PC 10和安装程序111的配置适用于第二实施例,因此下面将省略对它们的描述。在下面,适当地,“安装程序111不兼容的种类的计算机程序”被称之为“新种类计算机程序”,并且用于安装这种新种类计算机程序的安装程序被称之为“新种类安装程序”。
图20是根据第二实施例的安装处理的示例流程图。图20中所示流程图的每个处理是通过安装程序111来执行的。在图20中,通过相同的附图标记来表示与上述图10所示流程图中的相同处理,将省略它们的详细描述。具体地,图20中所示的流程图除了图10中所示的流程图以外,还包括步骤S1200到步骤S1203的处理。
与图10中所示的流程图相似,在步骤S100安装程序111从动态服务器40获取程序信息列表。然后,安装程序管理器111针对程序信息列表中所包括的每个程序信息(i),执行步骤S102到步骤S110的处理。
在步骤S105中,安装程序管理器111确定安装信息(i)所指示的计算机程序是否是安装程序。如果确定程序信息(i)所指示的计算机程序不是安装程序,那么安装程序111通过与上面相似的方式将过程进行到步骤S109。
在步骤S109中,安装程序111将程序信息(i)传递给程序信息(i)所指示的安装程序,并且获取可安装计算机程序的信息。如果根据程序信息(i)的计算机程序是新种类计算机程序,那么安装程序111不包括用于安装该新种类的计算机程序的新种类安装程序。在此情况下,安装程序111提取例如程序信息(i)中所包括的显示名称(项目“名称”的值),并且获取该显示名称作为可安装计算机程序的信息。
如果确定程序信息(i)所指示的计算机程序是安装程序,那么安装程序111将过程进行到步骤S1200。在步骤S1200中,安装程序111确定程序信息(i)所指示的安装程序是否是已经安装在客户端PC 10上的安装程序。
例如,安装程序111参考程序信息(i)中的项目“安装程序”的值,并且确定该值是否与安装程序111中已经包括的任何安装程序对应。如果项目“安装程序”的值与安装程序111中已经包括的任何安装程序对应,那么安装程序111确定程序信息(i)所指示的安装程序111是已经安装在客户端PC 10上的安装程序。
如果确定程序信息(i)所指示的安装程序是已安装的安装程序,那么安装程序111将过程进行到步骤S106,从而获取程序信息(i)所指示的安装程序,并且利用在步骤S107获取到的安装程序来更新已安装的安装程序。然后,安装程序111将过程进行到步骤S108。
如果确定程序信息(i)所指示的安装程序是未安装的安装程序,换言之,新种类的安装程序,那么安装程序111将过程进行到步骤S108。具体地,安装程序111在此阶段不执行新种类安装程序的获取和安装。
安装程序管理器111针对程序信息列表中所包括的所有程序信息(i),执行步骤S102到步骤S110的处理,然后将过程进行到步骤S111。在步骤S111中,通过与上面相似的方式,安装程序111从将要呈现给用户的可安装计算机程序列表删除不需要更新的计算机程序。在随后的步骤S112中,安装程序111向用户呈现从中删除不需要更新的计算机程序的可安装计算机程序列表。安装程序111使得显示单元101显示,例如图18中所示的列表显示屏幕,以便向用户呈现可安装计算机程序列表。该可安装计算机程序列表可以包括新种类计算机程序的信息。
在随后的步骤S1201中,安装程序111确定待安装的计算机程序是否由用户从呈现出的可安装计算机程序列表选择出的。例如,当在列表显示屏幕210中操作用于命令安装的按钮216时,安装程序111确定该选择由用户来执行的。当已经确定不存在由用户来执行的选择时,安装程序111将过程返回到步骤S1201。
如果确定用户已经选择待安装的计算机程序,那么安装程序111将过程进行到步骤S1202。在步骤S1202中,安装程序111确定用户所选择的计算机程序的安装是否需要新种类的安装程序。如果确定不需要新种类的安装程序,那么安装程序111将过程进行到步骤S113。
例如,安装程序111获取与每个所选择的计算机程序对应的程序信息的项目“安装程序”的值。安装程序111确定所获取的值指示安装程序111中所包括的安装程序1112、1113和1114中的哪一个。因此,如果确定获取到的值对于安装程序1112、1113和1114都不指示,安装程序111确定与该程序信息对应的计算机程序是新种类的计算机程序,并且需要新种类的安装程序以安装该计算机程序。
如果在步骤S1202中确定需要新种类的安装程序,那么安装程序111将过程进行到步骤S1203。在步骤S1203,安装程序111获取新种类的安装程序,并且执行获取到的安装程序的安装。
安装程序111通过例如下面所述的方法来获取新种类的安装程序。安装程序111从程序信息列表所包括的各个程序信息之中,选择项目“安装程序”的值为“installer_manager”的第一程序信息,并且从所选择的第一程序信息获取项目“id”的值。如果获取到的项目“id”的值与第二程序信息的项目“安装程序”的值对应,其中的第二程序信息与新种类计算机程序对应,那么安装程序111确定第一程序信息与新种类安装程序对应,该新种类安装程序用于安装与第二程序信息对应的新种类计算机程序。然后,安装程序111根据第一程序信息的描述来获取新种类的安装程序,并且将获取到的新种类安装程序安装在客户端PC 10上。
在步骤S113中,安装程序111将用户所选择的任何计算机程序安装在客户端PC 10上。在此情况下,已经安装新种类的安装程序,因此可以执行新种类计算机程序的安装处理。当完成所有所选择的计算机程序的安装时,安装程序111结束图20中所示流程图的系列处理。
下面利用更详细的示例来描述根据第二实施例的安装处理。如上所述,安装程序111最初包括分别用于安装应用程序、打印机驱动程序和扫描仪驱动程序的安装程序1112、1113和1114。
图21用于描述第二实施例的处理,示出包括新种类计算机程序的程序信息和新种类安装程序的程序信息的示例程序信息列表。在图21所示的示例中,在程序信息列表中括号“{”与“}”之间,在行号“2”到“10”的行上描述程序信息(1),而在行号“11”到“19”的各行上描述程序信息(2)。
在图21中,在与端口监视器程序(此后称之为端口监视器)相关的程序信息(1)中,项目“id”的值为“portmonitor_filter_a”,指示计算机程序的种类,而项目“名称”的值为“PortMonitor Filter A”。项目“安装程序”的值为“portmonitor_installer”,指示端口监视器安装程序(此后称之为PM安装程序)用于安装与程序信息(1)对应的计算机程序。
在图21中,在程序信息(2)中,项目“安装程序”的值为“installer_manager”,指示用于安装计算机程序的安装程序。在程序信息(2)中,项目“id”的值为“portmonitor_installer”,指示与端口监视器的安装兼容的PM安装程序。
PM安装程序是最初未安装在安装程序111中的新种类的安装程序。与程序信息(1)对应且通过作为新种类安装程序的PM安装程序所安装的端口监视器是新种类计算机程序。
在步骤S100,安装程序111获取图21中示例性示出的程序信息列表。在此情况下,在图20所示的流程图中,安装程序111在步骤S105中确定程序信息(1)所指示的计算机程序不是安装程序,并且在步骤S109中获取程序信息(1)中的可安装计算机程序的信息。
在该示例中,程序信息(1)不包括元数据,因此安装程序111获取程序信息(1)中所包括的显示名称,就是项目“名称”的值为“PortMonitor Filter A”,作为可安装计算机程序的信息。然后,在步骤S110中,安装程序111将步骤S109中获取到的计算机程序的信息注册到将要呈现给用户的可安装计算机程序列表。
但是对于程序信息(2),在图20所示的步骤S105中,安装程序111确定程序信息(2)所指示的计算机程序是安装程序。然后,安装程序111将过程进行到步骤S1200,从而确定程序信息(2)所指示的安装程序是否已经安装在安装程序111上。在图21所示的示例中,程序信息(2)所指示的安装程序是PM安装程序。因此,安装程序111确定程序信息(2)所指示的安装程序未安装在安装程序111上,并且跳过图20所示的步骤S106和S107的处理,将过程进行到步骤S108。
如果针对程序信息列表中所包括的所有程序信息(i)已经结束处理,那么安装程序管理器111将过程进行到步骤S111。在步骤S111中,安装程序111从将要呈现给用户的可安装计算机程序列表,删除不需要更新的计算机程序。
具体地,安装程序111针对如图22中示例性示出的程序信息(1)和程序信息(2)中的每一个,比较已安装版本和最新版本。在此情况下,程序信息(1)所指示的新种类计算机程序未安装在客户端PC 10上,因此确定其安装是可能的。相似地,程序信息(2)所指示的新种类计算机程序未安装在客户端PC 111上,因此确定它的安装是可能的。
在随后的步骤S112中,安装程序111使得显示单元101显示可安装计算机程序列表。在该示例中,如图23所示,程序信息(1)的项目“名称”的值“PortMonitor Filter A”作为指示新种类计算机程序的信息,显示在列表显示屏幕210内的列表显示部212中。与程序信息(2)对应的计算机程序是安装程序,因此不显示在列表显示部212中。
当在图23中所示的列表显示屏幕210上查看“PortMonitor Filter A”,其指示作为新种类计算机程序的端口监视器,并且操作按钮216时,该过程进行到步骤S1202。当在上述步骤S1200进行确定时跳过步骤S106和步骤S107,因此,用于安装端口监视器的PM安装程序仍要安装在安装程序111上。因此,安装程序111从静态服务器41获取PM安装程序,并且根据程序信息(2)的描述在步骤S1203安装该PM安装程序,从而包括该PM安装程序。
图24示出作为新种类安装程序的PM安装程序被添加到图6中所示的安装程序111并且根据第二实施例进行安装的示例。在图24中,通过相同的附图标记来表示与上述图6中相同的部分,并将省略它们的详细描述。
在图24中,安装程序111a除了图6中所示的安装程序111的UI单元1110、安装程序管理器1111、AP安装程序1112、PD安装程序1113以及SD安装程序1114之外,还包括包括PM安装程序1115。安装程序111a能够通过额外提供的PM安装程序1115来执行图20所示的步骤S113中将端口监视器安装在客户端PC 10上。
根据第二实施例,当计算机程序的安装需要未安装的安装程序时,安装程序111能够安装未安装的安装程序。利用该配置,能够增加安装程序111所兼容的计算机程序的种类数目,因而扩展安装程序111的功能。
第三实施例
下面描述第三实施例。在上述第一实施例和第二实施例中,只有安装程序管理器1111执行动态服务器40和静态服务器41之间的通信。但是在第三实施例中,每个安装程序(例如,AP安装程序1112、PD安装程序1113以及SD安装程序1114)以及安装程序管理器1111具有如下的功能:用于获取程序信息的程序信息获取单元、用于获取计算机程序的计算机程序获取单元、以及用于控制安装处理的安装控制单元。因此,根据第三实施例的每个安装程序能够执行与动态服务器40和静态服务器41的通信,从而获取例如程序信息、元数据以及程序对象。因此,当额外需要计算机程序来安装目标计算机程序时,每个安装程序能够易于获取该所需计算机程序并且有效地执行安装该安装目标计算机程序的处理。
图25示出根据第三实施例的安装程序的示例性配置。在图25中,与参考图6所描述的根据第一实施例的安装程序111类似,安装程序111b包括UI单元2110、安装程序管理器2111以及各个安装程序。在图25所示的示例中,安装程序包括AP安装程序2112、PD安装程序2113、SD安装程序2114,以及PM安装程序2115。
在下面,除非另外说明,需要安装另外的计算机程序的计算机程序被称为相关计算机程序。安装程序111b中所包括的每个安装程序被称为程序安装程序,以适当地将该安装程序区别于安装程序111b。在图25所示的示例中,AP安装程序2112、PD安装程序2113、SD安装程序2114,以及PM安装程序2115被统称为程序安装程序。
根据第三实施例的安装程序111b中所包括的UI单元2110、安装程序管理器2111以程序安装程序具有部分不同于图6所示的安装程序111中所包括的程序安装程序的功能。
例如,PD安装程序2113在客户端PC 10上执行安装程序兼容的型号的打印机驱动程序(此后称之为打印机驱动)的安装处理。更具体地,PD安装程序2113在客户端PC 10上安装打印机驱动,并且设置所安装的打印机驱动所使用的客户端PC 10的打印端口。PD安装程序2113执行例如逻辑打印队列的生成,以及将所安装的打印机驱动上的信息注册到客户端PC的处理。
SD安装程序2114在客户端PC 10上执行安装程序兼容的型号的扫描仪驱动程序(此后称之为扫描仪驱动)的安装处理。更具体地,SD安装程序2114在客户端PC 10上安装扫描仪驱动,并且设置所安装的扫描仪驱动所使用的客户端PC 10的扫描端口。
PM安装程序2115安装端口监视程序(端口监视器),该端口监视程序用于监视执行安装所在的客户端PC 10的各个端口。需要在客户端PC 10上安装利用端口的相关计算机程序(例如,打印机驱动或扫描仪驱动)之前,预先安装端口监视器。
根据第三实施例的PD安装程序2113、SD安装程序2114和PD安装程序2115执行:在与安装每个驱动或者监控器所在的客户端PC 10相同的段内,发现与网络22所连接的任何外部装置,获取通过发现所检测到的任何外部装置的装置信息、获取客户端PC 10的OS信息、向动态服务器40发出查询,并且向静态服务器41请求获取元数据和程序对象(驱动程序、监控器程序主体)。
AP安装程序2112执行在客户端PC 10上安装的普通应用程序(此后称之为应用)的处理。AP安装程序2112所安装的程序包括上述第一实施例中所描述的投影应用、电子黑板查看应用、图像形成设备操作应用、以及通信设置工具。
上述打印机驱动、扫描仪驱动以及端口监视器各自与普通应用的不同之处在于,根据OS所限定的方法和位置,将打印机驱动、扫描仪驱动以及端口监视器各自安装在客户端PC 10上。例如,可以通过OS所指定的方法将普通应用安装在OS所指定的位置,或者可以通过对于该应用唯一的方法,安装在对于该应用唯一的位置。
根据第三实施例的安装程序111b能够在预先不包括程序安装程序(图25所示示例中的AP安装程序2112、PD安装程序2113、SD安装程序2114,以及PM安装程序2115)的情况下,被安装在客户端PC 10上。图26示出根据第三实施例的不包括程序安装程序的安装程序111b的示例性配置。在图26中,安装程序111b只包括UI单元2110和安装程序管理器2111。
当安装程序管理器2111进行程序安装程序的安装时,在一些情况下,待安装的程序安装程序需要另外的程序安装程序。在第三实施例中,在这样的情况下,待安装的程序安装程序能够获取并且执行其他的程序安装程序。利用这样的配置,减少安装处理对于用户的负担,从而允许进行更灵活的安装处理。
下面描述如下的示例:通过图26中所示的不包括程序安装程序的安装程序111b将与打印设备对应的打印机驱动安装在客户端PC 10上。在此情况下,安装程序管理器2111响应于来自UI单元2110的指令,通过网络30,获取用于在客户端PC 10上安装打印机驱动的PD安装程序2113。安装程序管理器2111也通过网络30获取AP安装程序2112,该AP安装程序2112用于安装与打印机驱动对应的实用程序。
安装程序管理器2111激活获取到的AP安装程序2112,并且将该应用安装在客户端PC 10上。
安装程序管理器2111也激活获取到的PD安装程序2113,并且开始将打印机驱动安装在客户端PC 10上的处理。如上所述,在安装打印机驱动时,需要预先执行该打印机驱动所使用的端口的设置。在第三实施例中,PD安装程序2113通过网络30获取,安装用于监控端口的端口监视器的PM安装程序2115,并且激活该PM安装程序2115从而将端口监视器安装在客户端PC 10上。在完成安装端口监视器的处理之后,PD安装程序2113执行打印机驱动的安装。
图27示出根据第三实施例的在图26所示的状态中在安装程序111b上执行安装打印机驱动的上述处理的示例结果。连同安装打印机驱动,PM安装程序2115与AP安装程序2112、PD安装程序2113一起安装在客户端PC 10上,并且包括在安装程序111b中。
通过该方式,在第三实施例中,在通过PD安装程序2113来安装打印机驱动的处理中,自动安装打印机驱动的任何相关计算机程序。利用该配置,能够更易于执行安装驱动程序的处理,由此当安装多个不同的驱动程序时使得安装处理能够简单执行。
下面参考图28和图29所示的流程图更详细地描述根据第三实施例的安装处理。
首先,将描述图28中所示的流程图的处理。图28示出通过安装程序管理器2111进行程序安装程序(例如,AP安装程序2112、PD安装程序2113、SD安装程序2114,以及PM安装程序2115中的一个或多个安装程序)的安装的示例处理。图28所示的流程图中的每个处理时通过安装程序111b来执行的,更具体地,通过安装程序111b中所包括的UI单元2110和安装程序管理器2111来执行。
在步骤S300中,安装程序管理器2111执行通过网络22的针对外部装置的搜索以及对于动态服务器40的查询,并且获取指示可安装在客户端PC 10上的任何计算机程序的程序信息列表。
在安装程序111b中,安装程序管理器2111将变量i初始化为值“0”(步骤S301)。值j代表在步骤S300中获取到的安装程序信息的总数量。
针对在步骤S300获取到的各个程序信息来执行步骤S302到步骤S305的随后处理。下面,第i安装程序信息被称为安装程序信息(i)。
安装程序管理器2111在步骤S302中将变量i增加1,并且在步骤S303中确定安装程序信息(i)是否包括元数据(元信息)。如果确定安装程序信息(i)不包括元数据,那么安装程序管理器2111将过程进行到步骤S305。如果确定安装程序信息(i)包括元数据,那么安装程序管理器2111将过程进行到步骤S304,从而基于该安装程序信息(i)的描述,从静态服务器41获取元数据。已经获取到元数据,安装程序管理器2111将过程进行到步骤S305。
在步骤S305中,安装程序管理器2111确定变量i是否与作为安装程序信息总量的值j匹配。如果变量i与值j匹配,那么安装程序管理器2111确定针对在步骤S300中获取到的所有安装程序信息已经结束处理。如果确定变量i与值j不匹配,那么安装程序管理器2111将过程返回到步骤S302,从而将变量i增加1,并且对于接下来的程序信息(i)执行处理。
在步骤S306中,安装程序管理器2111使得显示单元101通过UI单元2110显示安装程序信息列表,从而向用户呈现该安装程序信息列表。用户可以从安装程序信息列表,选择将要安装在客户端PC 10上的一个或多个程序安装程序。
在随后的步骤S307中,安装程序管理器2111等待由用户在呈现给用户的安装程序信息列表上的选择输入。如果因为没有从UI单元2110接收到通知,确定没有由用户执行的选择输入,那么安装程序管理器2111将过程返回到步骤S307。如果基于从UI单元2110接收到的通知,确定选择输入是由用户来执行,那么安装程序管理器2111将过程进行到步骤S308。
安装程序管理器2111将变量k初始化为值“0”(步骤S308)。在步骤S307中用户所选择的安装程序信息的总数量由值1来表示。安装程序管理器2111通过从UI单元2110所输入的用户选择的通知,接收所选择的安装程序信息的总数量的值1。
针对在步骤S307中通过UI单元2110给出其通知的所有安装程序信息,执行步骤S309到步骤S312的随后处理。
安装程序管理器2111在步骤S309将变量k增加1,并且基于第k安装程序信息的描述,从静态服务器41获取与第k安装程序信息对应的安装程序的程序对象(k)。在随后的步骤S311中,安装程序管理器2111在客户端PC 10上安装作为步骤S310中所获取的程序对象(k)的安装程序。
在随后的步骤S312中,安装程序管理器2111确定变量k是否与安装程序信息的总数量的值1匹配。如果确定变量k与值1不匹配,那么安装程序管理器2111将过程返回到步骤S309。如果确定变量k与值1匹配,那么安装程序管理器2111确定针对在步骤S307中通过UI单元2110给出其通知的所有的安装程序信息,已经结束处理,并且结束图28所示的流程图的系列处理。
下面描述图29中所示的流程图的处理。图29示出通过每个安装程序安装相关计算机程序的示例处理。图29中所示的流程图的处理开始于,通过上述图28所示的流程图的处理,在客户端PC 10上所安装的安装程序之中,用于安装驱动程序的一个程序安装程序被激活的时候。在图25所示的示例中,图29中所示的流程图的处理开始于,例如当激活PD安装程序2113和SD安装程序2114中的任何一个被激活时。在下面,已激活的程序安装程序称为目标程序安装程序。
在步骤S320中,目标程序安装程序通过网络22执行对于任何外部装置的搜索,以及对于动态服务器40的查询,并且获取驱动信息作为与目标程序安装程序对应的驱动程序的信息。当目标程序安装程序与多个驱动程序兼容时,目标程序安装程序获取驱动程序列表。在随后的步骤S321中,当在步骤S320获取到的驱动信息列表中所包括的驱动信息包括元数据时,目标程序安装程序从静态服务器41获取元数据。
在随后的步骤S322中,目标程序安装程序使得显示单元101通过UI单元2110显示在步骤S320获取到的驱动信息列表,从而向用户呈现该列表。用户可以从驱动信息列表选择将要安装在客户端PC 10上的一个或多个驱动程序。
在随后的步骤S323中,目标程序安装程序等待由用户在呈现给用户的驱动信息列表上的选择输入。如果因为没有从UI单元2110接收到通知而确定没有通过用户执行的选择输入,那么目标程序安装程序将过程返回到步骤S323。如果基于来自UI单元2110的通知而确定选择输入是通过用户来执行的,那么目标程序安装程序将过程进行到步骤S324。
目标程序安装程序将变量m初始化为值“0”(步骤S324)。步骤323中由用户选择的驱动信息(驱动程序)的总数量表示为值n。目标程序安装程序通过来自UI单元2110的用户选择输入的通知,接收所选择的驱动信息的总数量的值n。
在随后的步骤S325中,目标程序安装程序基于在步骤S323所选择的驱动信息,确定目标程序安装程序是否需要进行更新。例如,目标程序安装程序比较目标程序安装程序的安装程序信息中所包括的版本信息,与所选择的驱动信息中所包括的版本信息,从而确定目标程序安装程序是否需要更新。如果确定目标程序安装程序需要更新,那么目标程序安装程序将过程进行到步骤S329。
如果在步骤S325确定目标程序安装程序需要更新,那么目标程序安装程序命令安装程序管理器2111更新目标程序安装程序。过程进行到步骤S326,并且安装程序管理器2111从动态服务器40获取关于该目标程序安装程序的更新程序的信息。如果该更新程序信息包括元数据,那么安装程序管理器2111从静态服务器41获取元数据(步骤S327)。
在随后的步骤S328中,安装程序管理器2111停止目标程序安装程序的当前操作,执行目标程序安装程序的更新,并且将已更新的目标程序安装程序安装在客户端PC 10上。
例如,安装程序管理器2111基于步骤S326和步骤S327所获取到的更新程序信息和元数据,从静态服务器41获取更新程序的程序对象。在已经停止目标程序安装程序的当前操作之后,安装程序管理器2111将程序安装程序作为所获取的更新程序的程序对象,安装在客户端PC 10上,从而获取已更新的目标程序安装程序。
当完成更新目标程序安装程序的处理时,安装程序管理器2111激活新的目标程序安装程序。
针对在步骤S323中通过UI单元2110给出其通知的各个安装程序信息,执行步骤S329到步骤S341的随后处理。
在步骤S329,目标程序安装程序将变量m增加1,并且在随后的步骤S330中确定驱动信息的驱动程序是否需要相关的计算机程序。如果确定需要相关的计算机程序,那么目标程序安装程序将过程进行到步骤S339。
如果在步骤S330中确定驱动信息(m)的驱动程序需要相关的计算机程序,那么目标程序安装程序将过程进行到步骤S331,从而确定该相关的计算机程序是否已经安装在客户端程序PC 10上。如果确定已经安装相关的计算机程序,那么目标程序安装程序将过程进行到步骤S339。如果确定仍要安装相关的计算机程序,那么目标程序安装程序将过程进行到步骤S332。
在步骤S332中,目标程序安装程序确定用于安装相关计算机程序的安装程序的程序(称之为相关的程序安装程序)是否已经安装在客户端PC 10上。如果确定已经安装相关的程序安装程序,那么目标程序安装程序将过程进行到步骤S335。如果确定仍然要安装相关的程序安装程序,那么目标程序安装程序将过程进行到步骤S333。
在步骤S333,目标程序安装程序从例如静态服务器41获取相关程序安装程序。例如,目标程序安装程序执行对于动态服务器40的查询,从而获取关于相关程序安装程序的信息列表,并且基于该获取到的相关程序安装程序信息,从静态服务器41获取元数据。然后,目标程序安装程序基于获取到的相关程序安装程序信息和元数据,从静态服务器41获取相关程序安装程序的程序对象。
在随后的步骤S334中,目标程序安装程序通过在步骤S333中获取到的相关程序安装程序的程序对象,将相关程序的安装程序安装在客户端PC 10上。当完成安装时,目标程序安装程序激活相关程序安装程序。
已激活的相关程序安装程序在随后的步骤S335中执行对于动态服务器40的查询,从而获取相关计算机程序的程序信息。如果基于相关计算机程序的程序信息确定相关计算机程序包括元数据,那么相关程序安装程序从静态服务器41获取元数据(步骤S336)。
在随后的步骤S337中,相关程序安装程序基于相关计算机程序的已获取的程序信息和元数据,从静态服务器41获取相关计算机程序的程序对象。然后,在随后的步骤S338中,相关程序安装程序通过获取到的相关程序安装程序的程序对象,将相关计算机程序安装在客户端PC 10上。
在随后的步骤S339中,目标程序安装程序从静态服务器41获取驱动信息(m)的驱动程序的程序对象。然后,在随后的步骤S340,目标程序安装程序通过在步骤S339获取到的程序对象,将驱动信息(m)的驱动程序安装在客户端PC 10上。
在随后的步骤S341中,目标程序安装程序确定变量m是否与用户所选择的驱动信息的总数量的值n匹配。如果确定变量m与值n不匹配,那么目标程序安装程序将过程返回到步骤S329。如果确定变量m与值n匹配,那么目标程序安装程序确定,针对在步骤S323中通过UI单元2110给出其通知的所有安装程序信息,已经结束处理,并且结束图29所示的流程图的系列处理。
图30A和30B各自是表示根据第三实施例的安装处理中的整个信息处理系统的示例处理的时序图。在图30A和图30B中,通过相同的附图标记来表示与上述图1、图5和图25中相同的部件,并将省略它们的详细描述。在图30A和图30B中的附图标记“A”到“I”指示在图30A和图30B中对应的附图标记之间进行的过程。
下面描述打印机驱动新安装在客户端PC 10上的示例。在该示例中,用于安装该打印机驱动的PD安装程序2113仍要安装在客户端PC 10上。需要端口监视器以安装该打印机驱动,但是端口监视器和用于安装该端口监视器的PM安装程序2115未安装在客户端PC 10上。
例如,通过在客户端PC 10上的用户操作来命令安装程序111b的激活。安装程序111b的UI单元2110被通知该激活指令(步骤S400)。UI单元2110命令安装程序管理器2111,在与客户端PC 10相同的网段中,执行与网络22连接的外部装置的发现(步骤S401)。响应于该指令,在步骤S402,安装程序管理器2111在网络30上执行外部装置搜索操作(发现)。
已经接收到外部装置搜索的结果检测(步骤403),安装程序管理器2111从检测到的外部装置(成像装置201、202、...)请求型号规格信息(步骤S404)。安装程序管理器2111响应于该请求,接收从每个外部装置所发送的型号规格信息(步骤S405)。安装程序管理器2111基于接收到的每个外部装置的型号规格信息,命令UI单元2110显示用于选择外部装置的装置列表(步骤S406)。响应于该指令,UI单元2110生成例如如上所述的装置列表显示屏幕,并且将该屏幕传递给显示单元101。装置列表显示屏幕可以是图12中所示的装置列表显示屏幕200。
当响应于装置列表显示屏幕200,通过用户操作来选择型号规格信息时(步骤S407),UI单元2110命令安装程序管理器2111获取与所选择的型号规格信息对应的安装程序信息(步骤S408)。安装程序管理器2111根据该指令,请求获取来自OS 110的OS信息(步骤S409)。OS 110响应于该请求,返回OS信息(步骤S410)。
随后,在步骤S411中,安装程序管理器2111基于步骤S404和步骤S405中获取到的型号规格信息和步骤S409和S410中获取到的OS信息,生成获取安装程序信息列表的查询,并且将该查询发送到动态服务器40(发送单元,第一处理单元)。在步骤S412,动态服务器40根据该查询来搜索数据库,并将通过搜索获取到的安装程序信息列表返回到安装程序管理器2111(第一指定单元)。
图31示出适用于第三实施例的在步骤S411中通过安装程序管理器2111生成并且发送到动态服务器40的示例查询。在图31所示的查询中,第三行到第十行与图13所示查询的第二行到第九行相同,描述装置规格信息“MFP模型A”和OS信息。图31所示的查询除了图13所示查询之外,还包括第二行的项目“安装程序”,并且项目“安装程序”的值为值“installer_manager”,指示安装程序管理器2111。项目“安装程序”的该描述允许动态服务器40选择并且获取程序安装程序,其中安装程序管理器2111被指定为安装程序。
与第一实施例相似,动态服务器40根据该查询,搜索参考图8所描述的数据库,并且提取与查询中所描述的每个信息匹配的记录。当根据查询提取出多个记录时,动态服务器40将每个提取记录的各个项目的信息发送到安装程序管理器2111,作为针对该记录的程序信息列表(第一提供单元)。
图32示出根据第三实施例的从动态服务器40发送的示例安装程序信息列表。如图32所示,与图14所示的程序信息相似,安装程序信息列表在行号“1”到“38”的各行上最外侧的括号“[”和“]”内的每对括号“{”与“}”之间描述一个安装程序信息。在图32所示的示例中,描述安装程序信息(1)到安装程序信息(4)的四个安装程序信息。
在图32所示的示例中,每个安装程序信息具有通过从图14中所示的对应程序信息省略项目“metadata_url”所获得的配置。可替换地,与图14相似,项目“metadata_url”可以添加到图32所示的安装程序信息。
另外,在图32所示的示例中,每个安装信息的第一行(第三行、第十二行、第二十一行和第三十行)的项目“id”指示计算机程序的种类,并且具有指示在此示例中的程序安装程序的值。例如,在图32中,在第一安装程序信息(1)中,项目“id”具有值“printer_driver_installer”(参考第三行),指示该安装程序信息是PD安装程序2113的安装程序信息。在第二安装程序信息(2)中,项目“id”具有值“portmonitor_installer”(参考第十二行),指示该安装程序信息是PM安装程序2115的安装程序信息。
相似地,第三安装程序信息(3)和第四安装程序信息(4)指示安装程序信息分别是AP安装程序2112和SD安装程序2114(第二十一行和第三十行)。
在安装程序信息(1)到安装程序信息(4)的每个安装程序信息中,项目“安装程序”具有值“installer_manager”,指示安装程序信息(1)到安装程序信息(4)中所描述的程序安装程序被安装在安装程序管理器2111上。
在步骤S413中,安装程序管理器2111基于上述列表在步骤S412所获取到的安装程序信息,从静态服务器41请求元数据。静态服务器41响应于该请求,将元数据发送到安装管理器2111(步骤S414)。在图32所示的示例中,安装程序信息类别不包括指示相关元信息的信息,因此安装程序管理器2111不请求元数据。
安装程序管理器2111基于在步骤S412获取到的安装程序信息列表和在步骤S414获取到的元数据,命令UI单元2110显示可安装程序安装程序列表(步骤S415)。响应于该指令,UI单元2110基于从安装程序管理器2111所传递的信息,生成可安装程序的安装程序列表显示屏幕,并且将该屏幕传递给显示单元101。
图33示出根据第三实施例的示例性可安装程序的安装程序列表显示屏幕。在图33中,显示区域2211和按钮2216布置在列表显示屏幕2210上。显示区域2211包括列表显示部2212、当前版本显示部2213、新版本显示部2214和选择输入部2215。
列表显示部2212显示在步骤S415中从安装程序管理器2111所传递的可安装程序的安装程序列表中所包括的程序的安装程序列表。当前版本显示部2213和新版本显示部2214分别显示列表显示部2212中所显示的每个程序的安装程序的已安装版本和最新版本。在列表显示部2212上所显示的程序的安装程序之中,对于客户端PC 10上未安装的任何程序的安装程序,当前版本显示部2213显示例如指示未安装状态的信息。
提供选择输入部2215用于允许从列表显示部2212上所显示的程序安装程序之中选择待安装的程序安装程序。在该示例中,在选择输入部2215中提供复选框。当进行操作时,按钮2216将选择输入固定在选择输入部2215上。
在该示例中,如图33示例性示出,PD安装程序2113和AP安装程序2112被选择为待安装的程序安装程序。
在图30A中,待安装的计算机程序是响应于列表显示屏幕2210,通过用户操作来进行选择的,并且命令UI单元2110来执行所选择的程序安装程序的安装(步骤S416)。响应于该指令,UI单元2110将指示所选择的程序安装程序的信息传递到安装程序管理器2111,并且命令安装程序管理器2111执行所选择的程序安装程序的安装(步骤S417)。
响应于该指令,安装程序管理器2111参考针对每个所选择的程序安装程序的安装程序信息(i),以根据安装目标的安装程序信息(i)中的项目“download_url”的值,从静态服务器41请求程序对象(步骤S418)。静态服务器41响应于该请求,将程序对象发送到安装程序管理器2111(步骤S419)。在此示例中,在列表显示屏幕2210上所选择的PD安装程序2113和AP安装程序2112的程序对象被发送到安装程序管理器2111。
安装程序管理器2111利用在步骤S419中所获取的程序对象,执行PD安装程序2113和AP安装程序2112的安装(步骤S420和S421)。
步骤S400到步骤S421的处理与上述图28中所示的流程图的处理对应。
步骤S422和随后的步骤描述激活PD安装程序2113时进行的处理。如上所述,当PD安装程序2113安装驱动程序时,需要端口监视器程序作为相关计算机程序,但是端口监视器程序和用于安装端口监视器程序的PM安装程序2115最初未安装在客户端PC 10上。
在步骤S422中,通过例如在客户端PC 10上的用户操作来命令PD安装程序2113的激活,并且向PD安装程序2113通知激活指令(步骤S423)。响应于该通知,命令PD安装程序2113来执行任何外部装置的发现(步骤S424)。根据该发现指令,PD安装程序2113在与客户端PC 10相同的网段中,执行与网络22连接的外部装置的发现(步骤S425)。
已经接收到外部装置搜索的结果检测(步骤426),PD安装程序2113从检测到的外部装置(成像装置201、202、...)请求型号规格信息(步骤S427)。安装程序管理器2113响应于该请求,接收从每个外部装置所发送的型号规格信息(步骤S428)。PD安装程序2113基于接收到的每个外部装置的型号规格信息,生成装置列表信息(步骤S429)。
PD安装程序2113将所生成的装置列表信息传递到UI单元2110,并且命令UI单元2110显示用于选择外部装置的装置列表(步骤S430)。UI单元2110响应于该指令,生成装置列表显示屏幕,并且将装置列表显示屏幕传递到显示单元101。装置列表显示屏幕可以是,例如参考图12所述的装置列表显示屏幕200。
当响应于该装置列表显示屏幕,通过用户操作来选择型号时(步骤S431),UI单元2110命令PD安装程序2113获取与所选择的型号对应的驱动信息(步骤S432)。PD安装程序2113根据该指令,开始获取驱动信息的处理(步骤S433)。PD安装程序2113首先请求获取来自OS 110的OS信息(步骤S434)。OS 110响应于该请求,返回OS信息(步骤S435)。
随后,PD安装程序2113基于在步骤S427和步骤S428中获取到的型号规格信息以及步骤S434和S435中获取到的OS信息,生成获取驱动程序信息列表的查询,并且将该查询发送到动态服务器40(步骤S436)。在步骤S437,动态服务器40根据该查询来搜索数据库,并将通过搜索获取到的驱动信息列表返回到PD安装程序2113(第二指定单元)。
图34示出适用于第三实施例的在步骤S436中通过PD安装程序2113生成并且发送到动态服务器40的示例查询。图34中所示的查询除了图13中所示查询之外还包括第二行的项目“安装程序”,并且项目“安装程序”的值是值“printer_driver_installer”,指示PD安装程序2113。这允许动态服务器40选择并且获取程序安装程序,在该程序安装程序中PD安装程序2113被指定为安装程序。
图35示出根据第三实施例的在步骤S437返回到PD安装程序2113的示例驱动信息列表。在图35中,驱动信息列表与图14中所示的驱动信息列表对应,并且包括项目“id”、“名称”、“版本”、“日期”、“大小”、“安装程序”、“metadata_url”和“download_url”。
PD安装程序2113根据在步骤S437中从动态服务器40所返回的程序信息列表中的项目“metadata_url”的值,从静态服务器41请求元数据(步骤S438)。静态服务器41响应于该请求,将元数据发送到PD安装程序2113(步骤S439)。
图36示出适用于第三实施例的在步骤S439中发送到PD安装程序2113的示例元数据。在图36所示的示例中,与上述图15相似,元数据描述子装置的识别信息(第二行到第六行)。图36中所示的元数据除了图15所示的配置以外,还包括项目“要求(requirement)”。
项目“要求”描述使用与该元数据对应的计算机程序所需要的信息。在图36所示的示例中,项目“要求”具有各自指示计算机程序种类的值“printer_driver_installer”和值“portmonitor_filter_a”。值“printer_driver_installer”与值“版本:2.0.0.0”相关联,而值“portmonitor_filter_a”与值“版本:1.0.0.0”和值“安装程序:portmonitor_installer”相关联。
换言之,值“printer_driver_installer”和与值“printer_driver_installer”相关联的值指示需要版本为“2.0.0.0”或者随后版本的PD安装程序2113来使用与该元数据对应的计算机程序。值“portmonitor_filter_a”和与值“portmonitor_filter_a”相关联的值指示,需要版本为“1.0.0.0”或者随后版本的端口监视过滤器程序作为相关计算机程序、用于安装该端口监视过滤程序的PM安装程序2115来使用对应的计算机程序。
PD安装程序2113基于在步骤S435获取到的OS信息、在步骤S437获取到的驱动信息列表、以及在步骤S439获取到的元数据,生成可安装的驱动程序列表信息(步骤S440)。PD安装程序2113将所生成的驱动程序列表信息传递到UI单元2110,并且命令UI单元2110显示用于选择待安装的任何驱动程序的驱动程序列表(步骤S441)。响应于该指令,UI单元2110生成驱动列表显示屏幕,并且将该屏幕传递给显示单元101。
图37示出适用于第三实施例的示例驱动列表显示屏幕。图37所示的驱动列表显示屏幕2220是基于上述图35所示的驱动信息列表和图36所示的元数据。换言之,驱动列表显示屏幕2220用于允许,根据驱动信息列表中所包括的项目“metadata_url”,与在步骤S438和步骤S439中获取到的元数据(参考图36)中所描述的每个子装置对应的驱动程序的选择。
更具体地,显示区域2221和按钮2226被布置在该驱动列表显示屏幕2220上。显示区域2221包括列表显示部2222、当前版本显示部2223、新版本显示部2224和选择输入部2225。
列表显示部2222显示可安装驱动程序的列表。在该示例中,该列表显示与在步骤S438和和步骤S439中获取到的元数据(参考图36)中所描述的每个子装置对应的任何驱动程序。当前版本显示部2223和新版本显示部2224分别显示列表显示部2222上所显示的每个驱动程序的已安装版本和最新版本。在列表显示部2222上所显示的驱动程序之中,对于客户端PC 10上未安装的任何驱动程序,当前版本显示部2223显示例如指示未安装状态的信息。
提供选择输入部2225用于允许从列表显示部2222上所显示的驱动程序之中选择待安装的程序安装程序。在该示例中,在选择输入部2225中提供复选框。当进行操作时,按钮2226将选择输入固定在选择输入部2225上。
在该示例中,如图37示例性示出,与子装置对应的驱动程序中的一个驱动程序被选择为待安装的驱动程序。
下面描述图30B中所示的时序图。响应于列表显示屏幕2220,通过用户操作来选择待安装的驱动程序,并且命令UI单元2110来执行所选择的驱动程序的安装(步骤S450)。响应于该指令,UI单元2110将指示所选择的驱动程序的信息传递到PD安装程序2113,并且命令PD安装程序2113执行所选择的驱动程序的安装(步骤S451)。
响应于该指令,PD安装程序2113确定PD安装程序2113是否需要更新(步骤S452)。例如,PD安装程序2113比较PD安装程序2113的版本与步骤S439中所获取的元数据中所包括的信息中的PD安装程序2113所需要的版本,从而确定PD安装程序2113是否需要更新。
在该示例中,图32中所示的安装程序信息列表和图36中所示的元数据指示,PD安装程序2113的版本是“1.0.0.0”,而所选择的驱动程序的安装所需要的PD安装程序2113的版本是“2.0.0.0”,因此需要更新PD安装程序2113。因此,PD安装程序2113请求安装程序管理器2111更新PD安装程序2113(步骤S453)。
安装程序管理器2111响应于来自PD安装程序2113的更新请求,命令安装程序管理器2111自身获取安装程序信息(步骤S454)。与上述步骤S409到步骤S414中的处理相似,安装程序管理器2111获取OS信息(步骤S455和步骤S456),并且将图31所示的查询发送到动态服务器40(步骤S457)。动态服务器40根据该查询来搜索数据库,并且获取安装程序信息作为搜索结果(第二提供单元)。安装程序管理器2111从动态服务器40获取安装程序信息列表(步骤S458),并从静态服务器41获取元数据(步骤S459和步骤S460)。
图38示出根据第三实施例的在步骤S458中从动态服务器40所获取的示例安装程序信息列表。图38中所示的安装程序信息列表具有与参考图32所生成的安装程序信息列表相同的配置,因此下面省略对它的详细描述。在图38所示的示例中,在第二行到第十行的项目“id”的值“printer_driver_installer”指示计算机程序的种类,而第五行的项目“版本”的值和第九行的项目“download_url”的值指示版本为“2.0.0.0”的PD安装程序2113位于项目“download_url”中所描述的位置。
安装程序管理器2111基于这些获取到的值,从静态服务器41获取用于更新PD安装程序2113的程序对象。
当获取到安装程序信息列表和元数据时,安装程序管理器2111停止当前正在被激活的PD安装程序2113(步骤S461)。之后,安装程序管理器2111通过从静态服务器41获取到的用于更新PD安装程序2113的程序对象,更新PD安装程序2113。例如,安装程序管理器2111利用该程序对象来重写已有的PD安装程序2113,从而执行PD安装程序2113的更新(步骤S462)。
安装程序管理器2111激活已更新的PD安装程序2113(步骤S463)。然后,已激活的PD安装程序2113根据在步骤S439中通过安装程序管理器2111获取到的元数据中指示相关计算机程序的值“installer:portmonitor_installer”的描述(参考图36),命令安装程序管理器2111执行PM安装程序2115的安装(步骤S464)。根据该指令,安装程序管理器2111基于在步骤S458获取到的安装程序信息列表,从静态服务器41获取PM安装程序2115的程序对象(步骤S465和步骤S466)。
在图38所示的示例中,在第十一到第十九行,项目“id”具有值“portmonitor_installer”,描述关于PM安装程序2115的信息。安装程序管理器2111根据项目“download_url”的值,从静态服务器42获取PM安装程序2115的程序对象。
安装程序管理器2111通过在步骤S466获取到的程序对象,将PM安装程序2115安装在客户端PC 10上(步骤S467)。当完成PM安装程序2115的安装时,安装程序管理器2111向PD安装程序2113通知安装完成(步骤S468)。
已经从安装程序管理器2111接收到PM安装程序2115安装完成的通知,PD安装程序2113指示PM安装程序2115,根据在步骤S439中通过PD安装程序2113获取到的元数据中指示相关计算机程序的值“portmonitor_filter_a”的描述(参考图36)来安装端口监视器。PM安装程序2115响应于该指令,开始安装端口监视器的处理。
具体地,与例如上述步骤S433到步骤S439相似,PM安装程序2115响应于安装端口监视器的指令,命令PM安装程序2115自身获取驱动信息(步骤S470)。根据该指令,PM安装程序2115获取OS信息(步骤S471和步骤S472),并且将查询发送到动态服务器40(步骤S473)。
图39示出适用于第三实施例的在步骤S437中通过PM安装程序2115生成并且发送到动态服务器40的示例查询。图39中所示的查询除了用项目“id”替换图34中所示的查询中第二行的项目“安装程序”以外,与图34中所示的查询相同。在图39中所示的查询中,项目“id”的值为“portmonitor_filter_a”,该值唯一地识别通过该查询将要获取的驱动信息。通过此方式,当在查询中指定项目“id”时,与项目“id”的值匹配的驱动信息作为查询结果被返回。
PM安装程序2115响应于该查询,获取从动态服务器40发送的驱动信息列表(步骤S474)。图40示出根据第三实施例的在步骤S474获取到的示例驱动信息列表。在图40所示的示例中,与在图35中所示的程序信息列表相似,驱动信息包括项目“id”、“名称”、“版本”、“日期”、“大小”、“安装程序”、“metadata_url”和“download_url”。
PM安装程序2115基于获取到的驱动信息列表,从静态服务器41获取元数据(步骤S475和步骤S476)。然后,PM安装程序2115根据获取到的驱动信息列表和元数据,从静态服务器41获取端口监视器的程序对象(步骤S477和步骤S478),并且将端口监视器安装在PC10上(步骤S479)。
当完成端口监视器的安装时,PM安装程序2115向PD安装程序2113通知安装完成(步骤S480)。响应于该通知,PD安装程序2113基于上述步骤S436到步骤S439获取到的驱动信息列表和元数据,从静态服务器41获取打印机驱动的程序对象(步骤S481和步骤S482)。然后,PD安装程序2113通过获取到的程序对象,将打印机驱动安装在客户端PC 10上(步骤S483)。
当完成打印机驱动的安装时,PD安装程序2113向UI单元2110通知完成(步骤S484)。响应于该安装完成的通知,UI单元2110使得,例如显示单元101显示安装打印机驱动的处理完成。
在完成直到步骤S484的处理之后,例如,用户对于客户端PC 10上所搭载的文档应用程序上的打印机驱动“MFP模型A类型1打印机驱动PCL”(参考图35和图37)执行打印机请求。在此情况下,打印机驱动“MFP模型A类型1打印机驱动PCL”能够生成通过与打印机驱动“MFP模型A类型1打印机驱动PCL”对应的装置能够处理的打印数据,并且利用通过步骤S469到步骤S480所安装的端口监视器“Port Monitor Filer A”,将打印打印数据的指令发送到对应的装置。
以上描述本发明的优选实施例,但是本发明不限于此。在不脱离本发明的范围的情况下,可以做出各种修改。
附图标记列表
10 客户端PC
201,202 程序装置
40 动态服务器
41 静态服务器
101 显示单元
102 输入单元
110 OS
111,111a,111b 安装程序
200 装置列表显示屏幕
210,2210 列表显示屏幕
1110,2110 UI单元
1111,2111 安装管理器
1112,2112 AP安装程序
1113,2113 PD安装程序
1114,2114 SD安装程序
1115,2115 PM安装程序
2220 驱动列表显示屏幕
参考文献列表
专利文献
专利文献1:日本特开专利申请No.2007-086969

Claims (14)

1.一种信息处理系统,包括:
一个或多个终端,以及
信息处理设备,通过网络与所述一个或多个终端可连接,并且用于提供一个或多个第一计算机程序,所述一个或多个第一计算机程序用于允许所述一个或多个终端在通过所述网络与所述一个或多个终端连接的设备上执行处理,
所述信息处理设备包括:
存储单元,用于存储各自通过所述一个或多个终端中的终端来执行的所述一个或多个第一计算机程序和两个或更多个第二计算机程序,从而将关于设备的设备信息发送到所述信息处理设备,并且将所述一个或多个第一计算机程序中所述所述信息处理设备所提供的第一计算机程序安装在所述终端上;
第一指定单元,用于基于从所述终端接收到的关于终端的终端信息,指定所述两个或更多个第二计算机程序中待提供到所述一个或多个终端中的终端的第二计算机程序;
第一提供单元,用于将所述第一指定单元所指定的第二计算机程序提供给所述终端;
第二指定单元,用于通过执行所述第二计算机程序的所述终端,基于从所述终端接收到的设备信息,指定所述一个或多个第一计算机程序中待提供给所述终端的第一计算机程序;以及
第二提供单元,用于将所述第二指定单元所指定的所述第一计算机程序提供给所述终端;所述终端包括:
发送单元,用于将所述终端信息发送到所述信息处理设备;
第一处理单元,用于通过由所述信息处理设备向所述终端提供的所述第二计算机程序的执行,执行获取所述设备信息并且将所述获取到的设备信息发送到所述信息处理设备的处理;以及
第二处理单元,用于通过所述第二计算机程序的执行,执行将所述信息处理设备所提供的所述第一计算机程序安装在所述终端上的处理。
2.根据权利要求1所述的信息处理系统,其中所述终端还包括控制单元,如果所述信息处理设备所提供的所述第二计算机程序是使得所述终端能够实现安装单元的功能的安装程序,那么所述控制单元用于响应于用户指令,执行所述安装程序的安装,所述安装单元用于根据一种第一计算机程序来执行第一计算机程序的安装,并且所述终端不包括与所述安装程序对应的安装单元。
3.根据权利要求1或2所述的信息处理系统,其中:
所述设备信息还包括以根据所述设备信息中所包括的指示种类的信息所限定的格式的、指示所述设备信息的元信息的信息,
第一处理单元用于基于所述设备信息获取元数据,并且
第二处理单元用于根据所述第一处理单元获取到的元信息,执行所述信息处理设备所提供的所述第一计算机程序的安装。
4.根据权利要求3所述的信息处理系统,其中:
所述元信息包括指示所述一个或多个第一计算机程序中的两个或更多个第一计算机程序的信息,并且
所述第一处理单元获取基于所述元信息中所包括的指示所述两个或更多个第一计算机程序的所述信息所选择的计算机程序。
5.根据权利要求3所述的信息处理系统,其中:
所述第一计算机程序是使得所述终端能够实现控制外部装置的驱动的功能的驱动程序,
所述元数据包括指示与所述驱动程序对应的型号的子型号的信息,并且
所述第一处理单元用于获取针对所述元信息中所包括的子型号的所述第一计算机程序。
6.根据权利要求1、2、4或5中的任一项所述的信息处理系统,其中:
所述设备信息还包括指示计算机程序的版本的版本信息,并且
所述第二处理单元用于将通过第一处理单元获取到的所述第一计算机程序对应的设备信息中所包括的所述版本信息所指示的第一版本与已经安装在所述终端上的所述第一计算机程序之中与获取到的所述第一计算机程序对应的第一计算机程序的第二版本比较,并且如果第一版本比第二版本新,则执行获取到的第一计算机程序的安装。
7.根据权利要求1、2、4或5所述的信息处理系统,其中第二处理单元用于使得显示单元来显示通过所述第一处理单元获取到设备信息,并且执行与设备信息对应的第一计算机程序的安装,其中的设备信息是响应于所述显示单元的显示选择出的。
8.根据权利要求1、2、4或5中的任一项所述的信息处理系统,其中
所述终端还包括识别信息获取单元,所述识别信息获取单元用于获取识别外部装置的型号的型号识别信息,以及识别所述终端上运行的操作系统的系统识别信息,并且
第一处理单元用于基于所述型号识别信息和所述系统识别信息来获取所述设备信息,使得显示单元显示指示型号识别信息的信息,并且获取与所获取的型号识别信息之中响应于所述显示单元的显示所选择的型号识别信息对应的所述设备信息。
9.根据权利要求1所述的信息处理系统,其中
所述设备信息还包括相关程序信息,所述相关程序信息指示安装所述第一计算机程序所必需的相关计算机程序,并且
所述第二处理单元用于执行安装基于所述相关计算机程序信息获取到的所述相关计算机程序的处理。
10.根据权利要求9所述的信息处理系统,其中第二处理单元通过另一第二处理单元来执行。
11.根据权利要求1所述的信息处理系统,其中所述存储单元用于存储用于安装两个或多个第一计算机程序的所述两个或多个第二计算机程序,所述两个或多个第二计算机程序用于控制两个或多个不同的装置型号,所述两个或多个第二计算机程序中的安装的过程彼此不同。
12.一种信息处理方法,所述方法通过如下系统来执行:所述系统包括一个或多个终端以及通过网络与所述一个或多个终端可连接的信息处理设备,并且所述信息处理设备用于提供一个或多个第一计算机程序,所述一个或多个第一计算机程序用于允许所述一个或多个终端在通过网络与所述一个或多个终端连接的设备上执行处理,所述信息处理方法包括:
第一指定步骤,基于从所述终端接收到的终端信息,指定待提供给所述一个或多个终端中的终端的第二计算机程序,所述第二计算机程序用于由所述终端来执行,从而将关于所述设备的设备信息发送到所述信息处理设备,并且将所述一个或多个第一计算机程序中的所述信息处理设备所提供的第一计算机程序安装在所述终端上;
第一提供步骤,将第一指定步骤中所指定的所述第二计算机程序提供给所述终端;
第二指定步骤,通过执行所述第二计算机程序的所述终端,基于从所述终端接收到的设备信息,指定待提供给所述终端的第一计算机程序;
第二提供步骤,将第二指定步骤中所指定的第一计算机程序提供给所述终端;
发送步骤,将所述终端信息发送到所述信息处理设备;
第一处理步骤,执行获取所述设备信息并且将获取到的设备信息发送到所信息处理设备的处理;以及
第二处理步骤,执行将所述信息处理设备所提供的第一计算机程序安装在所述终端上的处理。
13.一种信息处理方法,包括:
程序信息获取步骤,获取至少包括指示计算机程序种类的信息和指示从其获取计算机程序的源的信息的程序信息;
计算机程序获取步骤,根据所述程序信息获取计算机程序;以及
安装控制步骤,根据所述程序信息中所包括的指示种类的信息,选择用于根据所述计算机程序的种类来执行计算机程序的安装的安装单元,并且使得所选择的安装单元执行在所述计算机程序获取步骤中获取到的计算机程序的安装。
14.根据权利要求13所述的信息处理方法,其中如果在所述计算机程序获取步骤获取到的计算机程序是使得计算机能够实现安装单元的功能的安装程序时,执行所述安装程序的安装,从而使得所述计算机在所述安装控制步骤能够实现所述安装单元的功能。
CN201580046767.0A 2014-09-01 2015-09-01 信息处理系统和信息处理方法 Active CN106716358B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP2014-177556 2014-09-01
JP2014177556 2014-09-01
JP2015129228 2015-06-26
JP2015-129228 2015-06-26
PCT/JP2015/074898 WO2016035801A1 (ja) 2014-09-01 2015-09-01 システム、情報処理方法および記憶媒体

Publications (2)

Publication Number Publication Date
CN106716358A CN106716358A (zh) 2017-05-24
CN106716358B true CN106716358B (zh) 2020-01-14

Family

ID=55439861

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580046767.0A Active CN106716358B (zh) 2014-09-01 2015-09-01 信息处理系统和信息处理方法

Country Status (4)

Country Link
US (1) US10223042B2 (zh)
JP (1) JP6390708B2 (zh)
CN (1) CN106716358B (zh)
WO (1) WO2016035801A1 (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6613927B2 (ja) * 2016-01-29 2019-12-04 株式会社リコー 情報処理装置、情報処理システム、情報処理方法および情報処理プログラム
JP6882645B2 (ja) * 2016-10-06 2021-06-02 富士フイルムビジネスイノベーション株式会社 情報処理装置、情報処理システム及びプログラム
JP2018072869A (ja) * 2016-10-24 2018-05-10 株式会社沖データ 情報処理装置、情報処理プログラム及び情報処理方法
GB201702933D0 (en) * 2017-02-23 2017-04-12 Ge Healthcare Bio Sciences Ab A method and a system for installation of an instrument
JP7005982B2 (ja) * 2017-07-21 2022-01-24 富士フイルムビジネスイノベーション株式会社 情報処理装置およびプログラム
JP7119370B2 (ja) * 2017-12-26 2022-08-17 ブラザー工業株式会社 制御プログラム、および端末装置
JP7010005B2 (ja) * 2018-01-11 2022-01-26 富士フイルムビジネスイノベーション株式会社 情報処理装置及びプログラム
US11163432B2 (en) 2018-01-30 2021-11-02 Ricoh Company, Ltd. Information processing system, electronic blackboard apparatus, and recording medium
JP7095363B2 (ja) * 2018-03-30 2022-07-05 ブラザー工業株式会社 インストーラ
JP7035840B2 (ja) 2018-06-19 2022-03-15 株式会社リコー 情報処理装置、情報処理システム及び遠隔共有方法
JP7070134B2 (ja) 2018-06-19 2022-05-18 株式会社リコー 情報処理システム、情報処理装置、プログラム及びファイル送信方法
US11343292B2 (en) 2019-11-29 2022-05-24 Ricoh Company, Ltd. Information processing apparatus, information processing system, and remote sharing method
US11397574B2 (en) * 2020-07-23 2022-07-26 International Business Machines Corporation Changes in source code
US20220051114A1 (en) * 2020-08-11 2022-02-17 Enlitic, Inc. Inference process visualization system for medical scans
CN114564739A (zh) * 2022-02-14 2022-05-31 浙江惠瀜网络科技有限公司 防止非法获取编码文件指标源码的方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1841326A (zh) * 2005-03-29 2006-10-04 佳能株式会社 信息处理装置和信息处理方法
CN102918505A (zh) * 2010-06-03 2013-02-06 株式会社理光 信息处理设备、程序安装支持方法和计算机可读记录介质

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10171634A (ja) * 1996-12-05 1998-06-26 Fuji Xerox Co Ltd 情報処理端末およびプログラム更新システム
JP2001117834A (ja) * 1999-10-19 2001-04-27 Fuji Xerox Co Ltd ネットワーク通信環境設定システム、ネットワーク通信環境設定方法、及び、ネットワーク通信環境設定プログラムを記録したコンピュータ読取可能な記録媒体
JP2003173246A (ja) * 2001-12-05 2003-06-20 Ricoh Co Ltd デバイス情報収集方法、プログラム、サーバ装置及び記憶媒体
JP4340476B2 (ja) 2002-06-28 2009-10-07 株式会社リコー ソフトウェア導入方法、その方法をコンピュータに実行させるプログラム及びそのプログラムを格納した媒体
JP2005128848A (ja) * 2003-10-24 2005-05-19 Kyocera Communication Systems Co Ltd ソフトウェア更新管理システム、ソフトウェア更新管理プログラム、記録媒体およびソフトウェア更新管理方法
JP2007086969A (ja) 2005-09-21 2007-04-05 Oki Data Corp 印刷装置
JP4983229B2 (ja) * 2006-11-29 2012-07-25 セイコーエプソン株式会社 サーバーコンピュータ、クライアントサーバーシステム及びソフトウェアインストール方法
JP4951392B2 (ja) 2007-04-18 2012-06-13 株式会社リコー 情報処理装置、プログラムおよび記録媒体
JP2009217318A (ja) * 2008-03-07 2009-09-24 Seiko Epson Corp 情報機器制御装置、ドライバ更新システム、ドライバ更新方法、およびドライバプログラム
JP5321120B2 (ja) 2008-04-08 2013-10-23 株式会社リコー 情報処理装置、情報処理方法、及び、記録媒体
JP5278047B2 (ja) 2009-03-04 2013-09-04 株式会社リコー 情報処理装置とプログラムとコンピュータ読み取り可能な記録媒体
JP5343643B2 (ja) 2009-03-17 2013-11-13 株式会社リコー プリンタドライバ、記憶媒体、及び情報処理装置
JP5278185B2 (ja) 2009-06-12 2013-09-04 株式会社リコー 情報処理装置、インストーラプログラム、及び記憶媒体
JP5446625B2 (ja) 2009-09-07 2014-03-19 株式会社リコー プリンタドライバ、情報処理装置、およびプリンタドライバを記録したコンピュータ読み取り可能な記録媒体
JP5499584B2 (ja) 2009-09-09 2014-05-21 株式会社リコー 印刷制御プログラム、情報処理装置、及び記録媒体
JP5455527B2 (ja) * 2009-09-29 2014-03-26 キヤノン株式会社 画像形成装置、該装置の制御方法、制御プログラム
JP2012027573A (ja) * 2010-07-21 2012-02-09 Canon Inc 情報処理装置、情報処理方法及びプログラム
JP5545542B2 (ja) * 2010-08-27 2014-07-09 ブラザー工業株式会社 ソフトウェア管理装置及びソフトウェア管理システム
JP5893295B2 (ja) * 2010-10-29 2016-03-23 キヤノン株式会社 情報処理装置、表示方法及びプログラム
JP5729039B2 (ja) 2011-03-15 2015-06-03 株式会社リコー 情報処理システム、サーバ装置、クライアント端末、インストール方法、プログラム、プリンタドライバおよび記録媒体
JP5854619B2 (ja) * 2011-03-30 2016-02-09 キヤノン株式会社 情報処理装置、および周辺装置の管理方法
JP5725946B2 (ja) * 2011-04-11 2015-05-27 キヤノン株式会社 サーバ装置、サーバ装置の制御方法、及びプログラム
JP5939742B2 (ja) * 2011-04-21 2016-06-22 キヤノン株式会社 画像形成装置、及び管理方法
JP5864887B2 (ja) * 2011-04-21 2016-02-17 キヤノン株式会社 画像形成装置、及び管理方法
JP5790143B2 (ja) 2011-05-18 2015-10-07 株式会社リコー 情報処理装置及びプログラム
JP5799698B2 (ja) 2011-09-14 2015-10-28 株式会社リコー 情報処理装置及びプログラム
JP5942485B2 (ja) 2012-03-05 2016-06-29 株式会社リコー データ処理装置、プログラムおよびデータ処理システム
JP5915278B2 (ja) 2012-03-13 2016-05-11 株式会社リコー プログラム、情報処理装置、記憶媒体
JP2013218445A (ja) * 2012-04-06 2013-10-24 Canon Inc 管理装置、システム、管理装置の制御方法、プログラム。
JP6330361B2 (ja) 2013-03-27 2018-05-30 株式会社リコー 印刷制御プログラム、情報処理装置及び印刷システム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1841326A (zh) * 2005-03-29 2006-10-04 佳能株式会社 信息处理装置和信息处理方法
CN102918505A (zh) * 2010-06-03 2013-02-06 株式会社理光 信息处理设备、程序安装支持方法和计算机可读记录介质

Also Published As

Publication number Publication date
US20170160995A1 (en) 2017-06-08
WO2016035801A1 (ja) 2016-03-10
JPWO2016035801A1 (ja) 2017-06-15
US10223042B2 (en) 2019-03-05
JP6390708B2 (ja) 2018-09-19
CN106716358A (zh) 2017-05-24

Similar Documents

Publication Publication Date Title
CN106716358B (zh) 信息处理系统和信息处理方法
EP2388684B1 (en) Print control apparatus, print control system, and print control method
JP5482011B2 (ja) 画像形成装置、プログラム管理システム、プログラム管理方法、及びプログラム管理プログラム
JP5665437B2 (ja) ネットワーク機器管理システム、ネットワーク機器管理装置、クライアント装置およびその方法
JP2018128790A (ja) 情報処理装置、プログラム、インストール方法
US9342476B2 (en) Image processing apparatus, information processing apparatus, and information processing system
US20120099135A1 (en) Information processing apparatus, control method, and storage medium
JP2004265061A (ja) プログラムインストール方法、装置、及びシステム
JP2008015794A (ja) プログラム管理装置及びプログラム管理システム、ならびにプログラム提供方法
WO2009126212A1 (en) Simplified walk-up print driver installation
JP2007157014A (ja) データ処理装置
US10089102B2 (en) Information processing apparatus, method, and program
US9965299B2 (en) Information processing apparatus, method for controlling the same, and storage medium
JP4981936B2 (ja) インストーラ及びプリンタドライバのインストール方法
JP5665579B2 (ja) 管理装置、管理方法およびプログラム
JP6379699B2 (ja) 情報処理装置、情報処理システム、情報処理プログラム、および情報処理方法
JP2009288935A (ja) デバイス管理システムおよびプログラム
JP5754524B2 (ja) 装置、情報処理システム、情報処理方法、及び情報処理プログラム
US20100165391A1 (en) Information processing apparatus, information processing method, and information processing system
US10346102B2 (en) Information processing apparatus that controls install of a device driver in accordance with capability of an operating system, installation method, and storage medium
KR101723857B1 (ko) 인쇄 제어 단말장치 및 펌웨어 업그레이드 방법
JP2005301608A (ja) インストールプログラム、インストール装置および周辺機器ドライバのインストール方法
US10310780B2 (en) System and control method for installing printer driver
JP2015049862A (ja) 情報処理装置、システム、方法およびプログラム
JP2014011530A (ja) 画像出力システム、及び、画像出力装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant