(57)【要約】【課題】  一つの周辺装置内に、同じ機能カテゴリの処理を複数個、選択的に搭載可能な場合に、周辺機器から情報処理装置に処理識別情報を複数個渡され、それに対応するデバイスドライバをインストールする場合の適切な方法を提供すること。【解決手段】  複数個の処理識別情報を取得した場合、あらかじめ決められた判断基準により処理識別情報を選択する選択手段と、ユーザに選択可能な手段を備えること。またその判断基準を編集する手段を情報処理装置または周辺処理装置に有すること。【選択図】  図１８
2006235721.tif 000002
【特許請求の範囲】
【請求項１】
複数種類の処理をすることができる画像形成装置と、該画像形成装置をデバイスドライバで駆動する情報処理装置とを含む画像形成システムにおいて、
前記画像形成装置は、該画像形成装置に対応する複数種類の処理のうち少なくとも一つの処理に対応する処理識別情報を該画像形成装置から読み出して前記通信媒体へ転送する処理を制御する転送制御手段を備え、
前記情報処理装置は、前記画像形成装置から転送されてくる処理識別情報を取得する取得手段と、
前記取得手段が取得した複数の処理識別情報から、少なくともひとつの処理識別情報を選択する選択手段と、
前記選択手段が選択した処理識別情報に対応する前記画像形成装置が提供可能な処理を制御可能なデバイスドライバをインストールするインストール手段と、
前記取得手段が複数の処理識別情報を取得するのに応じて、選択すべき処理識別情報を自動で選択するのか、ユーザからの選択指示により所定の処理識別情報を選択するのかを指示可能な指示画面を所定時間の間表示する表示手段を備えたことを特徴とする画像形成システム。
【請求項２】
前記画像処理装置から転送されてくる複数の処理識別情報の転送順序に基づいて、複数の処理識別情報の中から処理識別情報を選択することを特徴とする請求項１に記載の画像形成システム。
【請求項３】
前記画像形成装置又は情報処理装置内に記憶される、処理識別情報の選択優先順位を示す情報を用いて、複数の処理識別情報の中から処理識別情報を選択することを特徴とする請求項１又は２に記載の画像形成システム。
【請求項４】
前記選択優先順位を変更する変更手段を前記画像形成装置または前記情報処理装置に有することを特徴とする請求項３に記載の画像形成システム。
【請求項５】
前記情報処理装置でユーザインターフェイスを表示できない場合、前記あらかじめ決められた判断基準により処理識別情報を自動選択することを特徴とする請求項１乃至４のいずれかに記載の画像形成システム。
【請求項６】
前記処理識別情報は、所定のページ記述言語に対応する識別情報又は、ファクシミリ通信機能に対応する識別情報であることを特徴とする請求項１乃至５のいずれかに記載の画像形成システム。
【請求項７】
複数の処理を提供する画像形成装置と通信する情報処理装置において、
前記画像形成装置から転送されてくる処理識別情報を取得する取得手段と、
前記取得手段が取得した複数の処理識別情報から、少なくともひとつの処理識別情報を選択する選択手段と、
前記選択手段が選択した処理識別情報に対応する前記画像形成装置が提供可能な処理を制御可能なデバイスドライバをインストールするインストール手段と、
前記取得手段が複数の処理識別情報を取得するのに応じて、選択すべき処理識別情報を自動で選択するのか、ユーザからの選択指示により所定の処理識別情報を選択するのかを指示可能な指示画面を所定時間の間表示する表示手段を備えたことを特徴とする情報処理装置。
【請求項８】
複数の処理を提供する画像形成装置と通信する情報処理装置における方法において、
前記画像形成装置から転送されてくる処理識別情報を取得する取得工程と、
前記取得工程で取得された複数の処理識別情報から、少なくともひとつの処理識別情報を選択する選択工程と、
前記選択工程が選択した処理識別情報に対応する前記画像形成装置が提供可能な処理を制御可能なデバイスドライバをインストールするインストール工程と、
前記取得工程にて複数の処理識別情報を取得するのに応じて、選択すべき処理識別情報を自動で選択するのか、ユーザからの選択指示により所定の処理識別情報を選択するのかを指示可能な指示画面を所定時間の間表示する表示工程を備えたことを特徴とする情報処理方法。
【請求項９】
請求項８に記載の方法をコンピュータに実行させることを特徴とする制御プログラム。
【請求項１０】
所定のデバイスクラスに属する処理識別子の優先度を認識する認識手段と、
前記認識手段が認識する優先度が指定されている処理識別子とは別の処理識別子であって、前記デバイスクラスに属する処理識別子に対応するデバイスドライバをインストールするか否かを特定する特定手段と、
を備えることを特徴とする情報処理装置。
【請求項１１】
前記処理識別子は、所定のＰＤＬ種別に対応し、前記優先度が指定されている処理識別子とは別の処理識別子であって、前記デバイスクラスに属する処理識別子は、ファクシミリドライバに対応することを特徴とする請求項１０に記載の情報処理装置。
【請求項１２】
前記認識手段が認識した優先度が高い処理識別子に対応するデバイスドライバと、前記優先度が指定されている処理識別子とは別の処理識別子であって、前記特定手段が特定した処理識別子に対応するデバイスドライバを、二回のプラグアンドプレイ処理を起動することによって、インストールすることを特徴とする請求項１０又は１１に記載の情報処理装置。
【請求項１３】
所定のデバイスクラスに属する処理識別子の優先度を認識する認識工程と、
前記認識手段が認識する優先度が指定されている処理識別子とは別の処理識別子であって、前記デバイスクラスに属する処理識別子に対応するデバイスドライバをインストールするか否かを特定する特定工程と、
を備えることを特徴とする情報処理方法。
【請求項１４】
請求項１３に記載の方法をコンピュータに実行させることを特徴とする制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
画像形成装置、該画像形成装置を制御するデバイスドライバを搭載した情報処理装置と、これらを含むシステム等に関するものである。
【背景技術】
【０００２】
従来の技術において、拡張ボードを着脱することにより、同じ印刷処理装置であっても、処理可能なＰＤＬの種類が変化する場合がある。
【０００３】
また、印刷装置が解釈可能なＰＤＬの種類に応じて、ホストコンピュータ側にプリンタドライバをインストールする必要があるが、従来のプラグアンドプレイインストール技術（特許文献１参照）ではつぎの問題があった。
【０００４】
ある画像形成装置で処理できる画像形成処理が複数有り得る場合、用意すべき適切なデバイスドライバを選択して情報処理装置にインストールできないという問題があった。
【０００５】
具体的には、拡張装置を接続するなどにより、ＰＤＬ１とＰＤＬ２に対応可能な印刷処理装置があった場合、当該印刷処理装置に対応可能なプリンタドライバはスペック的にはＰＤＬ１とＰＤＬ２の複数種類のプリンタドライバとなるが、実際にはＰＤＬ１又はＰＤＬ２のいずれが使用されているかは実際にどの拡張装置が接続されているかに依存する。よって、従来のプラグアンドプレイでは、機種名又は製造者名をホストに送るだけでは、一意にホスト側で必要なプリンタドライバの種類が特定されないという問題がある。
【０００６】
例えば、所定のＰＤＬ２なる種類のプリンタドライバが先にプラグアンドプレイによって発見された場合、ユーザはＰＤＬ１用のプリンタドライバが必要な場合であっても、この印刷処理装置のためにＰＤＬ２のみがＯＳにインストールされてしまうという問題がある。上記プリンタドライバと、拡張ボードの不一致を解決するために、ＵＳＢ接続などの一つの物理的な接続媒介に複数の論理的な接続チャネルを定義し使用可能な接続形態の場合、搭載しているＰＤＬ毎に独立なデバイスＩＤを複数個発行し、情報処理装置に同一カテゴリのプリンタドライバを発行デバイスＩＤに対応した数だけインストール方法を考えることが出来る。しかしこの方法ではユーザにインストールするプリンタドライバの選択手段を与えることはできない。
【０００７】
また、最近標準化団体であるＰＷＧ（Ｐｒｉｎｔｉｎｇ  Ｗｏｒｋｉｎｇ  Ｇｒｏｕｐ）で、ネットワーク上でのプリンタよりデバイスＩＤを取得し、情報処理装置にプリンタドライバをインストールするための標準的なＭＩＢ情報の定義が議論されている。そのＭＩＢはポートＭＩＢと呼ばれる。ポートＭＩＢでは一つのプリンタに複数のポートを定義可能で、それぞれのポートにデバイスＩＤを定義することが出来る。またその議論の中で、複数個のポートをプリンタが有する場合、情報処理装置でのデバイスドライバのインストール時に、ポート選択のためのユーザインターフェイスを表示させ、ユーザにポートを一つ選択させる仕様が公開されている。
【０００８】
拡張ボードを搭載することによりサポート描画体系を切り替え可能な印刷処理装置や、プリンタやスキャナなどの同一クラスに複数個のデバイスＩＤが定義されている多機能な周辺装置に関して、接続された情報処理装置に自動的に対応するデバイスドライバをインストールする方法では、以下の方法が考えられる。
【０００９】
第一の方法は、必ず周辺装置より取得した複数個のデバイスＩＤをユーザに示し、インストールしたいものを選択させる技術である。
【００１０】
第二の方法は、周辺装置より取得した複数個のデバイスＩＤに対応するデバイスドライバをすべてインストールする技術である。
【００１１】
上述の第一の方法においては、遠隔地より操作して大規模な数の情報処理装置にデバイスドライバを、上記ポートＭＩＢを使用してインストールする場合など表示デバイスを伴わないサイレントインストールを実現することが困難である。第二の方法では、不必要なデバイスドライバを常にインストールしなければならないという問題がある。
【特許文献１】特開２００３−６１３３
【発明の開示】
【発明が解決しようとする課題】
【００１２】
本願発明は、上述の問題点の少なくともひとつに鑑みてなされたものであり、以下の目的の少なくともひとつを達成すべく、なされたものである。
【００１３】
ページ記述言語（ＰＤＬ）やデバイスドライバ、ファクシミリなどの付加機能などを含む画像形成装置の詳細仕様を気にしないで、印刷機能やスキャン機能、ファクシミリなどのユーザの使用目的を達成するための環境を簡単に構築させることを第一の目的とする。
【００１４】
周辺機器に複数のＰＤＬなどの多機能な処理系等の選択肢が用意されているので、ユーザが希望する処理系を自分で選択して高度な環境構築を行うことをさらに別の第二の目的とする。
【課題を解決するための手段】
【００１５】
複数の処理を提供する画像形成装置と通信する情報処理装置における方法において、前記画像形成装置から転送されてくる処理識別情報を取得する取得工程と、前記取得工程で取得された複数の処理識別情報から、少なくともひとつの処理識別情報を選択する選択工程と、前記選択工程が選択した処理識別情報に対応する前記画像形成装置が提供可能な処理を制御可能なデバイスドライバをインストールするインストール工程と、前記取得工程にて複数の処理識別情報を取得するのに応じて、選択すべき処理識別情報を自動で選択するのか、ユーザからの選択指示により所定の処理識別情報を選択するのかを指示可能な指示画面を所定時間の間表示する表示工程を備えたことを特徴とする情報処理方法、及び該方法を適用可能な装置、システム等が開示される。
【００１６】
別の実施形態として、所定のデバイスクラスに属する処理識別子の優先度を認識する認識工程と、前記認識工程で認識される優先度が指定されている処理識別子とは別の処理識別子であって、前記デバイスクラスに属する処理識別子に対応するデバイスドライバをインストールするか否かを特定する特定工程と、を備えることを特徴とする情報処理方法が開示される。
【発明の効果】
【００１７】
ページ記述言語（ＰＤＬ）やデバイスドライバ、ファクシミリなどの付加機能などを含む画像形成装置の詳細仕様を気にしないで、印刷機能やスキャン機能、ファクシミリなどのユーザの使用目的を達成するための環境を簡単に構築させることができる。
【００１８】
さらに、選択枝をユーザに与えた場合にはユーザが希望する処理系を自分で選択して高度な環境構築ができる。
【発明を実施するための最良の形態】
【００１９】
（実施例）
初めに本発明の前提となる情報処理装置と、複数の処理系を有するスキャナやプリンタや、そして多機能プリンタなどの前提となる一般的なシステム構成を説明する。
【００２０】
本発明の前提知識を示す接続形態の例について図を使って説明する。ＵＳＢ接続で画像形成装置が有する複数の処理系をデバイスＩＤに従って情報処理装置にインストールする際のプラグアンドプレイ処理、および、ネットワーク接続においてＰＷＧにより議論されているポートＭＩＢによる処理系の選択とインストール方法を示す。
【００２１】
最後に上記２つの前提のシステムにおいて、本発明を実施するための実施例を説明する。
【００２２】
（前提となる一般的なシステム構成）
図１に情報処理装置と、複数の処理系を有するスキャナやプリンタや、そして多機能プリンタによる画像形成システムの構成図の例を示す。この例の場合、情報処理装置１００は、ＵＳＢ接続２００（ａ）またはネットワーク接続２００（ｂ）によりスキャナ３００（ａ），３００（ｇ）と，プリンタ３００（ｂ），３００（ｆ）と、そして複合プリンタ３００（ｃ），３００（ｄ），３００（ｅ）と接続されている。それぞれの周辺装置は様々な種類制御言語、例えばスキャナ制御言語ＳＣＬ１，ＳＣＬ２，ＳＣＬ３やページ記述言語ＰＤＬ１，ＰＤＬ２，ＰＤＬ３や、そしてＦＡＸ制御言語ＦＣＬ１，ＦＣＬ２に対応している。またＦＡＸ機能を有する複合プリンタはその機能を生かすために、電話回線４００と接続されている。この例においては情報処理装置１００を一つしか記述しなかったが、複数個接続されていても問題はない。
【００２３】
情報処理装置１００を用いてユーザがそれぞれの周辺装置使用するためは、個々の周辺装置を制御可能なスキャナ制御言語やページ記述言語やＦＡＸ制御言語に対応したデバイスドライバを情報処理装置にインストールする必要がある。また例えばフィニッシャなどの個々のデバイス特有の機能を使用したい場合はそのデバイスに対応したデバイスドライバを情報処理装置にインストールする必要がある。周辺装置よりデバイスＩＤを取得して適切なドライバを自動選択してインストールするプラグアンドプレイなどの技術がない場合は、ユーザが手動で情報処理装置１００に、制御言語と機種に対応するデバイスドライバをインストールする必要がある。しかしプラグアンドプレイやポートＭＩＢにそれぞれのデバイスが対応している場合、ＵＳＢ接続２００（ａ）やネットワーク接続２００（ｂ）を通して、周辺装置３００より渡されたデバイスＩＤに基づいて適切なデバイスドライバが情報処理装置内のインストーラ１０７３によって自動選択されてインストールされる。
【００２４】
図２に情報処理装置１００のブロック構成図の例を示す。
【００２５】
情報処理装置１００は、以下の複数のハードウェアデバイスで構成される。
【００２６】
ユーザ操作入力を受信する入力デバイスであるキーボード１０５とマウス１０６が設けられている。さらに、情報処理装置１００は、ユーザに視覚的な出力情報フィードバックを与える出力デバイスＣＲＴ１０２を備える。さらに、本実施形態における各種プログラムや実行情報を保管する記憶デバイスＲＡＭ  １０３，ＨＤＤ  １０７，ＲＯＭ  １０４，ＣＤ−ＲＯＭ  １０８が設けられる。さらに、外部機器との通信を行うインターフェイスデバイスＩ／Ｏ１０９（ＵＳＢ２００（ａ），ネットワーク２００（ｂ）の入出力を管理する）を備え、プログラム実行を行う計算処理装置ＣＰＵ１０１を備える。
【００２７】
上記複数のデバイス間はバス１１０で繋がれており、適宜ハードウェアデバイス間で情報のやり取りを行っている。
【００２８】
ハードディスクＨＤＤ  １０７には図３に示すようなプログラム情報が格納されている。ＲＯＭ１０４には情報処理装置の起動時に実行されるプログラムが格納されており、そのプログラムの実行により、図３に示すＨＤＤ１０７に格納されているＯＳ１０７１がＲＡＭ１０３にロードされ、ＣＰＵ１０１上で実行される。ＯＳ１０７１はＣＲＴ１０２を用いてユーザインターフェイスをユーザに示し、ユーザはキーボード１０５やマウス１０６を使ってＯＳ１０７１に指示を出すことが出来る。ＯＳ１０７１はユーザの支持に従い、アプリケーション１０７２をＲＡＭにロードし、ＣＰＵ１０１を使って実行する。また図３に示すように、図１に示した各種周辺デバイス３００を制御するデバイスドライバ１０７４、１０７５がＨＤＤ１０７に格納されている。それぞれのデバイスドライバは対応する機種と制御言語が決まっており、またインストーラ１０７３が認識可能なデバイスＩＤに対応する識別情報を含んでいる。図３の例ではＨＤＤ１０７は”機種Ａ  ＰＤＬ１”と”機種ＡＰＤＬ２”に対応する２つのプリンタドライバ１０７４、１０７５を格納している。インストーラ１０７３はプラグアンドプレイやポートＭＩＢが発生した際にＯＳ１０７１によりＲＡＭ１０３にロードされＣＰＵで実行されデバイスドライバ１０７４や１０７５をＯＳに組み込み周辺装置を利用可能な環境をユーザに提供する。一旦ＯＳに組み込まれたデバイスドライバ１０７４や１０７５は、ＯＳ１０７１の一部としてＨＤＤ１０７に記憶される。ユーザはアプリケーション１０７２を通してＯＳ１０７１に指示を出し、デバイスドライバ１０７４や１０７５を使って周辺機種を制御するコマンドを生成する。その制御コマンドはＩ／Ｏ１０９の制御により通信媒介２００を介して周辺装置３００に渡されて、ユーザの望んだ処理を実行する。
【００２９】
図４は周辺処理装置内のハードウェアブロック図の例である。この図は、スキャナ機能と、プリンタ機能と、そしてＦＡＸ機能を有する多機能プリンタのブロック図である。Ｉ／Ｏ  ３０１はＵＳＢ２００（ａ）やネットワーク２００（ｂ）などの通信媒介を介して情報処理装置１００と接続している。Ｉ／Ｏ３０１は複数の接続形態に対応するために複数個搭載されていてもよい。このＩ／Ｏ  ３０１を通して、周辺装置３００は、デバイスＩＤやスキャンイメージを情報処理装置１００に渡す。また情報処理装置１００より、各種の制御コマンドを受けて処理を行う。Ｉ／Ｆ制御部３０２は、周辺装置３００に搭載されているスキャナやプリンタやまたはＦＡＸなどの処理系に関してデバイスＩＤを発行する制御をおこなっている。ＲＡＭ  ３０３は、一次記憶装置で、Ｉ／Ｏ３０１で取得した制御コマンドなどの外部データや、スキャナエンジン３１３で読み取られたイメージや、プリンタコントローラ３１３で展開されたプリンタエンジン３０６に渡される前にイメージの格納などに使用される。ＲＡＭ３０３の割り当て管理はＲＡＭ制御部３０４が行っている。画像データ調歩回路３０５は、プリンタコントローラ３１０やスキャンエンジン３１３によって取り込まれたＲＡＭ制御部３０４に展開されたイメージをプリンタエンジン３０６の回転にあわせて出力する装置である。プリンタエンジン３０６は紙などの出力メディアにイメージを現像する装置である。メインコントローラ３０８は、エンジンＩ／Ｆ  ３０７によりプリンタエンジン３０６の各種制御を行う。またメインコントローラ３０８は、制御の要のモジュールであり、スキャンコントローラ３０９や、プリンタコントローラ３１０や、ＦＡＸコントローラ３１１にＩ／Ｏ３０１経由で情報処理装置１００より受けとった制御言語の適切な振り分けや、それぞれのコントローラやユーザインターフェイス３１２からの支持をうけてプリンタエンジン３０６やスキャナエンジン３１３の制御を行う。メインコントローラ３０８と各種コントローラの間の制御インターフェイスを統一することにより、一つの周辺機器に複数種類の制御コマンドを処理可能な拡張ボードが搭載可能になる。また現在搭載されている拡張コントローラのデバイスＩＤを各コントローラより取得し管理するのもメインコントローラの役割である。
【００３０】
スキャンコントローラ３０９は情報処理装置１００より受けたスキャン制御コマンドをメインコントローラ３０８が解釈可能な内部実行命令に分解する。またスキャンエンジン３１３で読み取ったイメージをスキャン制御コマンドに変更する。
【００３１】
プリンタコントローラ３１０は情報処理装置１００より受けたページ記述言語をメインコントローラ３０８が解釈可能なページ記述言語の展開イメージなどを含む内部実行命令に分解する。展開イメージはプリンタエンジンまで運ばれ、用紙などの出力メディアに印刷される。
【００３２】
ＦＡＸコントローラ３１１は、情報処理装置１００より受けたＦＡＸ制御言語をイメージに展開し電話回線４００を介して他のＦＡＸ装置へ転送する。ユーザインターフェイスは、メインコントローラ３０８の各種設定や、スキャナ機能やプリンタ機能や、そしてＦＡＸ機能を直接周辺装置３００で実行する際に、ユーザによる指示の入出力手段として使用される。
【００３３】
スキャナエンジン３１３はメインコントローラ３０８の指示により光学装置を用いて印刷されたイメージを読み取り、電気信号に変換してメインコントローラ３０８に受け渡す。
【００３４】
次に前提となるシステム例としてＵＳＢ接続のプラグアンドプレイ動作を示す。
【００３５】
図５にＵＳＢ接続のプラグアンドプレイで、複数個のデバイスＩＤを周辺装置３００が発行して、情報処理装置１００に対応するデバイスドライバをインストールする場合のＵＳＢ通信媒介２００（ａ）経由の情報のやり取りの例を示す。
【００３６】
この例では周辺装置３００にスキャナコントローラ３０９が一つと、ＰＤＬ１、ＰＤＬ２に対するプリンタコントローラ３１０がそれぞれ一つずつ計２つ搭載され、またＦＡＸコントローラ３１１が１つ搭載されている。
【００３７】
情報処理装置１００の起動、または周辺装置３００の起動、またはＵＳＢケーブルで情報処理装置１００と周辺装置３００が接続された際に、図５のプラグアンドプレイの動作がスタートする。
【００３８】
Ｓ５０１に示すように周辺装置３００はスキャナコントローラ３０９を搭載しているので、スキャナのデバイスＩＤを情報処理装置１００へ通知する。デバイスＩＤにはスキャナ機能を有していることを示すクラス名称：スキャナと、メーカ名称とそして機種名名称が記述されている。情報処理装置１００はこの情報を受け取とり、Ｓ５０２で該当のスキャナドライバのインストール処理を行う。
【００３９】
またＳ５０３，Ｓ５０４に示すように周辺装置３００はＰＤＬ１とＰＤＬ２のプリンタコントローラ３１０を２つ搭載しているので、プリンタのデバイスＩＤを情報処理装置１００へ通知する。デバイスＩＤにはプリンタ機能を有していることを示すクラス名称と、メーカ名称と、そして機種名名称が記述されている。機種名称は各ＰＤＬを一意に示すためにＰＤＬ情報を含んでいる。情報処理装置１００はこの情報を受け取とり、Ｓ５０４とＳ５０６で該当モデル名称とページ記述言語に対応するプリンタドライバのインストール処理を行う。
【００４０】
さらにＳ５０７で、周辺装置３００はＦＡＸコントローラ３１１を搭載しているので、ＦＡＸのデバイスＩＤを情報処理装置１００へ通知する。デバイスＩＤにはＦＡＸ機能を有していることを示すクラス名称（ＦＡＸクラスは定義されていないのでプリンタ）と、メーカ名称と、そして機種名名称が記述されている。機種名称はＦＡＸを一意に示すためにこの例の場合ＦＡＸという文字列を含んでいる。情報処理装置１００はこのデバイスＩＤを受け取とり、Ｓ５０８で該当機能に対応するＦＡＸプリンタドライバのインストール処理を行う。
【００４１】
ここで注目すべきは、それぞれの処理系のための周辺機器３００と情報処理装置１００の通信は、独立に通信が行われ関連を持たないということである。よって情報処理装置１００は、従来技術の場合、渡された複数のすべてのデバイスＩＤのためにデバイスドライバをインストールする処理を行う。
【００４２】
図６にインストールが発生する場合に、情報処理装置１００のＣＲＴ１０２に表示されるダイアログを示す。図６（ａ）はＳ５０４で表示されるダイアログでデバイス発見時に一定時間表示される。図６（ｂ）はＳ５０５でそれぞれデバイスドライバがインストールされる場合に表示されるダイアログである。表示からも分かるようにそれぞれ別のハードウェアだと認識している。
【００４３】
図７にＳ５０３とＳ５０５で周辺機器３００より情報処理装置１００に渡されるデバイスＩＤを示す。デバイスＩＤは、機能カテゴリを示すクラス情報と、ＭＦＧ：製造元とＭＤＬ：機種情報を含んでいる。インストーラ１０７３はこの２つの情報を元にデバイスドライバを検索する。よって製造元と機種情報によってページ記述言語と機種を含めて一意に判断できるようにする必要がある。この例の場合は、機種情報にＰＤＬ名称含んだ形式となっている。
【００４４】
図８に、インストーラ１０７３がＵＳＢ接続でプラグアンドプレイを実施する場合のフローチャートを示す。この処理はＳ５０２，Ｓ５０４，Ｓ５０６，Ｓ５０８でそれぞれ個別に実行される。Ｓ８０１では、周辺装置３００よりデバイスＩＤを取得する。この情報にはデバイスドライバを一意に決定する情報が含まれている。
【００４５】
Ｓ８０２では、既にＯＳ１０７１に組み込まれている現在のＵＳＢ接続のためのデバイスドライバと、現在のデバイスＩＤを比較して同じであった場合、新しいデバイスではないので、デバイスドライバをインストールしないで終了する。もし新しいデバイスＩＤが渡されたのなら、Ｓ８０３へ進む。Ｓ８０３では、図６に示した新しいハードウェアを発見したことを示すダイアログを表示して、デバイスドライバをインストール中であることをユーザに示す。Ｓ８０４では、現在のデバイスＩＤに合致するデバイスドライバを、ＨＤＤ１０７より検索する。ＨＤＤ１０７に格納されているデバイスドライバは、デバイスＩＤに対応した情報を一緒に格納している。
【００４６】
Ｓ８０５では、現在のデバイスＩＤと合致するデバイスドライバを発見した場合、Ｓ８０７へ行く。もし発見できなかった場合は、Ｓ８０６へ行く。
【００４７】
Ｓ８０６では、図９に示すデバイスドライバの位置をユーザに指定してもらうための“新しいハードウェアの追加ウィザード”のダイアログを表示する。このダイアログには、ＨＤＤ１０７に格納されているドライバ一覧を示すリストボックス９０１や、ネットワーク経由で検索するボタン９０２や、ＨＤＤ１０７の通常のデバイスドライバ格納位置と異なるその他のフォルダまたは、ＣＤ−ＲＯＭ１０８上のフォルダをしているボタン９０３などの、デバイスドライバの位置をユーザに指定してもらうグラフィカルなインターフェースが配置されている。これらのインターフェイスでデバイスドライバの位置をユーザに指定してもらい、次へのボタン９０４を押してもらうことにより、Ｓ８０７へ進む。もしキャンセルボタン９０５が押された場合は現在のデバイスＩＤのためにドライバが選択されなかったフラグを立てる。
【００４８】
Ｓ８０７では、もし指定されたデバイスドライバがあれば、デバイスドライバをＯＳ１０７１へ組み込む。また現在のＵＳＢ接続に対してＯＳ１０７１に組み込んだことをレジストリなどのＯＳ１０７１が読み書き可能領域へ書き込む。この情報は、Ｓ８０２での判断に使われる。
【００４９】
上記に示したようにＵＳＢ接続のプラグアンドプレイでは、周辺装置３００に搭載されている個々のコントローラデバイスに対して、周辺装置３００のＩ／Ｆ制御部３０２が個別のデバイスとしてデバイスＩＤを複数回発行する。それに従い情報処理装置はデバイスドライバが見つかれば、発行しされたデバイスＩＤの個数分、インストールされることになる。よって同じクラスのＰＤＬ１、ＰＤＬ２のプリンタドライバが複数個情報処理装置１００にインストールされることもあり、その制御は周辺装置が発行するデバイスＩＤの数を制限しなければ変更することができない。
【００５０】
次に、本発明の前提となるシステム図である、ポートＭＩＢによる処理系の選択とインストール方法を示す。ＰＷＧで議論されている現在の情報を元に、ポートＭＩＢによるデバイスＩＤの選択とそのデバイスＩＤに対応し他デバイスドライバのインストール方法について説明する。
【００５１】
図１０にこのシナリオの場合の、周辺装置３００と情報処理装置１００との通信のタイミングチャートを示す。まずポートＭＩＢでの処理系の選択は、情報処理装置１００によるＳ１００１のデバイスの検索より始まる。
【００５２】
Ｓ１００１では、図１１に示すようなネットワークをデバイスを検索画面を通して、ユーザの希望に沿ったデバイスを検索する。この検索画面には、機能カテゴリ毎の個別能力、例えばプリンタの場合両面印刷可能か？などの能力問い合わせを設定してデバイス検索するシート１１０１や、ネットワーク的にまたは場所的に近傍のデバイスの情報を表示するリストボックス１１０２や、ＩＰアドレスを直接入力できるテキストボックス１１０３などの検索情報の入力を促すインターフェースが配置されている。
【００５３】
Ｓ１００２では、図１１の検索開始ボタン１１０４を押すことにより、図１２に示すようなＭＩＢ定義された情報を、ＩＰで指定した周辺装置３００またはネットワーク的な近傍に存在する周辺装置３００から取得する。
【００５４】
Ｓ１００３では、Ｓ１００２で取得した情報を元に、デバイスの情報を表示するリストボックス１１０２に候補の周辺装置を表示、その中のデバイスをユーザがチェックし、選択ボタン１１０５を押すことにより、情報処理装置１００は、図１１に示した新しいハードウェアの追加中のダイアログを表示する。また情報処理装置１００は、図１４に示したポートＭＩＢとして定義されているのうちポート数の情報をユーザが選択した周辺装置３００より取得しにいく。
【００５５】
Ｓ１００４では、周辺装置３００は図１４のポート数の情報取得の要求に応答する。周辺装置３００は、この個数分だけ１００６１〜１００６４の情報を有している。また１００６１〜１００６４は、搭載しているコントローラのＰＤＬなどの機能に対応している。
【００５６】
Ｓ１００５では、情報処理装置１００は、図１４に示したポートＭＩＢとして定義されているのうち、それぞれのポートの詳細情報をユーザが選択した周辺装置３００より取得しにいく。
【００５７】
Ｓ１００６では、周辺装置３００は図１４のポートの詳細情報取得の要求に応答する。
【００５８】
ポートの詳細情報は、Ｓ１００４で取得した数だけ定義されており、以下のような情報で構成されている。
【００５９】
ポート情報１００６１は、ＲＡＷまたはＬＰＲなどのポートの接続形態を示す情報、ポート名称を含む。
デバイスＩＤ  １００６２は、ＩＥＥＥ１２８４で規定されるデバイスを特定するためにデバイスＩＤ。図７で示したデバイスＩＤ情報が記載されている。この情報を元に該当するデバイスドライバをインストールする。ＳＮＭＰ情報１００６３は、ＲＡＷ接続時に使用されるポート番号などのＳＮＭＰ関連の情報が記載されている。
【００６０】
ＬＰＲ情報１００６４は、ＬＰＲ接続時に使用されるキュー名称などのＬＰＲに必要な情報が記載されている。
【００６１】
Ｓ１００７では、情報処理装置１００は、現在の周辺機器３００より取得したポートの詳細情報を元にデバイスドライバのインストール処理を行う。
【００６２】
図１５はポートＭＩＢを用いたデバイスドライバのインストール処理の情報処理装置１００側の処理のフローチャートである。Ｓ１５０１では、図１１に示した新しいハードウェアの検索のためのダイアログを表示する。ユーザが望む検索条件を収集する。
【００６３】
Ｓ１５０２では、ユーザが設定した条件に従い、指定されたＩＰアドレスまたはネットワーク的に近傍のデバイスにＳ１００１で図１２に示したデバイス基本情報の検索を行う。
【００６４】
Ｓ１５０３では、図１１の“新しいハードウェアの検索”のためのダイアログに発見した条件に該当するデバイスを表示し、ユーザの指定に従いインストールするデバイスを特定する。Ｓ１５０４では、図１３（ａ）に示す新しいハードウェアを追加中のダイアログボックスを表示する。この表示には、Ｓ１００１で図１２に示したデバイス基本情報が用いられている。
【００６５】
Ｓ１５０５では、Ｓ１００３、Ｓ１００５の動作により、ポート数とポートの詳細情報を取得する。
【００６６】
Ｓ１５０６では、ポート数１００４１，１００４２より、ポート数が１以上であった場合、Ｓ１５０７へ、１であった場合Ｓ１５０８へ行く。
【００６７】
Ｓ１５０７では、図１３（ｂ）に示すように、ポートの詳細情報１００６１〜１００６４の情報を元に、ポート名称をポート数分だけ示し、ユーザに使用したいポートを選択させる。ユーザが選択したポートのデバイスＩＤを選択されたデバイスＩＤとする。
【００６８】
Ｓ１５０８では、周辺機器で対応しているポート数が１つであるので、そのポートのデバイスＩＤを選択されたデバイスＩＤとする。
【００６９】
Ｓ１５０９では、選択されたデバイスＩＤを有するデバイスドライバをＨＤＤ１０７より探す。
【００７０】
Ｓ１５１０では、デバイスドライバをＨＤＤ１０７より発見した場合Ｓ１５１２へ、発見できなかった場合、Ｓ１５１２へ行く。
【００７１】
Ｓ１５１１では、図９に示すデバイスドライバの格納位置を促すダイアログを表示し格納位置を指定してもらう。
【００７２】
Ｓ１５１２では、デバイスドライバをＯＳ１０７１へインストールする。
【００７３】
現在ＰＷＧで議論されているポートＭＩＢでは複数個のポートが発見された場合は、ユーザに選択のためのＵＩを表示させ、ユーザに選択をさせることを検討している。しかし簡単な手順により周辺機器３００の機能を使用したいユーザにとっては技術的すぎで困難である。選択肢自体表示することは得策ではないと考える。またその反面高度な選択を行い周辺機器３００の機能を使用する環境を構築したいユーザにとっては、その設定は必要となる。また機器の管理者などが、大規模な数の情報処理装置１００にネットワークを用いて遠隔地よりデバイスドライバをインストールする必要がある。このデバイスインストール処理をサイレントインストールと呼ぶことにする。この場合各情報処理装置のＣＲＴ１０２などに図１３（ｂ）が表示され、選択待ちに状態になって処理を永遠に停止するのではなく、図１３（ｂ）を所定時間の間表示してその後は自動的に画面を消去してドライバ自動選択の処理に移行すると好適である。
【００７４】
図１７に、本発明の好適なＵＳＢ接続によるプラグアンドプレイの実施例のフローチャートを示す。このフローチャートで実施例について説明する。
【００７５】
Ｓ１７０１では、ＵＳＢデバイスの接続が認識されて一定時間内に来た同じＵＳＢデバイス内の同じクラスのデバイスＩＤの一覧を作成する。
【００７６】
Ｓ１７０２では、既に周辺機器３００の現在のクラスにデバイスドライバインストールを以前試みたことがあるか否かを確認する。本実施例では、以前インストールする際に、デバイスドライバのインストール時にレジストリ等の記憶媒体に記録した情報を元に判断する。
【００７７】
Ｓ１７０３では、図１６（ａ）に示す“新しいハードウェアを追加中”のダイアログを表示する。このダイアログには、図６に示した“ハードウェアの発見”のダイアログと異なり、以下の特徴を持つ。
【００７８】
図１６のダイアログはデバイスＩＤ毎に表示を行っていたが、図１６（ａ）では同じクラスの複数個のデバイスＩＤに対して表示を行う。どのデバイスＩＤに対してデバイスドライバをインストールするかを決定可能な詳細ボタン１６０１をもっている。一定時間の図１６のダイアログを表示を継続し、所定時間経過するのに応答して、自動的にダイアログは閉じられ、Ｓ１７０７へ移行する。
【００７９】
Ｓ１７０４では、図１６（ａ）ダイアログを表示中の所定時間内に、詳細ボタン１６０１が押されたかどうかを判断する、押された場合、Ｓ１７０５へ進む。詳細ボタンが押されなかった場合、Ｓ１７０７へ進む。
Ｓ１７０５では、図１６（ｂ）に示す新しいハードウェアを検出し、デバイスドライバをインストールするためのダイアログを示す。このダイアログには、高速インストールを行うチェックボックス１６０２と、対応デバイスドライバを表示してその一覧より選択するためのチェックボックス１６０３が存在する。この２つのチェックボックス１６０２と１６０３は排他的な選択のみを許し、初期状態では１６０２にチェックが付けられている。
【００８０】
Ｓ１７０６では、上記チェックボックス１６０２が選択された場合、高速インストールが選択されたのでＳ１７０７へ進む。上記チェックボックス１６０３が選択された場合、カスタムインストールを実施するためにＳ１７０８へ進む。
【００８１】
Ｓ１７０７では、所定の判断基準に基づいて、インストールするデバイスＩＤを決定する。本実施例では、ＵＳＢ接続で渡されるデバイスＩＤの順番で最初に転送されて、インストーラに渡されるデバイスＩＤをインストールするデバイスＩＤとして決定する。特にここでは最初に渡されるデバイスＩＤを選択したが、二番目でも最後にしてもよいことはいうまでもない。
【００８２】
Ｓ１７０８では、ＵＳＢのデバイスＩＤの一覧が複数ある場合Ｓ１７０９へ進む。一つであれば、Ｓ１７１０へ進む。
【００８３】
Ｓ１７０９では、デバイスＩＤの一覧を表示しインストールするドライバをユーザに選択させる。詳細設定であるため、ユーザに画面を介して複数のデバイスＩＤを選択させても良い。その後Ｓ１７１１へ進む。
【００８４】
Ｓ１７１０では、周辺機器より渡された一つのデバイスＩＤの情報を表示しＳ１７１１へ進む。
【００８５】
Ｓ１７１１では、選択されたデバイスＩＤを有するデバイスドライバをＨＤＤ１０７より探す。
【００８６】
Ｓ１７１２では、デバイスドライバをＨＤＤ１０７より発見した場合Ｓ１５１４へ、発見できなかった場合、Ｓ１７１３へ行く。
【００８７】
Ｓ１７１３では、図９に示すデバイスドライバの格納位置を促すダイアログを表示し格納位置をユーザに指定させる。
【００８８】
Ｓ１７１４では、もし指定されたデバイスドライバが見つかれば、デバイスドライバをＯＳ１０７１へ組み込む。また現在のＵＳＢ接続のクラスに対してＯＳ１０７１に組み込んだことをレジストリなどのＯＳ１０７１が読み書き可能領域へ書き込む。この情報は、Ｓ１７０２で、前回インストールを試みたデバイスドライバの種別の判断に使われる。
【００８９】
図１８に、本発明の好適なポートＭＩＢによるデバイスドライバのインストールの実施例のフローチャートを示す。このフローチャートを用いて実施例２について説明する。
【００９０】
Ｓ１８０１では、図１１に示した新しいハードウェアの検索のためのダイアログを表示する。ユーザが望む検索条件を収集する。
【００９１】
Ｓ１８０２では、ユーザが設定した条件に従い、指定されたＩＰアドレスまたはネットワーク的に近傍のデバイスにＳ１００１で図１２に示したデバイス基本情報の検索を行う。
【００９２】
Ｓ１８０３では、図１１の“新しいハードウェアの検索”のためのダイアログに発見した条件に該当するデバイスを表示し、ユーザの指定に従いインストールするデバイスを特定する。
【００９３】
Ｓ１８０４では、図１６（ａ）に示す新しいハードウェアを追加中のダイアログボックスを表示する。この表示には、Ｓ１００１で図１２に示したデバイス基本情報が用いられている。
【００９４】
Ｓ１８０５では、Ｓ１００３、Ｓ１００５の動作により、ポート数とポートの詳細情報を取得する。Ｓ１８０６では、もし図１６（ａ）が表示される所定時間内に、詳細ボタン１６０１が押された場合Ｓ１８０７へ進む。押されない場合、Ｓ１８０９へ行く。なお、図１７の実施例と同様に、図１６（ａ）を所定時間だけ表示し、所定時間経過後に自動的に図１６（ａ）のダイアログを閉じてＳ１８０９へ進むようにしてもよい。
【００９５】
Ｓ１８０７では、図１６（ｂ）に示す新しいハードウェアの検出し、デバイスドライバをインストールするためのダイアログを示す。このダイアログには、高速インストールを行うチェックボックス１６０２と、対応デバイスドライバを表示してその一覧より選択するためのチェックボックス１６０３が存在する。この２つのチェックボックス１６０２と１６０３は排他的な選択のみを許し、初期状態では１６０２にチェックが付けられている。
【００９６】
Ｓ１８０８では、上記チェックボックス１６０２が選択された場合、高速インストールが選択されたのでＳ１８０９へ進む。上記チェックボックス１６０３が選択された場合、カスタムインストールを実施するためにＳ１８１０へ進む。
【００９７】
Ｓ１８０９では、判断基準に基づいて、インストールするデバイスＩＤを決定する。本実施例では、図１４の１００６１〜１００６４の形式渡されるデバイスＩＤの最初に渡されるデバイスＩＤをインストールするデバイスＩＤとして決定する。特にここでは最初に渡されるデバイスＩＤを選択したが、二番目でも最後でもよい。
【００９８】
Ｓ１８１０では、ポート数１００４１，１００４２より、ポート数が１以上であった場合、Ｓ１８１１へ、１であった場合Ｓ１８１２へ行く。Ｓ１８１１では、図１３（ｂ）に示すように、ポートの詳細情報１００６１〜１００６４の情報を元に、ポート名称をポート数分だけ示し、ユーザに使用したいポートを選択させる。ユーザが選択したポートのデバイスＩＤを選択されたデバイスＩＤとする。
【００９９】
Ｓ１８１２では、周辺機器で対応しているポート数が１つであるので、そのポートのデバイスＩＤを選択されたデバイスＩＤとする。
【０１００】
Ｓ１８１３では、選択されたデバイスＩＤを有するデバイスドライバをＨＤＤ１０７より探す。
【０１０１】
Ｓ１８１４では、デバイスドライバをＨＤＤ１０７より発見した場合Ｓ１８１６へ、発見できなかった場合、Ｓ１８１５へ行く。
【０１０２】
Ｓ１８１５では、図９に示すデバイスドライバの格納位置を促すダイアログを表示し格納位置をユーザに指定させる。
【０１０３】
Ｓ１８１６では、見つかったデバイスドライバをＯＳ１０７１へインストールする。
【０１０４】
上記実施例では、Ｓ１７０７やＳ１８０９のインストールするデバイスＩＤを決定する判断基準を、デバイスＩＤのインストーラが認識する順番として説明した。どちらの実施例の場合も情報処理装置１００のＨＤＤ１０７へ図２３に示す機種ＡのデバイスＩＤの優先情報１０７６を予め格納して判断基準として使用しても良い。
【０１０５】
また機種ＡのデバイスＩＤ判断基準を情報処理装置１００が周辺機器３００から確認しても良い。ポートＭＩＢの場合、図２１に示すようにポート優先度のＭＩＢ１９０２１〜１９０２２を定義して、その情報を図１９のＳ１９０１に示すように情報機器１００がから周辺機器３００に問い合わせ、Ｓ１９０２に示すように周辺機器３００が応答することにより取得し、Ｓ１８０９において、選択すべきデバイスＩＤを決定する判断基準として利用することも可能である。
【０１０６】
これは特にＭＩＢを用いた実施例に限らずＵＳＢを用いた実施例の場合も別のプロトコルを定義し利用すれば可能である。
【０１０７】
情報処理装置１００のＣＲＴ１０２、また周辺装置３００のユーザインターフェイス（操作パネル）３１２に図２１に示すユーザインターフェイスを表示させ、上記情報処理装置１００や周辺機器が有する機種ＡのデバイスＩＤの優先情報を変更してもよい。
【０１０８】
図２２にデバイスＩＤの優先情報を変更するためのフローチャートを示す。
【０１０９】
Ｓ２２０１では、図２１のデバイスＩＤの優先順位を編集するためのダイアログを情報処理装置１００のＣＲＴ１０２又は周辺装置３００の操作パネル３１２に表示表示する。
【０１１０】
このダイアログは、デバイスＩＤのリスト２１０１を有している。情報処理装置１００で表示される場合は、その周辺機種３００がサポートしている可能性があるデバイスＩＤをすべて示し、周辺装置３００で表示する場合は、その周辺装置３００が現在サポートしているデバイスＩＤを列挙する。デバイスＩＤのリスト２１０１中の一つのデバイスＩＤをマウス１０６で選択し、そのデバイスＩＤの優先順位を変更するボタン２１０２で順番を変更させることができる。
【０１１１】
また周辺機器３００の中には、ページ記述言語の形式で周辺装置に描画データを送り展開後、ＦＡＸモデムを通してその絵を他の周辺装置におくるプリンタＦＡＸ機能を持つものが存在する。このプリンタＦＡＸのためのデバイスＩＤは同じプリンタクラスに属している。よってプリンタ機能とプリンタＦＡＸ機能を有している周辺装置３００では、２つのドライバをインストールすることが望まれる。よってそのような機能を持つ周辺装置では、図２１のデバイスＩＤの優先順位を編集するためのダイアログでは、ＦＡＸドライバを選択可能なリストボックス２１０３を有する。
【０１１２】
このように、同一クラスに仕様上属している場合であっても、排他的にインストールされていれば足りるドライバと、既に同一クラスのドライバが入っていても、必ず追加インストールさせたいドライバの複数種類が存在する。
【０１１３】
すなわち、管理者のポリシーに依存するが、通常、ＰＤＬ１（Ｐａｇｅ  ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ  １）とＰＤＬ２に対応するドライバは、優先度が高い少なくともひとつが入っていれば足りる。一方、ファックスドライバは、同じプリンタクラスに属するにも関わらず、ＰＤＬ１およびＰＤＬ２のドライバが入っていようがいまいが、インストールが推奨される。
【０１１４】
従って、図２１のように、本実施形態においては、機種Ａに対応するＰＤＬ１用ドライバおよびＰＤＬ２用ドライバはそれぞれ優先度を付けて択一的にインストールさせる構成としている。一方、ＰＤＬ１およびＰＤＬ２のドライバとは独立して、チェックボックス２１０６の有無によって、ファックスドライバをインストールさせるか否かを選択することができるようになっている。
【０１１５】
Ｓ２２０２では、デバイスＩＤの優先順位情報を編集する。図２１の画面が情報処理装置１００で表示操作されるる場合は、情報処理装置１００のＨＤＤ１０７の図２３の機種ＡのデバイスＩＤの優先情報１０７６に、その機種がサポートする可能性を有するデバイスＩＤの優先順位が書き込まれる。またＦＡＸ機能の指定がある場合（（図２１の２１０６のチェックボックスがＯＮになっている場合）、２１０３で指定されているプリンタＦＡＸ機能を表すデバイスＩＤが、デバイスＩＤ情報ファイルへ追加される。デバイスＩＤファイル情報は、ＯＫ２１０４が押されると、情報処理装置１００内のメモリやＨＤＤに書き込まれる。
【０１１６】
デバイスＩＤ情報ファイルは、処理識別情報の選択優先順位を示す情報の一例である。情報処理装置１００内は、所定のデバイスクラスに属する処理識別子であるＰＤＬ種別に対応するデバイスＩＤに設定される優先度を認識する。
【０１１７】
この優先度が指定されている処理識別子とは別の処理識別子であって、前記デバイスクラスに属する処理識別子の一例であるファクシミリドライバに対応するデバイスドライバをインストールするか否かをデバイスＩＤ情報ファイル内を参照してインストールプログラムは特定する。
【０１１８】
図２１の画面が、周辺装置３００で表示操作される場合は、その周辺機器がサポートしているデバイスＩＤの優先順位が、図２０のデバイスＩＤの優先順位１９０２２に書き込まれる。またＦＡＸ機能の指定がある場合（図２１の２１０６のチェックボックスがＯＮになっている場合）、２１０３で選択されているプリンタＦＡＸ機能を表すデバイスＩＤが記述される。ＦＡＸ機能を表すデバイスＩＤが記載されている場合は、そのデバイスＩＤに対応するデバイスドライバは、デバイスＩＤの優先情報とは別にインストール対象としてデバイスＩＤファイル情報へ記述される。デバイスＩＤファイル情報は、ＯＫ２１０４が押されると、周辺装置３００内のメモリに書き込まれる。デバイスＩＤ情報ファイルは、周辺装置３００から情報処理装置１００に対して、プラグアンドプレイＳ１７０１処理時に転送して情報処理装置１００のＨＤＤに記憶されていてもよい。
【０１１９】
Ｓ１７０７では、情報処理装置１００は、上述のようにしてデバイスＩＤ情報ファイルを読み出して、デバイスＩＤの選択基準に用いる。例えば、デバイスＩＤとして、ＰＤＬ１用のデバイスドライバを優先使用すべきことが記述されていれば、ＰＤＬ１用のデバイスドライバがインストールされる。また、ファックスドライバのインストールのフラグがＯＮにされていれば、併せてファックスドライバのインストールも行う。Ｓ１８０９の処理についても、デバイスＩＤ情報ファイルを用いて同様にインストール処理を行う。
【０１２０】
Ｓ１７０７又はＳ１８０９のデバイスＩＤの選択の決定の際、デバイスＩＤの発行順番を編集するダイアログを処理系を持たせることにより、編集処理を実現することが可能である。
【０１２１】
サイレントインストール際は、図１６（ａ）の詳細ボタン１６０１は押されるのを待つことなく、Ｓ１８０９が実行される。またクライアント側ユーザにインストールの詳細を見せる必要がない場合は、すべてのダイアログの表示をクライアント側情報処理装置１００のＣＲＴ１０２上で抑制させることも可能である。
【０１２２】
以上説明したように、ＰＤＬ１，ＰＤＬ２に基づく画像形成処理や、ファクシミリ通信など複数種類の処理をすることができる周辺装置３００と、周辺装置３００をデバイスドライバで駆動する情報処理装置１００とを含む画像形成システムにおいて、周辺装置３００は、周辺装置３００に対応する複数種類のＰＤＬ１およびＰＤＬ２に従う画像形成処理のうち少なくとも一つの処理に対応する処理識別情報（デバイスＩＤ）を周辺装置３００から読み出してＵＳＢ又はネットワークを介して情報処理装置１００へ転送する。
【０１２３】
情報処理装置１００に搭載されている図１７、図１８を実行するインストールプログラムは、周辺装置３００から転送されてくる処理識別情報（デバイスＩＤ）を取得する。
【０１２４】
インストールプログラムが取得した複数のデバイスＩＤ（ＰＤＬ１とＰＤＬ２に対応するデバイスＩＤ）から、少なくともひとつのデバイスＩＤ（例えば、ＰＤＬ１に対応するデバイスＩＤ）を選択する。
【０１２５】
インストールプログラムが選択したデバイスＩＤに対応する周辺装置３００がＰＤＬ１に対応した画像形成処理に対応するデバイスドライバをインストールプログラムがインストールする。
【０１２６】
また、インストールプログラムが複数のデバイスＩＤを取得するのに応じて、選択すべきデバイスＩＤを自動で選択するのか、ユーザからの選択指示により所定の処理識別情報を選択するのかを指示可能な指示画面を所定時間の間、図１６（ａ）のようにインストールプログラムはＣＲＴ１０２に表示できる。
【０１２７】
（他の実施形態）
ここで本発明の印刷処理装置として好適なものとしては、本実施形態で説明するレーザビームプリンタが挙げられる。またプラグアンドプレイには、機能カテゴリであるクラスという概念が存在し、インクジェットプリンタ、ファクシミリ、レーザビームプリンタなどのプリンタクラスやデジタルカメラ、スキャナが該当するスキャナクラスは別の機能カテゴリだと認識されて適切なデバイスドライバがインストールされる。各クラスに関しても２つ以上の言語体系の拡張ボートが同一デバイスに存在する場合、またこれらの複合機などの各種周辺装置、画造形性装置等を含む。
【０１２８】
本実施形態における図１７、図１８など各図に示す処理が、外部からインストールされるプログラムによって、それぞれの装置より遂行される。そして、その場合、ＣＤ−ＲＯＭやフラッシュメモリやＦＤ等の記憶媒体により、あるいはネットワークを介して外部の記憶媒体から、プログラムを含む情報群をホストコンピュータに供給される場合でも本発明は適用されるものである。
【０１２９】
以上のように、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、又は、外部サーバ（図示省略）からダウンロードすることで、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【０１３０】
この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。プログラムコードを供給するための記憶媒体としては、たとえば、フロッピィーディスク、ハードディスク、光ディスク、光磁気ディスク、ＤＶＤ、ＣＤ−ＲＯＭ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＥＥＰＲＯＭ等を用いることができる。
【０１３１】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１３２】
本実施形態によれば、簡単な環境構築を行いたいユーザと、高度な設定を行って環境構築を行いたいユーザに対して、以下のような機会を提供する。
【０１３３】
ＰＤＬやデバイスドライバなどの周辺機器の詳細仕様を気にしないで、印刷機能やスキャン機能などのユーザの使用目的を達成するための環境をほしいユーザは、あらかじめ決められた判断基準により処理識別情報を自動選択する手段を用いて簡単に環境構築できる。
【０１３４】
複数のＰＤＬなどの多機能な処理系等の選択肢が周辺機器に用意されているユーザが手動で希望する処理系を構築したい場合、ユーザの手動により処理識別情報を選択可能なインターフェイスを提供できる。
【０１３５】
遠隔地より操作して大規模な数の情報処理装置にデバイスドライバをインストールしたい場合などの要望で、表示画面が使用できない場合でも、あらかじめ決められた判断基準により処理識別情報を選択して環境構築を実現できる。
【図面の簡単な説明】
【０１３６】
【図１】本発明の情報処理装置と周辺装置の接続形態の一例を示した模式図である。
【図２】本発明の情報処理装置のハードウェア構成の一例を示したブロック図である。
【図３】情報処理装置内のハードディスクに格納された情報を示した模式図である。
【図４】周辺装置のハードウェアハードウェア構成の一例を示したブロック図である。
【図５】従来のＵＳＢ接続時のプラグアンドプレイ時の情報処理装置と周辺装置の通信を表すシーケンス図である。
【図６】新しいデバイスを発見したい場合の従来のダイアログボックスの例である。
【図７】デバイスＩＤの情報の構造をあらわす模式図の一例である。
【図８】従来のＵＳＢ接続時のプラグアンドプレイ時の処理フローを表すフローチャートである。
【図９】デバイスドライバの格納位置を指定するためのダイアログの例である。
【図１０】現在ＰＷＧで策定中のポートＭＩＢでデバイスドライバをインストールする場合の情報処理装置と周辺装置の通信を表すシーケンス図である。
【図１１】ユーザの望む周辺装置の機能を検索するためのダイアログの一例である。
【図１２】周辺装置の標準的な情報を表すＭＩＢの例である。
【図１３】ポートＭＩＢで周辺装置を発見しインストールする際のダイアログの従来例である。
【図１４】ポートＭＩＢの情報を示すデータ構造図である。
【図１５】現在ＰＷＧで策定中のポートＭＩＢを使ったデバイスドライバのインストールの処理フローを示すフローチャートである。
【図１６】本発明でのデバイスドライバをインストールする際に表示されるダイアログボックスの実施例である。
【図１７】実施例１のＵＳＢ接続時のプラグアンドプレイの処理フローを示すフローチャートである。
【図１８】実施例２のポートＭＩＢのデバイスドライバインストール時の処理フローを示すフローチャートである。
【図１９】実施例３のポートＭＩＢのデバイスドライバインストール時にポートＭＩＢの情報としてデバイスＩＤの優先順位を定義した場合の情報処理装置と周辺装置の通信を表すシーケンス図である。
【図２０】実施例３のポートＭＩＢのデバイスドライバインストール時にポートＭＩＢの情報としてデバイスＩＤの優先順位を定義した場合のＭＩＢのデータ構造を示した模式図である。
【図２１】実施例４のデバイスＩＤの優先順を編集するためのダイアログの一例である。
【図２２】実施例４のデバイスＩＤの優先順を編集する処理フローを示すフローチャートである。
【図２３】実施例３，４のデバイスＩＤを情報処理装置に格納した場合のハードディスク内のデータ構造を示した模式図である。
【図１】
2006235721.tif 000003
【図２】
2006235721.tif 000004
【図３】
2006235721.tif 000005
【図４】
2006235721.tif 000006
【図５】
2006235721.tif 000007
【図６】
2006235721.tif 000008
【図７】
2006235721.tif 000009
【図８】
2006235721.tif 000010
【図９】
2006235721.tif 000011
【図１０】
2006235721.tif 000012
【図１１】
2006235721.tif 000013
【図１２】
2006235721.tif 000014
【図１３】
2006235721.tif 000015
【図１４】
2006235721.tif 000016
【図１５】
2006235721.tif 000017
【図１６】
2006235721.tif 000018
【図１７】
2006235721.tif 000019
【図１８】
2006235721.tif 000020
【図１９】
2006235721.tif 000021
【図２０】
2006235721.tif 000022
【図２１】
2006235721.tif 000023
【図２２】
2006235721.tif 000024
【図２３】
2006235721.tif 000025