(57)【要約】      （修正有）【課題】機種共通ドライバの更新を容易に実行可能とする。【解決手段】機種共通ドライバが対応する機種に対する設定情報と、設定情報を機種共通ドライバに組み込む機種追加ツールとを機種識別情報に関連付けて第１保存部に保存するとともに、第１保存部に保存される設定情報のバージョン情報と、機種共通ドライバが対応するフォーマット情報とを機種識別情報に関連付けて第２の保存部に保存する。機種共通ドライバを搭載する機器２０から、機種共通ドライバが対応する機種識別情報と、設定情報の第１バージョン情報と、インターフェイス情報と、フォーマット情報とを取得する。取得した各情報と、第２保存部から取得した第１バージョン情報及びフォーマット情報とに基づき第１保存部を参照し、設定情報と、設定情報を機種共通ドライバに組み込むための機種追加ツールとを特定しＳ１３１、機種追加ツールパッケージを作成して機器に送信するＳ１３４。【選択図】図１８
2016033693.tif 000002
【特許請求の範囲】
【請求項１】
複数の機種の装置への処理の要求が可能な機種共通ドライバが対応する機種に対する設定を行うための設定情報と、該設定情報を該機種共通ドライバに組み込むための機種追加ツールとが、それぞれ該機種を識別する機種識別情報に関連付けられて保存される第１保存部と、
前記第１保存部に保存される前記設定情報のバージョンを示す第１バージョン情報と、前記機種共通ドライバが対応するフォーマットを示すフォーマット情報とが前記機種識別情報に関連付けられて保存される第２保存部と、
機種共通ドライバが搭載される機器から、該機種共通ドライバが対応する機種の機種識別情報と、該機種に対応する前記設定情報の前記第１バージョン情報と、該機種共通ドライバに対応するインターフェイスを示すインターフェイス情報と、該機種共通ドライバに対応するフォーマット情報とを取得する第１取得部と、
前記第２保存部から前記第１バージョン情報と前記フォーマット情報とを取得する第２取得部と、
前記第１取得部で取得された機種識別情報、第１バージョン情報、インターフェイス情報およびフォーマット情報と、前記第２取得部で取得された第１バージョン情報およびフォーマット情報とに基づき前記第１保存部を参照して、前記設定情報と、該設定情報を前記機種共通ドライバに組み込むための機種追加ツールとを特定する特定部と、
前記特定部で特定された前記設定情報と前記機種追加ツールとを同梱した機種追加ツールパッケージを前記機器に送信する送信部と
を有する
ことを特徴とする情報処理システム。
【請求項２】
前記第１保存部は、
前記設定情報と前記機種追加ツールとが前記機種識別情報に関連付けられて同梱された機種追加ツールパッケージとして保存され、
前記第２保存部は、
前記第１保存部に保存される前記機種追加ツールパッケージに基づき作成された、該機種追加ツールパッケージが含む前記設定情報の前記第１バージョン情報と、該機種追加ツールが対応する前記フォーマット情報とが機種識別情報に関連付けられた同梱された機種追加ツールパッケージ情報が保存され、
前記第２取得部は、
前記第２保存部に保存される前記機種追加ツールパッケージ情報から前記第１バージョン情報と前記フォーマット情報とを取得する
ことを特徴とする請求項１に記載の情報処理システム。
【請求項３】
前記第２保存部は、
前記機種追加ツールの第２バージョン情報と、該機種追加ツールが対応する前記インターフェイスの第３バージョン情報と、該機種追加ツールに対して設定情報を同梱可能な機種を識別する同梱可能機種識別情報とをさらに保存し、
前記第２取得部は、
前記第２保存部から、前記第２バージョン情報と、前記第３バージョン情報と、前記同梱可能機種識別情報とをさらに取得し、
前記特定部は、
前記第１取得部で取得された機種識別情報、第１バージョン情報、インターフェイス情報およびフォーマット情報と、前記第２取得部で取得された第１バージョン情報、第２バージョン情報、第３バージョン情報、同梱可能機種識別情報およびフォーマット情報とに基づき前記第１保存部を参照して、前記設定情報と該設定情報を前記機種共通ドライバに組み込むための機種追加ツールとを特定する
ことを特徴とする請求項１に記載の情報処理システム。
【請求項４】
前記第２保存部は、
前記第１の保存部に保存される前記設定情報と同梱可能な前記機種追加ツールを示す同梱可能機種追加ツール情報をさらに保存し、
前記第２取得部は、
前記第２保存部から前記同梱可能機種追加ツール情報をさらに取得し、
前記特定部は、
前記第１取得部で取得された機種識別情報、第１バージョン情報、インターフェイス情報およびフォーマット情報と、前記第２取得部で取得された第１バージョン情報、フォーマット情報および同梱可能機種追加ツール情報とに基づき前記第１保存部を参照して、前記設定情報と該設定情報を前記機種共通ドライバに組み込むための機種追加ツールとを特定する
ことを特徴とする請求項１に記載の情報処理システム。
【請求項５】
複数の機種の装置への処理の要求が可能な機種共通ドライバが対応する機種に対する設定を行うための設定情報と、該設定情報を該機種共通ドライバに組み込むための機種追加ツールとが、それぞれ該機種を識別する機種識別情報に関連付けられて保存される第１保存部と、
前記第１保存部に保存される前記設定情報のバージョンを示す第１バージョン情報と、前記機種共通ドライバが対応するフォーマットを示すフォーマット情報とが前記機種識別情報に関連付けられて保存される第２保存部と、
機種共通ドライバが搭載される機器から、該機種共通ドライバが対応する機種の機種識別情報と、該機種に対応する前記設定情報の前記第１バージョン情報と、該機種共通ドライバに対応するインターフェイスを示すインターフェイス情報と、該機種共通ドライバに対応するフォーマット情報とを取得する第１取得部と、
前記第２保存部から前記第１バージョン情報と前記フォーマット情報とを取得する第２取得部と、
前記第１取得部で取得された機種識別情報、第１バージョン情報、インターフェイス情報およびフォーマット情報と、前記第２取得部で取得された第１バージョン情報およびフォーマット情報とに基づき前記第１保存部を参照して、前記設定情報と、該設定情報を前記機種共通ドライバに組み込むための機種追加ツールとを特定する特定部と、
前記特定部で特定された前記設定情報と前記機種追加ツールとを同梱した機種追加ツールパッケージを前記機器に送信する送信部と
を有する
ことを特徴とする情報処理装置。
【請求項６】
複数の機種の装置への処理の要求が可能な機種共通ドライバが対応する機種に対する設定を行うための設定情報と、該設定情報を該機種共通ドライバに組み込むための機種追加ツールとを、それぞれ該機種を識別する機種識別情報に関連付けて第１保存部に保存する第１保存ステップと、
前記第１保存部に保存される前記設定情報のバージョンを示す第１バージョン情報と、前記機種共通ドライバが対応するフォーマットを示すフォーマット情報とを、前記機種識別情報に関連付けて第２保存部に保存する第２保存ステップと、
機種共通ドライバが搭載される機器から、該機種共通ドライバが対応する機種の機種識別情報と、該機種に対応する前記設定情報の前記第１バージョン情報と、該機種共通ドライバに対応するインターフェイスを示すインターフェイス情報と、該機種共通ドライバに対応するフォーマット情報とを取得する第１取得ステップと、
前記第２保存部から前記第１バージョン情報と前記フォーマット情報とを取得する第２取得ステップと、
前記第１取得ステップにより取得された機種識別情報、第１バージョン情報、インターフェイス情報およびフォーマット情報と、前記第２取得部で取得された第１バージョン情報およびフォーマット情報とに基づき前記第１保存部を参照して、前記設定情報と、該設定情報を前記機種共通ドライバに組み込むための機種追加ツールとを特定する特定ステップと、
前記特定ステップにより特定された前記設定情報と前記機種追加ツールとを同梱した機種追加ツールパッケージを前記機器に送信する送信ステップと
を有する
ことを特徴とする情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム、情報処理装置および情報処理方法に関する。
【背景技術】
【０００２】
従来から、ＰＣ（パーソナルコンピュータ）などの情報処理装置に搭載されるプリンタドライバにおいて、印刷先のプリンタ装置の機種を複数の機種間で切り替えられるようにした機種共通ドライバが知られている。機種共通ドライバは、例えば複数機種のプリンタドライバにそれぞれ対応する複数の設定情報を含み、ＰＣにおいて、使用するプリンタ装置の機種に応じてプリンタドライバの機種を切り替える。これにより、印刷に関する設定を行う各設定画面の内容が、使用するプリンタ装置の機種に対応する設定画面に切り替わる。
【０００３】
機種共通ドライバは、新たな機種のプリンタ装置が発売された場合など、当該機種の設定情報を追加することができる。このような、ＰＣに既に搭載された機種共通ドライバに新たな機種の設定情報を追加するためのツールが用意される。このツールは、例えば、追加する機種の設定情報と、設定情報を機種共通ドライバに追加する処理を行う機種追加ツールとがパッケージングされた機種追加ツールパッケージとしてユーザに提供される。
【０００４】
一例として、機種追加ツールパッケージは、実行可能な書庫形式で作成され、インターネット上のＷｅｂサイトなどにリンクされる。ユーザは、当該Ｗｅｂサイトにアクセスし、機種追加ツールパッケージを自らのＰＣなどにダウンロードして実行させる。これにより、機種追加ツールパッケージに書庫化して格納された各ファイルが展開されて機種追加ツールが起動される。起動された機種追加ツールは、機種追加ツールパッケージに同梱されていた各設定情報を、当該ＰＣに搭載される機種共通ドライバに組み込む処理を行う。
【０００５】
特許文献１には、クライアントは、ネットワークに接続されているプリンタから転送されるプリンタドライバ情報から、インストール処理手段によりプリンタドライバダウンロード情報を抽出し、抽出したプリンタドライバダウンロード情報に基づきプリンタドライバをダウンロードしてインストール処理手段によりインストールする技術が開示されている。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
機種追加ツールパッケージは、組み込まれる機種追加ツールや設定情報のバージョン毎に用意される。例えば、設定情報は、同一の機種共通ドライバに組み込む場合であっても、機能の追加変更などによりフォーマットが異なる場合がある。また、機種追加ツールは、設定情報のフォーマットに対応して用意される。したがって、同一の機種のプリンタ装置に関連する機種追加ツールパッケージが複数存在する場合があり、ユーザは、ＰＣに搭載された機種共通ドライバに対応する機種追加ツールパッケージを適切に選択することが困難になるおそれがある。
【０００７】
上述した特許文献１では、ユーザがプリンタドライバ情報などの確認作業を行うこと無しに、プリンタドライバをダウンロードしてインストールすることが可能である。しかしながら、特許文献１では、プリンタドライバのバージョン情報の確認を行うのみであり、機種追加ツールおよび設定情報それぞれを特定することが困難である。
【０００８】
本発明は、上記に鑑みてなされたものであって、機種共通ドライバの更新を容易に実行可能とすることを目的とする。
【課題を解決するための手段】
【０００９】
上述した課題を解決し、目的を達成するために、本発明は、複数の機種の装置への処理の要求が可能な機種共通ドライバが対応する機種に対する設定を行うための設定情報と、設定情報を機種共通ドライバに組み込むための機種追加ツールとが、それぞれ機種を識別する機種識別情報に関連付けられて保存される第１保存部と、第１保存部に保存される設定情報のバージョンを示す第１バージョン情報と、機種共通ドライバが対応するフォーマットを示すフォーマット情報とが機種識別情報に関連付けられて保存される第２保存部と、機種共通ドライバが搭載される機器から、機種共通ドライバが対応する機種の機種識別情報と、機種に対応する設定情報の第１バージョン情報と、機種共通ドライバに対応するインターフェイス情報と、機種共通ドライバに対応するフォーマット情報とを取得する第１取得部と、第２保存部から第１バージョン情報とフォーマット情報とを取得する第２取得部と、第１取得部で取得された機種識別情報、第１バージョン情報、インターフェイス情報およびフォーマット情報と、第２取得部で取得された第１バージョン情報およびフォーマット情報とに基づき第１保存部を参照して、設定情報と、設定情報を機種共通ドライバに組み込むための機種追加ツールとを特定する特定部と、特定部で特定された設定情報と機種追加ツールとを同梱した機種追加ツールパッケージを機器に送信する送信部とを有することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、機種共通ドライバの更新が容易に実行可能となるという効果を奏する。
【図面の簡単な説明】
【００１１】
【図１】図１は、各実施形態に適用可能な情報処理システムの一例の構成を示すブロック図である。
【図２】図２は、各実施形態に適用可能なサーバ装置の一例の構成を示すブロック図である。
【図３】図３は、機種共通ドライバおよび機種共通ドライバに対する機種の追加について説明するための図である。
【図４】図４は、機種共通ドライバおよび機種共通ドライバに対する機種の追加について説明するための図である。
【図５】図５は、各実施形態に適用可能なパッケージ構成の例を示す図である。
【図６】図６は、第１の実施形態に係る情報処理システムの一例の構成を示すブロック図である。
【図７】図７は、第１の実施形態に係る機種追加ツールパッケージ保存領域の一例のデータ構成を示す図である。
【図８】図８は、第１の実施形態に係る機種追加ツールパッケージの例を示す図である。
【図９】図９は、第１の実施形態に係る機種追加ツールの一例の構成を示す図である。
【図１０】図１０は、第１の実施形態に係る機種機能ファイルの一例の構成を示す図である。
【図１１】図１１は、第１の実施形態に係る機種用語ファイルの一例の構成を示す図である。
【図１２】図１２は、第１の実施形態に係る機種追加ツールパッケージ情報保存領域の一例のデータ構成を示す図である。
【図１３】図１３は、第１の実施形態に係る機種追加ツールパッケージ情報の一例の構成を示す図である。
【図１４】図１４は、第１の実施形態に係る機種保存領域の一例のデータ構成を示す図である。
【図１５】図１５は、第１の実施形態に係るツールパッケージ保存領域の一例のデータ構成を示す図である。
【図１６】図１６は、第１の実施形態に係る第１〜第４の条件についてより具体的に説明するための図である。
【図１７】図１７は、第１の実施形態に係る、サーバ装置における機種追加ツールパッケージ情報の生成および保存処理を示す一例のフローチャートである。
【図１８】図１８は、第１の実施形態に係る、クライアント装置の機種共通ドライバに対して機種を追加する処理を概略的に示す一例のフローチャートである。
【図１９】図１９は、第１の実施形態に係る、使用可能な機種追加ツールパッケージを特定する処理をより詳細に示す一例のフローチャートである。
【図２０】図２０は、第１の実施形態に係る、機種共通ドライバに対する機種追加処理の流れをクライアント装置およびサーバ装置の構成に関連付けて示す図である。
【図２１】図２１は、第２の実施形態に係る情報処理システムの一例の構成を示すブロック図である。
【図２２】図２２は、第２の実施形態に係る機種追加ツール保存領域の一例のデータ構成を示す図である。
【図２３】図２３は、機種追加ツール保存領域に保存される各機種追加ツールについて説明するための図である。
【図２４】図２４は、第２の実施形態に係る機種追加ツール情報保存領域の一例のデータ構成を示す図である。
【図２５】図２５は、第２の実施形態に係る機種追加ツール情報の具体的な例を示す図である。
【図２６】図２６は、第２の実施形態に係る機種機能ファイル保存領域の一例のデータ構成を示す図である。
【図２７】図２７は、第２の実施形態に係る、機種機能ファイル保存領域に保存される機種機能ファイルについて説明するための図である。
【図２８】図２８は、第２の実施形態に係る機種機能ファイル情報保存領域の一例のデータ構成を示す図である。
【図２９】図２９は、第２の実施形態に係る機種機能ファイル情報の具体的な例を示す図である。
【図３０】図３０は、第２の実施形態に係る機種用語ファイル保存領域の一例のデータ構成を示す図である。
【図３１】図３１は、機種用語ファイル保存領域に保存される機種用語ファイルについて説明するための図である。
【図３２】図３２は、第２の実施形態に係る機種用語ファイル情報保存領域の一例のデータ構成を示す図である。
【図３３】図３３は、第２の実施形態に係る機種用語ファイル情報の具体的な例を示す図である。
【図３４】図３４は、第２の実施形態に係る、サーバ装置における機種追加ツール情報と、機種機能ファイル情報および機種用語ファイル情報とを生成および保存する処理を示す一例のフローチャートである。
【図３５】図３５は、第２の実施形態に係る、クライアント装置の機種共通ドライバに対して機種を追加する処理を概略的に示す一例のフローチャートである。
【図３６】図３６は、第２の実施形態に係る、使用可能な機種追加ツール、機種機能ファイルおよび機種用語ファイルを特定する処理をより詳細に示す一例のフローチャートである。
【図３７】図３７は、第２の実施形態に係る、機種共通ドライバに対する機種追加処理の流れをクライアント装置およびサーバ装置の構成に関連付けて示す図である。
【図３８】図３８は、第３の実施形態に係る情報処理システムの一例の構成を示すブロック図である。
【図３９】図３９は、第３の実施形態に係る機種機能ファイル情報保存領域の一例のデータ構成を示す図である。
【図４０】図４０は、第３の実施形態に係る機種機能ファイル情報の具体的な例を示す図である。
【図４１】図４１は、第３の実施形態に係る、サーバ装置における機種機能ファイル情報および機種用語ファイル情報の生成および保存処理を示す一例のフローチャートである。
【図４２】図４２は、第３の実施形態に係る、クライアント装置の機種共通ドライバに対して機種を追加する処理を概略的に示す一例のフローチャートである。
【図４３】図４３は、第３の実施形態に係る、使用可能な機種追加ツール、機種機能ファイルおよび機種用語ファイルを特定する処理をより詳細に示す一例のフローチャートである。
【図４４】図４４は、第３の実施形態に係る、機種共通ドライバに対する機種追加処理の流れをクライアント装置およびサーバ装置の構成に関連付けて示す図である。
【発明を実施するための形態】
【００１２】
以下に添付図面を参照して、情報処理システム、情報処理装置および情報処理方法の実施形態を詳細に説明する。
【００１３】
（各実施形態に共通の構成）
図１は、各実施形態に適用可能な情報処理システムの一例の構成を示す。図１において、情報処理システム１は、それぞれ少なくとも１台のサーバ装置１０およびクライアント装置２０と、１以上のプリンタ装置４０ａ、４０ｂ、…とを含み、これらサーバ装置１０、クライアント装置２０およびプリンタ装置４０ａ、４０ｂ、…がネットワーク３０を介して互いに通信可能に接続される。
【００１４】
詳細は後述するが、サーバ装置１０およびクライアント装置２０は、例えば一般的なコンピュータなどによる情報処理装置である。サーバ装置１０は、ネットワーク３０に接続されるプリンタ装置４０ａ、４０ｂ、…を管理する。サーバ装置１０は、クライアント装置２０から出力された印刷データを、プリンタ装置４０ａ、４０ｂ、…のうちサーバ装置１０またはクライアント装置２０に指定されたプリンタ装置に送信して、当該プリンタ装置に印刷を実行させる。
【００１５】
また、サーバ装置１０は、クライアント装置２０がプリンタ装置４０ａ、４０ｂ、…を利用する際に用いるプリンタドライバの管理を行う。実施形態では、クライアント装置２０は、複数機種のプリンタ装置４０ａ、４０ｂ、…に対して共通して適用される、複数の機種の装置への処理の要求が可能な機種共通ドライバを用いて、各プリンタ装置４０ａ、４０ｂ、…での印刷を行う。機種共通ドライバは、対応する各プリンタ装置４０ａ、４０ｂ、…の機能を制御するための各機種機能データを含む。サーバ装置１０は、クライアント装置２０に搭載される機種共通ドライバに対する機種機能データの追加や更新などの処理を、ネットワーク３０を介して行うことができる。
【００１６】
図２は、各実施形態に適用可能なサーバ装置１０の一例の構成を示す。サーバ装置１０は、ＣＰＵ(Central  Processing  Unit)５１と、ＲＯＭ(Read  Only  Memory)５２と、ＲＡＭ(Random  Access  Memory)５３と、ストレージ５４と、表示制御部５５と、入出力Ｉ／Ｆ５７と、通信Ｉ／Ｆ５９とがバス５０を介して互いに通信可能に接続されている。
【００１７】
ＣＰＵ５１は、ＲＯＭ５２やストレージ５４に予め記憶されるプログラムに従い、ＲＡＭ５３をワークメモリとして用いて、このサーバ装置１０の全体の動作を制御する。ストレージ５４は、ハードディスクドライブや不揮発性の半導体メモリ（フラッシュメモリ）からなり、ＣＰＵ５１が動作するためのプログラムや、各種データが格納される。
【００１８】
表示制御部５５は、ＣＰＵ５１によりプログラムに従い生成された表示制御信号を、表示部５６で表示可能な表示信号に変換して表示部５６に供給する。表示部５６は、例えばＬＣＤ(Liquid  Crystal  Display)を表示デバイスとして用い、表示制御部５５から供給された表示信号に従った画面を表示デバイスに表示させる。
【００１９】
入出力Ｉ／Ｆ５７は、外部機器との間で通信を行うインターフェイスである。図２の例では、入出力Ｉ／Ｆ５７に対して、外部機器としてキーボードやポインティングデバイス（マウスなど）を含む操作部５８が接続されている。入出力Ｉ／Ｆ５７は、これに限らず、ＣＤ(Compact  Disk)やＤＶＤ(Digital  Versatile  Disk)といったディスク記憶媒体からのデータの読み出しなどを行うドライブ装置や、不揮発性の半導体メモリなどのストレージを接続してもよい。入出力Ｉ／Ｆ５７としては、例えばＵＳＢ(Universal  Serial  Bus)を用いることができる。
【００２０】
通信Ｉ／Ｆ５９は、ＴＣＰ／ＩＰ(Transmission  Control  Protocol/Internet  Protocol)など所定のプロトコルを用いてネットワーク３０を介した通信を制御する。
【００２１】
なお、クライアント装置２０は、サーバ装置１０と同様の構成で実現可能であるので、ここでの説明を省略する。
【００２２】
（機種共通ドライバ）
ここで、機種共通ドライバおよび機種共通ドライバに対する機種の追加について、図３および図４を用いて概略的に説明する。なお、図３および図４において、上述の図１と共通する部分には同一の符号を付して、詳細な説明を省略する。
【００２３】
図３において、クライアント装置２０に対して、機種共通ドライバ２００が搭載される。機種共通ドライバ２００は、例えばクライアント装置２０に接続されるハードディスクドライブ上に形成される保存領域である機種保存領域２１０に保存される機種ファイルを読み込むことで、読み込んだ機種ファイルに対応するプリンタ装置を利用することが可能となる。
【００２４】
例えば、クライアント装置２０からプリンタ装置４０ａ（機種Ａとする）を利用する場合について考える。クライアント装置２０に搭載される機種共通ドライバ２００が、この機種Ａに対応する機種ファイル２１１ａを含んでいない場合、機種共通ドライバ２００に対して機種ファイル２１１ａを追加する必要がある。この場合、機種共通ドライバ２００に対する機種ファイル２１１ａの追加は、機種追加ツール２２０を用いて実行される。
【００２５】
機種追加ツール２２０は、例えばクライアント装置２０上で実行可能な実行ファイルとして構成され、対応する機種ファイル２１１ａと共にクライアント装置２０に供給される。機種追加ツール２２０は、例えばサーバ装置１０からネットワーク３０を介してクライアント装置２０に供給される。クライアント装置２０上で機種追加ツール２２０を実行させると、機種ファイル２１１ａを機種保存領域２１０に追加して格納する（ステップＳ１）。機種保存領域２１０に追加された機種ファイル２１１ａを機種共通ドライバ２００が読み込むことで（ステップＳ２）、クライアント装置２０は、プリンタ装置４０ａを利用可能な状態となる。
【００２６】
同様の手順で、プリンタ装置４０ｂ（機種Ｘとする）に対応する機種ファイルを、対応する機種追加ツールを用いて機種保存領域２１０に追加して保存することができる。これにより、クライアント装置２０は、プリンタ装置４０ａに加えてプリンタ装置４０ｂを利用可能な状態となる。
【００２７】
機種共通ドライバ２００に追加された機種ファイル２１１ａの更新が必要となる場合がある。例えば、図３を用いて説明したようにして機種共通ドライバ２００に追加した機種ファイル２１１ａに欠陥があり、特定の機能を利用した場合にプリンタ装置４０ａにおいて正常に印刷が行われない場合が考えられる。
【００２８】
この場合、図４に例示されるように、例えばサーバ装置１０側で、機種ファイル２１１ａ（バージョン＃１．０とする）の欠陥を修正した、バージョン２．０の機種ファイル２１１ｂを用意する。サーバ装置１０は、機種ファイル２１１ｂを含んだ機種追加ツール２２０’をクライアント装置２０に供給する。クライアント装置２０において、この機種追加ツール２２０’を実行させて機種ファイル２１１ｂを機種保存領域２１０に追加する（ステップＳ３）。機種ファイル２１１ｂは、例えば既存の機種ファイル２１１ａに対して上書きされ、更新される。機種共通ドライバ２００がこの機種ファイル２１１ｂを読み込むことで（ステップＳ４）、プリンタ装置４０ａにおいて正常な印刷が可能となる。
【００２９】
上述した、例えば機種追加ツール２２０および機種ファイル２１１ａは、これらが同梱されたパッケージとして提供すると、機種共通ドライバ２００に対する機種の追加を容易に実行可能となり好ましい。図５は、各実施形態に適用可能なパッケージ構成の例を示す。図５において、機種追加ツールパッケージ３００は、実行ファイルである機種追加ツール３０１と、各種データが格納される機種機能フォルダ３０２および機種用語フォルダ３０４と含み、例えばｚｉｐ形式で書庫化されて１つのファイルとして提供される。
【００３０】
機種追加ツールパッケージ３００において、機種機能フォルダ３０２は、１以上の機種機能ファイル３０３ａ、３０３ｂ、…を含む。機種機能ファイル３０３ａ、３０３ｂ、…は、それぞれ、機種名で示される機種（機種Ａ、Ｂ、…）の機能を設定するための情報を含む。
【００３１】
また、機種追加ツールパッケージ３００において、機種用語フォルダ３０４は、機種機能フォルダ３０２に含まれる各機種機能ファイル３０３ａ、３０３ｂ、…に対応する各機種用語ファイル３０５ａ、３０５ｂ、…を含む。機種用語ファイル３０５ａ、３０５ｂ、…は、機種共通ドライバ２００が機種名で示される機種において用いる用語を含む。機種用語ファイル３０５ａ、３０５ｂ、…が含む用語は、例えば、機種共通ドライバ２００がクライアント装置２０の表示部に表示させるＵＩ(User  Interface)に用いる用語である。
【００３２】
機種追加ツールパッケージ３００に格納される各ファイル、すなわち、機種追加ツールパッケージ３００に含まれる機種追加ツール３０１、機種機能ファイル３０３ａ、３０３ｂ、…、ならびに、機種用語ファイル３０５ａ、３０５ｂ、…は、それぞれリリースバージョンが付与される。また、機種追加ツールパッケージ３００自体にも、リリースバージョンが付与される。リリースバージョンは、各ファイルを提供するベンダ側において管理される値であって、例えば、各ファイルの開発段階毎にインクリメントされる。
【００３３】
なお、機種追加ツールパッケージ３００は、例えばｚｉｐ方式など所定の方式で書庫化することで１ファイルに纏めて、クライアント装置２０に提供することができる。クライアント装置２０側において、機種追加ツールパッケージ３００を展開（解凍）して書庫化されたファイルから機種追加ツール３０１以下の各ファイルを取り出し、機種追加ツール３０１を実行させることで、機種追加ツールパッケージ３００に含まれる各機種機能ファイル３０３ａ、３０３ｂ…、ならびに、各機種用語ファイル３０５ａ、３０５ｂ、…が機種保存領域２１０に追加して保存される。
【００３４】
（第１の実施形態）
次に、第１の実施形態について説明する。図６は、第１の実施形態に係る情報処理システムの一例の構成を示す。図６において、情報処理システム１ａは、図１に示した情報処理システム１と対応するもので、クライアント装置２０は、サーバ装置１０ａおよびプリンタ装置４０と図示されないネットワーク３０を介して接続される。
【００３５】
第１の実施形態に係るクライアント装置２０は、機種共通ドライバ２００と、追加機種更新アプリケーション２３０と、機種保存領域２１０と、ツールパッケージ保存領域２１１とを含む。機種共通ドライバ２００および追加機種更新アプリケーション２６０は、それぞれプログラムとしてクライアント装置２０に供給され、図示されないＣＰＵにより実行される。機種保存領域２１０およびツールパッケージ保存領域２１１は、それぞれ機種共通ドライバ２００により、クライアント装置２０が有するハードディスクドライブなどのストレージの記憶領域に形成される。
【００３６】
なお、クライアント装置２０において、ＯＳ(Operating  System)２４０は、ＣＰＵ上で実行され、クライアント装置２０の全体の動作を制御する。また、通信部２５０は、機種共通ドライバ２００およびＯＳ２４０の制御により、プリンタ装置４０と通信を行う。
【００３７】
機種共通ドライバ２００は、描画部２０１とＵＩ部２０２とを含む。描画部２０１は、ＵＩ部２０２で指定された印刷情報に従い印刷データを生成する。描画部２０１は、機種共通ドライバ２００において、例えば、機種共通ドライバ２００が初期状態で対応するプリンタ機種毎に設けられる。また、機種共通ドライバ２００は、機種保存領域２１０に保存される設定情報すなわち機種機能ファイルおよび機種用語ファイルを読み込むことで、当該設定情報に示される機種のプリンタ装置に対応可能となる。
【００３８】
ＵＩ部２０２が行う印刷情報の設定の例として、プリンタ装置４０の機種の切り替え、印刷設定、使用するプリンタ装置４０の機器オプションの設定が含まれる。また、ＵＩ部２０２は、使用するプリンタ装置４０の機種を示す機種情報、一部の印刷設定、機器オプション設定などを、機種機能情報として機種保存領域２１０に保存する。また、ＵＩ部２０２は、これらの設定を行うための画面（デバイスプロパティ画面）を生成する。
【００３９】
追加機種更新アプリケーション２６０は、取得部２６１および更新部２６２を含む。取得部２６１は、機種共通ドライバ２００に追加されている機種を更新するための更新情報をサーバ装置１０ａに送信し、この情報に応じてサーバ装置１０ａから送信される機種追加ツールパッケージを取得し、ツールパッケージ保存領域２１１に追加して保存する。更新部２６２は、取得部２６１がサーバ装置１０ａから取得した機種追加ツールパッケージを展開し、当該機種追加ツールパッケージに含まれる機種追加ツールを実行させる。これにより、機種共通ドライバ２００に対する機種機能ファイルおよび機種用語ファイルの追加または変更が行われる。
【００４０】
第１の実施形態に係るサーバ装置１０ａは、機種情報管理部１００ａと、情報生成部１０１ａと、機種追加ツールパッケージ情報保存領域１０２と、機種追加ツールパッケージ保存領域１０３とを含む。
【００４１】
機種情報管理部１００ａおよび情報生成部１０１ａは、例えばストレージ５４に格納され、ＣＰＵ５１に読み出されて実行される情報処理プログラムに基づく。より具体的には、ＣＰＵ５１は、ストレージ５４から当該情報処理プログラムを読み出して主記憶装置（例えばＲＡＭ５３）上に展開し、主記憶装置上に機種情報管理部１００ａおよび情報生成部１０１ａを形成する。機種追加ツールパッケージ情報保存領域１０２および機種追加ツールパッケージ保存領域１０３は、それぞれストレージ５４上に割り当てられる記憶領域である。
【００４２】
なお、機種情報管理部１００ａおよび情報生成部１０１ａは、ＣＰＵ上で動作するプログラムにより実現される構成に限定されない。例えば、機種情報管理部１００ａおよび情報生成部１０１ａそれぞれを、互いに協働して動作するハードウェアにより構成してもよい。
【００４３】
機種追加ツールパッケージ保存領域１０３は、１以上の機種追加ツールパッケージが保存される第１保存部である。機種追加ツールパッケージ情報保存領域１０２は、機種追加ツールパッケージに関連する情報である機種追加ツールパッケージ情報を、機種追加ツールパッケージ保存領域１０３に保存される各機種追加ツールパッケージそれぞれについて保存する第２保存部である。機種追加ツールパッケージ情報とは、例えば、機種追加ツールパッケージに含まれる機種追加ツール、機種機能ファイルおよび機種用語ファイルの情報を含む。
【００４４】
機種情報管理部１００ａは、クライアント装置２０の取得部２６１から送信された更新情報を取得する第１取得部として機能する。機種情報管理部１００ａは、クライアント装置２０から取得した更新情報に応じて、当該更新情報と、機種追加ツールパッケージ情報保存領域１０２から、機種追加ツールパッケージ情報に含まれる各情報とを取得する第２取得部として機能する。機種情報管理部１００ａは、取得した各情報に基づき機種追加ツールパッケージ保存領域１０３を参照して適切な機種追加ツールパッケージを特定する特定部としても機能する。機種情報管理部１００ａは、さらに、特定した機種追加ツールパッケージを機種追加ツールパッケージ保存領域１０３から取得して、クライアント装置２０に送信する送信部としても機能する。
【００４５】
情報生成部１０１ａは、機種追加ツールパッケージ保存領域１０３に保存される機種追加ツールパッケージに含まれる各情報に基づき、機種追加ツール、機種機能ファイルおよび機種用語ファイルの情報を生成し、機種追加ツールパッケージ情報保存領域１０２に保存する。
【００４６】
図７は、第１の実施形態に係る機種追加ツールパッケージ保存領域１０３の一例のデータ構成を示す。機種追加ツールパッケージ保存領域１０３は、１以上の機種追加ツールパッケージ３００（機種追加ツールパッケージ＃１）を保存することができる。各機種追加ツールパッケージ３００は、機種追加ツール３０１、機種機能フォルダ３０２および機種用語フォルダ３０４を１つずつ含む。機種機能フォルダ３０２は、１以上の機種機能ファイル３０３（機種機能ファイル＃１）を含む。同様に、機種用語フォルダ３０４は、１以上の機種用語ファイル３０５（機種用語ファイル＃１）を含む。
【００４７】
図８は、第１の実施形態に係る、機種追加ツールパッケージ保存領域１０３に保存される機種追加ツールパッケージ３００の例を示す。機種追加ツールパッケージ保存領域１０３において、機種追加ツールパッケージ３００は、互いに識別可能なデータ名（機種追加ツールパッケージ＃１、＃２、…）を与えられ、実体的には、それぞれ書庫化されたファイルとして機種追加ツールパッケージ保存領域１０３に保存される。
【００４８】
また、各機種追加ツールパッケージ＃１、＃２のファイル名は、図８の例では、当該ファイルが機種追加ツール３０１を含むことを示す文字列（この例では文字列「aaaa」）と、リリースバージョンを示す文字列（この例では文字列「1000」、「2000」）と、リリース日（この例では文字列「20131101」、「20131201」）とをアンダースコアで結合させるという命名規則に従い構成されている。ここで、各機種追加ツールパッケージ＃１、＃２のファイル名リリースバージョンを示す文字列は、実際のリリースバージョンを示す文字列（例えば「1.0.0.0」）からピリオドを削除した文字列を用いている。なお、ファイル名において、ピリオドで区切られた後ろの文字列「zip」は、当該ファイルがｚｉｐ形式で書庫化されていることを示している。
【００４９】
機種追加ツール３０１は、実行可能な機種追加ツール本体と、機種追加ツールの属性情報として図９に例示されるようにリリースバージョンおよび機種追加インターフェイス（ＩＦ）とを含む。
【００５０】
リリースバージョンは、例えば機種追加ツール３０１の開発側において管理される値であって、開発の時系列に従いインクリメントされる。図９の例では、リリースバージョンは、各桁がピリオドで区切られた４桁の数字で示され、値が「1.0.0.0」とされている。
【００５１】
機種追加ＩＦは、機種共通ドライバ２００から、機種共通ドライバ２００に追加されている機種の一覧を、実行状態の機種追加ツール３０１が受け取るためのインターフェイスであり、対応する構成が機種共通ドライバ２００にも設けられる。機種追加ツール３０１と機種共通ドライバ２００とで機種追加ＩＦバージョンが一致する場合に、実行状態の機種追加ツール３０１は、機種共通ドライバ２００から機種一覧を受け取ることが可能となる。図９の例では、機種追加ＩＦバージョンは、ピリオドで区切られた２桁の数字で示され、値が「1.0」とされている。
【００５２】
機種機能ファイル３０３および機種用語ファイル３０５について説明する。機種機能ファイル３０３および機種用語ファイル３０５は、それぞれ機種名で示される機種について機種共通ドライバ２００において設定を行う設定情報が記述される。図１０は、第１の実施形態に係る機種機能ファイル３０３の一例の構成を示す。図１０に例示されるように、機種機能ファイル３０３は、機種名と、リリースバージョンと、ファイルフォーマットバージョンと、機能情報とを含む。
【００５３】
機種機能ファイル３０３において、機種名は、この機種機能ファイル３０３が対応するプリンタ装置４０の機種名を示す。なお、機種名は、この例に限定されず、機種を識別可能であれば、他の情報を用いてもよい。例えば、機種名として、機種毎にユニークに設定された識別情報を用いてもよい。リリースバージョンは、例えば機種機能ファイル３０３の開発側において管理される値であって、開発の時系列に従いインクリメントされる。図１０の例では、リリースバージョンは、ピリオドで区切られた２桁の数字で示され、値が「1.0」とされている。
【００５４】
ファイルフォーマットバージョンは、機種機能ファイル３０３のフォーマットのバージョンを示し、例えば、後述する機能情報の、機種機能ファイル３０３に対する格納方法を示す。ファイルフォーマットバージョンは、機種共通ドライバ２００にも設定される。ファイルフォーマットバージョンは、機種機能ファイル３０３のファイルフォーマットバージョンが機種共通ドライバ２００のファイルフォーマットバージョンを含んでいる場合に、機種追加ツール３０１により機種機能ファイル３０３を機種共通ドライバ２００に追加可能となる。図１０の例では、ファイルフォーマットバージョンは、ピリオドで区切られた２桁の数字で示され、値が「1.2」とされている。
【００５５】
機能情報は、機種名で示される機種のプリンタ装置において利用可能な機能の一覧と、禁則情報とが記述される。図１０の例では、機能情報として、印刷方法（通常印刷、機密印刷）、集約印刷（２ｉｎ１、４ｉｎ１）などが含まれている。
【００５６】
図１１は、第１の実施形態に係る機種用語ファイル３０５の一例の構成を示す。この機種用語ファイル３０５は、機種追加ツールパッケージ３００に同梱される機種機能ファイル３０３と対になるファイルである。図１１に例示されるように、機種用語ファイル３０５は、機種名と、リリースバージョンと、用語情報とを含む。
【００５７】
機種用語ファイル３０５において、機種名は、この機種用語ファイル３０５が対応するプリンタ装置４０の機種名を示す。上述したように、機種名は、この例に限定されず、機種を識別可能な他の情報、例えば、機種毎にユニークに設定された識別情報を用いてもよい。リリースバージョンは、例えば機種用語ファイル３０５の開発側において管理される値であって、開発の時系列に従いインクリメントされる。図１１の例では、リリースバージョンは、ピリオドで区切られた２桁の数字で示され、値が「1.0」とされている。
【００５８】
用語情報は、機種名で示される機種が利用可能な機能に対応する、ＵＩに表示するための用語の一覧が記述される。この場合、同一の機種追加ツールパッケージ３００に同梱される機種機能ファイル３０３における機能情報に記述される各機能に対応して、用語が定義される。図１１の例では、図１０の機種機能ファイル３０３の機能情報の各機能に対応し、例えば機能「印刷方法」が用語「Job  Type」、機能「通常印刷」が用語「Normal  Print」、機能「機密印刷」が用語「Locked  Print」として、それぞれ定義されている。
【００５９】
図１２は、第１の実施形態に係る機種追加ツールパッケージ情報保存領域１０２の一例のデータ構成を示す。機種追加ツールパッケージ情報保存領域１０２は、上述した機種追加ツールパッケージ保存領域１０３に保存される機種追加ツールパッケージ３００の属性情報である機種追加ツールパッケージ情報３１０（機種追加ツールパッケージ情報＃１）が保存される。機種追加ツールパッケージ保存領域１０３に複数の機種追加ツールパッケージ３００が保存される場合には、機種追加ツールパッケージ情報保存領域１０２には、複数の機種追加ツールパッケージ３００それぞれに対応する、複数の機種追加ツールパッケージ情報３１０が保存される。機種追加ツールパッケージ情報３１０は、機種追加ツールパッケージ３００を特定するための情報が記述される。
【００６０】
機種追加ツールパッケージ情報３１０は、図１３に例示されるように、機種追加ツールパッケージ３００に含まれる機種追加ツール３０１について、リリースバージョンおよび機種追加ＩＦバージョンが記述される。また、機種追加ツールパッケージ情報３１０は、機種追加ツールパッケージ３００に含まれる各機種機能ファイル３０３について、機種名と、リリースバージョンと、ファイルフォーマットバージョンとが記述される。なお、機種名は、上述のように、機種を識別可能であれば、他の情報、例えば、機種毎にユニークに設定された識別情報を用いてもよい。
【００６１】
クライアント装置２０の機種保存領域２１０およびツールパッケージ保存領域２１１のデータ構成例について説明する。図１４は、第１の実施形態に係る機種保存領域２１０の一例のデータ構成を示す。機種保存領域２１０は、機種追加ツール３０１により機種共通ドライバ２００に追加された機種の分だけ、機種機能ファイル３０３と機種用語ファイル３０５とが保存される。これら機種機能ファイル３０３および機種用語ファイル３０５の構成は、図１０および図１１を用いて説明した構成と同一なので、ここでの説明を省略する。
【００６２】
図１５は、第１の実施形態に係るツールパッケージ保存領域２１１の一例のデータ構成を示す。ツールパッケージ保存領域２１１は、１以上の機種追加ツールパッケージ３００が保存される。各機種追加ツールパッケージ３００の構成は、図７〜図１１を用いて説明した構成と同一なので、ここでの説明を省略する。
【００６３】
次に、機種共通ドライバ２００に対する機種の更新が可能な機種追加ツール、機種機能ファイルおよび機種用語ファイルの組み合わせについて説明する。組み合わせが可能な機種機能ファイル３０３および機種用語ファイル３０５と、機種追加ツール３０１との組は、これら各情報およびツールのバージョン情報などに基づき決定される。以下、これら各情報およびツールの組み合わが可能となるための条件について説明する。
【００６４】
第１の条件は、機種追加ツール３０１が持つファイルフォーマットバージョンと、機種機能ファイル３０３のファイルフォーマットバージョンとの一致である。すなわち、機種追加ツール３０１と機種機能ファイル３０３とで対応するファイルフォーマットバージョンが異なる場合には、当該機種追加ツール３０１は、当該機種機能ファイル３０３と、対応する機種用語ファイル３０５とを機種共通ドライバ２００に追加できない。
【００６５】
なお、機種追加ツール３０１が持つファイルフォーマットバージョンは、暗黙的なものであってよい。この場合、機種追加ツールパッケージ３００は、機種機能ファイル３０３と、機種機能ファイル３０３のファイルフォーマットバージョンと対応する機種追加ツール３０１とを同梱して構成する。機種追加ツール３０１と機種機能ファイル３０３とを別個にリリースする場合には、例えば、機種機能ファイル３０３に識別情報を付加し、機種追加ツール３０１において、同梱可能な機種機能ファイル３０３の識別情報を列挙したリストを含めるようにする。これに限らず、機種追加ツール３０１に、ファイルフォーマットバージョンを明示的に示す情報を含めてもよい。
【００６６】
第２の条件は、機種追加ツール３０１が持つ機種追加ＩＦバージョンと、機種共通ドライバ２００が持つ機種追加ＩＦバージョンとの一致である。すなわち、機種追加ツール３０１と機種共通ドライバ２００とで、持っている機種追加ＩＦバージョンが異なる場合には、当該機種追加ツール３０１は、当該機種機能ファイル３０３と、対応する機種用語ファイル３０５とを機種共通ドライバ２００に追加できない。
【００６７】
第３の条件は、機種共通ドライバ２００が持つファイルフォーマットバージョンの何れかに、機種機能ファイル３０３が持つファイルフォーマットバージョンが含まれることである。すなわち、機種共通ドライバ２００は、複数のファイルフォーマットバージョンに対応している場合がある。例えば、最新の機種共通ドライバ２００が、最新のファイルフォーマットバージョンと、過去全てのファイルフォーマットバージョンとに対応している場合が考えられる。
【００６８】
第４の条件は、機種追加ツールパッケージ３００が含む機種機能ファイルが持つリリースバージョンが、機種共通ドライバ２００に既に追加されている、機種が同一の機種機能ファイルのリリースバージョンよりも新しいバージョンであることである。
【００６９】
以上の第１〜第４の条件について、図１６を用いてより具体的に説明する。クライアント装置２０において、機種共通ドライバ２００は、機種追加ＩＦバージョンが値「2.0」とされ、ファイルフォーマットバージョンが値「1.2」および「1.3」の２バージョンに対応しているものとする。また、機種共通ドライバ２００に対して、それぞれ機種名「ABC001」、リリースバージョン「1.0」の機種機能ファイル３０３ａおよび機種用語ファイル３０５ａが追加されているものとする。なお、機種機能ファイル３０３ａは、ファイルフォーマットバージョンが値「1.3」とされている。
【００７０】
機種追加ツールパッケージ３００ａは、１の機種追加ツール３０１ａと、２種類の機種について、それぞれ機種機能ファイル３０３および機種用語ファイル３０５とを含む。すなわち、機種追加ツールパッケージ３００ａは、機種名「ABC001」、リリースバージョン「2.0」の機種機能ファイル３０３ｂおよび機種用語ファイル３０５ｂと、機種名「DEF002」、リリースバージョン「1.0」の機種機能ファイル３０３ｃおよび機種用語ファイル３０５ｃとを含む。なお、機種機能ファイル３０３ｂおよび３０３ｃは、それぞれファイルフォーマットバージョンが値「1.3」とされている。
【００７１】
第１の条件に関し、図１６の例において、機種追加ツール３０１ａのファイルフォーマットバージョンが値「1.3」であり、機種追加ツールパッケージ３００ａに機種追加ツール３０１ａと同梱されている機種機能ファイル３０３ｂおよび３０３ｃは、それぞれファイルフォーマットバージョンが値「1.3」である。機種追加ツール３０１ａと、機種機能ファイル３０３ｂおよび３０３ｃとでファイルフォーマットバージョンが一致するので、第１の条件を満たしている。したがって、機種追加ツール３０１ａは、機種機能ファイル３０３ｂおよび３０３ｃを機種共通ドライバ２００に追加するために動作可能である。
【００７２】
第２の条件に関し、機種追加ツール３０１ａおよび機種共通ドライバ２００が持つ機種追加ＩＦバージョンは、共に値「2.0」であり一致しているため、第２の条件を満たしている。
【００７３】
第３の条件に関し、機種共通ドライバ２００は、値「1.2」および値「1.3」のファイルフォーマットバージョンに対応し、機種機能ファイル３０３ｂおよび３０３ｃのファイルフォーマットバージョンが、それぞれ値「1.3」である。機種機能ファイル３０３ｂおよび３０３ｃのファイルフォーマットバージョンは、機種共通ドライバ２００が対応するファイルフォーマットバージョンに含まれているため、第３の条件を満たしている。
【００７４】
さらに、第４の条件に関し、既に追加されている機種機能ファイル３０３ａにおいて、機種名が「ABC001」とされ、リリースバージョンが値「1.0」とされている。これに対して、機種追加ツールパッケージ３００ａに含まれる、機種名が一致する機種機能ファイル３０３ｂのリリースバージョンが値「2.0」であり、追加されている機種機能ファイル３０３ａよりもリリースバージョンが新しい。したがって、第４の条件を満たしている。
【００７５】
このように、図１６に例示される機種追加ツールパッケージ３００ａは、上述した第１〜第４の条件を全て満たしている。したがって、機種追加ツール３０１ａは、機種共通ドライバ２００に対して機種機能ファイル３０３ｂおよび３０３ｃを追加可能である。
【００７６】
（第１の実施形態による処理）
次に、図１７〜図２０を用いて、第１の実施形態に係る、機種共通ドライバ２００に対する機種機能ファイル３０３および機種用語ファイル３０５の追加処理について、より詳細に説明する。
【００７７】
図１７および図１８は、第１の実施形態に係る、機種共通ドライバ２００に対する機種追加処理の全体の流れを示す一例のフローチャートである。図１９は、第１の実施形態に係る、使用可能な機種追加ツールパッケージ３００を特定する処理をより詳細に示す一例のフローチャートである。また、図２０は、図１７〜図１９のフローチャートに従った処理の流れを、サーバ装置１０ａおよびクライアント装置２０の構成に対応させて示す図である。なお、図２０において、上述した図６と共通する部分には同一の符号を付して、詳細な説明を省略する。
【００７８】
なお、ここでは、図１７〜図１９のフローチャートの処理に先立って、ユーザ、例えば機種追加ツールパッケージ３００のリリース担当者が、機種共通ドライバ２００に対して追加するための機種追加ツールパッケージ３００を予め作成しているものとする。このとき、ユーザは、それぞれ異なる機種追加ツール３０１、機種機能ファイル３０３および機種用語ファイル３０５を含む複数（Ｘmax個とする）の機種追加ツールパッケージ３００を作成することができる。また、各機種追加ツールパッケージ３００は、それぞれ複数の機種について機種機能ファイル３０３および機種用語ファイル３０５を含むことができるものとする。なお、各機種追加ツールパッケージ３００に含まれる機種機能ファイル３０３の個数を、便宜上、Ｙmax個で代表させて説明する。
【００７９】
図１７は、サーバ装置１０ａにおける機種追加ツールパッケージ情報の生成および保存処理を示す一例のフローチャートである。ステップＳ１００で、ユーザは、作成した複数の機種追加ツールパッケージ３００を書庫化して、サーバ装置１０ａの機種追加ツールパッケージ保存領域１０３に保存する（図２０のステップＳ１０）。次のステップＳ１０１で、サーバ装置１０ａにおいて情報生成部１０１ａは、機種追加ツールパッケージ保存領域１０３から、保存されている機種追加ツールパッケージ３００を取得する（図２０のステップＳ１１）。
【００８０】
次のステップＳ１０２で、情報生成部１０１ａは、ステップＳ１０１で取得した機種追加ツールパッケージ３００を展開し、書庫化された機種追加ツールパッケージ３００から、機種追加ツール３０１、機種機能ファイル３０３および機種用語ファイル３０５を抽出する。そして、抽出した機種追加ツール３０１、機種機能ファイル３０３および機種用語ファイル３０５を解析し、機種追加ツールパッケージ情報を生成する。
【００８１】
情報生成部１０１ａは、例えば、以下のようにして機種追加ツール３０１、機種機能ファイル３０３および機種用語ファイル３０５の解析を行う。
【００８２】
（１）機種追加ツール３０１に対しては、情報生成部１０１ａは、機種追加ツール３０１（実行ファイル名を「aaaa.exe」とする）をコマンドラインで実行し、値を得る。
実行するコマンド：aaaa.exe  -i
結果：release_version：1.0.0.0  ,  if_version：1.0  ,  model：eras3d,bs87as
【００８３】
これにより、情報生成部１０１ａは、機種追加ツール３０１について、リリースバージョン「1.0.0.0」、機種追加ＩＦバージョン「1.0」であり、対応する機種名「eras3d」および「bs87as」の各情報を取得できる。なお、機種名は、本来の機種名に対応付けられた識別情報が取得される。この例では、識別情報「eras3d」が機種名「ABC001」に対応し、識別情報「bs87as」が機種名「DEF002」に対応しているものとする。
【００８４】
（２）機種機能ファイル３０３に対しては、情報生成部１０１ａは、既知のパーサを使用して機種機能ファイル３０３の中身を検索し、下記のように、機種機能ファイル３０３に記述されている各値を得る。
<id  ="eras3d">
<model  name="ABC001">
<release  version="1.0">
<file  format  version="1.2">
【００８５】
これにより、情報生成部１０１ａは、機種機能ファイル３０３について、識別情報「eras3d」、機種名「ABC001」、リリースバージョン「1.0」、ファイルフォーマットバージョン「1.2」の各情報が取得される。
【００８６】
（３）機種用語ファイル３０５に対しても同様に、情報生成部１０１ａは、既知のパーサを使用して機種用語ファイル３０５の中身を検索し、下記のように、機種用語ファイル３０５に記述されている各値を得る。
<id  ="eras3d">
<model  name="ABC001">
<release  version="1.0">
【００８７】
これにより、情報生成部１０１ａは、機種用語ファイル３０５について、識別情報「eras3d」、機種名「ABC001」、リリースバージョン「1.0」の各情報が取得される。
【００８８】
なお、情報生成部１０１ａにおける上述の機種追加ツールパッケージ情報の生成処理は、ユーザがマニュアルにて機種追加ツールパッケージ情報をサーバ装置１０ａに入力することで行ってもよい。
【００８９】
説明は図１７のフローチャートに戻り、ステップＳ１０３で、情報生成部１０１ａは、ステップＳ１０２で上述のようにして生成した機種追加ツールパッケージ情報を、機種追加ツールパッケージ情報保存領域１０２に保存する（図２０のステップＳ１２）。機種追加ツールパッケージ情報が保存されると、図１７のフローチャートによる一連の処理が終了される。
【００９０】
図１８は、クライアント装置２０の機種共通ドライバ２００に対して機種を追加する処理を概略的に示す一例のフローチャートである。
【００９１】
先ず、ステップＳ１２０で、クライアント装置２０の追加機種更新アプリケーション２６０において、取得部２６１は、機種保存領域２１０に保存されている、機種共通ドライバ２００に機種機能ファイル３０３が追加された機種の機種名と、当該機種機能ファイル３０３のリリースバージョンとを取得する（図２０のステップＳ１３）。次のステップＳ１２１で、取得部２６１は、機種共通ドライバ２００から、機種追加ＩＦバージョンと、ファイルフォーマットバージョンとを取得する（図２０のステップＳ１４）。次のステップＳ１２２で、取得部２６１は、ステップＳ１２０およびステップＳ１２１で取得した各情報を、機種共通ドライバ２００に追加されている機種を更新するための更新情報としてサーバ装置１０ａに送信する（図２０のステップＳ１５）。
【００９２】
処理はサーバ装置１０ａ側に移行し、ステップＳ１３０で、機種情報管理部１００ａは、ステップＳ１２２でクライアント装置２０から送信された各情報（更新情報）を受信する。そして、機種情報管理部１００ａは、機種追加ツールパッケージ情報保存領域１０２から、保存されている機種追加ツールパッケージ情報を取得する（図２０のステップＳ１６）。
【００９３】
次のステップＳ１３１で、機種情報管理部１００ａは、クライアント装置２０から受信した各情報と、ステップＳ１３０で取得した機種追加ツールパッケージ情報とに基づき、更新可能な機種機能ファイル３０３が同梱されている機種追加ツールパッケージ３００を特定する。より具体的には、ステップＳ１３１では、上述した第１〜第４の条件について判定処理を行う。このステップＳ１３１での処理の詳細は、後述する。
【００９４】
次のステップＳ１３２で、機種情報管理部１００ａは、ステップＳ１３１において機種追加ツールパッケージ３００が特定されたか否かを判定する。特定されなかったと判定した場合、図１８のフローチャートによる一連の処理を終了させ、機種共通ドライバ２００に対する機種の追加が不可であるとする。
【００９５】
機種情報管理部１００ａは、ステップＳ１３２で、機種追加ツールパッケージ３００が特定されたと判定した場合、処理をステップＳ１３３に移行させる。機種情報管理部１００ａは、ステップＳ１３２で特定された機種追加ツールパッケージ３００を、機種追加ツールパッケージ保存領域１０３から取得する（図２０のステップＳ１７）。次のステップＳ１３４で、機種情報管理部１００ａは、ステップＳ１３３で取得した機種追加ツールパッケージ３００を、クライアント装置２０に送信し、クライアント装置２０のツールパッケージ保存領域２１１に保存させる（図２０のステップＳ１８）。
【００９６】
処理はクライアント装置２０側に移行し、ステップＳ１２３で、追加機種更新アプリケーション２６０において更新部２６２は、ステップＳ１３４でツールパッケージ保存領域２１１に保存された機種追加ツールパッケージ３００を取得する（図２０のステップＳ１９）。更新部２６２は、取得した機種追加ツールパッケージ３００に含まれる各ファイルおよび機種追加ツール３０１を取り出して、機種追加ツール３０１を実行可能な状態とする。
【００９７】
機種追加ツール３０１が実行されることで、機種追加ツールパッケージ３００に含まれる機種機能ファイル３０３および機種用語ファイル３０５が機種保存領域２１０に保存される。これにより、機種共通ドライバ２００に対する機種の追加が完了される。
【００９８】
図１９は、上述したステップＳ１３１による機種追加ツールパッケージ３００の特定処理を、より詳細に示す一例のフローチャートである。なお、図１９において、Ｘmax個の機種追加ツールパッケージ３００に対応するＸmax個の機種追加ツールパッケージ情報のうちＸ個目の機種追加ツールパッケージ情報を、機種追加ツールパッケージ情報（ｘ）として記述する。また、Ｙmax個の機種機能ファイル３０３に対応するＹmax個の機種機能ファイル３０３のうちＹ個目の機種機能ファイル３０３を、機種機能ファイル（ｙ）として記述する。値ｘおよび値ｙは、図１９のフローチャートによる処理に先立って、それぞれ値を１に初期化される。
【００９９】
機種情報管理部１００ａは、ステップＳ１４０で、図１８のステップＳ１３０でクライアント装置２０から取得した各情報のうち、追加機種の機種名と、機種追加ツールパッケージ情報（ｘ）の機種機能ファイル（ｙ）に記述される機種名とを比較する。次のステップＳ１４１で、機種情報管理部１００ａは、ステップＳ１４０の比較結果に基づき両者が一致するか否かを判定する。一致すると判定した場合、機種情報管理部１００ａは、処理をステップＳ１４２に移行させる。
【０１００】
一方、ステップＳ１４１で一致しないと判定した場合、機種情報管理部１００ａは、処理をステップＳ１４９に移行させ、値ｙの値を１だけインクリメントし、次のステップＳ１５０で、新たな値ｙが値Ｙmaxを超えたか否かを判定する。機種情報管理部１００ａは、新たな値ｙが値Ｙmaxを超えていないと判定した場合、処理をステップＳ１４０に戻す。また、新たな値ｙが値Ｙmaxを超えたと判定した場合、処理をステップＳ１５１に移行させる。
【０１０１】
ステップＳ１４２で、機種情報管理部１００ａは、図１８のステップＳ１３０でクライアント装置２０から取得した各情報のうち、追加機種のリリースバージョンと、機種追加ツールパッケージ情報（ｘ）の機種機能ファイル（ｙ）に記述されるリリースバージョンとを比較する。次のステップＳ１４３で、機種情報管理部１００ａは、ステップＳ１４２の比較結果に基づき、機種追加ツールパッケージ情報（ｘ）の機種機能ファイル（ｙ）に記述されるリリースバージョンが、クライアント装置２０から取得した追加機種のリリースバージョンよりも高いか否かを判定する。若し、機種機能ファイル（ｙ）に記述されるリリースバージョンが追加機種のリリースバージョン以下であると判定した場合、機種情報管理部１００ａは、処理をステップＳ１４９に移行させる。
【０１０２】
一方、機種機能ファイル（ｙ）に記述されるリリースバージョンが追加機種のリリースバージョンよりも高いと判定した場合、機種情報管理部１００ａは、処理をステップＳ１４４に移行させる。
【０１０３】
ステップＳ１４４で、機種情報管理部１００ａは、図１８のステップＳ１３０でクライアント装置２０から取得した各情報のうち、機種共通ドライバ２００のファイルフォーマットバージョンと、機種追加ツールパッケージ情報（ｘ）の機種機能ファイル（ｙ）のファイルフォーマットバージョンとを比較する。次のステップＳ１４５で、機種情報管理部１００ａは、機種機能ファイル（ｙ）のファイルフォーマットバージョンが、機種共通ドライバ２００のファイルフォーマットバージョンに対する互換条件を満たすか否かを判定する。より具体的には、機種共通ドライバ２００が対応するファイルフォーマットバージョンが、機種機能ファイル（ｙ）のファイルフォーマットバージョンを含んでいるか否かを判定する。
【０１０４】
機種情報管理部１００ａは、ファイルフォーマットバージョンの互換条件を満たさない、すなわち、機種共通ドライバ２００が対応するファイルフォーマットバージョンが、機種機能ファイル（ｙ）のファイルフォーマットバージョンを含んでいないと判定した場合、処理をステップＳ１４９に移行させる。一方、機種情報管理部１００ａは、ファイルフォーマットバージョンの互換条件を満たす、すなわち、機種共通ドライバ２００が対応するファイルフォーマットバージョンが、機種機能ファイル（ｙ）のファイルフォーマットバージョンを含むと判定した場合、処理をステップＳ１４６に移行させる。
【０１０５】
ステップＳ１４６で、機種情報管理部１００ａは、図１８のステップＳ１３０でクライアント装置２０から取得した各情報のうち、機種共通ドライバ２００の機種追加ＩＦバージョンと、機種追加ツールパッケージ情報（ｘ）の機種機能ファイル（ｙ）の機種追加ＩＦバージョンとを比較する。次のステップＳ１４７で、機種情報管理部１００ａは、両者が一致するか否かを判定する。両者が一致しないと判定した場合、機種情報管理部１００ａは、処理をステップＳ１５１に移行させる。
【０１０６】
一方、両者が一致すると判定した場合、機種情報管理部１００ａは、処理をステップＳ１４８に移行させる。ステップＳ１４８で、機種情報管理部１００ａは、機種追加ツールパッケージ３００を特定できたと判定する。より具体的には、機種情報管理部１００ａは、Ｘ個目の機種追加ツールパッケージ３００を、機種共通ドライバ２００に機種を追加可能な機種追加ツール３０１、機種機能ファイル３０３および機種用語ファイル３０５を含むものとして特定する。そして、図１９のフローチャートによる一連の処理が終了され、処理が図１８のステップＳ１３２に移行される。
【０１０７】
上述したステップＳ１５１で、機種情報管理部１００ａは、値ｘを１だけインクリメントし、次のステップＳ１５２で、新たな値ｘが値Ｘmaxを超えたか否かを判定する。若し、新たな値ｘが値Ｘmax以下であると判定した場合、機種情報管理部１００ａは、処理をステップＳ１５４に移行させ、値ｙを１に初期化して処理をステップＳ１４０に戻す。
【０１０８】
一方、機種情報管理部１００ａは、ステップＳ１５２で、新たな値ｘが値Ｘmaxを超えたと判定した場合、処理をステップＳ１５３に移行させる。ステップＳ１５３で、機種情報管理部１００ａは、機種追加ツールパッケージ３００を特定できなかったと判定する。そして、図１９のフローチャートによる一連の処理が終了され、処理が図１８のステップＳ１３２に移行される。
【０１０９】
このように、第１の実施形態によれば、サーバ装置１０ａは、クライアント装置２０から送信された情報に基づき、クライアント装置２０に搭載される機種共通ドライバ２００に対して機種を追加可能な機種追加ツールパッケージ３００を特定するようにしている。そのため、クライアント装置２０は、複数の機種追加ツールパッケージ３００からの選択処理をクライアント装置２０側で行うこと無しに、適切な機種追加ツールパッケージ３００を取得することができる。
【０１１０】
（第２の実施形態）
次に、第２の実施形態について説明する。図２１は、第２の実施形態に係る情報処理システムの一例の構成を示す。なお、図２１において、上述した図６と共通する部分には同一の符号を付して、詳細な説明を省略する。図２１において、情報処理システム１ｂは、サーバ装置１０ｂとクライアント装置２０とを含み、クライアント装置２０は、図示されないネットワークを介してサーバ装置１０ｂおよびプリンタ装置４０と接続される。
【０１１１】
以下では、上述した第１の実施形態と異なる構成を中心に、第２の実施形態の説明を行う。クライアント装置２０の構成は、第１の実施形態において図６を用いて説明した構成と同一であるので、ここでの説明を省略する。
【０１１２】
上述した第１の実施形態では、サーバ装置１０ａが機種追加ツール３０１、機種機能ファイル３０３および機種用語ファイル３０５をパッケージ化し、機種追加ツールパッケージ３００として保存していた。これに対して、本第２の実施形態に係るサーバ装置１０ｂは、機種追加ツール３０１、機種機能ファイル３０３および機種用語ファイル３０５を各々保存領域に保存する。また、各機種追加ツール３０１、機種機能ファイル３０３および機種用語ファイル３０５を示す情報も、各々保存領域に保存する。
【０１１３】
より具体的には、サーバ装置１０ｂは、サーバ装置１０ａにおける機種追加ツールパッケージ情報保存領域１０２の代わりに、機種追加ツール情報保存領域１１０と、機種機能ファイル情報保存領域１１１と、機種用語ファイル情報保存領域１１２とを備える。また、サーバ装置１０ｂは、サーバ装置１０ａにおける機種追加ツールパッケージ保存領域１０３の代わりに、機種追加ツール保存領域１１３と、機種機能ファイル保存領域１１４と、機種用語ファイル保存領域１１５とを備える。
【０１１４】
サーバ装置１０ｂにおいて、機種情報管理部１００ｂは、クライアント装置２０の取得部２２１から、機種共通ドライバ２００に追加されている機種を更新するための更新情報を受信する。機種情報管理部１００ｂは、クライアント装置２０から受信したこの更新情報と、機種追加ツール情報保存領域１１０、機種機能ファイル情報保存領域１１１および機種用語ファイル情報保存領域１１２に保存される情報とに基づき、機種追加ツール保存領域１１３、機種機能ファイル保存領域１１４および機種用語ファイル保存領域１１５を参照する。機種情報管理部１００ｂは、参照結果に基づき、適切な機種追加ツール３０１、機種機能ファイル３０３および機種用語ファイル３０５を特定し、特定した各ファイルおよびツールを機種追加ツールパッケージ３００に格納してクライアント装置２０に送信する。
【０１１５】
サーバ装置１０ｂにおいて、情報生成部１０１ｂは、機種追加ツール保存領域１１３、機種機能ファイル保存領域１１４および機種用語ファイル保存領域１１５に保存される各ファイルおよびツールに基づき、機種追加ツール情報、機種機能ファイル情報および機種用語ファイル情報を生成する。情報生成部１０１ｂは、生成したこれら機種追加ツール情報、機種機能ファイル情報および機種用語ファイル情報を、それぞれ機種追加ツール情報保存領域１１０、機種機能ファイル情報保存領域１１１および機種用語ファイル情報保存領域１１２に保存する。
【０１１６】
機種追加ツール情報保存領域１１０、機種機能ファイル情報保存領域１１１および機種用語ファイル情報保存領域１１２、ならびに、機種追加ツール保存領域１１３、機種機能ファイル保存領域１１４および機種用語ファイル保存領域１１５について説明する。これら各保存領域は、サーバ装置１０ｂが有するストレージ５４上の記憶領域として構成される。
【０１１７】
図２２は、第２の実施形態に係る機種追加ツール保存領域１１３の一例のデータ構成を示す。機種追加ツール保存領域１１３は、機種追加ツール３０１を保存するための領域である。図２２の例では、機種追加ツール保存領域１１３は、複数の機種追加ツール３０１ａ、３０１ｂ、…（機種追加ツール＃１、＃２、…）が保存されている。
【０１１８】
機種追加ツール保存領域１１３において、各機種追加ツール３０１ａおよび３０１ｂは、図２３に例示されるように、互いに識別可能なデータ名（機種追加ツール＃１および＃２）を与えられ、実体的には、それぞれ実行ファイルとして機種追加ツール保存領域１１３に保存される。図２３の例では、各機種追加ツール＃１および＃２は、それぞれファイル名「aaaa_1000.exe」および「aaaa_2000.exe」の実行ファイルとされている。
【０１１９】
なお、機種追加ツール３０１のファイル名は、図２３の例では、当該ファイルが機種追加ツール３０１であることを示す文字列（この例では文字列「aaaa」）と、機種追加ツール３０１のリリースバージョンを示す文字列（この例では文字列「1000」、「2000」）とをアンダースコアで結合させるという命名規則に従い構成されている。
【０１２０】
図２４は、第２の実施形態に係る機種追加ツール情報保存領域１１０の一例のデータ構成を示す。機種追加ツール情報保存領域１１０は、機種追加ツール保存領域１１３に保存される各機種追加ツール３０１ａ、３０１ｂ、…の属性情報である機種追加ツール情報３０１ａ’、３０１ｂ’、…がそれぞれ保存される。各機種追加ツール情報３０１ａ、３０１ｂ’、…は、それぞれリリースバージョンと、機種追加ＩＦバージョンと、同梱可能機種ＩＤリストとを含む。
【０１２１】
図２５（ａ）および図２５（ｂ）は、それぞれ、第２の実施形態に係る機種追加ツール情報３０１ａ’および３０１ｂ’の具体的な例を示す。図２５（ａ）において、機種追加ツール情報３０１ａ’は、リリースバージョンとして値「1.0.0.0」が記述され、機種追加ＩＦバージョンとして値「1.0」が記述されている。同梱可能機種ＩＤリストは、この機種追加ツール情報３０１ａ’に対応する機種追加ツール３０１ａに対して機種機能ファイル３０３および機種用語ファイル３０５が同梱可能な機種のＩＤが列挙される。図２５（ａ）の例では、同梱可能機種ＩＤとして、ＩＤ「eras3d」および「bs87as」が記述されている。
【０１２２】
図２５（ｂ）においても同様に、機種追加ツール情報３０１ｂ’は、リリースバージョンとして値「2.0.0.0」が記述され、機種追加ＩＦバージョンとして値「1.0」が記述され、同梱可能機種ＩＤとして、ＩＤ「eras3d」、「bs87as」および「98skse」が記述されている。
【０１２３】
図２６は、第２の実施形態に係る機種機能ファイル保存領域１１４の一例のデータ構成を示す。機種機能ファイル保存領域１１４は、機種機能ファイル３０３を保存するための領域である。図２６の例では、機種機能ファイル保存領域１１４は、複数の機種機能ファイル３０３ａ、３０３ｂ、…（機種機能ファイル＃１、＃２、…）が保存されている。
【０１２４】
機種機能ファイル保存領域１１４において、各機種機能ファイル３０３ａおよび３０３ｂは、図２７に例示されるように、互いに識別可能なデータ名（機種機能ファイル＃１および＃２）が与えられ、ファイル名「abc001_eras3d.psd」および「def002_be87as.psd」のファイルとして保存されている。この例では、ファイル名は、ファイル名「abc001_eras3d.psd」を例に取ると、機種を示す文字列を小文字で記述した文字列「abc001」と、ＩＤ「eras3d」とをアンダースコアで結合させて構成されている。ファイル名において、ピリオドで区切られた後ろの文字列「psd」は、このファイルの種類を識別するために設けられた拡張子である。
【０１２５】
図２８は、第２の実施形態に係る機種機能ファイル情報保存領域１１１の一例のデータ構成を示す。機種機能ファイル情報保存領域１１１は、機種機能ファイル保存領域１１４に保存される機種機能ファイル３０３ａ、３０３ｂ、…の属性情報である機種機能ファイル情報３０３ａ’、３０３ｂ’、…がそれぞれ保存される。各機種機能ファイル情報３０３ａ’、３０３ｂ’、…は、それぞれＩＤと、機種機能ファイルのファイル名と、機種名と、リリースバージョンと、ファイルフォーマットバージョンとを含む。
【０１２６】
図２９（ａ）および図２９（ｂ）は、それぞれ、第２の実施形態に係る機種機能ファイル情報３０３ａ’および３０３ｂ’の具体的な例を示す。図２９（ａ）において、機種機能ファイル情報３０３ａ’は、ＩＤ「eras3d」と、機種機能ファイルのファイル名「abc001_eras3d.psd」と、機種名「ABC001」とが記述されている。また、機種機能ファイル情報３０３ａ’は、リリースバージョンとして値「1.0」が記述され、ファイルフォーマットバージョンとして値「1.2」が記述されている。
【０１２７】
図２９（ｂ）についても同様に、機種機能ファイル情報３０３ｂ’は、ＩＤ「bs87as」と、機種機能ファイルのファイル名「def002_bs87as.psd」と、機種名「DEF002」とが記述されている。また、機種機能ファイル情報３０３ｂ’は、リリースバージョンとして値「1.0」が記述され、ファイルフォーマットバージョンとして値「1.2」が記述されている。
【０１２８】
図３０は、第２の実施形態に係る機種用語ファイル保存領域１１５の一例のデータ構成を示す。機種用語ファイル保存領域１１５は、機種用語ファイル３０５を保存するための領域である。図３０の例では、機種用語ファイル保存領域１１５は、複数の機種用語ファイル３０５ａ、３０５ｂ、…（機種用語ファイル＃１、＃２、…）が保存されている。
【０１２９】
機種用語ファイル保存領域１１５において、各機種用語ファイル３０５ａおよび３０５ｂは、図３１に例示されるように、互いに識別可能なデータ名（機種用語ファイル＃１および＃２）が与えられ、ファイル名「abc001_eras3d.json」および「def002_be87as.json」のファイルとして保存されている。ファイル名の命名規則は、上述した機種機能ファイル保存領域１１５の例と同様なので、詳細な説明を省略する。
【０１３０】
図３２は、第２の実施形態に係る機種用語ファイル情報保存領域１１２の一例のデータ構成を示す。機種用語ファイル情報保存領域１１２は、機種用語ファイル保存領域１１５に保存される機種用語ファイル３０５ａ、３０５ｂ、…の属性情報である機種用語ファイル情報３０５ａ’、３０５ｂ’、…がそれぞれ保存される。各機種用語ファイル情報３０５ａ’、３０５ｂ’、…は、それぞれＩＤと、機種用語ファイルのファイル名と、機種名と、リリースバージョンとを含む。
【０１３１】
図３３（ａ）および図３３（ｂ）は、それぞれ、第２の実施形態に係る機種用語ファイル情報３０５ａ’および３０５ｂ’の具体的な例を示す。図３３（ａ）において、機種用語ファイル情報３０５ａ’は、ＩＤ「eras3d」と、機種用語ファイルのファイル名「abc001_eras3d.json」と、機種名「ABC001」と、リリースバージョン「1.0」とが記述されている。図３３（ｂ）についても同様に、機種用語ファイル情報３０５ｂ’は、ＩＤ「bs87as」と、機種用語ファイルのファイル名「def002_bs87as.json」と、機種名「DEF002」と、リリースバージョン「1.0」とが記述されている。
【０１３２】
（第２の実施形態による処理）
次に、図３４〜図３７を用いて、第２の実施形態に係る、機種共通ドライバ２００に対する機種機能ファイル３０３および機種用語ファイル３０５の追加処理について、より詳細に説明する。
【０１３３】
図３４および図３５は、第２の実施形態に係る、機種共通ドライバ２００に対する機種追加処理の全体の流れを示す一例のフローチャートである。図３６は、第２の実施形態に係る、使用可能な機種追加ツール３０１、機種機能ファイル３０３および機種用語ファイル３０５を特定する処理をより詳細に示す一例のフローチャートである。また、図３７は、図３４〜図３６のフローチャートに従った処理の流れを、サーバ装置１０ｂおよびクライアント装置２０の構成に対応させて示す図である。なお、図３７において、上述した図２１と共通する部分には同一の符号を付して、詳細な説明を省略する。
【０１３４】
なお、ここでは、図３４〜図３６のフローチャートの処理に先立って、ユーザ、例えば機種追加ツールパッケージ３００のリリース担当者が、機種共通ドライバ２００に対して追加するための機種追加ツール３０１と、機種機能ファイル３０３および機種用語ファイル３０５とを予め作成しているものとする。このとき、ユーザは、それぞれＸmax個の機種機能ファイル３０３および機種用語ファイル３０５と、Ｙmax個の機種追加ツール３０１とを作成するものとする。
【０１３５】
図３４は、サーバ装置１０ｂにおける機種追加ツール情報と、機種機能ファイル情報および機種用語ファイル情報とを生成および保存する処理を示す一例のフローチャートである。ステップＳ２００で、ユーザは、Ｙ個の機種追加ツール３０１と、作成したＸ個の機種機能ファイル３０３および機種用語ファイル３０５とを、それぞれ機種追加ツール保存領域１１３、機種機能ファイル保存領域１１４および機種用語ファイル保存領域１１５に保存する（図３７のステップＳ２０）。
【０１３６】
次のステップＳ２０１で、サーバ装置１０ｂにおいて情報生成部１０１ｂは、機種追加ツール保存領域１１３、機種機能ファイル保存領域１１４および機種用語ファイル保存領域１１５から、保存されているＹ個の機種追加ツール３０１と、それぞれＸ個の機種機能ファイル３０３および機種用語ファイル３０５とを取得する（図３７のステップＳ２１ａ、Ｓ２１ｂ、Ｓ２１ｃ）。
【０１３７】
次のステップＳ２０２で、情報生成部１０１ｂは、ステップＳ２０１で取得した機種追加ツール３０１と、機種機能ファイル３０３および機種用語ファイル３０５とを解析し、機種追加ツール情報、機種機能ファイル情報および機種用語ファイル情報を生成する。各ファイルなどの解析方法は、第１の実施形態において項目（１）〜（３）で説明した方法を同様に適用可能であるため、ここでの説明を省略する。
【０１３８】
次のステップＳ２０３で、情報生成部１０１ｂは、ステップＳ２０２での解析結果に基づき生成した機種追加ツール情報、機種機能ファイル情報および機種用語ファイル情報を、それぞれ機種追加ツール情報保存領域１１０、機種機能ファイル情報保存領域１１１および機種用語ファイル情報保存領域１１２に保存する（図３７のステップＳ２２ａ、Ｓ２２ｂおよびＳ２２ｃ）。各情報の保存領域への保存が完了すると、図３４のフローチャートによる一連の処理が終了される。
【０１３９】
図３５は、第２の実施形態に係る、クライアント装置２０の機種共通ドライバ２００に対して機種を追加する処理を概略的に示す一例のフローチャートである。
【０１４０】
ステップＳ２１０〜ステップＳ２１２の処理は、上述した図１８のフローチャートにおけるステップＳ１２０〜ステップＳ１２２の処理と同一である。すなわち、ステップＳ２１０で、クライアント装置２０の取得部２６１は、機種保存領域２１０から機種名とリリースバージョンとを取得する（図３７のステップＳ２３）。次のステップＳ２１１で、取得部２６１は、機種共通ドライバ２００から、機種追加ＩＦバージョンと、ファイルフォーマットバージョンとを取得する（図３７のステップＳ２４）。次のステップＳ２１２で、取得部２６１は、ステップＳ２１０およびステップＳ２１１で取得した各情報を、機種共通ドライバ２００に追加されている機種を更新するための更新情報としてサーバ装置１０ｂに送信する（図３７のステップＳ２５）。
【０１４１】
処理はサーバ装置１０ｂ側に移行し、ステップＳ２２０で、機種情報管理部１００ｂは、ステップＳ２１２でクライアント装置２０から送信された各情報（更新情報）を受信する。そして、機種情報管理部１００ｂは、機種追加ツール情報保存領域１１０、機種機能ファイル情報保存領域１１１および機種用語ファイル情報保存領域１１２から、機種追加ツール情報、機種機能ファイル情報および機種用語ファイル情報を取得する（図３７のステップＳ２６ａ、Ｓ２６ｂおよびＳ２６ｃ）。
【０１４２】
次のステップＳ２２１で、機種情報管理部１００ｂは、クライアント装置２０から受信した各情報と、ステップＳ２２０で取得した機種追加ツール情報、機種機能ファイル情報および機種用語ファイル情報とに基づき、機種追加ツール３０１と、機種機能ファイル３０３および機種用語ファイル３０５とを特定する。より具体的には、機種情報管理部１００ｂは、ステップＳ２２１で、上述した第１〜第４の条件について判定処理を行う。このステップＳ２２１での処理の詳細は、後述する。
【０１４３】
次のステップＳ２２２で、機種情報管理部１００ｂは、ステップＳ２２１において機種追加ツール３０１と、機種機能ファイル３０３および機種用語ファイル３０５が特定されたか否かを判定する。特定されなかったと判定した場合、図３５のフローチャートによる一連の処理を終了させ、機種共通ドライバ２００に対する機種の追加が不可であるとする。
【０１４４】
機種情報管理部１００ｂは、ステップＳ２２２で、機種追加ツール３０１と、機種機能ファイル３０３および機種用語ファイル３０５が特定されたと判定した場合、処理をステップＳ２２３に移行させる。機種情報管理部１００ｂは、ステップＳ２２２で特定された機種追加ツール３０１と、機種機能ファイル３０３および機種用語ファイル３０５を、機種追加ツール保存領域１１３、機種機能ファイル保存領域１１４および機種用語ファイル保存領域１１５からそれぞれ取得する（図３７のステップＳ２７ａ、Ｓ２７ｂおよびＳ２７ｃ）。
【０１４５】
次のステップＳ２２４で、機種情報管理部１００ｂは、ステップＳ２２３で取得した機種追加ツール３０１と、機種機能ファイル３０３および機種用語ファイル３０５とを含む機種追加ツールパッケージ３００を作成する。機種情報管理部１００ｂは、作成した機種追加ツールパッケージ３００を、次のステップＳ２２５でクライアント装置２０に送信し、クライアント装置２０のツールパッケージ保存領域２１１に保存させる（図３７のステップＳ２８）。
【０１４６】
処理はクライアント装置２０側に移行し、ステップＳ２１３で、追加機種更新アプリケーション２６０において更新部２６２は、ステップＳ２２５でツールパッケージ保存領域２１１に保存された機種追加ツールパッケージ３００を取得する（図３７のステップＳ２９）。更新部２６２は、取得した機種追加ツールパッケージ３００に含まれる各ファイルおよび機種追加ツール３０１を取り出して、機種追加ツール３０１を実行可能な状態とする。
【０１４７】
図３６は、上述したステップＳ２２１による機種追加ツール３０１、機種機能ファイル３０３および機種用語ファイル３０５の特定処理を、より詳細に示す一例のフローチャートである。なお、図３６において、Ｘmax個の機種機能ファイル情報のうちＸ個目の機種機能ファイル情報を、機種機能ファイル情報（ｘ）として記述する。また、Ｙmax個の機種追加ツール情報のうちＹ個目の機種追加ツール情報を機種追加ツール情報（ｙ）として記述する。値ｘおよび値ｙは、図３６のフローチャートによる処理に先立って、それぞれ値を１に初期化される。
【０１４８】
機種情報管理部１００ｂは、ステップＳ２３０で、図３５のステップＳ２２０でクライアント装置２０から取得した各情報のうち、追加機種の機種名と、機種機能ファイル情報（ｘ）に記述される機種名とを比較する。次のステップＳ２３１で、機種情報管理部１００ｂは、ステップＳ２３０の比較結果に基づき両者が一致するか否かを判定する。
【０１４９】
機種情報管理部１００ｂは、ステップＳ２３１で両者が一致しないと判定した場合、処理をステップＳ２４１に移行させ、値ｘの値を１だけインクリメントし、次のステップＳ２４２で、新たな値ｘが値Ｘmaxを超えたか否かを判定する。機種情報管理部１００ｂは、新たな値ｘが値Ｘmaxを超えていないと判定した場合、処理をステップＳ２３０に戻す。また、新たな値ｘが値Ｘmaxを超えたと判定した場合、処理をステップＳ２４６に移行させる。
【０１５０】
ステップＳ２４６で、機種情報管理部１００ｂは、機種追加ツール３０１、機種機能ファイル３０３および機種用語ファイル３０５を特定できなかったと判定する。そして、図３６のフローチャートによる一連の処理が終了され、処理が図３５のステップＳ２２２に移行される。
【０１５１】
一方、上述したステップＳ２３１で、追加機種の機種名と、機種機能ファイル情報（ｘ）に記述される機種名とが一致すると判定した場合、機種情報管理部１００ｂは、処理をステップＳ２３２に移行させる。
【０１５２】
ステップＳ２３２で、機種情報管理部１００ｂは、図３５のステップＳ２２０でクライアント装置２０から取得した各情報のうち、追加機種のリリースバージョンと、機種機能ファイル情報（ｘ）に記述されるリリースバージョンとを比較する。次のステップＳ２３３で、機種情報管理部１００ｂは、ステップＳ２３２の比較結果に基づき、機種機能ファイル情報（ｘ）に記述されるリリースバージョンが、クライアント装置２０から取得した追加機種のリリースバージョンよりも高いか否かを判定する。若し、機種機能ファイル情報（ｘ）に記述されるリリースバージョンが追加機種のリリースバージョン以下であると判定した場合、機種情報管理部１００ｂは、処理をステップＳ２４１に移行させる。
【０１５３】
一方、機種機能ファイル情報（ｘ）に記述されるリリースバージョンが追加機種のリリースバージョンよりも高いと判定した場合、機種情報管理部１００ｂは、処理をステップＳ２３４に移行させる。
【０１５４】
ステップＳ２３４で、機種情報管理部１００ｂは、図３５のステップＳ２２０でクライアント装置２０から取得した各情報のうち、機種共通ドライバ２００のファイルフォーマットバージョンと、機種機能ファイル情報（ｘ）に記述されるファイルフォーマットバージョンとを比較する。次のステップＳ２３５で、機種情報管理部１００ｂは、機種機能ファイル情報（ｘ）に記述されるファイルフォーマットバージョンが、機種共通ドライバ２００のファイルフォーマットバージョンに対する互換条件を満たすか否かを判定する。より具体的には、機種共通ドライバ２００が対応するファイルフォーマットバージョンが、機種機能ファイル情報（ｘ）に記述されるファイルフォーマットバージョンを含んでいるか否かを判定する。
【０１５５】
機種情報管理部１００ｂは、ファイルフォーマットバージョンの互換条件を満たさない、すなわち、機種共通ドライバ２００が対応するファイルフォーマットバージョンが、機種機能ファイル情報（ｘ）に記述されるファイルフォーマットバージョンを含んでいないと判定した場合、処理をステップＳ２４１に移行させる。一方、機種情報管理部１００ｂは、ファイルフォーマットバージョンの互換条件を満たす、すなわち、機種共通ドライバ２００が対応するファイルフォーマットバージョンが、機種機能ファイル情報（ｘ）に記述されるファイルフォーマットバージョンを含むと判定した場合、処理をステップＳ２３６に移行させる。
【０１５６】
ステップＳ２３６で、機種情報管理部１００ｂは、機種機能ファイル情報（ｘ）に記述されるＩＤと、機種追加ツール情報（ｙ）に記述される同梱可能機種ＩＤのリストとを比較する。次のステップＳ２３７で、機種情報管理部１００ｂは、ステップＳ２３６での比較の結果、機種機能ファイル情報（ｘ）に記述されるＩＤが、同梱可能機種ＩＤのリストに含まれるか否かを判定する。機種情報管理部１００ｂは、機種機能ファイル情報（ｘ）に記述されるＩＤが、同梱可能機種ＩＤのリストに含まれないと判定した場合、処理をステップＳ２４３に移行させる。
【０１５７】
ステップＳ２４３で、機種情報管理部１００ｂは、値ｙを１だけインクリメントし、次のステップＳ２４５で、新たな値ｙが値Ｙmaxを超えたか否かを判定する。機種情報管理部１００ｂは、新たな値ｙが値Ｙmaxを超えていないと判定した場合、処理をステップＳ２３６に戻す。
【０１５８】
また、機種情報管理部１００ｂは、新たな値ｙが値Ｙmaxを超えたと判定した場合、処理を上述したステップＳ２４６に移行させ、機種追加ツール３０１、機種機能ファイル３０３および機種用語ファイル３０５が特定できなかったとして、図３６のフローチャートによる一連の処理を終了させる。
【０１５９】
上述したステップＳ２３７で、機種情報管理部１００ｂは、ステップＳ２３６での比較の結果、機種機能ファイル情報（ｘ）に記述されるＩＤが、同梱可能機種ＩＤのリストに含まれると判定した場合、処理をステップＳ２３８に移行させる。
【０１６０】
ステップＳ２３８で、機種情報管理部１００ｂは、図３５のステップＳ２２０でクライアント装置２０から取得した各情報のうち、機種共通ドライバ２００の機種追加ＩＦバージョンと、機種追加ツール情報（ｙ）に記述される機種追加ＩＦバージョンとを比較する。次のステップＳ２３９で、機種情報管理部１００ｂは、両者が一致するか否かを判定する。両者が一致しないと判定した場合、機種情報管理部１００ｂは、処理を上述したステップＳ２４３に移行させる。
【０１６１】
一方、両者が一致すると判定した場合、機種情報管理部１００ｂは、処理をステップＳ２４０に移行させる。ステップＳ２４０で、機種情報管理部１００ｂは、機種追加ツール３０１、機種機能ファイル３０３および機種用語ファイル３０５を特定できたと判定する。そして、図３６のフローチャートによる一連の処理が終了され、処理が図３５のステップＳ２２２に移行される。
【０１６２】
このように、第２の実施形態によれば、サーバ装置１０ｂは、クライアント装置２０から送信された情報に基づき、クライアント装置２０に搭載される機種共通ドライバ２００に対して機種を追加可能な機種追加ツールパッケージ３００を作成するための各ファイルなどを特定している。そのため、クライアント装置２０は、それぞれ複数の機種追加ツール３０１、機種機能ファイル３０３および機種用語ファイル３０５から適切なファイルなどを選択するという煩雑な処理を行うこと無く、適切な機種追加ツールパッケージ３００を取得することができる。
【０１６３】
（第３の実施形態）
次に、第３の実施形態について説明する。図３８は、第３の実施形態に係る情報処理システムの一例の構成を示す。なお、図３８において、上述した図２１と共通する部分には同一の符号を付して、詳細な説明を省略する。図３８において、情報処理システム１ｃは、サーバ装置１０ｃとクライアント装置２０とを含み、クライアント装置２０は、図示されないネットワークを介してサーバ装置１０ｃおよびプリンタ装置４０と接続される。クライアント装置２０の構成は、第１の実施形態において図６を用いて説明した構成と同一であるので、ここでの説明を省略する。
【０１６４】
第３の実施形態に係る情報処理システム１ｃにおいて、サーバ装置１０ｃは、上述した第２の実施形態に係る情報処理システム１ｂのサーバ装置１０ｂに対して、情報生成部１０１ｂと、機種追加ツール情報保存領域１１０とが省略されている。また、情報処理システム１ｃは、機種機能ファイル情報保存領域１１１’に、機種追加ツール３０１を特定するために用いる情報がさらに格納される。さらに、機種情報管理部１００ｃは、上述した第２の実施形態に係る機種情報管理部１００ｂに対して一部の機能が変更されている。
【０１６５】
図３９は、第３の実施形態に係る機種機能ファイル情報保存領域１１１’の一例のデータ構成を示す。機種機能ファイル情報保存領域１１１’は、機種機能ファイル保存領域１１４に保存される機種機能ファイル３０３ａ、３０３ｂ、…の属性情報である機種機能ファイル情報３０３ａ”、３０３ｂ”、…がそれぞれ保存される。各機種機能ファイル情報３０３ａ”、３０３ｂ”、…は、上述した第２の実施形態における各機種機能ファイル情報３０３ａ’、３０３ｂ’、…に対し、機種機能ファイルのファイル名、機種名、リリースバージョンおよびファイルフォーマットバージョンを含み、ＩＤが省略されている。また、各機種機能ファイル情報３０３ａ”、３０３ｂ”、…は、各機種機能ファイル情報３０３ａ’、３０３ｂ’、…に対し、同梱可能な機種追加ツールを示す情報が追加されている。
【０１６６】
図４０は、第３の実施形態に係る機種機能ファイル情報３０３ａ”の具体的な例を示す。機種機能ファイル情報３０３ａ”は、機種機能ファイル３０３のファイル名「abc001_eras3d.psd」と、機種名「ABC001」と、リリースバージョン「1.0」と、ファイルフォーマットバージョン「1.2」とが記述されている。さらに、機種機能ファイル情報３０３ａ”は、同梱可能な機種追加ツール３０１を示す情報が列挙されて記述される。
【０１６７】
同梱可能な機種追加ツール３０１は、この機種機能ファイル情報３０３ａ”が対応する機種機能ファイル３０３ａを機種共通ドライバ２００に追加可能な機種追加ツール３０１である。この例では、同梱可能な機種追加ツール３０１のファイル名が、当該ファイルが機種追加ツール３０１であることを示す文字列（この例では文字列「aaaa」）と、機種追加ツール３０１のリリースバージョンを示す文字列（この例では文字列「1000」、「2000」）と、当該機種追加ツール３０１が対応する機種追加ＩＦバージョン（この例では文字列「10」）とをアンダースコアで結合させるという命名規則に従い構成されている。
【０１６８】
（第３の実施形態による処理）
次に、図４１〜図４４を用いて、第３の実施形態に係る、機種共通ドライバ２００に対する機種機能ファイル３０３および機種用語ファイル３０５の追加処理について、より詳細に説明する。
【０１６９】
図４１および図４２は、第３の実施形態に係る、機種共通ドライバ２００に対する機種追加処理の全体の流れを示す一例のフローチャートである。図４３は、第３の実施形態に係る、使用可能な機種追加ツール３０１、機種機能ファイル３０３および機種用語ファイル３０５を特定する処理をより詳細に示す一例のフローチャートである。また、図４４は、図４１〜図４３のフローチャートに従った処理の流れを、サーバ装置１０ｃおよびクライアント装置２０の構成に対応させて示す図である。なお、図４４において、上述した図３７と共通する部分には同一の符号を付して、詳細な説明を省略する。
【０１７０】
なお、ここでは、図４１〜図４３のフローチャートの処理に先立って、ユーザ、例えば機種追加ツールパッケージ３００のリリース担当者が、機種共通ドライバ２００に対して追加する機種機能ファイル３０３および機種用語ファイル３０５を予め作成しているものとする。このとき、ユーザは、それぞれＸmax個の機種機能ファイル３０３および機種用語ファイル３０５を作成するものとする。
【０１７１】
図４１は、第３の実施形態に係る、サーバ装置１０ｃにおける機種機能ファイル情報および機種用語ファイル情報を生成および保存する処理を示す一例のフローチャートである。ステップＳ３００で、ユーザは、１以上の機種追加ツール３０１と、Ｘ個の機種機能ファイル３０３および機種用語ファイル３０５とを、それぞれ機種追加ツール保存領域１１３、機種機能ファイル保存領域１１４および機種用語ファイル保存領域１１５に保存する（図４４のステップＳ３０ａ、Ｓ３０ｂおよびＳ３０ｃ）。
【０１７２】
次のステップＳ３０１で、ユーザは、機種機能ファイル情報３０３ａ”、３０３ｂ”、…を機種機能ファイル情報保存領域１１１’に対して、例えばマニュアルにて入力する（図４４のステップＳ３１ａ）。また、ユーザは、機種機能ファイル情報３０３ａ”、３０３ｂ”、…に対応する機種用語ファイル情報を、機種用語ファイル情報保存領域１１２に対して、例えばマニュアルにて入力する（図４４のステップＳ３１ｂ）。機種機能ファイル情報保存領域１１１’および機種用語ファイル情報保存領域１１２に対する各情報の入力が完了すると、図４１のフローチャートによる一連の処理が終了される。
【０１７３】
図４２は、第３の実施形態に係る、クライアント装置２０の機種共通ドライバ２００に対して機種を追加する処理を概略的に示す一例のフローチャートである。
【０１７４】
ステップＳ３１０〜ステップＳ３１２の処理は、上述した図３５のフローチャートにおけるステップＳ２１０〜ステップＳ２１２の処理と同一である。すなわち、ステップＳ３１０で、クライアント装置２０の取得部２６１は、機種保存領域２１０から機種名とリリースバージョンとを取得する（図４４のステップＳ３２）。次のステップＳ３１１で、取得部２６１は、機種共通ドライバ２００から、機種追加ＩＦバージョンと、ファイルフォーマットバージョンとを取得する（図４４のステップＳ３３）。次のステップＳ３１２で、取得部２６１は、ステップＳ３１０およびステップＳ３１１で取得した各情報を、機種共通ドライバ２００に追加されている機種を更新するための更新情報としてサーバ装置１０ｃに送信する（図４４のステップＳ３４）。
【０１７５】
処理はサーバ装置１０ｃ側に移行し、ステップＳ３２０で、機種情報管理部１００ｃは、ステップＳ３１２でクライアント装置２０から送信された各情報（更新情報）を受信する。そして、機種情報管理部１００ｃは、機種機能ファイル情報保存領域１１１’および機種用語ファイル情報保存領域１１２から、機種機能ファイル情報３０３ａ”、３０３ｂ”、…と、機種機能ファイル情報３０３ａ”、３０３ｂ”、…にそれぞれ対応する各機種用語ファイル情報とを取得する（図４４のステップＳ３５ａおよびＳ３５ｂ）。
【０１７６】
次のステップＳ３２１で、機種情報管理部１００ｃは、クライアント装置２０から受信した各情報と、ステップＳ３２０で取得した機種機能ファイル情報３０３ａ”、３０３ｂ”、…と、これらに対応する各機種用語ファイル情報とに基づき、機種追加ツール３０１と、機種機能ファイル３０３および機種用語ファイル３０５とを特定する。より具体的には、機種情報管理部１００ｃは、ステップＳ３２１で、上述した第１〜第４の条件について判定処理を行う。このステップＳ３２１での処理の詳細は、後述する。
【０１７７】
次のステップＳ３２２で、機種情報管理部１００ｃは、ステップＳ３２１において、機種追加ツール３０１と、機種機能ファイル３０３および機種用語ファイル３０５とが特定されたか否かを判定する。特定されなかったと判定した場合、図４２のフローチャートによる一連の処理を終了させ、機種共通ドライバ２００に対する機種の追加が不可であるとする。
【０１７８】
機種情報管理部１００ｃは、ステップＳ３２２で、機種追加ツール３０１と、機種機能ファイル３０３および機種用語ファイル３０５とが特定されたと判定した場合、処理をステップＳ３２３に移行させる。機種情報管理部１００ｃは、ステップＳ３２２で特定された機種追加ツール３０１と、機種機能ファイル３０３および機種用語ファイル３０５とを、機種追加ツール保存領域１１３、機種機能ファイル保存領域１１４および機種用語ファイル保存領域１１５からそれぞれ取得する（図４４のステップＳ３６ａ、Ｓ３６ｂおよびＳ３６ｃ）。
【０１７９】
次のステップＳ３２４で、機種情報管理部１００ｃは、ステップＳ３２３で取得した機種追加ツール３０１と、機種機能ファイル３０３および機種用語ファイル３０５とを含む機種追加ツールパッケージ３００を作成する。機種情報管理部１００ｃは、作成した機種追加ツールパッケージ３００を、次のステップＳ３２５でクライアント装置２０に送信し、クライアント装置２０のツールパッケージ保存領域２１１に保存させる（図４４のステップＳ３７）。
【０１８０】
処理はクライアント装置２０側に移行し、ステップＳ３１３で、追加機種更新アプリケーション２６０において更新部２６２は、ステップＳ３２５でツールパッケージ保存領域２１１に保存された機種追加ツールパッケージ３００を取得する（図４４のステップＳ３８）。更新部２６２は、取得した機種追加ツールパッケージ３００に含まれる各ファイルおよび機種追加ツール３０１を取り出して、機種追加ツール３０１を実行可能な状態とする。
【０１８１】
図４３は、上述したステップＳ３２１による機種追加ツール３０１、機種機能ファイル３０３および機種用語ファイル３０５の特定処理を、より詳細に示す一例のフローチャートである。なお、図４３において、Ｘmax個の機種機能ファイル情報のうちＸ個目の機種機能ファイル情報を、機種機能ファイル情報（ｘ）として記述する。値ｘは、図４３のフローチャートによる処理に先立って１に初期化される。
【０１８２】
機種情報管理部１００ｃは、ステップＳ３３０で、図４２のステップＳ３２０でクライアント装置２０から取得した各情報のうち、追加機種の機種名と、機種機能ファイル情報（ｘ）に記述される機種名とを比較する。次のステップＳ３３１で、機種情報管理部１００ｃは、ステップＳ３３０の比較結果に基づき両者が一致するか否かを判定する。
【０１８３】
機種情報管理部１００ｃは、ステップＳ３３１で両者が一致しないと判定した場合、処理をステップＳ３３９に移行させ、値ｘの値を１だけインクリメントし、次のステップＳ３４０で、新たな値ｘが値Ｘmaxを超えたか否かを判定する。機種情報管理部１００ｃは、新たな値ｘが値Ｘmaxを超えていないと判定した場合、処理をステップＳ３３０に戻す。また、新たな値ｘが値Ｘmaxを超えたと判定した場合、処理をステップＳ３４１に移行させる。
【０１８４】
ステップＳ３４１で、機種情報管理部１００ｃは、機種追加ツール３０１、機種機能ファイル３０３および機種用語ファイル３０５を特定できなかったと判定する。そして、図４３のフローチャートによる一連の処理が終了され、処理が図４２のステップＳ３２２に移行される。
【０１８５】
一方、上述したステップＳ３３１で、追加機種の機種名と、機種機能ファイル情報（ｘ）に記述される機種名とが一致すると判定した場合、機種情報管理部１００ｃは、処理をステップＳ３３２に移行させる。
【０１８６】
ステップＳ３３２で、機種情報管理部１００ｃは、図４２のステップＳ３２０でクライアント装置２０から取得した各情報のうち、追加機種のリリースバージョンと、機種機能ファイル情報（ｘ）に記述されるリリースバージョンとを比較する。次のステップＳ３３３で、機種情報管理部１００ｃは、ステップＳ３３２の比較結果に基づき、機種機能ファイル情報（ｘ）に記述されるリリースバージョンが、クライアント装置２０から取得した追加機種のリリースバージョンよりも高いか否かを判定する。若し、機種機能ファイル情報（ｘ）に記述されるリリースバージョンが追加機種のリリースバージョン以下であると判定した場合、機種情報管理部１００ｃは、処理をステップＳ３３９に移行させる。
【０１８７】
一方、機種機能ファイル情報（ｘ）に記述されるリリースバージョンが追加機種のリリースバージョンよりも高いと判定した場合、機種情報管理部１００ｃは、処理をステップＳ３３４に移行させる。
【０１８８】
ステップＳ３３４で、機種情報管理部１００ｃは、図４２のステップＳ３２０でクライアント装置２０から取得した各情報のうち、機種共通ドライバ２００のファイルフォーマットバージョンと、機種機能ファイル情報（ｘ）に記述されるファイルフォーマットバージョンとを比較する。次のステップＳ３３５で、機種情報管理部１００ｃは、機種機能ファイル情報（ｘ）に記述されるファイルフォーマットバージョンが、機種共通ドライバ２００のファイルフォーマットバージョンに対する互換条件を満たすか否かを判定する。より具体的には、機種共通ドライバ２００が対応するファイルフォーマットバージョンが、機種機能ファイル情報（ｘ）に記述されるファイルフォーマットバージョンを含んでいるか否かを判定する。
【０１８９】
機種情報管理部１００ｃは、ファイルフォーマットバージョンの互換条件を満たさない、すなわち、機種共通ドライバ２００が対応するファイルフォーマットバージョンが、機種機能ファイル情報（ｘ）に記述されるファイルフォーマットバージョンを含んでいないと判定した場合、処理をステップＳ３３９に移行させる。一方、機種情報管理部１００ｃは、ファイルフォーマットバージョンの互換条件を満たす、すなわち、機種共通ドライバ２００が対応するファイルフォーマットバージョンが、機種機能ファイル情報（ｘ）に記述されるファイルフォーマットバージョンを含むと判定した場合、処理をステップＳ３３６に移行させる。
【０１９０】
ステップＳ３３６で、機種情報管理部１００ｃは、図４２のステップＳ３２０でクライアント装置２０から取得した各情報のうち、機種共通ドライバ２００の機種追加ＩＦバージョンが、機種機能ファイル情報（ｘ）の同梱可能な機種追加ツールのリストに含まれるか否かを確認する。この例では、図４０を用いて説明したように、機種追加ツール３０１は、ファイル名に機種追加ＩＦバージョンを示す情報が含まれている。したがって、機種情報管理部１００ｃは、機種機能ファイル情報（ｘ）に含まれる同梱可能な機種追加ツールに記述されるファイル名を解析して機種追加ＩＦバージョンを取得し、取得した機種追加ＩＦバージョンと、機種共通ドライバ２００の機種追加ＩＦバージョンとを比較する。
【０１９１】
機種情報管理部１００ｃは、次のステップＳ３３７で、機種共通ドライバ２００の機種追加ＩＦバージョンが、機種機能ファイル情報（ｘ）の同梱可能な機種追加ツールのリストに含まれるか否かを判定する。含まないと判定した場合、機種情報管理部１００ｃは、処理を上述したステップＳ３３９に移行させる。
【０１９２】
一方、ステップＳ３３７で、機種共通ドライバ２００の機種追加ＩＦバージョンが、機種機能ファイル情報（ｘ）の同梱可能な機種追加ツールのリストに含まれると判定した場合、機種情報管理部１００ｃは、処理をステップＳ３３８に移行させる。ステップＳ３３８で、機種情報管理部１００ｃは、機種追加ツール３０１、機種機能ファイル３０３および機種用語ファイル３０５を特定できたと判定する。そして、図４３のフローチャートによる一連の処理が終了され、処理が図４２のステップＳ３２２に移行される。
【０１９３】
このように、第３の実施形態によれば、サーバ装置１０ｃは、クライアント装置２０から送信された情報に基づき、クライアント装置２０に搭載される機種共通ドライバ２００に対して機種を追加可能な機種追加ツールパッケージ３００を作成するための各ファイルなどを特定している。そのため、クライアント装置２０は、それぞれ複数の機種追加ツール３０１、機種機能ファイル３０３および機種用語ファイル３０５から適切なファイルなどを選択するという煩雑な処理を行うこと無く、適切な機種追加ツールパッケージ３００を取得することができる。
【０１９４】
なお、上述の各実施形態は、本発明の好適な実施の例ではあるがこれに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変形による実施が可能である。
【符号の説明】
【０１９５】
１，１ａ，１ｂ，１ｃ  情報処理システム
１０，１０ａ，１０ｂ，１０ｃ  サーバ装置
２０  クライアント装置
４０，４０ａ，４０ｂ  プリンタ装置
１００ａ，１００ｂ，１００ｃ  機種情報管理部
１０１ａ，１０１ｂ  情報生成部
１０２  機種追加ツールパッケージ情報保存領域
１０３  機種追加ツールパッケージ保存領域
１１０  機種追加ツール情報保存領域
１１１，１１１’  機種機能ファイル情報保存領域
１１２  機種用語ファイル情報保存領域
１１３  機種追加ツール保存領域
１１４  機種機能ファイル保存領域
１１５  機種用語ファイル保存領域
２００  機種共通ドライバ
２１０  機種保存領域
２１１ａ，２１１ｂ  機種ファイル
２２０，２２０’，３０１  機種追加ツール
２６０  追加機種更新アプリケーション
２６１  取得部
２６２  更新部
３００，３００ａ  機種追加ツールパッケージ
３０２  機種機能フォルダ
３０３，３０３ａ，３０３ｂ  機種機能ファイル
３０３ａ’，３０３ｂ’，３０３ａ”，３０３ｂ”  機種機能ファイル情報
３０４  機種用語フォルダ
３０５，３０５ａ，３０５ｂ  機種用語ファイル
【先行技術文献】
【特許文献】
【０１９６】
【特許文献１】特開２００２−１９７０４４号公報
【図１】
2016033693.tif 000003
【図２】
2016033693.tif 000004
【図３】
2016033693.tif 000005
【図４】
2016033693.tif 000006
【図５】
2016033693.tif 000007
【図６】
2016033693.tif 000008
【図７】
2016033693.tif 000009
【図８】
2016033693.tif 000010
【図９】
2016033693.tif 000011
【図１０】
2016033693.tif 000012
【図１１】
2016033693.tif 000013
【図１２】
2016033693.tif 000014
【図１３】
2016033693.tif 000015
【図１４】
2016033693.tif 000016
【図１５】
2016033693.tif 000017
【図１６】
2016033693.tif 000018
【図１７】
2016033693.tif 000019
【図１８】
2016033693.tif 000020
【図１９】
2016033693.tif 000021
【図２０】
2016033693.tif 000022
【図２１】
2016033693.tif 000023
【図２２】
2016033693.tif 000024
【図２３】
2016033693.tif 000025
【図２４】
2016033693.tif 000026
【図２５】
2016033693.tif 000027
【図２６】
2016033693.tif 000028
【図２７】
2016033693.tif 000029
【図２８】
2016033693.tif 000030
【図２９】
2016033693.tif 000031
【図３０】
2016033693.tif 000032
【図３１】
2016033693.tif 000033
【図３２】
2016033693.tif 000034
【図３３】
2016033693.tif 000035
【図３４】
2016033693.tif 000036
【図３５】
2016033693.tif 000037
【図３６】
2016033693.tif 000038
【図３７】
2016033693.tif 000039
【図３８】
2016033693.tif 000040
【図３９】
2016033693.tif 000041
【図４０】
2016033693.tif 000042
【図４１】
2016033693.tif 000043
【図４２】
2016033693.tif 000044
【図４３】
2016033693.tif 000045
【図４４】
2016033693.tif 000046