(57)【要約】【課題】  プラグインモジュールのインストールを効率的に行うことができる情報処理装置、情報処理方法及びそのプログラムを提供する。【解決手段】  ＣＰＵ１は、機能追加の対象となる複数種類のＰＤＬドライバに、１つまたは複数のプラグインモジュールを組み込むことで１つまたは複数の追加機能を加える。ＣＰＵ１は、ＰＤＬドライバの種類及びバージョン情報に応じて、プラグインモジュールを組み込み可能か否かを定める対応管理表を参照して、利用可能なプラグインモジュールであるか否かを判定する。ＣＰＵ１は、利用可能であると判定したプラグインモジュールの一覧である一覧画面をＣＲＴ１０に表示する。【選択図】  図１
2005173701.tif 000002
【特許請求の範囲】
【請求項１】
表示手段と、機能追加の対象となる複数のプログラムに、１つまたは複数の追加機能モジュールを組み込むことで１つまたは複数の追加機能を加える組み込み手段とを備える情報処理装置であって、
前記プログラムの種類及びバージョン情報に応じて、前記追加機能モジュールを組み込み可能か否かを定める組み込み可否情報を格納する格納手段と、
前記格納手段から前記組み込み可否情報を参照して、前記組み込み手段が前記複数のプログラムに組み込もうとしている前記追加機能モジュールに対して、前記複数のプログラムに対して組み込み可能な追加機能モジュールであるか否かを判定する判定手段と、
前記判定手段が組み込み可能であると判定した追加機能モジュールの一覧である一覧画面を前記表示手段に表示する一覧画面生成手段と
を具備することを特徴とする情報処理装置。
【請求項２】
前記プログラムの一部または全てが１つまたは複数の既存追加機能モジュールを含んでいる場合に、前記組み込み可否情報は、前記既存追加機能モジュールの種類及びバージョンに関する情報を更に含み、
前記判定手段は、前記組み込み可否情報を参照することで、追加しようとする追加機能モジュールと既存追加機能モジュールの種類が一致するか否か判定し、一致すると判定した追加機能モジュールのバージョンが既存追加機能モジュールのバージョンより新しい場合に、当該追加機能モジュールを組み込み可能な追加機能モジュールと判定すること
を特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記一覧画面は、前記追加機能モジュール別に前記追加機能モジュールを組み込むか否かを利用者が設定可能な設定手段を含むことを特徴とする請求項１または請求項２に記載の情報処理装置。
【請求項４】
前記複数のプログラムは、プリンタドライバに含まれる複数種類のページ記述言語別に対応するドライバプログラムであることを特徴とする請求項１〜３のいずれか１項に記載の情報処理装置。
【請求項５】
表示手段と、機能追加の対象となる複数のプログラムに、１つまたは複数の追加機能モジュールを組み込むことで１つまたは複数の追加機能を加える組み込み手段とを備える情報処理装置を用いた情報処理方法であって、
前記プログラムの種類及びバージョン情報に応じて、前記追加機能モジュールを組み込み可能か否かを定める組み込み可否情報を格納する格納手段から前記組み込み可否情報を参照して、前記複数のプログラムに対して組み込み可能な追加機能モジュールであるか否かを判定する第１のステップと、
前記第１のステップにおいて組み込み可能と判定した追加機能モジュールの一覧画面を前記表示手段に表示する第２のステップと
を有することを特徴とする情報処理方法。
【請求項６】
前記プログラムの一部または全てが１つまたは複数の既存追加機能モジュールを含んでいる場合に、前記組み込み可否情報は、前記既存追加機能モジュールの種類及びバージョンに関する情報を更に含み、
前記第１のステップは、前記組み込み可否情報を参照することで、追加しようとする追加機能モジュールと既存追加機能モジュールの種類が一致するか否か判定し、一致すると判定した追加機能モジュールのバージョンが既存追加機能モジュールのバージョンより新しい場合に、当該追加機能モジュールを組み込み可能な追加機能モジュールと判定すること
を特徴とする請求項５に記載の情報処理方法。
【請求項７】
前記一覧画面は、前記追加機能モジュール別に前記追加機能モジュールを組み込むか否かを利用者が設定可能な設定手段を含むことを特徴とする請求項５または請求項６に記載の情報処理方法。
【請求項８】
前記複数のプログラムは、プリンタドライバに含まれる複数種類のページ記述言語別に対応するドライバプログラムであることを特徴とする請求項５〜７のいずれか１項に記載の情報処理方法。
【請求項９】
請求項５〜８に記載の情報処理方法を情報処理装置に実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プリンタドライバへプラグインモジュールのインストールを行う情報処理装置、情報処理方法及びそのプログラムに関するものである。
【背景技術】
【０００２】
近年、プリンタに印刷イメージを指示するためのページ記述言語の増加や高機能化に伴って、プリンタドライバの開発工数が飛躍的に増えています。代表的なページ記述言語として、例えば、ＰＣＬ５ｅ言語、ＰｏｓｔＳｃｒｉｐｔ言語、ＬＩＰＳ言語などがある。この他にも、パーソナルコンピュータといった情報処理装置側で全ての画像処理を行う新しいページ記述言語や、パーソナルコンピュータとプリンタ間で最適な負荷分散を行うようなページ記述言語も、各社で開発されている。
【０００３】
また、プリンタドライバの高機能化に伴い、プリンタドライバに機能追加するためのプラグインモジュールについても、種々の機能に応じて開発されている。このプラグインモジュールを効率的にインストールするため、例えば、ユーザが設定した印刷機能に応じて、出力機器を制御するプリンタドライバに組み込むモジュール群（プラグイン）を決定することにより、冗長性を減少させ、メモリ不足を軽減して、印刷処理の簡潔化や印刷速度の向上を実現する情報処理装置に関する技術が開示されている（例えば、特許文献１参照。）。
【０００４】
【特許文献１】特開２００２−１０８５８０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、プリンタドライバには複数のページ記述言語に対応しており、プラグインモジュールをインストールする際に、各々のプラグインモジュールが、どのページ記述言語に対応しているか把握しきれずに、インストール作業の効率が落ちてしまうという問題がある。
【０００６】
本発明は、上述した事情を考慮してなされたもので、プラグインモジュールのインストールを効率的に行うことができる情報処理装置、情報処理方法及びそのプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
この発明は、上述した課題を解決すべくなされたもので、本発明による情報処理装置においては、表示手段と、機能追加の対象となる複数のプログラムに、１つまたは複数の追加機能モジュールを組み込むことで１つまたは複数の追加機能を加える組み込み手段とを備える情報処理装置であって、プログラムの種類及びバージョン情報に応じて、追加機能モジュールを組み込み可能か否かを定める組み込み可否情報を格納する格納手段と、格納手段から組み込み可否情報を参照して、組み込み手段が複数のプログラムに組み込もうとしている追加機能モジュールに対して、複数のプログラムに対して組み込み可能な追加機能モジュールであるか否かを判定する判定手段と、判定手段が組み込み可能であると判定した追加機能モジュールの一覧である一覧画面を表示手段に表示する一覧画面生成手段とを具備することを特徴とする。
【０００８】
また、本発明による情報処理方法においては、表示手段と、機能追加の対象となる複数のプログラムに、１つまたは複数の追加機能モジュールを組み込むことで１つまたは複数の追加機能を加える組み込み手段とを備える情報処理装置を用いた情報処理方法であって、プログラムの種類及びバージョン情報に応じて、追加機能モジュールを組み込み可能か否かを定める組み込み可否情報を格納する格納手段から組み込み可否情報を参照して、複数のプログラムに対して組み込み可能な追加機能モジュールであるか否かを判定する第１のステップと、第１のステップにおいて組み込み可能と判定した追加機能モジュールの一覧画面を表示手段に表示する第２のステップとを有することを特徴とする。
【０００９】
また、本発明によるプログラムは、請求項５〜８に記載の情報処理方法を情報処理装置に実行させるためのプログラムである。
【発明の効果】
【００１０】
以上により、本発明による情報処理装置、情報処理方法及びそのプログラムは、組み込み可能（インストール可能）な追加機能モジュール（プラグインモジュール）を表示することができるので、利用者はプラグインモジュールのインストールを効率的に行うことができる。
【発明を実施するための最良の形態】
【００１１】
以下添付図面を参照して本発明の好適な実施形態について詳細に説明する。
図１は、本発明の一実施形態における情報処理装置を含むプリンタ制御システムの構成を説明するブロック図である。なお、尚、一実施形態として印刷処理システムを示しているが、この限りではなく、単体の機器であっても、複数の機器からなるシステムであっても、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等のネットワークを介して接続が為され処理が行われるシステムであってもよく、プリンタドライバを実行できる環境であればよい。
【００１２】
図１において、３０００はホストコンピュータ（情報処理装置）であり、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）３のプログラム用ＲＯＭあるいは外部メモリ１１に記憶された文書処理プログラム等に基づいて図形、イメージ、文字、表（表計算等を含む）等が混在した文書処理を実行するＣＰＵ（中央演算装置）１を備え、システムバス４に接続される各デバイスをＣＰＵ１が総括的に制御する。また、このＲＯＭ３のプログラム用ＲＯＭあるいは外部メモリ１１には、ＣＰＵ１の制御プログラムであるオペレーティングシステムプログラム（ＯＳ）等を記憶し、ＲＯＭ３のフォント用ＲＯＭあるいは外部メモリ１１には上記文書処理の際に使用するフォントデータ等を記憶し、ＲＯＭ３のデータ用ＲＯＭあるいは外部メモリ１１には上記文書処理等を行う際に使用する各種データを記憶する。２は、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）であり、ＣＰＵ１の主メモリ、ワークエリア等として機能する。
【００１３】
５は、キーボードコントローラ（ＫＢＣ）で、キーボード９や不図示のポインティングデバイスからの入力を制御する。６は、ＣＲＴコントローラ（ＣＲＴＣ）であり、ＣＲＴディスプレイ（ＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ））１０の表示を制御する。７は、ディスクコントローラ（ＤＫＣ）であり、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、プリンタドライバ等を記憶するハードディスク（ＨＤ）、フレキシブルディスク（ＦＤ）等の外部メモリ１１とのアクセスを制御する。
【００１４】
８は、プリンタコントローラ（ＰＲＴＣ）で、所定の双方向性インターフェース（インターフェース）２１を介してプリンタ１５００に接続されて、プリンタ１５００との通信制御処理を実行する。なお、ＣＰＵ１は、例えばＲＡＭ２上に設定された表示情報ＲＡＭへのアウトラインフォントの展開（ラスタライズ）処理を実行し、ＣＲＴ１０上でのＷＹＳＩＷＹＧ（Ｗｈａｔ  Ｙｏｕ  Ｓｅｅ  Ｉｓ  Ｗｈａｔ  Ｙｏｕ  Ｇｅｔ）を可能としている。また、ＣＰＵ１は、ＣＲＴ１０上の不図示のマウスカーソル等で指示されたコマンドに基づいて登録された種々のウインドウを開き、種々のデータ処理を実行する。ユーザは印刷を実行する際、印刷の設定に関するウインドウを開き、後述するプリンタ１５００に対する設定や、印刷モードの選択を含むプリンタドライバに対する印刷処理方法の設定を行える。
【００１５】
プリンタ１５００において、１２はプリンタＣＰＵであり、ＲＯＭ１３のプログラム用ＲＯＭに記憶された制御プログラム等あるいは外部メモリ１４に記憶された制御プログラム等に基づいてシステムバス１５に接続される印刷部（プリンタエンジン）１７に出力情報としての画像信号を出力する。また、このＲＯＭ１３のプログラムＲＯＭには、ＣＰＵ１２の制御プログラム等を記憶する。ＲＯＭ１３のフォント用ＲＯＭには、上記出力情報を生成する際に使用するフォントデータ等を記憶し、ＲＯＭ１３のデータ用ＲＯＭにはハードディスク等の外部メモリ１４がないプリンタ１５００の場合には、ホストコンピュータ３０００上で利用される情報等を記憶している。
【００１６】
ＣＰＵ１２は、入力部１８を介してホストコンピュータ３０００との通信処理が可能となっており、プリンタ１５００内の情報等をホストコンピュータ３０００に通知可能に構成されている。１９は、ＣＰＵ１２の主メモリ、ワークエリア等として機能するＲＡＭであり、図示しない増設ポートに接続されるオプションＲＡＭによりメモリ容量を拡張することができるように構成されている。なお、ＲＡＭ１９は、出力情報展開領域、環境データ格納領域、ＮＶＲＡＭ等に用いられる。
【００１７】
前述したハードディスク（ＨＤ）、ＩＣカード等である外部メモリ１４は、メモリコントローラ（ＭＣ）２０によりアクセスを制御される。外部メモリ１４は、オプションとして接続され、フォントデータ、エミュレーションプログラム、フォームデータ等を記憶する。また、１５０１は、操作パネルであり、操作のためのスイッチおよびＬＥＤ表示器等が配されている。また、前述した外部メモリ１４は１個に限らず、少なくとも１個以上備え、内蔵フォントに加えてオプションフォントカード、言語系の異なるプリンタ制御言語を解釈するプログラムを格納した外部メモリを複数接続できるように構成されていてもよい。さらに、図示しないＮＶＲＡＭを有し、操作パネル１５０１からのプリンタモード設定情報を記憶するようにしてもよい。
【００１８】
図２は、プリンタ等の印刷装置が直接接続されているか、あるいはネットワーク経由で接続されているホストコンピュータにおける典型的な印刷処理の構成図である。アプリケーション２０１、グラフィックエンジン２０２、プリンタドライバ２０３、およびシステムスプーラ２０４は、外部メモリ１１に保存されたファイルとして存在し、実行される場合にＯＳやそのモジュールを利用するモジュールによってＲＡＭ２にロードされ実行されるプログラムモジュールである。また、アプリケーション２０１およびプリンタドライバ２０３は、外部メモリ１１のＦＤや不図示のＣＤ−ＲＯＭ、あるいは不図示のネットワークを経由して外部ディスク１１のＨＤに追加することが可能となっている。外部メモリ１１に保存されているアプリケーション２０１はＲＡＭ２にロードされて実行されるが、このアプリケーション２０１からプリンタ１５００に対して印刷を行う際には、同様にＲＡＭ２にロードされ実行可能となっているグラフィックエンジン２０２を利用して出力（描画）を行う。
【００１９】
グラフィックエンジン２０２は、印刷装置ごとに用意されたプリンタドライバ２０３を同様に外部メモリ１１からＲＡＭ２にロードし、アプリケーション２０１の出力をプリンタドライバ２０３に設定する。そして、アプリケーション２０１から受け取るＧＤＩ（Ｇｒａｐｈｉｃ  Ｄｅｖｉｃｅ  Ｉｎｔｅｒｆａｃｅ）関数からＤＤＩ（Ｄｅｖｉｃｅ  Ｄｒｉｖｅｒ  Ｉｎｔｅｒｆａｃｅ）関数に変換して、プリンタドライバ２０３へＤＤＩ関数を出力する。プリンタドライバ２０３は、グラフィックエンジン２０２から受け取ったＤＤＩ関数に基づいて、プリンタが認識可能な制御コマンド、例えばＰＤＬ（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）に変換する。尚、本実施形態におけるプリンタドライバ２０３は、複数種類のページ記述言語（ＰＤＬ）に対応しており、複数種類のＰＤＬドライバを有する。変換されたプリンタ制御コマンドは、ＯＳによってＲＡＭ２にロードされたシステムスプーラ２０４を経てインターフェース２１経由でプリンタ１５００へ印刷データとして出力される仕組みとなっている。
【００２０】
図２に示した印刷処理の構成例は、本実施形態の一例である。ここで、他の構成例として、本実施形態の印刷システムにおいて、図２で示すプリンタ１５００とホストコンピュータ３０００からなる印刷システムの印刷処理の構成例に加えて、更に図３に示すように、アプリケーションからの印刷データを一旦中間コードデータでスプールする構成を有する構成例について説明する。
【００２１】
図３は、図２の印刷システムを拡張したもので、グラフィックエンジン２０２からプリンタドライバ２０３へ印刷命令を送る際に、一旦中間コードからなるスプールファイル３０３を生成する構成をとる。図２の印刷システムでは、アプリケーション２０１が印刷処理から開放されるのはプリンタドライバ２０３がグラフィックエンジン２０２からのすべての印刷命令をプリンタの制御コマンドへ変換し終った時点である。これに対して、図３の印刷システムでは、スプーラ３０２がすべての印刷命令を中間コードデータに変換し、スプールファイル３０３に出力した時点である。通常、後者の方が短時間で済む。また、図３で示すシステムにおいては、スプールファイル３０３の内容に対して加工することができる。これによりアプリケーションからの印刷データに対して、拡大縮小や、複数ページを１ページに縮小して印刷する等、アプリケーションの持たない機能を実現する事ができる。
【００２２】
これらの目的のために、図２の印刷システムに対し、図３の様に中間コードデータでスプールすることができるよう、印刷システムの拡張がなされてきている。なお、印刷データの加工を行うためには、通常プリンタドライバ２０３が提供するウインドウから設定を行い、プリンタドライバ２０３がその設定内容をＲＡＭ２上あるいは外部メモリ１１上に保管する。
【００２３】
以下、図３の詳細を説明する。図に示す通り、この拡張された処理方式では、グラフィックエンジン２０２からの印刷命令をディスパッチャ３０１が受け取る。ディスパッチャ３０１がグラフィックエンジン２０２から受け取った印刷命令が、アプリケーション２０１からグラフィックエンジン２０２へ発行された印刷命令の場合には、ディスパッチャ３０１は外部メモリ１１に格納されているスプーラ３０２をＲＡＭ２にロードし、プリンタドライバ２０３ではなくスプーラ３０２へ印刷命令を送付する。
【００２４】
スプーラ３０２は受け取った印刷命令を中間コードに変換してスプールファイル３０３に出力する。また、スプーラ３０２は、プリンタドライバ２０３に対して設定されている印刷データに関する加工設定をプリンタドライバ２０３から取得してスプールファイル３０３に保存する。なお、スプールファイル３０３は外部メモリ１１上にファイルとして生成するが、ＲＡＭ２上に生成されても構わない。更にスプーラ３０２は、外部メモリ１１に格納されているスプールファイルマネージャ３０４をＲＡＭ２にロードし、スプールファイルマネージャ３０４に対してスプールファイル３０３の生成状況を通知する。その後、スプールファイルマネージャ３０４は、スプールファイル３０３に保存された印刷データに関する加工設定の内容に従って印刷を行えるか判断する。
【００２５】
スプールファイルマネージャ３０４がグラフィックエンジン２０２を利用して印刷を行えると判断した際には、外部メモリ１１に格納されているデスプーラ３０５をＲＡＭ２にロードし、デスプーラ３０５に対して、スプールファイル３０３に記述された中間コードの印刷処理を行うように指示する。
【００２６】
デスプーラ３０５は、スプールファイル３０３に含まれる中間コードをスプールファイル３０３に含まれる加工設定の内容に従って加工し、もう一度グラフィックエンジン２０２経由でディスパッチャ３０１へ出力する。
【００２７】
ディスパッチャ３０１がグラフィックエンジン２０２から受け取った印刷命令がデスプーラ３０５からグラフィックエンジン２０２へ発行された印刷命令の場合には、ディスパッチャ３０１はスプーラ３０２ではなく、プリンタドライバ２０３にその印刷命令を送る。プリンタドライバ２０３は、プリンタ制御コマンドを生成し、システムスプーラ２０４経由でプリンタ１５００に出力する。
【００２８】
次に、プリンタドライバにおけるプラグインモジュールを組み込んだ場合の機能構成について説明する。
図４は、システム４２０から呼び出される時の、プリンタドライバの機能構成を示した図である。プリンタドライバは、基本的にはコアモジュール４０１と１個以上のプラグインモジュール４１ｘ（ｘ＝０、１、２、…）で構成される。
【００２９】
コアモジュール４０１は、システム４２０や不図示のアプリケーションから直接呼び出されるモジュールであり、基本的な印刷設定処理や印刷実行処理を行う。また、プラグインモジュール４１ｘは、特定の処理を行う差し替え可能な機能モジュールであり、必要に応じてコアモジュール４０１からインターフェース４０２を通して呼び出される。尚、プラグインモジュール４１ｘは、インストーラからインストールされるものであり、これによりプリンタドライバの機能の追加や更新を行うことができる。
【００３０】
コアモジュール４０１がプラグインモジュール４１ｘを呼び出すときの呼び出し方としては、例えば、「インターフェース固定方式」、「インターフェース登録方式」、「ＣＯＭの使用」などが考えられる。
【００３１】
インターフェース固定方式は、それぞれの機能を呼び出すときのファイル名や関数名、引数等を規定しておく方式である。コアモジュール４０１はそれぞれの機能を必要としたときに、各規定に従って拡張機能モジュール４１ｘを呼び出し、合致したものがあればその処理を利用する。プラグインモジュール４１ｘは、各規定に則った作成を行うことになる。
【００３２】
インターフェース登録方式は、それぞれの機能を呼び出すときのファイル名や関数名をインターフェース４０２に登録しておく方式である。コアモジュール４０１はそれぞれの機能を必要としたときに、インターフェース４０２に登録されているインターフェースを用いてプラグインモジュール４１ｘを呼び出す。プラグインモジュール４１ｘは、任意のファイル名や関数名を使って提供することができ、他のプラグインモジュールとの混在が可能となる。また、既存のプリンタドライバセットにプラグインモジュール４１ｘをプラグインする際は、インストーラはインターフェース登録機能（Ｉｎｔｅｒｆａｃｅ  Ｒｅｇｉｓｔｒａｔｉｏｎ）４０３を通してインターフェース４０２への登録や更新を行う。
【００３３】
ＣＯＭの使用は、それぞれの機能を呼び出すときの形式はあらかじめ規定しておき、拡張機能のプラグインはＣＯＭコンポーネントとしてシステム４２０に登録する方式である。ＣＯＭの特徴であるロケーションの透過性から、プラグインモジュールの実体をプリントサーバに持つことなども可能となる。
【００３４】
上述したような種々の方式を取ることで、プラグインモジュール４１ｘの呼び出し、及び追加や差し替えを可能とする。ただしここで挙げた呼び出し方法は一例であって、これらに限定するものではない。
【００３５】
なお、図４に示すインターフェース４０２は、コアモジュール４０１の一部として機能しても良いし、独立したモジュールであっても構わない。同様に、インターフェース登録機能４０３も、コアモジュール４０１と一体であってもいいし、独立していても構わない。また、コアモジュール４０１は、複数種類のＰＤＬドライバを有する。
【００３６】
また、コアモジュール４０１がプラグインモジュール４１ｘの呼び出しに失敗した場合、すなわち該当するプラグインモジュールが存在しなかった場合は、コアモジュール４０１にてコモン処理を行うか、若しくは該当する機能処理をスキップして処理を進める。
【００３７】
また、コアモジュール４０１とプラグインモジュール４１ｘとの機能の切り分けは、自由に設計できるものとする。例えば、基本となるコモン処理はコアモジュールで行い、特定の個別機能（地紋機能、トリマなどのフィニッシング処理、章紙合紙機能、ＵＩ等）のみをプラグインモジュールとして独立させることも可能であるし、あるいはコアモジュールはシステムからの呼び出しのみを処理するラッパー（Ｗｒａｐｐｅｒ）とし、処理全体の流れを管理する部分すらプラグインモジュールに置くことも可能である。以後の実施例では、いろいろなレベルでの切り分けを想定して説明する。
【００３８】
なお、以上説明した仕組みは、プリンタドライバという枠に限ったものではなく、他のユーティリティを含めたプリンティングシステムにも適用できるし、さらにはプリンティングシステム以外の他のシステムにも適用可能であることはいうまでもない。
【００３９】
次に、プリンタドライバにプラグインモジュールをプラグインする具体例について説明する。
図５は、プラグインモジュールをプラグインする具体例を示した図である。図５に示すように、「地紋ｖ１．０」、「トリマｖ１．０」がプラグインされたプリンタドライバセット５０１に対して、インストーラから、「地紋ｖ２．０」と「章紙合紙ｖ１．０」の２つのプラグインモジュール５０２をプラグインした場合について説明する。上記のようなプラグインを行うことで、プラグイン後のプリンタドライバセット５０３においては、「地紋ｖ１．０」は「地紋ｖ２．０」で上書きされている。ここで、「地紋ｖ２．０」は、既存の「地紋ｖ１．０」と同じインターフェースを持っており、プラグインによって「地紋ｖ１．０」と差し替えられる。また「章紙合紙ｖ１．０」は、相当する既存のプラグインモジュールがないので新規に追加される。そして、プラグインの結果として、プリンタドライバセット５０３のような構成となる。
【００４０】
次に、本実施形態におけるホストコンピュータ３０００におけるプラグインをインストールする際の動作について説明する。
図６は、本実施形態におけるホストコンピュータ３０００におけるプラグインをインストールする際の動作を示すフロー図である。図６に示すように、まず、インストーラが起動されると、ステップ６０１において、ＣＰＵ１は、コンピュータのレジストリに登録されているプリンタドライバとして含まれる複数種類のＰＤＬドライバの種類と、そのバージョン検索を行う。当然であるが、ここでの検索範囲は、本プラグインに対応したＰＤＬドライバだけであり、例えば、ＰＤＬドライバの先頭の名称などから、必要なＰＤＬドライバの判断を行う。
【００４１】
ここで、インストールできるプラグインモジュールに対応したＰＤＬドライバが検索されなかった場合（ステップ６０２のＮＯ）には、ＣＰＵ１は、「プラグインモジュールに対応したプリンタドライバがインストールされていませんでした」といった意味合いのエラーメッセージをＣＲＴ１０に表示して、インストーラを強制終了する（ステップ６０７）。
【００４２】
また、検索した結果、対象となるＰＤＬドライバが見つかった場合（ステップ６０２のＹＥＳ）には、ステップ６０３に進み、ＣＰＵ１は、検索されたＰＤＬドライバにプラグインモジュールがインストールされているかどうかの確認を行う。次に、ステップ６０４に進み、ＣＰＵ１は、インストーラが保持しているＰＤＬドライバ別のプラグインモジュールの対応管理表を参照して、インストール可能なプラグインモジュールを決定する。ここで、対応管理表とは、例えば、図７に示すような表であり、各ＰＤＬドライバが、どのバージョン以降なら、どのプラグインモジュールがインストール可能であるか否かについて記載されている。ステップ６０４においては、ステップ６０２で検索されたプリンタドライバのバージョン情報を参考にしながら、インストール可能なプラグインモジュールを判断する。次に、ステップ６０４でプラグイン可能と判断したプラグインモジュールに関する情報を、ＣＰＵ１は、インストーラの画面としてＣＲＴ１０に表示する（ステップ６０５）。
【００４３】
図７は、インストーラが保持しているＰＤＬドライバ別のプラグインモジュールの対応管理表例を示す図である。図７に示すように、複数種類のＰＤＬドライバとして、「ＰＣＬ  ｄｒｉｖｅｒ」、「ＬＩＰＳ  ｄｒｉｖｅｒ」、「ＰＳ  ｄｒｉｖｅｒ」、「Ｒａｓｔｅｒ  ｄｒｉｖｅｒ」、「Ｆａｘ  Ｄｒｉｖｅｒ」があり、夫々に対して、インストーラがインストール対象としている地紋機能のプラグイン、トリマ機能のプラグイン、章紙／合紙機能のプラグインをインストール可能なバージョンに関する情報が示されている。尚、どのバージョンであってもインストール不可能である場合には「×」となっている。
【００４４】
ここで、図７に示した対応管理表を利用して、具体例を２例あげてステップ６０１〜６０５について説明する。
１例目として、本実施形態のホストコンピュータ３０００に、ＰＤＬドライバとして、「ＰＣＬ  ｄｒｉｖｅｒ」のバージョンｖ４．２０と「ＰＳ  Ｄｒｉｖｅｒ」のバージョンｖ３．１０がインストールされているとする。まず、ステップ６０１〜６０３により、ＣＰＵ１は、ＰＤＬドライバとして、「ＰＣＬ  ｄｒｉｖｅｒ」と「ＰＳ  Ｄｒｉｖｅｒ」を検索する。次に、ステップ６０４において、検索した「ＰＣＬ  ｄｒｉｖｅｒ」のバージョンｖ４．２０と、図７の対応管理表を比較して、「ＰＣＬ  Ｄｒｉｖｅｒ」には、地紋機能、トリマ機能、章紙／合紙機能のプラグインモジュールが対応していると判断する。同様に、「ＰＳ  Ｄｒｉｖｅｒ」のバージョンｖ３．１０と、図７の対応管理表を比較して、「ＰＳ  Ｄｒｉｖｅｒ」には、地紋機能、章紙／合紙機能が対応していると判断する。
【００４５】
このステップ６０４の判断結果を基に、ステップ６０５において、ＣＰＵ１は、インストーラのＵＩ（ユーザインターフェース）の画面をＣＲＴ１０に表示する。図８−１は、本具体例の場合のステップ６０５でインストーラの初期画面としてＣＲＴ１０に表示されるＵＩの画面例を示す図である。図８−１に示すように、インストーラ画面８０１には、インストール済みのＰＤＬドライバの名称として、「ＰＣＬ  ｄｒｉｖｅｒ  ｖ４．２０」と「ＰＳ  Ｄｒｉｖｅｒ  ｖ３．１０」が表示され、各名称の下にプラグイン可能な機能が表示される表示エリアが設けられている。図８−１においては、「ＰＣＬ  ｄｒｉｖｅｒ  ｖ４．２０」の下の機能表示エリア８０２には、ステップ６０４で対応可能と判断された地紋機能、トリマ機能及び章紙／合紙機能が表示され、各機能名の前には各機能をインストールするかどうかを選択させる為のチェックボックスが設けられている。同様に、「ＰＳ  Ｄｒｉｖｅｒ  ｖ３．１０」の下の機能表示エリア８０３には、ステップ６０４で対応可能と判断された地紋機能及び章紙／合紙機能がチェックボックスとともに表示されている。
【００４６】
次に、２例目として、本実施形態のホストコンピュータ３０００に、ＰＤＬドライバとして、「ＰＣＬ  ｄｒｉｖｅｒ」のバージョンｖ４．２０、「ＰＳ  Ｄｒｉｖｅｒ」のバージョンｖ３．００、「Ｒａｓｔｅｒ  ｄｒｉｖｅｒ」のバージョンｖ３．２０及び「Ｆａｘ  ｄｒｉｖｅｒ」のバージョンｖ１．００がインストールされているとする。まず、ステップ６０１〜６０３により、ＣＰＵ１は、ＰＤＬドライバとして、「ＰＣＬ  ｄｒｉｖｅｒ」、「ＰＳ  Ｄｒｉｖｅｒ」、「Ｒａｓｔｅｒ  ｄｒｉｖｅｒ」及び「Ｆａｘ  ｄｒｉｖｅｒ」を検索する。次に、ステップ６０４において、検索した「ＰＣＬ  ｄｒｉｖｅｒ」のバージョンｖ４．２０と、図７の対応管理表を比較して、「ＰＣＬ  Ｄｒｉｖｅｒ」には、地紋機能、トリマ機能及び章紙／合紙機能のプラグインモジュールが対応していると判断する。同様に、「ＰＳ  Ｄｒｉｖｅｒ」のバージョンｖ３．００と、図７の対応管理表を比較して、「ＰＳ  Ｄｒｉｖｅｒ」には、章紙／合紙機能が対応していると判断する。同様に、「Ｒａｓｔｅｒ  ｄｒｉｖｅｒ」のバージョンｖ３．２０と、図７の対応管理表を比較して、「Ｒａｓｔｅｒ  Ｄｒｉｖｅｒ」には、地紋機能及び章紙／合紙機能が対応していると判断する。同様に、「Ｆａｘ  ｄｒｉｖｅｒ」のバージョンｖ１．００と、図７の対応管理表を比較して、「Ｆａｘ  Ｄｒｉｖｅｒ」には、どの機能も対応していないと判断する。
【００４７】
このステップ６０４の判断結果を基に、ステップ６０５において、ＣＰＵ１は、インストーラのＵＩの画面をＣＲＴ１０に表示する。図８−２は、本具体例の場合のステップ６０５でインストーラの初期画面としてＣＲＴ１０に表示されるＵＩの画面例を示す図である。図８−２に示すように、インストーラ画面８０５には、インストール済みのＰＤＬドライバの名称として、「ＰＣＬ  ｄｒｉｖｅｒ  ｖ４．２０」、「ＰＳ  Ｄｒｉｖｅｒ  ｖ３．００」、「Ｒａｓｔｅｒ  ｄｒｉｖｅｒ  ｖ３．２０」及び「Ｆａｘ  Ｄｒｉｖｅｒ  ｖ１．００」が表示され、各名称の下にプラグイン可能な機能が表示される表示エリアが設けられている。図８−２においては、「ＰＣＬ  ｄｒｉｖｅｒ  ｖ４．２０」の下の機能表示エリア８０６には、ステップ６０４で対応可能と判断された地紋機能、トリマ機能及び章紙／合紙機能が表示され、各機能名の前には各機能をインストールするかどうかを選択させる為のチェックボックスが設けられている。同様に、「ＰＳ  Ｄｒｉｖｅｒ  ｖ３．００」の下の機能表示エリア８０７には、ステップ６０４で対応可能と判断された章紙／合紙機能がチェックボックスとともに表示されている。同様に、「Ｒａｓｔｅｒ  ｄｒｉｖｅｒ  ｖ３．２０」の下の機能表示エリア８０８には、ステップ６０４で対応可能と判断された地紋機能及び章紙／合紙機能がチェックボックスとともに表示されている。
【００４８】
尚、図８−１、図８−２で示すように、チェックボックスがすべてオンになっている。これは、インストーラの初期場面では、「インストール可能なプラグインモジュールは全てインストールする」がデフォルトになっているためである。ここで、インストールしないを選択することも可能である。また、本実施形態では、全てのプラグインモジュールをインストールすることをデフォルトにしているが、一部のプラグインモジュールだけをデフォルトでインストールするようにしてもよい。例えば、章紙合紙の機能はよく使われるが、地紋はあまりつかわれないということであれば、インストーラのデフォルトは、章紙／合紙はオン、地紋はオフとしてもよい。
【００４９】
図８−１または図８−２に示したようなＵＩにより、インストールするプラグインモジュールが決定されると、ステップ６０６において、ＣＰＵ１は、それらのプラグインモジュールのインストールを実行する。これにより、プラグインモジュール（Ｒｅｎｄｅｒ、ＵＩ、管理ファイル等）が指定のディレクトリにインストールされる。ここで、複数種類のＰＤＬドライバが、同じプラグインモジュールをインストールする場合でも、インストールされるプラグインモジュールは１つだけで、ドライバとの関連付けは、レジストリに書き込まれた情報を基に行う。
【００５０】
なお、プリンタドライバは、一度印刷が行われると、システムやアプリケーションによってロードされたままになるので、そのままでは置き換えができず、更新にはリブートが必要になるが、本実施形態では、コアモジュールがロードされ続けたとしても、プラグインモジュールの追加は可能なので、システムやアプリケーションの影響を受けずに、リブートなしでプリンタドライバセットに対して機能追加（プラグインのインストール）作業が進められる。つまり、プラグインモジュールのみをプラグインすることによって、プリンタドライバの機能追加を、容易に行うことができるようになる。
【００５１】
以上のように、プラグインモジュールをインストールする際に、インストーラが、各々のプラグインモジュールが、どのページ記述言語に対応しているか、また、どのバージョン以降なら使用可能かを記載したテーブル（図７の対応管理表）を持つことによって、正しいプラグインモジュールを、正しいＰＤＬドライバに対して、容易にインストールすることが可能となる。
【００５２】
[他の実施形態１]
上述した実施形態では、プラグインモジュールをプリンタドライバにプラグインする場合について述べたが、これをアプリケーションにプラグインする場合に当てはめてもよい。以下に、他の実施形態として、アプリケーションに対してプラグインモジュールをインストールする場合について説明する。例えば、「スキャナーから画像を読み取る機能」、「作成した原稿をインターネットメールでメール配信する機能」を提供するプラグインモジュールがあったとする。ここで、これらのプラグインモジュールをプラグインするインストーラが起動されると、インストーラが保持しているアプリケーション別プラグインモジュールの対応管理表から、プラグイン可能なプラグインモジュールを判断して、インストーラの画面にその結果を表示する。この対応管理表には、どのバージョン以降のアプリケーションなら、どのプラグインモジュールがインストール可能か、が記載されており、検索されたアプリケーションのバージョン情報を参考にしながら、インストール可能なプラグインモジュールを判断する。
【００５３】
以下に、具体例を示して更に説明する。例えば、アプリケーションＡは、「スキャナーから画像を読み取る機能」がプラグイン可能で、アプリケーションＢは、「スキャナーから画像を読み取る機能」と「作成した原稿をインターネットメールでメール配信する機能」のプラグインが可能で、アプリケーションＣは、どのプラグインモジュールにも対応していない場合に、上述した対応管理表を持つインストーラが実行されると、以下の判断結果となる。アプリケーションＡには、「スキャナーから画像を読み取る機能」がプラグイン可能と判断され、アプリケーションＢには、「スキャナーから画像を読み取る機能」及び「作成した原稿をインターネットメールでメール配信する機能」がプラグイン可能と判断され、アプリケーションＣには、プラグイン可能な機能は無いと判断される。そして、その判断結果を示すインストーラの初期画面がＣＲＴ１０に表示される。
【００５４】
[他の応用例]
上述した実施形態では、プラグインモジュールを、プリンタドライバに追加プラグインする場合について述べたが、インストーラが持っているプラグインモジュールが、コンピュータにインストール済みのプラグインモジュールより新しかった場合には、新しいものに更新するということを行ってもよい。
【００５５】
まず、プラグインモジュール用のインストーラを起動すると、インストール済みのプラグインモジュールの種類と、そのバージョン検索を行う。もし、このとき、対応するプラグインモジュールが検索されなかった場合には、「プラグインモジュールはインストールされていませんでした」といった意味合いのエラーメッセージを表示して、新規プラグインモジュールのインストール画面に移行する。検索した結果、対象となるプラグインモジュールが見つかった場合には、検索されたプラグインモジュールのバージョン情報を取得する。
【００５６】
次に、インストーラが保持しているプラグインモジュール別のバージョン情報の対応管理表から、更新可能なプラグインモジュールと、新規にインストール可能なプラグインモジュールを判断して、インストーラの画面にその結果を表示する。例えば、地紋ｖ１．００と章紙／合紙ｖ２．００のプラグインモジュールがインストールされているホストコンピュータ３０００において、地紋ｖ３．００と、トリマｖ２．００、章紙／合紙ｖ２．００のプラグインモジュールが組み込まれたインストーラを起動すると、地紋のプラグインモジュールがｖ３．００に更新され、トリマｖ２．００が新規にインストールされる。
【００５７】
なお、プリンタドライバは、一度印刷が行われると、システムやアプリケーションによってロードされたままになるので、そのままでは置き換えができず、更新にはリブートが必要になるが、本実施形態では、コアモジュールがロードされ続けたとしても、プラグインモジュールの更新は可能なので、システムやアプリケーションの影響を受けずに、リブートなしでプリンタドライバセットの更新作業が進められる。
【００５８】
以上のように、プラグインモジュールを更新する際に、各々のプラグインモジュールのバージョン情報を検索することによって、どのプラグインモジュールは更新すべきか、どのプラグインモジュールは新規にインストールすべきかを、容易に判断することが可能になる。
【００５９】
また、上述した実施形態では、ホストコンピュータ３０００の機能を実現する為のプログラムをメモリに読み込んでＣＰＵが実行することによりその機能を実現させるものであったが、この限りではなく、各処理の全部または一部の機能を専用のハードウェアにより実現してもよい。また、上述したメモリは、光磁気ディスク装置、フラッシュメモリ等の不揮発性のメモリや、ＣＤ−ＲＯＭ等の読み出しのみが可能な記録媒体、ＲＡＭ以外の揮発性のメモリ、あるいはこれらの組み合わせによるコンピュータ読み取り、書き込み可能な記録媒体より構成されてもよい。
【００６０】
また、ホストコンピュータ３０００において各種処理を行う機能を実現する為のプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより各処理を行っても良い。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。
【００６１】
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発メモリ（ＲＡＭ）のように、一定時間プログラムを保持しているものも含むものとする。
【００６２】
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。
【００６３】
また、上記プログラムは、前述した機能の一部を実現する為のものであっても良い。さらに、前述した機能をコンピュータシステムに既に記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【００６４】
また、上記のプログラムを記録したコンピュータ読み取り可能な記録媒体等のプログラムプロダクトも本発明の実施形態として適用することができる。上記のプログラム、記録媒体、伝送媒体およびプログラムプロダクトは、本発明の範疇に含まれる。
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【図面の簡単な説明】
【００６５】
【図１】本発明の一実施形態における情報処理装置を含むプリンタ制御システムの構成を説明するブロック図である。
【図２】プリンタとホストコンピュータにおける典型的な印刷処理の構成図である。
【図３】本実施形態におけるプリンタ１５００とホストコンピュータ３０００における印刷処理の構成図である。
【図４】システム４２０から呼び出される時の、プリンタドライバの機能構成を示した図である。
【図５】プラグインモジュールをプラグインする具体例を示した図である。
【図６】本実施形態におけるホストコンピュータ３０００におけるプラグインをインストールする際の動作を示すフロー図である。
【図７】インストーラが保持しているＰＤＬドライバ別のプラグインモジュールの対応管理表例を示す図である。
【図８−１】１例目のステップ６０５でインストーラの初期画面としてＣＲＴ１０に表示されるＵＩの画面例を示す図である。
【図８−２】２例目のステップ６０５でインストーラの初期画面としてＣＲＴ１０に表示されるＵＩの画面例を示す図である。
【符号の説明】
【００６６】
１        ＣＰＵ
２        ＲＡＭ
３        ＲＯＭ
６        ＣＲＴＣ
１０      ＣＲＴ
８０１、８０５  インストーラ画面
８０２〜８０３、８０６〜８０８  機能表示エリア
１５００  プリンタ
３０００  ホストコンピュータ
【図１】
2005173701.tif 000003
【図２】
2005173701.tif 000004
【図３】
2005173701.tif 000005
【図４】
2005173701.tif 000006
【図５】
2005173701.tif 000007
【図６】
2005173701.tif 000008
【図７】
2005173701.tif 000009
【図８−１】
2005173701.tif 000010
【図８−２】
2005173701.tif 000011