(57)【要約】【課題】ユーザとの間で情報の入力または出力を行う機能をプラグインモジュールによりデバイスドライバ装置に容易に追加できるようにする。【解決手段】印刷制御システム１では、ドライバプラグインモジュール２２が、文書のページを排出する排紙トレイをユーザに問い合わせるためのポップアップをディスプレイ７に表示すべき旨の命令をモニタプラグインモジュール３２に送り、モニタプラグインモジュール３２がこの命令を受け取って当該ポップアップをディスプレイ７に表示する。そして、ユーザが排紙トレイを選択したときには、ユーザによる選択入力をモニタプラグインモジュール３２が直接受け取り、この選択入力をドライバプラグインモジュール２２に送り、ドライバプラグインモジュール２２が、モニタプラグインモジュール３２から送られた選択入力に基づいて描画命令を生成する。【選択図】図１
2010092385.tif 000002
【特許請求の範囲】
【請求項１】
命令出力装置から出力された被制御装置を制御するための第１の制御命令を、前記被制御装置に適合した第２の制御命令に変換し、または前記第１の制御命令に基づいて前記第２の制御命令を生成するデバイスドライバ装置と、
ユーザとの間で情報の入出力を行う入出力装置に前記被制御装置の状態を出力するステータスモニタ装置と、
前記デバイスドライバ装置の機能を拡張するドライバプラグインモジュールと、
前記ステータスモニタ装置の機能を拡張するモニタプラグインモジュールとを備え、
前記ドライバプラグインモジュールは、ユーザに対して出力すべき出力情報またはこの出力情報をユーザに対して出力すべき旨の命令を含む第１の伝達情報を前記モニタプラグインモジュールに送る第１の情報送出手段を備え、
前記モニタプラグインモジュールは、前記ドライバプラグインモジュールから送られた第１の伝達情報を受け取り、この第１の伝達情報に基づいて、前記出力情報を前記入出力装置に出力する情報出力手段を備えていることを特徴とする制御システム。
【請求項２】
前記モニタプラグインモジュールは、ユーザにより入力された入力情報を含む第２の伝達情報を前記ドライバプラグインモジュールに送る第２の情報送出手段を備え、
前記ドライバプラグインモジュールは、前記モニタプラグインモジュールから送られた第２の伝達情報を受け取る情報受取手段を備え、
前記デバイスドライバ装置または前記ドライバプラグインモジュールは、前記情報受取手段により受け取られた第２の伝達情報に含まれる前記入力情報に基づいて、前記第１の制御命令の前記第２の制御命令への変換、または前記第２の制御命令の生成を行うことを特徴とする請求項１に記載の制御システム。
【請求項３】
命令出力装置から出力された被制御装置を制御するための第１の制御命令を、前記被制御装置に適合した第２の制御命令に変換し、または前記第１の制御命令に基づいて前記第２の制御命令を生成するデバイスドライバ装置と、
ユーザとの間で情報の入出力を行う入出力装置に前記被制御装置の状態を出力するステータスモニタ装置とを備え、
前記デバイスドライバ装置は、ユーザに対して出力すべき出力情報またはこの出力情報をユーザに対して出力すべき旨の命令を含む第１の伝達情報を前記ステータスモニタ装置に送る第１の情報送出手段を備え、
前記ステータスモニタ装置は、前記デバイスドライバ装置から送られた第１の伝達情報を受け取り、この第１の伝達情報に基づいて、前記出力情報を前記入出力装置に出力する情報出力手段を備えていることを特徴とする制御システム。
【請求項４】
前記ステータスモニタ装置は、ユーザにより入力された入力情報を含む第２の伝達情報を前記デバイスドライバ装置に送る第２の情報送出手段を備え、
前記デバイスドライバ装置は、前記ステータスモニタ装置から送られた第２の伝達情報を受け取る情報受取手段を備え、
前記デバイスドライバ装置は、前記情報受取手段により受け取られた第２の伝達情報に含まれる前記入力情報に基づいて、前記第１の制御命令の前記第２の制御命令への変換、または前記第２の制御命令の生成を行うことを特徴とする請求項３に記載の制御システム。
【請求項５】
命令出力装置から出力された被制御装置を制御するための第１の制御命令を、前記被制御装置に適合した第２の制御命令に変換し、または前記第１の制御命令に基づいて前記第２の制御命令を生成するデバイスドライバ装置と、ユーザとの間で情報の入出力を行う入出力装置に前記被制御装置の状態を出力するステータスモニタ装置とを備えた制御システムにおける制御方法であって、
ユーザに対して出力すべき出力情報またはこの出力情報をユーザに対して出力すべき旨の命令を含む第１の伝達情報を前記デバイスドライバ装置から前記ステータスモニタ装置に送る第１の情報送出工程と、
前記ステータスモニタ装置において、前記デバイスドライバ装置から送られた第１の伝達情報を受け取り、この第１の伝達情報に基づいて、前記出力情報を前記入出力装置に出力する情報出力工程とを備えていることを特徴とする制御方法。
【請求項６】
ユーザにより入力された入力情報を含む第２の伝達情報を前記ステータスモニタ装置から前記デバイスドライバ装置に送る第２の情報送出工程と、
前記デバイスドライバ装置において、前記ステータスモニタ装置から送られた第２の伝達情報を受け取る情報受取工程と、
前記デバイスドライバ装置において、前記ステータスモニタ装置から受け取った第２の伝達情報に含まれる前記入力情報に基づいて、前記第１の制御命令を前記第２の制御命令に変換し、または前記第２の制御命令を生成する制御命令生成工程とを備えていることを特徴とする請求項５に記載の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、被制御装置を制御するデバイスドライバ装置および被制御装置の状態をモニタリングするステータスモニタ装置を備えた制御システム、およびこの制御システムにおける制御方法に関する。
【背景技術】
【０００２】
例えばパーソナルコンピュータに外部装置を接続してコンピュータシステムを構築する場合、外部装置を制御するためのデバイスドライバプログラムをパーソナルコンピュータにインストールする。例えば外部装置がプリンタであれば、プリンタドライバプログラムをパーソナルコンピュータにインストールする。パーソナルコンピュータにおいて、例えばワードプロセッサ、描画ソフトなどのアプリケーションにより作成した文書、画像などをプリンタにより印刷するときには、プリンタドライバが、アプリケーションから出力された描画命令などの制御命令を、プリンタに適合した制御命令（例えばページ記述言語による制御命令）に変換する。そして、プリンタドライバにより変換された制御命令がプリンタに出力され、これによりプリンタにより文書、画像などの印刷処理が行われる。
【０００３】
近年、デバイスドライバに、プラグインモジュールを追加して、デバイスドライバの機能を拡張する技術が開発されている（下記の特許文献１参照）。例えば、外部装置に新たなオプションを追加すると共に、この新たなオプションを制御するためのプラグインモジュールをデバイスドライバに追加する。これにより、外部装置の拡張に伴うデバイスドライバの拡張を容易に実現することができ、外部装置、ひいてはコンピュータシステムの拡張性、フレキシビリティを高めることができる。デバイスドライバにプラグインモジュールを追加することによりデバイスドライバの機能を拡張する技術は、このようなユーザにとってのメリットだけでなく、デバイスドライバの開発・製造のフレキシビリティを高めるという開発・製造者にとってのメリットもある。
【特許文献１】特許３７４５３４４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、プラグインモジュールによりデバイスドライバに追加したい機能の中に、ユーザとの間で情報の入出力を行う機能が含まれている場合、ユーザとの間で情報の入出力を行うための画面表示制御処理をプラグインモジュールにより行うことが望ましい。例えば、プラグインモジュールによりデバイスドライバに追加したい機能の中に、外部装置の制御を進める途中でユーザに対して何らかのガイダンスメッセージを表示する機能や、ユーザに対する問い合わせまたはユーザによる選択入力を求める機能が含まれている場合には、パーソナルコンピュータのディスプレイにポップアップを表示する画面表示制御処理をプラグインモジュールにより行うことが望まれる。
【０００５】
しかしながら、プラグインモジュールプログラムは、通常、付加的で小規模なプログラムである。このため、オペレーティングシステムが要求する画面表示制御に関する取り決めを遵守しながら、プラグインモジュールのみにより画面表示制御処理を実現することは容易ではない。また、デバイスドライバの本来的な機能は、アプリケーションから出力された制御命令を外部装置に適合した制御命令に変換することであるので、デバイスドライバは、通常、拡張性に富んだ画面表示制御機能を備えていない。このため、プラグインモジュールによりデバイスドライバが有する既存の画面表示制御機能を拡張することにより新たな画面表示制御処理を実現することも困難である。
【０００６】
本発明は例えば上述したような問題に鑑みなされたものであり、本発明の第１の課題は、ユーザとの間で情報の入力または出力を行う機能をプラグインモジュールによりデバイスドライバ装置に容易に追加することができる制御システムおよび制御方法を提供することにある。
【０００７】
本発明の第２の課題は、ユーザとの間で情報の入力または出力を行う機能をデバイスドライバ装置により容易に実現することができる制御システムおよび制御方法を提供することにある。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、本発明の第１の制御システムは、命令出力装置から出力された被制御装置を制御するための第１の制御命令を、前記被制御装置に適合した第２の制御命令に変換し、または前記第１の制御命令に基づいて前記第２の制御命令を生成するデバイスドライバ装置と、ユーザとの間で情報の入出力を行う入出力装置に前記被制御装置の状態を出力するステータスモニタ装置と、前記デバイスドライバ装置の機能を拡張するドライバプラグインモジュールと、前記ステータスモニタ装置の機能を拡張するモニタプラグインモジュールとを備え、前記ドライバプラグインモジュールは、ユーザに対して出力すべき出力情報またはこの出力情報をユーザに対して出力すべき旨の命令を含む第１の伝達情報を前記モニタプラグインモジュールに送る第１の情報送出手段を備え、前記モニタプラグインモジュールは、前記ドライバプラグインモジュールから送られた第１の伝達情報を受け取り、この第１の伝達情報に基づいて、前記出力情報を前記入出力装置に出力する情報出力手段を備えている。
【０００９】
上述した本発明の第１の制御システムにおいて、前記モニタプラグインモジュールは、ユーザにより入力された入力情報を含む第２の伝達情報を前記ドライバプラグインモジュールに送る第２の情報送出手段を備え、前記ドライバプラグインモジュールは、前記モニタプラグインモジュールから送られた第２の伝達情報を受け取る情報受取手段を備え、前記デバイスドライバ装置または前記ドライバプラグインモジュールは、前記情報受取手段により受け取られた第２の伝達情報に含まれる前記入力情報に基づいて、前記第１の制御命令の前記第２の制御命令への変換、または前記第２の制御命令の生成を行うことが望ましい。
【００１０】
上記課題を解決するために、本発明の第２の制御システムは、命令出力装置から出力された被制御装置を制御するための第１の制御命令を、前記被制御装置に適合した第２の制御命令に変換し、または前記第１の制御命令に基づいて前記第２の制御命令を生成するデバイスドライバ装置と、ユーザとの間で情報の入出力を行う入出力装置に前記被制御装置の状態を出力するステータスモニタ装置とを備え、前記デバイスドライバ装置は、ユーザに対して出力すべき出力情報またはこの出力情報をユーザに対して出力すべき旨の命令を含む第１の伝達情報を前記ステータスモニタ装置に送る第１の情報送出手段を備え、前記ステータスモニタ装置は、前記デバイスドライバ装置から送られた第１の伝達情報を受け取り、この第１の伝達情報に基づいて、前記出力情報を前記入出力装置に出力する情報出力手段を備えている。
【００１１】
上述した本発明の第２の制御システムにおいて、前記ステータスモニタ装置は、ユーザにより入力された入力情報を含む第２の伝達情報を前記デバイスドライバ装置に送る第２の情報送出手段を備え、前記デバイスドライバ装置は、前記ステータスモニタ装置から送られた第２の伝達情報を受け取る情報受取手段を備え、前記デバイスドライバ装置は、前記情報受取手段により受け取られた第２の伝達情報に含まれる前記入力情報に基づいて、前記第１の制御命令の前記第２の制御命令への変換、または前記第２の制御命令の生成を行うことが望ましい。
【００１２】
上記課題を解決するために、本発明の制御方法は、命令出力装置から出力された被制御装置を制御するための第１の制御命令を、前記被制御装置に適合した第２の制御命令に変換し、または前記第１の制御命令に基づいて前記第２の制御命令を生成するデバイスドライバ装置と、ユーザとの間で情報の入出力を行う入出力装置に前記被制御装置の状態を出力するステータスモニタ装置とを備えた制御システムにおける制御方法であって、ユーザに対して出力すべき出力情報またはこの出力情報をユーザに対して出力すべき旨の命令を含む第１の伝達情報を前記デバイスドライバ装置から前記ステータスモニタ装置に送る第１の情報送出工程と、前記ステータスモニタ装置において、前記デバイスドライバ装置から送られた第１の伝達情報を受け取り、この第１の伝達情報に基づいて、前記出力情報を前記入出力装置に出力する情報出力工程とを備えている。
【００１３】
上述した本発明の制御方法において、ユーザにより入力された入力情報を含む第２の伝達情報を前記ステータスモニタ装置から前記デバイスドライバ装置に送る第２の情報送出工程と、前記デバイスドライバ装置において、前記ステータスモニタ装置から送られた第２の伝達情報を受け取る情報受取工程と、前記デバイスドライバ装置において、前記ステータスモニタ装置から受け取った第２の伝達情報に含まれる前記入力情報に基づいて、前記第１の制御命令を前記第２の制御命令に変換し、または前記第２の制御命令を生成する制御命令生成工程とを備えることが望ましい。
【発明の効果】
【００１４】
上述した本発明の第１の制御システムによれば、ユーザとの間で情報の入力または出力を行う機能をプラグインモジュールによりデバイスドライバ装置に容易に追加することができる。
【００１５】
また、上述した本発明の第２の制御システムまたは制御方法によれば、ユーザとの間で情報の入力または出力を行う機能をデバイスドライバ装置により容易に実現することができる。
【発明を実施するための最良の形態】
【００１６】
以下、図面を参照しつつ、本発明の実施の形態について説明する。図１は、本発明の制御システムの実施形態である印刷制御システムを示している。図１に示すように、印刷制御システム１は、パーソナルコンピュータ２およびプリンタ３を備えている。プリンタ３には、オプションである増設排紙トレイが追加されており、これによりプリンタ３は複数の排紙トレイを備えている。パーソナルコンピュータ２とプリンタ３とは例えばコンピュータネットワーク４を介して相互に通信可能に接続されている。なお、印刷制御システム１において、パーソナルコンピュータ２に代えてサーバコンピュータなどの他の制御機器を用いることもでき、プリンタ３に代えて複合機などの他の印刷機能を備えた外部機器を用いることもできる。また、パーソナルコンピュータ２とプリンタ３との間の接続は、広域ネットワークでもよいし、ローカルエリアネットワークでもよいし、また、両者間をケーブルで直接接続してもよい。また、プリンタ３は被制御装置の具体例である。
【００１７】
パーソナルコンピュータ２は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、外部記憶装置、通信インタフェースなどを備えており（いずれも図示せず）、さらに、パーソナルコンピュータ２は、キーボード５、マウス６、ディスプレイ７などからなる入出力装置８を備えている。
【００１８】
パーソナルコンピュータ２の外部記憶装置には、オペレーティングシステムプログラム、文書作成アプリケーションプログラム、プリンタドライバプログラムおよびステータスモニタプログラムが記憶されている。パーソナルコンピュータ２のＣＰＵは、これらのプログラムを実行することにより、文書作成アプリケーション１０、プリンタドライバ２０、ステータスモニタ３０としてパーソナルコンピュータ２を機能させる。
【００１９】
文書作成アプリケーション１０は、文書（画像を含む）の作成・編集を行う機能を備えている。ユーザは文書作成アプリケーション１０を用いて、文書の作成・編集を行うことができる。また、ユーザが文書をプリンタ３で印刷する旨の指示を文書作成アプリケーション１０に入力すると、文書作成アプリケーション１０は、当該文書における文字や画像を描画するための描画命令を出力する。文書作成アプリケーション１０から出力された描画命令は描画機器インタフェース５１を介してプリンタドライバ２０に渡される。なお、文書作成アプリケーション１０は命令出力装置の具体例であり、文書作成アプリケーション１０から出力される描画命令は第１の制御命令の具体例である。
【００２０】
描画機器インタフェース５１は例えばＧＤＩ（Ｇｒａｐｈｉｃａｌ  Ｄｅｖｉｃｅ  Ｉｎｔｅｒｆａｃｅ）であり、オペレーティングシステムの一部である。
【００２１】
プリンタドライバ２０は、文書作成アプリケーション１０から出力され、描画機器インタフェース５１を介して渡された描画命令を、プリンタ３に適合した描画命令（例えばプリンタ３に適合するように開発されたページ記述言語により記述された描画命令であり、プリンタ３における排紙トレイの選択などといった描画に関連する制御命令をも含む。）に変換し、または、文書作成アプリケーション１０から出力され、描画機器インタフェース５１を介して渡された描画命令に基づいて、プリンタ３に適合した描画命令を生成する。なお、プリンタドライバ２０において変換または生成される描画命令は第２の制御命令の具体例である。
【００２２】
ステータスモニタ３０は、パーソナルコンピュータ２に接続されているプリンタ３の状態をモニタリングする。例えば、ステータスモニタ３０は、稼働中、節電モード、印刷用紙切れ、トナーまたはインクの残量など、プリンタ３の状態を示す情報をディスプレイ７に表示する。ステータスモニタ３０は、オペレーティングシステムが要求する画面表示制御に関する取り決めに従って、プリンタ３の状態を示すポップアップなどをディスプレイ７に表示することができる画面表示制御機能を備えている。また、ステータスモニタプログラムは常駐型プログラムであり、ステータスモニタ３０は、オペレーティングシステムの起動とほぼ同時に起動され、オペレーティングシステム（パーソナルコンピュータ２）が稼働している間、継続的に稼働している。
【００２３】
さらに、パーソナルコンピュータ２の外部記憶装置には、ドライバプラグインモジュールプログラムおよびモニタプラグインモジュールプログラムが記憶されている。これらのプログラムは、プリンタドライバ２０およびステータスモニタ３０の機能を拡張するために、ユーザが、プリンタドライバプログラムおよびステータスモニタプログラムとは別に追加的に外部記憶装置に記憶させたものである。パーソナルコンピュータ２のＣＰＵは、これらのプログラムを実行することにより、ドライバプラグインモジュール２２およびモニタプラグインモジュール３２としてパーソナルコンピュータ２を機能させる。
【００２４】
ドライバプラグインモジュール２２は、プリンタドライバ２０の機能を拡張するためのモジュールである。プリンタドライバ２０は、ドライバプラグインモジュール２２がなくても、上述したプリンタドライバ２０としての基本的な機能を完遂することができるが、ドライバプラグインモジュール２２を追加することにより、その機能を拡張することができる。ドライバプラグインモジュール２２により拡張することができる機能は様々であるが、本実施形態において、ドライブプラグインモジュール２２により拡張される機能はフレキシブル排紙トレイ選択機能である。フレキシブル排紙トレイ選択機能とは、ユーザが文書の印刷を開始する旨の指示を文書作成アプリケーション１０に入力した後に、プリンタドライバ２０がプリンタ３の印刷制御を進めている途中で、文書のページごとにプリンタ３における排紙トレイをユーザに選択させる機能である。なお、説明の便宜上、ドライバプラグインモジュール２２が追加される前からプリンタドライバ２０が備えている部分をドライバ本体２１という。
【００２５】
モニタプラグインモジュール３２は、ステータスモニタ３０の機能を拡張するためのモジュールである。ステータスモニタ３０は、モニタプラグインモジュール３２がなくても、上述したステータスモニタ３０としての基本的な機能を完遂することができるが、モニタプラグインモジュール３２を追加することにより、その機能を拡張することができる。モニタプラグインモジュール３２により拡張することができる機能は様々であるが、本実施形態において、モニタプラグインモジュール３２により拡張される機能は排紙トレイ選択入出力機能である。排紙トレイ選択入出力機能とは、ドライバプラグインモジュール２２がフレキシブル排紙トレイ選択機能に係る制御処理を行っている間に、文書のページを排出すべき排紙トレイをユーザに問い合わせるためのポップアップをディスプレイ７に表示させ、このポップアップを見ながらマウス６、キーボード５を操作してユーザが選択した排紙トレイをドライバプラグインモジュール２２に通信インタフェース５２を介して伝える機能である。なお、説明の便宜上、モニタプラグインモジュール３２が追加される前からステータスモニタ３０が備えている部分をモニタ本体３１という。
【００２６】
通信インタフェース５２は、オペレーティングシステムの一部を構成するＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍ  Ｉｎｔｅｒｆａｃｅ）であり、アプリケーション、デバイスドライバ、プラグインモジュールなど、オペレーティングシステム上で動作している装置（ソフトウェア）間における情報の伝達を担う。
【００２７】
図２はドライバプラグインモジュール２２の内部構造を示している。図２に示すように、ドライブプラグインモジュール２２は、情報通信部２３および命令生成部２４を備えている。これらの詳細については、後に図４を参照しつつ説明する。なお、情報通信部２３が第１の情報送出手段および情報受取手段の具体例である。
【００２８】
図３はモニタプラグインモジュール３２の内部構造を示している。図３に示すように、モニタプラグインモジュール３２は、情報通信部３３および入出力制御部３４を備えている。これらの詳細については、後に図４を参照しつつ説明する。なお、情報通信部３３が第２の情報送出手段の具体例であり、入出力制御部３４が情報出力手段の具体例である。
【００２９】
図４は、ドライバ本体２１、ドライバプラグインモジュール２２、モニタ本体３１およびモニタプラグインモジュール３２により行われるフレキシブル排紙トレイ選択制御処理を示している。フレキシブル排紙トレイ選択制御処理とは、上述したフレキシブル排紙トレイ選択機能を実現するための処理である。図５および図６はドライバプラグインモジュール２２とモニタプラグインモジュール３２との間でやり取りされる伝達情報の内容をそれぞれ示している。図７は、文書のページを排出すべき排紙トレイをユーザに問い合わせるためのポップアップを示している。
【００３０】
例えば、文書作成アプリケーション１０により作成し、または編集した文書をプリンタ３により印刷するために、ユーザが当該文書の印刷を開始する旨の指示を文書作成アプリケーション１０に入力すると、文書作成アプリケーション１０から描画機器インタフェース５１を介してプリンタドライバ２０に、当該文書の印刷画像を形成するための描画命令（プリンタ３における排紙トレイの選択などといった描画に関連する制御命令をも含む。）が出力される。そして、プリンタドライバ２０は、文書作成アプリケーション１０から出力された描画命令をプリンタ３に適合した描画命令に変換する処理、または文書作成アプリケーション１０から出力された描画命令に基づいてプリンタ３に適合した描画命令を生成する処理（以下、この処理を「描画命令変換処理」という。）を当該文書のページごとに行う。フレキシブル排紙選択制御処理は、各ページについての描画命令変換処理が開始されるときに実行される。
【００３１】
図４に示すように、当該文書の第１ページについて描画命令変換処理が開始されるとき、プリンタドライバ２０のドライバ本体２１が、ドライバプラグインモジュール２２を呼び出す（ステップＳ１）。
【００３２】
続いて、ドライバプラグインモジュール２２の情報通信部２３は、ユーザに対して出力すべき出力情報またはこの出力情報をユーザに対して出力すべき旨の命令を含む伝達情報をモニタプラグインモジュール３２に送る。具体的には、ドライバプラグインモジュール２２の情報通信部２３は、当該ページが印刷された用紙を排出すべき排紙トレイの番号をユーザに問い合わせる情報を示すポップアップをディスプレイ７に表示すべき旨の命令を含む伝達情報をモニタプラグインモジュール３２に送る（ステップＳ２）。
【００３３】
この伝達情報は、例えば図５に示すように、当該伝達情報の内容「ＴｒａｙＳｅｌｅｃｔ」を示す情報６１と、情報６１の長さを示す情報６２とから構成される。「ＴｒａｙＳｅｌｅｃｔ」とは、排紙トレイの番号をユーザに問い合わせる情報を示すポップアップをディスプレイ７に表示すべき旨の命令である。
【００３４】
続いて、モニタプラグインモジュール３２の情報通信部３３が、ドライバプラグインモジュール２２から送られた伝達情報を受け取る。
【００３５】
続いて、モニタプラグインモジュール３２の入出力制御部３４が、情報通信部３３により受け取られた伝達情報に基づいて、排紙トレイの番号をユーザに問い合わせる情報を示すポップアップを形成するための情報を生成、この情報をディスプレイ７に出力する（ステップＳ３）。これにより、ディスプレイ７にこのポップアップが表示される。このポップアップ中には、例えば図７に示すように、ユーザにより選択可能な複数の排紙トレイ番号を配列したプリダウンメニュー７１、排紙トレイ番号の選択をユーザに確定させるボタン７２などが配置されている。
【００３６】
ユーザが、マウス６またはキーボード５を操作し、ディスプレイ７に表示されたポップアップ中のプルダウンメニュー７１に配列された複数の排紙トレイ番号の中から、所望の排紙トレイ番号を選択し、ボタン７２をマウス６でクリックすると、ユーザが選択した排紙トレイ番号がモニタプラグインモジュール３２の入出力制御部３４に入力される。入出力制御部３４はこの入力を受け取る（ステップＳ４）。
【００３７】
続いて、モニタプラグインモジュール３２の情報通信部３３は、ユーザにより入力された入力情報、すなわち、ユーザにより選択された排紙トレイ番号を含む伝達情報を生成し、この伝達情報をドライバプラグインモジュール２２に送る（ステップＳ５）。
【００３８】
この伝達情報は、例えば図６に示すように、当該伝達情報の内容「２」を示す情報６３と、情報６３の長さを示す情報６４とから構成される。「２」とは、ユーザが選択した排紙トレイ（増設トレイ）の番号を示す。
【００３９】
続いて、ドライバプラグインモジュール２２の情報通信部２３が、モニタプラグインモジュール３２から送られた伝達情報を受け取り、命令生成部３４がこの伝達情報に含まれる排紙トレイ番号に基づいて描画命令（具体的には、プリンタ３において当該ページが印刷された用紙を、伝達情報に含まれる排紙トレイ番号が指し示す排紙トレイに排紙させる排紙制御命令）を生成する。この命令はドライバプラグインモジュール２２からドライバ本体２１に渡され（ステップＳ６）、ドライバ本体２１により変換または生成された他の描画命令に加えられ、プリンタ３に送信される。これにより、プリンタ３において、当該ページが印刷された用紙が、ユーザにより選択された排紙トレイに排紙される。
【００４０】
このようなフレキシブル排紙選択制御処理は、当該文書のページごとに繰り返し実行される。これにより、ユーザは当該文書のページごとに排紙トレイを変更することができる。
【００４１】
以上説明した通り、印刷制御システム１によれば、ユーザとの間で情報の入出力を行う機能、具体的には、文書のページを排出すべき排紙トレイをユーザに問い合わせ、ユーザによる排紙トレイの選択入力を受け取る機能を、ドライバプラグインモジュール２２およびモニタプラグインモジュール３２によりプリンタドライバ２０に容易に追加することができる。
【００４２】
すなわち、プリンタドライバ２０およびドライバプラグインモジュール２２の本来的な機能は、文書作成アプリケーション１０から出力された描画命令をプリンタ３に適合した描画命令に変換することであるので、ドライバプラグインモジュール２２のみによりプリンタドライバ２０に、ユーザとの間で情報の入出力を行うための画面表示制御機能を追加することは困難である。しかしながら、印刷制御システム１では、ドライバプラグインモジュール２２が、排紙トレイをユーザに問い合わせるためのポップアップをディスプレイ７に表示すべき旨の命令をモニタプラグインモジュール３２に送り、モニタプラグインモジュール３２がこの命令を受け取って当該ポップアップをディスプレイ７に表示する。そして、ユーザが排紙トレイを選択したときには、ユーザによる選択入力をモニタプラグインモジュール３２が直接受け取り、この選択入力をドライバプラグインモジュール２２に送り、ドライバプラグインモジュール２２が、モニタプラグインモジュール３２から送られた選択入力に基づいて描画命令を生成する。すなわち、ポップアップのディスプレイ７への表示およびユーザによる選択入力の直接的な受取といった画面表示制御処理を行うのは、ドライバプラグインモジュール２２ではなく、モニタプラグインモジュール３２である。そして、ステータスモニタ３０は、プリンタ３の状態を示す情報をディスプレイ７に表示するための画面表示制御機能を本来的に有しているため、モニタプラグインモジュール３２によりステータスモニタ３０の画面表示制御機能を拡張することは容易である。このように、印刷制御システム１によれば、プリンタドライバ２０と連携して動作する画面表示制御機能をモニタプラグインモジュール３２によりステータスモニタ３０に追加し、ステータスドライバ３０と連携して動作する機能をドライバプラグインモジュール２２によりプリンタドライバ２０に追加することにより、プリンタドライバ２０に画面表示制御機能を容易に追加することができるのである。また、このような構成により、印刷制御システム１によれば、オペレーティングシステムが要求する画面表示制御に関する取り決めに従った適切な画面表示制御機能をプリンタドライバ２０に追加することができる。
【００４３】
なお、ドライバプラグインモジュール２２とモニタプラグインモジュール３２との間における伝達情報の通信方式は、一方から他方へ一方的に伝達情報を送るだけの非同期通信方式でもよいし、一方から他方へ伝達情報を送った後、一方が他方からの返信があるまで待機する同期通信方式でもよい。
【００４４】
また、上述した印刷制御システム１では、文書のページを排出すべき排紙トレイをユーザに選択させる機能をドライバプラグインモジュール２２およびモニタプラグインモジュール３２によりプリンタドライバ２０に追加する場合を例にあげたが、本発明はこれに限らない。文書の各ページにフッダを付ける機能、両面印刷用のハードウェア機構を有していないプリンタによって両面印刷を実現する機能、文書の印刷の許否をパスワード入力によって判断する機能などを、ドライバプラグインモジュール２２およびモニタプラグインモジュール３２によりプリンタドライバ２０に追加してもよい。
【００４５】
例えば、文書の各ページにフッダを付ける機能を追加する場合には、ドライバプラグインモジュール２２が、ページのフッダ領域に入力すべき文字列などをユーザに問い合わせるためのポップアップをディスプレイ７に表示すべき旨の命令をモニタプラグインモジュール３２に送り、モニタプラグインモジュール３２がこの命令を受け取って当該ポップアップをディスプレイ７に表示し、そして、ユーザが文字列などを入力したときには、ユーザによる入力をモニタプラグインモジュール３２が直接受け取り、この入力をドライバプラグインモジュール２２に送り、ドライバプラグインモジュール２２が、モニタプラグインモジュール３２から送られた入力に基づいて描画命令を生成するといった構成にする。
【００４６】
また、両面印刷用のハードウェア機構を有していないプリンタによって両面印刷を実現する機能を追加する場合には、例えば、ドライバプラグインモジュール２２が、両面印刷を実現するための手動操作をユーザに指導するためのガイダンスメッセージ（例えば「奇数ページが印刷された用紙を裏返して手差しトレイにセットし、ＯＫボタンをクリックしてください」など）を示すポップアップをディスプレイ７に表示すべき旨の命令をモニタプラグインモジュール３２に送り、モニタプラグインモジュール３２がこの命令を受け取って当該ポップアップをディスプレイ７に表示し、そして、ユーザがポップアップ中のガイダンスメッセージを理解してポップアップ中のＯＫボタンをクリックしたときには、ユーザによるこの入力をモニタプラグインモジュール３２が直接受け取り、この入力をドライバプラグインモジュール２２に送り、ドライバプラグインモジュール２２が、モニタプラグインモジュール３２から送られた入力に基づいて描画命令変換処理または印刷制御処理を続行するといった構成にする。
【００４７】
また、文書の印刷の許否をパスワード入力によって判断する機能を追加する場合には、例えば、ドライバプラグインモジュール２２が、ユーザにパスワードを入力させるためのポップアップをディスプレイ７に表示すべき旨の命令をモニタプラグインモジュール３２に送り、モニタプラグインモジュール３２がこの命令を受け取って当該ポップアップをディスプレイ７に表示し、そして、ユーザがパスワードを入力したときには、ユーザにより入力されたパスワードをモニタプラグインモジュール３２が直接受け取り、このパスワードをドライバプラグインモジュール２２に送り、ドライバプラグインモジュール２２が、モニタプラグインモジュール３２から送られたパスワードに基づいて当該文書の印刷を行うか否かを判断するといった構成にする。
【００４８】
また、上述した印刷制御システム１では、プリンタ３を制御するプリンタドライバ２０の機能を拡張する場合を例にあげたが、本発明はこれに限らない。本発明は、プリンタ以外の外部装置を制御するデバイスドライバの機能を拡張する場合にも適用することができる。
【００４９】
また、上述した印刷制御システム１では、ドライバプラグインモジュール２２およびモニタプラグインモジュール３２によりプリンタドライバ２０の機能を拡張する場合を例にあげたが、本発明はこれに限らない。例えば、排紙トレイをユーザに問い合わせるためのポップアップをディスプレイ７に表示すべき旨の命令をステータスモニタ３０に送る機能（機能Ａ）をプリンタドライバ２０の初期機能（初めから備わっている機能）としてプリンタドライバ２０に組み込み、プリンタドライバ２０から送られた命令を受け取ってポップアップをディスプレイ７に表示する機能（機能Ｂ）と、ユーザによる選択入力を直接受け取り、この選択入力をプリンタドライバ２０に送る機能（機能Ｃ）とをステータスモニタ３０の初期機能としてステータスモニタ３０に組み込み、ステータスモニタ３０から送られた選択入力に基づいて描画命令を生成する機能（機能Ｄ）をプリンタドライバ２０の初期機能としてプリンタドライバ２０に組み込んでもよい。また、機能Ｂおよび機能Ｃをステータスモニタ３０の初期機能としてステータスモニタ３０に組み込み、機能Ａおよび機能Ｄをドライバプラグインモジュール２２によりプリンタドライバ２０に追加するようにしてもよい。また、機能Ａおよび機能Ｄをプリンタドライバ２０の初期機能としてプリンタドライバ２０に組み込み、機能Ｂおよび機能Ｃをモニタプラグインモジュール３２によりステータスモニタ３０に追加するようにしてもよい。もっとも、機能Ａおよび機能Ｄをドライバプラグインモジュール２２によりプリンタドライバ２０に追加すると共に、機能Ｂおよび機能Ｃをモニタプラグインモジュール３２によりステータスモニタ３０に追加する構成とすれば、プリンタドライバ２０のフレキシビリティを効果的に高めることができる。
【００５０】
また、印刷制御システム１において、プリンタドライバ２０に向けて描画命令を出力するアプリケーションは文書作成アプリケーション１０に限らない。
【００５１】
また、本発明は、請求の範囲および明細書全体から読み取るこのできる発明の要旨または思想に反しない範囲で適宜変更可能であり、そのような変更を伴う制御システムおよび制御方法もまた本発明の技術思想に含まれる。
【図面の簡単な説明】
【００５２】
【図１】本発明の制御システムの実施形態である印刷制御システムを示すブロック図である。
【図２】ドライバプラグインモジュールの内部構造を示すブロック図である。
【図３】モニタプラグインモジュールの内部構造を示すブロック図である。
【図４】ドライバ本体、ドライバプラグインモジュール、モニタ本体およびモニタプラグインモジュールにより行われるフレキシブル排紙トレイ選択制御処理を示す説明図である。
【図５】ドライバプラグインモジュールからモニタプラグインモジュールへ送られる伝達情報の内容を示す説明図である。
【図６】モニタプラグインモジュールからドライバプラグインモジュールへ送られる伝達情報の内容を示す説明図である。
【図７】文書のページを排出すべき排紙トレイをユーザに問い合わせるためのポップアップを示す説明図である。
【符号の説明】
【００５３】
１  印刷制御システム
２  パーソナルコンピュータ
３  プリンタ
８  入出力装置
１０  文書作成アプリケーション
２０  プリンタドライバ
２１  ドライバ本体
２２  ドライバプラグインモジュール
２３  情報通信部
２４  命令生成部
３０  ステータスモニタ
３１  モニタ本体
３２  モニタプラグインモジュール
３３  情報通信部
３４  入出力制御部
【図１】
2010092385.tif 000003
【図２】
2010092385.tif 000004
【図３】
2010092385.tif 000005
【図４】
2010092385.tif 000006
【図５】
2010092385.tif 000007
【図６】
2010092385.tif 000008
【図７】
2010092385.tif 000009