(57)【要約】【課題】  本発明の一つの側面によれば、ある画像形成装置で処理できる画像形成処理が複数有り得る場合であっても、用意すべき適切なデバイスドライバを選択して情報処理装置にインストールできるようにする。【解決手段】  情報処理装置１００は、前記通信媒体３００から前記転送制御手段の一例であるＩ／Ｆ制御部２が制御する転送処理により転送されたデバイス情報４００を取得する取得手段の一例であるポート管理部１０５と、取得した機種名及び製造者名の一例であるＭＦＣ，ＭＤＣ情報と、処理識別情報の一例であるＣＭＤ情報の値を用いて、印刷処理装置２００において処理可能な前記複数のＰＤＬ処理のうち少なくとも一つの処理を制御可能なデバイスドライバを選択する選択手段の一例であるプリンタクラスインストーラ部１０３を備える。【選択図】  図１２
2005258661.tif 000002
【特許請求の範囲】
【請求項１】
複数種類の処理に対応可能な画像形成装置と、該画像形成装置をデバイスドライバを用いて駆動する情報処理装置とが所定の通信媒体で接続された画像形成システムにおいて、
前記前記画像形成装置は、機種識別子又は／及び製造者識別子と、該画像形成装置に対応する複数種類の処理のうち少なくとも一つの処理を識別する処理識別情報とを、該画像形成装置から読み出して前記通信媒体へ転送する処理を制御する転送制御手段とを備え、
前記情報処理装置は、前記通信媒体から前記転送制御手段が制御する転送処理により転送された処理識別情報を取得する取得手段と、
前記取得手段が取得した機種名又は／及び製造者名と、処理識別情報を用いて、前記周辺装置において処理可能な前記複数の処理のうち少なくとも一つの処理を制御可能なデバイスドライバを選択する選択手段と
を備えることを特徴とする画像形成システム。
【請求項２】
複数の画像形成処理を解釈可能な画像形成装置において、
前記画像形成装置で起動する画像形成処理を設定する設定手段と、
製造者識別子又は機種識別子と、前記設定手段により設定された画像形成処理を示す処理識別情報とを発行する発行手段と、
を備えることを特徴とする画像形成装置。
【請求項３】
前記設定手段は、画像形成装置の操作パネル又は画像形成装置を制御する制御基盤上の入力部であることを特徴とする請求項２に記載の画像形成装置。
【請求項４】
前記複数の画像形成処理は、前記画像形成装置に接続又は内臓される複数の画像形成用の拡張装置により実行されるものであって、前記処理情報は、前記拡張装置から、前記画像形成装置の制御部が取得するものであることを特徴とする請求項２又は３に記載の画像形成装置。
【請求項５】
前記拡張装置には、優先度情報を格納することができ、前記画像形成装置の制御部は、前記優先度情報を取得して、前記発行手段が通信媒体に対して発行する処理識別情報を決定する決定手段をさらに備えることを特徴とする請求項２乃至４のいずれかに記載の画像形成装置。
【請求項６】
前記複数の画像形成処理はそれぞれ優先度情報が付与されており、前記画像形成装置に格納される優先度順位情報と比較することにより、適切な処理識別情報を前記発行手段が発行することを特徴とする請求項１乃至５のいずれかに記載の画像形成装置。
【請求項７】
前記画像形成装置は、優先度順位情報を複数格納可能であって、該複数の優先度順位情報を選択する選択手段をさらに備えることを特徴とする請求項１乃至６のいずれかに記載の画像形成装置。
【請求項８】
複数の画像形成処理を解釈可能な画像形成方法において、
前記画像形成方法で起動する画像形成処理を設定する設定ステップと、
製造者識別子又は機種識別子と、前記設定ステップにより設定された画像形成処理を示す処理識別情報とを発行する発行ステップと、
を備えることを特徴とする画像形成方法。
【請求項９】
前記設定ステップは、画像形成装置の操作パネル又は画像形成装置を制御する制御基盤上の入力部であることを特徴とする請求項８に記載の画像形成方法。
【請求項１０】
前記複数の画像形成処理は、前記画像形成装置に接続又は内臓される複数の画像形成用の拡張装置により実行されるものであって、前記処理情報は、前記拡張装置から、前記画像形成装置の制御部が取得するものであることを特徴とする請求項８又は９に記載の画像形成方法。
【請求項１１】
前記拡張装置には、優先度情報を格納することができ、前記画像形成装置の制御部は、前記優先度情報を取得して、前記発行ステップが通信媒体に対して発行する処理識別情報を決定する決定ステップをさらに備えることを特徴とする請求項８乃至１０のいずれかに記載の画像形成方法。
【請求項１２】
前記複数の画像形成処理はそれぞれ優先度情報が付与されており、前記画像形成装置に格納される優先度順位情報と比較することにより、適切な処理識別情報を前記発行ステップが発行することを特徴とする請求項８乃至１１のいずれかに記載の画像形成方法。
【請求項１３】
前記画像形成装置は、優先度順位情報を複数格納可能であって、該複数の優先度順位情報を選択する選択ステップをさらに備えることを特徴とする請求項８乃至１２のいずれかに記載の画像形成方法。
【請求項１４】
請求項８乃至１３に記載の方法を画像形成装置に実行させる制御プログラム。
【請求項１５】
画像形成装置と所定の通信媒体を介して通信可能な情報処理装置において、前記画像形成装置から転送された処理識別情報、画像形成装置の製造者識別情報、又は／及び、画像形成装置の機種識別情報を取得する取得手段と、
前記取得手段が取得した機種名又は／及び製造者名と、処理識別情報を用いて、前記周辺装置において処理可能な前記複数の処理のうち少なくとも一つの処理を制御可能なデバイスドライバを選択する選択手段と
を備えることを特徴とする情報処理装置。
【請求項１６】
画像形成装置と所定の通信媒体を介して通信可能する方法において、前記画像形成装置から転送された処理識別情報、画像形成装置の製造者識別情報、又は／及び、画像形成装置の機種識別情報を取得する取得ステップと、
前記取得ステップで取得した機種名又は／及び製造者名と、処理識別情報を用いて、前記周辺装置において処理可能な前記複数の処理のうち少なくとも一つの処理を制御可能なデバイスドライバを選択する選択ステップと、
を備えることを特徴とする情報処理方法。
【請求項１７】
画像形成装置と所定の通信媒体を介して通信可能する方法において、前記画像形成装置から転送された処理識別情報、画像形成装置の製造者識別情報、又は／及び、画像形成装置の機種識別情報を取得する取得ステップと、
前記取得ステップで取得した機種名又は／及び製造者名と、処理識別情報を用いて、前記周辺装置において処理可能な前記複数の処理のうち少なくとも一つの処理を制御可能なデバイスドライバを選択する選択ステップと、
情報処理装置に実行させるプログラムを備えることを特徴とする制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
周辺装置、該周辺装置を制御するデバイスドライバを搭載した情報処理装置と、これらを含むシステム等に関するものである。
【背景技術】
【０００２】
拡張装置の一例である複数のＰＤＬ拡張装置部を印刷処理装置に接続できる機械が増えてきている。また、当該拡張ボードを搭載することによりサポート描画体系を切り替え可能な印刷処理装置の場合、例えば今の印刷処理装置に、ＰＤＬ１，ＰＤＬ２という２つの描画言語体系が搭載可能である装置が存在する。
【０００３】
また、周辺装置であるデバイスとホストコンピュータなどの情報処理装置とが接続するのに応答して、デバイスが機種名や製造者名であるデバイスＩＤを情報処理装置に送信し、情報処理装置がデバイスＩＤを参照してデバイスドライバを選択してインストールするプラグアンドプレイ等の技術が存在する。また、通常のプラグアンドプレーでは、印刷処理装置から情報処理装置に受け渡される印刷処理装置の識別データのうち、描画言語体系を示す情報を無視して、製造者名又は／及び印刷処理装置名であるデバイスＩＤでその印刷処理装置に該当するプリンタドライバを情報処理装置から検索していた。
【特許文献１】特開２００３−６１３３
【発明の開示】
【発明が解決しようとする課題】
【０００４】
そして、上述の技術において、拡張ボードを着脱することにより、同じ印刷処理装置であっても、処理可能なＰＤＬの種類が変化する場合がある。また、印刷装置が解釈可能なＰＤＬの種類に応じて、ホストコンピュータ側にプリンタドライバをインストールする必要があるが、従来のプラグアンドプレイ技術ではつぎの問題があった。
【０００５】
ある画像形成装置で処理できる画像形成処理が複数有り得る場合、用意すべき適切なデバイスドライバを選択して情報処理装置にインストールできないという問題があった。
【０００６】
具体的には、例えば、拡張装置を接続するなどにより、ＰＤＬ１とＰＤＬ２に対応可能な印刷処理装置があった場合、当該印刷処理装置に対応可能なプリンタドライバはスペック的にはＰＤＬ１とＰＤＬ２の複数種類のプリンタドライバとなるが、実際にはＰＤＬ１又はＰＤＬ２のいずれが使用されているかは実際にどの拡張装置の接続されているかに依存する。よって、従来のプラグアンドプレイでは、機種名又は製造者名をホストに送るだけでは、一意にホスト側で必要なプリンタドライバの種類が特定されないという問題がある。
【０００７】
ここで、印刷処理装置として好適なものとしては、本実施形態で説明するレーザビームプリンタが挙げられる。また，他にも、インクジェットプリンタ、ファクシミリ、レーザビームプリンタ、デジタルカメラ、スキャナ、これらの複合機などの各種周辺装置、画造形性装置等を含む。
【０００８】
例えば、所定のＰＤＬ２なる種類のプリンタドライバが先にプラグアンドプレーによって発見された場合、ユーザはＰＤＬ１用のプリンタドライバが必要な場合であっても、この印刷処理装置のためにＰＤＬ２のみがＯＳにインストールされてしまうという問題があるのである。
【０００９】
かかる場合、ＰＤＬ１用の拡張ボードのみを印刷処理装置に接続していた場合は、当該拡張ボードは、ＰＤＬ２のコマンドを解釈できないことになる。よって、ホストコンピュータ側にＰＤＬ２のプリンタドライバのみしかインストールされていないので、何も知らないユーザが印刷を指示した場合、ＰＤＬ２に対応するＰＤＬデータが印刷装置に送信され、印刷エラーとなる場合があるという問題があった。
【００１０】
さらに、印刷エラーにまではならなくても、複数個の描画体系をサポート可能な印刷処理装置の場合、インストーラが適当に決めた開発元が推奨しないプリンタドライバがインストールされることになり、製造元があまりお奨めできないＰＤＬデータ変換に係る描画用のプリンタドライバがインストールされてしまい、開発元が推奨する効率的な描画体系に係るプリンタドライバがあまり利用されないというさらに別の問題がある。
【００１１】
上述の問題点の少なくとも一つを解決するべく、本願の実施形態においては、以下の手段を提供する。
【課題を解決するための手段】
【００１２】
本願の実施形態の一例として、複数種類の処理に対応可能な画像形成装置と、該画像形成装置をデバイスドライバを用いて駆動する情報処理装置とが所定の通信媒体で接続された画像形成システムにおいて、前記前記画像形成装置は、機種識別子又は／及び製造者識別子と、該画像形成装置に対応する複数種類の処理のうち少なくとも一つの処理を識別する処理識別情報とを、該画像形成装置から読み出して前記通信媒体へ転送する処理を制御する転送制御手段とを備え、前記情報処理装置は、前記通信媒体から前記転送制御手段が制御する転送処理により転送された処理識別情報を取得する取得手段と、前記取得手段が取得した機種名又は／及び製造者名と、処理識別情報を用いて、前記周辺装置において処理可能な前記複数の処理のうち少なくとも一つの処理を制御可能なデバイスドライバを選択する選択手段とを備えることを特徴とする画像形成システム、及び周辺装置の一例である画像形成装置等が開示される。
【発明の効果】
【００１３】
本発明の一つの側面によれば、ある画像形成装置で処理できる画像形成処理が複数有り得る場合であっても、用意すべき適切なデバイスドライバを選択して情報処理装置にインストールできるという効果がある。
【発明を実施するための最良の形態】
【００１４】
特定の情報処理装置や、情報処理装置内で動作するオペレーションシステム（以下ＯＳと略）、またそのＯＳ上で動作するアプリケーションに依存しないように、印刷処理装置、例えば、レーザビームプリンタはＰＤＬ（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）などの独自の描画言語体系であるコマンドインターフェースを有している。
【００１５】
その描画言語体系は個々の印刷処理装置に依存する。よってその依存性をカプセル化するために、ＯＳは、標準的な描画インターフェースを入力とし、その印刷処理装置依存の描画言語体系のコマンドに変換し出力するプリンタドライバというモジュールを定義している。このプリンタドライバは一般に印刷処理装置の製造元やＯＳ開発者などによって作成され、情報処理装置内に格納される。情報処理装置内に格納されるプリンタドライバは多数存在する。そのため情報処理装置に存在する全てのプリンタドライバをユーザに示すのは混乱の元である。ユーザの使用する印刷処理装置のみだけ効率的に結びつけ、ユーザが使用可能な状態にしたい。よってＯＳの初期状態ではプリンタドライバは情報処理装置内に格納されるだけであり、ユーザは特定の印刷処理装置にプリンタドライバを結びつける作業であるＯＳへのプリンタドライバのインストールを行う必要がある。
【００１６】
この煩雑なインストール作業を軽減するために、セントロニクスやＵＳＢなどの通信媒体を用いて情報処理装置と印刷処理装置を接続するだけで、ユーザが操作を行わなくても自動的に情報処理装置と印刷処理装置で双方向通信を行い、その印刷処理装置に該当するドライバを情報処理装置にインストールするプラグアンドプレーという機能がＯＳに導入されている。
【００１７】
ところでユーザや各国市場の要求を満たすために、多種多様な印刷処理装置のための描画言語体系が作られ、市場に送り出されている。それぞれの描画言語体系のために印刷処理装置を一から開発するのは費用がかさむ。このコストを軽減するために各描画言語体系に依存する部分を拡張ボードやソフトウェアとして分離し、ユーザの要求や各国市場要求に応じて、印刷処理装置に、その拡張ボードやソフトウェアを搭載し直すことが可能な印刷処理装置が出てきた。またユーザが好む描画言語体系が複数個存在する環境のために、一つの印刷処理装置で複数個の描画言語体系をサポートする印刷処理装置が登場してきた。
【００１８】
上記、描画言語体系が拡張ボードやソフトウェアによって変更可能な印刷処理装置や、複数個の描画言語体系がサポートする印刷処理装置は、プラグアンドプレー搭載時には想定されていなかった。またプラグアンドプレーは、ユーザの煩雑なインストール作業を軽減するために導入されたので、描画言語体系の選択などの印刷処理装置に詳しくないユーザが望まない選択を要求するユーザインターフェイスを表示しない方がよいという思想がある。
【００１９】
上記２つの理由により、あるＯＳで搭載されているプラグアンドプレーでは、印刷処理装置から情報処理装置に受け渡される印刷処理装置の識別データのうち、描画言語体系を示す情報を無視して、製造者名と印刷処理装置名でのみ、その印刷処理装置に該当するプリンタドライバを情報処理装置内から検索し、最初に発見したものをインストールする動作を行う。
【００２０】
図１は、本実施形態のプラグアンドプレーの前提を示す図である。
【００２１】
図１を用いて本実施形態の前提となるプラグアンドプレー時のプリンタドライバのインストール方法の基本動作を説明する。情報処理装置１００との一例としては、一般的なパーソナルコンピュータ（ＰＣ）やワークステーション等をホストコンピュータとして用いることになる。該情報処理装置１００には、ＯＳへの同梱ドライバとして、複数のプリンタドライバセット１０１の集合が格納されているものとする。ドライバセット１０１はドライバインストール時に参照される固有情報を記述したＩＮＦファイル１０２と、各種実行モジュールと、そしてリソースによって構成される。ＩＮＦファイル１０２中には、プラグアンドプレー時に渡されるデバイス情報中の製造者名称ＭＦＣタグと、製品名称ＭＤＬタグの値を用いて構成されるＤｅｖｉｃｅＩＤが記述されている。このＤｅｖｉｃｅＩＤはインストール時に対応する印刷処理装置とプリンタドライバを正確に対応つけるために、識別子として用いられる。ＩＮＦファイル１０２内には、描画言語体系を示すＣＭＤタグの情報に対応する記述はなかった。情報処理装置１００と印刷処理装置２００が、通信媒体３００で接続された際に、印刷処理装置２００がその接続を検知し、印刷処理装置２００の固有情報を含むＩＥＥＥ１２８４規定のデバイス情報４００を、通信媒体３００を介して情報処理装置１００へ伝える。ＩＥＥＥ１２８４デバイス情報４００は図１６の情報を含む。
【００２２】
上記デバイス情報４００を受け取った情報処理装置１００内のＯＳは、ＣＬＡＳＳタグを読み取り、プラグアンドプレーの対象が印刷処理装置であることを認識し、プリンタドライバのインストール処理が開始される。ＯＳはデバイス情報４００のＭＦＣとＭＤＬから構成されるＤｅｖｉｃｅＩＤを生成する。そのＤｅｖｉｃｅＩＤが記述されているＩＮＦファイル１０２を持つプリンタドライバセット１０１を格納されているプリンタドライバ群より検索する。
【００２３】
もし対応するプリンタドライバセット１０１を発見した場合は、そのドライバセット中の各種実行モジュールと、そしてリソースをＯＳへインストールする。続けてそのインストールしたドライバを、ＩＥＥＥ１２８４のデバイス情報４００を受け取った通信媒体３００のポートへ結びつける。もし対応するドライバセットが情報処理装置１００に存在しない場合は、インストール処理を行わずに終了する。
【００２４】
上記に記述したように、印刷処理装置に対応するドライバセットを、情報処理装置内に格納されたドライバセット群より検索するキーであるＤｅｖｉｃｅＩＤは、ＩＥＥＥ１２８４のデバイス情報４００のＭＦＣタグとＭＤＬタグのみで構成されている。従来のプラグアンドプレイでは、ＣＭＤタグに関してはドライバセットを検索する情報としては使われていない。そのためＣＭＤセットの違いのみでは、現状プラグアンドプレーでは、異なる拡張ボードに差し替えたり、拡張ボードを増設したりしても、同じ機種である限りは、同一の印刷処理装置とみなされてしまう。従来のプラグアンドプレーのプリンタドライバのインストール処理フローを、図１６を用いて説明する。左端はタグを示し、真中列は取り得る値を示す。まず、タグＣＬＡＳＳには、Ｐｒｉｎｔｅｒが値として入っている。Ｃｌａｓｓは装置のタイプが値として格納される。ここでは、接続先の周辺装置が印刷処理装置であることを示す。また、ＭＦＣタグは、値ＡＢＤが入っている。製造元名称を示し、ここでは、ＡＢＤ社が製造元であることを示す。ＭＤＬタグには、ＬＢＰ−ＸＸＸ入っている。ここでは、周辺装置の機種がＬＢＰ−ＸＸＸなる機種であることを示す。また、ＣＭＤタグには、値ＰＤＬ１，ＩＥＥＥ１２８４が格納される。値には通信媒体を通してやり取りされるコマンド及びＰＤＬ名称を含む。ここでは、デバイスが、ＰＤＬの種類としてＰＤＬ１なるコマンド群をＩＥＥＥ１２８４で授受する周辺装置であることを示す。
【００２５】
図１４は、情報処理装置１００に記憶されたプラグアンドプレー部１０４及びプリンタクラスインストーラ部１０３における処理を示す図である。
【００２６】
プラグアンドプレー部が、ＤｅｖｉｃｅＩＤを取得することにより起動されるフローチャートである。Ｓ１４０２がプラグアンドプレー部１０４の処理であり、Ｓ１４０３ないしＳ１４０６がプリンタクラスインストーラ部が情報処理装置行う処理である。Ｓ１４０１では、プラグアンドプレー部１０４は、印刷処理装置２００が発行したＩＥＥＥ１２８４規定のデバイス情報を取得する。印刷処理装置２００は、タグＭＦＧとタグＭＤＬよりＤｅｖｉｃｅＩＤを生成する。そして、Ｓ１４０２では、ＩＥＥＥ１２８４規定のデバイス情報のＣＬＡＳＳを参照し、デバイス情報がプリンタクラスのものか判断する。プリンタクラスでない場合処理を終了する。プリンタクラスの場合、Ｓ１４０３へ進む。Ｓ１４０３では、ドライバセット中のＩＮＦファイル情報をすべて処理したかどうかを判断し、全て処理し終わってない場合には、Ｓ１４０４へ進む。Ｓ１４０３で、ドライバセット中のＩＮＦファイル情報を全て処理し終わっていると判断した場合には、処理を終了する。Ｓ１４０４で、未処理のＩＮＦファイル情報を一つ取得し、Ｓ１０４６へ進む。Ｓ１４０６では、現在のＩＮＦ内のＤｅｖｉｃｅＩＤの記述と、印刷処理装置２００が発行したＩＥＥＥ１２８４規定のデバイス情報を元に生成したＤｅｖｉｃｅＩＤが一致するか判断する。一致した場合、Ｓ１４０５へ進む。一致しない場合、Ｓ１４０３へ進む。
【００２７】
Ｓ１４０５では、現在のＩＮＦファイル情報に対応するドライバセットをインストールし、そのインストール結果をポートに関連つけ、処理を終了する。例えば、機種と製造者名に対応付けられているデバイスドライバ名を検索してＨＤＤ１００３に構築されているファイルシステムから検知し、そのデバイスドライバがあるディレクトリやアドレスを、ＯＳが認識可能になるようにシステム全体を設定する。具体的には、ＯＳのレジストリにドライバを起動可能に設定する。以上が本実施形態の前提の説明である。
【００２８】
＜印刷システムに関する実施例＞
図１２の図を用いて本印刷システムの実施例の詳細を説明する。情報処理装置１００には、ＯＳへの同梱ドライバとして、複数のプリンタドライバセット１０１の集合が格納されているものとする。ドライバセット１０１はドライバインストール時に参照される固有情報を記述したＩＮＦファイル１０２と、各種実行モジュールと、そしてリソースによって構成される。ＩＮＦファイル１０２中には、プラグアンドプレー時に渡されるデバイス情報４００中の製造者名称ＭＦＣタグと、製品名称ＭＤＬタグの値を用いて構成されるＤｅｖｉｃｅＩＤが記述されている。図１の例と異なりこのＩＮＦファイルには、デバイス情報４００中のＣＭＤタグに関連付けられるＣＭＤ記述子が記述されている。このＤｅｖｉｃｅＩＤとＣＭＤ記述子は、後述するようにインストール時に対応する印刷処理装置とプリンタドライバを正確に対応つけるために識別子として用いられる。
【００２９】
情報処理装置１００と印刷処理装置２００が、例えば、ネットワークやセントロニクス、ＩＥＥＥ１２８４．４などの双方向通信媒体３００で接続された際に、印刷処理装置２００がその接続を検知し、印刷処理装置２００の固有情報を含む例えば、ＩＥＥＥ１２８４規定のデバイス情報４００を、通信媒体３００を介して情報処理装置１００へ伝える。ＩＥＥＥ１２８４デバイス情報４００は図１６に示す情報を含む。デバイス情報としては、本実施形態のようにＩＥＥＥ１２８４に限定されるものではなく、特開２００３−６１３３の図７に示すプリンタ構成情報を用いて、ＵＰｎＰに準拠した又はこれに類似したネットワーク対応のプラグアンドプレイに対しても適用可能であることは言うまでも無い。
【００３０】
上記デバイス情報４００を受け取った情報処理装置１００内のＯＳは、ＣＬＡＳＳタグを読み取り、プラグアンドプレーの対象が印刷処理装置であることを認識し、プリンタドライバのインストール処理が開始される。ＯＳはデバイス情報４００のＭＦＣとＭＤＬから構成されるＤｅｖｉｃｅＩＤを生成する。そのＤｅｖｉｃｅＩＤが記述されているＩＮＦファイル１０２を持つプリンタドライバセット１０１を格納されているプリンタドライバ群より検索する。
【００３１】
もし対応するプリンタドライバセット１０１を発見した場合は、そのプリンタドライバセットに関連するＩＮＦファイル中のＣＭＤ記述子を参照し合致していれば、そのドライバセット中の各種実行モジュールと、そしてリソースをＯＳへインストールする。続けてそのインストールしたドライバを、ＩＥＥＥ１２８４のデバイス情報４００を受け取った通信媒体３００のポートへ結びつける。もし対応するドライバセットのＤｅｖｉｃｅＩＤとＣＭＤ記述子が情報処理装置１００に存在しない場合は、インストール処理を行わずに終了する。
【００３２】
＜情報処理装置に関する実施例＞
図１３に情報処理装置１００内のプリンタドライバの自動インストールに関するプログラム群のブロック図を示す。
【００３３】
ＨＤＤ１００３は大容量のハードディスクである。予めＲＡＭ１０００にロードするプログラムやＩＮＦファイルやドライバセット１０１を記憶しておくことが出来る。ＣＤ／ＤＶＤ−ＲＯＭ／ＲＡＭドライブ１００４も同様の機能を持つ。各モジュール群は、ポート管理部と、プラグアンドプレー部、プリンタクラスインストーラ部と、１つ以上のプリンタドライバセットより構成されている。ＲＡＭ１０００は、ＨＤＤ１００３からこれらのプログラムモジュールを読み出し実行する。
【００３４】
ＣＰＵ１００２は、プリンタクラスインストーラ部１０３、プラグアンドプレーブ１０４、ポート管理部１０５を統括制御し、本願の各フローチャートの処理をＨＤＤ１００３などからＲＡＭ１０００に読み出して実行する。
【００３５】
ポート管理部１０５は、印刷処理装置２００との通信のために、通信媒体３００に接続された情報処理装置１００側のインターフェースの制御を行う。プリンタドライバの自動インストール時には、ＩＥＥＥ１２８４規定のデバイス情報４００を受け取り、プラグアンドプレー部に受け渡す。プラグアンドプレー部１０４は、プラグアンドプレーに関する印刷処理装置２００との情報制御を行うモジュールである。ポート管理部１０５より受け取ったデバイス情報４００を、プリンタやスキャナーなどの各クラスインストーラクラスに受け渡す。１００１は、各装置とＣＰＵを接続するバスである。なお、デバイスＩＤを授受する通信媒体は、ＩＥＥＥ１２８４に限定されるものではなく、例えば、ネットワークインタフェースであっても、デバイスＩＤを授受できるものであればよい。
【００３６】
プリンタクラスインストーラ部１０３は、プリンタドライバのインストールを担当するモジュールである。プラグアンドプレー部１０４より受け取ったデバイス情報４００を元に、１つ以上あるプリンタドライバセットより、そのデバイス情報４００に対応するプリンタドライバセットを検索し、もし該当のプリンタドライバセットを発見した場合、そのプリンタドライバをインストールし、ポートに結びつける。
【００３７】
プリンタドライバセット１０１は、ＤＬＬなどの動作モジュールやリソースで構成されるプリンタドライバの実行モジュール群と、インストールのためにそれらの特徴を明記するＩＮＦファイルとで構成される。ＩＮＦファイルには、プラグアンドプレー時に印刷処理装置１００より受け渡されるデバイス情報に含まれる製造元名称ＭＦＧと製品名称ＭＤＬで構成されるＤｅｖｉｃｅＩＤと、そのプリンタドライバが発行可能で、プリンタドライバと対応する印刷処理装置１００が解釈可能なＰＤＬ名称を記述するＣＭＤ記述子が、記述されている。印刷処理装置１００より受け渡されるデバイス情報には、このＰＤＬ名称が、ＣＭＤタグとして記述されている。
【００３８】
本実施例のプラグアンドプレーのプリンタドライバのインストール処理フローを、図１５を用いて説明する。この処理はプリンタクラスインストーラ部１０３で実行される。
【００３９】
Ｓ１５０１では、プラグアンドプレー部１０４が、印刷処理装置２００が発行したＩＥＥＥ１２８４規定のデバイス情報を取得する。そして、ＭＦＧとＭＤＬよりＤｅｖｉｃｅＩＤを生成し、Ｓ１５０２へ進む。Ｓ１５０２では、プラグアンドプレーブ１０４は、ＩＥＥＥ１２８４規定のデバイス情報のＣＬＡＳＳを参照し、デバイス情報がプリンタクラスのものか判断する。プリンタクラスでない場合処理を終了する。プリンタクラスの場合、Ｓ１５０３へ進む。
【００４０】
Ｓ１５０３では、プリンタクラスインストーラ部１０３が、ドライバセット中のＩＮＦファイル情報を全て処理したか否かを判断する。全て処理したと判断すれば，処理を終了する。未処理のＩＮＦファイル情報があると判断すれば、Ｓ１５０４へ進み、プリンタクラスインストーラ１０３は、未処理のＩＮＦファイル情報を一組取得してＳ１５０５へ進む。Ｓ１５０５では、プリンタクラスインストーラ１０３は、Ｓ１５０４で取得した現在のＩＮＦ内のＤｅｖｉｃｅＩＤの記述と、印刷処理装置２００が発行したＩＥＥＥ１２８４規定のデバイス情報を元に生成したＤｅｖｉｃｅＩＤが一致するか判断する。一致した場合、プリンタクラスインストーラ１０３は、Ｓ１５０６へ進む。一致しない場合、Ｓ１５０３へ進んで次の未処理のＩＮＦファイル情報があるか否かの判定を行う。Ｓ１５０６では、Ｓ１５０４で取得したＩＮＦファイル情報内のＣＭＤ既述子と、印刷処理装置２００が発行したＩＥＥＥ１２８４規定のデバイス情報４００のＣＭＤの項目が合致するか判断する。
【００４１】
なお、ここでは、デバイス情報４００のＣＭＤタグには複数個のコマンド体系名称をコンマで区切り記述可能である。複数個の記述がある場合はそれぞれのコマンド体系名称について合致するものがないか検索する。
【００４２】
ＩＮＦファイル情報内のＣＭＤ既述子と、印刷処理装置２００が発行したＩＥＥＥ１２８４規定のデバイス情報４００のＣＭＤの項目のうち、少なくとも一つが一致した場合、Ｓ１５０７へ進む。ＩＮＦファイル情報内のＣＭＤ既述子と、印刷処理装置２００が発行したＩＥＥＥ１２８４規定のデバイス情報４００のＣＭＤの項目とが全く一致しない場合、Ｓ１５０３へ進む。
【００４３】
Ｓ１５０７では、ＩＮＦファイル情報に関連するドライバセットをインストールし、そのインストール結果をポートに関連つける。具体的には、デバイスＩＤ（ＭＦＣ，ＭＤＬ）及びＣＭＤから一意に特定されるプリンタドライバのファイル名をＩＮＦファイル１０２から特定する。図１２の例では、Ｓ１５０４で取得しているＩＮＦファイル情報に含まれる現在のドライバ名をＳ１５０７で取得して、該ドライバ名にかかるドライバをＨＤＤから読み出して、該ドライバをＯＳが認識可能にインストールする。通常、ＩＮＦファイルとデバイスドライバにかかるＤｒｉｖｅｒ．ｄｌｌは、同じディレクトリに存在するので、すぐにＯＳのインストーラやインストールアプリは適切なドライバを発見し、インストールすることが出来る。このように、Ｓ１５０４で取得しているＩＮＦファイル情報に一意に適切なデバイスドライバを対応付けることにより、デバイス情報４００からＣＭＤ，ＭＦＣ，ＭＤＣの値を抽出して、これをキーにしてＩＮＦファイル情報内のＣＭＤ，ＭＦＣ，ＭＤＣの値と比較し、一致した場合には、さらにこのＩＮＦファイル情報に対応付けられているドライバ名が分かるので、適切な場所からドライバを検索してＯＳ又はアプリケーションが認識可能にレジストリに登録し、インストール完了できる。
【００４４】
上記フローは１つの印刷処理装置２００に対して、情報処理装置１００で１つのプリンタドライバをインストールする方法である。その他の実施例としてＳ１５０７を処理後、Ｓ１５０３へ処理を移すことで、ループ処理を行えば、デバイス情報４００のＣＭＤタグに複数個のコマンド体系名称をコンマで区切り列挙された場合に、複数個のプリンタドライバをまとめてインストールすることも可能であることを付言しておく。
【００４５】
具体的には、ＣＭＤタグにＰＤＬ１，ＰＤＬ２が記載された場合、ＩＮＦファイル情報として、ＣＭＤ記述子にＰＤＬ１，ＰＤＬ２が記述されたそれぞれのドライバＤＬＬファイル名を特定し、次々にインストールすることも出来る。
【００４６】
＜印刷処理装置に関する実施例＞
図２、図３に、本実施例の印刷処理装置２００のブロック図を示す。図２は印刷処理装置２００にＰＤＬ拡張装置１１が一つしか拡張されない印刷処理装置２００をあらわし、図３は２つ以上のＰＤＬ拡張装置１１（ａ），１１（ｂ）が拡張された印刷処理装置２００をあらわす。これらの印刷処理装置２００は、ＰＤＬ拡張装置１１以外のところは同じ構成であり、ＰＤＬ拡張装置の違いにより印刷処理装置２００で対応できるＰＤＬを変更することや、２つ以上に増やすことが可能である。脱着可能なコネクターをプリンタコントローラ拡張部８に設けることにより動的に、対応ＰＤＬを切り替えたり、増やすことも可能である。これらの印刷処理装置２００は以下の１０種類のブロックにより構成されている。
【００４７】
Ｉ／Ｆ部１は、図１中の通信媒体３００とつながる印刷処理装置部のインターフェースである。
【００４８】
Ｉ／Ｆ制御部２は、Ｉ／Ｆ部１を介しての通信を制御する装置である。プリンタコントローラ拡張部８より指示を受けて、印刷処理装置２００への通信媒体３００の接続時に適切なＩＥＥＥ１２８４のデバイス情報４００を情報処理装置１００へ送信する。
【００４９】
ＲＡＭ部３は、印刷処理装置２００内の一時的な情報を格納する記憶領域である。Ｉ／Ｆ部１を通して情報処理装置１００より送信されたＰＤＬを格納する。またＰＤＬをＰＤＬ拡張装置１１で変換しプリンタエンジン６が解釈可能なビットマップに変換し、そのビットマップを一時保管することに用いられる。
【００５０】
ＲＡＭ制御部４は、ＲＡＭ部３に格納されたＰＤＬをプリンタコントローラ拡張部に正しく伝えるために用いられる。またＰＤＬ拡張装置１１でＰＤＬからプリンタエンジン６が解釈可能な情報に変換したビットマップをＲＡＭ部３に格納する制御を行う。
【００５１】
画像データ調歩回路部５は、ＲＡＭ部３に格納されたビットマップを、プリンタエンジン６の回転と同期して出力するために使われる回路である。
【００５２】
プリンタエンジン６は、画像データ調歩回路部５より渡された、ＰＤＬ拡張装置１１でＰＤＬからプリンタエンジン６が解釈可能な情報に変換したビットマップを、紙などの印刷媒介に記録する装置である。
【００５３】
エンジンＩ／Ｆ部７は、プリンタコントローラ拡張装置１０の指示により、プリンタエンジンへの制御情報を司る制御装置である。ユーザインターフェイスやＰＤＬで支持された給紙などの指定を、プリンタコントローラ拡張部より依頼され、プリンタエンジンへその実行依頼を行う。
【００５４】
プリンタコントローラ拡張部８は、ＰＤＬ拡張装置１１とその他の装置のハブ的な制御装置である。以下の処理を行う。ＰＤＬ拡張装置装置１１の装着状況に応じて、プラグアンドプレーに必要なＩＥＥＥ１２８４のデバイス情報を取りまとめＩ／Ｆ制御部２へ受け渡す。ＲＡＭ制御部４から渡されたＰＤＬデータをＰＤＬ拡張装置１１に受け渡し、プリンタエンジン６が解釈可能なビットマップへの変換処理を依頼する。ＰＤＬ拡張装置１１から受けたビットマップをＲＡＭ制御部４に受け渡し、エンジンを動作可能な条件が整ったときに、画像データ調歩回路５にＲＡＭ部３からプリンタエンジン６へのビットマップ転送を依頼する。ユーザインターフェイスや、ＰＤＬ拡張装置１１で解釈したＰＤＬ内の給紙指定などの設定を受けて、エンジンＩ／Ｆ部７に制御情報を伝える。ＰＤＬ拡張装置１１は、ＰＤＬをプリンタコントローラ拡張部より受けて、プリンタエンジン６が解釈可能なビットマップに変換し、プリンタコントローラ拡張部８に受け渡す装置である。またＰＤＬ内の給紙などの設定を解釈して、プリンタコントローラ拡張部８に受け渡す装置である。例えばＰＤＬ２やＰＤＬ１などの解釈を担当する装置である。一つのＰＤＬ拡張装置が２つ以上のＰＤＬを解釈することも可能である。
【００５５】
またプラグアンドプレーに使用されるＩＥＥＥ１２８４のデバイス情報４００はここに保持される。
【００５６】
プリンタコントローラ拡張装置部８の要求により取得される。ユーザインターフェイス部１０は、ユーザからの指定を受けて、プリンタコントローラ拡張部８へ伝える装置である。液晶付のタッチパネルやテンキーなどの入力と出力装置を備える。
【００５７】
図４に各ＰＤＬ拡張装置が有するＩＥＥＥ１２８４規定のデバイス情報４００の元となる情報であるＰＤＬ拡張内情報の一例を示す。このＰＤＬ拡張内部情報はこの例では、３つの情報で構成されている。第一の情報であるＩＥＥＥ１２８４規定情報は、印刷処理装置２００が通信媒体３００を介して返すデバイス情報４００の情報である。第二の情報であるＭＤＬ名称にＰＤＬ１の文字列を含むことを特徴とし、このＭＦＧとＭＤＬに対応するＤｅｖｉｃｅＩＤの記述がＩＮＦに存在する適切なＰＤＬに対応したプリンタドライバセット１０１が情報処理装置１００にあれば、ＰｎＰで正しい組み合わせのドライバがインストール可能である。
【００５８】
第三の情報である推奨度情報は、実施例３に関連するこのＰＤＬ拡張装置の主なＰＤＬに対する推奨度をあらわす数値である。
【００５９】
この例では推奨度は、０．０００から９．９９９までの範囲で定義され、数値が大きい方が、推奨度が高い。特に実施例３以外ではなくてもよい。ＰＤＬ名称は、ＰＤＬ拡張装置がサポートしている主なＰＤＬ名称を記述している。
【００６０】
例えば図３に示すＰＤＬ拡張装置１１ａがＰＤＬ１を主なサポートＰＤＬとする場合、ＰＤＬ拡張内情報（図４の１１（ａ））が図３のＰＤＬ拡張装置１１ａに保持する。例えば、ＰＤＬ１の推奨度は２．０００で、ＩＥＥＥ１２８４規定情報のＭＤＬ名称にＰＤＬ１の文字列を含む。そして、この拡張装置内情報に対応させて、情報処理装置内格納用のドライバセットとしてＰＤＬ１用のドライバが用意される。そのドライバセット（図１２の１０１）のＩＮＦファイルに上記ＰＤＬ１の文字列を含むＭＤＬとＭＦＧで構成されるＤｅｖｉｃｅＩＤが記述されているものとする（図１２を参照）。
【００６１】
また図３に示すＰＤＬ拡張装置１１ｂがＰＤＬ２を主なサポートＰＤＬとする場合、ＰＤＬ拡張内情報図４の１１（ｂ）がＰＤＬ拡張装置１１（ｂ）に保持されている。この例ではＰＤＬ２の推奨度は１．０００で、ＩＥＥＥ１２８４規定情報のＭＤＬ名称にＰＤＬ２の文字列を含み、これに対応する情報処理装置内格納のドライバセットとしてＰＤＬ２ドライバが用意され、そのＩＮＦファイルに上記ＰＤＬ１の文字列を含むＭＤＬとＭＦＧで構成されるＤｅｖｉｃｅＩＤが記述されているものとする。
【００６２】
図５は、ＰＤＬ優先順位情報の一例である。図６は、ＰＤＬ優先順位による判断のデバイス情報発行処理フロー図である。以下、システムの動作例を図５、図６を用いて説明する。図５の印刷処理装置２００に搭載可能なＰＤＬに関する優先情報であるＰＤＬ優先順位情報を、プリンタコントローラ拡張部８が有している。ここでは、このＰＤＬ優先順位情報は配列の高位にあるほうが、優先順が高いものとする。このＰＤＬ優先順位情報を元に、図６で示すフローに従い、現在搭載中のＰＤＬ拡張装置のデバイス情報（図４の１１（ａ）及び１１（ｂ））よりＰＤＬ拡張内情報を取得する。つまり、図６のフローに従い、主サポートのＰＤＬの中でより優先順位が高いＰＤＬを有するＰＤＬ拡張部を選択する。そして、そのＰＤＬ拡張部（図３の１１ａ又は１１ｂ）が保持する図４のうちのＩＥＥＥＥ１２８４規定デバイス情報を元に図１２のデバイス情報４００を生成して、情報処理装置１００に送る。
【００６３】
図６のフロー図を用いて、情報処理装置１００と印刷処理装置２００が通信媒体３００で接続された場合もしくは、ＰＤＬ拡張装置１１が印刷処理装置に新しく接続された場合のＰＤＬ優先順位情報による判断処理を説明する。印刷処理装置２００側のフローである。
【００６４】
Ｓ６０１では、プリンタコントローラ拡張部８が保持しているＰＤＬ優先順位情報を例えば、ＲＡＭ制御部又はプリンタコントローラ拡張部が取得し、Ｓ６０２へ進む。この例ではプリンタコントローラ拡張部８が保持したが、印刷処理装置２００内の他の手段や、インターネットなどの上に存在する他のサーバより情報を取得してもよい。また図２のユーザインターフェイス１０でその優先順位を変更する機能を入れてもよい。ユーザインタフェース１０とは、後述する図１０に示す印刷装置の操作パネルである。
【００６５】
Ｓ６０２で、現在搭載中のＰＤＬ拡張装置１１を検地し現在のＰＤＬ拡張装置装着数Ｎと、各ＰＤＬ拡張装置１１で保持しているＰＤＬ拡張内情報を取得し、Ｓ６０３へ進む。
【００６６】
Ｓ６０３では、ＰＤＬ拡張装置装着数Ｎが０とプリンタコントローラ拡張部が判定した場合、解釈可能なＰＤＬは存在しないと判断し、Ｓ６０９へ進む。Ｎが０で無いとプリンタコントローラ拡張部８が判定した場合は、Ｓ６０４へ進む。Ｓ６０４では、図５に示すＰＤＬ優先順位情報内のＰＤＬ情報を全て処理したかどうかをプリンタコントローラ拡張部が判断する。全て処理していないと判断下場合、Ｓ６０５に進み、未処理のＰＤＬを図６のスタックの一番上から順にひとつ取得し、取得したＰＤＬの種類は処理済とマークする。続いて、Ｓ６０６へ進む。Ｓ６０４で、ＰＤＬ優先順位情報内のＰＤＬを全て処理したと判断された又は、ＰＤＬ優先情報が存在しないと判断された場合は、Ｓ６０９へ進む。Ｓ６０９ではＩＥＥＥ１２８４のプリンタ情報を発行せずに処理を終了する。
【００６７】
なお、ＰＤＬ優先順位情報が印刷処理装置２００内に設定されていない場合は、Ｓ６０３でＮ＝０では無い場合で、Ｓ６０９に処理が抜けた場合、印刷処理装置２００は何もしないのではなく、予め決めたデフォルトのＰＤＬのプリンタドライバを選択させるようなデバイスＩＤを情報処理装置に転送してもよい。例えば、例えばデフォルトのＰＤＬ１をＣＭＤに記入してプリンタ情報として情報処理装置に送ってもよいし、情報処理装置側で、ＣＭＤが空欄であった場合は、デフォルトの例えばＰＤＬ１のプリンタドライバをインストールするようにしてもよいことは言うまでも無い。
【００６８】
Ｓ６０６では、Ｎ個のＰＤＬ拡張装置内の図４に示すＰＤＬ拡張装置内情報を、全て処理済かどうかをプリンタコントローラ拡張部が、判断する。Ｓ６０６で全て処理済とプリンタコントローラ拡張部が判断した場合は、Ｓ６０４に進み、ＰＤＬ優先順位情報のスタックから次の未処理のＰＤＬについて処理を進める。Ｓ６０６で、未処理のＰＤＬ拡張装置内情報があると判定した場合は、Ｓ６０７へ進み未処理のＰＤＬ拡張装置内の情報、つまり図４のＰＤＬ拡張装置内情報を、ＰＤＬ拡張装置１１（ａ）又はＰＤＬ拡張装置（ｂ）などからプリンタコントローラ拡張部が取得し、Ｓ６０８へ進む。Ｓ６０８で、Ｓ６０５取得したＰＤＬ優先順位情報内のＰＤＬ名称と、Ｓ６０７で取得したＰＤＬ拡張装置１１より取得したＰＤＬ拡張内情報（図４）のＰＤＬ名称が同じとプリンタコントローラ拡張部が判断した場合、Ｓ６１０へ進む。
【００６９】
Ｓ６１０では、ＰＤＬ拡張装置１１より取得したＳ６０７でＰＤＬ拡張内情報１１内のＩＥＥＥ１２８４の規定情報を（プリンタ情報）をプリンタコントローラ拡張部８が、発行する。
【００７０】
図７は、ロケール別のＰＤＬ優先順位情報の一例を示す図である。図８は、ロケール別のＰＤＬ優先順位による判断のデバイス情報発行処理フローを示す図である。さらに実施例を図７、図８を用いて説明する。ＰＤＬの好みは各国市場で異なる場合がある。よって図７に示すように各国向けのＰＤＬ優先順位情報を用意し、その中から適当なものを選択してその市場別の対応のいわゆるローカライズを行うことも可能である。その場合の図６で示したフロー中の図８のＳ１の処理として、図８で示した処理が動作する。
【００７１】
図８のＳ１では、仕向け地のプリンタコントローラ拡張部８が保持するロケールＩＤを取得する。この例ではプリンタコントローラ拡張部８が保持したが、印刷処理装置２００内の他の手段が保持しても良い。図８のＳ２では、ロケールＩＤに対応したプリンタコントローラ拡張部８が保持しているＰＤＬ優先順位情報を取得する。この例ではプリンタコントローラ拡張部８が保持したが、印刷処理装置２００内の他の手段や、インターネットなどの上に存在する他のサーバより情報を取得してもよい。また図２のユーザインターフェイス１０でその優先順位を変更する機能を入れてもよい。
【００７２】
図９は、ＰＤＬ拡張装置内のＰＤＬ拡張内情報の推奨度による判断のデバイス情報発行処理フローを示す図である。ＰＤＬ拡張装置１１に含まれるＰＤＬ拡張内情報１１内のＰＤＬの推奨度情報を使った判断処理を図９のフロー図を用いて説明する。この方法ではＰＤＬ拡張装置１１内にＰＤＬの推奨度情報を保持するので、印刷処理装置２００開発時に、想定していなかった新しいＰＤＬに対応することが出来る。以下は、例えば，プリンタコントローラ拡張部８における処理であるがこれに限定されるものではない。
【００７３】
Ｓ９０１では、装着したＰＤＬ拡張装置１１の数をカウントする変数ｉと最大の推奨度のＰＤＬ拡張装置の番号を表すｊと、最大の推奨度を保持するＲａｎｋｍａｘをゼロに初期化する。
【００７４】
Ｓ９０２では、装着されているＰＤＬ拡張装置（例えば１１（ａ）、１１（ｂ））を検知しその数Ｎと、その個々の内部に保持されているＰＤＬ拡張内情報（例えば、図４）を取得する。Ｓ９０３は、装着されているＰＤＬ拡張装置が０個と判断された時、Ｓ９１０に進む。０以外と判断された時は、Ｓ９０４へ進む。Ｓ９０４では、ｉがＮ以下か判断し、真の場合、Ｓ９０４−２へ進む。それ以外は、Ｓ９０６へ進む。
【００７５】
Ｓ９０４−２では、ｉ番目のＰＤＬ拡張装置内のＰＤＬ拡張内情報に保持されているＰＤＬの推奨度Ｒａｎｋｉを取得し、Ｓ９０４−３へ進む。ここで、ｉは添え字の変数である。Ｓ９０４−３では、ＲａｎｋｉがＲａｎｋｍａｘより小さいと判断された場合は、Ｓ９０５へ進む。それ以外であると判断された場合、Ｓ９０７へ進む。Ｓ９０７では、ｊにｉを代入し、最大の推奨度のＰＤＬ拡張装置の列挙番号を保持しておく。さらにＲａｎｋｍａｘにＲａｎｋｉを代入し、最大の推奨度を保持し、Ｓ９０５へ抜ける。Ｓ９０５では、ｉに１を加算し、Ｓ９０３へ進む。Ｓ９０６では、Ｓ９０５で最後に保持した、ｊ番目のＰＤＬ拡張装置１１の保持するＰＤＬ拡張内情報のＩＥＥＥ１２８４規定情報よりデバイス情報４００を生成し発行する。Ｓ９１０では、プリンタクラス用のデバイス情報４００は発行せず、処理を終了する。
【００７６】
印刷処理装置２００のユーザインターフェイス部１０で、プラグアンドプレー用ＰＤＬの選択を行う実施例を図１０と図１１を用いて説明する。図１０は、プラグアンドプレー用ＰＤＬ選択のＵＩの一例を示す図である。図１１は、ＵＩによるデバイス情報発行処理フロー図を示す図である。
【００７７】
図１０はデバイス情報４００として発行するＰＤＬを選択されるＵＩの好適例を示す図である。図に示すようにその印刷処理装置２００で対応しているＰＤＬを列挙し、その右端にチェックボックスを指定できるＵＩ部品が表示されている。このチェックの位置をユーザのＵＩ操作によって、変更することにより、プラグアンドプレーとして使いたいＰＤＬが設定可能である。図１０には、プラグアンドプレイ用ＰＤＬの選択画面として、ＰＤＬ１，ＰＤＬ２，ＰＤＬ５が表示されている。ＰＤＬ５の真横にあるチェックボックスが選択されている。ここでは、ＰＤＬ５をプラグアンドプレー用のＰＤＬとして選択することになる。
【００７８】
図１１を用いて印刷処理装置の内部処理のフローを説明する。図１１のＳ１では、まず、プリンタコントローラ拡張部は、ロケールＩＤを取得して、図７に示す仕向け地先のＰＤＬ優先順位情報の中から、適切なＰＤＬ優先順位情報を取得する。
【００７９】
図１１のＳ２では、印刷処理装置２００に装着されているＰＤＬ拡張装置１及びＰＤＬ拡張装置２（図３）を検知し、ＰＤＬ拡張内情報を取得する。続いて、Ｓ３では、ＰＤＬ拡張装置１又は２から取得したＰＤＬ拡張内情報（図４）から、ＰＤＬ名称を取得し、ＰＤＬ優先順位情報に基づいて並べる。図１１のＳ４では、デフォルトではＰＤＬ優先順位情報で最も優先順位が高いＰＤＬ名称にチェックをつけてＵＩ上に表示して待ち状態となり、ＯＫまたはキヤンセルが押されるまで待つ。図１１のＳ４では、ユーザは、デフォルトのＰＤＬ（図１０ではＰＤＬ５）の使用でよければ、そのままＯＫを押せばよい。また、プラグアンドプレイによってインストールするドライバを変更する場合には、別のＰＤＬのチェックボックスを選択状態にする。図１０では、複数のＰＤＬに対してチェックも可能である。Ｓ４でＯＫが押されると、Ｓ５へ進み、Ｓ４でチェックがされているＰＤＬ名称をもつＰＤＬ拡張装置からＰＤＬ拡張内情報を取得し、ＩＥＥ１２８４規定情報を取得して、デバイス情報４００として発行する。例えば、ＰＤＬ１，ＰＤＬ５が選択されている場合は、印刷装置２００の製造者名、製品名（機種名）と、ＣＭＤ記述子にＰＤＬ１とＰＤＬ５を指定してデバイス情報４００（プリンタ情報）として情報処理装置に送出する。情報処理装置は、デバイス情報４００の取得に応答して、図１５に示す処理を起動することになる。ＣＭＤに記述されたＰＤＬの種類の個数分、複数回起動することにより、複数のプリンタドライバをインストールさせることも可能である。
【００８０】
Ｓ４で、キヤンセルがユーザが、図１０の操作パネルを介して入力されたことをプリンタコントローラ拡張部が検知した場合、既にデバイス情報４００を発行していない場合は、Ｓ４でＰＤＬ名称にチェックをつけたＰＤＬ拡張装置１１のＰＤＬ拡張内情報１１より、ＩＥＥ１２８４規定情報を取得して、デバイス情報４００として発行する。既に既にデバイス情報４００を発行していない場合は、何も発行しない。
【００８１】
上記ではＳ４の列挙順処理としてＰＤＬ優先順位情報の優先順位を用いたが、ＰＤＬ拡張装置１１のＰＤＬ拡張内情報１１内の推奨度に基づいて列挙してもよい。
【００８２】
また、この例では、印刷処理装置２００のユーザインターフェイス部１０で、設定を行うこととしたが、外部の情報処置装置に存在するアプリケーションとして、図１０に示すような、ＰＤＬの選択をさせるＵＩを持たせてもよい。
【００８３】
本実施形態によりプラグアンドプレー時に、ＰＤＬ拡張装置部が脱着可能な印刷処理装置に関して、プリンタドライバが発行するＰＤＬと、印刷処理装置が解釈可能なＰＤＬの不一致が起こらず、適切なプリンタドライバがインストールされ、複数個のＰＤＬを搭載した印刷処理装置において、印刷処理装置メーカーが推奨するＰＤＬもしくは、ユーザが選択したＰＤＬのプリンタドライバがインストールされるという効果がある。
【００８４】
以上説明したように、複数種類の処理に対応可能な画像形成装置の一例である印刷装置２００と、該印刷装置をデバイスドライバの一例であるプリンタドライバを用いて駆動する情報処理装置の一例であるＰＣ等とがネットワークやＩＥＥＥ１２８４等の所定の通信媒体で接続された画像形成システムにおいて、印刷処理装置２００が、機種識別子の一例であるＭＤＬ又は／及び製造者識別子の一例であるＭＦＣの情報と、印刷処理装置２００に対応する複数種類の処理の一例であるＰＤＬ１に係る画像解釈処理、又はＰＤＬ２に係る画像解釈処理のうち少なくとも一つの処理を識別する処理識別情報の一例であるＣＭＤに係る情報を含むＩＥＥＥ１２８４デバイス情報４００とを、印刷処理装置２００内の拡張処理装置から読み出して通信媒体３００へ転送する処理を制御するＩ／Ｆ制御部２を備える。
【００８５】
一方、情報処理装置は、前記通信媒体３００から前記転送制御手段の一例であるＩ／Ｆ制御部２が制御する転送処理により転送されたデバイス情報４００を取得する取得手段の一例であるポート管理部１０５と、取得した機種名及び製造者名の一例であるＭＦＣ，ＭＤＣ情報と、処理識別情報の一例であるＣＭＤ情報の値を用いて、印刷処理装置２００において処理可能な前記複数のＰＤＬ処理のうち少なくとも一つの処理を制御可能なデバイスドライバを選択する選択手段の一例であるプリンタクラスインストーラ部１０３を備えることを説明した。
【００８６】
さらに、複数の画像形成処理を解釈可能な画像形成装置の一例である印刷装置２００において、前記画像形成装置で起動する画像形成処理を設定する設定手段の一例である図１０の操作パネルにかかるユーザインタフェース部１０と、製造者識別子又は機種識別子と（例えばＭＦＣ又はＭＤＣ情報と）、操作パネルにより設定された画像形成処理としてＣＭＤの値としてＰＤＬ５を格納してプリンタ情報４００として発行する発行手段の一例であるプリンタコントローラ拡張部を備える印刷装置２００を開示した。
【００８７】
前記複数の画像形成処理の一例であるＰＤＬ１乃至ＰＤＬ２等の解釈処理は、前記画像形成装置に接続又は内臓される複数の画像形成用の拡張装置の一例であるＰＤＬ拡張装置１１（ａ）等により実行されるものであってもよい。また、ＣＭＤの値は、ＰＤＬ拡張装置１１（ａ）などから、印刷処理装置のプリンタコントローラ部が取得するものであってもよい。
【００８８】
また、ＰＤＬ拡張装置には、優先度情報を格納することができ、前記画像形成装置のプリンタコントローラ拡張部は、優先度情報を取得して、前記発行手段が通信媒体に対して発行する処理識別情報を決定する決定手段してもよい。
【００８９】
さらに、前記複数のＰＤＬの解釈処理に対してはそれぞれ優先度情報が付与されており、前記画像形成装置に格納される図５の優先度順位情報（優先順位情報）と比較することにより、適切な処理識別情報をプリンタコントローラ拡張部が発行してもよい。
【００９０】
さらに、印刷処理装置２００は、図７のような優先度順位情報を複数格納ＲＡＭや不図示のＨＤＤ、ＰＤＬ拡張装置１又は２内に可能であって、ローカライズに応じて、該複数の優先度順位情報を選択するようにしてもよい。
【００９１】
［他の実施例］
例えば図３に示すように２つのＰＤＬ拡張装置が装着可能な場合、ＰＤＬ拡張装置１１を装着するスロットが優先順位を持ち、プラグアンドプレーに必要なデバイス情報を変更することも一つの実施例として挙げられる。例えば、図３でＰＤＬ拡張装置１１（ａ）が装着されているスロットが、ＰＤＬ拡張装置１１（ｂ）が装着されているスロットより優先度が高い設定とする。
【００９２】
またＰＤＬ拡張装置１１を装着する順番に応じて優先順位を振り、その優先順位に応じて、プラグアンドプレーに必要なデバイス情報を変更することも一つの実施として挙げられる。例えば後優先とし、図３でＰＤＬ拡張装置１１（ｂ）が、ＰＤＬ拡張装置１１（ａ）より後に装着された場合、スロットよりＰＤＬ拡張装置１１（ｂ）優先度が高い設定とする。
【００９３】
さらにＰＤＬ拡張装置１１に優先順位を決定するスイッチがあり、そのスイッチの優先順位に応じて、プラグアンドプレーに必要なデバイス情報を変更することも一つの実施として挙げられる。
【００９４】
最後にＰＤＬ拡張装置１１を装着するスロットに優先順位を決定するダイヤルなどの数値を指定可能なスイッチがあり、そのスイッチの優先順位に応じて、プラグアンドプレーに必要なデバイス情報を変更することも一つの実施として挙げられる。
【００９５】
なお、本発明は、複数の機器（例えばホストコンピュータ、インターフェース機器、リーダ、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（複写機、プリンタ、ファクシミリ装置など）に適用してもよい。
【００９６】
また、前記優先順位として、印刷処理装置２００に脱着可能なＰＤＬ拡張装置が、描画体系に対するプラグアンドプレーの前記デバイス情報群の優先順位を持ってもよい。
【００９７】
さらに、ＰＤＬ拡張装置を装着する印刷処理装置側のスロットに対して優先順位を持ち、プラグアンドプレーに前記デバイス情報を変更してもよい。
【００９８】
またＰＤＬ拡張装置部を装着する順番に応じて優先順位を振り、その優先順位に応じて、プラグアンドプレーに前記デバイス情報を変更してもよい。
【００９９】
また、ＰＤＬ拡張装置に優先順位を決定するスイッチがあり、そのスイッチの優先順位に応じて、前記デバイス情報を変更する。また、ＰＤＬ拡張装置部を装着するスロットに優先順位を決定するスイッチがあり、そのスイッチの優先順位に応じて、前記デバイス情報を変更してもよい。
【０１００】
また、本発明の目的は、前述した実施形態の機能を実現する、各図のフローチャートの手順を実現するプログラムコードを記憶した記憶媒体を、システムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても達成される。
【０１０１】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１０２】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどを用いることができる。
【０１０３】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【０１０４】
更に、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【０１０５】
ＰＤＬ拡張装置として分離し、印刷処理装置にその拡張ボードを搭載することによりサポート描画体系を切り替え可能な印刷処理装置の場合、例えば今の印刷処理装置に、ＰＤＬ１，ＰＤＬ２という２つの描画言語体系が搭載可能だが、ＰＤＬ１のみが実際に印刷処理装置に搭載されているものとする。かかるシステムにおいて、それぞれのプリンタドライバが情報処理装置に格納されている前提において、本実施形態の一つの側面によれば、以下の課題を解決できる。プラグアンドプレーは、印刷処理装置から情報処理装置に受け渡される印刷処理装置の識別データのうち、描画言語体系を示す情報を無視して、製造者名と印刷処理装置名でのみ、その印刷処理装置に該当するプリンタドライバを情報処理装置から検索することによって起こる、不適切なドライバのインストールが生ずることがなくなる。
【０１０６】
ＰＤＬ２のプリンタドライバが先にプラグアンドプレーによって発見された場合、この印刷処理装置のためにＰＤＬ２がＯＳにインストールされるのではなく、後に見つかったドライバであっても、拡張装置に適切なドライバをインストールすることが出来る。また、複数個の描画体系をサポート可能な印刷処理装置の場合、製造元が推奨していないエミュレーションのための描画体系用のプリンタドライバであるにも関わらず、先にプラグアンドプレーに発見されてしまい、他の効率的な描画体系があまり利用されないという問題を解決できる。
【０１０７】
（他の実施形態）
なお、印刷装置２００は、ＰＤＬ拡張装置部を装着する印刷処理装置側のスロットに対して優先順位を持ち、プラグアンドプレーに前記デバイス情報を変更してもよい。さらに、ＰＤＬ拡張装置部を装着する順番に応じて優先順位を振り、その優先順位に応じて、プラグアンドプレーに前記デバイス情報を変更してもよい。さらに、ＰＤＬ拡張装置部に優先順位を決定するスイッチがあり、そのスイッチの優先順位に応じて、前記デバイス情報を変更してもよい。さらに、ＰＤＬ拡張装置部を装着するスロットに優先順位を決定するスイッチがあり、そのスイッチの優先順位に応じて、前記デバイス情報を変更してもよい。
【０１０８】
本実施形態における図６，８，９、１１，１４，１５等に示す処理が、外部からインストールされるプログラムによって、印刷処理装置及び情報処理装置より遂行される。そして、その場合、ＣＤ−ＲＯＭやフラッシュメモリやＦＤ等の記憶媒体により、あるいはネットワークを介して外部の記憶媒体から、プログラムを含む情報群をホストコンピュータに供給される場合でも本発明は適用されるものである。
【０１０９】
以上のように、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、又は、外部サーバ（図示省略）からダウンロードすることで、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【０１１０】
この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。プログラムコードを供給するための記憶媒体としては、たとえば、フロッピィーディスク、ハードディスク、光ディスク、光磁気ディスク、ＤＶＤ、ＣＤ−ＲＯＭ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＥＥＰＲＯＭ等を用いることができる。
【０１１１】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【図面の簡単な説明】
【０１１２】
【図１】本実施形態のプラグアンドプレーの前提を示す図である。
【図２】実施例の印刷処理装置２００のブロック図の一例を示す図である。
【図３】実施例の印刷処理装置２００のブロック図の別の一例を示す図である。
【図４】各ＰＤＬ拡張装置が有するＰＤＬ拡張内情報の一例を示す図である。
【図５】ＰＤＬ優先順位情報の一例を示す図である。
【図６】ＰＤＬ優先順位による判断のデバイス情報発行処理フロー図である。
【図７】ロケール別のＰＤＬ優先順位情報の一例を示す図である。
【図８】ロケール別のＰＤＬ優先順位による判断のデバイス情報発行処理フローを示す図である。
【図９】ＰＤＬ拡張装置内のＰＤＬ拡張内情報の推奨度による判断のデバイス情報発行処理フローを示す図である。
【図１０】プラグアンドプレー用ＰＤＬ選択のＵＩの一例を示す図である。
【図１１】ＵＩによるデバイス情報発行処理フロー図である。
【図１２】本実施形態の印刷システムレベルの実施例を示す図である。
【図１３】情報処理装置１００内のプリンタドライバの自動インストールに関するプログラム群を示す図である。
【図１４】プラグアンドプレー部１０４及びプリンタクラスインストーラ部１０３における処理を示す図である。
【図１５】本実施例のプラグアンドプレーのプリンタドライバのインストール処理を示す図である。
【図１６】ＩＥＥＥ１２８４デバイス情報４００の一例を示す図である。
【図１】
2005258661.tif 000003
【図２】
2005258661.tif 000004
【図３】
2005258661.tif 000005
【図４】
2005258661.tif 000006
【図５】
2005258661.tif 000007
【図６】
2005258661.tif 000008
【図７】
2005258661.tif 000009
【図８】
2005258661.tif 000010
【図９】
2005258661.tif 000011
【図１０】
2005258661.tif 000012
【図１１】
2005258661.tif 000013
【図１２】
2005258661.tif 000014
【図１３】
2005258661.tif 000015
【図１４】
2005258661.tif 000016
【図１５】
2005258661.tif 000017
【図１６】
2005258661.tif 000018