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 PDFInfo
- 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
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
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
しかしながら、従来のインストーラが対応可能なドライバプログラムは、当該インストーラと共に配布されたドライバプログラムに限られ、例えば将来新たに提供されるドライバプログラムには対応できなかったという問題点があった。したがって、従来では、新たにドライバプログラムが提供される毎に、対応するインストーラを配布する必要があった。 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
本発明は、上記に鑑みてなされたものであって、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.
以下に添付図面を参照して、プログラム、情報処理装置および情報処理方法、ならびに、情報処理システムの実施形態を詳細に説明する。 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
クライアントPC10は、ルータ21を介して、例えばインターネットといった外部のネットワーク30に接続される。ネットワーク30に対し、更新情報サーバ40およびオブジェクト配置サーバ41が接続される。クライアントPC10は、ネットワーク30を介して、これら更新情報サーバ40およびオブジェクト配置サーバ41と互いに通信可能とされる。
The client PC 10 is connected to an
オブジェクト配置サーバ41は、クライアントPC10に搭載されるドライバを更新するためのオブジェクトが予め定められた格納場所に配置されて格納される。オブジェクト配置サーバ41に格納されるオブジェクトは、クライアントPC10に搭載されるドライバと置き換える、例えば当該ドライバに対してバージョンがより新しいドライバそのものであってもよいし、ドライバを構成するためのモジュールであってもよい。これに限らず、オブジェクトは、ドライバに対する更新部分のみを含むモジュールであってもよい。
In the
更新情報サーバ40は、オブジェクト配置サーバ41に格納されるオブジェクトを用いてドライバを更新するための更新情報が格納される。更新情報は、少なくとも、当該オブジェクトがオブジェクト配置サーバ41に格納される格納場所を示す情報を含む。
The
なお、図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
また、図1では、更新情報サーバ40とオブジェクト配置サーバ41とがそれぞれ個別のサーバ装置であるように示したが、これはこの例に限定されない。例えば、更新情報サーバ40とオブジェクト配置サーバ41とを同一のサーバ装置上の別個の機能として構成してもよいし、更新情報サーバ40とオブジェクト配置サーバ41とをさらに多数のサーバ装置に分散させて構成してもよい。
In FIG. 1, the
図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
CPU51は、ROM52やストレージ54に予め記憶されるプログラムに従い、RAM53をワークメモリとして用いて、このクライアントPC10の全体の動作を制御する。ストレージ54は、ハードディスクドライブや不揮発性の半導体メモリ(フラッシュメモリ)からなり、CPU51が動作するためのプログラムや、各種データが格納される。
The CPU 51 controls the overall operation of the
表示制御部55は、CPU51によりプログラムに従い生成された表示制御信号を、ディスプレイ56で表示可能な表示信号に変換してディスプレイ56に供給する。ディスプレイ56は、例えばLCD(Liquid Crystal Display)を表示デバイスとして用い、表示制御部55から供給された表示信号に従った画面を表示デバイスに表示させる。
The
入出力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 /
通信I/F59は、TCP/IP(Transmission Control Protocol/Internet Protocol)など所定のプロトコルを用いてネットワーク30を介した通信を制御する。
The communication I /
なお、更新情報サーバ40およびオブジェクト配置サーバ41は、クライアントPC10と同様の構成で実現可能であるので、ここでの説明を省略する。
Note that the
図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
全体制御部102は、クライアントPC10の全体の動作を制御するもので、例えば、CPU51上で動作するプログラムの一つであるOS(Operating System)に相当する。表示部100は、全体制御部102の指示に従った画面をディスプレイ56に表示させる。入力部101は、入出力I/F57に対して入力された情報を全体制御部102に渡す。通信部103は、通信I/F59を介した通信を制御する。記憶部104は、RAM53やストレージ54に対するデータの読み書きを制御する。
The
これら表示部100、入力部101、全体制御部102、通信部103および記憶部104は、CPU51で動作するプログラムにより構成される。これに限らず、表示部100、入力部101、全体制御部102、通信部103および記憶部104のうち一部または全部を、互いに協働するハードウェアによって構成してもよい。
The
インストーラ105およびドライバ106は、CPU51上で動作するプログラムにより構成される。ドライバ106は、全体制御部102がクライアントPC10に接続される外部機器を制御する際に、全体制御部102と当該外部機器との間の仲介を行う。また、ドライバ106は、クライアントPC10から当該外部機器を使用する際に、ユーザに対して適切なUI(User Interface)を提供する。この例では、ドライバ106は、例えば画像形成装置20a(プリンタ#1)の制御に対応したプリンタドライバであるものとする。
The
インストーラ105は、ドライバ106をクライアントPC10にインストールする。また、インストーラ105は、既にクライアントPC10にインストールされているドライバ106の更新処理を行う。例えば、インストーラ105は、インストール済みのドライバ106を更新可能か否かを判定し、更新可能であると判定した場合に、ドライバ106を更新するためのオブジェクトをネットワーク30を介して取得し、取得したオブジェクトを用いてドライバ106を更新する。インストーラ105は、例えば対応するドライバ106と共に提供され、所定の手順にてクライアントPC10にインストールされる。
The
図4は、第1の実施形態に係るインストーラ105の一例の構成を示す。図4において、インストーラ105は、通信部120と、ドライバインストール部121と、UI122と、ドライバ情報取得部123とを有する。
FIG. 4 shows an exemplary configuration of the
通信部120は、更新情報サーバ40およびオブジェクト配置サーバ41と通信を行い、ドライバ106を更新するためのオブジェクトを取得する。ドライバインストール部121は、通信部120により取得されたオブジェクトを用いてクライアントPC10にドライバをインストールし、ドライバ106を更新する。UI122は、ドライバ106のインストールや更新の際に、ユーザに対して表示や入力インタフェースなどユーザインタフェースを提供する。ドライバ情報取得部123は、クライアントPC10にインストールされているドライバ106から、後述する識別情報を取得する(第1取得部)。
The
通信部120は、更新情報取得部1201とオブジェクト取得部1202とを有する。更新情報取得部1201は、更新情報サーバ40と通信し、更新情報サーバ40からドライバ106を更新するための更新情報を取得する(第2取得部)。このとき、更新情報取得部1201は、ドライバ情報取得部123によりドライバ106から取得された識別情報に基づき更新情報が格納される格納場所を特定するための特定情報を取得し、取得した特定情報に従い更新情報を取得する。更新情報は、少なくとも、当該ドライバ106の更新に用いるオブジェクトの、オブジェクト配置サーバ41における格納場所を示す情報を含む。
The
オブジェクト取得部1202は、更新情報取得部1201に取得された更新情報に基づき、オブジェクト配置サーバ41から、ドライバ106の更新に用いるオブジェクトを取得する。
The
図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
ID格納部131は、このドライバ106に一意の識別情報が格納される。ここで、ドライバ106に一意とは、当該ドライバ106を更新可能なドライバプログラムを特定するための情報群に対して一意であることを意味する。識別情報の構成のより具体的な例については、後述する。
The
ID格納部131に格納される識別情報は、ドライバ106のベンダ側において予め設定される。識別情報は、ドライバ106のプログラム内に埋め込まれていてもよいし、ドライバ106のプログラムとは別個のデータとしてクライアントPC10のストレージ54に不揮発に記憶させてもよい。
The identification information stored in the
なお、ドライバ106を更新するための更新情報が格納される格納場所を特定可能な特定情報は、識別情報を含んで構成される。一例として、ドライバ106の更新情報が更新情報サーバ40に格納される格納場所を示すURL(Uniform Resource Locator)の、ドライバ106を特定可能な部分に、識別情報を用いることができる。
The specific information that can specify the storage location in which update information for updating the
ID送信部132は、インストーラ105のドライバ情報取得部123からの要求に応じて、ID格納部131に格納される識別情報をインストーラ105に対して送信する。ID送信部132がインストーラ105に識別情報を送信する方法は特に限定されない。例えば、ID送信部132は、ファイル、レジストリ、PrintTicket、PrintCapability、ドライバ106のCapabilityなどを介して、識別情報をインストーラ105に送信する。
The
次に、第1の実施形態に係るドライバ106の更新手順について、図6を用いて概略的に説明する。なお、図6において、上述した図1および図3と共通する部分には同一の符号を付して、詳細な説明を省略する。また、以下の説明において、ドライバ106に一意な識別情報を、適宜「ID」として記述する。図6において、既にクライアントPC10には、バージョンVer#Aのドライバ106がインストールされているものとする。
Next, an update procedure of the
図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
インストーラ105は、更新情報サーバ40から渡された更新情報に基づき、ドライバ106の更新の有無を判定する。インストーラ105は、ドライバ106の更新があると判定した場合、更新情報に含まれる、ドライバ106を更新するためのオブジェクトの格納場所を示す情報に基づき、当該オブジェクトのダウンロードを、オブジェクト配置サーバ41に要求する(ステップS5)。
The
オブジェクト配置サーバ41は、この要求に応じて、ドライバ106を更新するためのオブジェクトをクライアントPC10に送信する(ステップS6)。このオブジェクトは、ドライバ106のバージョンVer#Aより新しいバージョンVer#Bのドライバ106’を構成するオブジェクトであるものとする。クライアントPC10において、インストーラ105は、オブジェクト配置サーバ41から送信されたドライバ106’を構成するオブジェクトを、例えばストレージ54上の所定の領域に格納する。
In response to this request, the
インストーラ105は、オブジェクト配置サーバ41から送信されたオブジェクトに対してインストール処理を実行する(ステップS7)。例えば、インストーラ105は、圧縮されファイルに格納されてオブジェクト配置サーバ41から送信されたオブジェクトを解凍し、解凍されたオブジェクトに対してインストール処理を実行する。例えば、インストーラ105は、このインストール処理によりオブジェクトからドライバ106’を構成し、このドライバ106’を既にインストールされているドライバ106と置き換える(ステップS8)。これにより、ドライバ106がより新しいバージョンのドライバ106’に更新される。
The
このように、第1の実施形態によれば、クライアントPC10にインストール済みのドライバ106を更新するための更新情報が、ドライバ106に含まれる、当該ドライバ106を一意に識別する識別情報に基づく特定情報に示される格納場所に格納される。したがって、インストーラ105は、ドライバ106の未知のバージョンのオブジェクトの取得およびインストールを、当該ドライバ106の識別情報に基づき実行することができる。
As described above, according to the first embodiment, the update information for updating the
次に、第1の実施形態に係るドライバ106の更新手順について、図7のシーケンス図を用いてより詳細に説明する。なお、図7において、上述した図1〜図5と共通する部分には同一の符号を付して、詳細な説明を省略する。
Next, the update procedure of the
例えば、クライアントPC10の入力部101に対するユーザ操作に応じて、インストーラ105のUI122に対してドライバ106の更新チェックが指示される(ステップS100)。この指示は、UI122を介してドライバ情報取得部123に伝えられる(ステップS101)。
For example, in response to a user operation on the
ドライバ情報取得部123は、この更新チェックの指示を受けて、ステップS102〜ステップS105の処理で、クライアントPC10にインストールされている全てのドライバについて、ドライバの情報を取得する。すなわち、ドライバ情報取得部123は、ステップS102で、クライアントPC10にインストールされている各ドライバに対してドライバ情報をそれぞれ要求する。
In response to this update check instruction, the driver
若し、ステップ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
一例として、ドライバ情報取得部123とID送信部132とがファイルを介してIDの受け渡しを行う場合、ドライバ情報取得部123とID送信部132との間で、ID受け渡しを行うファイルのファイル名および格納場所を予め決めておく。ID送信部132は、このファイルに対してIDを書き込み、ドライバ情報取得部123は、このファイルからIDを読み出す。
As an example, when the driver
一方、ステップ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
ドライバ情報取得部123は、ステップS102〜ステップS105の処理をクライアントPC10にインストールされる全てのドライバに対して実行した結果、IDが取得できたドライバを、更新対象のドライバであると判定する。これにより、クライアントPC10に例えば新旧のドライバが混在してインストールされIDが取得できないドライバが存在する場合であっても、第1の実施形態に係るドライバの更新を実行することが可能となる。
The driver
ドライバ情報取得部123は、ステップS102〜ステップS105の処理で取得した各IDを更新情報取得部1201に渡し、各IDに対応する更新情報の取得を更新情報取得部1201に要求する(ステップS110)。更新情報取得部1201は、この要求に応じて、ドライバ情報取得部123から渡された各IDについて後述するステップS111およびステップS112の処理を実行し、更新情報サーバ40から各IDに対応する各更新情報を取得する。
The driver
ステップS110でドライバ106からIDを渡された更新情報取得部1201は、渡されたIDに基づき、当該IDに対応する更新情報の格納場所を特定可能な特定情報を取得する。例えば、更新情報取得部1201は、予め定められた規則に従い、IDに基づき特定情報を生成する。
In step S110, the update
ここで、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
説明は図7のステップS110に戻り、更新情報取得部1201は、ID送信部132から送信されたIDに基づき取得した特定情報(URL)に従い、更新情報サーバ40に対して更新情報を要求する(ステップS111)。更新情報サーバ40は、この要求に従い、特定情報で特定される格納場所に格納される更新情報を、更新情報取得部1201に渡す(ステップS112)。
The description returns to step S110 in FIG. 7, and the update
図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
上述したように、各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
図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
第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
説明は図7に戻り、更新情報取得部1201は、ステップS111およびステップS112で各IDについて取得した各更新情報を、例えばストレージ54上のキャッシュファイルを介して、ドライバ情報取得部123に渡す(ステップS113)。ドライバ情報取得部123は、更新情報取得部1201から渡された各更新情報をUI122に通知する(ステップS114)。UI122は、ドライバ情報取得部123から通知された各更新情報に基づき、更新対象となるドライバを示す情報を表示部100に通知する(ステップS115)。
Returning to FIG. 7, the update
なお、更新情報取得部1201は、各更新情報に基づき、クライアントPC10にインストールされている各ドライバのうち、更新対象となるドライバを選択することができる。
The update
例えば、更新情報取得部1201は、各更新情報に含まれるID(図10の3行目)およびバージョン情報(図10の4行目)とを、クライアントPC10に既にインストールされている、例えばドライバ106のIDおよびバージョン情報と比較する。比較の結果、更新情報取得部1201は、ドライバ106とIDが一致し、且つ、更新情報に記述されるバージョンがドライバ106のバージョンよりも新しい場合に、更新情報が示すドライバを更新対象のドライバとして選択する。更新情報取得部1201は、選択した更新対象のドライバの更新情報をドライバ情報取得部123に渡す。
For example, the update
更新対象のドライバの選択方法は、この例に限定されない。例えば、更新情報取得部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
また、更新対象のドライバは、インストーラ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
なお、インストール済みのドライバ106のバージョンや公開日時の情報は、当該ドライバ106から直接的に取得するようにできる。これに限らず、当該ドライバ106をインストールした際の更新情報を、ファイルやレジストリに格納しておいてもよい。
Note that information about the version of the installed
表示部100は、UI122から通知された情報に基づき、更新対象のドライバを示す表示画面をディスプレイ56に表示させる。図11は、第1の実施形態に係る、表示部100により表示される表示画面の例を示す。図11(a)の例では、表示画面300は、領域301に、更新対象のドライバが対応するプリンタ名が一覧表示される。インストーラ105は、例えば、クライアントPC10に既にインストールされているドライバのうち、UI122から通知された更新情報に含まれるIDと一致するIDを有するドライバからプリンタ名を示す情報を取得し、取得した情報に基づきプリンタ名を表示させる。
The
表示画面300において、選択入力部302は、領域301に表示されるドライバを更新するか否かを、入力部101に対する操作に応じて選択する。図11(a)の例では、選択入力部302に対して「はい」を選択し、ボタン303を操作することで、領域301に表示されるドライバの更新が開始される。
On the
表示画面300は、図11(a)の例に限定されない。図11(b)は、更新するドライバを選択可能とした表示画面300’の例を示す。表示画面300’において、領域301’に表示される更新対象のドライバ一覧に対し、各プリンタ名にチェックボックス304が付加されている。この場合、入力部101に対する操作によりチェックボックス304がチェックされたドライバに対して選択的に更新処理を実行する。
The
説明は図7に戻り、表示画面300に対してドライバの更新操作が行われると、その旨が入力部101からUI122に通知される(ステップS120)。UI122は、更新対象となるドライバの更新情報をオブジェクト取得部1202に渡し、オブジェクト取得部1202に対してドライバの更新を指示する(ステップS121)。
Returning to FIG. 7, when a driver update operation is performed on the
オブジェクト取得部1202は、UI122から渡された更新情報に基づき、オブジェクト配置サーバ41に対してオブジェクトの取得要求を送信する(ステップS122)。オブジェクト配置サーバ41は、この要求に応じて、オブジェクトを送信する。オブジェクト配置サーバ41から送信されたオブジェクトは、オブジェクト取得部1202に取得される(ステップS123)。オブジェクト取得部1202は、UI122から複数の更新情報を渡された場合は、これら複数の更新情報それぞれについて取得要求を送信し、更新情報それぞれのオブジェクトを取得する。
The
より具体的には、オブジェクト取得部1202は、UI122から渡された更新情報に含まれる、インストールされるドライバの本体であるオブジェクトが格納されるURLの記述(図10の第8行目)に従い、オブジェクト配置サーバ41にアクセスして当該URLからオブジェクトを取得する。
More specifically, the
オブジェクト取得部1202は、オブジェクト配置サーバ41から取得したオブジェクトを、更新情報に含まれるIDと関連付けて、例えばストレージ54に一時的に格納する。
The
オブジェクト取得部1202は、ドライバインストール部121に対して、オブジェクト配置サーバ41から取得したオブジェクトのインストールを指示する(ステップS124)。ドライバインストール部121は、この指示に応じて、オブジェクト配置サーバ41から取得したオブジェクトのインストール処理を開始する(ステップS125)。ドライバインストール部121は、オブジェクトが圧縮ファイルとされている場合、圧縮ファイルを解凍してインストール処理を実行する。ドライバインストール部121は、オブジェクト取得部1202が複数の更新情報を取得している場合、オブジェクトに関連付けられたIDに基づき、これら複数の更新情報それぞれに対応するオブジェクトについてインストール処理を実行する。
The
ドライバインストール部121は、全てのオブジェクトについてインストール処理が完了すると、その旨をUI122に通知する(ステップS126)。UI122は、ドライバのインストールが完了した旨を示すインストール完了画面を表示させるよう、表示部100に指示する(ステップS127)。表示部100は、この指示に従い、インストールが完了した旨をディスプレイ56に表示させる。
When the installation process is completed for all objects, the
図12は、第1の実施形態に係る、表示部100によりディスプレイ56に表示されるインストール完了画面の例を示す。図12において、インストール完了画面310は、領域311に、インストールが実行され更新されたドライバ(この例ではドライバが対応するプリンタ名)の一覧が表示される。
FIG. 12 shows an example of an installation completion screen displayed on the display 56 by the
このように、第1の実施形態によれば、インストーラ105は、クライアントPC10にインストールされるドライバ106が含む識別情報(ID)に基づく特定情報(例えばURL)に従い、ドライバ106の更新に用いるオブジェクトのURLを含む更新情報を取得するようにしている。したがって、インストーラ105は、ドライバ106が含む識別情報に基づく特定情報で特定される格納場所に格納される更新情報が、ドライバ106のインストール時には未知であるドライバのものであっても、この未知のドライバをクライアントPC10にインストールすることができる。
As described above, according to the first embodiment, the
ここで、第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
図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
図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
項目「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
項目「プログラム種別」は、ドライバ106の機能を示す。例えば、項目「プログラム種別」は、ドライバ106の制御対象がプリンタ機能およびスキャナ機能のうち何れであるかを示す。また、項目「プログラム種別」は、ドライバ106がこれらプリンタ機能やスキャナ機能において細分化される何れの機能に対応するかをさらに示すことができる。一例として、項目「プログラム種別」は、プリンタ機能において対応するPDL(Page Description Language)の種類を示すことができる。
The item “program type” indicates the function of the
図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 “
図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
更新情報の管理方法は、図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
各フォルダのフォルダ名は、フォルダに格納される各ファイルのファイル名の共通する文字列を用いることが考えられる。例えば、各更新情報ファイルについて、ファイル名を構成する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
この場合、インストーラ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
この図15に示す構成の場合、更新情報サーバ40は、特定情報に含まれる各引数に基づき検索を行うことになる。一方、上述した図14(a)および図14(b)に示す、ID毎の特定情報を持つ例では、特定情報により直接的にIDを取得することができる。したがって、図15に示す構成は、図14(a)および図14(b)に示す構成と比較してデータベースの負荷が高くなると考えられる。
In the case of the configuration shown in FIG. 15, the
より具体的には、第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
例えば、ドライバ106をクライアントPC10にインストールする際には、インストーラ105は、ドライバ106の制御対象や、ドライバ106の動作環境(OSバージョンなど)に応じて適切なドライバプログラムを決定する必要がある。この場合には、この引数に基づきテーブルを参照してIDを検索する方法が適している。
For example, when the
(第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
第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
図16は、第1の実施形態の変形例に係るドライバ106のインストール手順の例を示すシーケンス図である。なお、図16において、上述した図1〜図4と共通する部分には同一の符号を付して、詳細な説明を省略する。
FIG. 16 is a sequence diagram illustrating an example of an installation procedure of the
図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
インストーラ105は、ドライバパッケージ1060から各ファイルを取り出して、ドライバ106のインストールを行う。クライアントPC10は、ドライバパッケージ1060を、ネットワーク30を介してサーバなどから取得してもよいし、ドライバパッケージ1060が記録されたCD(Compact Disk)やDVD(Digital Versatile Disk)といった記録媒体から取得してもよい。
The
図16の処理に先立って、クライアントPC10は、ドライバパッケージ1060を取得してストレージ54に格納しているものとする。例えば、クライアントPC10の入力部101に対するユーザ操作に応じて、インストーラ105のUI122に対してドライバ106のインストールが指示される(ステップS200)。UI122は、この指示をドライバ情報取得部123に伝えると共に、ドライバ情報取得部123に対してドライバ情報の取得を要求する(ステップS201)。
Prior to the processing of FIG. 16, the
ドライバ情報取得部123は、UI122からのドライバ情報取得要求に応じて、ドライバパッケージ1060からドライバ情報を取得する(ステップS202、ステップS203)。ドライバ情報取得部123は、取得したドライバ情報を記憶部104に渡し、記憶部104に対して、渡したドライバ情報の書き込みを要求する(ステップS204)。記憶部104は、この要求に応じて、ドライバ情報取得部123から渡されたドライバ情報を、OSの管理領域(例えばレジストリ)に書き込む(ステップS205)。例えば、記憶部104は、クライアントPC10のOSに対して、ドライバ情報のOS管理領域への書き込みを依頼する。
The driver
図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
ドライバ情報取得部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
図18は、第1の実施形態の変形例に係る、ドライバ106の更新手順の例を示すシーケンス図である。なお、図18において、上述した図1〜図4と共通する部分には同一の符号を付して、詳細な説明を省略する。
FIG. 18 is a sequence diagram illustrating an example of an update procedure of the
例えば、クライアントPC10の入力部101に対するユーザ操作に応じて、インストーラ105のUI122に対してドライバ106の更新チェックが指示される(ステップS220)。この指示は、UI122からドライバ情報取得部123に伝えられる(ステップS221)。
For example, in response to a user operation on the
ドライバ情報取得部123は、この更新チェックの指示を受けて、記憶部104に対してドライバ情報の取得を要求する(ステップS222)。記憶部104は、この要求に応じて、OS管理領域200から、IDとドライバの種別を示す情報とが関連付けられて書き込まれた全てのドライバ情報を取得する。記憶部104は、取得したドライバ情報をドライバ情報取得部123に渡す(ステップS223)。
Upon receiving this update check instruction, the driver
ドライバ情報取得部123は、記憶部104から渡されたドライバ情報から、インストーラ105が対応可能なドライバ106のドライバ情報を選択する。例えば、ドライバ情報取得部123は、ドライバ情報に含まれるIDに基づき、当該ドライバ情報が、インストーラ105が対応可能なドライバ106であるか否かを判別する。判別は、例えば、ドライバ情報から、上述した所定のフォーマットに従ったIDが取得できたか否かで行う。
The driver
以降の処理は、上述した、図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
各IDについて取得された各更新情報は、更新情報取得部1201からドライバ情報取得部123を介してUI122に渡される(ステップS227、ステップS228)。なお、この場合においても、更新情報取得部1201は、各更新情報に基づき、クライアントPC10にインストールされている各ドライバのうち、更新対象となるドライバを選択することができる。UI122は、渡された各更新情報に基づき、更新対象となるドライバを示す情報を表示部100に通知する(ステップS229)。
Each update information acquired for each ID is passed from the update
表示部100は、UI122から通知された情報に基づき、更新対象のドライバを示す表示画面300(図11(a)参照)をディスプレイ56に表示させる。このとき、表示部100は、図11(b)に示したような、更新するドライバを選択可能な表示画面300’を表示させてもよい。
The
表示画面300に対するドライバの更新操作が入力部101からUI122に通知される(ステップS230)。UI122は、更新対象となるドライバの更新情報をオブジェクト取得部1202に渡し、オブジェクト取得部1202に対してドライバの更新を指示する(ステップS231)。
A driver update operation for the
オブジェクト取得部1202は、UI122から渡された更新情報に基づき、オブジェクト配置サーバ41に対してオブジェクトの取得要求を送信し(ステップS232)、この要求に応じてオブジェクト配置サーバ41から送信されたオブジェクトを取得する(ステップS233)。
Based on the update information passed from the
オブジェクト取得部1202は、取得したオブジェクトのインストールを、ドライバインストール部121に指示する(ステップS234)。ドライバインストール部121は、この指示に応じて、オブジェクト配置サーバ41から取得したオブジェクトのインストール処理を実行し(ステップS235)、インストール処理が完了すると、その旨をUI122に通知する(ステップS236)。UI122は、この通知に応じて、ドライバのインストールが完了した旨を示すインストール完了画面を表示させるよう、表示部100に指示する(ステップS237)。表示部100は、この指示に従い、インストールが完了した旨を示すインストール完了画面310(図12参照)をディスプレイ56に表示させる。
The
(第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
さらに、クライアントPC10には、アプリケーションプログラムもインストールされる。アプリケーションプログラムは、ドライバに付随してインストールされる場合もあるし、単独でインストールされる場合もある。なお、アプリケーションプログラムは、比較的狭い範囲の仕事を想定して、ユーザの特定の要求に近接して作成されたプログラムであって、一般的には、プリンタやスキャナといった、クライアントPC10に対する外部装置の直接的な制御は、行わない。アプリケーションプログラムは、インストール方法が各ドライバとは異なる。
Furthermore, an application program is also installed in the
この第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
図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
図20は、第2の実施形態に係るクライアントPC10の機能を説明するための一例の機能ブロック図である。なお、図20において、上述した図3と共通する部分には同一の符号を付して、詳細な説明を省略する。また、第2の実施形態に係るクライアントPC10は、ハードウェア構成としては、第1の実施形態において図2を用いて説明した構成をそのまま適用できるので、ここでの説明を省略する。
FIG. 20 is an exemplary functional block diagram for explaining functions of the
図20において、クライアントPC10は、ドライバとして、プリンタ機能200を制御するためのプリンタドライバ106aと、スキャナ機能201を制御するためのスキャナドライバ106bとを有する。
In FIG. 20, the
また、クライアントPC10は、アプリケーションプログラム106cを含むことができる。アプリケーションプログラム106cは、データに所定のデータ処理を施す。例えば、アプリケーションプログラム106cは、データに処理を施して印刷データを生成し、生成した印刷データをプリンタドライバ106aに渡す。プリンタドライバ106aは、アプリケーションプログラム106cから渡された印刷データに従いプリンタ機能200を制御する。また例えば、アプリケーションプログラム106cは、スキャナドライバ106bに対して指示を出してスキャナ機能201を制御させて画像データを取得し、取得した画像データに画像処理を施すことができる。アプリケーションプログラム106cの機能は、これらに限られない。
The
インストーラ105’は、これらの、インストール方法が異なるプリンタドライバ106a、スキャナドライバ106bおよびアプリケーションプログラム106cをインストール可能とされている。
The installer 105 'can install the
ここで、インストーラ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
プログラム情報取得部1230は、クライアントPC10にインストールされているインストールパッケージから、プログラム情報を取得する。プログラム情報は、上述したドライバ情報に対応するもので、少なくともプログラムの識別情報(ID)を含む。プログラム情報は、プログラムの種別を示す情報をさらに含んでもよい。インストーラ判別部124は、プログラムのインストール時に、プログラムインストール部1215に含まれるプリンタ部1210、スキャナ部1211およびアプリケーションプログラム部1212のうち何れを用いるかを判別する。
The program
インストーラ105’は、プログラムインストールの指示に応じて、インストール対象のプログラムが格納されるインストールパッケージからプログラム情報およびメタデータを取得して、インストール可能なプログラムの一覧を作成する。インストーラ105’は、インストール対象のプログラム種別に応じたインストール処理を実行する。
In response to an instruction for program installation, the
より詳細には、インストーラ105’は、インストーラ判別部124により、取得したプログラム情報に基づきインストール対象のプログラム種別を判別する。そして、インストーラ105’は、インストーラ判別部124の判別結果に応じて、プログラムインストール部1215に含まれるプリンタ部1210、スキャナ部1211およびアプリケーションプログラム部1212から、インストール対象のプログラム種別に応じたものを選択して、インストール処理を実行する。
More specifically, the
プリンタ部1210、スキャナ部1211およびアプリケーションプログラム部1212それぞれによるインストール処理について、概略的に説明する。
An installation process by the
プリンタ部1210は、クライアントPC10に対するプリンタドライバのインストールを実行する。プリンタ部1210が実行するプリンタドライバのインストール処理は、プリンタドライバを構成する各ファイルを、クライアントPC10上にOSが定めたフォルダに格納する処理と、印刷ポートの設定と、論理プリンタキューの作成と、OSがWindows(登録商標)の場合にはレジストリの初期設定とを含む。なお、論理プリンタキューの作成処理は、例えばインストールされるプリンタドライバに対応するプリンタを示すアイコンの作成処理を含む。
The
スキャナ部1211は、クライアントPC10に対するスキャナドライバのインストールを実行する。スキャナ部1211が実行するスキャナドライバのインストール処理は、スキャナドライバを構成する各ファイルを、クライアントPC10上にOSが定めたフォルダに格納する処理と、スキャンポートの設定処理とを含む。
The
アプリケーションプログラム部1212は、アプリケーションプログラムのインストールを実行する。アプリケーションプログラム部1212が実行するアプリケーションプログラムのインストール処理は、アプリケーションプログラムを構成する各ファイルを、クライアントPC10上に作成した所定のフォルダに格納する処理と、OSがWindows(登録商標)の場合にはレジストリの初期設定およびスタートメニューへの登録とを含む。
The
なお、アプリケーションプログラムの構成ファイルの格納フォルダは、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
インストーラ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
さらに、インストーラ105’が対応可能なアプリケーションプログラムとして、クラウドストレージを利用するためのアプリケーションプログラムや、MFPといった画像形成装置や、プロジェクタ装置といった機器の、WiFi(登録商標)などの無線通信の設定を行う設定ツールが考えられる。
Further, as an application program that can be handled by the
図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
図22において、インストールパッケージ1061は、プログラムをインストールするためのデータが格納されるファイルであって、プログラムを構成する各ファイル(オブジェクト)と、プログラムのインストールに用いるプログラム情報が記述されたファイルとが格納される。インストールパッケージ1061の例として、プリンタドライバ106aまたはスキャナドライバ106bが格納されるドライバパッケージや、アプリケーションプログラム106cが格納されるアプリケーションパッケージがある。
In FIG. 22, an
プログラム情報は、例えば、このインストールパッケージ1061によりインストールされるプログラムのIDと、当該プログラムに付された名称と、当該プログラムのクラス(class)情報とを含む。クラス情報は、例えば、当該プログラムの種別を示す種別情報である。当該プログラムがプリンタドライバ106aやスキャナドライバ106bといったドライバプログラムの場合、クラス情報は、当該プログラムの制御対象を識別するために用いることができる。この場合のより具体的な例として、クラス情報は、そのドライバの制御対象がプリンタおよびスキャナの何れであるかを示す。
The program information includes, for example, an ID of a program installed by the
図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
プログラム情報取得部1230は、UI122からのプログラム情報取得要求に応じて、インストールパッケージ1061からプログラム情報を取得する(ステップS303、ステップS304)。プログラム情報取得部1230は、取得したプログラム情報を記憶部104に渡し、記憶部104に対して、渡したプログラム情報の書き込みを要求する(ステップS305)。記憶部104は、この要求に応じて、プログラム情報取得部1230から渡されたプログラム情報を、OS管理領域200に書き込む(ステップS306)。
The program
図23は、第2の実施形態に係る、OS管理領域200に書き込まれたプログラム情報の例を示す。この例では、プログラム情報に含まれる、プログラムのIDと、プログラムのクラス情報(プリンタ、スキャナまたはアプリケーションプログラム)と、プログラムの名称とが関連付けられて、OS管理領域200に書き込まれている。図23の例では、クラス情報は、プログラム種別として記載されている。
FIG. 23 shows an example of program information written in the
また、プログラム情報取得部1230は、ステップS303およびステップS304で取得したプログラム情報をインストーラ判別部124に渡す(ステップS307)。インストーラ判別部124は、プログラム情報取得部1230から渡されたプログラム情報に含まれるクラス情報に基づき、インストールパッケージ1061によりインストールされるプログラムの種別を判別する(ステップS308)。
The program
ステップS308で、インストーラ判別部124により、インストールパッケージ1061によりインストールされるプログラムがプリンタドライバ106aであると判別された場合、ステップS3000の処理が行われ、プリンタドライバ106aのインストールが実行される。ステップS308で、インストールされるプログラムがスキャナドライバ106bであると判別された場合、ステップS3001の処理が行われ、スキャナドライバ106bのインストールが実行される。また、ステップS308で、インストールされるプログラムがアプリケーションプログラム106cであると判別された場合、ステップS3002の処理が行われ、アプリケーションプログラム106cのインストールが実行される。
In step S308, when the
ステップS3000において、インストーラ判別部124は、プログラムインストール部1210におけるプリンタ部1210に対してインストールパッケージ1061によるプログラムのインストールを指示する(ステップS310)。プリンタ部1210は、インストールパッケージ1061から各ファイルを取り出して、プリンタドライバ106aのインストール処理を行う(ステップS311)。プリンタ部1210は、プリンタドライバ106aのインストール処理が完了すると、その旨をUI122に通知する(ステップS312)。
In step S3000, the
ステップS3001において、インストーラ判別部124は、スキャナ部1211に対してインストールパッケージ1061によるプログラムのインストールを指示する(ステップS310’)。スキャナ部1211は、インストールパッケージ1061から各ファイルを取り出して、スキャナドライバ106bのインストール処理を行う(ステップS311’)。スキャナ部1211は、スキャナドライバ106bのインストール処理が完了すると、その旨をUI122に通知する(ステップS312’)。
In step S3001, the
また、ステップS3002において、インストーラ判別部124は、アプリケーションプログラム部1212に対してインストールパッケージ1061によるプログラムのインストールを指示する(ステップS310”)。アプリケーションプログラム部1212は、インストールパッケージ1061から各ファイルを取り出して、アプリケーションプログラム106cのインストール処理を行う(ステップS311”)。アプリケーションプログラム部1212は、アプリケーションプログラム106cのインストール処理が完了すると、その旨をUI122に通知する(ステップS312”)。
In step S3002, the
UI122は、プログラムインストール部1215のプリンタ部1210、スキャナ部1211またはアプリケーションプログラム部1212からインストール処理の完了が通知されると、その旨を表示させるよう、表示部100に指示する(ステップS313)。表示部100は、この指示に従い、インストールが完了した旨をディスプレイ56に表示させる。
When the completion of the installation process is notified from the
図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
図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
すなわち、例えばクライアントPC10の入力部101に対するユーザ操作に応じて、インストーラ105’のUI122に対してプログラムの更新チェックが指示される(ステップS320)。この指示は、UI122からプログラム情報取得部1230に伝えられる(ステップS321)。
That is, for example, in response to a user operation on the
プログラム情報取得部1230は、この更新チェックの指示を受けて、記憶部104に対してプログラム情報の取得を要求する(ステップS322)。記憶部104は、この要求に応じて、OS管理領域200から、IDと、クラス情報と、プログラムの名称とが関連付けられて書き込まれた全てのプログラム情報を取得する。記憶部104は、取得したプログラム情報をプログラム情報取得部1230に渡す(ステップS323)。
In response to the update check instruction, the program
プログラム情報取得部1230は、記憶部104から渡されたプログラム情報から、インストーラ105’が対応可能なプログラムのプログラム情報を選択する。例えば、プログラム情報取得部1230は、プログラム情報に含まれるIDに基づき、当該プログラム情報が、インストーラ105’が対応可能なプログラムであるか否かを判別する。判別は、例えば、プログラム情報から、上述した所定のフォーマットに従ったIDが取得できたか否かで行う。
The program
プログラム情報取得部1230は、ステップS322およびステップS323の処理で取得した各IDを更新情報取得部1201に渡し、各IDに対応する更新情報の取得を更新情報取得部1201に要求する(ステップS324)。更新情報取得部1201は、プログラム情報取得部1230から渡されたIDに基づき特定情報を生成し、生成した特定情報に従い、更新情報サーバ40に対して更新情報を要求する(ステップS325)。更新情報取得部1201は、この要求に応じて更新情報サーバ40から送信された更新情報を取得する(ステップS326)。
The program
この例では、プリンタドライバ106aを更新するための更新情報と、スキャナドライバ106bを更新するための更新情報と、アプリケーションプログラム106cを更新するための更新情報とが更新情報サーバ40から送信され、更新情報取得部1201に取得されたものとする。
In this example, update information for updating the
各IDについて取得された各更新情報は、更新情報取得部1201からプログラム情報取得部1230を介してUI122に渡される(ステップS327、ステップS328)。UI122は、渡された各更新情報を表示部100に渡す(ステップS329)。
Each update information acquired for each ID is passed from the update
表示部100は、UI122から渡された更新情報に基づき、更新対象のプログラムを示す表示画面をディスプレイ56に表示させる。図25(a)は、第2の実施形態に係る、表示部100に表示される表示画面の例を示す。図25(a)の例では、表示画面400は、領域401に、更新対象のプログラムが対応する機種名、クラス情報およびプログラム種別が一覧表示される。
The
インストーラ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
表示画面400において、選択入力部402は、領域401に表示される各プログラムを更新するか否かを、入力部101に対する操作に応じて選択する。図25(a)の例では、選択入力部402に対して「はい」を選択し、ボタン403を操作することで、領域401に表示される各プログラムの更新が開始される。
In the
また、表示部100は、図25(b)に示したような、更新するプログラムを選択可能な表示画面400’を表示させてもよい。表示画面400’において、領域401’に表示される更新対象のプログラム一覧に対し、各行にチェックボックス404が付加されている。この場合、入力部101に対する操作によりチェックボックス404がチェックされた行に示されるプログラムに対して選択的に更新処理が実行される。
Further, the
表示画面400に対するプログラムの更新操作が入力部101からUI122に通知される(ステップS330)。UI122は、更新対象となるプログラムの更新情報をオブジェクト取得部1202に渡し、オブジェクト取得部1202に対してプログラムの更新を指示する(ステップS331)。
A program update operation for the
オブジェクト取得部1202は、UI122から渡された更新情報に基づき、オブジェクト配置サーバ41に対してオブジェクトの取得要求を送信し(ステップS332)、この要求に応じてオブジェクト配置サーバ41から送信されたオブジェクトを取得する(ステップS333)。オブジェクト取得部1202は、オブジェクトを取得すると、オブジェクト取得通知を、取得したオブジェクトに対応するIDと共にインストーラ判別部124に渡す(ステップS334)。
The
インストーラ判別部124は、オブジェクト取得部1202から渡されたIDをプログラム情報取得部1230に渡し、当該IDに対応するプログラム情報をプログラム情報取得部1230に要求する(ステップS335)。プログラム情報取得部1230は、この要求に応じて、渡されたIDに対応するプログラム情報をインストーラ判別部124に渡す(ステップS336)。
The
インストーラ判別部124は、プログラム情報取得部1230から渡されたプログラム情報に含まれるクラス情報に基づき、更新によりインストールされるプログラムの種別を判別する(ステップS337)。
The
ステップS337で、インストーラ判別部124により、更新によりインストールされるプログラムがプリンタドライバ106aであると判定された場合、ステップS3003の処理が行われ、プリンタドライバ106aのインストールが実行されプリンタドライバ106aが更新される。ステップS337で、インストールされるプログラムがスキャナドライバ106bであると判別された場合、ステップS3004の処理が行われ、スキャナドライバ106bのインストールが実行されスキャナドライバ106bが更新される。また、ステップS337で、インストールされるプログラムがアプリケーションプログラム106cであると判別された場合、ステップS3005の処理が行われ、アプリケーションプログラム106cのインストールが実行されアプリケーションプログラム106cが更新される。
In step S337, when the
ステップS3003において、インストーラ判別部124は、プログラムインストール部1215におけるプリンタ部1210に対して、ステップS333でオブジェクト取得部1202に取得されたオブジェクトによるプログラムのインストールを指示する(ステップS340)。プリンタ部1210は、この指示に従い、オブジェクト取得部1202に取得されたオブジェクトのインストール処理を実行し(ステップS341)、インストール処理が完了すると、その旨をUI122に通知する(ステップS342)。
In step S3003, the
ステップS3004において、インストーラ判別部124は、プログラムインストール部1215におけるスキャナ部1211に対して、ステップS333でオブジェクト取得部1202に取得されたオブジェクトによるプログラムのインストールを指示する(ステップS340’)。スキャナ部1211は、この指示に従い、オブジェクト取得部1202に取得されたオブジェクトのインストール処理を実行し(ステップS341’)、インストール処理が完了すると、その旨をUI122に通知する(ステップS342’)。
In step S3004, the
また、ステップS3005において、インストーラ判別部124は、プログラムインストール部1215におけるアプリケーションプログラム部1212に対して、ステップS333でオブジェクト取得部1202に取得されたオブジェクトによるプログラムのインストールを指示する(ステップS340”)。アプリケーションプログラム部1212は、この指示に従い、オブジェクト取得部1202に取得されたオブジェクトのインストール処理を実行し(ステップS341”)、インストール処理が完了すると、その旨をUI122に通知する(ステップS342”)。
In step S3005, the
UI122は、プログラムインストール部1215のプリンタ部1210、スキャナ部1211またはアプリケーションプログラム部1212からインストール処理の完了が通知されると、その旨を表示させるよう、表示部100に指示する(ステップS343)。表示部100は、この指示に従い、インストールが完了した旨をディスプレイ56に表示させる。
When the completion of the installation process is notified from the
図26は、第2の実施形態に係る、表示部100によりディスプレイ56に表示されるインストール完了画面の例を示す。図26において、インストール完了画面410は、領域411に、インストールが実行され更新されたプログラムの一覧が表示される。
FIG. 26 shows an example of an installation completion screen displayed on the display 56 by the
第2の実施形態によれば、インストーラ105’は、プログラム種別が異なるプリンタドライバ106a、スキャナドライバ106bおよびアプリケーションプログラム106cについても、OS管理領域200に書き込まれた各プリンタドライバ106a、スキャナドライバ106bおよびアプリケーションプログラム106cの各プログラム情報がそれぞれ含む識別情報(ID)に基づく特定情報(例えばURL)に従い、プリンタドライバ106a、スキャナドライバ106bおよびアプリケーションプログラム106cの更新に用いる各オブジェクトのURLを含む各更新情報を取得する。インストーラ105’は、プログラム情報に含まれるクラス情報に基づき、プログラム種別に応じたインストール処理を行うことができる。
According to the second embodiment, the
また、インストーラ105’は、プリンタドライバ106a、スキャナドライバ106bおよびアプリケーションプログラム106cが含む各識別情報に基づく各特定情報で特定される格納場所に格納される各更新情報が、プリンタドライバ106aやスキャナドライバ106b、アプリケーションプログラム106cのインストール時には未知であるプログラムのものであっても、各更新情報に基づき、この未知のプログラムをクライアントPC10にインストールすることができる。
In addition, the
なお、上述の実施形態および各変形例は、本発明の好適な実施の例ではあるがこれに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変形による実施が可能である。 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
123 driver
Claims (10)
前記ドライバを更新するための更新情報が格納される格納場所を特定する特定情報を、前記識別情報に基づき生成する生成ステップと、
前記生成ステップにより生成された前記特定情報に特定される前記格納場所から前記更新情報を取得する第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または請求項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.
前記更新情報に基づき前記ドライバの更新を行うか否かを判定し、更新を行うと判定した前記ドライバを示す情報を表示部に表示させる
請求項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乃至請求項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.
前記ドライバから、該ドライバの種別を示す種別情報をさらに取得して、前記識別情報と関連付けて前記記憶領域に記憶させる
請求項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.
前記更新ステップは、
前記記憶領域から前記種別情報を取得して、取得した該種別情報に示されるドライバの種別に応じた手順で前記ドライバを更新する
請求項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.
前記ドライバを更新するための更新情報が格納される格納場所を特定する特定情報を、前記識別情報に基づき生成する生成部と、
前記生成部により生成された前記特定情報に特定される前記格納場所から前記更新情報を取得する第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.
前記ドライバを更新するための更新情報が格納される格納場所を特定する特定情報を、前記識別情報に基づき生成する生成ステップと、
前記生成ステップにより生成された前記特定情報に特定される前記格納場所から前記更新情報を取得する第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格納場所を示す情報を含む更新情報が、前記ドライバを識別する識別情報に基づく特定情報で特定される第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.
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)
| 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)
| 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 |
-
2015
- 2015-06-16 JP JP2015121447A patent/JP6540256B2/en not_active Expired - Fee Related
Patent Citations (7)
| 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)
| 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 |