本発明を実施するための最良の形態を、添付の図面を参照して説明する。
〔構成〕
図1は、本発明の一実施形態としての情報処理システムのネットワーク構成例を示す。
図1において、情報処理システム1は、情報処理装置としてのコンピュータ10と、第1及び第2のプリンタ12及び14と、それらを相互に接続して、データ通信を可能にするネットワーク16とを有する。
コンピュータ10は、OS(Operationing System)に基づくユーザインターフェース(UI)を表示することが可能なパーソナルコンピュータ(PC)、PDA(Personal Digital Assistants)又は携帯電話等の装置であっても良い。
第1及び第2のプリンタ12、14は、コンピュータ10からの要求に従って動作する機器であって、本実施形態では、レーザプリンタ(LP)又は複合機能プリンタ(MFP)等の画像形成装置を例とする。
図1では、コンピュータ及びプリンタは、夫々、1台又は2台ずつしか示されていないが、実際には複数台であっても良い。また、コンピュータとプリンタとの間の接続は、図1に示されるようなローカルエリアネットワーク(LAN)やインターネット等のネットワーク形式はもちろん、例えばUSB等のようなシリアル形式であっても良い。
以下、本実施形態の情報処理システムについて、SNMP(Simple Network Manegement Protocol)によって管理されるネットワークシステムを例として説明する。SNMPは、ネットワークに接続された機器をネットワーク経由で監視することによってネットワークシステムを管理するプロトコルである。
図2は、本発明の一実施形態としてのコンピュータのハードウェア構成例を示す図である。図2に示されるように、コンピュータ10は、バス26によって相互に接続されたドライブ装置21と、補助記憶装置22と、メモリ装置23と、演算処理装置24と、インターフェース装置25とを有する。コンピュータ10での処理を実現するプログラムは、CD−ROM等の記録媒体27によって提供される。
ドライブ装置21は、記録媒体27を読み取るための装置である。プログラムを記録した記録媒体27がドライブ装置21にセットされると、プログラムが記録媒体27からドライブ装置21を介して補助記憶装置22にインストールされる。なお、本実施形態では、記録媒体に記録されたプログラムとして、プリンタドライバやPC−FAXドライバ等の各種デバイスドライバが適用可能であるが、説明を簡単なものとするため、以降はプリンタドライバを例として説明する。
補助記憶装置22は、インストールされたプログラムを格納すると共に、必要なファイル及びデータ等を格納する装置である。メモリ装置23は、プログラムの起動指示があった場合に、補助記憶装置22からプログラムを読み出して格納する装置である。演算処理装置24は、メモリ装置23に格納されたプログラムに従って、コンピュータ10に係る機能を実行する装置である。インターフェース装置25は、コンピュータ10を図1のネットワーク16へ接続するための装置である。
図3は、コンピュータ10の機能構成例を示す図である。図3に示されるように、コンピュータ10は、ネットワーク16を介してプリンタ12に接続されており、アプリケーション102と、プリンタドライバ104と、情報取得部106と、通信部108とを有する。
アプリケーション102は、例えばウィンドウズ(登録商標)のようなOS上で動作するプログラムであって、例えば、文書作成ソフト及び表計算ソフト等のような汎用アプリケーションである。
プリンタドライバ104は、アプリケーション102で作成又は閲覧された画像データを、OSの内部命令とともに、プリンタ12が処理可能なデータ、所謂プリンタ言語(PDL)データに変換するモジュールである。
情報取得部106は、プリンタ12と通信して、プリンタ12の構成情報を取得及び/又は設定するモジュールとして機能し、SNMPのネットワークシステムでは、一般的にマネージャと呼ばれる。以降、情報取得部106をマネージャと称する。また、マネージャ106は、プリンタドライバ104で生成されたPDLデータをスプールするモジュールの一部であっても良い。
通信部108は、プリンタ12と通信して、相互に情報を送受信するための、所謂、通信ポートである。
一方、図3に示されるように、プリンタ12は、通信ポートとしての通信部200と、構成情報送信部202と、構成情報記憶部204とを有する。
構成情報送信部202は、コンピュータ10からネットワーク16を介して送られた要求に応じて、構成情報記憶部204に格納された構成情報を取得し、要求先のコンピュータへ返す手段であり、SNMPのネットワークシステムでは、一般的にエージェントと呼ばれる。以降、構成情報送信部202をエージェントと称する。ここで、「構成情報」とは、プリンタ12に係る情報であって、プリンタ12のPDLの記述形式と、機種名又はデバイスIDなどの機種特定情報と、ベンダー情報と、プリンタ12において利用できる可能性がある機能に係る機能情報とを含む。
構成情報記憶部204は、プリンタ12の構成情報を格納する手段であり、SNMPのネットワークシステムでは、一般的にMIB(Management Information Base)と呼ばれる。
図4は、本実施形態のコンピュータが有しているプリンタドライバ104の構成例を示すブロック図である。図4に示されるように、プリンタドライバ104は、マネージャ106に接続されており、ユーザインターフェース(UI)部40と、機能情報取得部42とを有する。マネージャ106は、ネットワーク16を介して、プリンタ12(図3参照。)のエージェント202に接続されている。
UI部40は、プリンタ12を設定するための画面を表示し、ユーザ入力に基づいてプリンタ12の各機能を設定する手段であって、表示部402と、入力部404と、設定記憶部406と、設定読込部408とを有する。
表示部402は、プリンタ12の機能を設定するための画面を生成し、例えばモニタ等のディスプレイ装置(図示せず。)に表示する手段である。また、表示部402は、ユーザによって入力された各機能に対する設定を受け付ける。入力部404は、プリンタ12の機能を設定するために、ユーザが夫々の機能に対する設定を入力する手段である。入力部404は、例えば、マウス及びキーボード等の入力装置であっても良い。設定記憶部406は、プリンタ12の機能に対する前回の設定を記憶しておく手段である。設定読込部408は、設定記憶部406に記憶されたプリンタ12の各機能に対する設定を読み込み、その設定を、表示部402によって表示される設定画面に反映するため、機能情報取得部42の機能情報記憶部428へ送る手段である。
また、機能情報取得部42は、プリンタ12のMIB204(図3参照。)に格納された機能情報を取得して、UI部40の表示部402によって表示される設定画面に反映する手段であって、機能ファイル記憶部422と、機器分類部424と、機能ファイル読込部426と、機能情報記憶部428とを有する。
機能ファイル記憶部422は、同じ機種のプリンタに共通する機能が記述された第1の機能ファイルと、プリンタの機種とは無関係に、同じベンダーの全てのプリンタに共通する機能が記述された第2の機能ファイルと、プリンタの機種及びベンダーとは無関係に、全てのプリンタに共通する機能が記述された第3の機能ファイルとを記憶する手段である。
機器分類部424は、プリンタ12から取得した機種名及びベンダー情報等の構成情報に基づいて、プリンタ12を、
(1)プリンタドライバ104にとって既知のプリンタ(同じベンダーの製品であって、プリンタドライバ104がそのプリンタ専用の機能ファイルを有するプリンタ)、
(2)プリンタドライバ104にとって未知のプリンタ(同じベンダーの製品であるが、プリンタドライバ104がそのプリンタ専用の機能ファイルを有さないプリンタ)、
(3)プリンタドライバ104にとって未知のプリンタ(他のベンダーの製品であって、プリンタドライバ104がそのプリンタ専用の機能ファイルを有さないプリンタ)
の3種類のいずれかに分類する手段である。
機能ファイル読込部426は、機能ファイル記憶部422から、機器分類部424によるプリンタ12の分類結果に応じた機能ファイルを読み込む手段である。機能情報記憶部428は、機能ファイル読込部426により読み込まれた機能ファイルに記述された機能に係る機能情報を動作中に一時的に記憶する手段である。機能情報記憶部428に記憶された機能情報は、最終的に、UI部40の設定記憶部406に格納される。
図5は、図3のMIB204のデータ構成例を示す図である。図5に示されるように、MIB204は、共通領域510と、専用領域520とを有する。
共通領域510は、ベンダー及び機種とは無関係に、全てのプリンタに共通する情報を格納している領域である。
専用領域520は、ベンダーフリーな領域であって、機種共通領域522と、機種専用領域524とを有する。機種共通領域522は、同じベンダーの製品に対して共通のルールに従って機能情報を格納している領域であって、一方、機種専用領域524は、同じベンダーの製品であるが、機種ごとに異なったルールで機能情報を格納している領域である。
以下、このコンピュータ10の動作の幾つかを説明する。
〔動作〕
図6は、コンピュータ10において、プリンタの機能を設定するための画面を表示させる動作の一例を示すシーケンス図である。
最初に、ステップS101で、ユーザは、UI部40の入力部404によりプリンタ12の設定要求を行う。具体的な例としては、OSがウィンドウズ(登録商標)である場合に、ユーザは、「コントロールパネル」から「プリンタ」を選択し、更に、該当するプリンタを選択した状態で右クリックメニューから「プロパティ」を選択する。ユーザからの要求を受けて、UI部40は、ステップS102で、設定記憶部406に記憶された前回の設定を設定読込部408により読み込む。ここで、前回の設定とは、通信ポート108に前回接続されていたプリンタの機種名と、前回のプリンタにおいての機能に対する機能設定とを含む。UI部40は、ステップS103で、先のステップS102で設定読込部408により読み込んだ設定のうち少なくとも機種名及び機能設定を機能情報取得部42へ送る。ステップS104で、機能情報取得部42は、機能ファイル読込部426により、機能ファイル記憶部422に記憶された複数の機能ファイルの中から、先のステップS103でUI部から送られた機種名に対応する機能ファイルを読み込み、機能情報記憶部428に記憶する。ステップS105で、機能情報記憶部428は、先のステップS103でUI部40から送られた機能設定を、先のステップS104で記憶された機能ファイルにマージして、機能情報として記憶する。次にステップS106で、UI部40は、機能情報記憶部428で機能設定をマージされた機能ファイルに基づいて表示部402にプリンタ設定画面を表示させる。
更に、ステップS107で、ユーザは、入力部404により、表示部402により表示されたプリンタ設定画面から機能設定画面を表示させるよう要求する。例えば、機能設定画面は、プリンタ設定画面内にタブ形式で表示されても良い。ユーザからの要求を受けて、ステップS108で、UI部40は機能情報取得部42に機能情報の提供を要求する。ステップS109で、機能取得部42は、機能情報記憶部428に記憶されている機能情報をUI部40へ送る。ステップS110で、UI部40は、表示部402に、この機能情報に基づく機能設定画面を表示させる。最後に、ステップS111で、UI部40は、機能情報を設定記憶部406に記憶する。設定記憶部406に記憶された機能情報は、機能設定に係る情報を含み、プリンタ設定画面の表示要求が再びあった場合に「前回の設定」として用いられる。
このように、プリンタドライバ104は、アプリケーションから呼び出されると、前回使用したプリンタの機能ファイルを選択し、動作を開始する。なお、プリンタドライバ104は、インストール直後には、工場出荷時に、又はプリンタ管理者によって、初期設定された機能ファイルを選択する。
機能設定画面内には「更新」ボタンが設けられており(図10参照。)、このボタンがユーザにより押されると、プリンタドライバ104は、プリンタ12から情報を取得することにより、プリンタ12を分類する。
プリンタドライバ104は、プリンタ12の分類結果に応じて適切な機能ファイルを選択し、選択した機能ファイルに記述されている機能に係る機能情報をプリンタ12から取得し、この情報に基づいて動作する。
以下、上述したコンピュータ10でのプリンタ12の分類動作について、更に詳細に説明する。
本実施例は、接続されるプリンタ12が、プリンタドライバ104にとって既知のプリンタ(同じベンダーの製品であって、プリンタドライバ104がそのプリンタ専用の機能ファイルを有するプリンタ)であって、更に、プリンタドライバ104で予め読み込まれている機能ファイルに対応するプリンタである場合のコンピュータ10の動作を例とする。このような動作を図7のシーケンス図を交えながら説明する。
最初に、ステップS201で、ユーザは、UI部40の入力部404により機能設定画面の更新要求を行う。具体的には、ユーザは、UI部40の表示部402により表示された機能設定画面内の「更新」ボタン(図10(a)参照。)を押す。ユーザからの要求を受けて、UI部40は、ステップS202で、マネージャ106に対して、ポート名を指定して、プリンタ12と双方向通信するよう要求する。
UI部40からの要求を受けて、マネージャ106は、ステップS203で、ネットワーク16を介してプリンタ12のエージェント202に対して、PDLの記述形式に係るPDL情報を取得するよう要求する。ステップS204で、エージェント202は、MIB204の共通領域510からPDL情報を取得し、マネージャ106へ返す。ステップS205で、マネージャ106は、プリンタ12から取得したPDL情報を機能情報取得部42に送る。ステップS206で、機能情報取得部42は、機器分類部424により、プリンタ12から取得したPDL情報から、プリンタのPDL記述形式がプリンタドライバ104に対応する形式であるかを確認する。
プリンタのPDL記述形式がプリンタドライバ104に対応する形式である場合に、ステップS207で、機能情報取得部42は、マネージャ106に、ネットワーク16を介してプリンタ12のエージェント202に対して機種名を取得するよう要求させる。ステップS208で、エージェント202は、MIB204の共通領域510から機種名を取得し、マネージャ106へ返す。ステップS209で、マネージャ106は、プリンタ12から取得した機種名を機能情報取得部42に送る。ステップS210で、機能情報取得部42は、機器分類部424により、(図6のステップS105で)予め読み込んだ機能ファイルに記述されている機種名と、プリンタ12から取得した機種名とが同じであるかを確認する。
機能ファイルに記述されている機種名と、プリンタ12から取得した機種名とが同じである場合に、ステップS211で、機能情報取得部42は、更に、マネージャ106に、ネットワーク16を介してプリンタ12のエージェント202に対して、MIB204の機種専用領域524から、予め読み込んだ機能ファイルに記述された機能に係る機能情報を取得するよう要求させる。ステップS212で、エージェント202は、MIB204の機種専用領域524から機能情報を取得し、マネージャ106へ返す。ステップS213で、マネージャ106は、プリンタ12から取得した機能情報を機能情報取得部42に送る。ステップS214で、機能情報取得部42は、プリンタ12から取得した機能情報を機能情報記憶部428に記憶する。記憶された機能情報は、ステップS215で、機能情報取得部42からUI部40へ送られる。ステップS216で、UI部40は、表示部402に、この機能情報に基づく機能設定画面を再表示させる。機能設定画面が再表示された後、機能設定画面のタブの外であって、同じくプリンタ設定画面内に表示された「適用」又は「OK」ボタン(図10(b)参照。)がユーザによって押されると、ステップS217で、UI部40は、機能情報を設定記憶部406に記憶する。
図8は、本実施例においてプリンタのMIBに格納された構成情報の一例を示す図である。図8に示されるように、本実施例のMIB204aは、共通領域510aにPDLの記述形式と、機種名と、ベンダー識別IDとを有し、機種専用領域524aに機能IDを有する。
ベンダー識別IDは、プリンタのベンダーを識別するための識別情報であって、図7のステップS208で、プリンタ12のエージェント202から機種名とともにマネージャ106へ送られても良い。プリンタドライバ104は、機種名によって、そのプリンタ12が既知であるかを、また、ベンダー識別IDによって、そのプリンタ12が同じベンダーの製品であるかを確認することができる。これにより、プリンタドライバ104は、プリンタ12を上記3種類のいずれかに分類することができる。
機能IDは、プリンタ12が実行可能な機能を識別するための識別情報である。機能IDは、夫々の機能ごとに異なる。プリンタ12において実際に利用可能な機能は、機能IDを含むオプション構成情報により表される。
なお、本実施例では、現在使用するプリンタ12は、PDLの記述形式が"あああ"であり、プリンタ12の機種名が"PrinterA"であり、ベンダー識別IDが"ooo"であって、プリンタドライバ104と同じベンダーの製品であり、また、機能IDが"2"である機能を実行することができるとする。
また、図9は、本実施例の機能ファイルの記述例である。図9に示されるように、機能ファイル900は、機能ファイル900に対応するプリンタの機種名902と、そのプリンタにおいて利用可能な機能910及び920とを記述される。機能910及び920は、夫々、その機能に付与された機能ID912及び922の夫々を有する。
本実施例では、機種名902として"PrinterA"が記述されている。また、第1の機能910は、機能名"FinisherAAA"を有する機能であって、機能ID912として"1"を有する。第2の機能920は、機能名"Z Unit"を有する機能であって、機能ID922として"2"を有する。
以下、プリンタ12が図8の構成情報(MIB204a)を有し、プリンタドライバ104が図9の機能ファイル900を予め読み込んでいる場合を例として、図7に示した動作について更に具体的に説明する。
マネージャ106が、プリンタ12のエージェント202に対して機種名の取得を要求する(S207)と、エージェント202は、MIB204aの共通領域510aから機種名="PrinterA"を取得し、これをマネージャ106に返す(S208)。この機種名は、マネージャ106から機能情報取得部42へ送られ(S209)、機能情報取得部42は、機器分類部424により、プリンタ12から取得した機種名="PrinterA"と、予め読み込んでいる機能ファイル900に記述されている機種名902とを比較し、プリンタ12が機能ファイル900に対応するプリンタであると判断する(S210)。
その後、機能情報取得部42は、更に、マネージャ106に、ネットワーク16を介してプリンタ12のエージェント202に対して、MIB204aの機種専用領域524aから、機能ファイル900に記述された機能910及び920に係る機能情報を取得するよう要求させる(S211)。エージェント202は、マネージャ106からの取得要求に応じて、機能910及び920に対応する機能IDを有する機能に係る機能情報を機種専用領域524aから取得する。しかし、機種専用領域524aには第2の機能920に対応する機能ID="2"しか格納されていないので、エージェント202は機能ID="2"を有する機能に係る機能情報を取得し、これをマネージャ106に返す(S212)。この機能情報は、マネージャ106から機能情報取得部42へ送られ(S213)、機能情報記憶部428に記憶される(S214)。また、機能情報記憶部428は、機能ID="1"を有する機能に関して、その機能情報を取得することができず、現在利用可能でない旨を表す情報も記憶することができる。
図10は、本実施例の機能設定画面の一例を示す図である。(a)は、前回の機能情報に基づく画面であり、一方、(b)は、(a)の画面において「更新」ボタンが押された後、現在使用するプリンタから取得した機能情報に基づいて再表示された画面である。
更新前の機能設定画面110は、前回使用されたプリンタの機種が有する全ての機能112及び114の夫々の機能名"FinisherAAA"及び"Z Unit"と、それらの機能がそのプリンタにおいて実際に利用可能であるか否かを示す夫々のチェックボックスとを表示する。前回使用されたプリンタでは、その機種が有する全ての機能が実際に利用可能であったとすると、これらのチェックボックスは両方ともオンとされている。機能設定画面110は、「更新」ボタン116を更に有し、これがユーザにより押されることによって、図7で示されたような動作が実施される。
更新後の機能設定画面120は、現在使用されるプリンタの機能を設定するための画面であり、現在使用されるプリンタが前回使用されたプリンタと同じ機種である場合に、更新前の機能設定画面110と同じく、その機種が有する全ての112及び114の夫々の機能名"FinisherAAA"及び"Z Unit"と、それらの機能が現在使用されるプリンタにおいて利用可能であるか否かを示す夫々のチェックボックスとを表示する。しかし、現在使用されているプリンタが利用可能な機能は第2の機能"Z Unit"114のみである場合には、第1の機能112のチェックボックスはオフとされる。
以上、本実施例により、コンピュータは、現在使用するプリンタが、前に同じ通信ポートに接続されていたプリンタと機種が同じである既知のプリンタであることを確認し、その機種のプリンタが実行可能な全ての機能のうち、現在のプリンタで実際に利用可能な機能に係る情報のみをプリンタから取得して、現在のプリンタで実際に利用可能/不可能という情報をプリンタの設定画面に反映させることができる。
従来のコンピュータでは、個々のプリンタごとに専用のプリンタドライバと、専用の通信ポートとを設けなくてはならないので、たとえ接続されるプリンタが、普段同じ通信ポートに接続されているプリンタと同じ機種であったとしても、プリンタが備えている付加機能が異なっている場合、接続されるプリンタが備えた実行可能な機能を全て使用できるとは限らない。しかし、本実施例のコンピュータでは、所定の機種のプリンタが実行可能な全ての機能を記述したファイルを有することによって、同じ機種の別個のプリンタを同じ通信ポートに接続して、その機能を適切に設定することが可能となる。
本実施例は、接続されるプリンタ12が、実施例1と同じく、プリンタドライバ104にとって既知のプリンタ(プリンタドライバ104と同じベンダーの製品であって、プリンタドライバ104がそのプリンタ専用の機能ファイルを有するプリンタ)であるが、プリンタドライバ104で予め読み込まれている機能ファイルとは別の機能ファイルに対応するプリンタである場合のコンピュータ10の動作を例とする。このような動作を図11のシーケンス図を交えながら説明する。
最初に、ステップS301で、ユーザは、UI部40の入力部404により機能設定画面の更新要求を行う。具体的には、ユーザは、UI部40の表示部402により表示された機能設定画面内の「更新」ボタン(図14(a)参照。)を押す。ユーザからの要求を受けて、UI部40は、ステップS302で、マネージャ106に対して、ポート名を指定して、プリンタ12と双方向通信するよう要求する。
UI部40からの要求を受けて、マネージャ106は、ステップS303で、ネットワーク16を介してプリンタ12のエージェント202に対して、PDLの記述形式に係るPDL情報を取得するよう要求する。ステップS304で、エージェント202は、MIB204の共通領域510からPDL情報を取得し、マネージャ106へ返す。ステップS305で、マネージャ106は、プリンタ12から取得したPDL情報を機能情報取得部42に送る。ステップS306で、機能情報取得部42は、機器分類部424により、プリンタ12から取得したPDL情報から、プリンタのPDL記述形式がプリンタドライバ104に対応する形式であるかを確認する。
プリンタのPDL記述形式がプリンタドライバ104に対応する形式である場合に、ステップS307で、機能情報取得部42は、マネージャ106に、ネットワーク16を介してプリンタ12のエージェント202に対して機種名を取得するよう要求させる。ステップS308で、エージェント202は、MIB204の共通領域510から機種名を取得し、マネージャ106へ返す。ステップS309で、マネージャ106は、プリンタ12から取得した機種名を機能情報取得部42に送る。ステップS310で、機能情報取得部42は、機器分類部424により、(図6のステップS105で)予め読み込んだ機能ファイルに記述されている機種名と、プリンタ12から取得した機種名とが同じであるかを確認する。
本実施例では、ステップS311で、機器分類部424により、機能ファイルに記述されている機種名と、プリンタ12から取得した機種名とが異なっていると判断される。この場合に、ステップS312で、機能情報取得部42は、マネージャ106に、更に、ネットワーク16を介してプリンタ12のエージェント202に対してベンダー情報を取得するよう要求させる。ステップS313で、エージェント202は、MIB204の共通領域510からベンダー情報を取得し、マネージャ106へ返す。ステップS314で、マネージャ106は、プリンタ12から取得したベンダー情報を機能情報取得部42に送る。ステップS315で、機能情報取得部42は、機器分類部424により、プリンタ12ら取得したベンダー情報から、プリンタ12のベンダーがプリンタドライバ104と同じベンダーの製品であるかを確認する。
プリンタ12のベンダーがプリンタドライバ104と同じベンダーの製品である場合に、ステップS316で、機能情報取得部42は、機能ファイル読込部426により、機能ファイル記憶部422から、プリンタ12から取得した機種名に基づいて、プリンタ12に対応する機能ファイルを検索する。検索の結果、機能ファイル記憶部422においてプリンタ12に対応する機能ファイルが見つかった場合には、ステップS317で、機能ファイル読込部426は、現在読み込まれている機能ファイルに換えて、機能ファイル記憶部422から、検索により見つかった、プリンタ12に対応する機能ファイルを新たに読み込む。
次に、ステップS318で、機能情報取得部42は、更に、マネージャ106に、ネットワーク16を介してプリンタ12のエージェント202に対して、MIB204の機種専用領域524から、ステップS317で読み込んだ機能ファイルに記述された機能に係る機能情報を取得するよう要求させる。ステップS319で、エージェント202は、MIB204の機種専用領域524から機能情報を取得し、マネージャ106へ返す。ステップS320で、マネージャ106は、プリンタ12から取得した機能情報を機能情報取得部42に送る。ステップS321で、機能情報取得部42は、プリンタ12から取得した機能情報を機能情報記憶部428に記憶する。記憶された機能情報は、ステップS322で、機能情報取得部42からUI部40へ送られる。ステップS323で、UI部40は、表示部402に、この機能情報に基づく機能設定画面を再表示させる。機能設定画面が再表示された後、機能設定画面のタブの外であって、同じくプリンタ設定画面内に表示された「適用」又は「OK」ボタン(図14(b)参照。)がユーザによって押されると、ステップS324で、UI部40は、機能情報を設定記憶部406に記憶する。
図12は、本実施例においてプリンタのMIBに格納された構成情報の一例を示す図である。図12に示されるように、本実施例のMIB204bは、共通領域510bにPDLの記述形式と、機種名と、ベンダー識別IDとを有し、機種専用領域524bに機能IDを有する。
なお、本実施例では、現在使用するプリンタ12は、PDLの記述形式が"あああ"であり、プリンタ12の機種名が"PrinterB"であり、ベンダー識別IDが"ooo"であって、プリンタドライバ104と同じベンダーの製品であり、また、機能IDが"3"である機能を実行することができるとする。
図13は、本実施例の機能ファイルの記述例である。図13に示されるように、機能ファイル1300は、機能ファイル1300に対応するプリンタの機種名1302と、そのプリンタにおいて利用可能な機能1310とを記述される。機能1310は、その機能に付与された機能ID1312を有する。
本実施例では、機種名1302として"PrinterB"が記述されている。また、機能1310は、機能名="FinisherBBB"と、機能ID1312="3"とを有する。
以下、プリンタ12が図12の構成情報(MIB204b)を有し、プリンタドライバ104が図9の機能ファイル900を予め読み込んでいる状態で、機能ファイル記憶部422から検索した図13の機能ファイル1300を読み込み直す場合を例として、図11に示した動作について更に具体的に説明する。
マネージャ106が、プリンタ12のエージェント202に対して機種名の取得を要求する(S307)と、エージェント202は、MIB204bの共通領域510bから機種名="PrinterB"を取得し、これをマネージャ106に返す(S308)。この機種名は、マネージャ106から機能情報取得部42へ送られ(S309)、機能情報取得部42は、機器分類部424により、プリンタ12から取得した機種名="PrinterB"と、予め読み込んでいる機能ファイル900に記述されている機種名902とを比較し(S310)、プリンタ12が機能ファイル900に対応するプリンタではないと判断する(S311)。
次に、機能情報取得部42は、更に、マネージャ106に、ネットワーク16を介してプリンタ12のエージェント202に対してベンダー情報を取得するよう要求させる(S312)。エージェント202は、マネージャ106からの取得要求に応じて、MIB204bの共通領域510bからベンダー識別ID="ooo"を取得し、これをマネージャ106に返す(S313)。このベンダー識別IDは、マネージャ106から機能情報取得部42へ送られ(S314)、機能情報取得部42は、機器分類部424により、プリンタ12から取得したベンダー識別ID="ooo"から、プリンタ12がプリンタドライバ104と同じベンダーの製品であるかを確認する(S315)。プリンタ12が同じベンダーの製品であることが確認されると、機能情報取得部42は、機能ファイル読込部426により、機能ファイル記憶部422から、プリンタ12から取得した機種名="PrinterB"と同じ機種名を記述された機能ファイル1300を検索し(S316)、現在読み込まれている機能ファイル900に換えて、検索により見つかった機能ファイル1300を新たに読み込む(S317)。
その後、機能情報取得部42は、更に、マネージャ106に、ネットワーク16を介してプリンタ12のエージェント202に対して、MIB204bの機種専用領域524bから、機能ファイル1300に記述された機能1310に係る機能情報を取得するよう要求させる(S318)。エージェント202は、マネージャ106からの取得要求に応じて、機能1310に対応する機能ID="3"を有する機能に係る機能情報を機種専用領域524bから取得し、これをマネージャ106に返す(S319)。この機能情報は、マネージャ106から機能情報取得部42へ送られ(S320)、機能情報記憶部28に記憶される(S321)。
図14は、本実施例の機能設定画面の一例を示す図である。(a)は、前回の機能情報に基づく画面であり、一方、(b)は、(a)の画面において「更新」ボタンが押された後、現在使用するプリンタから取得した機能情報に基づいて再表示された画面である。
更新前の機能設定画面110は、前回使用されたプリンタの機種が有する全ての機能112及び114の夫々の機能名"FinisherAAA"及び"Z Unit"と、それらの機能がそのプリンタにおいて実際に利用可能であるか否かを示す夫々のチェックボックスとを表示する。前回使用されたプリンタでは、その機種が有する全ての機能が実際に利用可能であったとすると、これらのチェックボックスは両方ともオンとされている。機能設定画面110は、「更新」ボタン116を更に有し、これがユーザにより押されることによって、図11で示されたような動作が実施される。
更新後の機能設定画面130は、現在使用されるプリンタの機能を設定するための画面であり、現在使用されるプリンタが、プリンタドライバ104とベンダーは同じであるが、前回使用されたプリンタと機種が異なる既知のプリンタである場合に、現在使用されるプリンタの機種が有する全ての機能132の機能名"FinisherBBB"と、その機能が現在使用されるプリンタにおいて実際に利用可能であるか否かを示すチェックボックスとを表示する。
図14に示されるように、プリンタドライバ104とベンダーは同じであるが、前回使用されたプリンタと機種が異なる既知のプリンタが使用される場合には、更新により、チェックボックスのオン・オフのみならず、機能名の表示も変更される。
以上、本実施例により、コンピュータは、現在使用するプリンタが、前に同じ通信ポートに接続されていたプリンタとは機種が異なる既知のプリンタであることを確認し、その機種のプリンタが実行可能な全ての機能を記述したファイルを読み込み、その実行可能な全ての機能のうち、現在のプリンタで実際に利用可能な機能に係る情報のみをプリンタから取得して、現在のプリンタで実際に利用可能/不可能という情報をプリンタの設定画面に反映させることができる。
従来のコンピュータでは、個々のプリンタごとに専用のプリンタドライバと、専用の通信ポートとを設けなくてはならないので、接続されるプリンタは、その専用のプリンタドライバ及び通信ポートに必ず接続されなければならない。しかし、本実施例のコンピュータでは、所定の機種のプリンタが実行可能な全ての機能を記述したファイルを読み込むことによって、機種が異なる別個のプリンタを同じ通信ポートに接続して、その機能を適切に設定することが可能となる。
本実施例は、接続されるプリンタ12が、プリンタドライバ104にとって未知である(即ち、プリンタドライバ104は、そのプリンタ12に対応する機能ファイルを有さない。)が、プリンタドライバ104と同じベンダーの製品である場合のコンピュータ10の動作を例とする。このような動作を図15のシーケンス図を交えながら説明する。
最初に、ステップS401で、ユーザは、UI部40の入力部404により機能設定画面の更新要求を行う。具体的には、ユーザは、UI部40の表示部402により表示された機能設定画面内の「更新」ボタン(図18(a)参照。)を押す。ユーザからの要求を受けて、UI部40は、ステップS402で、マネージャ106に対して、ポート名を指定して、プリンタ12と双方向通信するよう要求する。
UI部40からの要求を受けて、マネージャ106は、ステップS403で、ネットワーク16を介してプリンタ12のエージェント202に対して、PDLの記述形式に係るPDL情報を取得するよう要求する。ステップS404で、エージェント202は、MIB204の共通領域510からPDL情報を取得し、マネージャ106へ返す。ステップS405で、マネージャ106は、プリンタ12から取得したPDL情報を機能情報取得部42に送る。ステップS406で、機能情報取得部42は、機器分類部424により、プリンタ12から取得したPDL情報から、プリンタのPDL記述形式がプリンタドライバ104に対応する形式であるかを確認する。
プリンタのPDL記述形式がプリンタドライバ104に対応する形式である場合に、ステップS407で、機能情報取得部42は、マネージャ106に、ネットワーク16を介してプリンタ12のエージェント202に対して機種名を取得するよう要求させる。ステップS408で、エージェント202は、MIB204の共通領域510から機種名を取得し、マネージャ106へ返す。ステップS409で、マネージャ106は、プリンタ12から取得した機種名を機能情報取得部42に送る。ステップS410で、機能情報取得部42は、機器分類部424により、(図6のステップS105で)予め読み込んだ機能ファイルに記述されている機種名と、プリンタ12から取得した機種名とが同じであるかを確認する。
本実施例では、ステップS411で、機器分類部424により、機能ファイルに記述されている機種名と、プリンタ12から取得した機種名とが異なっていると判断される。この場合に、ステップS412で、機能情報取得部42は、マネージャ106に、更に、ネットワーク16を介してプリンタ12のエージェント202に対してベンダー情報を取得するよう要求させる。ステップS413で、エージェント202は、MIB204の共通領域510からベンダー情報を取得し、マネージャ106へ返す。ステップS414で、マネージャ106は、プリンタ12から取得したベンダー情報を機能情報取得部42に送る。ステップS415で、機能情報取得部42は、機器分類部424により、プリンタ12から取得したベンダー情報から、プリンタ12のベンダーがプリンタドライバ104と同じベンダーの製品であるかを確認する。
プリンタ12のベンダーがプリンタドライバ104と同じである場合に、ステップS416で、機能情報取得部42は、機能ファイル読込部426により、機能ファイル記憶部422から、プリンタ12から取得した機種名に基づいて、プリンタ12に対応する機能ファイルを検索する。本実施例では、ステップS417で、機能ファイル読込部426は、検索の結果、機能ファイル記憶部422においてプリンタ12に対応する機能ファイルを見つけることができない。この場合に、ステップS418で、機能ファイル読込部426は、現在読み込まれている機能ファイルに換えて、機能ファイル記憶部422から、機種とは無関係なベンダー共通の機能ファイルを新たに読み込む。
次に、ステップS419で、機能情報取得部42は、更に、マネージャ106に、ネットワーク16を介してプリンタ12のエージェント202に対して、MIB204の機種共通領域522から、ステップS418で読み込んだ機能ファイルに記述された機能に係る機能情報を取得するよう要求させる。ステップS420で、エージェント202は、MIB204の機種共通領域522からベンダー共通の機能に係る機能情報を取得し、マネージャ106へ返す。ステップS421で、マネージャ106は、プリンタ12から取得した機能情報を機能情報取得部42に送る。ステップS422で、機能情報取得部42は、プリンタ12から取得した機能情報を機能情報記憶部428に記憶する。
続いて、ステップS423で、機能情報取得部42は、更に、マネージャ106に、ネットワーク16を介してプリンタ12のエージェント202に対して、MIB204の共通領域510から、ステップS418で読み込んだ機能ファイルに記述された機能に係る機能情報を取得するよう要求させる。ステップS424で、エージェント202は、MIB204の共通領域510からプリンタ共通の機能に係る機能情報を取得し、マネージャ106へ返す。ステップS425で、マネージャ106は、プリンタ12から取得した機能情報を機能情報取得部42に送る。ステップS426で、機能情報取得部42は、プリンタ12から取得した機能情報を機能情報記憶部428に記憶する。
ステップS422及びS426の夫々で機能情報記憶部428に記憶された機能情報は、ステップS427で、機能情報取得部42からUI部40へ送られる。ステップS428で、UI部40は、表示部402に、この機能情報に基づく機能設定画面を再表示させる。機能設定画面が再表示された後、機能設定画面のタブの外であって、同じくプリンタ設定画面内に表示された「適用」又は「OK」ボタン(図18(b)参照。)がユーザによって押されると、ステップS429で、UI部40は、機能情報を設定記憶部406に記憶する。
図16は、本実施例においてプリンタのMIBに格納された構成情報の一例を示す図である。図16に示されるように、本実施例のMIB204cは、共通領域510cにPDLの記述形式と、機種名と、ベンダー識別IDと、印刷に用いられる色数を表す色情報と、印刷用紙が収納されるトレイの情報とを有し、機種共通領域522cに機能IDを有する。
なお、本実施例では、現在使用するプリンタ12は、PDLの記述形式が"あああ"であり、プリンタ12の機種名が(プリンタドライバ104にとって)不明であり、ベンダー識別IDが"ooo"であって、プリンタドライバ104と同じベンダーの製品であり、色情報が4色カラー印刷を表す"4"であり、第1及び第2のトレイ情報が夫々"Tray1"及び"Tray2"であり、また、機能IDが"1"である機能を実行することができるとする。
図17は、本実施例の機能ファイルの記述例である。図17に示されるように、機能ファイル1700は、機能ファイル1700に対応するプリンタの機種名1702と、そのプリンタにおいて利用可能な機能1710、1720及び1750とを記述される。
機種名1702には、実際の機種名ではなく、プリンタドライバ104と同じベンダーのプリンタである旨が記される。例えば、本実施例では、"ooo製Printer"と記述されている。
第1の機能1710は、その機能に付与された機能ID1712を有する。本実施例では、第1の機能情報1710は、機種とは無関係にベンダー共通で実行される機能に係る機能情報であって、機能ID1712として"1"を有する。
第2の機能1720は、第1のサブ機能1730と、第2のサブ機能1740とを有し、第1及び第2のサブ機能1730、1740は、夫々、その機能に付与された機能ID1732及び1742の夫々を有する。本実施例では、第2の機能1720は、機能名"Color"を有し、カラー印刷が可能であるか否かを表す。この場合に、第1のサブ機能1730は、カラー印刷機能を表し、その機能ID1732は、色数に等しい値"4"を有する。一方、第2のサブ機能1740は、モノクロ印刷機能を表し、その機能ID1742は、色数に等しい値"1"を有する。
第3の機能1750は、本実施例では、プリンタからトレイ情報を取得するために、機能ファイル1700に記述されている。
以下、プリンタ12が図16の構成情報(MIB204c)を有し、プリンタドライバ104が図9の機能ファイル900を予め読み込んでいる状態で、機能ファイル記憶部422から検索した図17の機能ファイル1700を読み込み直す場合を例として、図15に示した動作について更に具体的に説明する。
マネージャ106が、プリンタ12のエージェント202に対して機種名の取得を要求する(S407)と、エージェント202は、MIB204cの共通領域510cから機種名="(不明)"を取得し、これをマネージャ106に返す(S408)。この機種名は、マネージャ106から機能情報取得部42へ送られ(S409)、機能情報取得部42は、機器分類部424により、プリンタ12から取得した機種名="(不明)"と、予め読み込んでいる機能ファイル900に記述されている機種名902とを比較し(S410)、プリンタ12が機能ファイル900に対応するプリンタではないと判断する(S411)。
次に、機能情報取得部42は、更に、マネージャ106に、ネットワーク16を介してプリンタ12のエージェント202に対してベンダー情報を取得するよう要求させる(S412)。エージェント202は、マネージャ106からの取得要求に応じて、MIB204cの共通領域510cからベンダー識別ID="ooo"を取得し、これをマネージャ106に返す(S413)。このベンダー識別IDは、マネージャ106から機能情報取得部42へ送られ(S414)、機能情報取得部42は、機器分類部424により、プリンタ12から取得したベンダー識別ID="ooo"から、プリンタ12がプリンタドライバ104と同じベンダーの製品であるかを確認する(S415)。プリンタ12が同じベンダーの製品であることが確認されると、機能情報取得部42は、機能ファイル読込部426により、機能ファイル記憶部422から、プリンタ12から取得した機種名="(不明)"と同じ機種名を記述された機能ファイルを検索する(S416)。検索の結果、プリンタ12から取得した機種名="(不明)"と同じ機種名を記述された機能ファイルが存在しない場合には(S417)、機能ファイル読込部426は、現在読み込まれている機能ファイル900に換えて、機種とは無関係なベンダー共通の機能ファイル1700を機能ファイル記憶部422から新たに読み込む(S418)。
その後、機能情報取得部42は、更に、マネージャ106に、ネットワーク16を介してプリンタ12のエージェント202に対して、MIB204cの機種共通領域522cから、機能ファイル1700に記述された機能1710に係る機能情報を取得するよう要求させる(S419)。エージェント202は、マネージャ106からの取得要求に応じて、機能1710に対応する機能IDを有する機能に係る機能情報を機種共通領域522cから取得する。本実施例では、機種共通領域522cには第1の機能1710に対応する機能ID="1"が含まれているので、エージェント202は、機種共通領域522cから機能ID="1"を有する機能に係る機能情報を取得し、これをマネージャ106に返す(S420)。この機能情報は、マネージャ106から機能情報取得部42へ送られ(S421)、機能情報記憶部428に記憶される(S422)。
続いて、機能情報取得部42は、更に、マネージャ106に、ネットワーク16を介してプリンタ12のエージェント202に対して、MIB204cの共通領域510cから、機能ファイル1700に記述された機能1720及び1750に係る機能情報を取得するよう要求させる(S423)。エージェント202は、マネージャ106からの取得要求に応じて、機能1720及び1750に対応する機能情報を共通領域510cから取得する。本実施例では、共通領域510cには、色数が4であることを表す色情報「色数:4」が含まれているので、エージェント202は、共通領域510cから機能1720に対応する機能情報として色情報"4"を取得し、これをマネージャ106に返す。更に、本実施例では、共通領域510cには、トレイ情報「トレイ:Tray1」及び「トレイ:Tray2」が含まれているので、エージェント202は、共通領域510cから機能1750に対応するトレイ情報として"Tray1"及び"Tray2"を取得し、これらをマネージャ106に返す(S424)。なお、実際には、色情報及びトレイ情報は、MIBにおいて異なる識別子(OID)を割り振られているので、夫々タイミングをずらして取得される。これらの機能情報は、マネージャ106から機能情報取得部42へ送られ(S425)、機能情報記憶部428に記憶される(S426)。
従って、機能情報記憶部428には、機種とは無関係にベンダー共通で実行される機能に係る機能情報と、カラー印刷機能に係る機能情報と、プリンタ12から取得したトレイ情報とが記憶される。
図18は、本実施例の機能設定画面の一例を示す図である。(a)は、前回の機能情報に基づく画面であり、一方、(b)は、(a)の画面において「更新」ボタンが押された後、現在使用するプリンタから取得した機能情報に基づいて再表示された画面である。
更新前の機能設定画面110は、前回使用されたプリンタの機種が有する全ての機能112及び114の夫々の機能名"FinisherAAA"及び"Z Unit"と、それらの機能がそのプリンタにおいて実際に利用可能であるか否かを示す夫々のチェックボックスとを表示する。前回使用されたプリンタでは、その機種が有する全ての機能が実際に利用可能であったとすると、これらのチェックボックスは両方ともオンとされている。機能設定画面110は、「更新」ボタン116を更に有し、これがユーザにより押されることによって、図15で示されたような動作が実施される。
更新後の機能設定画面140は、現在使用されるプリンタの機能を設定するための画面であって、現在使用されるプリンタが、プリンタドライバ104とベンダーは同じであるが、前回使用されたプリンタと機種が異なっており、更にはプリンタドライバ104にとって未知である場合に、ベンダー共通の、プリンタの機種とは無関係な全ての機能142、144、146及び148の夫々の機能名"Color"、"FunctionUnit1"、 "Tray1"及び"Tray2"と、それらの機能が現在使用されるプリンタにおいて実際に利用可能であるか否かを示す夫々のチェックボックスとを表示する。
図18に示されるように、プリンタドライバ104とベンダーは同じであるが、前回使用されたプリンタと機種が異なっており、更にはプリンタドライバ104にとって未知であるプリンタが使用される場合には、更新により、チェックボックスのオン・オフのみならず、機能名の表示も変更される。
以上、本実施例により、コンピュータは、現在使用するプリンタが、前に同じ通信ポートに接続されていたプリンタとは機種が異なっており、更には、プリンタドライバ104にとって未知の機種ではあるが、プリンタドライバ104と同じベンダーの製品であることを確認する場合に、そのベンダーのプリンタが共通に実行可能な全ての機能を記述したファイルを読み込み、その実行可能な全ての機能のうち、現在のプリンタで実際に利用可能な機能に係る情報のみをプリンタから取得して、現在のプリンタで実際に利用可能/不可能という情報をプリンタの設定画面に反映させることができる。
従来のコンピュータでは、個々のプリンタごとに専用のプリンタドライバと、専用の通信ポートとを設けなくてはならないので、たとえ接続されるプリンタがプリンタドライバと同じベンダーの製品であったとしても、そのプリンタを使用することはできない。しかし、本実施例のコンピュータでは、所定のベンダーのプリンタが共通に実行可能な全ての機能を記述したファイルを読み込むことによって、プリンタドライバと同じベンダーの製品である別個のプリンタを同じ通信ポートに接続して、その機能を適切に設定することが可能となる。
本実施例は、接続されるプリンタ12が、プリンタドライバ104にとって未知であって(即ち、プリンタドライバ104は、そのプリンタ12に対応する機能ファイルを有さない。)、且つ、プリンタドライバ104とは異なったベンダーの製品である場合のコンピュータ10の動作を例とする。このような動作を図19のシーケンス図を交えながら説明する。
最初に、ステップS501で、ユーザは、UI部40の入力部404により機能設定画面の更新要求を行う。具体的には、ユーザは、UI部40の表示部402により表示された機能設定画面内の「更新」ボタン(図22(a)参照。)を押す。ユーザからの要求を受けて、UI部40は、ステップS502で、マネージャ106に対して、ポート名を指定して、プリンタ12と双方向通信するよう要求する。
UI部40からの要求を受けて、マネージャ106は、ステップS503で、ネットワーク16を介してプリンタ12のエージェント202に対して、PDLの記述形式に係るPDL情報を取得するよう要求する。ステップS504で、エージェント202は、MIB204の共通領域510からPDL情報を取得し、マネージャ106へ返す。ステップS505で、マネージャ106は、プリンタ12から取得したPDL情報を機能情報取得部42に送る。ステップS506で、機能情報取得部42は、機器分類部424により、プリンタ12から取得したPDL情報から、プリンタのPDL記述形式がプリンタドライバ104に対応する形式であるかを確認する。
プリンタのPDL記述形式がプリンタドライバ104に対応する形式である場合に、ステップS507で、機能情報取得部42は、マネージャ106に、ネットワーク16を介してプリンタ12のエージェント202に対して機種名を取得するよう要求させる。ステップS508で、エージェント202は、MIB204の共通領域510から機種名を取得し、マネージャ106へ返す。ステップS509で、マネージャ106は、プリンタ12から取得した機種名を機能情報取得部42に送る。ステップS510で、機能情報取得部42は、機器分類部424により、(図6のステップS105で)予め読み込んだ機能ファイルに記述されている機種名と、プリンタ12から取得した機種名とが同じであるかを確認する。
本実施例では、ステップS511で、機器分類部424により、機能ファイルに記述されている機種名と、プリンタ12から取得した機種名とが異なっていると判断される。この場合に、ステップS512で、機能情報取得部42は、マネージャ106に、更に、ネットワーク16を介してプリンタ12のエージェント202に対してベンダー情報を取得するよう要求させる。ステップS513で、エージェント202は、MIB204の共通領域510からベンダー情報を取得し、マネージャ106へ返す。ステップS514で、マネージャ106は、プリンタ12から取得したベンダー情報を機能情報取得部42に送る。ステップS515で、機能情報取得部42は、機器分類部424により、プリンタ12から取得したベンダー情報から、プリンタ12のベンダーがプリンタドライバ104と同じベンダーの製品であるかを確認する。
本実施例では、ステップS516で、機器分類部424により、プリンタ12のベンダーがプリンタドライバ104とは異なる他のベンダーであると判断される。この場合に、ステップS517で、機能ファイル読込部426は、現在読み込まれている機能ファイルに換えて、機能ファイル記憶部422から、機種のみならずベンダーにも無関係であって、全てのプリンタに共通する機能ファイルを新たに読み込む。
次に、ステップS518で、機能情報取得部42は、更に、マネージャ106に、ネットワーク16を介してプリンタ12のエージェント202に対して、MIB204の共通領域510から、ステップS517で読み込んだ機能ファイルに記述された機能に係る機能情報を取得するよう要求させる。ステップS519で、エージェント202は、MIB204の共通領域510からプリンタ共通の機能に係る機能情報を取得し、マネージャ106へ返す。ステップS520で、マネージャ106は、プリンタ12から取得した機能情報を機能情報取得部42に送る。ステップS521で、機能情報取得部42は、プリンタ12から取得した機能情報を機能情報記憶部428に記憶する。記憶された機能情報は、ステップS522で、機能情報取得部42からUI部40へ送られる。ステップS523で、UI部40は、表示部402に、この機能情報に基づく機能設定画面を再表示させる。機能設定画面が再表示された後、機能設定画面のタブの外であって、同じくプリンタ設定画面内に表示された「適用」又は「OK」ボタン(図22(b)参照。)がユーザによって押されると、ステップS524で、UI部40は、機能情報を設定記憶部406に記憶する。
図20は、本実施例においてプリンタのMIBに格納された構成情報の一例を示す図である。図20に示されるように、本実施例のMIB204dは、共通領域510dにPDLの記述形式と、機種名と、ベンダー識別IDと、印刷に用いられる色数を表す色情報と、印刷用紙が収納されるトレイの情報とを有する。
なお、本実施例では、現在使用するプリンタ12は、PDLの記述形式が"あああ"であり、プリンタ12の機種名及びベンダー識別情報が(プリンタドライバ104にとって)不明であり、色情報が4色カラー印刷を表す"4"であり、第1、第2及び第3のトレイ情報が夫々"Tray1"、"Tray2"及び"Tray3"であるとする。
図21は、本実施例の機能ファイルの記述例である。図21に示されるように、機能ファイル2100は、機能ファイル2100に対応するプリンタの機種名2102と、そのプリンタにおいて利用可能な機能の機能2110及び2140とを記述される。
機種名2102には、実際の機種名ではなく、プリンタドライバ104とは異なる他のベンダーのプリンタである旨が記される。例えば、本実施例では、"OtherPrinter"と記述されている。
第1の機能2110は、第1のサブ機能2120と、第2のサブ機能2130とを有し、第1及び第2のサブ機能2120、2130は、夫々、その機能に付与された機能ID2122及び2132の夫々を含む。本実施例では、第1の機能2110は、機能名"Color"を有し、カラー印刷が可能であるか否かを表す。この場合に、第1のサブ機能2120は、カラー印刷機能を表し、その機能ID2122は、色数に等しい値"4"を有する。一方、第2のサブ機能2130は、モノクロ印刷機能を表し、その機能ID2132は、色数に等しい値"1"を有する。
第2の機能2140は、本実施例では、プリンタからトレイ情報を取得するために、機能ファイル2100に記述されている。
以下、プリンタ12が図20の構成情報(MIB204d)を有し、プリンタドライバ104が図9の機能ファイル900を予め読み込んでいる状態で、機能ファイル記憶部422から検索した図21の機能ファイル2100を読み込み直す場合を例として、図19に示した動作について更に具体的に説明する。
マネージャ106が、プリンタ12のエージェント202に対して機種名の取得を要求する(S507)と、エージェント202は、MIB204dの共通領域510dから機種名="(不明)"を取得し、これをマネージャ106に返す(S508)。この機種名は、マネージャ106から機能情報取得部42へ送られ(S509)、機能情報取得部42は、機器分類部424により、プリンタ12から取得した機種名="(不明)"と、予め読み込んでいる機能ファイル900に記述されている機種名902とを比較し(S510)、プリンタ12が機能ファイル900に対応するプリンタではないと判断する(S511)。
次に、機能情報取得部42は、更に、マネージャ106に、ネットワーク16を介してプリンタ12のエージェント202に対してベンダー情報を取得するよう要求させる(S512)。エージェント202は、マネージャ106からの取得要求に応じて、MIB204dの共通領域510dからベンダー識別ID="(不明)"を取得し、これをマネージャ106に返す(S513)。このベンダー識別IDは、マネージャ106から機能情報取得部42へ送られ(S514)、機能情報取得部42は、機器分類部424により、プリンタ12から取得したベンダー識別ID="(不明)"から、プリンタ12がプリンタドライバ104と同じベンダーの製品であるかを確認する(S515)。プリンタ12が同じベンダーの製品ではないことが確認される(S516)と、機能情報取得部42は、機能ファイル読込部426により、現在読み込まれている機能ファイル900に換えて、機種及びベンダーとは無関係なプリンタ共通の機能ファイル2100を機能ファイル記憶部422から新たに読み込む(S517)。
その後、機能情報取得部42は、更に、マネージャ106に、ネットワーク16を介してプリンタ12のエージェント202に対して、MIB204dの共通領域510dから、機能ファイル2100に記述された機能2110及び2140に係る機能情報を取得するよう要求させる(S518)。エージェント202は、マネージャ106からの取得要求に応じて、機能2110及び2140に対応する機能情報を共通領域510dから取得する。本実施例では、共通領域510dには、色数が4であることを表す色情報「色数:4」が含まれているので、エージェント202は、共通領域510dから機能2110に対応する機能情報として色情報"4"を取得し、これをマネージャ106に返す。また、本実施例では、共通領域510dには、トレイ情報「トレイ:Tray1」、「トレイ:Tray2」及び「トレイ:Tray3」が含まれているので、エージェント202は、共通領域510dから機能2140に対応するトレイ情報として"Tray1"、"Tray2"及び"Tray3"を取得し、これらをマネージャ106に返す(S519)。なお、実際には、色情報及びトレイ情報は、MIBにおいて異なる識別子(OID)を割り振られているので、夫々タイミングをずらして取得される。これらの機能情報は、マネージャ106から機能情報取得部42へ送られ(S520)、機能情報記憶部428に記憶される(S521)。
従って、機能情報記憶部428には、カラー印刷機能に係る機能情報と、プリンタ12から取得したトレイ情報とが記憶される。
図22は、本実施例の機能設定画面の一例を示す図である。(a)は、前回の機能情報に基づく画面であり、一方、(b)は、(a)の画面において「更新」ボタンが押された後、現在使用するプリンタから取得した機能情報に基づいて再表示された画面である。
更新前の機能設定画面110は、前回使用されたプリンタの機種が有する全ての機能112及び114の夫々の機能名"FinisherAAA"及び"Z Unit"と、それらの機能がそのプリンタにおいて実際に利用可能であるか否かを示す夫々のチェックボックスとを表示する。前回使用されたプリンタでは、その機種が有する全ての機能が実際に利用可能であったとすると、これらのチェックボックスは両方ともオンとされている。機能設定画面110は、「更新」ボタン116を更に有し、これがユーザにより押されることによって、図19で示されたような動作が実施される。
更新後の機能設定画面150は、現在使用されるプリンタの機能を設定するための画面であって、現在使用されるプリンタが、プリンタドライバとは異なる他のベンダーの製品である場合に、プリンタの機種及びベンダーとは無関係なプリンタ共通の全ての機能152、154、156及び158の夫々の機能名"Color"、"Tray1"、"Tray2"及び"Tray3"と、それらの機能が現在のプリンタにおいて実際に利用可能であるか否かを示す夫々のチェックボックスとを表示する。
図22に示されるように、前回使用されたプリンタと異なる機種であって、更には、プリンタドライバと異なる他のベンダーの製品であるプリンタが使用される場合に、更新により、チェックボックスのオン・オフのみならず、機能名の表示も変更される。
以上、本実施例により、コンピュータは、現在使用するプリンタが、前に同じ通信ポートに接続されていたプリンタとは機種が異なっており、更には、プリンタドライバ104にとって未知の機種であって、且つ、プリンタドライバドライバ104とは異なる他のベンダーの製品であることを確認する場合に、機種及びベンダーとは無関係に全てのプリンタが共通に実行可能な全ての機能を記述したファイルを読み込み、その実行可能な全ての機能のうち、現在のプリンタで実際に利用可能な機能に係る情報のみをプリンタから取得して、現在のプリンタで実際に利用可能/不可能という情報をプリンタの設定画面に反映させることができる。
従来のコンピュータでは、個々のプリンタごとに専用のプリンタドライバと、専用の通信ポートとを設けなくてはならないので、そのようなプリンタドライバ及び通信ポートを設けられていない、又は、設けられていたとしても、対応するプリンタドライバ及び通信ポートに接続されないプリンタは、コンピュータにとって未知のプリンタであると判断され、そのプリンタを使用することができない。しかし、本実施例のコンピュータでは、全てのプリンタが共通に実行可能な全ての機能を記述したファイルを読み込むことによって、接続されるプリンタが未知のプリンタであると判断された場合にも、その機能を適切に設定することが可能となる。
本実施例は、接続されるプリンタ12が、プリンタドライバ104が未対応のPDL記述形式に対応するプリンタである場合のコンピュータ10の動作を例とする。このような動作を図23のシーケンス図を交えながら説明する。
最初に、ステップS601で、ユーザは、UI部40の入力部404により機能設定画面の更新要求を行う。具体的には、ユーザは、UI部40の表示部402により表示された機能設定画面内の「更新」ボタン(図10(a)等参照。)を押す。ユーザからの要求を受けて、UI部40は、ステップS602で、マネージャ106に対して、ポート名を指定して、プリンタ12と双方向通信するよう要求する。
UI部40からの要求を受けて、マネージャ106は、ステップS603で、ネットワーク16を介してプリンタ12のエージェント202に対して、PDLの記述形式に係るPDL情報を取得するよう要求する。ステップS604で、エージェント202は、MIB204の共通領域510からPDL情報を取得し、マネージャ106へ返す。ステップS605で、マネージャ106は、プリンタ12から取得したPDL情報を機能情報取得部42に送る。ステップS606で、機能情報取得部42は、機器分類部424により、プリンタ12から取得したPDL情報から、プリンタのPDL記述形式がプリンタドライバ104に対応する形式であるかを確認する。
本実施例では、ステップS607で、機器分類部424により、プリンタ12のPDL記述形式が、プリンタドライバ104が未対応の形式であると判断される。この場合に、ステップS608で、機能情報取得部42は、UI部40に対して、PDLの記述形式が対象外である旨を通知する。この通知を受けて、ステップS609で、UI部40は、表示部402に、プリンタ12の機能を設定することができない旨を表す画面を表示させる。
以上、本実施例により、コンピュータは、機器において利用可能な機能に係る機能情報を取得する前に、そもそも機器自体が利用可能であるかを確認することができる。
〔変形例〕
以上、本発明の実施形態では、プリンタドライバに関して説明したが、アプリケーションからの指示を機器が処理可能なデータに変換するソフトウェアであれば、スキャナドライバ及びPC−FAXドライバ等の他のデバイスドライバにも適用することができる。
また、本発明の機能は、情報処理装置のハードディスク(HDD)、読出し専用メモリ(ROM)等のメモリに格納されたプログラムによっても実現されるとしたが、あるいは、情報処理装置においてハードウェアとして実現されても良い。
また、本発明の実施形態は、デバイスドライバドライバ及びそれに準じるモジュールの形態に限定されず、アプリケーション自身に適用させても良い。
以上、発明を実施するための最良の形態について説明を行ったが、本発明は、この最良の形態で述べた実施の形態に限定されるものではない。本発明の主旨を損なわない範囲で変更することが可能である。
特許請求の範囲に挙げられている各手段は、本発明の実施形態として図に表されたコンピュータ及びプリンタの各部に対応しており、例えば、特許請求の範囲の「機器分類読み込み手段」は、図4の「機器分類部」及び「機能ファイル読込部」によって実現される。