(57)【要約】【課題】仕様の異なる複数のプリンタードライバーが組み込まれている場合でも、各プリンタードライバーに互換性のある設定ファイルを適切に取得し、各プリンタードライバーの機能を拡張できる。【解決手段】情報処理装置は、印刷装置に対応するプリンタードライバーをインストールする際に、前記印刷装置のハードウェア情報を取得する手段と、前記ハードウェア情報に基づき、前記印刷装置に対応する異なる仕様の複数のプリンタードライバーの中からインストールするプリンタードライバーを決定する手段と、前記決定したプリンタードライバーの属性情報を前記印刷装置に送信し、その応答として前記決定したプリンタードライバーの機能を拡張するための設定ファイルを取得する手段と、前記決定したプリンタードライバーをインストールし、前記取得した設定ファイルを用いて当該プリンタードライバーの機能拡張をする手段とを有する。【選択図】  図７
2015026215.tif 000002
【特許請求の範囲】
【請求項１】
印刷装置と情報処理装置とを含む印刷システムであって、
前記情報処理装置は、
前記印刷装置に対応するプリンタードライバーをインストールする際に、前記印刷装置のハードウェア情報を取得する第一の取得手段と、
前記ハードウェア情報に基づき、前記印刷装置に対応する異なる仕様の複数のプリンタードライバーの中からインストールするプリンタードライバーを決定する決定手段と、
前記決定したプリンタードライバーの属性情報を前記印刷装置に送信し、その応答として前記決定したプリンタードライバーの機能を拡張するための設定ファイルを取得する第二の取得手段と、
前記決定したプリンタードライバーをインストールし、さらに、前記取得した設定ファイルを用いて当該プリンタードライバーの機能拡張をする機能拡張手段と
を有し、
前記印刷装置は、
前記情報処理装置から受信した属性情報に基づいて、前記決定したプリンタードライバーと互換性のある設定ファイルを前記情報処理装置に提供する提供手段
を有することを特徴とする印刷システム。
【請求項２】
前記複数のプリンタードライバーそれぞれの機能を拡張するための複数の設定ファイルを前記属性情報と対応付けて管理する管理手段を更に有し、
前記提供手段は、前記情報処理装置から受信した属性情報に基づいて、前記管理手段にて管理している複数の設定ファイルの中から提供する設定ファイルを決定することを特徴とする請求項１に記載の印刷システム。
【請求項３】
前記提供手段は、前記情報処理装置から受信した属性情報に対応するプリンタードライバーと互換性のある設定ファイルが前記管理手段にて管理されていない場合、その旨を示す情報を送信することを特徴とする請求項２に記載の印刷システム。
【請求項４】
前記属性情報は、プリンタードライバーの識別情報であることを特徴とする請求項１乃至３のいずれか一項に記載の印刷システム。
【請求項５】
前記属性情報は更に、プリンタードライバーのバージョン、インストール先である前記情報処理装置のオペレーティングシステムのバージョン、前記情報処理装置のオペレーティングシステムの言語設定のうちの少なくとも１つを含むことを特徴とする請求項４に記載の印刷システム。
【請求項６】
印刷装置と情報処理装置とを含む印刷システムの制御方法であって、
前記情報処理装置において、
前記印刷装置に対応するプリンタードライバーをインストールする際に、前記印刷装置のハードウェア情報を取得する第一の取得工程と、
前記ハードウェア情報に基づき、前記印刷装置に対応する異なる仕様の複数のプリンタードライバーの中からインストールするプリンタードライバーを決定する決定工程と、
前記決定したプリンタードライバーの属性情報を前記印刷装置に送信し、その応答として前記決定したプリンタードライバーの機能を拡張するための設定ファイルを取得する第二の取得工程と、
前記決定したプリンタードライバーをインストールし、さらに、前記取得した設定ファイルを用いて当該プリンタードライバーの機能拡張をする機能拡張工程と
を有し、
前記印刷装置において、
前記情報処理装置から受信した属性情報に基づいて、前記決定したプリンタードライバーと互換性のある設定ファイルを前記情報処理装置に提供する提供工程
を有することを特徴とする制御方法。
【請求項７】
印刷装置に対応するプリンタードライバーをインストールする際に、当該印刷装置のハードウェア情報を取得する第一の取得手段と、
前記ハードウェア情報に基づき、前記印刷装置に対応する異なる仕様の複数のプリンタードライバーの中からインストールするプリンタードライバーを決定する決定手段と、
前記決定したプリンタードライバーの属性情報を前記印刷装置に送信し、その応答として前記決定したプリンタードライバーの機能を拡張するための設定ファイルを取得する第二の取得手段と、
前記決定したプリンタードライバーをインストールし、さらに、前記取得した設定ファイルを用いて当該プリンタードライバーの機能拡張をする機能拡張手段と
を有することを特徴とする情報処理装置。
【請求項８】
印刷装置に対応するプリンタードライバーをインストールする際に、当該印刷装置のハードウェア情報を取得する第一の取得工程と、
前記ハードウェア情報に基づき、前記印刷装置に対応する異なる仕様の複数のプリンタードライバーの中からインストールするプリンタードライバーを決定する決定工程と、
前記決定したプリンタードライバーの属性情報を前記印刷装置に送信し、その応答として前記決定したプリンタードライバーの機能を拡張するための設定ファイルを取得する第二の取得工程と、
前記決定したプリンタードライバーをインストールし、さらに、前記取得した設定ファイルを用いて当該プリンタードライバーの機能拡張をする機能拡張工程と
を有することを特徴とする情報処理装置の制御方法。
【請求項９】
コンピュータを、
対応するプリンタードライバーをインストールする印刷装置のハードウェア情報を取得する第一の取得手段、
前記ハードウェア情報に基づき、前記印刷装置に対応する異なる仕様の複数のプリンタードライバーの中からインストールするプリンタードライバーを決定する決定手段、
前記決定したプリンタードライバーの属性情報を前記印刷装置に送信し、その応答として前記決定したプリンタードライバーの機能を拡張するための設定ファイルを取得する第二の取得手段、
前記決定したプリンタードライバーをインストールし、さらに、前記取得した設定ファイルを用いて当該プリンタードライバーの機能拡張をする機能拡張手段
として機能させるためのプログラム。
【請求項１０】
印刷装置に対応するプリンタードライバーをインストールする際に、前記印刷装置のハードウェア情報を取得し、前記ハードウェア情報に基づいて前記印刷装置に対応する異なる仕様の複数のプリンタードライバーの中からインストールするプリンタードライバーを決定し、当該決定したプリンタードライバーの属性情報を前記印刷装置に送信し、その応答として前記決定したプリンタードライバーの機能を拡張するための設定ファイルを取得し、前記決定したプリンタードライバーをインストールし、更に、前記設定ファイルを用いて前記決定したプリンタードライバーの機能拡張をする情報処理装置と通信可能な印刷装置であって、
前記情報処理装置から受信した属性情報に基づいて、前記決定したプリンタードライバーと互換性のある設定ファイルを前記情報処理装置に提供する提供手段
を有することを特徴とする印刷装置。
【請求項１１】
前記複数のプリンタードライバーそれぞれの機能を拡張するための複数の設定ファイルを前記属性情報と対応付けて管理する管理手段を更に有し、
前記提供手段は、前記情報処理装置から受信した属性情報に基づいて、前記管理手段にて管理している複数の設定ファイルの中から提供する設定ファイルを決定することを特徴とする請求項１０に記載の印刷装置。
【請求項１２】
前記提供手段は、前記情報処理装置から受信した属性情報に対応するプリンタードライバーと互換性のある設定ファイルが前記管理手段にて管理されていない場合、その旨を示す情報を送信することを特徴とする請求項１１に記載の印刷装置。
【請求項１３】
前記属性情報は、プリンタードライバーの識別情報であることを特徴とする請求項１０乃至１２のいずれか一項に記載の印刷装置。
【請求項１４】
前記属性情報は更に、プリンタードライバーのバージョン、インストール先である前記情報処理装置のオペレーティングシステムのバージョン、前記情報処理装置のオペレーティングシステムの言語設定のうちの少なくとも１つを含むことを特徴とする請求項１３に記載の印刷装置。
【請求項１５】
印刷装置に対応するプリンタードライバーをインストールする際に、前記印刷装置のハードウェア情報を取得し、前記ハードウェア情報に基づいて前記印刷装置に対応する異なる仕様の複数のプリンタードライバーの中からインストールするプリンタードライバーを決定し、当該決定したプリンタードライバーの属性情報を前記印刷装置に送信し、その応答として前記決定したプリンタードライバーの機能を拡張するための設定ファイルを取得し、前記決定したプリンタードライバーをインストールし、更に、前記取得した設定ファイルを用いて前記決定したプリンタードライバーの機能拡張をする情報処理装置と通信可能な印刷装置の制御方法であって、
前記情報処理装置から受信した属性情報に基づいて、前記決定したプリンタードライバーと互換性のある設定ファイルを前記情報処理装置に提供する提供工程
を有することを特徴とする印刷装置の制御方法。
【請求項１６】
コンピュータを、
印刷装置に対応するプリンタードライバーをインストールする際に、前記印刷装置のハードウェア情報を取得し、前記ハードウェア情報に基づいて前記印刷装置に対応する異なる仕様の複数のプリンタードライバーの中からインストールするプリンタードライバーを決定し、当該決定したプリンタードライバーの属性情報を前記印刷装置に送信し、その応答として前記決定したプリンタードライバーの機能を拡張するための設定ファイルを取得し、前記決定したプリンタードライバーをインストールし、更に、前記取得した設定ファイルを用いて前記決定したプリンタードライバーの機能拡張をする情報処理装置と通信させ、
前記情報処理装置から受信した属性情報に基づいて、前記決定したプリンタードライバーと互換性のある設定ファイルを前記情報処理装置に提供する提供手段
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷システムおよびその制御方法、情報処理装置およびその制御方法、印刷装置およびその制御方法、並びにプログラムに関する。
【背景技術】
【０００２】
近年、プリンターの種類によらず利用可能な共通のプリンタードライバーである、いわゆる汎用プリンタードライバーが研究・開発されている。しかし、汎用プリンタードライバーは、各プリンターに共通の機能のみを利用できるよう構成するため、各プリンター特有の機能は利用できないという課題があった。
【０００３】
そこで、情報処理装置からプリンターやネットワーク上のサーバーなど様々な機器の記憶装置にアクセスしてプリンター機能の情報を含む設定ファイルを取得し、プリンタードライバーの機能を拡張する技術が提案されている（例えば、特許文献１）。このような技術を用いることで、汎用プリンタードライバーであっても、各プリンター特有の機能が利用可能となる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】米国特許出願公開第２０１２／０１４７４１４号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１によると、記憶装置から取得する設定ファイルは常に同じである。プリンターはしばしば複数のＰＤＬ（印刷コマンド）を処理できるよう構成され、その場合、ＰＤＬの種類ごとに複数種類のプリンタードライバー、さらには複数種類の汎用プリンタードライバーが開発され提供される。
【０００６】
したがって、互いに仕様の異なる複数種類の汎用プリンタードライバーが情報処理装置に組み込まれていた場合、設定ファイルと汎用プリンタードライバーの間に互換性がないため、設定ファイルを読み込ませても動作させることができない場合がある。
【０００７】
そこで本発明は、互いに仕様の異なるプリンタードライバーが複数ある場合を考慮して、それぞれに互換性のある設定ファイルを取得させることによって機能を拡張し、動作させる。
【課題を解決するための手段】
【０００８】
上記課題を解決するために本願発明は以下の構成を有する。すなわち、印刷装置と情報処理装置とを含む印刷システムであって、前記情報処理装置は、前記印刷装置に対応するプリンタードライバーをインストールする際に、前記印刷装置のハードウェア情報を取得する第一の取得手段と、前記ハードウェア情報に基づき、前記印刷装置に対応する異なる仕様の複数のプリンタードライバーの中からインストールするプリンタードライバーを決定する決定手段と、前記決定したプリンタードライバーの属性情報を前記印刷装置に送信し、その応答として前記決定したプリンタードライバーの機能を拡張するための設定ファイルを取得する第二の取得手段と、前記決定したプリンタードライバーをインストールし、さらに、前記取得した設定ファイルを用いて当該プリンタードライバーの機能拡張をする機能拡張手段とを有し、前記印刷装置は、前記情報処理装置から受信した属性情報に基づいて、前記決定したプリンタードライバーと互換性のある設定ファイルを前記情報処理装置に提供する提供手段とを有する。
【発明の効果】
【０００９】
本発明により、互いに仕様の異なる複数のプリンタードライバーが情報処理装置に組み込まれていても、プリンタードライバーそれぞれの機能を適切に拡張することが可能となる。
【図面の簡単な説明】
【００１０】
【図１】印刷システムの構成例を示す図。
【図２】印刷システムに含まれる各装置のハードウェアの構成例を示す図。
【図３】印刷システムに含まれる各装置のソフトウェアの構成例を示す図。
【図４】Ｉｎｂｏｘドライバー、Ｏｕｔｂｏｘドライバー、ハードウェアＩＤの関係を示す図。
【図５】インストール対象のプリンタードライバーを決定する処理のフローチャート。
【図６】ＧＰＤファイルと拡張ＧＰＤファイルの例を示す図。
【図７】探索処理およびインストール処理のシーケンス図。
【図８】Ｐｒｏｂｅメッセージ、ＰｒｏｂｅＭａｔｃｈメッセージの例を示す図。
【図９】ＭｅｔａＤａｔａ取得メッセージの例を示す図。
【図１０】ＰｒｉｎｔｅｒＤｅｓｃｒｉｐｔｉｏｎ取得メッセージの例を示す図。
【図１１】ＤｒｉｖｅｒＣｏｎｆｉｇｕｒａｔｉｏｎ取得メッセージの例を示す図。
【図１２】ＤｒｉｖｅｒＣｏｎｆｉｇｕｒａｔｉｏｎ取得応答メッセージの生成処理を表すフローチャート。
【図１３】モデル名と拡張ＧＰＤファイルを対にしたテーブルの例を示す図。
【図１４】第２の実施形態に係るＤｒｉｖｅｒＣｏｎｆｉｇｕｒａｔｉｏｎ取得メッセージの例を示す図。
【図１５】第３の実施形態に係るＤｒｉｖｅｒＣｏｎｆｉｇｕｒａｔｉｏｎ取得メッセージの例を示す図。
【図１６】拡張ＧＰＤファイルの例を示す図。
【発明を実施するための形態】
【００１１】
＜第一の実施形態＞
以下、本発明を実施するための第一の実施形態について図面を用いて説明する。
【００１２】
［システム構成］
図１は、本発明に係る印刷システムの構成例を示す図である。本印刷システムは、情報処理装置であるＰＣ１０、および画像形成装置であるプリンター２０を含んで構成される。ＰＣ１０とプリンター２０は、ＬＡＮ１を介して通信可能に接続されている。ＬＡＮ１は、イーサネット（登録商標）の通信方式に対応している。ＰＣ１０とプリンター２０は、有線ＬＡＮ、ＢｌｕｅＴｏｏｔｈ（登録商標）、ＵＳＢなどその他の接続形態によって接続されても良い。また、図１においては、ＰＣとプリンターがそれぞれ１台ずつ示されているが、それぞれが複数含まれていてもよい。
【００１３】
図２は、本実施形態に係るハードウェア構成を示すブロック図である。まず、ＰＣ１０のハードウェア構成について説明する。ＣＰＵ１０１は、ＲＡＭ１０２に記憶されているプログラムを読み出し実行することによって、システムバス１０４に接続される各デバイスを総括的に制御する。ＲＡＭ１０２は、ＣＰＵ１０１の主メモリ、ワークエリア等として機能する。ＲＯＭ１０３は、各種プログラム及びデータを格納する。ＲＯＭ１０３は、各種フォントを記憶するフォントＲＯＭ１０３ａ、ブートプログラムやＢＩＯＳ等を記憶するプログラムＲＯＭ１０３ｂ、及び各種データを記憶するデータＲＯＭ１０３ｃに区分けして構成される。
【００１４】
ネットワークＩ／Ｆ１０５は、ＬＡＮ１に接続され、外部装置との通信処理を行う。キーボードコントローラＩ／Ｆ１０６は、キーボード１０９や不図示のポインティングデバイス（例えば、マウス）からのキー入力を制御する。ディスプレイＩ／Ｆ１０７は、ディスプレイ１１０への表示処理を制御する。外部メモリＩ／Ｆ１０８は、例えばハードディスク（ＨＤ）等の外部メモリ１１１とのアクセスを制御する。外部メモリ１１１は、オペレーティングシステム（以下、ＯＳ）１１２や本発明に係る印刷システムを担う各種ソフトウェア１１３、さらに、ユーザファイル、編集ファイル等の各種データ１１４を記憶する記憶媒体として機能する。なお、ＯＳ１１２は特定の種類に限定されないが、本実施形態ではＭｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ（登録商標）を使用するものとする。
【００１５】
次に、プリンター２０のハードウェア構成について説明する。ＣＰＵ２０１は、ＲＡＭ２０２に記憶されているプログラムを読み出し実行することによって、システムバス２０４に接続される各デバイスを総括的に制御する。ＲＡＭ２０２は、ＣＰＵ２０１の主メモリ、ワークエリア等として機能するとともに、出力情報展開領域、環境データ格納領域としても用いられる。またＲＡＭ２０２は、ＮＶＲＡＭ（Ｎｏｎ−ｖｏｌａｔｉｌｅ  ＲＡＭ：不揮発性ＲＡＭ）領域も備えており、増設ポート（不図示）に接続されるオプションＲＡＭによりメモリ容量を拡張することができるように構成されている。
【００１６】
ＲＯＭ２０３は、各種フォントを記憶するフォントＲＯＭ２０３ａ、ＣＰＵ２０１により実行される制御プログラム等を記憶するプログラムＲＯＭ２０３ｂ、及び各種データを記憶するデータＲＯＭ２０３ｃを備える。ネットワークＩ／Ｆ２０５は、ＬＡＮ１に接続され、外部装置との通信処理を行う。印刷部Ｉ／Ｆ２０６は、プリンタエンジンである印刷部２０９とのインターフェースを制御する。操作部Ｉ／Ｆ２０６によって制御される操作部２１０には、ユーザーによる操作を受け付ける操作パネルが設けられ、その操作パネルには操作のためのスイッチ及びＬＥＤ表示器等が配される（不図示）。
【００１７】
外部メモリＩ／Ｆ２０８は、例えばハードディスク（ＨＤ）等の外部メモリ２１１とのアクセスを制御する。外部メモリ２１１は、デバイス用オペレーティングシステム２１２や本発明の印刷システムを担う各種ソフトウェア２１３、さらに、拡張ＧＰＤファイル、テーブル等の各種データ２１４を記憶する記憶媒体として機能する。
【００１８】
ＧＰＤ（Ｇｅｎｅｒｉｃ  Ｐｒｉｎｔｅｒ  Ｄｅｓｃｒｉｐｔｉｏｎ）ファイルとは、プリンタードライバーの印刷設定を定義するデータファイル（設定ファイル）である。拡張ＧＰＤファイルは、プリンタードライバーのインストール後に印刷設定を拡張定義するために使用されるデータファイルである。
【００１９】
ＣＰＵ２０１は、ネットワークＩ／Ｆ２０５を介してＰＣ１０との通信処理が可能であり、ＰＣ１０から送信されるＰＤＬ（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）データを受信する。ＣＰＵ２０１は、ＲＯＭ２０３のプログラムＲＯＭ２０３ｂに記憶された制御プログラム等に基づき、印刷部Ｉ／Ｆ２０６を介して印刷部２０９に印刷データを変換して得られる画像信号を出力することが可能である。
【００２０】
［ソフトウェア構成］
図３は、ＰＣ１０およびプリンター２０において、本印刷システムに係る処理を行うソフトウェアの構成を示す図である。まず、ＰＣ１０におけるソフトウェア構成を説明する。ＰＣ１０におけるソフトウェアコンポーネント（１１〜１７）は外部メモリ１１１に記憶されており、実行時にＲＡＭ１０２にロードされＣＰＵ１０１によって実行される。
【００２１】
イーサネットコントローラー１１は、ネットワークＩ／Ｆ１０５を介してイーサネット（登録商標）の通信処理を制御する。その上位レイヤーに配置されたＴＣＰ／ＵＤＰ／ＩＰプロトコルスタック１２は、ＴＣＰ／ＵＤＰ／ＩＰプロトコル通信を制御する。さらにその上位レイヤーに配置されたＨＴＴＰプロトコルスタック１３は、ＨＴＴＰ（Ｈｙｐｅｒｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）通信処理を制御する。ＳＯＡＰプロセッサ１４は、ＳＯＡＰ（Ｓｉｍｐｌｅ  Ｏｂｊｅｃｔ  Ｍｏｄｅｌ  Ｐｒｏｔｏｃｏｌ）通信処理を制御する。ＳＯＡＰは、機器から機器の処理やデータを呼び出すＷｅｂサービス技術において使用される通信プロトコルである。
【００２２】
ＰＣＷＳＤモジュール１５は、ＳＯＡＰプロセッサ１４を介して、ＷＳＤ（Ｗｅｂ  Ｓｅｒｖｉｃｅｓ  ｏｎ  Ｄｅｖｉｃｅｓ）の通信処理を制御する。ＷＳＤはＭｉｃｒｏｓｏｆｔ社等がその仕様を策定したＷｅｂサービス技術の一種である。
【００２３】
プリンターインストーラー１６は、ＯＳ１１２にＷＳＤ通信によって機器を探索し、プリンタードライバー１７をインストールするためのプログラムである。さらに、プリンターインストーラー１６は、属性情報に含まれる拡張ＧＰＤファイルを、プリンタードライバー１７のＧＰＤファイルに合成して機能拡張を行う。なお、後述するが、本実施形態の説明においてインストールされる可能性のあるプリンタードライバー１７は２種類存在している例を示し、機能拡張の対象となるプリンタードライバーがいずれであるかは不定とする。
【００２４】
次に、プリンター２０におけるソフトウェア構成を説明する。プリンター２０におけるソフトウェアコンポーネント（２１〜２６）は外部メモリ２１１に記憶されており、実行時にＲＡＭ２０２にロードされＣＰＵ２０１によって実行される。イーサネットコントローラー２１は、ネットワークＩ／Ｆ２０５を介してイーサネット（登録商標）の通信処理を制御する。その上位レイヤーに配置されたＴＣＰ／ＵＤＰ／ＩＰプロトコルスタック２２は、ＴＣＰ／ＵＤＰ／ＩＰプロトコル通信を制御する。さらにその上位レイヤーに配置されたＨＴＴＰプロトコルスタック２３は、ＨＴＴＰ通信処理を、ＳＯＡＰプロセッサ２４はＳＯＡＰ通信処理をそれぞれ制御する。
【００２５】
プリンターＷＳＤモジュール２５は、ＳＯＡＰプロセッサ２４を介して、ＷＳＤの通信処理を制御する。さらにプリンターＷＳＤモジュール２５は、プリンターコントローラー２６によって制御される。
【００２６】
［プリンタードライバーのインストール］
図４を用いて、プリンターインストーラー１６が機器の属性情報に基づいて２種類のプリンタードライバーのいずれかをインストールする流れについて説明する。Ｉｎｂｏｘドライバー１７１は予めＯＳに組み込まれているプリンタードライバーである。また、Ｏｕｔｂｏｘドライバー１７２は、ＯＳに後から追加して組み込むプリンタードライバーである。
【００２７】
本実施形態において、Ｉｎｂｏｘドライバー１７１は、ＯＳ１１２が管理する外部メモリ１１１に予め記憶されている。一方、Ｏｕｔｂｏｘドライバー１７２は、ユーザーがＣＤＲＯＭなどの外部メディアやインターネットを通じて取得し、後からＯＳ１１２が管理する外部メモリ１１１に記憶させて組み込む。なお、Ｉｎｂｏｘドライバー１７１とＯｕｔｂｏｘドライバー１７２はいずれも汎用プリンタードライバーとして構成されるものとする。
【００２８】
Ｉｎｂｏｘドライバー１７１とＯｕｔｂｏｘドライバー１７２はそれぞれインストール用の情報を記述したＩＮＦファイル１７１０、１７２０と、プリンタードライバーとしての機能を定義するＧＰＤファイル１７１１、１７２１を備える。ＩＮＦファイル１７１０、１７２０にはそれぞれモデル名１７１０１、１７２０１と、ハードウェアＩＤ１７１０２、１７２０２の情報が記述されている。ハードウェアＩＤとは、機器とドライバーを関連付けるための識別子としてのハードウェア情報である。また、本実施形態では、プリンタードライバーを識別するための識別情報として、モデル名（名称情報）を用いているがこれに限定するものではなく、例えばモデルＩＤなどの識別子を用いても構わない。
【００２９】
プリンターインストーラー１６は、プリンター２０から取得される属性情報に含まれるハードウェアＩＤ１７００とＩＮＦファイルに記述されたハードウェアＩＤとが一致するか否かに基づき、ドライバーをインストールするか否かを決定する。図４に示す例の場合、プリンター２０から取得されるハードウェアＩＤ１７００は、「ＷＳＤＰＲＩＮＴ￥ＩＨＶＰＲＩＮＴＥＲＡ」という文字列値である。
【００３０】
Ｏｕｔｂｏｘドライバー１７２のハードウェアＩＤ１７２０２は「ＷＳＤＰＲＩＮＴ￥ＩＨＶＰＲＩＮＴＥＲＡ」という値であり、ハードウェアＩＤ１７００と完全に一致している。Ｉｎｂｏｘドライバー１７１のハードウェアＩＤ１７１０２は「ＩＨＶＰＲＩＮＴＥＲＡ」であり、ハードウェアＩＤ１７００の「￥」より後の部分が一致している。
【００３１】
本実施形態においては、ハードウェアＩＤの文字列値同士が完全一致していても、部分一致していても、プリンターインストーラー１６は一致しているとみなすこととする。一致する場合には、プリンタードライバーとハードウェアとが適合し、互換性があるものとする。
【００３２】
［選択処理］
図５は、ＰＣ１０のプリンターインストーラー１６が複数種類のプリンタードライバーの中から一つのインストール対象を選択する処理を示したフローチャートである。プリンターインストーラー１６は、ＰＣＷＳＤモジュール１５を介してプリンター２０のハードウェアＩＤ１７００を取得する（Ｓ１０１）。そして、プリンターインストーラー１６は、互換性のある（すなわち適合する）プリンタードライバーをリストアップする（Ｓ１０２）。
【００３３】
Ｓ１０３にて、プリンターインストーラー１６は、リストアップしたプリンタードライバーのうち、適合するプリンタードライバーが１種類か否かを判定する。適合するプリンタードライバーが１種類だけである場合（Ｓ１０３にてＹＥＳ）、プリンターインストーラー１６は、その適合した１種類のプリンタードライバーをインストール対象として選択する（Ｓ１０４）。適合するプリンタードライバーが１種類だけである場合とは、そのプリンタードライバーがＩｎｂｏｘドライバー１７１であり、Ｏｕｔｂｏｘドライバー１７２がユーザーによって組み込まれていない状態にあることを意味する。その後、本処理フローを終了する。
【００３４】
適合するプリンタードライバーが複数種類あった場合は（Ｓ１０３にてＮＯ）、Ｓ１０５へ進む。Ｓ１０５にて、プリンターインストーラー１６は、各プリンタードライバーのＩＮＦファイルに記述されたハードウェアＩＤを参照し、ハードウェアＩＤ１７００との一致の状態（完全一致もしくは部分一致）を判定する。各プリンタードライバー間に完全一致と部分一致という違いがあった場合は（Ｓ１０５にてＹＥＳ）、プリンターインストーラー１６は、完全一致する方をインストール対象として選択する（Ｓ１０６）。一致の状態に違いがない場合は（Ｓ１０５にてＮＯ）、Ｓ１０７にて、プリンターインストーラー１６は、プリンタードライバーのバージョンがより新しい方を選択する。本実施形態においては、選択されるプリンタードライバーは、ハードウェアＩＤが完全一致するＯｕｔｂｏｘドライバー１７２となる。
【００３５】
［ファイル構成］
次に、図６にＧＰＤファイルと拡張ＧＰＤファイルの例を示す。ＧＰＤファイル１７１１は、Ｉｎｂｏｘドライバー１７１のファイル構成の例である。ＧＰＤファイル１７１１では、選択可能な用紙サイズとして「Ａ４」と「ＬＥＴＴＥＲ」の２つに関する情報が定義されている。
【００３６】
一方、ＧＰＤファイル１７２１は、Ｏｕｔｂｏｘドライバー１７２のファイル構成の例である。ＧＰＤファイル１７２１においても同じく「Ａ４」と「ＬＥＴＴＥＲ」が定義されているが、印字領域のサイズとしてＧＰＤファイル１７１１とは異なる数値が指定されている。これは、Ｉｎｂｏｘドライバー１７１とＯｕｔｂｏｘドライバー１７２それぞれのＰＤＬ仕様が異なるためである。
【００３７】
拡張ＧＰＤファイル１７１２は、Ｉｎｂｏｘドライバー１７１の機能を拡張する拡張ＧＰＤファイルの例である。拡張ＧＰＤファイル１７１２では、用紙サイズとして新たに「Ａ３」が指定可能となるように情報が定義されている。
【００３８】
拡張ＧＰＤファイル１７２２は、Ｏｕｔｂｏｘドライバー１７２の機能を拡張する拡張ＧＰＤファイルの例であり、拡張ＧＰＤファイル１７１２と同様に「Ａ３」を指定可能となるように情報が定義されている。しかし、やはりＰＤＬ仕様の違いから、拡張ＧＰＤファイル１７１２と拡張ＧＰＤファイル１７２２では指定された「Ａ３」の用紙に対する印字領域サイズが異なっている。
【００３９】
したがって、それぞれのＰＤＬ仕様に合った機能拡張を行うためには、それぞれ異なる拡張ＧＰＤファイル１７１２、１７２２を提供し、インストールする汎用プリンタードライバーの種類によって使い分ける必要がある。
【００４０】
［処理シーケンス］
図７のシーケンス図を用いて、本発明の印刷システムによる汎用プリンタードライバーの探索処理とインストール処理の流れを説明する。
【００４１】
まず、プリンターインストーラー１６は、ユーザーから探索指示を受信すると、ＰＣＷＳＤモジュール１５に探索指示を行う（Ｓ２０１）。次に、ＰＣＷＳＤモジュール１５は、プリンターインストーラー１６から探索指示を受信すると、プリンター２０にＰｒｏｂｅメッセージを生成して送信する（Ｓ２０２）。ＰＣ１０のＷＳＤ通信は、ＳＯＡＰプロセッサ１４、ＨＴＴＰプロトコルスタック１３、ＴＣＰ／ＵＤＰ／ＩＰプロトコルスタック１２、イーサネットコントローラー１１、ネットワークＩ／Ｆ１０５によって中継されるが、以後の説明においては省略する。
【００４２】
次に、プリンターＷＳＤモジュール２５は、ＰＣ１０から送信されたＰｒｏｂｅメッセージを受信すると、プリンターコントローラー２６にＰｒｏｂｅメッセージを送信し、ＰｒｏｂｅＭａｔｃｈメッセージの生成を要求する（Ｓ２０３）。プリンター２０のＷＳＤ通信は、ネットワークＩ／Ｆ２０５、イーサネットコントローラー２１、ＴＣＰ／ＵＤＰ／ＩＰプロトコルスタック２２、ＨＴＴＰプロトコルスタック２３、ＳＯＡＰプロセッサ２４によって中継されるが、以後の説明においては省略する。
【００４３】
次に、プリンターコントローラー２６は、ＰｒｏｂｅＭａｔｃｈメッセージを生成してプリンターＷＳＤモジュール２５に送信する（Ｓ２０４）。プリンターＷＳＤモジュール２５は、ＰＣ１０にプリンターコントローラー２６が生成したＰｒｏｂｅＭａｔｃｈメッセージを送信する（Ｓ２０５）。Ｐｒｏｂｅメッセージは、ＬＡＮ１に接続されたＷＳＤ対応機器を探索するために送信するメッセージであり、ＰｒｏｂｅＭａｔｃｈメッセージはＰｒｏｂｅメッセージに対する応答メッセージである。
【００４４】
図８（ａ）にＰｒｏｂｅメッセージの例を、図８（ｂ）にＰｒｏｂｅＭａｔｃｈメッセージの例を示す。ＰｒｏｂｅＭａｔｃｈメッセージには、機器の種類やＭｅｔａＤａｔａ取得用のＵＲＬなどのプリンターに関する情報が含まれる。ＭｅｔａＤａｔａはプリンターの名称やプリンターサービスのＵＲＬなどの情報をまとめたデータである。
【００４５】
次に、ＰＣＷＳＤモジュール１５は、ＰｒｏｂｅＭａｔｃｈメッセージから得られたＭｅｔａＤａｔａ取得用のＵＲＬから、ＭｅｔａＤａｔａ取得メッセージを生成してプリンター２０に送信する（Ｓ２０６）。プリンターＷＳＤモジュール２５は、ＰＣ１０からＭｅｔａＤａｔａ取得メッセージを受信すると、プリンターコントローラー２６にＭｅｔａＤａｔａ取得メッセージを送信し、ＭｅｔａＤａｔａ取得応答メッセージの生成を要求する（Ｓ２０７）。
【００４６】
プリンターコントローラー２６は、ＭｅｔａＤａｔａ取得応答メッセージを生成してプリンターＷＳＤモジュール２５に送信する（Ｓ２０８）。プリンターＷＳＤモジュール２５は、ＰＣ１０にＭｅｔａＤａｔａ取得応答メッセージを送信する（Ｓ２０９）。
【００４７】
図９（ａ）にＭｅｔａＤａｔａ取得メッセージの例を、図９（ｂ）にＭｅｔａＤａｔａ取得応答メッセージの例を示す。応答のＭｅｔａＤａｔａ取得応答メッセージには、プリンターの名称やプリンターサービスのＵＲＬなどの情報が含まれる。
【００４８】
ＰＣＷＳＤモジュール１５は、ＭｅｔａＤａｔａ取得応答メッセージを受信すると、そこから得られたプリンター名称などの情報をプリンターインストーラー１６に探索結果として送信する（Ｓ２１０）。以上のステップが探索処理である。なお、本実施形態において、ＰＣ１０は、プリンター２０に各メッセージを送信しているがこの構成に限定するものではない。例えば、複数台のプリンターを管理する管理装置（不図示）を別途設け、ＰＣは、その管理装置にプリンターに関する情報を問い合わせるようにしても構わない。図７における以降のステップはインストールに関連する処理である。
【００４９】
プリンターインストーラー１６は、探索結果に含まれるプリンター２０に対するプリンタードライバーのインストール指示がユーザーによって入力されると、ＰＣＷＳＤモジュール１５にデバイスＩＤ情報取得指示を行う（Ｓ２１１）。
【００５０】
Ｓ２１２〜Ｓ２１５では、ＰＣＷＳＤモジュール１５が、ＰｒｉｎｔｅｒＤｅｓｃｒｉｐｔｉｏｎ取得メッセージをプリンター２０に送信し、その応答をプリンターＷＳＤモジュール２５を介してプリンターコントローラー２６から得る。これらの工程により、ＰＣ１０はハードウェア情報を取得する第一の取得手段を実現する。
【００５１】
図１０（ａ）にＰｒｉｎｔｅｒＤｅｓｃｒｉｐｔｉｏｎ取得メッセージの例を、図１０（ｂ）にＰｒｉｎｔｅｒＤｅｓｃｒｉｐｔｉｏｎ取得応答メッセージの例を示す。ＰｒｉｎｔｅｒＤｅｓｃｒｉｐｔｉｏｎ取得応答メッセージにはプリンター２０の印刷機能に関する詳細な情報が含まれる。例えば、カラー印刷が可能か否かの情報、デバイスＩＤ情報、ＰＰＭ（印刷速度）情報などが含まれる。
【００５２】
次に、ＰＣＷＳＤモジュール１５は、ＰｒｉｎｔｅｒＤｅｓｃｒｉｐｔｉｏｎ取得応答メッセージに含まれるデバイスＩＤ情報を、プリンターインストーラー１６に送信する（Ｓ２１６）。プリンターコントローラー２６は、デバイスＩＤ情報を受信すると、受信した情報を元にハードウェアＩＤ１７００を生成する（Ｓ２１７）。デバイスＩＤ情報はハードウェアＩＤ１７００の元となる情報である。ここでの例の場合、ハードウェアＩＤ１７００の値「ＩＨＶＰＲＩＮＴＥＲＡ」は、図１０（ｂ）のデバイスＩＤ情報１００１に含まれる「ＭＦＧ：ＩＨＶ」と「ＭＤＬ：ＰＲＩＮＴＥＲＡ」という値を合成することによって得られる。
【００５３】
次に、プリンターインストーラー１６は、図５のフローチャートに示した、インストール対象のプリンタードライバーを選択する処理を実行する（Ｓ２１８）。この選択処理により、Ｉｎｂｏｘドライバー１７１またはＯｕｔｂｏｘドライバー１７２のいずれかがインストール対象のプリンタードライバーとして決定される。次に、プリンターインストーラー１６は、選択したプリンタードライバーのモデル名情報と共に、拡張ＧＰＤファイル取得指示をＰＣＷＳＤモジュール１５に行う。Ｓ２２０〜Ｓ２２５では、ＰＣＷＳＤモジュール１５が、ＤｒｉｖｅｒＣｏｎｆｉｇｕｒａｔｉｏｎ取得メッセージを送信し、その応答をプリンターＷＳＤモジュール２５を介してプリンターコントローラー２６から得る。これらの工程により、ＰＣ１０は、インストールするプリンタードライバーに対応する拡張ＧＰＤファイルを取得する第二の取得手段を実現する。
【００５４】
図１１（ａ）にＤｒｉｖｅｒＣｏｎｆｉｇｕｒａｔｉｏｎ取得メッセージの例を示す。ＤｒｉｖｅｒＣｏｎｆｉｇｕｒａｔｉｏｎ取得メッセージは、拡張ＧＰＤファイルをプリンター２０から取得するためのメッセージである。ただし、本実施形態では、インストール対象として選択されたプリンタードライバーに適合する拡張ＧＰＤファイルを取得するために、プリンタードライバーのモデル名情報を取得メッセージに記述する。図１１（ａ）の例では、Ｎａｍｅ要素１１０１のＭｏｄｅｌＮａｍｅ属性として上述したモデル名１７１０１の「Ｉｎｂｏｘ  ＸＰＳ  Ｍｏｄｅｌ」という値が記述されている。
【００５５】
Ｓ２２２にて、プリンターコントローラー２６は、拡張ＧＰＤファイルの生成処理を行う。図１２は、Ｓ２２２における生成処理の詳細を表したフローチャートである。
【００５６】
Ｓ３０１にて、プリンターコントローラー２６は、モデル名情報を受信する。Ｓ３０２にて、プリンターコントローラー２６は、図１３に示すテーブル情報を参照してモデル名に一致する拡張ＧＰＤファイルがあるか否かを判定する。一致する拡張ＧＰＤファイルがある場合（Ｓ３０２にてＹＥＳ）、プリンターコントローラー２６は、ＤｒｉｖｅｒＣｏｎｆｉｇｕｒａｔｉｏｎ取得応答メッセージに、一致した拡張ＧＰＤファイルの内容を記述する（Ｓ３０３）。一致していない場合（Ｓ３０２にてＮＯ）、プリンターコントローラー２６は、ＤｒｉｖｅｒＣｏｎｆｉｇｕｒａｔｉｏｎ取得応答メッセージに、空文字列を記述する（Ｓ３０４）。
【００５７】
図１３にモデル名情報と拡張ＧＰＤファイルとを対応付けたテーブル情報の例を示す。図１３のテーブル情報では、Ｉｎｂｏｘドライバー１７１、Ｏｕｔｂｏｘドライバー１７２に該当するモデル名に対し、それぞれに拡張ＧＰＤファイルが割り当てられている。さらに、それ以外のモデル名（ｏｔｈｅｒ）であったときは空文字列を表す（ｎｏｎｅ）が割り当てられている。
【００５８】
図１１（ｂ）に、Ｓ３０３にて生成されたＤｒｉｖｅｒＣｏｎｆｉｇｕｒａｔｉｏｎ取得応答メッセージの例を示す。応答メッセージ中のＧＰＤＣｏｎｆｉｇＦｉｌｅ要素１１０２に、各モデルに適合する拡張ＧＰＤファイルの内容が文字列値として記述されている。図１１（ｂ）の例の場合、図１１（ａ）にてＩｎｂｏｘドライバー１７１が指定されているため、これに対応して機能を拡張する図６に示す拡張ＧＰＤファイル１７１２の値が記載されることとなる。
【００５９】
ここで再び図７のシーケンスの説明に戻る。ＰＣＷＳＤモジュール１５は、プリンターコントローラー２６から受信した拡張ＧＰＤファイルをプリンターインストーラー１６に送信する（Ｓ２２５）。プリンターインストーラー１６は、Ｓ２１８（図５）にて選択したプリンタードライバーのインストール（Ｓ２２６）と、プリンタードライバーが保持するＧＰＤファイルに対し取得した拡張ＧＰＤファイルの合成を行う（Ｓ２２７）。
【００６０】
以上の処理により、インストールされるプリンタードライバーの種類に適合する拡張ＧＰＤファイルを取得し、プリンタードライバーの機能拡張を行うことが可能とする。なお、応答メッセージ中のＧＰＤＣｏｎｆｉｇＦｉｌｅ要素に「空文字列」が設定された場合、拡張される設定情報がないため機能拡張は行われない。
【００６１】
＜第二の実施形態＞
本発明に係る第二の実施形態について説明する。第一の実施形態では、図１１（ａ）に示したように、ＤｒｉｖｅｒＣｏｎｆｉｇｕｒａｔｉｏｎ取得メッセージにプリンタードライバーのモデル名情報を記述して送信した。その他の構成として、他にもプリンタードライバーの種類を特定するために有効な情報を送信するように構成しても良い。例えば、プリンタードライバーのバージョン情報やＯＳのバージョン情報が挙げられる。プリンタードライバーは、バージョンやインストールされるＯＳのバージョンに応じて仕様が異なる場合があるため、そうした情報を送ることは、適合する拡張ＧＰＤファイルをプリンター２０から送信するために有用である。
【００６２】
図１４にドライバーのバージョン情報およびＯＳのバージョン情報を記述したＤｒｉｖｅｒＣｏｎｆｉｇｕｒａｔｉｏｎ取得メッセージの例を示す。図１４の例では、Ｎａｍｅ要素１４０１に、ＤｒｉｖｅｒＶｅｒ属性としてドライバーのバージョン情報を記述し、ＯＳＶｅｒ属性としてＯＳのバージョン情報を記述している。
【００６３】
上記構成により、第一の実施形態の効果に加え、プリンタードライバーの仕様に応じた柔軟な拡張ＧＰＤファイルの取得が可能となる。
【００６４】
＜第三の実施形態＞
本発明に係る第三の実施形態について説明する。ＰＣにインストールされたプリンタードライバーを特定するために有効な更なる情報として、インストール先であるＰＣが備えるＯＳの言語設定情報が挙げられる。プリンタードライバーはそのＵＩを多言語での表示に対応するよう構成することは可能である。第一の実施形態では、拡張ＧＰＤファイルによって拡張された機能の多言語対応については考慮されていなかった。
【００６５】
そこで、拡張された機能も多言語での表示ができるようにＤｒｉｖｅｒＣｏｎｆｉｇｕｒａｔｉｏｎ取得メッセージにＯＳの言語設定情報を記述し、プリンター２０から言語設定情報に応じた拡張ＧＰＤファイルを応答として送信するよう構成しても良い。ここでのＯＳの言語設定情報の例として、ロケール情報を用いるものとする。
【００６６】
図１５に言語設定情報を記述したＤｒｉｖｅｒＣｏｎｆｉｇｕｒａｔｉｏｎ取得メッセージの例を示す。図１５の例では、ＯＳ１１２の言語設定が日本語（ｊａ−ＪＰ）であった場合の、その言語設定情報をＮａｍｅ要素１５０１のＬｏｃａｌｅ属性に記述している。
【００６７】
図１６は、第三の実施形態においてプリンター２０から応答として送信される拡張ＧＰＤファイルの内容を示した例である。この拡張ＧＰＤファイルは、ＰａｐｅｒＴｙｐｅ（用紙種類）の機能に関して、ＪａｐａｎｅｓｅＰａｐｅｒ（和紙）という項目を追加で定義し、その表示名として日本語の文字列「和紙（６４〜１０５ｇ／ｍ２）」を指定するものである。プリンターコントローラー２６が、表示名の部分を指定されたＯＳ１１２の言語設定情報に応じて変更することにより、インストールされているプリンタードライバーのＵＩの言語表示を統一することが可能となる。
【００６８】
上記構成により、第一の実施形態の効果に加え、ＯＳの言語設定に応じた柔軟な拡張ＧＰＤファイルの取得が可能となる。
【００６９】
＜その他の実施形態＞
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2015026215.tif 000003
【図２】
2015026215.tif 000004
【図３】
2015026215.tif 000005
【図４】
2015026215.tif 000006
【図５】
2015026215.tif 000007
【図６】
2015026215.tif 000008
【図７】
2015026215.tif 000009
【図８】
2015026215.tif 000010
【図９】
2015026215.tif 000011
【図１０】
2015026215.tif 000012
【図１１】
2015026215.tif 000013
【図１２】
2015026215.tif 000014
【図１３】
2015026215.tif 000015
【図１４】
2015026215.tif 000016
【図１５】
2015026215.tif 000017
【図１６】
2015026215.tif 000018