[go: up one dir, main page]

JP2016058070A - Program, information processing apparatus and information processing method, and information processing system - Google Patents

Program, information processing apparatus and information processing method, and information processing system Download PDF

Info

Publication number
JP2016058070A
JP2016058070A JP2015121447A JP2015121447A JP2016058070A JP 2016058070 A JP2016058070 A JP 2016058070A JP 2015121447 A JP2015121447 A JP 2015121447A JP 2015121447 A JP2015121447 A JP 2015121447A JP 2016058070 A JP2016058070 A JP 2016058070A
Authority
JP
Japan
Prior art keywords
driver
information
unit
program
update
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2015121447A
Other languages
Japanese (ja)
Other versions
JP6540256B2 (en
Inventor
山田 剛
Takeshi Yamada
剛 山田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to US14/837,633 priority Critical patent/US20160070557A1/en
Priority to CN201510564559.1A priority patent/CN105404526A/en
Publication of JP2016058070A publication Critical patent/JP2016058070A/en
Application granted granted Critical
Publication of JP6540256B2 publication Critical patent/JP6540256B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

PROBLEM TO BE SOLVED: To make it possible to apply an information processing system to a program currently provided and a program to be provided in the future in common with a single installer.SOLUTION: There is provided a program for causing a computer to execute: a first acquisition step of acquiring, from a driver, identification information identifying the driver; a creation step of creating, on the basis of the identification information, specification information specifying a storage place in which update information for updating the driver is stored; and a second acquisition step of acquiring the update information from the storage place specified in the specification information acquired in the creation step.SELECTED DRAWING: Figure 6

Description

本発明は、プログラム、情報処理装置および情報処理方法、ならびに、情報処理システムに関する。   The present invention relates to a program, an information processing apparatus, an information processing method, and an information processing system.

従来から、ドライバプログラムと、当該ドライバプログラムの更新の有無のチェックおよびインストールを行うインストーラとを例えば同梱して配布することが行われている。これらドライバプログラムおよびインストーラは、同一のPC(パーソナルコンピュータ)に搭載され、インストーラは、対応するドライバプログラムの更新の有無を、例えばインターネットなどのネットワークを介してサーバに問い合わせる。インストーラは、問い合わせの結果、更新が有る場合には、当該サーバから更新用のドライバプログラムを取得して、PCに搭載されるドライバプログラムを、サーバから取得した更新用のドライバプログラムにより更新する。   Conventionally, for example, a driver program and an installer for checking whether or not the driver program is updated and installing it are bundled and distributed. The driver program and the installer are mounted on the same PC (personal computer), and the installer inquires of the server via the network such as the Internet whether or not the corresponding driver program is updated. If there is an update as a result of the inquiry, the installer obtains an update driver program from the server, and updates the driver program installed in the PC with the update driver program obtained from the server.

特許文献1には、クライアント装置に搭載されている、周辺機器のためのドライバの適切なパッケージを取得して、取得したドライバのインストールをユーザに促すようにした技術が開示されている。すなわち、特許文献1では、クライアント装置や周辺機器の情報などに基づき、保持しているドライバのデータベースを参照し、最適なドライバプログラムのパッケージを取得する。そして、自動でインストーラプログラムを起動して、取得したパッケージに含まれるドライバプログラムのインストールをユーザに促す。特許文献1によれば、ユーザは、最新バージョンのドライバプログラムをネットワーク上などから入手してインストールする操作を、容易に実行することができる。   Japanese Patent Application Laid-Open No. 2004-151561 discloses a technique for acquiring an appropriate package of drivers for peripheral devices mounted on a client device and prompting a user to install the acquired driver. That is, in Patent Document 1, an optimal driver program package is acquired by referring to a stored driver database based on information about a client device and peripheral devices. Then, the installer program is automatically activated to prompt the user to install the driver program included in the acquired package. According to Patent Document 1, the user can easily execute an operation of obtaining and installing the latest version of the driver program from a network or the like.

しかしながら、従来のインストーラが対応可能なドライバプログラムは、当該インストーラと共に配布されたドライバプログラムに限られ、例えば将来新たに提供されるドライバプログラムには対応できなかったという問題点があった。したがって、従来では、新たにドライバプログラムが提供される毎に、対応するインストーラを配布する必要があった。   However, the driver program that can be handled by the conventional installer is limited to the driver program distributed together with the installer, and there is a problem that the driver program that is newly provided in the future cannot be handled. Therefore, conventionally, it is necessary to distribute a corresponding installer every time a new driver program is provided.

また、特許文献1の方法は、複数の周辺機器のドライバプログラムに対応可能であるが、将来新たに提供されるドライバプログラムには対応していない。   Further, the method of Patent Document 1 can support driver programs for a plurality of peripheral devices, but does not support a driver program newly provided in the future.

本発明は、上記に鑑みてなされたものであって、1のインストーラにより、現在提供されるプログラムと、将来提供されるプログラムとに共通して適用可能とすることを目的とする。   The present invention has been made in view of the above, and it is an object of the present invention to be commonly applicable to a currently provided program and a future provided program by one installer.

上述した課題を解決し、目的を達成するために、本発明は、ドライバから、ドライバを識別する識別情報を取得する第1取得ステップと、ドライバを更新するための更新情報が格納される格納場所を特定する特定情報を、識別情報に基づき生成する生成ステップと、生成ステップにより生成された特定情報に特定される格納場所から更新情報を取得する第2取得ステップとをコンピュータに実行させる。   In order to solve the above-described problems and achieve the object, the present invention provides a first acquisition step for acquiring identification information for identifying a driver from a driver, and a storage location for storing update information for updating the driver. The computer is caused to execute a generation step for generating specific information for specifying the identification information based on the identification information, and a second acquisition step for acquiring update information from the storage location specified by the specific information generated by the generation step.

本発明によれば、1のインストーラにより、現在提供されるプログラムと、将来提供されるプログラムとに共通して適用可能となるという効果を奏する。   According to the present invention, there is an effect that a single installer can be applied in common to a currently provided program and a future provided program.

図1は、第1の実施形態に係る情報処理システムの一例の構成を示すブロック図である。FIG. 1 is a block diagram illustrating a configuration of an example of an information processing system according to the first embodiment. 図2は、第1の実施形態に適用可能なクライアントPCの一例の構成を示すブロック図である。FIG. 2 is a block diagram illustrating an exemplary configuration of a client PC applicable to the first embodiment. 図3は、第1の実施形態に係るクライアントPCの機能を説明するための一例の機能ブロック図である。FIG. 3 is a functional block diagram illustrating an example of functions of the client PC according to the first embodiment. 図4は、第1の実施形態に係るインストーラの一例の構成を示すブロック図である。FIG. 4 is a block diagram illustrating a configuration of an example of an installer according to the first embodiment. 図5は、第1の実施形態に係るドライバの一例の構成を示すブロック図である。FIG. 5 is a block diagram illustrating a configuration of an example of a driver according to the first embodiment. 図6は、第1の実施形態に係るドライバの更新手順について概略的に説明するための図である。FIG. 6 is a diagram for schematically explaining a driver update procedure according to the first embodiment. 図7は、第1の実施形態に係るドライバの更新手順をより詳細に説明するためのシーケンス図である。FIG. 7 is a sequence diagram for explaining the driver update procedure according to the first embodiment in more detail. 図8は、第1の実施形態に係るIDの例を示す図である。FIG. 8 is a diagram illustrating an example of an ID according to the first embodiment. 図9は、第1の実施形態に係る特定情報の例を示す図である。FIG. 9 is a diagram illustrating an example of specific information according to the first embodiment. 図10は、第1の実施形態に係る更新情報の例を示す図である。FIG. 10 is a diagram illustrating an example of update information according to the first embodiment. 図11は、第1の実施形態に係る表示画面の例を示す図である。FIG. 11 is a diagram illustrating an example of a display screen according to the first embodiment. 図12は、第1の実施形態に係るインストール完了画面の例を示す図である。FIG. 12 is a diagram illustrating an example of an installation completion screen according to the first embodiment. 図13は、各実施形態に係るIDの例について説明するための図である。FIG. 13 is a diagram for describing an example of an ID according to each embodiment. 図14は、各実施形態に適用可能な更新情報の管理方法の例を示す図である。FIG. 14 is a diagram illustrating an example of an update information management method applicable to each embodiment. 図15は、引数に基づきテーブルを参照してIDを検索する場合の特定情報の例を示す図である。FIG. 15 is a diagram illustrating an example of specific information when an ID is searched with reference to a table based on an argument. 図16は、第1の実施形態の変形例に係るドライバのインストール手順の例を示すシーケンス図である。FIG. 16 is a sequence diagram illustrating an example of a driver installation procedure according to the modification of the first embodiment. 図17は、第1の実施形態の変形例に係る、OS管理領域に書き込まれたドライバ情報の例を示す図である。FIG. 17 is a diagram illustrating an example of driver information written in the OS management area according to a modification of the first embodiment. 図18は、第1の実施形態の変形例に係る、ドライバの更新手順の例を示すシーケンス図である。FIG. 18 is a sequence diagram illustrating an example of a driver update procedure according to a modification of the first embodiment. 図19は、第2の実施形態に適用可能な情報処理システムの一例の構成を示すブロック図である。FIG. 19 is a block diagram illustrating an exemplary configuration of an information processing system applicable to the second embodiment. 図20は、第2の実施形態に係るクライアントPCの機能を説明するための一例の機能ブロック図である。FIG. 20 is a functional block diagram of an example for explaining functions of the client PC according to the second embodiment. 図21は、第2の実施形態に係るインストーラの一例の構成を示すブロック図である。FIG. 21 is a block diagram illustrating a configuration of an example of an installer according to the second embodiment. 図22は、第2の実施形態に係るドライバのインストール手順の例を示すシーケンス図である。FIG. 22 is a sequence diagram illustrating an example of a driver installation procedure according to the second embodiment. 図23は、第2の実施形態に係る、OS管理領域に書き込まれたドライバ情報の例を示す図である。FIG. 23 is a diagram illustrating an example of driver information written in the OS management area according to the second embodiment. 図24は、第2の実施形態に係る、ドライバの更新手順の例を示すシーケンス図である。FIG. 24 is a sequence diagram illustrating an example of a driver update procedure according to the second embodiment. 図25は、第2の実施形態に係る表示画面の例を示す図である。FIG. 25 is a diagram illustrating an example of a display screen according to the second embodiment. 図26は、第2の実施形態に係るインストール完了画面の例を示す図である。FIG. 26 is a diagram illustrating an example of an installation completion screen according to the second embodiment.

以下に添付図面を参照して、プログラム、情報処理装置および情報処理方法、ならびに、情報処理システムの実施形態を詳細に説明する。   Exemplary embodiments of a program, an information processing device, an information processing method, and an information processing system will be described below in detail with reference to the accompanying drawings.

(第1の実施形態)
図1は、第1の実施形態に係る情報処理システムの一例の構成を示す。図1において、クライアント側におけるパーソナルコンピュータなどの情報処理装置10(以下、クライアントPC10)と、画像形成装置20aおよび20bとが、LAN(Local Area Network)といったネットワーク22により互いに通信可能に接続される。図1の例では、画像形成装置20aおよび20bは、それぞれプリンタ装置(プリンタ#1、#2)とされている。クライアントPC10は、画像形成装置20aおよび20bを駆動するためのドライバプログラム(以下、ドライバと略称する)が搭載される。クライアントPC10は、搭載されたドライバにより、ネットワーク22を介して画像形成装置20aおよび20bを制御することができる。
(First embodiment)
FIG. 1 illustrates an exemplary configuration of an information processing system according to the first embodiment. In FIG. 1, an information processing apparatus 10 (hereinafter referred to as a client PC 10) such as a personal computer on a client side and image forming apparatuses 20a and 20b are connected to each other via a network 22 such as a LAN (Local Area Network). In the example of FIG. 1, the image forming apparatuses 20a and 20b are printer apparatuses (printers # 1 and # 2), respectively. The client PC 10 is loaded with a driver program (hereinafter abbreviated as a driver) for driving the image forming apparatuses 20a and 20b. The client PC 10 can control the image forming apparatuses 20a and 20b via the network 22 by an installed driver.

クライアントPC10は、ルータ21を介して、例えばインターネットといった外部のネットワーク30に接続される。ネットワーク30に対し、更新情報サーバ40およびオブジェクト配置サーバ41が接続される。クライアントPC10は、ネットワーク30を介して、これら更新情報サーバ40およびオブジェクト配置サーバ41と互いに通信可能とされる。   The client PC 10 is connected to an external network 30 such as the Internet via the router 21. An update information server 40 and an object placement server 41 are connected to the network 30. The client PC 10 can communicate with the update information server 40 and the object placement server 41 via the network 30.

オブジェクト配置サーバ41は、クライアントPC10に搭載されるドライバを更新するためのオブジェクトが予め定められた格納場所に配置されて格納される。オブジェクト配置サーバ41に格納されるオブジェクトは、クライアントPC10に搭載されるドライバと置き換える、例えば当該ドライバに対してバージョンがより新しいドライバそのものであってもよいし、ドライバを構成するためのモジュールであってもよい。これに限らず、オブジェクトは、ドライバに対する更新部分のみを含むモジュールであってもよい。   In the object arrangement server 41, an object for updating a driver installed in the client PC 10 is arranged and stored in a predetermined storage location. The object stored in the object placement server 41 is replaced with a driver mounted on the client PC 10, for example, a driver having a newer version with respect to the driver, or a module for configuring the driver. Also good. However, the object is not limited to this, and the object may be a module including only an updated part for the driver.

更新情報サーバ40は、オブジェクト配置サーバ41に格納されるオブジェクトを用いてドライバを更新するための更新情報が格納される。更新情報は、少なくとも、当該オブジェクトがオブジェクト配置サーバ41に格納される格納場所を示す情報を含む。   The update information server 40 stores update information for updating a driver using an object stored in the object placement server 41. The update information includes at least information indicating a storage location where the object is stored in the object placement server 41.

なお、図1の例では、ネットワーク22に2台の画像形成装置20aおよび20bが接続され、クライアントPC10がこれら画像形成装置20aおよび20bを制御するように示したが、これはこの例に限定されない。すなわち、クライアントPC10は、ネットワーク22に接続される2台の画像形成装置20aおよび20bのうち一方のみを制御してもよいし、ネットワーク22に対して1台の例えば画像形成装置20aのみが接続されていてもよい。また、ネットワーク22に対して3台以上の画像形成装置が接続され、クライアントPC10がこの3台以上の画像形成装置を全て制御可能としてもよい。   In the example of FIG. 1, two image forming apparatuses 20a and 20b are connected to the network 22 and the client PC 10 is controlled to control the image forming apparatuses 20a and 20b. However, this is not limited to this example. . That is, the client PC 10 may control only one of the two image forming apparatuses 20a and 20b connected to the network 22, or only one image forming apparatus 20a is connected to the network 22, for example. It may be. Alternatively, three or more image forming apparatuses may be connected to the network 22 so that the client PC 10 can control all of the three or more image forming apparatuses.

また、図1では、更新情報サーバ40とオブジェクト配置サーバ41とがそれぞれ個別のサーバ装置であるように示したが、これはこの例に限定されない。例えば、更新情報サーバ40とオブジェクト配置サーバ41とを同一のサーバ装置上の別個の機能として構成してもよいし、更新情報サーバ40とオブジェクト配置サーバ41とをさらに多数のサーバ装置に分散させて構成してもよい。   In FIG. 1, the update information server 40 and the object placement server 41 are illustrated as being separate server devices, but this is not limited to this example. For example, the update information server 40 and the object placement server 41 may be configured as separate functions on the same server device, or the update information server 40 and the object placement server 41 may be distributed to a larger number of server devices. It may be configured.

図2は、第1の実施形態に適用可能なクライアントPC10の一例の構成を示す。クライアントPC10は、CPU(Central Processing Unit)51と、ROM(Read Only Memory)52と、RAM(Random Access Memory)53と、ストレージ54と、表示制御部55と、入出力I/F57と、通信I/F59とがバス50を介して互いに通信可能に接続されている。   FIG. 2 shows an example of the configuration of the client PC 10 applicable to the first embodiment. The client PC 10 includes a CPU (Central Processing Unit) 51, a ROM (Read Only Memory) 52, a RAM (Random Access Memory) 53, a storage 54, a display control unit 55, an input / output I / F 57, and a communication I. / F59 is communicably connected to each other via a bus 50.

CPU51は、ROM52やストレージ54に予め記憶されるプログラムに従い、RAM53をワークメモリとして用いて、このクライアントPC10の全体の動作を制御する。ストレージ54は、ハードディスクドライブや不揮発性の半導体メモリ(フラッシュメモリ)からなり、CPU51が動作するためのプログラムや、各種データが格納される。   The CPU 51 controls the overall operation of the client PC 10 using the RAM 53 as a work memory according to a program stored in advance in the ROM 52 and the storage 54. The storage 54 is composed of a hard disk drive or a nonvolatile semiconductor memory (flash memory), and stores a program for operating the CPU 51 and various data.

表示制御部55は、CPU51によりプログラムに従い生成された表示制御信号を、ディスプレイ56で表示可能な表示信号に変換してディスプレイ56に供給する。ディスプレイ56は、例えばLCD(Liquid Crystal Display)を表示デバイスとして用い、表示制御部55から供給された表示信号に従った画面を表示デバイスに表示させる。   The display control unit 55 converts the display control signal generated according to the program by the CPU 51 into a display signal that can be displayed on the display 56 and supplies the display signal to the display 56. The display 56 uses, for example, an LCD (Liquid Crystal Display) as a display device, and causes the display device to display a screen according to a display signal supplied from the display control unit 55.

入出力I/F57は、外部機器との間で通信を行うインタフェースである。図2の例では、入出力I/F57に対して、外部機器としてキーボードやポインティングデバイス(マウスなど)を含む操作部58が接続されている。入出力I/F57は、これに限らず、CD(Compact Disk)やDVD(Digital Versatile Disk)といったディスク記憶媒体からのデータの読み出しなどを行うドライブ装置や、不揮発性の半導体メモリなどのストレージを接続してもよい。入出力I/F57としては、例えばUSB(Universal Serial Bus)を用いることができる。   The input / output I / F 57 is an interface for performing communication with an external device. In the example of FIG. 2, an operation unit 58 including a keyboard and a pointing device (such as a mouse) is connected to the input / output I / F 57 as an external device. The input / output I / F 57 is not limited to this, and connects a drive device that reads data from a disk storage medium such as a CD (Compact Disk) or a DVD (Digital Versatile Disk), or a storage such as a nonvolatile semiconductor memory. May be. As the input / output I / F 57, for example, a USB (Universal Serial Bus) can be used.

通信I/F59は、TCP/IP(Transmission Control Protocol/Internet Protocol)など所定のプロトコルを用いてネットワーク30を介した通信を制御する。   The communication I / F 59 controls communication via the network 30 using a predetermined protocol such as TCP / IP (Transmission Control Protocol / Internet Protocol).

なお、更新情報サーバ40およびオブジェクト配置サーバ41は、クライアントPC10と同様の構成で実現可能であるので、ここでの説明を省略する。   Note that the update information server 40 and the object placement server 41 can be realized with the same configuration as that of the client PC 10, and thus description thereof is omitted here.

図3は、第1の実施形態に係るクライアントPC10の機能を説明するための一例の機能ブロック図である。図3において、クライアントPC10は、表示部100と、入力部101と、全体制御部102と、通信部103と、記憶部104と、インストーラ105と、ドライバ106とを有する。   FIG. 3 is a functional block diagram illustrating an example of the functions of the client PC 10 according to the first embodiment. In FIG. 3, the client PC 10 includes a display unit 100, an input unit 101, an overall control unit 102, a communication unit 103, a storage unit 104, an installer 105, and a driver 106.

全体制御部102は、クライアントPC10の全体の動作を制御するもので、例えば、CPU51上で動作するプログラムの一つであるOS(Operating System)に相当する。表示部100は、全体制御部102の指示に従った画面をディスプレイ56に表示させる。入力部101は、入出力I/F57に対して入力された情報を全体制御部102に渡す。通信部103は、通信I/F59を介した通信を制御する。記憶部104は、RAM53やストレージ54に対するデータの読み書きを制御する。   The overall control unit 102 controls the overall operation of the client PC 10 and corresponds to, for example, an OS (Operating System) that is one of programs operating on the CPU 51. The display unit 100 causes the display 56 to display a screen according to instructions from the overall control unit 102. The input unit 101 passes information input to the input / output I / F 57 to the overall control unit 102. The communication unit 103 controls communication via the communication I / F 59. The storage unit 104 controls reading and writing of data with respect to the RAM 53 and the storage 54.

これら表示部100、入力部101、全体制御部102、通信部103および記憶部104は、CPU51で動作するプログラムにより構成される。これに限らず、表示部100、入力部101、全体制御部102、通信部103および記憶部104のうち一部または全部を、互いに協働するハードウェアによって構成してもよい。   The display unit 100, the input unit 101, the overall control unit 102, the communication unit 103, and the storage unit 104 are configured by a program that operates on the CPU 51. Not limited to this, some or all of the display unit 100, the input unit 101, the overall control unit 102, the communication unit 103, and the storage unit 104 may be configured by hardware cooperating with each other.

インストーラ105およびドライバ106は、CPU51上で動作するプログラムにより構成される。ドライバ106は、全体制御部102がクライアントPC10に接続される外部機器を制御する際に、全体制御部102と当該外部機器との間の仲介を行う。また、ドライバ106は、クライアントPC10から当該外部機器を使用する際に、ユーザに対して適切なUI(User Interface)を提供する。この例では、ドライバ106は、例えば画像形成装置20a(プリンタ#1)の制御に対応したプリンタドライバであるものとする。   The installer 105 and the driver 106 are configured by programs that operate on the CPU 51. The driver 106 mediates between the overall control unit 102 and the external device when the overall control unit 102 controls the external device connected to the client PC 10. The driver 106 provides an appropriate UI (User Interface) to the user when using the external device from the client PC 10. In this example, the driver 106 is assumed to be a printer driver corresponding to the control of the image forming apparatus 20a (printer # 1), for example.

インストーラ105は、ドライバ106をクライアントPC10にインストールする。また、インストーラ105は、既にクライアントPC10にインストールされているドライバ106の更新処理を行う。例えば、インストーラ105は、インストール済みのドライバ106を更新可能か否かを判定し、更新可能であると判定した場合に、ドライバ106を更新するためのオブジェクトをネットワーク30を介して取得し、取得したオブジェクトを用いてドライバ106を更新する。インストーラ105は、例えば対応するドライバ106と共に提供され、所定の手順にてクライアントPC10にインストールされる。   The installer 105 installs the driver 106 on the client PC 10. Further, the installer 105 performs an update process for the driver 106 already installed in the client PC 10. For example, the installer 105 determines whether or not the installed driver 106 can be updated. If it is determined that the driver 106 can be updated, the installer 105 acquires and acquires an object for updating the driver 106 via the network 30. The driver 106 is updated using the object. The installer 105 is provided with the corresponding driver 106, for example, and is installed in the client PC 10 according to a predetermined procedure.

図4は、第1の実施形態に係るインストーラ105の一例の構成を示す。図4において、インストーラ105は、通信部120と、ドライバインストール部121と、UI122と、ドライバ情報取得部123とを有する。   FIG. 4 shows an exemplary configuration of the installer 105 according to the first embodiment. In FIG. 4, the installer 105 includes a communication unit 120, a driver installation unit 121, a UI 122, and a driver information acquisition unit 123.

通信部120は、更新情報サーバ40およびオブジェクト配置サーバ41と通信を行い、ドライバ106を更新するためのオブジェクトを取得する。ドライバインストール部121は、通信部120により取得されたオブジェクトを用いてクライアントPC10にドライバをインストールし、ドライバ106を更新する。UI122は、ドライバ106のインストールや更新の際に、ユーザに対して表示や入力インタフェースなどユーザインタフェースを提供する。ドライバ情報取得部123は、クライアントPC10にインストールされているドライバ106から、後述する識別情報を取得する(第1取得部)。   The communication unit 120 communicates with the update information server 40 and the object placement server 41 to acquire an object for updating the driver 106. The driver installation unit 121 installs a driver in the client PC 10 using the object acquired by the communication unit 120 and updates the driver 106. The UI 122 provides a user interface such as a display or an input interface to the user when the driver 106 is installed or updated. The driver information acquisition unit 123 acquires identification information described later from the driver 106 installed in the client PC 10 (first acquisition unit).

通信部120は、更新情報取得部1201とオブジェクト取得部1202とを有する。更新情報取得部1201は、更新情報サーバ40と通信し、更新情報サーバ40からドライバ106を更新するための更新情報を取得する(第2取得部)。このとき、更新情報取得部1201は、ドライバ情報取得部123によりドライバ106から取得された識別情報に基づき更新情報が格納される格納場所を特定するための特定情報を取得し、取得した特定情報に従い更新情報を取得する。更新情報は、少なくとも、当該ドライバ106の更新に用いるオブジェクトの、オブジェクト配置サーバ41における格納場所を示す情報を含む。   The communication unit 120 includes an update information acquisition unit 1201 and an object acquisition unit 1202. The update information acquisition unit 1201 communicates with the update information server 40 and acquires update information for updating the driver 106 from the update information server 40 (second acquisition unit). At this time, the update information acquisition unit 1201 acquires specific information for specifying the storage location where the update information is stored based on the identification information acquired from the driver 106 by the driver information acquisition unit 123, and follows the acquired specific information. Get update information. The update information includes at least information indicating the storage location in the object arrangement server 41 of the object used for updating the driver 106.

オブジェクト取得部1202は、更新情報取得部1201に取得された更新情報に基づき、オブジェクト配置サーバ41から、ドライバ106の更新に用いるオブジェクトを取得する。   The object acquisition unit 1202 acquires an object used for updating the driver 106 from the object placement server 41 based on the update information acquired by the update information acquisition unit 1201.

図5は、第1の実施形態に係るドライバ106の一例の構成を示す。ドライバ106は、ドライバ処理部130と、ID格納部131と、ID送信部132とを有する。ドライバ処理部130は、一般的なドライバとしての処理を実行する部分である。一例として、ドライバ106がプリンタドライバである場合、ドライバ処理部130は、ユーザに対して印刷設定や周辺機設定(プリンタ設定)を促すユーザインタフェースを提供するUI部と、実際の印刷データをPCL(Printer Control Language)やポストスクリプトといった描画コマンドに変換する描画部とを含む。   FIG. 5 illustrates an exemplary configuration of the driver 106 according to the first embodiment. The driver 106 includes a driver processing unit 130, an ID storage unit 131, and an ID transmission unit 132. The driver processing unit 130 is a part that executes processing as a general driver. As an example, when the driver 106 is a printer driver, the driver processing unit 130 includes a UI unit that provides a user interface that prompts the user for print settings and peripheral device settings (printer settings), and actual print data as PCL ( And a drawing unit for converting into drawing commands such as Printer Control Language) and Postscript.

ID格納部131は、このドライバ106に一意の識別情報が格納される。ここで、ドライバ106に一意とは、当該ドライバ106を更新可能なドライバプログラムを特定するための情報群に対して一意であることを意味する。識別情報の構成のより具体的な例については、後述する。   The ID storage unit 131 stores unique identification information in the driver 106. Here, being unique to the driver 106 means being unique to an information group for specifying a driver program that can update the driver 106. A more specific example of the configuration of the identification information will be described later.

ID格納部131に格納される識別情報は、ドライバ106のベンダ側において予め設定される。識別情報は、ドライバ106のプログラム内に埋め込まれていてもよいし、ドライバ106のプログラムとは別個のデータとしてクライアントPC10のストレージ54に不揮発に記憶させてもよい。   The identification information stored in the ID storage unit 131 is set in advance on the vendor side of the driver 106. The identification information may be embedded in the driver 106 program, or may be stored in the storage 54 of the client PC 10 in a nonvolatile manner as data separate from the driver 106 program.

なお、ドライバ106を更新するための更新情報が格納される格納場所を特定可能な特定情報は、識別情報を含んで構成される。一例として、ドライバ106の更新情報が更新情報サーバ40に格納される格納場所を示すURL(Uniform Resource Locator)の、ドライバ106を特定可能な部分に、識別情報を用いることができる。   The specific information that can specify the storage location in which update information for updating the driver 106 is stored includes identification information. As an example, the identification information can be used in a portion of the URL (Uniform Resource Locator) indicating the storage location where the update information of the driver 106 is stored in the update information server 40 so that the driver 106 can be specified.

ID送信部132は、インストーラ105のドライバ情報取得部123からの要求に応じて、ID格納部131に格納される識別情報をインストーラ105に対して送信する。ID送信部132がインストーラ105に識別情報を送信する方法は特に限定されない。例えば、ID送信部132は、ファイル、レジストリ、PrintTicket、PrintCapability、ドライバ106のCapabilityなどを介して、識別情報をインストーラ105に送信する。   The ID transmission unit 132 transmits identification information stored in the ID storage unit 131 to the installer 105 in response to a request from the driver information acquisition unit 123 of the installer 105. The method by which the ID transmission unit 132 transmits identification information to the installer 105 is not particularly limited. For example, the ID transmission unit 132 transmits the identification information to the installer 105 via a file, registry, PrintTicket, PrintCapability, Capability of the driver 106, and the like.

次に、第1の実施形態に係るドライバ106の更新手順について、図6を用いて概略的に説明する。なお、図6において、上述した図1および図3と共通する部分には同一の符号を付して、詳細な説明を省略する。また、以下の説明において、ドライバ106に一意な識別情報を、適宜「ID」として記述する。図6において、既にクライアントPC10には、バージョンVer#Aのドライバ106がインストールされているものとする。   Next, an update procedure of the driver 106 according to the first embodiment will be schematically described with reference to FIG. In FIG. 6, the same reference numerals are given to the portions common to FIGS. 1 and 3 described above, and detailed description thereof is omitted. In the following description, identification information unique to the driver 106 is appropriately described as “ID”. In FIG. 6, it is assumed that the driver 106 of version Ver # A has already been installed in the client PC 10.

図6に示されるドライバ106の更新手順は、例えば、クライアントPC10に対するユーザ操作に従い開始される。更新手順が開始されると、インストーラ105は、先ず、ドライバ106に対してIDを要求する(ステップS1)。ドライバ106は、この要求に応じてIDをインストーラ105に返す(ステップS2)。インストーラ105は、ドライバ106から受け取ったIDに基づき、ドライバ106を更新するための更新情報の格納場所を特定するための特定情報を生成する。インストーラ105は、生成した特定情報に基づき、更新情報サーバ40に対してドライバ106の更新の有無を問い合わせる(ステップS3)。更新情報サーバ40は、この問い合わせに応じて、更新情報をインストーラ105に返す(ステップS4)。   The update procedure of the driver 106 shown in FIG. 6 is started according to a user operation on the client PC 10, for example. When the update procedure is started, the installer 105 first requests an ID from the driver 106 (step S1). In response to this request, the driver 106 returns an ID to the installer 105 (step S2). Based on the ID received from the driver 106, the installer 105 generates specific information for specifying a storage location of update information for updating the driver 106. The installer 105 inquires of the update information server 40 whether or not the driver 106 has been updated based on the generated specific information (step S3). In response to this inquiry, the update information server 40 returns update information to the installer 105 (step S4).

インストーラ105は、更新情報サーバ40から渡された更新情報に基づき、ドライバ106の更新の有無を判定する。インストーラ105は、ドライバ106の更新があると判定した場合、更新情報に含まれる、ドライバ106を更新するためのオブジェクトの格納場所を示す情報に基づき、当該オブジェクトのダウンロードを、オブジェクト配置サーバ41に要求する(ステップS5)。   The installer 105 determines whether the driver 106 is updated based on the update information passed from the update information server 40. When the installer 105 determines that the driver 106 has been updated, the installer 105 requests the object placement server 41 to download the object based on the information included in the update information indicating the storage location of the object for updating the driver 106. (Step S5).

オブジェクト配置サーバ41は、この要求に応じて、ドライバ106を更新するためのオブジェクトをクライアントPC10に送信する(ステップS6)。このオブジェクトは、ドライバ106のバージョンVer#Aより新しいバージョンVer#Bのドライバ106’を構成するオブジェクトであるものとする。クライアントPC10において、インストーラ105は、オブジェクト配置サーバ41から送信されたドライバ106’を構成するオブジェクトを、例えばストレージ54上の所定の領域に格納する。   In response to this request, the object placement server 41 transmits an object for updating the driver 106 to the client PC 10 (step S6). This object is assumed to be an object that constitutes a driver 106 ′ of a version Ver # B that is newer than the version Ver # A of the driver 106. In the client PC 10, the installer 105 stores the objects constituting the driver 106 ′ transmitted from the object placement server 41 in a predetermined area on the storage 54, for example.

インストーラ105は、オブジェクト配置サーバ41から送信されたオブジェクトに対してインストール処理を実行する(ステップS7)。例えば、インストーラ105は、圧縮されファイルに格納されてオブジェクト配置サーバ41から送信されたオブジェクトを解凍し、解凍されたオブジェクトに対してインストール処理を実行する。例えば、インストーラ105は、このインストール処理によりオブジェクトからドライバ106’を構成し、このドライバ106’を既にインストールされているドライバ106と置き換える(ステップS8)。これにより、ドライバ106がより新しいバージョンのドライバ106’に更新される。   The installer 105 performs an installation process on the object transmitted from the object placement server 41 (step S7). For example, the installer 105 decompresses an object that has been compressed and stored in a file and transmitted from the object placement server 41, and performs an installation process on the decompressed object. For example, the installer 105 configures the driver 106 ′ from the object by this installation process, and replaces the driver 106 ′ with the driver 106 already installed (step S <b> 8). As a result, the driver 106 is updated to a newer version of the driver 106 '.

このように、第1の実施形態によれば、クライアントPC10にインストール済みのドライバ106を更新するための更新情報が、ドライバ106に含まれる、当該ドライバ106を一意に識別する識別情報に基づく特定情報に示される格納場所に格納される。したがって、インストーラ105は、ドライバ106の未知のバージョンのオブジェクトの取得およびインストールを、当該ドライバ106の識別情報に基づき実行することができる。   As described above, according to the first embodiment, the update information for updating the driver 106 installed in the client PC 10 is included in the driver 106, and the specific information based on the identification information for uniquely identifying the driver 106. It is stored in the storage location shown in Therefore, the installer 105 can execute acquisition and installation of an unknown version object of the driver 106 based on the identification information of the driver 106.

次に、第1の実施形態に係るドライバ106の更新手順について、図7のシーケンス図を用いてより詳細に説明する。なお、図7において、上述した図1〜図5と共通する部分には同一の符号を付して、詳細な説明を省略する。   Next, the update procedure of the driver 106 according to the first embodiment will be described in more detail using the sequence diagram of FIG. In FIG. 7, the same reference numerals are given to portions common to FIGS. 1 to 5 described above, and detailed description thereof is omitted.

例えば、クライアントPC10の入力部101に対するユーザ操作に応じて、インストーラ105のUI122に対してドライバ106の更新チェックが指示される(ステップS100)。この指示は、UI122を介してドライバ情報取得部123に伝えられる(ステップS101)。   For example, in response to a user operation on the input unit 101 of the client PC 10, an update check of the driver 106 is instructed to the UI 122 of the installer 105 (step S100). This instruction is transmitted to the driver information acquisition unit 123 via the UI 122 (step S101).

ドライバ情報取得部123は、この更新チェックの指示を受けて、ステップS102〜ステップS105の処理で、クライアントPC10にインストールされている全てのドライバについて、ドライバの情報を取得する。すなわち、ドライバ情報取得部123は、ステップS102で、クライアントPC10にインストールされている各ドライバに対してドライバ情報をそれぞれ要求する。   In response to this update check instruction, the driver information acquisition unit 123 acquires driver information for all the drivers installed in the client PC 10 in the processes of steps S102 to S105. That is, the driver information acquisition unit 123 requests driver information from each driver installed in the client PC 10 in step S102.

若し、ステップS102でドライバ情報が要求されたドライバが、第1の実施形態に係るIDを有するドライバ106であれば、この要求に応じて、ID送信部132がID格納部131から当該IDをドライバ情報として取得する(ステップS103、ステップS104)。そして、ID送信部132は、取得したIDをドライバ情報取得部123に送信する(ステップS105)。   If the driver whose driver information is requested in step S102 is the driver 106 having the ID according to the first embodiment, the ID transmission unit 132 receives the ID from the ID storage unit 131 in response to the request. Obtained as driver information (step S103, step S104). Then, the ID transmission unit 132 transmits the acquired ID to the driver information acquisition unit 123 (step S105).

一例として、ドライバ情報取得部123とID送信部132とがファイルを介してIDの受け渡しを行う場合、ドライバ情報取得部123とID送信部132との間で、ID受け渡しを行うファイルのファイル名および格納場所を予め決めておく。ID送信部132は、このファイルに対してIDを書き込み、ドライバ情報取得部123は、このファイルからIDを読み出す。   As an example, when the driver information acquisition unit 123 and the ID transmission unit 132 exchange IDs via a file, the file name of the file for which ID transmission is performed between the driver information acquisition unit 123 and the ID transmission unit 132 and A storage location is determined in advance. The ID transmission unit 132 writes the ID to this file, and the driver information acquisition unit 123 reads the ID from this file.

一方、ステップS102でドライバ情報が要求されたドライバが、第1の実施形態に係るIDを有しないドライバであれば、ID送信部132からドライバ情報取得部123に対してIDは送信されないことになる。この場合、例えば、当該ドライバからドライバ情報取得部123に対して、一般的なドライバ情報が送信される。   On the other hand, if the driver whose driver information is requested in step S102 is a driver that does not have an ID according to the first embodiment, the ID is not transmitted from the ID transmission unit 132 to the driver information acquisition unit 123. . In this case, for example, general driver information is transmitted from the driver to the driver information acquisition unit 123.

ドライバ情報取得部123は、ステップS102〜ステップS105の処理をクライアントPC10にインストールされる全てのドライバに対して実行した結果、IDが取得できたドライバを、更新対象のドライバであると判定する。これにより、クライアントPC10に例えば新旧のドライバが混在してインストールされIDが取得できないドライバが存在する場合であっても、第1の実施形態に係るドライバの更新を実行することが可能となる。   The driver information acquisition unit 123 determines that a driver whose ID has been acquired as a result of execution of steps S102 to S105 for all drivers installed in the client PC 10 is a driver to be updated. As a result, for example, even when a new driver and a new driver are installed together in the client PC 10 and there is a driver whose ID cannot be acquired, the driver update according to the first embodiment can be executed.

ドライバ情報取得部123は、ステップS102〜ステップS105の処理で取得した各IDを更新情報取得部1201に渡し、各IDに対応する更新情報の取得を更新情報取得部1201に要求する(ステップS110)。更新情報取得部1201は、この要求に応じて、ドライバ情報取得部123から渡された各IDについて後述するステップS111およびステップS112の処理を実行し、更新情報サーバ40から各IDに対応する各更新情報を取得する。   The driver information acquisition unit 123 passes each ID acquired in the processes of steps S102 to S105 to the update information acquisition unit 1201, and requests the update information acquisition unit 1201 to acquire update information corresponding to each ID (step S110). . In response to this request, the update information acquisition unit 1201 executes the processing of steps S111 and S112 described later for each ID passed from the driver information acquisition unit 123, and each update corresponding to each ID from the update information server 40. Get information.

ステップS110でドライバ106からIDを渡された更新情報取得部1201は、渡されたIDに基づき、当該IDに対応する更新情報の格納場所を特定可能な特定情報を取得する。例えば、更新情報取得部1201は、予め定められた規則に従い、IDに基づき特定情報を生成する。   In step S110, the update information acquisition unit 1201 to which the ID is passed from the driver 106 acquires specific information that can specify the storage location of the update information corresponding to the ID based on the passed ID. For example, the update information acquisition unit 1201 generates specific information based on the ID according to a predetermined rule.

ここで、IDおよび特定情報について、具体例を用いて説明する。図8は、第1の実施形態に係るIDの例を示す。図8の例では、IDは、9桁の数字による文字列として示されている。この場合、IDは、例えば9桁の数字を用いた通し番号を用いることが考えられる。これに限らず、IDは、ランダムに生成した文字列を用いてもよい。なお、IDの桁数は9桁に限定されず、10桁以上でもよいし、9桁未満でもよい。また、IDに数字を用いる場合は、10進数表記に限らず、例えば16進数表記を用いてもよい。   Here, ID and specific information are demonstrated using a specific example. FIG. 8 shows an example of an ID according to the first embodiment. In the example of FIG. 8, the ID is shown as a character string consisting of 9-digit numbers. In this case, it is conceivable to use a serial number using, for example, a 9-digit number as the ID. However, the ID is not limited to this, and a randomly generated character string may be used. Note that the number of digits of the ID is not limited to nine digits, and may be 10 digits or more, or less than 9 digits. Moreover, when using a number for ID, not only a decimal number notation but a hexadecimal number notation may be used, for example.

図9は、第1の実施形態に係る特定情報の例を示す。図9の例では、特定情報は、IDに対応する更新情報のネットワーク上での位置を示すURLが用いられている。図9において、特定情報は、ネットワーク上の「1.example.org」で特定される場所に、ファイル名「123456789.xml」というxml(Extensible Markup Language)形式のファイルとして格納されていることが示されている。   FIG. 9 shows an example of the specific information according to the first embodiment. In the example of FIG. 9, the specific information uses a URL indicating the position on the network of the update information corresponding to the ID. In FIG. 9, it is shown that the specific information is stored as an xml (Extensible Markup Language) format file with the file name “123456789.xml” in the location specified by “1.example.org” on the network. Has been.

この特定情報は、上述の図9に例示される識別情報を含んで構成される。すなわち、図9の例では、特定情報に含まれるファイル名「123456789.xml」は、先頭からピリオド「.」までの文字列(この例では文字列「123456789」)が、識別情報を示している。また、ファイル名において、ピリオド「.」から後ろの文字列「xml」がこのファイルがxml形式であることを示す拡張子となっている。このように、特定情報を識別情報を含んだ形式とすることで、ドライバ情報取得部123は、識別情報から容易に特定情報を生成することができる。   This specific information includes the identification information illustrated in FIG. 9 described above. That is, in the example of FIG. 9, the file name “123456789.xml” included in the specific information is a character string from the beginning to the period “.” (In this example, the character string “123456789”) indicates the identification information. . In the file name, the character string “xml” after the period “.” Is an extension indicating that this file is in the xml format. Thus, the specific information is in a format including identification information, so that the driver information acquisition unit 123 can easily generate the specific information from the identification information.

説明は図7のステップS110に戻り、更新情報取得部1201は、ID送信部132から送信されたIDに基づき取得した特定情報(URL)に従い、更新情報サーバ40に対して更新情報を要求する(ステップS111)。更新情報サーバ40は、この要求に従い、特定情報で特定される格納場所に格納される更新情報を、更新情報取得部1201に渡す(ステップS112)。   The description returns to step S110 in FIG. 7, and the update information acquisition unit 1201 requests update information from the update information server 40 according to the specific information (URL) acquired based on the ID transmitted from the ID transmission unit 132 ( Step S111). In accordance with this request, the update information server 40 passes the update information stored in the storage location specified by the specific information to the update information acquisition unit 1201 (step S112).

図9に示したような、更新情報のファイル名を含むURLが特定情報として用いられている場合、更新情報取得部1201は、このURLに従い更新情報サーバ40にアクセスして更新情報のファイルを直接的に取得することができる。   When the URL including the file name of the update information as shown in FIG. 9 is used as the specific information, the update information acquisition unit 1201 accesses the update information server 40 according to this URL and directly accesses the update information file. Can be obtained.

上述したように、各IDに対応して特定情報が生成され、特定情報が更新情報の格納場所、すなわち更新情報ファイルのファイル名を直接的に示している。したがって、更新情報取得部1201は、更新情報サーバ40への更新情報の要求に対し、更新情報ファイルを直接的に取得することができる。これは、更新情報ファイルのファイル名それぞれが、ドライバ106の更新情報要求に対するインタフェースとなっていることを意味する。そのため、この更新情報の要求に対する更新情報サーバ40の負荷を軽減することが可能である。   As described above, specific information is generated corresponding to each ID, and the specific information directly indicates the storage location of the update information, that is, the file name of the update information file. Therefore, the update information acquisition unit 1201 can directly acquire an update information file in response to a request for update information from the update information server 40. This means that each file name of the update information file is an interface for the update information request of the driver 106. Therefore, it is possible to reduce the load of the update information server 40 for this update information request.

図10は、第1の実施形態に係る更新情報の例を示す。なお、図10において、各行の先頭に、各行の本体とコロン(:)で区切られて記述される数字は、各行を説明するために便宜上付した行番号である。また、図10に示される更新情報は、図8のIDに対応し、図9のURLに含まれるファイル名のファイルに記述される。図10において、更新情報は、第1行目の記述により、このファイルに記述されるxmlが定義され、第2行目のタグ「<softwareInfo>」および第13行目のタグ「</softwareInfo>」で挟まれた部分に、ドライバ106を更新するために用いる情報が記述される。   FIG. 10 shows an example of update information according to the first embodiment. In FIG. 10, the numbers described at the head of each line by being separated from the main body of each line by a colon (:) are line numbers given for convenience in describing each line. Further, the update information shown in FIG. 10 corresponds to the ID of FIG. 8 and is described in a file having a file name included in the URL of FIG. In FIG. 10, the update information defines the xml described in this file by the description on the first line, the tag “<softwareInfo>” on the second line, and the tag “</ softwareInfo>” on the thirteenth line. ”Describes information used to update the driver 106.

第3行目は、タグ「<softwareId>」および「</softwareId>」に挟まれた部分に、この更新情報に対応するIDが記述される。第4行目は、タグ「<version>」および「</version>」に挟まれた部分に、この更新情報によりインストールされるドライバのバージョンが記述される。この例では、IDとしてこの更新情報のファイル名と対応する値「123456789」が記述され、バージョン「1.1.0」が記述されている。第5行目は、タグ「<publishDatetime>」および「</publishDatetime>」に挟まれた部分に、この更新情報によりインストールされるドライバの公開日時が記述される。この例では、公開日時は、「年、月、日、時刻、分、秒」のフォーマットで記述されている。   In the third line, an ID corresponding to the update information is described in a portion sandwiched between tags “<softwareId>” and “</ softwareId>”. In the fourth line, the version of the driver to be installed by this update information is described in a portion sandwiched between the tags “<version>” and “</ version>”. In this example, the value “123456789” corresponding to the file name of this update information is described as the ID, and the version “1.1.0” is described. In the fifth line, the date and time of publication of the driver to be installed by this update information is described in a portion sandwiched between the tags “<publishDatetime>” and “</ publishDatetime>”. In this example, the release date is described in the format of “year, month, day, time, minute, second”.

第6行目は、タグ「<fileSize>」および「</fileSize>」に挟まれた部分に、この更新情報によりインストールされるドライバの本体であるオブジェクトのファイルサイズが記述される。   In the sixth line, the file size of the object that is the main body of the driver installed by this update information is described in the portion between the tags “<fileSize>” and “</ fileSize>”.

なお、第3行目〜第6行目の記述のうち、第4行目および第5行目の何れか一方、ならびに、第6行目の記述は、省略可能である。   Of the descriptions in the third to sixth lines, any one of the fourth and fifth lines, and the description in the sixth line can be omitted.

第7行目〜第12行目は、この更新情報によりインストールされるドライバの本体であるオブジェクトそのものが格納されるURLと、当該ドライバの各属性情報が格納されるURLとが記述される。図10の例では、第7行目は、タグ「<url1>」および「</url1>」に挟まれた部分に、更新されるドライバの基本的な情報が格納されるファイルのURLが記述される。なお、ドライバの基本的な情報は、例えば、ドライバの種類(プリンタドライバか、スキャナドライバか、など)や、ドライバが対応する機種名を含むことができる。第8行目は、タグ「<url2>」および「</url2>」に挟まれた部分に、インストールされるドライバの本体であるオブジェクトが格納されるURLが記述される。例えば、オブジェクトは、zip形式で圧縮されたファイルとされている。   The seventh to twelfth lines describe a URL that stores the object itself that is the main body of the driver installed by this update information, and a URL that stores the attribute information of the driver. In the example of FIG. 10, the 7th line describes the URL of the file in which the basic information of the driver to be updated is stored in the portion between the tags “<url1>” and “</ url1>”. Is done. The basic information on the driver can include, for example, the type of driver (printer driver, scanner driver, etc.) and the model name supported by the driver. The eighth line describes a URL in which an object, which is the main body of the driver to be installed, is stored in a portion sandwiched between tags “<url2>” and “</ url2>”. For example, the object is a file compressed in the zip format.

第9行目〜第12行目は、各タグ「<url3>」および「</url3>」、タグ「<url4>」および「</url4>」、タグ「<url5>」および「</url5>」、ならびに、タグ「<url6>」および「</url6>」に挟まれた部分に、それぞれ、この更新情報によりインストールされるドライバの拡張情報が格納されるファイルのURLと、変更履歴が格納されるファイルのURLと、詳細説明が格納されるファイルのURLと、利用許諾情報が格納されるファイルのURLとが記述される。   The ninth to twelfth lines show the tags “<url3>” and “</ url3>”, tags “<url4>” and “</ url4>”, tags “<url5>” and “</ url”. url5> ”and the URL of the file that stores the extension information of the driver installed by this update information in the part between the tags“ <url6> ”and“ </ url6> ”, and the change history The URL of the file storing the URL, the URL of the file storing the detailed description, and the URL of the file storing the usage permission information are described.

なお、第7行目〜第12行目の記述のうち、第8行目のオブジェクトが格納されるURLの記述以外は、省略可能である。また、図10の例では、第7行目〜第12行目に記述される各URLは、オブジェクト配置サーバ41のURLを含んでいる。さらに、更新情報のフォーマットは、同一のIDについて共通であることが好ましい。例えば、IDが同一でバージョンなどが異なる更新情報に対して、共通のフォーマットが適用される。   Of the descriptions in the seventh to twelfth lines, those other than the description of the URL storing the object in the eighth line can be omitted. In the example of FIG. 10, each URL described in the seventh to twelfth lines includes the URL of the object placement server 41. Further, the format of the update information is preferably common to the same ID. For example, a common format is applied to update information having the same ID but different versions.

説明は図7に戻り、更新情報取得部1201は、ステップS111およびステップS112で各IDについて取得した各更新情報を、例えばストレージ54上のキャッシュファイルを介して、ドライバ情報取得部123に渡す(ステップS113)。ドライバ情報取得部123は、更新情報取得部1201から渡された各更新情報をUI122に通知する(ステップS114)。UI122は、ドライバ情報取得部123から通知された各更新情報に基づき、更新対象となるドライバを示す情報を表示部100に通知する(ステップS115)。   Returning to FIG. 7, the update information acquisition unit 1201 passes the update information acquired for each ID in step S111 and step S112 to the driver information acquisition unit 123 via, for example, a cache file on the storage 54 (step S113). The driver information acquisition unit 123 notifies the UI 122 of each update information passed from the update information acquisition unit 1201 (step S114). The UI 122 notifies the display unit 100 of information indicating the driver to be updated based on each update information notified from the driver information acquisition unit 123 (step S115).

なお、更新情報取得部1201は、各更新情報に基づき、クライアントPC10にインストールされている各ドライバのうち、更新対象となるドライバを選択することができる。   The update information acquisition unit 1201 can select a driver to be updated from among the drivers installed in the client PC 10 based on each update information.

例えば、更新情報取得部1201は、各更新情報に含まれるID(図10の3行目)およびバージョン情報(図10の4行目)とを、クライアントPC10に既にインストールされている、例えばドライバ106のIDおよびバージョン情報と比較する。比較の結果、更新情報取得部1201は、ドライバ106とIDが一致し、且つ、更新情報に記述されるバージョンがドライバ106のバージョンよりも新しい場合に、更新情報が示すドライバを更新対象のドライバとして選択する。更新情報取得部1201は、選択した更新対象のドライバの更新情報をドライバ情報取得部123に渡す。   For example, the update information acquisition unit 1201 has already installed the ID (third line in FIG. 10) and version information (fourth line in FIG. 10) included in each update information in the client PC 10, for example, the driver 106 Compare with ID and version information. As a result of the comparison, if the ID matches the driver 106 and the version described in the update information is newer than the version of the driver 106, the update information acquisition unit 1201 sets the driver indicated by the update information as the driver to be updated. select. The update information acquisition unit 1201 passes the update information of the selected update target driver to the driver information acquisition unit 123.

更新対象のドライバの選択方法は、この例に限定されない。例えば、更新情報取得部1201は、IDが一致する更新情報およびインストール済みのドライバ106について、公開日時を比較してもよい。この場合、更新情報に記述される公開日時がインストール済みのドライバ106の公開日時よりも新しい場合に、更新情報が示すドライバを更新対象のドライバとして選択する。また、現在インストールされているドライバ106をインストールした際に取得した更新情報を例えばストレージ54などにキャッシュしておき、キャッシュされた更新情報と、新たに取得された更新情報とを比較して、両者の差分に基づき更新対象のドライバを選択してもよい。   The method for selecting the driver to be updated is not limited to this example. For example, the update information acquisition unit 1201 may compare the disclosure date and time for the update information having the same ID and the installed driver 106. In this case, when the release date and time described in the update information is newer than the release date and time of the installed driver 106, the driver indicated by the update information is selected as the driver to be updated. Further, the update information acquired when the currently installed driver 106 is installed is cached in, for example, the storage 54, and the cached update information is compared with the newly acquired update information. The driver to be updated may be selected based on the difference.

また、更新対象のドライバは、インストーラ105側で選択する例に限定されず、更新情報サーバ40側で選択してもよい。この場合、インストーラ105は、クライアントPC10にインストール済みのドライバのIDおよびバージョン情報を更新情報サーバ40に送信する。更新情報サーバ40は、これらIDおよびバージョン情報に基づき、IDが一致しバージョンがより新しいドライバの更新情報を検索し、インストーラ105に送信する。   Further, the driver to be updated is not limited to the example selected on the installer 105 side, and may be selected on the update information server 40 side. In this case, the installer 105 transmits the ID and version information of the driver already installed in the client PC 10 to the update information server 40. Based on these ID and version information, the update information server 40 searches for update information of a driver whose ID matches and whose version is newer, and transmits it to the installer 105.

なお、インストール済みのドライバ106のバージョンや公開日時の情報は、当該ドライバ106から直接的に取得するようにできる。これに限らず、当該ドライバ106をインストールした際の更新情報を、ファイルやレジストリに格納しておいてもよい。   Note that information about the version of the installed driver 106 and the date and time of publication can be directly obtained from the driver 106. Not limited to this, update information when the driver 106 is installed may be stored in a file or a registry.

表示部100は、UI122から通知された情報に基づき、更新対象のドライバを示す表示画面をディスプレイ56に表示させる。図11は、第1の実施形態に係る、表示部100により表示される表示画面の例を示す。図11(a)の例では、表示画面300は、領域301に、更新対象のドライバが対応するプリンタ名が一覧表示される。インストーラ105は、例えば、クライアントPC10に既にインストールされているドライバのうち、UI122から通知された更新情報に含まれるIDと一致するIDを有するドライバからプリンタ名を示す情報を取得し、取得した情報に基づきプリンタ名を表示させる。   The display unit 100 causes the display 56 to display a display screen indicating the driver to be updated based on the information notified from the UI 122. FIG. 11 shows an example of a display screen displayed by the display unit 100 according to the first embodiment. In the example of FIG. 11A, the display screen 300 displays a list of printer names corresponding to the driver to be updated in an area 301. For example, the installer 105 acquires information indicating the printer name from a driver having an ID that matches the ID included in the update information notified from the UI 122 among the drivers already installed in the client PC 10. Based on this, the printer name is displayed.

表示画面300において、選択入力部302は、領域301に表示されるドライバを更新するか否かを、入力部101に対する操作に応じて選択する。図11(a)の例では、選択入力部302に対して「はい」を選択し、ボタン303を操作することで、領域301に表示されるドライバの更新が開始される。   On the display screen 300, the selection input unit 302 selects whether to update the driver displayed in the area 301 according to an operation on the input unit 101. In the example of FIG. 11A, the update of the driver displayed in the area 301 is started by selecting “Yes” on the selection input unit 302 and operating the button 303.

表示画面300は、図11(a)の例に限定されない。図11(b)は、更新するドライバを選択可能とした表示画面300’の例を示す。表示画面300’において、領域301’に表示される更新対象のドライバ一覧に対し、各プリンタ名にチェックボックス304が付加されている。この場合、入力部101に対する操作によりチェックボックス304がチェックされたドライバに対して選択的に更新処理を実行する。   The display screen 300 is not limited to the example of FIG. FIG. 11B shows an example of a display screen 300 ′ in which a driver to be updated can be selected. In the display screen 300 ′, a check box 304 is added to each printer name with respect to the driver list to be updated displayed in the area 301 ′. In this case, an update process is selectively executed for a driver whose check box 304 is checked by an operation on the input unit 101.

説明は図7に戻り、表示画面300に対してドライバの更新操作が行われると、その旨が入力部101からUI122に通知される(ステップS120)。UI122は、更新対象となるドライバの更新情報をオブジェクト取得部1202に渡し、オブジェクト取得部1202に対してドライバの更新を指示する(ステップS121)。   Returning to FIG. 7, when a driver update operation is performed on the display screen 300, the input unit 101 notifies the UI 122 to that effect (step S <b> 120). The UI 122 passes update information of the driver to be updated to the object acquisition unit 1202, and instructs the object acquisition unit 1202 to update the driver (step S121).

オブジェクト取得部1202は、UI122から渡された更新情報に基づき、オブジェクト配置サーバ41に対してオブジェクトの取得要求を送信する(ステップS122)。オブジェクト配置サーバ41は、この要求に応じて、オブジェクトを送信する。オブジェクト配置サーバ41から送信されたオブジェクトは、オブジェクト取得部1202に取得される(ステップS123)。オブジェクト取得部1202は、UI122から複数の更新情報を渡された場合は、これら複数の更新情報それぞれについて取得要求を送信し、更新情報それぞれのオブジェクトを取得する。   The object acquisition unit 1202 transmits an object acquisition request to the object placement server 41 based on the update information passed from the UI 122 (step S122). The object placement server 41 transmits an object in response to this request. The object transmitted from the object placement server 41 is acquired by the object acquisition unit 1202 (step S123). When a plurality of pieces of update information are passed from the UI 122, the object acquisition unit 1202 transmits an acquisition request for each of the plurality of pieces of update information, and acquires an object for each piece of update information.

より具体的には、オブジェクト取得部1202は、UI122から渡された更新情報に含まれる、インストールされるドライバの本体であるオブジェクトが格納されるURLの記述(図10の第8行目)に従い、オブジェクト配置サーバ41にアクセスして当該URLからオブジェクトを取得する。   More specifically, the object acquisition unit 1202 follows the description of the URL (the eighth line in FIG. 10) that stores the object that is the main body of the driver to be installed, included in the update information passed from the UI 122. The object placement server 41 is accessed and an object is acquired from the URL.

オブジェクト取得部1202は、オブジェクト配置サーバ41から取得したオブジェクトを、更新情報に含まれるIDと関連付けて、例えばストレージ54に一時的に格納する。   The object acquisition unit 1202 temporarily stores the object acquired from the object arrangement server 41 in the storage 54, for example, in association with the ID included in the update information.

オブジェクト取得部1202は、ドライバインストール部121に対して、オブジェクト配置サーバ41から取得したオブジェクトのインストールを指示する(ステップS124)。ドライバインストール部121は、この指示に応じて、オブジェクト配置サーバ41から取得したオブジェクトのインストール処理を開始する(ステップS125)。ドライバインストール部121は、オブジェクトが圧縮ファイルとされている場合、圧縮ファイルを解凍してインストール処理を実行する。ドライバインストール部121は、オブジェクト取得部1202が複数の更新情報を取得している場合、オブジェクトに関連付けられたIDに基づき、これら複数の更新情報それぞれに対応するオブジェクトについてインストール処理を実行する。   The object acquisition unit 1202 instructs the driver installation unit 121 to install the object acquired from the object placement server 41 (step S124). In response to this instruction, the driver installation unit 121 starts installation processing of the object acquired from the object placement server 41 (step S125). If the object is a compressed file, the driver installation unit 121 decompresses the compressed file and executes the installation process. When the object acquisition unit 1202 acquires a plurality of pieces of update information, the driver installation unit 121 executes an installation process for objects corresponding to the plurality of pieces of update information based on the IDs associated with the objects.

ドライバインストール部121は、全てのオブジェクトについてインストール処理が完了すると、その旨をUI122に通知する(ステップS126)。UI122は、ドライバのインストールが完了した旨を示すインストール完了画面を表示させるよう、表示部100に指示する(ステップS127)。表示部100は、この指示に従い、インストールが完了した旨をディスプレイ56に表示させる。   When the installation process is completed for all objects, the driver installation unit 121 notifies the UI 122 of that (step S126). The UI 122 instructs the display unit 100 to display an installation completion screen indicating that the driver installation has been completed (step S127). In accordance with this instruction, the display unit 100 displays on the display 56 that the installation is complete.

図12は、第1の実施形態に係る、表示部100によりディスプレイ56に表示されるインストール完了画面の例を示す。図12において、インストール完了画面310は、領域311に、インストールが実行され更新されたドライバ(この例ではドライバが対応するプリンタ名)の一覧が表示される。   FIG. 12 shows an example of an installation completion screen displayed on the display 56 by the display unit 100 according to the first embodiment. In FIG. 12, an installation completion screen 310 displays a list of drivers that have been installed and updated (in this example, printer names corresponding to the drivers) in an area 311.

このように、第1の実施形態によれば、インストーラ105は、クライアントPC10にインストールされるドライバ106が含む識別情報(ID)に基づく特定情報(例えばURL)に従い、ドライバ106の更新に用いるオブジェクトのURLを含む更新情報を取得するようにしている。したがって、インストーラ105は、ドライバ106が含む識別情報に基づく特定情報で特定される格納場所に格納される更新情報が、ドライバ106のインストール時には未知であるドライバのものであっても、この未知のドライバをクライアントPC10にインストールすることができる。   As described above, according to the first embodiment, the installer 105 follows the specific information (for example, URL) based on the identification information (ID) included in the driver 106 installed in the client PC 10, and the object used for updating the driver 106. Update information including a URL is acquired. Therefore, even if the update information stored in the storage location specified by the specific information based on the identification information included in the driver 106 is that of the driver that is unknown when the driver 106 is installed, the installer 105 Can be installed on the client PC 10.

ここで、第1の実施形態に適用可能なIDの例について説明する。上述したように、IDは、そのIDにより識別されるドライバ106を更新可能なドライバプログラムを特定するための情報群に対して一意の値を取る。   Here, an example of an ID applicable to the first embodiment will be described. As described above, the ID takes a unique value for an information group for specifying a driver program that can update the driver 106 identified by the ID.

図13を用いて、各実施形態に係るIDの例について説明する。図13において、ドライバ106を更新可能なドライバプログラムを特定するための情報群に含まれる各情報の例として、「モデル」、「機種」、「PnPID」、「OS(Operating System)」、「プログラム種別」および「言語」の各項目の情報が示されている。また、図13の例では、各情報は、左側の項目を上位、右側の項目を下位として階層的に構成され、各情報をノードとする木構造により、互いに関連付けられる。   An example of an ID according to each embodiment will be described with reference to FIG. In FIG. 13, as examples of information included in the information group for specifying a driver program that can update the driver 106, “model”, “model”, “PnPID”, “OS (Operating System)”, “program” Information on each item of “type” and “language” is shown. Further, in the example of FIG. 13, each piece of information is hierarchically configured with the left item as an upper level and the right item as a lower level, and is associated with each other by a tree structure having each information as a node.

図13に示される各項目のうち、項目「モデル」および項目「機種」は、ドライバ106が制御対象とするハードウェアを特定するための情報を示す。図13の例では、項目「モデル」における1つのモデル「Model123」に対して、複数の機種「Type01」、「Type02」、…が関連付けられている。   Among the items shown in FIG. 13, the item “model” and the item “model” indicate information for specifying the hardware that is controlled by the driver 106. In the example of FIG. 13, a plurality of models “Type01”, “Type02”,... Are associated with one model “Model123” in the item “model”.

項目「PnPID」は、ハードウェアに対応付けられるPnPIDを示す。図13の例では、モデル「Model123」および機種「Type01」で特定される情報に対して複数のPnPID「0x1234abcd」、「0x3462b1ef」、…が関連付けられている。   The item “PnPID” indicates a PnPID associated with hardware. In the example of FIG. 13, a plurality of PnPIDs “0x1234abcd”, “0x3462b1ef”,... Are associated with information specified by the model “Model123” and the model “Type01”.

項目「OS」は、ドライバ106が対応するOSを示す。図13の例では、項目「OS」は、さらに、項目「バージョン(ver)」と、項目「バージョン」に対して下位の項目「動作ビット(bit)」とを含み、各バージョンが動作ビット「32bit」および「64bit」をそれぞれ含むことが示されている。図13の例では、モデル「Model123」、機種「Type01」およびPnPID「0x1234abcd」で特定される情報に対して、複数のOS「WXOS」、「W7OS」、…が関連付けられている。   The item “OS” indicates an OS corresponding to the driver 106. In the example of FIG. 13, the item “OS” further includes an item “version” and an item “operation bit (bit)” lower than the item “version”. It is shown to include "32 bit" and "64 bit", respectively. In the example of FIG. 13, a plurality of OSs “WXOS”, “W7OS”,... Are associated with information specified by the model “Model123”, the model “Type01”, and the PnPID “0x1234abcd”.

項目「プログラム種別」は、ドライバ106の機能を示す。例えば、項目「プログラム種別」は、ドライバ106の制御対象がプリンタ機能およびスキャナ機能のうち何れであるかを示す。また、項目「プログラム種別」は、ドライバ106がこれらプリンタ機能やスキャナ機能において細分化される何れの機能に対応するかをさらに示すことができる。一例として、項目「プログラム種別」は、プリンタ機能において対応するPDL(Page Description Language)の種類を示すことができる。   The item “program type” indicates the function of the driver 106. For example, the item “program type” indicates whether the control target of the driver 106 is a printer function or a scanner function. The item “program type” can further indicate which function the driver 106 corresponds to in the printer function and the scanner function. As an example, the item “program type” can indicate the type of PDL (Page Description Language) corresponding to the printer function.

図13において最下層の項目「言語」は、上位の項目「プログラム種別」に示される機能に対して適用される言語(JP、EN、…)を示す。   In FIG. 13, the item “language” in the lowermost layer indicates a language (JP, EN,...) Applied to the function indicated in the upper item “program type”.

このような構成において、各実施形態では、木構造における葉ノードのそれぞれに一意にIDを関連付ける。これにより、葉ノードから順次親ノードを辿った各ノードによる情報を含む情報群に対して一意にIDが関連付けられる。   In such a configuration, each embodiment uniquely associates an ID with each leaf node in the tree structure. As a result, an ID is uniquely associated with an information group including information by each node that has sequentially followed the parent node from the leaf node.

図13の例では、モデル「Model123」、機種「Type01」、PnPID「0x1234abcd」、OSバージョン「WXOS」、OS動作ビット「32bit」、プログラム種別「PDL#A」および言語「JP」からなる情報群に対して、ID「ID#1」が一意に関連付けられる。また例えば、モデル「Model123」、機種「Type01」、PnPID「0x1234abcd」、OSバージョン「WXOS」、OS動作ビット「32bit」、プログラム種別「TWAIN#A」および言語「EN」からなる情報群に対して、ID「ID#l+1」が一意に関連付けられる。さらに例えば、モデル「Model123」、機種「Type01」、PnPID「0x1234abcd」、OSバージョン「W7OS」、OS動作ビット「32bit」、プログラム種別「PDL#B」および言語「JP」からなる情報群に対して、ID「ID#n」が一意に関連付けられる。   In the example of FIG. 13, an information group including a model “Model123”, a model “Type01”, a PnPID “0x1234abcd”, an OS version “WXOS”, an OS operation bit “32 bits”, a program type “PDL # A”, and a language “JP”. ID “ID # 1” is uniquely associated. Also, for example, for an information group consisting of model “Model123”, model “Type01”, PnPID “0x1234abcd”, OS version “WXOS”, OS operation bit “32 bits”, program type “TWAIN # A”, and language “EN” , ID “ID # l + 1” is uniquely associated. Further, for example, for an information group consisting of model “Model123”, model “Type01”, PnPID “0x1234abcd”, OS version “W7OS”, OS operation bit “32 bit”, program type “PDL # B”, and language “JP”. , ID “ID # n” is uniquely associated.

図14は、各実施形態に適用可能な更新情報の管理方法の例を示す。各実施形態では、特定情報が示す更新情報のファイルは、更新情報サーバ40において、図14(a)に示されるように、全てベースフォルダの直下に格納する。なお、ベースフォルダは、例えばURL「https://1.example.org/」に対応するものとする。   FIG. 14 shows an example of an update information management method applicable to each embodiment. In each embodiment, the update information file indicated by the specific information is all stored immediately below the base folder in the update information server 40 as shown in FIG. The base folder corresponds to the URL “https://1.example.org/”, for example.

更新情報の管理方法は、図14(a)の例に限定されない。例えば、図14(b)に示されるように、更新情報サーバ40において、特定情報が示す更新情報ファイルを複数のフォルダに分けて格納することで、更新情報の管理を行うことができる。上述したように、特定情報は、IDと対応して設定され、IDは、複数の項目の情報を含む情報群に対して一意に設定される。そのため、特定情報が示す更新情報ファイルの数が膨大となることが予測される。このように、更新情報の各ファイルを、複数のフォルダに分散させて格納することで、更新情報の管理が容易となる。   The update information management method is not limited to the example of FIG. For example, as shown in FIG. 14B, the update information can be managed by storing the update information file indicated by the specific information in a plurality of folders in the update information server 40. As described above, the specific information is set in correspondence with the ID, and the ID is uniquely set for the information group including information of a plurality of items. Therefore, it is predicted that the number of update information files indicated by the specific information will be enormous. In this way, update information can be easily managed by storing each file of update information in a plurality of folders.

各フォルダのフォルダ名は、フォルダに格納される各ファイルのファイル名の共通する文字列を用いることが考えられる。例えば、各更新情報ファイルについて、ファイル名を構成するn桁の文字列(ピリオドおよび拡張子を除く)の先頭からm桁(m<n)が共通するファイルを集めて、当該m桁の文字列をフォルダ名とするフォルダに格納する。図14(b)の例では、9桁の数字による文字列からなるファイル名(ピリオドおよび拡張子を除く)の、先頭から4桁が共通するファイルを、当該先頭から4桁の数字による文字列からなるフォルダ名のフォルダに格納している。この図14(b)の管理方法の場合、更新情報を特定するための特定情報は、図14(c)に例示されるように、ファイル名とフォルダ名とを含んだ情報となる。   As the folder name of each folder, it is possible to use a character string common to the file names of the files stored in the folder. For example, for each update information file, files having a common m-digit (m <n) from the beginning of an n-digit character string (excluding a period and an extension) constituting the file name are collected, and the m-digit character string Is stored in the folder with the folder name. In the example of FIG. 14B, a file name consisting of a 9-digit number character string (excluding the period and extension) is a file having a common 4 digits from the beginning, and a character string consisting of the 4-digit number from the beginning. It is stored in a folder with a folder name consisting of In the management method of FIG. 14B, the specification information for specifying the update information is information including a file name and a folder name as illustrated in FIG. 14C.

なお、上述では、更新情報サーバ40は、特定情報が更新情報ファイルのファイル名を直接的に示し、更新情報サーバ40に対する問い合わせのインタフェースを更新情報ファイル数分、持っているように説明したが、これはこの例に限定されない。例えば、更新情報サーバ40は、図13で説明したIDの木構造をテーブルとして持ち、木構造の各ノードに対応する情報に基づきIDを検索する構成とすることも可能である。   In the above description, the update information server 40 has been described such that the specific information directly indicates the file name of the update information file and has the same number of interfaces as the number of update information files. This is not limited to this example. For example, the update information server 40 may be configured to have the tree structure of the ID described in FIG. 13 as a table and search for the ID based on information corresponding to each node of the tree structure.

この場合、インストーラ105は、例えば、木構造の各ノードに対応する情報を引数として更新情報サーバ40に渡し、更新情報サーバ40は、この引数に基づきテーブルを参照してIDを検索する。図15は、この場合の特定情報の例を示す。図15において、「https://1.example.org/hoge/」の部分がインタフェース(I/F)部分であり、「/hoge/」の後ろが引数部分となる。すなわち、インストーラ105は、「https://1.example.org/hoge/」の部分を共通のインタフェースとして更新情報サーバ40にアクセスし、引数部分を更新情報サーバ40に渡して問い合わせを行う。なお、「/hoge/」の部分は、問い合わせの目的に応じた値が用いられる。   In this case, for example, the installer 105 passes information corresponding to each node of the tree structure as an argument to the update information server 40, and the update information server 40 searches the ID based on this argument by referring to the table. FIG. 15 shows an example of the specific information in this case. In FIG. 15, “https://1.example.org/hoge/” is an interface (I / F) part, and “/ hoge /” is an argument part. That is, the installer 105 accesses the update information server 40 using the “https://1.example.org/hoge/” portion as a common interface, and passes the argument portion to the update information server 40 to make an inquiry. Note that a value corresponding to the purpose of the inquiry is used for the part “/ hoge /”.

この図15に示す構成の場合、更新情報サーバ40は、特定情報に含まれる各引数に基づき検索を行うことになる。一方、上述した図14(a)および図14(b)に示す、ID毎の特定情報を持つ例では、特定情報により直接的にIDを取得することができる。したがって、図15に示す構成は、図14(a)および図14(b)に示す構成と比較してデータベースの負荷が高くなると考えられる。   In the case of the configuration shown in FIG. 15, the update information server 40 performs a search based on each argument included in the specific information. On the other hand, in the example having the specific information for each ID shown in FIG. 14A and FIG. 14B described above, the ID can be acquired directly from the specific information. Therefore, the configuration shown in FIG. 15 is considered to increase the load on the database as compared with the configuration shown in FIGS. 14 (a) and 14 (b).

より具体的には、第1の実施形態では、図13を用いて説明したように、木構造の葉ノード毎に一意にIDが対応付けられるため、ノードの階層が多くなると、IDすなわちドライバ種類の数が膨大となることが予測される。このような膨大なIDを更新情報サーバ40から検索する場合、更新情報サーバ40は、図15で説明した各IDでインタフェースを共通とする構成よりも、上述した図14(a)および図14(b)に示すID毎にインタフェースを持つ構成とした方が、負荷がより小さくなり好ましい。   More specifically, in the first embodiment, as described with reference to FIG. 13, an ID is uniquely associated with each leaf node of the tree structure. Is expected to be enormous. When searching for such an enormous ID from the update information server 40, the update information server 40 has the above-described configuration shown in FIG. 14A and FIG. The configuration having an interface for each ID shown in b) is preferable because the load becomes smaller.

例えば、ドライバ106をクライアントPC10にインストールする際には、インストーラ105は、ドライバ106の制御対象や、ドライバ106の動作環境(OSバージョンなど)に応じて適切なドライバプログラムを決定する必要がある。この場合には、この引数に基づきテーブルを参照してIDを検索する方法が適している。   For example, when the driver 106 is installed in the client PC 10, the installer 105 needs to determine an appropriate driver program according to the control target of the driver 106 and the operating environment (such as the OS version) of the driver 106. In this case, a method of searching for an ID by referring to a table based on this argument is suitable.

(第1の実施形態の変形例)
次に、第1の実施形態の変形例について説明する。上述した第1の実施形態では、インストーラ105(ドライバ情報取得部123)は、ドライバ106の更新チェックに用いるドライバ106の情報を、ドライバ106(ID格納部131)から取得していた。これに対して、第1の実施形態の変形例では、インストーラ105は、ドライバ106の更新チェックに用いるドライバ情報を、クライアントPC10内の所定の記憶領域から取得する。
(Modification of the first embodiment)
Next, a modification of the first embodiment will be described. In the first embodiment described above, the installer 105 (driver information acquisition unit 123) acquires the information of the driver 106 used for the update check of the driver 106 from the driver 106 (ID storage unit 131). On the other hand, in the modified example of the first embodiment, the installer 105 acquires driver information used for an update check of the driver 106 from a predetermined storage area in the client PC 10.

第1の実施形態の変形例では、インストーラ105は、インストールを行うドライバ106のドライバ情報を、当該ドライバ106のクライアントPC10へのインストール時に、当該クライアントPC10が有するストレージ54内の所定の記憶領域に格納する。インストーラ105がドライバ情報を格納する所定の記憶領域としては、例えばクライアントPC10のOSが管理する管理領域を用いることができる。OSがWindows(登録商標)であれば、このOS管理領域は、レジストリを適用可能である。OS管理領域へのアクセスは、OSを介して行われる。これに限らず、ドライバ情報を、クライアントPC10のストレージ54内に所定のフォルダを作成し、このフォルダに格納してもよい。   In the modification of the first embodiment, the installer 105 stores the driver information of the driver 106 to be installed in a predetermined storage area in the storage 54 of the client PC 10 when the driver 106 is installed in the client PC 10. To do. As a predetermined storage area in which the installer 105 stores driver information, for example, a management area managed by the OS of the client PC 10 can be used. If the OS is Windows (registered trademark), a registry can be applied to this OS management area. Access to the OS management area is performed via the OS. Not limited to this, the driver information may be created in a predetermined folder in the storage 54 of the client PC 10 and stored in this folder.

図16は、第1の実施形態の変形例に係るドライバ106のインストール手順の例を示すシーケンス図である。なお、図16において、上述した図1〜図4と共通する部分には同一の符号を付して、詳細な説明を省略する。   FIG. 16 is a sequence diagram illustrating an example of an installation procedure of the driver 106 according to the modification of the first embodiment. In FIG. 16, the same reference numerals are given to the portions common to FIGS. 1 to 4 described above, and detailed description thereof is omitted.

図16において、ドライバパッケージ1060は、ドライバ106をインストールするためのデータが格納されるファイルである。ドライバパッケージ1060は、例えば、ドライバ106のプログラムファイル(オブジェクト)と、ドライバ106のインストールに用いるドライバ情報が記述されたファイルとが格納される。ドライバ情報は、例えば、このドライバパッケージ1060によりインストールされるドライバ106のIDと、当該ドライバ106に付された名称とを含む。   In FIG. 16, a driver package 1060 is a file in which data for installing the driver 106 is stored. The driver package 1060 stores, for example, a program file (object) of the driver 106 and a file in which driver information used for installing the driver 106 is described. The driver information includes, for example, the ID of the driver 106 installed by the driver package 1060 and the name given to the driver 106.

インストーラ105は、ドライバパッケージ1060から各ファイルを取り出して、ドライバ106のインストールを行う。クライアントPC10は、ドライバパッケージ1060を、ネットワーク30を介してサーバなどから取得してもよいし、ドライバパッケージ1060が記録されたCD(Compact Disk)やDVD(Digital Versatile Disk)といった記録媒体から取得してもよい。   The installer 105 extracts each file from the driver package 1060 and installs the driver 106. The client PC 10 may acquire the driver package 1060 from a server or the like via the network 30, or may acquire it from a recording medium such as a CD (Compact Disk) or a DVD (Digital Versatile Disk) on which the driver package 1060 is recorded. Also good.

図16の処理に先立って、クライアントPC10は、ドライバパッケージ1060を取得してストレージ54に格納しているものとする。例えば、クライアントPC10の入力部101に対するユーザ操作に応じて、インストーラ105のUI122に対してドライバ106のインストールが指示される(ステップS200)。UI122は、この指示をドライバ情報取得部123に伝えると共に、ドライバ情報取得部123に対してドライバ情報の取得を要求する(ステップS201)。   Prior to the processing of FIG. 16, the client PC 10 acquires the driver package 1060 and stores it in the storage 54. For example, installation of the driver 106 is instructed to the UI 122 of the installer 105 in response to a user operation on the input unit 101 of the client PC 10 (step S200). The UI 122 transmits this instruction to the driver information acquisition unit 123 and requests the driver information acquisition unit 123 to acquire driver information (step S201).

ドライバ情報取得部123は、UI122からのドライバ情報取得要求に応じて、ドライバパッケージ1060からドライバ情報を取得する(ステップS202、ステップS203)。ドライバ情報取得部123は、取得したドライバ情報を記憶部104に渡し、記憶部104に対して、渡したドライバ情報の書き込みを要求する(ステップS204)。記憶部104は、この要求に応じて、ドライバ情報取得部123から渡されたドライバ情報を、OSの管理領域(例えばレジストリ)に書き込む(ステップS205)。例えば、記憶部104は、クライアントPC10のOSに対して、ドライバ情報のOS管理領域への書き込みを依頼する。   The driver information acquisition unit 123 acquires driver information from the driver package 1060 in response to a driver information acquisition request from the UI 122 (steps S202 and S203). The driver information acquisition unit 123 passes the acquired driver information to the storage unit 104, and requests the storage unit 104 to write the passed driver information (step S204). In response to this request, the storage unit 104 writes the driver information passed from the driver information acquisition unit 123 into the OS management area (eg, registry) (step S205). For example, the storage unit 104 requests the OS of the client PC 10 to write driver information to the OS management area.

図17は、第1の実施形態の変形例に係る、OS管理領域200に書き込まれたドライバ情報の例を示す。この例では、ドライバ情報に含まれる、ドライバ106のIDが、例えばドライバ106の種別を示す情報(この例では「プリンタA」、「プリンタB」)と関連付けられて、OS管理領域200に書き込まれている。OS管理領域200に対して、ドライバ情報に含まれる他の情報を、さらにIDに関連付けて書き込むようにしてもよい。なお、OS管理領域200は、インストーラ105が対応可能なドライバ以外のドライバのドライバ情報を書き込むことができる。   FIG. 17 shows an example of driver information written in the OS management area 200 according to a modification of the first embodiment. In this example, the ID of the driver 106 included in the driver information is written in the OS management area 200 in association with, for example, information indicating the type of the driver 106 (in this example, “printer A” and “printer B”). ing. Other information included in the driver information may be written in the OS management area 200 in association with the ID. The OS management area 200 can write driver information of drivers other than the drivers that can be handled by the installer 105.

ドライバ情報取得部123は、ステップS204のドライバ情報書き込み要求の後、ドライバインストール部121に対してドライバのインストールを指示する(ステップS206)。ドライバインストール部121は、ドライバパッケージ1060から各ファイルを取り出して、ドライバ106のインストール処理を行う(ステップS207)。ドライバインストール部121は、ドライバ106のインストール処理が完了すると、その旨をUI122に通知する(ステップS208)。UI122は、インストール完了通知を表示させるよう、表示部100に指示する(ステップS209)。表示部100は、この指示に従い、インストールが完了した旨をディスプレイ56に表示させる。   After the driver information write request in step S204, the driver information acquisition unit 123 instructs the driver installation unit 121 to install a driver (step S206). The driver installation unit 121 extracts each file from the driver package 1060 and performs an installation process of the driver 106 (step S207). When the installation process of the driver 106 is completed, the driver installation unit 121 notifies the UI 122 to that effect (step S208). The UI 122 instructs the display unit 100 to display an installation completion notification (step S209). In accordance with this instruction, the display unit 100 displays on the display 56 that the installation is complete.

図18は、第1の実施形態の変形例に係る、ドライバ106の更新手順の例を示すシーケンス図である。なお、図18において、上述した図1〜図4と共通する部分には同一の符号を付して、詳細な説明を省略する。   FIG. 18 is a sequence diagram illustrating an example of an update procedure of the driver 106 according to a modification of the first embodiment. In FIG. 18, the same reference numerals are given to portions common to those in FIGS. 1 to 4 described above, and detailed description thereof is omitted.

例えば、クライアントPC10の入力部101に対するユーザ操作に応じて、インストーラ105のUI122に対してドライバ106の更新チェックが指示される(ステップS220)。この指示は、UI122からドライバ情報取得部123に伝えられる(ステップS221)。   For example, in response to a user operation on the input unit 101 of the client PC 10, an update check of the driver 106 is instructed to the UI 122 of the installer 105 (step S220). This instruction is transmitted from the UI 122 to the driver information acquisition unit 123 (step S221).

ドライバ情報取得部123は、この更新チェックの指示を受けて、記憶部104に対してドライバ情報の取得を要求する(ステップS222)。記憶部104は、この要求に応じて、OS管理領域200から、IDとドライバの種別を示す情報とが関連付けられて書き込まれた全てのドライバ情報を取得する。記憶部104は、取得したドライバ情報をドライバ情報取得部123に渡す(ステップS223)。   Upon receiving this update check instruction, the driver information acquisition unit 123 requests the storage unit 104 to acquire driver information (step S222). In response to this request, the storage unit 104 acquires all the driver information in which the ID and the information indicating the driver type are written in association with each other from the OS management area 200. The storage unit 104 passes the acquired driver information to the driver information acquisition unit 123 (step S223).

ドライバ情報取得部123は、記憶部104から渡されたドライバ情報から、インストーラ105が対応可能なドライバ106のドライバ情報を選択する。例えば、ドライバ情報取得部123は、ドライバ情報に含まれるIDに基づき、当該ドライバ情報が、インストーラ105が対応可能なドライバ106であるか否かを判別する。判別は、例えば、ドライバ情報から、上述した所定のフォーマットに従ったIDが取得できたか否かで行う。   The driver information acquisition unit 123 selects driver information of the driver 106 that the installer 105 can handle from the driver information passed from the storage unit 104. For example, based on the ID included in the driver information, the driver information acquisition unit 123 determines whether the driver information is a driver 106 that the installer 105 can handle. The determination is made, for example, based on whether or not an ID according to the predetermined format described above has been acquired from the driver information.

以降の処理は、上述した、図7のステップS110以降の処理と略同様である。例えばドライバ情報取得部123は、ステップS222およびステップS223の処理で取得した各IDを更新情報取得部1201に渡し、各IDに対応する更新情報の取得を更新情報取得部1201に要求する(ステップS224)。更新情報取得部1201は、ドライバ情報取得部123から渡されたIDに基づき、上述した特定情報を生成する。更新情報取得部1201は、生成した特定情報に従い、更新情報サーバ40に対して更新情報を要求し(ステップS225)、要求に応じて更新情報サーバ40から送信された更新情報を取得する(ステップS226)。   The subsequent processing is substantially the same as the processing after step S110 in FIG. For example, the driver information acquisition unit 123 passes each ID acquired in the processes of step S222 and step S223 to the update information acquisition unit 1201, and requests the update information acquisition unit 1201 to acquire update information corresponding to each ID (step S224). ). The update information acquisition unit 1201 generates the specific information described above based on the ID passed from the driver information acquisition unit 123. The update information acquisition unit 1201 requests update information from the update information server 40 according to the generated specific information (step S225), and acquires the update information transmitted from the update information server 40 in response to the request (step S226). ).

各IDについて取得された各更新情報は、更新情報取得部1201からドライバ情報取得部123を介してUI122に渡される(ステップS227、ステップS228)。なお、この場合においても、更新情報取得部1201は、各更新情報に基づき、クライアントPC10にインストールされている各ドライバのうち、更新対象となるドライバを選択することができる。UI122は、渡された各更新情報に基づき、更新対象となるドライバを示す情報を表示部100に通知する(ステップS229)。   Each update information acquired for each ID is passed from the update information acquisition unit 1201 to the UI 122 via the driver information acquisition unit 123 (steps S227 and S228). Also in this case, the update information acquisition unit 1201 can select a driver to be updated from among the drivers installed in the client PC 10 based on each update information. The UI 122 notifies the display unit 100 of information indicating a driver to be updated based on each piece of update information passed (step S229).

表示部100は、UI122から通知された情報に基づき、更新対象のドライバを示す表示画面300(図11(a)参照)をディスプレイ56に表示させる。このとき、表示部100は、図11(b)に示したような、更新するドライバを選択可能な表示画面300’を表示させてもよい。   The display unit 100 causes the display 56 to display a display screen 300 (see FIG. 11A) indicating the driver to be updated based on the information notified from the UI 122. At this time, the display unit 100 may display a display screen 300 ′ on which a driver to be updated can be selected as shown in FIG.

表示画面300に対するドライバの更新操作が入力部101からUI122に通知される(ステップS230)。UI122は、更新対象となるドライバの更新情報をオブジェクト取得部1202に渡し、オブジェクト取得部1202に対してドライバの更新を指示する(ステップS231)。   A driver update operation for the display screen 300 is notified from the input unit 101 to the UI 122 (step S230). The UI 122 passes update information of the driver to be updated to the object acquisition unit 1202, and instructs the object acquisition unit 1202 to update the driver (step S231).

オブジェクト取得部1202は、UI122から渡された更新情報に基づき、オブジェクト配置サーバ41に対してオブジェクトの取得要求を送信し(ステップS232)、この要求に応じてオブジェクト配置サーバ41から送信されたオブジェクトを取得する(ステップS233)。   Based on the update information passed from the UI 122, the object acquisition unit 1202 transmits an object acquisition request to the object arrangement server 41 (step S232), and the object transmitted from the object arrangement server 41 in response to this request is sent. Obtain (step S233).

オブジェクト取得部1202は、取得したオブジェクトのインストールを、ドライバインストール部121に指示する(ステップS234)。ドライバインストール部121は、この指示に応じて、オブジェクト配置サーバ41から取得したオブジェクトのインストール処理を実行し(ステップS235)、インストール処理が完了すると、その旨をUI122に通知する(ステップS236)。UI122は、この通知に応じて、ドライバのインストールが完了した旨を示すインストール完了画面を表示させるよう、表示部100に指示する(ステップS237)。表示部100は、この指示に従い、インストールが完了した旨を示すインストール完了画面310(図12参照)をディスプレイ56に表示させる。   The object acquisition unit 1202 instructs the driver installation unit 121 to install the acquired object (step S234). In response to this instruction, the driver installation unit 121 executes an installation process of the object acquired from the object placement server 41 (step S235), and notifies the UI 122 of the completion of the installation process (step S236). In response to this notification, the UI 122 instructs the display unit 100 to display an installation completion screen indicating that the driver installation has been completed (step S237). In accordance with this instruction, display unit 100 causes display 56 to display an installation completion screen 310 (see FIG. 12) indicating that the installation has been completed.

(第2の実施形態)
次に、第2の実施形態について説明する。上述した第1の実施形態では、クライアントPC10に1種類のドライバ106がインストールされているものとして説明したが、実際には、クライアントPC10には、複数種類のドライバがインストールされている場合が多い。ここで、ドライバの種類は、クライアントPC10に対するドライバのインストール方法に応じたものであるとする。例えば、プリンタ装置とスキャナ装置とでは、ドライバの構造が異なり、インストール方法も異なる。
(Second Embodiment)
Next, a second embodiment will be described. In the above-described first embodiment, it has been described that one type of driver 106 is installed in the client PC 10. However, in practice, a plurality of types of drivers are often installed in the client PC 10. Here, it is assumed that the driver type corresponds to the driver installation method for the client PC 10. For example, the printer device and the scanner device have different driver structures and different installation methods.

さらに、クライアントPC10には、アプリケーションプログラムもインストールされる。アプリケーションプログラムは、ドライバに付随してインストールされる場合もあるし、単独でインストールされる場合もある。なお、アプリケーションプログラムは、比較的狭い範囲の仕事を想定して、ユーザの特定の要求に近接して作成されたプログラムであって、一般的には、プリンタやスキャナといった、クライアントPC10に対する外部装置の直接的な制御は、行わない。アプリケーションプログラムは、インストール方法が各ドライバとは異なる。   Furthermore, an application program is also installed in the client PC 10. The application program may be installed along with the driver or may be installed alone. Note that the application program is a program created close to a user's specific request assuming a relatively narrow range of work. Generally, an application program such as a printer or a scanner is an external device for the client PC 10. There is no direct control. The application program is installed differently from each driver.

この第2の実施形態では、このインストール方法が異なる複数種類のドライバおよびアプリケーションプログラムがクライアントPC10にインストールされている場合の、プログラム(ドライバプログラムおよびアプリケーションプログラム)の更新方法について説明する。   In the second embodiment, a method for updating a program (driver program and application program) when a plurality of types of drivers and application programs having different installation methods are installed in the client PC 10 will be described.

図19は、第2の実施形態に適用可能な情報処理システムの一例の構成を示す。なお、図19において、上述した図1と共通する部分には同一の符号を付して、詳細な説明を省略する。   FIG. 19 shows an example of the configuration of an information processing system applicable to the second embodiment. Note that, in FIG. 19, the same reference numerals are given to portions common to FIG. 1 described above, and detailed description thereof is omitted.

図19において、ネットワーク22に対して、画像形成装置20cとして、プリンタ機能200およびスキャナ機能201を含む複数の機能を有するMFP(Multi Function Printer)が接続されている。クライアントPC10は、画像形成装置20cとネットワーク22を介して通信を行い、画像形成装置20cに対してプリンタ機能200により印刷を実行させることもできるし、スキャナ機能201により原稿を読み取った画像データを取得することもできる。また、クライアントPC10は、プリンタ機能200により印刷を行うための印刷データの生成、編集や、スキャナ機能201により取得した画像データの加工などの各種のデータ処理を実行することもできる。   In FIG. 19, an MFP (Multi Function Printer) having a plurality of functions including a printer function 200 and a scanner function 201 is connected to the network 22 as an image forming apparatus 20c. The client PC 10 communicates with the image forming apparatus 20c via the network 22, and can cause the image forming apparatus 20c to execute printing by the printer function 200, and obtain image data obtained by reading a document by the scanner function 201. You can also The client PC 10 can also execute various data processing such as generation and editing of print data for printing by the printer function 200 and processing of image data acquired by the scanner function 201.

図20は、第2の実施形態に係るクライアントPC10の機能を説明するための一例の機能ブロック図である。なお、図20において、上述した図3と共通する部分には同一の符号を付して、詳細な説明を省略する。また、第2の実施形態に係るクライアントPC10は、ハードウェア構成としては、第1の実施形態において図2を用いて説明した構成をそのまま適用できるので、ここでの説明を省略する。   FIG. 20 is an exemplary functional block diagram for explaining functions of the client PC 10 according to the second embodiment. In FIG. 20, the same reference numerals are given to the same parts as those in FIG. 3 described above, and detailed description thereof is omitted. Further, the client PC 10 according to the second embodiment can apply the configuration described with reference to FIG. 2 in the first embodiment as it is as the hardware configuration, and thus the description thereof is omitted here.

図20において、クライアントPC10は、ドライバとして、プリンタ機能200を制御するためのプリンタドライバ106aと、スキャナ機能201を制御するためのスキャナドライバ106bとを有する。   In FIG. 20, the client PC 10 includes a printer driver 106 a for controlling the printer function 200 and a scanner driver 106 b for controlling the scanner function 201 as drivers.

また、クライアントPC10は、アプリケーションプログラム106cを含むことができる。アプリケーションプログラム106cは、データに所定のデータ処理を施す。例えば、アプリケーションプログラム106cは、データに処理を施して印刷データを生成し、生成した印刷データをプリンタドライバ106aに渡す。プリンタドライバ106aは、アプリケーションプログラム106cから渡された印刷データに従いプリンタ機能200を制御する。また例えば、アプリケーションプログラム106cは、スキャナドライバ106bに対して指示を出してスキャナ機能201を制御させて画像データを取得し、取得した画像データに画像処理を施すことができる。アプリケーションプログラム106cの機能は、これらに限られない。   The client PC 10 can include an application program 106c. The application program 106c performs predetermined data processing on the data. For example, the application program 106c processes the data to generate print data, and passes the generated print data to the printer driver 106a. The printer driver 106a controls the printer function 200 in accordance with the print data passed from the application program 106c. Further, for example, the application program 106c can issue an instruction to the scanner driver 106b to control the scanner function 201 to acquire image data, and can perform image processing on the acquired image data. The function of the application program 106c is not limited to these.

インストーラ105’は、これらの、インストール方法が異なるプリンタドライバ106a、スキャナドライバ106bおよびアプリケーションプログラム106cをインストール可能とされている。   The installer 105 'can install the printer driver 106a, the scanner driver 106b, and the application program 106c, which have different installation methods.

ここで、インストーラ105’が実行するインストール処理および更新処理について、概略的に説明する。なお、以下では、特に説明のない限り、インストール処理および更新処理を、インストール処理で代表させて説明する。   Here, an installation process and an update process executed by the installer 105 'will be schematically described. In the following description, unless otherwise specified, the installation process and the update process will be described using the installation process as a representative.

インストール処理は、インストール対象のプログラムの種別に応じて、OSにより予め定められた手順に従い実行される。そのため、プログラムの種別毎に専用のインストーラを用意する必要がある。例えば、ドライバプログラムとアプリケーションプログラムとでは、インストール方法が異なる。また、制御対象の機種の種別が互いに異なるドライバプログラムであるプリンタドライバとスキャナドライバとでは、OSに定められるインストール方法が異なる。したがって、アプリケーションプログラム、プリンタドライバおよびスキャナドライバは、それぞれ専用のインストーラが用意される。   The installation process is executed according to a procedure predetermined by the OS according to the type of program to be installed. Therefore, it is necessary to prepare a dedicated installer for each type of program. For example, the installation method differs between the driver program and the application program. Also, the installation method defined in the OS differs between a printer driver and a scanner driver, which are driver programs having different types of models to be controlled. Therefore, a dedicated installer is prepared for each of the application program, the printer driver, and the scanner driver.

図21は、第2の実施形態に係るインストーラ105’の一例の構成を示す。なお、図21において、上述した図4と共通する部分には同一の符号を付して、詳細な説明を省略する。図21において、インストーラ105’は、通信部120と、プログラムインストール部1215と、UI122と、プログラム情報取得部1230と、インストーラ判別部124とを含む。また、プログラムインストール部1215は、プログラム種別毎のインストールを実行するためのプリンタ部1210と、スキャナ部1211と、アプリケーションプログラム部1212とを含む。プリンタ部1210は、プリンタドライバ106aのインストールを実行する。スキャナ部1211は、スキャナドライバ106bのインストールを実行する。また、アプリケーションプログラム部1212は、アプリケーションプログラム106cのインストールを実行する。   FIG. 21 shows an exemplary configuration of the installer 105 ′ according to the second embodiment. In FIG. 21, the same reference numerals are given to the same parts as those in FIG. 4 described above, and detailed description thereof is omitted. In FIG. 21, the installer 105 ′ includes a communication unit 120, a program installation unit 1215, a UI 122, a program information acquisition unit 1230, and an installer determination unit 124. The program installation unit 1215 includes a printer unit 1210 for executing installation for each program type, a scanner unit 1211, and an application program unit 1212. The printer unit 1210 executes installation of the printer driver 106a. The scanner unit 1211 executes installation of the scanner driver 106b. The application program unit 1212 executes installation of the application program 106c.

プログラム情報取得部1230は、クライアントPC10にインストールされているインストールパッケージから、プログラム情報を取得する。プログラム情報は、上述したドライバ情報に対応するもので、少なくともプログラムの識別情報(ID)を含む。プログラム情報は、プログラムの種別を示す情報をさらに含んでもよい。インストーラ判別部124は、プログラムのインストール時に、プログラムインストール部1215に含まれるプリンタ部1210、スキャナ部1211およびアプリケーションプログラム部1212のうち何れを用いるかを判別する。   The program information acquisition unit 1230 acquires program information from an installation package installed on the client PC 10. The program information corresponds to the driver information described above and includes at least program identification information (ID). The program information may further include information indicating the type of program. The installer discriminating unit 124 discriminates which of the printer unit 1210, the scanner unit 1211, and the application program unit 1212 included in the program installation unit 1215 is used when installing the program.

インストーラ105’は、プログラムインストールの指示に応じて、インストール対象のプログラムが格納されるインストールパッケージからプログラム情報およびメタデータを取得して、インストール可能なプログラムの一覧を作成する。インストーラ105’は、インストール対象のプログラム種別に応じたインストール処理を実行する。   In response to an instruction for program installation, the installer 105 ′ acquires program information and metadata from an installation package in which a program to be installed is stored, and creates a list of installable programs. The installer 105 'executes an installation process according to the program type to be installed.

より詳細には、インストーラ105’は、インストーラ判別部124により、取得したプログラム情報に基づきインストール対象のプログラム種別を判別する。そして、インストーラ105’は、インストーラ判別部124の判別結果に応じて、プログラムインストール部1215に含まれるプリンタ部1210、スキャナ部1211およびアプリケーションプログラム部1212から、インストール対象のプログラム種別に応じたものを選択して、インストール処理を実行する。   More specifically, the installer 105 ′ uses the installer determination unit 124 to determine the program type to be installed based on the acquired program information. Then, the installer 105 ′ selects one corresponding to the program type to be installed from the printer unit 1210, the scanner unit 1211, and the application program unit 1212 included in the program installation unit 1215 according to the determination result of the installer determination unit 124. And execute the installation process.

プリンタ部1210、スキャナ部1211およびアプリケーションプログラム部1212それぞれによるインストール処理について、概略的に説明する。   An installation process by the printer unit 1210, the scanner unit 1211, and the application program unit 1212 will be schematically described.

プリンタ部1210は、クライアントPC10に対するプリンタドライバのインストールを実行する。プリンタ部1210が実行するプリンタドライバのインストール処理は、プリンタドライバを構成する各ファイルを、クライアントPC10上にOSが定めたフォルダに格納する処理と、印刷ポートの設定と、論理プリンタキューの作成と、OSがWindows(登録商標)の場合にはレジストリの初期設定とを含む。なお、論理プリンタキューの作成処理は、例えばインストールされるプリンタドライバに対応するプリンタを示すアイコンの作成処理を含む。   The printer unit 1210 executes installation of a printer driver for the client PC 10. The printer driver installation process executed by the printer unit 1210 includes a process for storing each file constituting the printer driver in a folder determined by the OS on the client PC 10, a print port setting, a logical printer queue creation, When the OS is Windows (registered trademark), initial settings of the registry are included. Note that the logical printer queue creation processing includes, for example, icon creation processing indicating a printer corresponding to the installed printer driver.

スキャナ部1211は、クライアントPC10に対するスキャナドライバのインストールを実行する。スキャナ部1211が実行するスキャナドライバのインストール処理は、スキャナドライバを構成する各ファイルを、クライアントPC10上にOSが定めたフォルダに格納する処理と、スキャンポートの設定処理とを含む。   The scanner unit 1211 executes installation of a scanner driver for the client PC 10. The scanner driver installation process executed by the scanner unit 1211 includes a process for storing each file constituting the scanner driver in a folder defined by the OS on the client PC 10 and a scan port setting process.

アプリケーションプログラム部1212は、アプリケーションプログラムのインストールを実行する。アプリケーションプログラム部1212が実行するアプリケーションプログラムのインストール処理は、アプリケーションプログラムを構成する各ファイルを、クライアントPC10上に作成した所定のフォルダに格納する処理と、OSがWindows(登録商標)の場合にはレジストリの初期設定およびスタートメニューへの登録とを含む。   The application program unit 1212 executes installation of an application program. The installation process of the application program executed by the application program unit 1212 includes a process for storing each file constituting the application program in a predetermined folder created on the client PC 10, and a registry when the OS is Windows (registered trademark). Initial settings and registration to the start menu.

なお、アプリケーションプログラムの構成ファイルの格納フォルダは、OSにより用意されたフォルダ(OSがWindows(登録商標)の場合フォルダ「Program Files」)を用いることができる。これに限らず、クライアントPC10に作成した任意のフォルダに構成ファイルを格納してもよい。   Note that a folder prepared by the OS (a folder “Program Files” when the OS is Windows (registered trademark)) can be used as the storage folder for the configuration file of the application program. However, the configuration file may be stored in an arbitrary folder created in the client PC 10.

インストーラ105’が対応可能なアプリケーションプログラムとしては、プロジェクションアプリケーション、電子黒板ビューア、MFP制御アプリケーションなどが考えられる。これらのうち、プロジェクションアプリケーションは、プロジェクタ装置へのクライアントPC10の表示画面の投射や、クライアントPC10からプロジェクタ装置の設定を行うアプリケーションプログラムである。また、電子黒板ビューアは、タッチパネルを用いた描画を可能とした電子黒板にユーザが操作を行うことで生成した画像などのクライアントPC10での閲覧や、クライアントPC10から電子黒板に対する設定を行うためのアプリケーションプログラムである。また、MFP制御アプリケーションは、MFPなどの画像形成装置の操作をクライアントPC10上で行うためのアプリケーションプログラムである。   Examples of application programs that can be handled by the installer 105 'include a projection application, an electronic blackboard viewer, and an MFP control application. Among these, the projection application is an application program for projecting the display screen of the client PC 10 onto the projector apparatus and setting the projector apparatus from the client PC 10. The electronic blackboard viewer is an application for browsing on the client blackboard such as an image generated by the user's operation on the electronic blackboard that can be drawn using the touch panel, and for setting the electronic blackboard from the client PC 10 It is a program. The MFP control application is an application program for operating the image forming apparatus such as an MFP on the client PC 10.

さらに、インストーラ105’が対応可能なアプリケーションプログラムとして、クラウドストレージを利用するためのアプリケーションプログラムや、MFPといった画像形成装置や、プロジェクタ装置といった機器の、WiFi(登録商標)などの無線通信の設定を行う設定ツールが考えられる。   Further, as an application program that can be handled by the installer 105 ′, a wireless communication setting such as WiFi (registered trademark) is set for an application program for using a cloud storage, an image forming apparatus such as an MFP, or a device such as a projector apparatus. A configuration tool is conceivable.

図22は、第2の実施形態に係るプリンタドライバ106a、スキャナドライバ106bおよびアプリケーションプログラム106cのインストール手順の例を示すシーケンス図である。なお、図22において、上述した図1、図2、図20および図21と共通する部分には同一の符号を付して、詳細な説明を省略する。以下では、適宜、プリンタドライバ106a、スキャナドライバ106bおよびアプリケーションプログラム106cを、「プログラム」として代表させて記述する。   FIG. 22 is a sequence diagram illustrating an example of an installation procedure of the printer driver 106a, the scanner driver 106b, and the application program 106c according to the second embodiment. Note that, in FIG. 22, the same reference numerals are given to portions common to FIGS. 1, 2, 20, and 21 described above, and detailed description thereof is omitted. Hereinafter, the printer driver 106a, the scanner driver 106b, and the application program 106c will be described as a “program” as appropriate.

図22において、インストールパッケージ1061は、プログラムをインストールするためのデータが格納されるファイルであって、プログラムを構成する各ファイル(オブジェクト)と、プログラムのインストールに用いるプログラム情報が記述されたファイルとが格納される。インストールパッケージ1061の例として、プリンタドライバ106aまたはスキャナドライバ106bが格納されるドライバパッケージや、アプリケーションプログラム106cが格納されるアプリケーションパッケージがある。   In FIG. 22, an installation package 1061 is a file in which data for installing a program is stored. Each file (object) constituting the program and a file in which program information used for installing the program is described. Stored. Examples of the installation package 1061 include a driver package that stores the printer driver 106a or the scanner driver 106b and an application package that stores the application program 106c.

プログラム情報は、例えば、このインストールパッケージ1061によりインストールされるプログラムのIDと、当該プログラムに付された名称と、当該プログラムのクラス(class)情報とを含む。クラス情報は、例えば、当該プログラムの種別を示す種別情報である。当該プログラムがプリンタドライバ106aやスキャナドライバ106bといったドライバプログラムの場合、クラス情報は、当該プログラムの制御対象を識別するために用いることができる。この場合のより具体的な例として、クラス情報は、そのドライバの制御対象がプリンタおよびスキャナの何れであるかを示す。   The program information includes, for example, an ID of a program installed by the installation package 1061, a name given to the program, and class information of the program. The class information is, for example, type information indicating the type of the program. When the program is a driver program such as the printer driver 106a or the scanner driver 106b, the class information can be used to identify a control target of the program. As a more specific example in this case, the class information indicates whether the driver is to be controlled by a printer or a scanner.

図22の処理に先立って、クライアントPC10は、インストールパッケージ1061を、ネットワーク30や、CD、DVDなどの記録媒体を介して取得し、ストレージ54に格納しているものとする。例えば、クライアントPC10の入力部101に対するユーザ操作に応じて、インストーラ105’のUI122に対してプログラムのインストールが指示される(ステップS300)。UI122は、この指示をインストーラ判別部124に伝える(ステップS301)。インストーラ判別部124は、この指示に応じて、プログラム情報取得部1230に対してプログラム情報の取得を要求する(ステップS302)。   Prior to the processing of FIG. 22, the client PC 10 acquires the installation package 1061 via the network 30 or a recording medium such as a CD or DVD and stores it in the storage 54. For example, in response to a user operation on the input unit 101 of the client PC 10, installation of a program is instructed to the UI 122 of the installer 105 '(step S300). The UI 122 transmits this instruction to the installer determination unit 124 (step S301). In response to this instruction, the installer determination unit 124 requests the program information acquisition unit 1230 to acquire program information (step S302).

プログラム情報取得部1230は、UI122からのプログラム情報取得要求に応じて、インストールパッケージ1061からプログラム情報を取得する(ステップS303、ステップS304)。プログラム情報取得部1230は、取得したプログラム情報を記憶部104に渡し、記憶部104に対して、渡したプログラム情報の書き込みを要求する(ステップS305)。記憶部104は、この要求に応じて、プログラム情報取得部1230から渡されたプログラム情報を、OS管理領域200に書き込む(ステップS306)。   The program information acquisition unit 1230 acquires program information from the installation package 1061 in response to a program information acquisition request from the UI 122 (steps S303 and S304). The program information acquisition unit 1230 transfers the acquired program information to the storage unit 104, and requests the storage unit 104 to write the transferred program information (step S305). In response to this request, the storage unit 104 writes the program information passed from the program information acquisition unit 1230 into the OS management area 200 (step S306).

図23は、第2の実施形態に係る、OS管理領域200に書き込まれたプログラム情報の例を示す。この例では、プログラム情報に含まれる、プログラムのIDと、プログラムのクラス情報(プリンタ、スキャナまたはアプリケーションプログラム)と、プログラムの名称とが関連付けられて、OS管理領域200に書き込まれている。図23の例では、クラス情報は、プログラム種別として記載されている。   FIG. 23 shows an example of program information written in the OS management area 200 according to the second embodiment. In this example, the program ID, the program class information (printer, scanner, or application program) included in the program information, and the program name are associated with each other and written in the OS management area 200. In the example of FIG. 23, the class information is described as a program type.

また、プログラム情報取得部1230は、ステップS303およびステップS304で取得したプログラム情報をインストーラ判別部124に渡す(ステップS307)。インストーラ判別部124は、プログラム情報取得部1230から渡されたプログラム情報に含まれるクラス情報に基づき、インストールパッケージ1061によりインストールされるプログラムの種別を判別する(ステップS308)。   The program information acquisition unit 1230 passes the program information acquired in steps S303 and S304 to the installer determination unit 124 (step S307). The installer determination unit 124 determines the type of program installed by the installation package 1061 based on the class information included in the program information passed from the program information acquisition unit 1230 (step S308).

ステップS308で、インストーラ判別部124により、インストールパッケージ1061によりインストールされるプログラムがプリンタドライバ106aであると判別された場合、ステップS3000の処理が行われ、プリンタドライバ106aのインストールが実行される。ステップS308で、インストールされるプログラムがスキャナドライバ106bであると判別された場合、ステップS3001の処理が行われ、スキャナドライバ106bのインストールが実行される。また、ステップS308で、インストールされるプログラムがアプリケーションプログラム106cであると判別された場合、ステップS3002の処理が行われ、アプリケーションプログラム106cのインストールが実行される。   In step S308, when the installer determining unit 124 determines that the program installed by the installation package 1061 is the printer driver 106a, the process of step S3000 is performed, and the printer driver 106a is installed. If it is determined in step S308 that the program to be installed is the scanner driver 106b, the process of step S3001 is performed, and the scanner driver 106b is installed. If it is determined in step S308 that the program to be installed is the application program 106c, the process of step S3002 is performed, and the application program 106c is installed.

ステップS3000において、インストーラ判別部124は、プログラムインストール部1210におけるプリンタ部1210に対してインストールパッケージ1061によるプログラムのインストールを指示する(ステップS310)。プリンタ部1210は、インストールパッケージ1061から各ファイルを取り出して、プリンタドライバ106aのインストール処理を行う(ステップS311)。プリンタ部1210は、プリンタドライバ106aのインストール処理が完了すると、その旨をUI122に通知する(ステップS312)。   In step S3000, the installer determination unit 124 instructs the printer unit 1210 in the program installation unit 1210 to install a program using the installation package 1061 (step S310). The printer unit 1210 extracts each file from the installation package 1061 and performs an installation process for the printer driver 106a (step S311). When the installation process of the printer driver 106a is completed, the printer unit 1210 notifies the UI 122 to that effect (step S312).

ステップS3001において、インストーラ判別部124は、スキャナ部1211に対してインストールパッケージ1061によるプログラムのインストールを指示する(ステップS310’)。スキャナ部1211は、インストールパッケージ1061から各ファイルを取り出して、スキャナドライバ106bのインストール処理を行う(ステップS311’)。スキャナ部1211は、スキャナドライバ106bのインストール処理が完了すると、その旨をUI122に通知する(ステップS312’)。   In step S3001, the installer determination unit 124 instructs the scanner unit 1211 to install a program using the installation package 1061 (step S310 '). The scanner unit 1211 extracts each file from the installation package 1061 and performs an installation process for the scanner driver 106b (step S311 '). When the installation process of the scanner driver 106b is completed, the scanner unit 1211 notifies the UI 122 to that effect (step S312 ').

また、ステップS3002において、インストーラ判別部124は、アプリケーションプログラム部1212に対してインストールパッケージ1061によるプログラムのインストールを指示する(ステップS310”)。アプリケーションプログラム部1212は、インストールパッケージ1061から各ファイルを取り出して、アプリケーションプログラム106cのインストール処理を行う(ステップS311”)。アプリケーションプログラム部1212は、アプリケーションプログラム106cのインストール処理が完了すると、その旨をUI122に通知する(ステップS312”)。   In step S3002, the installer determination unit 124 instructs the application program unit 1212 to install a program using the installation package 1061 (step S310 "). The application program unit 1212 extracts each file from the installation package 1061. Then, installation processing of the application program 106c is performed (step S311 ″). When the installation process of the application program 106c is completed, the application program unit 1212 notifies the UI 122 to that effect (step S312 ").

UI122は、プログラムインストール部1215のプリンタ部1210、スキャナ部1211またはアプリケーションプログラム部1212からインストール処理の完了が通知されると、その旨を表示させるよう、表示部100に指示する(ステップS313)。表示部100は、この指示に従い、インストールが完了した旨をディスプレイ56に表示させる。   When the completion of the installation process is notified from the printer unit 1210, the scanner unit 1211, or the application program unit 1212 of the program installation unit 1215, the UI 122 instructs the display unit 100 to display the fact (step S313). In accordance with this instruction, the display unit 100 displays on the display 56 that the installation is complete.

図24は、第2の実施形態に係る、プログラムの更新手順の例を示すシーケンス図である。なお、図24において、上述した図1、図2、図20および図21と共通する部分には同一の符号を付して、詳細な説明を省略する。また、以下では、適宜、プリンタドライバ106a、スキャナドライバ106bおよびアプリケーションプログラム106cを、「プログラム」として代表させて記述する。   FIG. 24 is a sequence diagram illustrating an example of a program update procedure according to the second embodiment. In FIG. 24, the same reference numerals are given to portions common to FIGS. 1, 2, 20, and 21 described above, and detailed description thereof is omitted. In the following, the printer driver 106a, the scanner driver 106b, and the application program 106c will be described as “programs” as appropriate.

図24に示す処理において、ステップS320でユーザ操作に応じて更新チェックが指示されてから、ステップS333でオブジェクト配置サーバ41からオブジェクトが送信されるまでの処理は、第1の実施形態の変形例で説明した図18のステップS220〜ステップS233の処理と略同様である。   In the process shown in FIG. 24, the process from when the update check is instructed according to the user operation in step S320 until the object is transmitted from the object placement server 41 in step S333 is a modification of the first embodiment. This is substantially the same as the processing in steps S220 to S233 in FIG.

すなわち、例えばクライアントPC10の入力部101に対するユーザ操作に応じて、インストーラ105’のUI122に対してプログラムの更新チェックが指示される(ステップS320)。この指示は、UI122からプログラム情報取得部1230に伝えられる(ステップS321)。   That is, for example, in response to a user operation on the input unit 101 of the client PC 10, a program update check is instructed to the UI 122 of the installer 105 '(step S320). This instruction is transmitted from the UI 122 to the program information acquisition unit 1230 (step S321).

プログラム情報取得部1230は、この更新チェックの指示を受けて、記憶部104に対してプログラム情報の取得を要求する(ステップS322)。記憶部104は、この要求に応じて、OS管理領域200から、IDと、クラス情報と、プログラムの名称とが関連付けられて書き込まれた全てのプログラム情報を取得する。記憶部104は、取得したプログラム情報をプログラム情報取得部1230に渡す(ステップS323)。   In response to the update check instruction, the program information acquisition unit 1230 requests the storage unit 104 to acquire program information (step S322). In response to this request, the storage unit 104 acquires all program information written in association with the ID, class information, and program name from the OS management area 200. The storage unit 104 passes the acquired program information to the program information acquisition unit 1230 (step S323).

プログラム情報取得部1230は、記憶部104から渡されたプログラム情報から、インストーラ105’が対応可能なプログラムのプログラム情報を選択する。例えば、プログラム情報取得部1230は、プログラム情報に含まれるIDに基づき、当該プログラム情報が、インストーラ105’が対応可能なプログラムであるか否かを判別する。判別は、例えば、プログラム情報から、上述した所定のフォーマットに従ったIDが取得できたか否かで行う。   The program information acquisition unit 1230 selects program information of a program that can be handled by the installer 105 ′ from the program information passed from the storage unit 104. For example, based on the ID included in the program information, the program information acquisition unit 1230 determines whether the program information is a program that can be handled by the installer 105 ′. The determination is made, for example, based on whether or not the ID according to the predetermined format described above has been acquired from the program information.

プログラム情報取得部1230は、ステップS322およびステップS323の処理で取得した各IDを更新情報取得部1201に渡し、各IDに対応する更新情報の取得を更新情報取得部1201に要求する(ステップS324)。更新情報取得部1201は、プログラム情報取得部1230から渡されたIDに基づき特定情報を生成し、生成した特定情報に従い、更新情報サーバ40に対して更新情報を要求する(ステップS325)。更新情報取得部1201は、この要求に応じて更新情報サーバ40から送信された更新情報を取得する(ステップS326)。   The program information acquisition unit 1230 passes each ID acquired in the processes of step S322 and step S323 to the update information acquisition unit 1201, and requests the update information acquisition unit 1201 to acquire update information corresponding to each ID (step S324). . The update information acquisition unit 1201 generates specific information based on the ID passed from the program information acquisition unit 1230, and requests update information from the update information server 40 according to the generated specific information (step S325). The update information acquisition unit 1201 acquires the update information transmitted from the update information server 40 in response to this request (step S326).

この例では、プリンタドライバ106aを更新するための更新情報と、スキャナドライバ106bを更新するための更新情報と、アプリケーションプログラム106cを更新するための更新情報とが更新情報サーバ40から送信され、更新情報取得部1201に取得されたものとする。   In this example, update information for updating the printer driver 106a, update information for updating the scanner driver 106b, and update information for updating the application program 106c are transmitted from the update information server 40, and the update information is updated. It is assumed that it has been acquired by the acquisition unit 1201.

各IDについて取得された各更新情報は、更新情報取得部1201からプログラム情報取得部1230を介してUI122に渡される(ステップS327、ステップS328)。UI122は、渡された各更新情報を表示部100に渡す(ステップS329)。   Each update information acquired for each ID is passed from the update information acquisition unit 1201 to the UI 122 via the program information acquisition unit 1230 (steps S327 and S328). The UI 122 passes each piece of update information passed to the display unit 100 (step S329).

表示部100は、UI122から渡された更新情報に基づき、更新対象のプログラムを示す表示画面をディスプレイ56に表示させる。図25(a)は、第2の実施形態に係る、表示部100に表示される表示画面の例を示す。図25(a)の例では、表示画面400は、領域401に、更新対象のプログラムが対応する機種名、クラス情報およびプログラム種別が一覧表示される。   The display unit 100 causes the display 56 to display a display screen indicating the update target program based on the update information passed from the UI 122. FIG. 25A shows an example of a display screen displayed on the display unit 100 according to the second embodiment. In the example of FIG. 25A, the display screen 400 displays a list of model names, class information, and program types corresponding to the program to be updated in an area 401.

インストーラ105’は、例えば、クライアントPC10に既にインストールされているプログラムのうち、UI122から通知された更新情報に含まれるIDと一致するIDを有するプログラムからプログラム情報を取得し、取得したプログラム情報に基づき、機種名と、クラス情報を示す情報と、プログラム種別とを表示画面400に表示させる。この例では、表示画面400に、機種名「MFP01」と、プリンタのクラス情報を示す情報「Printer A」と、プログラム種別を示す「Driver」とが関連付けられて、また、機種名「MFP01」と、スキャナのクラス情報を示す情報「Scanner B」と、プログラム種別を示す「Driver」とが関連付けられて、それぞれ表示されている。また、表示画面400において、アプリケーションプログラム106cについては、アプリケーションプログラムのクラス情報を示す情報「Application D」のみが表示され、他が省略されている。この例の場合、機種名「MFP01」であるMFPにおいて、プリンタドライバ106aおよびスキャナドライバ106bがそれぞれ更新されると共に、アプリケーションプログラム106cが更新されることが示されている。   For example, the installer 105 ′ acquires program information from a program having an ID that matches the ID included in the update information notified from the UI 122 among the programs already installed in the client PC 10, and based on the acquired program information. The model name, the information indicating the class information, and the program type are displayed on the display screen 400. In this example, a model name “MFP01”, information “Printer A” indicating printer class information, and “Driver” indicating a program type are associated with the display screen 400, and a model name “MFP01” is associated with the display screen 400. , Information “Scanner B” indicating the class information of the scanner and “Driver” indicating the program type are displayed in association with each other. In the display screen 400, only the information “Application D” indicating the class information of the application program is displayed for the application program 106c, and the others are omitted. In this example, in the MFP having the model name “MFP01”, the printer driver 106a and the scanner driver 106b are updated, and the application program 106c is updated.

表示画面400において、選択入力部402は、領域401に表示される各プログラムを更新するか否かを、入力部101に対する操作に応じて選択する。図25(a)の例では、選択入力部402に対して「はい」を選択し、ボタン403を操作することで、領域401に表示される各プログラムの更新が開始される。   In the display screen 400, the selection input unit 402 selects whether to update each program displayed in the area 401 according to an operation on the input unit 101. In the example of FIG. 25A, the update of each program displayed in the area 401 is started by selecting “Yes” on the selection input unit 402 and operating the button 403.

また、表示部100は、図25(b)に示したような、更新するプログラムを選択可能な表示画面400’を表示させてもよい。表示画面400’において、領域401’に表示される更新対象のプログラム一覧に対し、各行にチェックボックス404が付加されている。この場合、入力部101に対する操作によりチェックボックス404がチェックされた行に示されるプログラムに対して選択的に更新処理が実行される。   Further, the display unit 100 may display a display screen 400 ′ on which a program to be updated can be selected as shown in FIG. In the display screen 400 ′, a check box 404 is added to each row for the list of programs to be updated displayed in the area 401 ′. In this case, an update process is selectively executed for the program indicated in the row in which the check box 404 is checked by an operation on the input unit 101.

表示画面400に対するプログラムの更新操作が入力部101からUI122に通知される(ステップS330)。UI122は、更新対象となるプログラムの更新情報をオブジェクト取得部1202に渡し、オブジェクト取得部1202に対してプログラムの更新を指示する(ステップS331)。   A program update operation for the display screen 400 is notified from the input unit 101 to the UI 122 (step S330). The UI 122 passes update information of a program to be updated to the object acquisition unit 1202, and instructs the object acquisition unit 1202 to update the program (step S331).

オブジェクト取得部1202は、UI122から渡された更新情報に基づき、オブジェクト配置サーバ41に対してオブジェクトの取得要求を送信し(ステップS332)、この要求に応じてオブジェクト配置サーバ41から送信されたオブジェクトを取得する(ステップS333)。オブジェクト取得部1202は、オブジェクトを取得すると、オブジェクト取得通知を、取得したオブジェクトに対応するIDと共にインストーラ判別部124に渡す(ステップS334)。   The object acquisition unit 1202 transmits an object acquisition request to the object arrangement server 41 based on the update information passed from the UI 122 (step S332), and the object transmitted from the object arrangement server 41 in response to this request is displayed. Obtain (step S333). When the object acquisition unit 1202 acquires the object, the object acquisition unit 1202 passes an object acquisition notification to the installer determination unit 124 together with an ID corresponding to the acquired object (step S334).

インストーラ判別部124は、オブジェクト取得部1202から渡されたIDをプログラム情報取得部1230に渡し、当該IDに対応するプログラム情報をプログラム情報取得部1230に要求する(ステップS335)。プログラム情報取得部1230は、この要求に応じて、渡されたIDに対応するプログラム情報をインストーラ判別部124に渡す(ステップS336)。   The installer determination unit 124 passes the ID passed from the object acquisition unit 1202 to the program information acquisition unit 1230, and requests the program information acquisition unit 1230 for program information corresponding to the ID (step S335). In response to this request, the program information acquisition unit 1230 passes program information corresponding to the passed ID to the installer determination unit 124 (step S336).

インストーラ判別部124は、プログラム情報取得部1230から渡されたプログラム情報に含まれるクラス情報に基づき、更新によりインストールされるプログラムの種別を判別する(ステップS337)。   The installer discriminating unit 124 discriminates the type of program to be installed by updating based on the class information included in the program information passed from the program information acquiring unit 1230 (step S337).

ステップS337で、インストーラ判別部124により、更新によりインストールされるプログラムがプリンタドライバ106aであると判定された場合、ステップS3003の処理が行われ、プリンタドライバ106aのインストールが実行されプリンタドライバ106aが更新される。ステップS337で、インストールされるプログラムがスキャナドライバ106bであると判別された場合、ステップS3004の処理が行われ、スキャナドライバ106bのインストールが実行されスキャナドライバ106bが更新される。また、ステップS337で、インストールされるプログラムがアプリケーションプログラム106cであると判別された場合、ステップS3005の処理が行われ、アプリケーションプログラム106cのインストールが実行されアプリケーションプログラム106cが更新される。   In step S337, when the installer determining unit 124 determines that the program to be installed by the update is the printer driver 106a, the process of step S3003 is performed, the printer driver 106a is installed, and the printer driver 106a is updated. The If it is determined in step S337 that the program to be installed is the scanner driver 106b, the process in step S3004 is performed, the scanner driver 106b is installed, and the scanner driver 106b is updated. If it is determined in step S337 that the program to be installed is the application program 106c, the process of step S3005 is performed, the application program 106c is installed, and the application program 106c is updated.

ステップS3003において、インストーラ判別部124は、プログラムインストール部1215におけるプリンタ部1210に対して、ステップS333でオブジェクト取得部1202に取得されたオブジェクトによるプログラムのインストールを指示する(ステップS340)。プリンタ部1210は、この指示に従い、オブジェクト取得部1202に取得されたオブジェクトのインストール処理を実行し(ステップS341)、インストール処理が完了すると、その旨をUI122に通知する(ステップS342)。   In step S3003, the installer determination unit 124 instructs the printer unit 1210 in the program installation unit 1215 to install a program using the object acquired in the object acquisition unit 1202 in step S333 (step S340). In accordance with this instruction, the printer unit 1210 executes installation processing of the object acquired by the object acquisition unit 1202 (step S341), and notifies the UI 122 of the completion of the installation processing (step S342).

ステップS3004において、インストーラ判別部124は、プログラムインストール部1215におけるスキャナ部1211に対して、ステップS333でオブジェクト取得部1202に取得されたオブジェクトによるプログラムのインストールを指示する(ステップS340’)。スキャナ部1211は、この指示に従い、オブジェクト取得部1202に取得されたオブジェクトのインストール処理を実行し(ステップS341’)、インストール処理が完了すると、その旨をUI122に通知する(ステップS342’)。   In step S3004, the installer determination unit 124 instructs the scanner unit 1211 in the program installation unit 1215 to install the program using the object acquired in the object acquisition unit 1202 in step S333 (step S340 '). In accordance with this instruction, the scanner unit 1211 executes installation processing of the object acquired by the object acquisition unit 1202 (step S341 '), and notifies the UI 122 when the installation processing is completed (step S342').

また、ステップS3005において、インストーラ判別部124は、プログラムインストール部1215におけるアプリケーションプログラム部1212に対して、ステップS333でオブジェクト取得部1202に取得されたオブジェクトによるプログラムのインストールを指示する(ステップS340”)。アプリケーションプログラム部1212は、この指示に従い、オブジェクト取得部1202に取得されたオブジェクトのインストール処理を実行し(ステップS341”)、インストール処理が完了すると、その旨をUI122に通知する(ステップS342”)。   In step S3005, the installer determination unit 124 instructs the application program unit 1212 in the program installation unit 1215 to install the program using the object acquired in the object acquisition unit 1202 in step S333 (step S340 ″). In accordance with this instruction, the application program unit 1212 executes the installation process of the object acquired by the object acquisition unit 1202 (step S341 ″), and notifies the UI 122 when the installation processing is completed (step S342 ″).

UI122は、プログラムインストール部1215のプリンタ部1210、スキャナ部1211またはアプリケーションプログラム部1212からインストール処理の完了が通知されると、その旨を表示させるよう、表示部100に指示する(ステップS343)。表示部100は、この指示に従い、インストールが完了した旨をディスプレイ56に表示させる。   When the completion of the installation process is notified from the printer unit 1210, the scanner unit 1211, or the application program unit 1212 of the program installation unit 1215, the UI 122 instructs the display unit 100 to display the fact (step S343). In accordance with this instruction, the display unit 100 displays on the display 56 that the installation is complete.

図26は、第2の実施形態に係る、表示部100によりディスプレイ56に表示されるインストール完了画面の例を示す。図26において、インストール完了画面410は、領域411に、インストールが実行され更新されたプログラムの一覧が表示される。   FIG. 26 shows an example of an installation completion screen displayed on the display 56 by the display unit 100 according to the second embodiment. In FIG. 26, the installation completion screen 410 displays a list of programs that have been installed and updated in an area 411.

第2の実施形態によれば、インストーラ105’は、プログラム種別が異なるプリンタドライバ106a、スキャナドライバ106bおよびアプリケーションプログラム106cについても、OS管理領域200に書き込まれた各プリンタドライバ106a、スキャナドライバ106bおよびアプリケーションプログラム106cの各プログラム情報がそれぞれ含む識別情報(ID)に基づく特定情報(例えばURL)に従い、プリンタドライバ106a、スキャナドライバ106bおよびアプリケーションプログラム106cの更新に用いる各オブジェクトのURLを含む各更新情報を取得する。インストーラ105’は、プログラム情報に含まれるクラス情報に基づき、プログラム種別に応じたインストール処理を行うことができる。   According to the second embodiment, the installer 105 ′ also uses the printer driver 106 a, the scanner driver 106 b, and the application program 106 c with different program types for each printer driver 106 a, scanner driver 106 b, and application written in the OS management area 200. Acquire each update information including URL of each object used for updating the printer driver 106a, scanner driver 106b, and application program 106c according to specific information (for example, URL) based on identification information (ID) included in each program information of the program 106c. To do. The installer 105 ′ can perform an installation process according to the program type based on the class information included in the program information.

また、インストーラ105’は、プリンタドライバ106a、スキャナドライバ106bおよびアプリケーションプログラム106cが含む各識別情報に基づく各特定情報で特定される格納場所に格納される各更新情報が、プリンタドライバ106aやスキャナドライバ106b、アプリケーションプログラム106cのインストール時には未知であるプログラムのものであっても、各更新情報に基づき、この未知のプログラムをクライアントPC10にインストールすることができる。   In addition, the installer 105 ′ indicates that each update information stored in the storage location specified by the specific information based on the identification information included in the printer driver 106a, the scanner driver 106b, and the application program 106c is the printer driver 106a or the scanner driver 106b. Even if the application program 106c is an unknown program, the unknown program can be installed in the client PC 10 based on each update information.

なお、上述の実施形態および各変形例は、本発明の好適な実施の例ではあるがこれに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変形による実施が可能である。   The above-described embodiment and each modification are examples of the preferred embodiment of the present invention, but the present invention is not limited to this. Various modifications can be made without departing from the scope of the present invention. .

10 クライアントPC
20a,20b,20c 画像形成装置
22,30 ネットワーク
40 更新情報サーバ
41 オブジェクト配置サーバ
54 ストレージ
56 ディスプレイ
100 表示部
101 入力部
105,105’ インストーラ
106 ドライバ
106a プリンタドライバ
106b スキャナドライバ
106c アプリケーションプログラム
121 ドライバインストール部
122 UI
123 ドライバ情報取得部
124 インストーラ判別部
131 ID格納部
132 ID送信部
300 表示画面
1201 更新情報取得部
1202 オブジェクト取得部
1215 プログラムインストール部
1230 プログラム情報取得部
10 Client PC
20a, 20b, 20c Image forming apparatus 22, 30 Network 40 Update information server 41 Object placement server 54 Storage 56 Display 100 Display unit 101 Input unit 105, 105 ′ Installer 106 Driver 106a Printer driver 106b Scanner driver 106c Application program 121 Driver installation unit 122 UI
123 driver information acquisition unit 124 installer determination unit 131 ID storage unit 132 ID transmission unit 300 display screen 1201 update information acquisition unit 1202 object acquisition unit 1215 program installation unit 1230 program information acquisition unit

特許第3870765号公報Japanese Patent No. 3870765

Claims (10)

ドライバから、該ドライバを識別する識別情報を取得する第1取得ステップと、
前記ドライバを更新するための更新情報が格納される格納場所を特定する特定情報を、前記識別情報に基づき生成する生成ステップと、
前記生成ステップにより生成された前記特定情報に特定される前記格納場所から前記更新情報を取得する第2取得ステップと
をコンピュータに実行させるためのプログラム。
A first acquisition step of acquiring identification information for identifying the driver from the driver;
Generating specific information for specifying a storage location in which update information for updating the driver is stored based on the identification information;
A program for causing a computer to execute a second acquisition step of acquiring the update information from the storage location specified by the specific information generated by the generation step.
前記特定情報は、予め定められた規則に従って前記識別情報を含み、
前記生成ステップは、
前記識別情報から前記規則に従い前記特定情報を生成する
請求項1に記載のプログラム。
The specific information includes the identification information according to a predetermined rule,
The generating step includes
The program according to claim 1, wherein the specific information is generated from the identification information according to the rules.
前記第1取得ステップは、
前記ドライバが前記識別情報を備えるか否かを判定し、判定結果に応じて該ドライバから前記識別情報を取得する
請求項1または請求項2に記載のプログラム。
The first acquisition step includes
The program according to claim 1, wherein the program determines whether the driver includes the identification information and acquires the identification information from the driver according to a determination result.
前記第2取得ステップは、
前記更新情報に基づき前記ドライバの更新を行うか否かを判定し、更新を行うと判定した前記ドライバを示す情報を表示部に表示させる
請求項1乃至請求項3の何れか1項に記載のプログラム。
The second acquisition step includes
4. The device according to claim 1, wherein it is determined whether or not to update the driver based on the update information, and information indicating the driver that is determined to be updated is displayed on a display unit. 5. program.
前記第1取得ステップは、
前記ドライバのインストール時には、前記識別情報を前記ドライバから取得して前記コンピュータの予め定められた記憶領域に記憶させ、該ドライバの更新時には、該記憶領域から該識別情報を取得する
請求項1乃至請求項4の何れか1項に記載のプログラム。
The first acquisition step includes
The identification information is acquired from the driver and stored in a predetermined storage area of the computer when the driver is installed, and the identification information is acquired from the storage area when the driver is updated. Item 5. The program according to any one of item 4 above.
前記第1取得ステップは、
前記ドライバから、該ドライバの種別を示す種別情報をさらに取得して、前記識別情報と関連付けて前記記憶領域に記憶させる
請求項5に記載のプログラム。
The first acquisition step includes
The program according to claim 5, further acquiring type information indicating a type of the driver from the driver, and storing the type information in association with the identification information in the storage area.
前記第2取得ステップに取得された前記更新情報を用いて前記ドライバを更新する更新ステップをさらに有し、
前記更新ステップは、
前記記憶領域から前記種別情報を取得して、取得した該種別情報に示されるドライバの種別に応じた手順で前記ドライバを更新する
請求項6に記載のプログラム。
An update step of updating the driver using the update information acquired in the second acquisition step;
The updating step includes
The program according to claim 6, wherein the type information is acquired from the storage area, and the driver is updated by a procedure according to the type of the driver indicated in the acquired type information.
ドライバから、該ドライバを識別する識別情報を取得する第1取得部と、
前記ドライバを更新するための更新情報が格納される格納場所を特定する特定情報を、前記識別情報に基づき生成する生成部と、
前記生成部により生成された前記特定情報に特定される前記格納場所から前記更新情報を取得する第2取得部と
を有する情報処理装置。
A first acquisition unit for acquiring identification information for identifying the driver from the driver;
A generating unit that generates, based on the identification information, specific information that specifies a storage location in which update information for updating the driver is stored;
An information processing apparatus comprising: a second acquisition unit that acquires the update information from the storage location specified by the specific information generated by the generation unit.
ドライバから、該ドライバを識別する識別情報を取得する第1取得ステップと、
前記ドライバを更新するための更新情報が格納される格納場所を特定する特定情報を、前記識別情報に基づき生成する生成ステップと、
前記生成ステップにより生成された前記特定情報に特定される前記格納場所から前記更新情報を取得する第2取得ステップと
を有する情報処理方法。
A first acquisition step of acquiring identification information for identifying the driver from the driver;
Generating specific information for specifying a storage location in which update information for updating the driver is stored based on the identification information;
An information processing method comprising: a second acquisition step of acquiring the update information from the storage location specified by the specific information generated by the generation step.
ドライバを更新するためのオブジェクトが第1格納場所に格納される第1格納部と、
前記第1格納場所を示す情報を含む更新情報が、前記ドライバを識別する識別情報に基づく特定情報で特定される第2格納場所に格納される第2格納部と、
自身を識別する前記識別情報を含むドライバを記憶する第1記憶部と、
前記第1記憶部に記憶されるドライバから前記識別情報を取得する第1取得部と、
前記第1取得部に取得された前記識別情報に基づき前記特定情報を生成する生成部と、
前記生成部により生成された前記特定情報に特定される前記第2格納場所から前記更新情報を取得する第2取得部と、
前記第2取得部により取得された前記更新情報に基づき前記第1格納部から前記オブジェクトを取得し、取得した該オブジェクトを用いて前記第1記憶部に記憶されるドライバを更新する更新部と
を有する情報処理システム。
A first storage unit in which an object for updating the driver is stored in the first storage location;
Update information including information indicating the first storage location is stored in a second storage location that is specified by specific information based on identification information for identifying the driver;
A first storage unit for storing a driver including the identification information for identifying itself;
A first acquisition unit that acquires the identification information from a driver stored in the first storage unit;
A generating unit that generates the specific information based on the identification information acquired by the first acquiring unit;
A second acquisition unit that acquires the update information from the second storage location specified by the specific information generated by the generation unit;
An update unit that acquires the object from the first storage unit based on the update information acquired by the second acquisition unit, and updates a driver stored in the first storage unit using the acquired object; Information processing system.
JP2015121447A 2014-09-09 2015-06-16 PROGRAM, INFORMATION PROCESSING APPARATUS, INFORMATION PROCESSING METHOD, AND INFORMATION PROCESSING SYSTEM Expired - Fee Related JP6540256B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US14/837,633 US20160070557A1 (en) 2014-09-09 2015-08-27 Information processing apparatus, information processing method, and information processing system
CN201510564559.1A CN105404526A (en) 2014-09-09 2015-09-07 Information processing apparatus, information processing method, and information processing system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2014183679 2014-09-09
JP2014183679 2014-09-09

Publications (2)

Publication Number Publication Date
JP2016058070A true JP2016058070A (en) 2016-04-21
JP6540256B2 JP6540256B2 (en) 2019-07-10

Family

ID=55758571

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015121447A Expired - Fee Related JP6540256B2 (en) 2014-09-09 2015-06-16 PROGRAM, INFORMATION PROCESSING APPARATUS, INFORMATION PROCESSING METHOD, AND INFORMATION PROCESSING SYSTEM

Country Status (1)

Country Link
JP (1) JP6540256B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018005322A (en) * 2016-06-28 2018-01-11 コニカミノルタ株式会社 Information processing apparatus, operation update method, and operation update program

Citations (7)

* 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
JP2004234056A (en) * 2003-01-28 2004-08-19 Ricoh Co Ltd Software update method, management server program, software update program, and printer utility program
US20040215754A1 (en) * 2003-03-31 2004-10-28 Microsoft Corporation Peripheral device driver maintenance scheme for networked peripheral device clients
US20070234354A1 (en) * 2006-03-31 2007-10-04 Tomoki Hattori System and method for printer driver distribution with searchable map database
US20120044534A1 (en) * 2010-08-18 2012-02-23 Konica Minolta Business Technologies, Inc. Non-transitory computer readable recording medium stored with printer driver updating program and printer driver updating method
JP2013161444A (en) * 2012-02-08 2013-08-19 Canon Inc Information processing device, information processing method and program
JP2014093059A (en) * 2012-11-07 2014-05-19 Ricoh Co Ltd Information processing apparatus

Patent Citations (7)

* 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
JP2004234056A (en) * 2003-01-28 2004-08-19 Ricoh Co Ltd Software update method, management server program, software update program, and printer utility program
US20040215754A1 (en) * 2003-03-31 2004-10-28 Microsoft Corporation Peripheral device driver maintenance scheme for networked peripheral device clients
US20070234354A1 (en) * 2006-03-31 2007-10-04 Tomoki Hattori System and method for printer driver distribution with searchable map database
US20120044534A1 (en) * 2010-08-18 2012-02-23 Konica Minolta Business Technologies, Inc. Non-transitory computer readable recording medium stored with printer driver updating program and printer driver updating method
JP2013161444A (en) * 2012-02-08 2013-08-19 Canon Inc Information processing device, information processing method and program
JP2014093059A (en) * 2012-11-07 2014-05-19 Ricoh Co Ltd Information processing apparatus

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018005322A (en) * 2016-06-28 2018-01-11 コニカミノルタ株式会社 Information processing apparatus, operation update method, and operation update program

Also Published As

Publication number Publication date
JP6540256B2 (en) 2019-07-10

Similar Documents

Publication Publication Date Title
JP6390708B2 (en) System and information processing method
US10630857B2 (en) Electronic apparatus and method to update firmware of the electronic apparatus when adding a web application to the electronic apparatus
JP5460200B2 (en) Print control apparatus, print control method, and computer program
US8243294B2 (en) Simplified walk-up print driver installation
US10089102B2 (en) Information processing apparatus, method, and program
US8402478B2 (en) Storing medium having a device driver for controlling a plurality of types of peripheral devices
US8891111B2 (en) Adaptable printer driver
KR101763018B1 (en) System, printing apparatus, control method, and computer-readable recording medium
JP2013088992A (en) Printing system
US20160070557A1 (en) Information processing apparatus, information processing method, and information processing system
US9965299B2 (en) Information processing apparatus, method for controlling the same, and storage medium
JP2017173892A (en) Information processing device, program, and printing system
JP4981936B2 (en) Installation method of installer and printer driver
JP6840986B2 (en) Print management device and program
JP2014229261A (en) Information processing system, information processing device, license management method and program
JP6540256B2 (en) PROGRAM, INFORMATION PROCESSING APPARATUS, INFORMATION PROCESSING METHOD, AND INFORMATION PROCESSING SYSTEM
US10338857B2 (en) Information processing apparatus, information processing system, and information processing method
US8756596B2 (en) Host apparatus connected to image forming apparatus and driver installation method and computer-readable medium thereof
US20220011987A1 (en) Information processing system, information processing apparatus, and non-transitory computer readable medium storing information processing program
JP6658110B2 (en) Information processing system, program and request method
JP2013206084A (en) Management apparatus, information processing apparatus, printing system, control method, and program
JP2012141732A (en) Information processor, control method and program
JP2008046713A (en) PROCESSING DEVICE, PROCESSING DEVICE CONTROL METHOD, AND PROCESSING DEVICE CONTROL PROGRAM
JP2016057799A (en) Print control program, information processing apparatus, information processing system, information processing method, and image processing system
JP6337520B2 (en) Information processing apparatus, program, information processing system, and information processing method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180517

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190222

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190305

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190419

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190514

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190527

R151 Written notification of patent or utility model registration

Ref document number: 6540256

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees