実施の形態1.
以下、図面を参照して、本発明の実施形態を詳細に説明する。本実施形態においては、アップデート制御システムの例として、搬送される記録媒体に対して画像形成出力を実行する画像形成装置と、PC(Personal Computer)等の情報処理装置であるクライアント端末から上記画像形成装置の動作を制御するためにそのクライアント端末にインストールされて制御プログラムとして利用されるプリンタドライバとを含む画像形成システムを例として説明する。尚、本実施形態に係るプリンタドライバは、複数機種共通の機種共通ドライバであって、その機種共通ドライバがサポートする機種であればどのような機種であっても共通して利用することができる。
また、本実施形態に係るプリンタドライバは、各機種固有の機能、例えば、各機種固有の印刷ジョブを生成する機能や、各機種固有の印刷設定画面を表示する機能を提供するための機種固有情報を機種毎に備えることにより、複数機種をサポートするように構成されており、使用環境にある複数の画像形成装置から指定され若しくは選択された機種に対応する機種固有情報に従った機能を提供することにより、機種別モードとして動作するようになっている。
また、本実施形態に係るプリンタドライバは、上記のような機種固有情報の他に、どの機種にも共通した機能を提供するための共通機種情報を備えている。そのため、本実施形態に係るプリンタドライバにおいては、使用環境にある複数の画像形成装置から機種固有情報が用意されていない機種が指定され若しくは選択された場合であっても、即ち、未サポートの機種が指定され若しくは選択された場合であっても、共通機種情報に従った機能を提供することにより、どの機種にも共通した機能を提供することができる汎用モードとして動作するようになっている。
尚、本実施形態においては、上述したように、汎用モードの際には共通機種情報に従った機能を提供する例について説明するが、共通機種情報の代わりに特定の機種の機種固有情報に従った機能を提供することにより、疑似的に汎用モードとして動作するように構成されていても良い。
また、本実施形態に係る画像形成システムにおいては、上記プリンタドライバをアップデートすることにより、新たな機種固有情報を追加してサポートする機種を追加することが可能である。
このように構成された画像形成システムにおいて、本実施形態に係る要旨の一つは、クライアント端末にインストールされたプリンタドライバのアップデートを行う場合において、ユーザによる判断を必要としないで使用環境を自動的に判断することにより、追加するべき機種固有情報と追加するべきではない機種固有情報とを自動的に判断することにある。従って、本実施形態に係る画像形成システムによれば、ユーザに手間をかけることなく使用環境に応じて適切に機種固有情報を追加することが可能となり、その結果、無駄な機種固有情報が追加されることがなくなる。これにより、本実施形態に係る画像形成システムにおいては、ユーザに対する利便性及び操作性を向上させると共に、プリンタドライバの動作性能を向上させることが可能となる。以下、詳細に説明する。
まず、図1を参照して本実施形態に係る画像形成システムの運用形態について説明する。図1は、本実施の形態に係る画像形成システムの運用形態の例を示す図である。図1に示すように、本実施形態に係る画像形成システムは、画像形成装置1a、画像形成装置1b、画像形成装置1c、画像形成装置1d、クライアント端末2がEthernet(登録商標)等のネットワーク3を介して接続されて運用される。尚、ネットワーク3に接続されている画像形成装置やクライアント端末の数は一例であり、これらがもっと多く接続された大規模なシステムであっても良い。また、画像形成装置とクライアント端末とが異なるネットワークに接続され、それらのネットワークが公衆回線等の広域ネットワークを介して接続されて運用されても良い。
画像形成装置1a〜1dは、撮像機能、画像形成機能及び通信機能等を備えることにより、プリンタ、ファクシミリ、スキャナ、複写機として利用可能なMFP(MultiFunction Peripheral:複合機)である。また、画像形成装置1a〜1dは、クライアント端末2からネットワーク3を介して送信されてきた印刷ジョブに含まれる画像情報に基づいてCMYK若しくはモノクロの描画情報を生成し、生成された描画情報に基づいて画像形成出力を実行するカラープリンタやモノクロプリンタとしての機能を有する。また、図1における画像形成装置1a〜1dは全て異なる機種であって、その機種名をそれぞれ、Model―A、Model―B、Model―C、Model―Dとする。尚、以下では、画像形成装置1a〜1dを特に区別しない場合には、画像形成装置1とする。
クライアント端末2は、ユーザが操作する情報処理端末であり、PC等の情報処理装置によって実現される。尚、クライアント端末2は、PDA(Personal Digital Assistant)等の携帯情報端末、スマートフォン、タブレット端末等によって実現されても良い。また、クライアント端末2は、Model―A〜Dのうち少なくとも1機種の画像形成装置を制御するためのプリンタドライバがインストールされている。尚、上述したように、このプリンタドライバは、複数機種共通の機種共通ドライバである。従って、本実施形態に係るクライアント端末2は、ユーザ操作により、インストールされているプリンタドライバがサポートしている機種の画像形成装置に印刷を行わせるための印刷ジョブを生成して、ネットワーク3を介して送信することができる。
尚、図1におけるネットワーク3は、例えば、オフィスLAN(Local Area Network)等の限定されたネットワークであるが、インターネットや公衆回線等の広域ネットワークを介して接続される態様とすることも可能である。
次に、本実施形態に係る画像形成装置1、クライアント端末2のハードウェア構成について図2を参照して説明する。図2は、本実施形態に係るクライアント端末2のハードウェア構成を模式的に示すブロック図である。尚、画像形成装置1は、図2に示すハードウェア構成に加えて、スキャナ、プリンタ等を実現するためのエンジンを備える。以下の説明においては、クライアント端末2のハードウェア構成を例として説明するが、画像形成装置1についても同様である。
図2に示すように、本実施形態に係るクライアント端末2は、一般的なサーバやPC等と同様の構成を含む。即ち、本実施形態に係るクライアント端末2は、CPU(Central Processing Unit)10、RAM(Random Access Memory)20、ROM(Read Only Memory)30、HDD(Hard Disk Drive)40及びI/F50がバス80を介して接続されている。また、I/F50にはLCD(Liquid Crystal Display)60及び操作部70が接続されている。
CPU10は演算手段であり、クライアント端末2全体の動作を制御する。RAM20は、情報の高速な読み書きが可能な揮発性の記憶媒体であり、CPU10が情報を処理する際の作業領域として用いられる。ROM30は、読み出し専用の不揮発性記憶媒体であり、ファームウェア等のプログラムが格納されている。HDD40は、情報の読み書きが可能な不揮発性の記憶媒体であり、OS(Operating System)や各種の制御プログラム、アプリケーション・プログラム等が格納される。
I/F50は、バス80と各種のハードウェアやネットワーク等を接続し制御する。LCD60は、ユーザがクライアント端末2の状態を確認するための視覚的ユーザインタフェースである。即ち、本実施形態においては、LCD60が、表示部として機能する。操作部70は、キーボードやマウス等、ユーザがクライアント端末2に情報を入力するためのユーザインタフェースである。
このようなハードウェア構成において、ROM30やHDD40若しくは図示しない光学ディスク等の記憶媒体に格納されたプログラムがRAM20に読み出され、CPU10がRAM20にロードされたプログラムに従って演算を行うことにより、ソフトウェア制御部が構成される。このようにして構成されたソフトウェア制御部と、ハードウェアとの組み合わせによって、本実施形態に係るクライアント端末2の機能を実現する機能ブロックが構成される。
次に、本実施形態に係るクライアント端末2の機能構成について、図3を参照して説明する。図3は、本実施形態に係るクライアント端末2の機能構成を模式的に示すブロック図である。図3に示すように、本実施形態に係るクライアント端末2は、OS(Operating System)100、アプリケーション200、プリンタドライバ300、インストーラ400、ネットワークI/F500を有する。
OS100は、Microsoft Windows(登録商標)、Linux(登録商標)等のオペレーティングシステムである。アプリケーション200は、テキスト編集プログラム、ワードプロセッサ、表計算ソフト等、クライアント端末2の利用者がクライアント端末2上で実行したい作業を実施する機能を直接的に有するソフトウェアである。プリンタドライバ300は、画像形成装置1を使用するためのデバイスドライバであって、上述したように、複数機種に共通の機種共通ドライバである。
尚、アプリケーション200は、OS100に対して印刷設定画面を表示するための指示を通知し、若しくは、画像情報を通知し、OS100は、アプリケーション200から通知された指示や画像情報をプリンタドライバ300に通知する。その結果、プリンタドライバ300は、OS100から通知された指示に従ってクライアント端末2のLCD60に印刷設定画面を表示し、若しくは、OS100から通知された画像情報に基づいて印刷ジョブを生成して、生成した印刷ジョブを画像形成装置1にネットワークを介して送信する。
インストーラ400は、プリンタドライバ300のアップデートをクライアント端末2に導入するためのプログラムである。尚、上述したように、本実施形態に係るプリンタドライバ300は、インストーラ400によるアップデートにより新たな機種固有情報が追加されてサポートする機種が追加される。即ち、本実施形態おいては、インストーラ400が、アップデート用プログラムとして機能する。ネットワークI/F500は、クライアント端末2がネットワークを介して画像形成装置1等の他の機器と通信するためのインタフェースであり、Ethernet(登録商標)やUSB(Universal Serial Bus)インタフェースが用いられる。ネットワークI/F500は、図2に示すI/F50によって実現される。
次に、本実施形態に係るプリンタドライバ300の機能構成について、図4を参照して説明する。図4は、本実施形態に係るプリンタドライバ300の機能構成を模式的に示すブロック図である。図4に示すように、本実施形態に係るプリンタドライバ300は、論理プリンタドライバ群310、物理プリンタドライバ320を有する。
論理プリンタドライバ群310は、論理プリンタドライバ311を含む。論理プリンタドライバ311は、クライアント端末2と接続されている画像形成装置毎に生成されて各画像形成装置に接続されており、各画像形成装置を使用するためのプリンタドライバとしての機能を仮想的に提供する。従って、本実施形態においては、画像形成装置1aと接続されている論理プリンタドライバとして論理プリンタドライバ(Model−A)311aが生成され、画像形成装置1bと接続されている論理プリンタドライバとして論理プリンタドライバ(Model−B)311bが生成され、画像形成装置1cと接続されている論理プリンタドライバとして論理プリンタドライバ(Model−C)311cが生成され、画像形成装置1dと接続されている論理プリンタドライバとして論理プリンタドライバ(Model−D)311dが生成されることになる。
このようにして生成された論理プリンタドライバ311a〜311dは、OS100から受け取った指示を物理プリンタドライバ320に通知してクライアント端末2のLCD60に印刷設定画面を表示させ、若しくは、OS100から受け取った画像情報を物理プリンタドライバ320に通知して印刷ジョブを生成させて、生成させた印刷ジョブをネットワークI/F500を介して各画像形成装置に送信させる。
従って、本実施形態においては、論理プリンタドライバ(Model−A)311aは、画像形成装置1aを使用するためのプリンタドライバとして、論理プリンタドライバ(Model−B)311bは、画像形成装置1bを使用するためのプリンタドライバとして、論理プリンタドライバ(Model−C)311cは、画像形成装置1cを使用するためのプリンタドライバとして、論理プリンタドライバ(Model−D)311dは、画像形成装置1dを使用するためのプリンタドライバとして仮想的に機能することになる。
物理プリンタドライバ320は、プリンタドライバとしての主要な機能を提供する機構部であって、論理プリンタドライバ311のいずれかから通知された指示に従ってクライアント端末2のLCD60に印刷設定画面を表示し、若しくは、論理プリンタドライバ311のいずれかから通知された画像情報に基づいて印刷ジョブを生成して、生成した印刷ジョブを画像形成装置1にネットワークを介して送信する。
尚、本実施形態においては、上述したように、プリンタドライバとしての主要な機能を提供する機構部は、物理プリンタドライバ320であり、論理プリンタドライバ311は、物理プリンタドライバ320とOS100とが情報のやりとりを行う際の窓口的な役割を果たすにすぎない。しかしながら、論理プリンタドライバ311があたかもプリンタドライバとしての機能を提供しているように見えるため、即ち、論理プリンタドライバ311がプリンタドライバとしての機能を仮想的に提供しているため、このような機能を有する機構部を物理プリンタドライバと区別するために論理プリンタドライバとしている。
次に、本実施形態に係る物理プリンタドライバ320の機能構成について図5を参照して説明する。図5は、本実施形態に係る物理プリンタドライバ320の機能構成を模式的に示すブロック図である。図5に示すように、本実施形態に係る物理プリンタドライバ320は、表示制御部321、描画部322、論理プリンタドライバ設定部323、通信部324、機種固有情報格納部325、追加機種固有情報格納部326、論理プリンタドライバ設定情報格納部327を有する。
表示制御部321は、LCD60に情報表示を行う。描画部322は、印刷出力すべき画像情報に基づいて印刷ジョブを生成する。論理プリンタドライバ設定部323は、各論理プリンタドライバ311に関する設定を行い、その設定情報を論理プリンタドライバ設定情報格納部327に論理プリンタドライバ毎に格納する。尚、各論理プリンタドライバ311に関する設定については後述する。通信部324は、ネットワークI/F500を介して画像形成装置と情報のやりとりを行い、取得した情報をプリンタドライバ300の各部に通知する。
機種固有情報格納部325は、機種毎の機種固有情報及び共通機種情報を格納する。即ち、本実施形態においては、機種固有情報格納部325が、機種固有情報記憶部として機能する。本実施形態に係る機種固有情報格納部325は、図6に示すように、機種がModel−Aである画像形成装置1aを使用するためにModel−Aに固有の機能を提供する機種固有情報「Model−A」、機種がModel−Bである画像形成装置1bを使用するためにModel−Bに固有の機能を提供する機種固有情報「Model−B」、機種がModel−Eである画像形成装置1eを使用するためにModel−Eに固有の機能を提供する機種固有情報「Model−E」、そして、共通機種情報を格納している。図6は、本実施形態に係る機種固有情報格納部325の構成例を示す図である。尚、本実施形態に係るクライアント端末2にはModel−Eの画像形成装置1eは接続されていないため、本実施形態においては機種固有情報「Model−E」が使用されることはない。
追加機種固有情報格納部326は、プリンタドライバ300のアップデート際に、新たに追加される機種固有情報を格納する。即ち、本実施形態においては、追加機種固有情報格納部326が、追加機種固有情報記憶部として機能する。尚、本実施形態においては、後述するように、機種固有情報の追加はインストーラ400により行われる。本実施形態に係る追加機種固有情報格納部326は、プリンタドライバ300のアップデート前においては、図7に示すように、機種固有情報を格納しておらず空の状態である。図7は、本実施形態に係るプリンタドライバ300のアップデート前における追加機種固有情報格納部326の構成例を示す図である。尚、プリンタドライバ300のアップデート後における追加機種固有情報格納部326の構成例については、図13を参照して後述する。
尚、本実施形態に係るプリンタドライバ300は、機種固有情報格納部325及び追加機種固有情報格納部326に格納している機種固有情報に対応する機種をサポートすることになる。即ち、本実施形態に係るプリンタドライバ300は、図6及び図7に示したように、Model−A、Model−B、Model−Eに関しては機種別モードとしてサポートしており、その他の機種に関しては共通機種情報により汎用モードとしてサポートされることになる。
論理プリンタドライバ設定情報格納部327は、各論理プリンタドライバ311に関する設定情報を論理プリンタドライバ毎に格納する。尚、本実施形態に係る各論理プリンタドライバ311に関する設定情報の一つとして利用機種固有情報がある。利用機種固有情報とは、各論理プリンタドライバ311がどの機種固有情報を利用しているのかを示す情報である。即ち、ある論理プリンタドライバ311に接続されている画像形成装置1の機種に対応する機種固有情報が、機種固有情報格納部325又は追加機種固有情報格納部326に格納されている場合には、その論理プリンタドライバ311についてはその機種固有情報が利用機種固有情報として設定されることになる。また、ある論理プリンタドライバ311に接続されている画像形成装置1の機種に対応する機種固有情報が、機種固有情報格納部325及び追加機種固有情報格納部326に格納されていない場合には、その論理プリンタドライバ311については共通機種情報が利用機種固有情報として設定されることになる。即ち、本実施形態においては、論理プリンタドライバ設定情報格納部327が、機種固有情報関連部として機能する。
従って、本実施形態に係る論理プリンタドライバ設定情報格納部327は、プリンタドライバ300のアップデート前においては、図8に示すように、各論理プリンタドライバ311に関する設定情報の一つである利用機種固有情報として、論理プリンタドライバ(Model−A)311aについてはModel−Aが設定されており(利用機種固有情報=Model−A)、論理プリンタドライバ(Model−A)311bについてはModel−Bが設定されており(利用機種固有情報=Model−B)、論理プリンタドライバ(Model−C)311cについては共通機種情報が設定されており(利用機種固有情報=共通機種情報)、論理プリンタドライバ(Model−D)311dについては共通機種情報が設定されている(利用機種固有情報=共通機種情報)。図8は、本実施形態に係るプリンタドライバ300のアップデート前における論理プリンタドライバ設定情報格納部327の構成例を示す図である。尚、プリンタドライバ300のアップデート後における論理プリンタドライバ設定情報格納部327の構成例については、図14を参照して後述する。
尚、本実施形態においては、物理プリンタドライバ320は、機種固有情報格納部325と追加機種固有情報格納部326とを個別に備える例について説明するが、その両者を区別することなく一つの格納部として備えていても良い。但し、本実施形態において説明するように、物理プリンタドライバ320が、機種固有情報格納部325と追加機種固有情報格納部326とを個別に備える場合には、アップデートによりどの機種固有情報が追加されたかを判断することが可能となる。
次に、本実施形態に係るインストーラ400の機能構成について、図9を参照して説明する。図9は、本実施系形態に係るインストーラ400の機能構成を模式的に示すブロック図である。図9に示すように、本実施形態に係るインスターら400は、機種固有情報追加部410、追加候補機種固有情報格納部420を有する。
機種固有情報追加部410は、プリンタドライバ300のアップデートに際して、追加機種固有情報格納部326に機種固有情報を追加する。追加候補機種固有情報格納部420は、プリンタドライバ300のアップデートに際して、機種固有情報追加部410が追加機種固有情報格納部326に追加する際の候補となる機種固有情報を格納する。本実施形態に係る追加候補機種固有情報格納部420は、図10に示すように、機種固有情報の追加候補として、機種固有情報「Model−C」、機種固有情報「Model−D」、機種固有情報「Model−F」、機種固有情報「Model−G」を格納している。即ち、本実施形態においては、追加候補機種固有情報格納部420が、追加候補機種固有情報記憶部として機能する。図10は、本実施形態に係る追加候補機種固有情報格納部420の構成例を示す図である。
尚、本実施形態に係る機種固有情報追加部410は、プリンタドライバ300のアップデートに際して、クライアント端末2に接続されている可搬型の記憶媒体や外部記憶媒体から、若しくは、ネットワークを介してクライアント端末2に接続されているサーバ装置やPC等の外部装置から、追加候補としての機種固有情報を取得し、取得した追加候補としての機種固有情報を追加候補機種固有情報格納部420に格納するように構成されている。従って、追加候補機種固有情報格納部420は、プリンタドライバ300のアップデート前においては空の状態となっている。また、本実施形態に係る機種固有情報追加部410は、プリンタドライバ300のアップデートが完了すると、追加候補機種固有情報格納部420に格納されている機種固有情報を削除する。従って、従って、追加候補機種固有情報格納部420は、プリンタドライバ300のアップデート後においても空の状態となる。
このように、本実施形態に係るクライアント端末2においては、追加候補となる機種固有情報が一旦、追加候補機種固有情報格納部420に格納されて、格納された追加候補となる機種固有情報の中から機種固有情報格納部326に実際に追加されるため、無駄な機種固有情報が追加されることがなくなる。
このように構成された画像形成システムにおいて、本実施形態に係る要旨の一つは、クライアント端末2にインストールされたプリンタドライバ300のアップデートを行う場合において、ユーザによる判断を必要としないで使用環境を自動的に判断することにより、追加するべき機種固有情報と追加するべきではない機種固有情報とを自動的に判断することにある。従って、本実施形態に係る画像形成システムによれば、ユーザに手間をかけることなく使用環境に応じて適切に機種固有情報を追加することが可能となり、その結果、無駄な機種固有情報が追加されることがなくなる。これにより、本実施形態に係る画像形成システムにおいては、ユーザに対する利便性及び操作性を向上させると共に、プリンタドライバ300の動作性能を向上させることが可能となる。
次に、本実施形態に係るプリンタドライバ300が各論理プリンタドライバ311の利用機種固有情報を設定する際の処理について、図11を参照して説明する。図11は、本実施形態に係るプリンタドライバ300が各論理プリンタドライバ311の利用機種固有情報を設定する際の処理を説明するためのフローチャートである。
図11に示すように、本実施形態に係るプリンタドライバ300が各論理プリンタドライバ311の利用機種固有情報を設定する際には、論理プリンタドライバ設定部323は、論理プリンタドライバ群310に含まれる論理プリンタドライバ311のいずれかから任意に1個選択する(S1101)。そして、論理プリンタドライバ設定部323は、選択した論理プリンタドライバ311に接続されている画像形成装置1の機種名を取得するように通信部324に依頼して取得し(S1102)、取得した機種名に基づいて、選択した論理プリンタドライバ311に接続されている画像形成装置1の機種に対応する機種固有情報が、機種固有情報格納部325若しくは追加機種固有情報格納部326に格納されているか否かを判断する(S1103)。
論理プリンタドライバ設定部323は、S1103の判断処理において、選択した論理プリンタドライバ311に接続されている画像形成装置1の機種に対応する機種固有情報が、機種固有情報格納部325若しくは追加機種固有情報格納部326に格納されていると判断した場合には(S1103/YES)、論理プリンタドライバ設定情報格納部327に格納されている設定情報を参照して、選択した論理プリンタドライバ311に設定されている利用機種固有情報と、選択した論理プリンタドライバ311に接続されている画像形成装置1の機種に対応する機種固有情報とが一致しているか否かを判断する(S1104)。
論理プリンタドライバ設定部323は、S1104の判断処理において、選択した論理プリンタドライバ311に設定されている利用機種固有情報と、選択した論理プリンタドライバ311に接続されている画像形成装置1の機種に対応する機種固有情報とが一致しないと判断した場合には(S1104/NO)、選択した論理プリンタドライバ311について、論理プリンタドライバ設定情報格納部327に格納されている設定情報としての利用機種固有情報を、選択した論理プリンタドライバ311に接続されている画像形成装置1の機種に対応する機種固有情報に設定する(S1105)。
尚、本実施形態においては、論理プリンタドライバ設定部323が、選択した論理プリンタドライバ311に設定されている利用機種固有情報と、選択した論理プリンタドライバ311に接続されている画像形成装置1の機種に対応する機種固有情報とが一致しないと判断する場合(S1104/NO)として、選択した論理プリンタドライバ311について、論理プリンタドライバ設定情報格納部327に格納されている設定情報としての利用機種固有情報が未設定である場合も含まれる。
一方、論理プリンタドライバ設定部323は、S1103の判断処理において、選択した論理プリンタドライバ311に接続されている画像形成装置1の機種に対応する機種固有情報が、機種固有情報格納部325若しくは追加機種固有情報格納部326に格納されていないと判断した場合には(S1103/NO)、論理プリンタドライバ設定情報格納部327に格納されている設定情報を参照して、選択した論理プリンタドライバ311に設定されている利用機種固有情報が共通機種固有情報であるか否かを判断する(S1106)。
論理プリンタドライバ設定部323は、S1106の判断処理において、選択した論理プリンタドライバ311に設定されている利用機種固有情報が共通機種固有情報ではないと判断した場合には(S1106/NO)、選択した論理プリンタドライバ311について、論理プリンタドライバ設定情報格納部327に格納されている設定情報としての利用機種固有情報を共通機種情報に設定する(S1107)。
尚、本実施形態においては、論理プリンタドライバ設定部323が、選択した論理プリンタドライバ311に設定されている利用機種固有情報が共通機種固有情報ではないと判断する場合(S1106/NO)として、選択した論理プリンタドライバ311について、論理プリンタドライバ設定情報格納部327に格納されている設定情報としての利用機種固有情報が未設定である場合も含まれる。
そして、論理プリンタドライバ設定部323は、S1104の判断処理において、選択した論理プリンタドライバ311に設定されている利用機種固有情報と、選択した論理プリンタドライバ311に接続されている画像形成装置1の機種に対応する機種固有情報とが一致していると判断した場合(S1104/YES)、S1106の判断処理において、選択した論理プリンタドライバ311に設定されている利用機種固有情報が共通機種固有情報であると判断した場合(S1106/YES)、S1105の処理若しくはS1107の処理を終了した場合、論理プリンタドライバ群310に含まれる他の論理プリンタドライバ311についてもS1101〜S1107と同様の処理を行い(S1108/NO)、その全ての論理プリンタドライバ311についてS1101〜S1107と同様の処理を終了すると(S1108/YES)、本実施形態に係るプリンタドライバ300は、各論理プリンタドライバ311の利用機種固有情報を設定する際の処理を終了する。
次に、本実施形態に係るインストーラ400がプリンタドライバ300をアップデートする際の処理について、図12を参照して説明する。図12は、本実施形態に係るインストーラ400がプリンタドライバ300をアップデートする際の処理を説明するためのフローチャートである。
図12に示すように、本実施形態に係るインストーラ400がプリンタドライバ300をアップデートする際には、機種固有情報追加部410は、論理プリンタドライバ群310に含まれる論理プリンタドライバ311のいずれかから任意に1個選択する(S1201)。そして、機種固有情報追加部410は、選択した論理プリンタドライバ311に接続されている画像形成装置1の機種名を取得するように通信部324に依頼して取得し(S1202)、取得した機種名に基づいて、選択した論理プリンタドライバ311に接続されている画像形成装置1の機種に対応する機種固有情報が、追加候補機種固有情報格納部420に格納されているか否かを判断する(S1203)。
機種固有情報追加部410は、S1203の判断処理において、選択した論理プリンタドライバ311に接続されている画像形成装置1の機種に対応する機種固有情報が、追加候補機種固有情報格納部420に格納されていると判断した場合には(S1203/YES)、論理プリンタドライバ設定情報格納部327に格納されている設定情報を参照して、選択した論理プリンタドライバ311に設定されている利用機種固有情報と、選択した論理プリンタドライバ311に接続されている画像形成装置1の機種に対応する機種固有情報とが一致しているか否かを判断する(S1204)。即ち、本実施形態においては、機種固有情報追加部410が、機種固有情報一致判定部として機能する。
機種固有情報追加部410は、S1204の判断処理において、選択した論理プリンタドライバ311に設定されている利用機種固有情報と、選択した論理プリンタドライバ311に接続されている画像形成装置1の機種に対応する機種固有情報とが一致しないと判断した場合には(S1204/NO)、選択した論理プリンタドライバ311が接続されている画像形成装置1の機種に対応する機種固有情報が既に追加機種固有情報格納部326に追加されているか否かを判断する(S1205)。このように、本実施形態においては、選択された論理プリンタドライバ311が接続されている画像形成装置1の機種に対応する機種固有情報が既に追加機種固有情報格納部326に追加されているか否かを判断する(S1205)ことにより、既に追加されている機種固有情報をさらに追加することを防ぐことが可能となり、無駄な機種固有情報の追加を防ぐことが可能となる。
機種固有情報追加部410は、S1205の判断処理において、選択した論理プリンタドライバ311が接続されている画像形成装置1の機種に対応する機種固有情報が既に追加機種固有情報格納部326に追加されていると判断した場合には(S1205/YES)、選択した論理プリンタドライバ311について、論理プリンタドライバ設定情報格納部327に格納されている設定情報としての利用機種固有情報を、選択した論理プリンタドライバ311に接続されている画像形成装置1の機種に対応する機種固有情報に設定する(S1206)。
一方、機種固有情報追加部410は、S1205の判断処理において、選択した論理プリンタドライバ311が接続されている画像形成装置1の機種に対応する機種固有情報がまだ追加機種固有情報格納部326に追加されていないと判断した場合には(S1205/NO)、選択した論理プリンタドライバ311に接続されている画像形成装置1の機種に対応する機種固有情報を、追加候補機種固有情報格納部420から追加機種固有情報格納部326に追加して(S1207)、S1206と同様の処理を行う。
このように、本実施形態においては、機種固有情報が追加機種固有情報格納部326に既に追加されている場合(S1205/YES)、若しくは、新たに追加された場合(S1207)、論理プリンタドライバ設定情報格納部327に格納されている設定情報としての利用機種固有情報を、選択された論理プリンタドライバ311に接続されている画像形成装置1の機種に対応する機種固有情報に設定する(S1206)ことにより、これらの機種については、次回以降のアップデートにおいて、新たに機種固有情報が追加される機種としての対象から外すことが可能となる。
そして、機種固有情報追加部410は、S1203の判断処理において、選択した論理プリンタドライバ311に接続されている画像形成装置1の機種に対応する機種固有情報が、追加候補機種固有情報格納部420に格納されていないと判断した場合(S1203/NO)、S1204の判断処理において、選択した論理プリンタドライバ311に設定されている利用機種固有情報と、選択した論理プリンタドライバ311に接続されている画像形成装置1の機種に対応する機種固有情報とが一致すると判断した場合(S1204/YES)、S1206の処理が終了した場合、論理プリンタドライバ群310に含まれる他の論理プリンタドライバ311についてもS1201〜S1207と同様の処理を行う(S1208/NO)。
機種固有情報追加部410が、論理プリンタドライバ群310に含まれる他の論理プリンタドライバ311についてS1201〜S1207と同様の処理を終了すると(S1208/YES)、本実施形態に係るインストーラ400は、プリンタドライバ300をアップデートする際の処理を終了する。
このように、本実施形態に係るインストーラ400がプリンタドライバ300をアップデートした結果、追加機種固有情報格納部326には、図13に示すように、図7において示したアップデート前における追加機種固有情報格納部326と比較して、画像形成装置1cの機種Model−Cに対応する機種固有情報「Model−C」、画像形成装置1dの機種Model−Dに対応する機種固有情報「Model−D」が追加されることになる。図13は、本実施形態に係るプリンタドライバ300のアップデート後の追加機種固有情報格納部326の構成例を示す図である。
また、このように、本実施形態に係るインストーラ400がプリンタドライバ300をアップデートした結果、論理プリンタドライバ設定情報格納部327には、図14に示すように、図8において示したアップデート前における論理プリンタドライバ設定情報格納部327と比較して、論理プリンタドライバ(Model−C)に関する設定情報としての利用機種固有情報が「共通機種情報」から「Model−C」に変更され、論理プリンタドライバ(Model−D)に関する設定情報としての利用機種固有情報が「共通機種情報」から「Model−D」に変更されることになる。図14、本実施形態に係るプリンタドライバ300のアップデート後の論理プリンタドライバ設定情報格納部327の構成例を示す図である。
尚、本実施形態においては、プリンタドライバ311のアップデート前に既に機種固有情報格納部325若しくは追加機種固有情報格納部326に格納されている機種固有情報については、その内容がアップデートされる必要がある場合には、自動的にアップデートされるように構成されている。
図12において説明したように、本実施形態に係る画像形成システムにおいては、クライアント端末2にインストールされたプリンタドライバ300のアップデートを行う場合に、ユーザによる判断を必要としないで使用環境を自動的に判断することにより、追加するべき機種固有情報と追加するべきではない機種固有情報とを自動的に判断することが可能となる。従って、本実施形態に係る画像形成システムによれば、ユーザに手間をかけることなく使用環境に応じて適切に機種固有情報を追加することが可能となり、その結果、無駄な機種固有情報が追加されることがなくなる。これにより、本実施形態に係る画像形成システムにおいては、ユーザに対する利便性及び操作性を向上させると共に、プリンタドライバ300の動作性能を向上させることが可能となる。
次に、本実施形態に係るクライアント端末2のLCD60に印刷設定画面を表示する際の処理について、図15及び図16を参照して説明する。図15は、本実施形態に係るクライアント端末2のLCD60に印刷設定画面を表示する際のOS100及びアプリケーション200の処理を説明するためのシーケンス図である。図16は、本実施形態に係るクライアント端末2のLCD60に印刷設定画面を表示する際のプリンタドライバ300の処理を説明するためのシーケンス図である。尚、以下の説明においては、クライアント端末2においてアプリケーション200が起動され、起動しているアプリケーション200に関する画面がLCD60に表示されていることを前提とする。
本実施形態に係るクライアント端末2のLCD60に印刷設定画面を表示する際にはまず、ユーザがクライアント端末2を操作することにより、印刷設定画面を表示させるための命令(以下、「印刷設定画面表示命令」とする)をアプリケーション200に入力する必要がある。ユーザが印刷設定画面表示命令をアプリケーション200に入力すると、図15に示すように、アプリケーション200は、図17に示すような論理プリンタドライバ選択画面をLCD60に表示して(S1501)、論理プリンタドライバ群310に含まれる論理プリンタドライバ311のうちから、いずれかの論理プリンタドライバ311をユーザに選択させる(S1502)。
ここで、図17は、本実施形態に係る論理プリンタドライバ選択画面の表示例を示す図である。尚、本実施形態においては、論理プリンタドライバ群310には、論理プリンタドライバ(Model−)311a、論理プリンタドライバ(Model−B)311b、論理プリンタドライバ(Model−C)311c、論理プリンタドライバ(Model−D)311dが含まれるため、論理プリンタドライバ選択画面には、図17に示すように、Model−A、Model−B、Model−C、Model−Dの論理プリンタドライバ311が選択可能なように表示される。
ユーザがクライアント端末2を操作することにより、論理プリンタドライバ選択画面に表示されている論理プリンタドライバ311からいずれかの論理プリンタドライバ311を選択すると、アプリケーション200は、ユーザ操作により入力された印刷設定画面表示命令をOS100に通知する(S1503)。OS100は、アプリケーション200から通知された印刷設定画面表示命令を、論理プリンタ選択画面において選択された論理プリンタドライバ311に通知する(S1504)。
そして、図16に示すように、論理プリンタドライバ311は、OS100から通知された印刷設定画面表示命令を取得し(S1601)、取得した印刷設定画面表示命令を表示制御部321に通知する(S1602)。表示制御部321は、印刷設定画面表示命令を取得すると(S1603)、印刷設定画面表示命令の通知元である論理プリンタドライバ311の利用機種固有情報名を、即ち、論理プリンタドライバ選択画面において選択された論理プリンタドライバ311の利用機種固有情報名を、論理プリンタドライバ設定情報格納部327から取得する(S1604)。
表示制御部321は、論理プリンタドライバ設定情報格納部327から取得した利用機種固有情報名に基づいて、印刷設定画面表示命令の通知元である論理プリンタドライバ311に対応する機種固有情報を、即ち、論理プリンタドライバ選択画面において選択された論理プリンタドライバ311に対応する機種固有情報を、機種固有情報格納部325若しくは追加機種固有情報格納部326から取得する(S1605)。
表示制御部321は、機種固有情報格納部325若しくは追加機種固有情報格納部326から取得した機種固有情報に従って、クライアント端末2のLCD60に印刷設定画面を表示させるための印刷設定画面表示情報を生成し(S1606)、生成した印刷設定画面表示情報をOS100に通知する(S1607)。即ち、本実施形態においては、表示制御部321が、選択受付部として機能する。
そして、図15に示すように、OS100は、プリンタドライバ300から通知された印刷設定画面表示情報を取得し(S1505)、取得した印刷設定画面表示情報をアプリケーション200に通知する(S1506)。アプリケーション200は、OS100から通知された印刷設定画面表示情報を取得すると(S1507)、取得した印刷設定画面表示情報に基づいて図18に示すような印刷設定画面をLCD60に表示する(S1508)。図18は、本実施形態に係る印刷設定画面の表示例を示す図である。
図18に示すように、印刷設定画面には、論理プリンタドライバ選択画面において選択された論理プリンタドライバ311に接続されている画像形成装置1の機種と、論理プリンタドライバ選択画面において選択された論理プリンタドライバ311の利用機種固有情報の名前とが表示されている。即ち、本実施形態においては、機種固有情報の名前が、機種固有情報識別情報として利用される。
従って、論理プリンタドライバ選択画面においてModel−Aが選択された場合、図18(a)に示すように、論理プリンタドライバ選択画面において選択された論理プリンタドライバ311に接続されている画像形成装置1の機種として「プリンタ名」の欄に「Model−A」が表示され、論理プリンタドライバ選択画面において選択された論理プリンタドライバ311の利用機種固有情報の名前として「ドライバ」の欄に「Model−A」が表示されている。また、論理プリンタドライバ選択画面においてModel−Cが選択された場合、図18(b)に示すように、論理プリンタドライバ選択画面において選択された論理プリンタドライバ311に接続されている画像形成装置1の機種として「プリンタ名」の欄に「Model−C」が表示され、論理プリンタドライバ選択画面において選択された論理プリンタドライバ311の利用機種固有情報の名前として「ドライバ」の欄に「共通」が表示されている。
このように、印刷設定画面には、論理プリンタドライバ選択画面において選択された論理プリンタドライバ311に接続されている画像形成装置1の機種と、論理プリンタドライバ選択画面において選択された論理プリンタドライバ311の利用機種固有情報とが表示される。従って、ユーザは、印刷設定画面を確認することにより、各画像形成装置1の機種につき、サポートされているか否かを判断することが可能となり、アップデートの際にどの機種が新たにサポートされるかを判断するための指標とすることが可能となる。
このようにして、本実施形態に係るクライアント端末2は、論理プリンタドライバ選択画面において選択された論理プリンタドライバ311を印刷設定画面の表示元として、その論理プリンタドライバ311に固有の印刷設定画面を表示するようになっている。
次に、本実施形態に係るクライアント端末2に接続されている画像形成装置1のいずれかに画像形成出力を実行させる際の処理について、図19及び図20を参照して説明する。図19は、本実施形態に係るクライアント端末2に接続されている画像形成装置1のいずれかに画像形成出力を実行させる際のOS100及びアプリケーション200の処理を説明するためのフローチャートである。図20は、本実施形態に係るクライアント端末2に接続されている画像形成装置1のいずれかに画像形成出力を実行させる際のプリンタドライバ300の処理を説明するためのフローチャートである。尚、以下の説明においては、クライアント端末2においてアプリケーション200が起動され、起動しているアプリケーション200上での論理プリンタドライバ選択画面において選択された論理プリンタドライバ311に関する印刷設定画面がLCD60に表示されていることを前提とする。
本実施形態に係るクライアント端末2が接続されている画像形成装置1のいずれかに画像形成出力を実行させる際にはまず、ユーザがクライアント端末2を操作することにより、印刷設定画面において画像形成出力を実行させるための命令(以下、「印刷命令」とする)をアプリケーション200に入力する必要がある。ユーザが印刷設定画面において印刷命令をアプリケーション200に入力すると、図19に示すように、アプリケーション200は、ユーザ操作により入力された印刷命令をOS100に通知する(S1901)。OS100は、アプリケーション200から通知された印刷命令を、印刷設定画面の表示元になっている論理プリンタドライバ311に通知する(S1902)。
そして、図20に示すように、論理プリンタドライバ311は、OS100から通知された印刷命令を取得し(S2001)、取得した印刷命令を描画部322に通知する(S2002)。描画部322は、印刷命令を取得すると(S2003)、印刷命令の通知元である論理プリンタドライバ311の利用機種固有情報名を、即ち、印刷設定画面の表示元である論理プリンタドライバ311の利用機種固有情報名を、論理プリンタドライバ設定情報格納部327から取得する(S2004)。
描画部322は、論理プリンタドライバ設定情報格納部327から取得した利用機種固有情報名に基づいて、印刷命令の通知元である論理プリンタドライバ311に対応する機種固有情報を、即ち、印刷設定画面の表示元である論理プリンタドライバ311に対応する機種固有情報を機種固有情報格納部325若しくは追加機種固有情報格納部326から取得する(S2005)。
描画部322は、機種固有情報格納部325若しくは追加機種固有情報格納部326から取得した機種固有情報に従って印刷ジョブを生成し(S2006)、生成した印刷ジョブを通信部324に通知する(S2007)。即ち、本実施形態においては、印刷ジョブが制御命令として利用され、描画部322が、制御命令生成部として機能する。通信部324は、描画部322から通知された印刷ジョブを取得すると(S2008)、描画部322から通知された印刷ジョブをネットワークI/F500を介して印刷設定画面の表示元である論理プリンタドライバ311に接続されている画像形成装置1に送信する(S2009)。そして、画像形成装置1は、クライアント端末2から送信されてきた印刷ジョブに従って画像形成出力を実行する。
このようにして、本実施形態に係るクライアント端末2は、印刷設定画面の表示元になっている論理プリンタドライバ311に接続されている画像形成装置1に画像形成出力を実行させるようになっている。
図19及び図20において説明したように、本実施形態においては、論理プリンタドライバ設定画面において選択された論理プリンタドライバ311に設定されている利用機種固有情報を、機種固有情報格納部325若しくは追加機種固有情報格納部326から取得し(S2005)、取得した機種固有情報に従って印刷ジョブを生成する(S2006)ため、共通機種情報に従った印刷しか行えなかった画像形成装置1についても、プリンタドライバ300をアップデートすることにより、その画像形成装置1に対応する機種の機種固有情報を追加することで、その画像形成装置1に固有の印刷を行わせることが可能となる。
以上、説明したように、このように構成された画像形成システムにおいて、本実施形態に係る要旨の一つは、クライアント端末2にインストールされたプリンタドライバ300のアップデートを行う場合において、ユーザによる判断を必要としないで使用環境を自動的に判断することにより、追加するべき機種固有情報と追加するべきではない機種固有情報とを自動的に判断することにある。従って、本実施形態に係る画像形成システムによれば、ユーザに手間をかけることなく使用環境に応じて適切に機種固有情報を追加することが可能となり、その結果、無駄な機種固有情報が追加されることがなくなる。これにより、本実施形態に係る画像形成システムにおいては、ユーザに対する利便性及び操作性を向上させると共に、プリンタドライバ300の動作性能を向上させることが可能となる。
実施の形態2.
実施の形態1においては、図12において説明したように、追加するべき機種固有情報と追加するべきではない機種固有情報とを、インストーラ400が自動で判断してからプリンタドライバ300のアップデートを行う場合を例として説明した。本実施形態においては、追加するべき機種固有情報をユーザに提示して、その中から実際に追加する機種固有情報をユーザにより選択させる場合を例として説明する。尚、実施の形態1と同様の符号を付す構成については、同一または相当部を示すものとし、詳細な説明を省略する。
まず、本実施形態に係るインストーラ400の構成について図21を参照して説明する。図21は、本実施形態に係るインストーラ400の機能構成を模式的に示すブロック図である。図21に示すように、本実施形態に係るインストーラ400は、実施の形態1と略同一の構成を有するが、実施の形態1とは異なり、表示制御部430及び選択候補論理プリンタドライバ名記憶部440を備えることを特徴とする。表示制御部430は、LCD60に情報表示を行う。選択候補論理プリンタドライバ名記憶部440は、追加するべき機種固有情報に対応する機種の画像形成装置1に接続されている論理プリンタドラバの名前を記憶する。
次に、本実施形態に係るインストーラ400がプリンタドライバ300をアップデートする際の処理について、図22を参照して説明する。図22は、本実施形態に係るインストーラ400がプリンタドライバ300をアップデートする際の処理を説明するためのフローチャートである。
図22に示すように、本実施形態に係るインストーラ400がプリンタドライバ300をアップデートする際には、機種固有情報追加部410は、論理プリンタドライバ群310に含まれる論理プリンタドライバ311のいずれかから任意に1個選択する(S2201)。そして、論理プリンタドライバ323は、選択した論理プリンタドライバ311に接続されている画像形成装置1の機種名を取得するように通信部324に依頼して取得し(S2202)、取得した機種名に基づいて、選択した論理プリンタドライバ311に接続されている画像形成装置1の機種に対応する機種固有情報が、追加候補機種固有情報格納部420に格納されているか否かを判断する(S2203)。
機種固有情報追加部410は、S2203の判断処理において、選択した論理プリンタドライバ311に接続されている画像形成装置1の機種に対応する機種固有情報が、追加候補機種固有情報格納部420に格納されていると判断した場合には(S2203/YES)、論理プリンタドライバ設定情報格納部327に格納されている設定情報を参照して、選択した論理プリンタドライバ311に設定されている利用機種固有情報と、選択した論理プリンタドライバ311に接続されている画像形成装置1の機種に対応する機種固有情報とが一致しているか否かを判断する(S2204)。
機種固有情報追加部410は、S2204の判断処理において、選択した論理プリンタドライバ311に設定されている利用機種固有情報と、選択した論理プリンタドライバ311に接続されている画像形成装置1の機種に対応する機種固有情報とが一致しないと判断した場合には(S2204/NO)、選択した論理プリンタドライバ311が接続されている画像形成装置1の機種に対応する機種固有情報が既に追加機種固有情報格納部326に追加されているか否かを判断する(S2205)。
機種固有情報追加部410は、S2205の判断処理において、選択した論理プリンタドライバ311が接続されている画像形成装置1の機種に対応する機種固有情報が既に追加機種固有情報格納部326に追加されていると判断した場合には(S2205/NO)、選択した論理プリンタドライバ311が接続されている画像形成装置1の機種名を選択候補論理プリンタドライバ名記憶部440に記憶させる(S2206)。
そして、機種固有情報追加部410は、S2203の判断処理において、選択した論理プリンタドライバ311に接続されている画像形成装置1の機種に対応する機種固有情報が、追加候補機種固有情報格納部420に格納されていないと判断した場合(S2203/NO)、S2204の判断処理において、選択した論理プリンタドライバ311に設定されている利用機種固有情報と、選択した論理プリンタドライバ311に接続されている画像形成装置1の機種に対応する機種固有情報とが一致すると判断した場合(S2204/YES)、S2205の判断処理において、選択した論理プリンタドライバ311が接続されている画像形成装置1の機種に対応する機種固有情報が既に追加機種固有情報格納部326に追加されていないと判断した場合(S2205/YES)、S2206の処理が終了した場合、論理プリンタドライバ群310に含まれる他の論理プリンタドライバ311についてもS2201〜S2206と同様の処理を行う(S2207/NO)。
機種固有情報追加部410が、論理プリンタドライバ群310に含まれる他の論理プリンタドライバ311についてS2201〜S2206と同様の処理を終了すると(S2207/YES)、表示制御部430は、選択候補論理プリンタドライバ名記憶部440に記憶されている機種名に基づいて、追加論理プリンタドライバ選択画面をクライアント端末2のLCD60に表示させるための追加論理プリンタドライバ選択画面表示情報を生成する(S2208)。
アプリケーション200は、表示制御部430が生成した追加論理プリンタドライバ選択画面表示情報をOS100を介して取得し、取得した追加論理プリンタドライバ選択画面表示情報に基づいて図23に示すような追加論理プリンタドライバ選択画面をLCD60に表示する(S2209)。図23は、本実施形態に係る追加論理プリンタドライバ選択画面の表示例を示す図である。図23に示すように、論理プリンタドライバ選択画面には、機種固有情報が追加される候補となる機種の画像形成装置1に接続されている論理プリンタドライバ311の名前が表示されている。即ち、本実施形態においては、論理プリンタドライバ311の名前がハードウェア識別情報として利用される。
機種固有情報追加部410は、追加論理プリンタドライバ選択画面においてユーザ操作によりいずれかの論理プリンタドライバ311が選択されると、選択された論理プリンタドライバ311に接続されている画像形成装置1の機種に対応する機種固有情報を、追加候補機種固有情報格納部420から追加機種固有情報格納部326に追加する(S2210)。そして、機種固有情報追加部410は、選択された論理プリンタドライバ311について、論理プリンタドライバ設定情報格納部327に格納されている設定情報としての利用機種固有情報を、選択された論理プリンタドライバ311に接続されている画像形成装置1の機種に対応する機種固有情報に設定する(S2211)。このようにして、本実施形態に係るインストーラ400がプリンタドライバ300をアップデートする際の処理を終了する。
図22において説明したように、本実施形態においては、追加論理プリンタドライバ選択画面には、追加される候補となる機種に対応する画像形成装置1が接続されている論理プリンタドライバが表示されるため、ユーザは、どの画像形成装置1についての機種固有情報を追加するべきかを容易に判断することが可能となる。
また、図23に示したような追加論理プリンタドライバ選択画面は、追加候補機種固有情報格納部420に格納されていない機種固有情報に対応する機種の画像形成装置1が接続されている論理プリンタドライバ311の名前については表示しないように構成されていても良いし、表示するように構成されていても良い。
尚、実施の形態1及び2においては、画像形成装置及びその画像形成装置の制御を行うプリンタドライバについて説明しているが、特にこれに限らず、情報処理装置の内部に装着された装置、例えば、NIC(Network Interface Card)等の拡張カード等や、外部に接続された周辺機器、例えば、グラフィックディスプレイやサウンドスピーカー等の入出力装置等のデバイスドライバ等、情報処理装置にインストールされたハードウェアを制御するための制御プログラムにおいても適用可能である。