(57)【要約】【課題】  適切なＰＤＬを選択して情報処理装置にデバイス情報を提示することで、ユーザが所望するドライバをインストールさせ、かつユーザの利便性を向上させることができる画像形成装置及びその制御方法、プログラムを提供する。【解決手段】  画像形成装置が備える複数の画像形成手段に関する履歴情報を、各画像形成手段別に記憶装置に記憶する。その履歴情報に基づいて、複数の画像形成手段から優先する画像形成手段を決定する。情報処理装置から受信する情報要求に対して、決定した画像形成手段の識別子を含む識別情報を送信する。【選択図】  図４
2007069359.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークに接続され、前記ネットワーク上の情報処理装置と通信可能な画像形成装置であって、
複数の画像形成手段と、
前記複数の画像形成手段に関する履歴情報を記憶する記憶手段と、
前記履歴情報に基づいて、前記複数の画像形成手段から優先する画像形成手段を決定する決定手段と、
前記情報処理装置から受信する情報要求に対して、前記決定手段で決定した画像形成手段の識別子を含む識別情報を送信する送信手段と
を備えることを特徴とする画像形成装置。
【請求項２】
前記記憶手段は、前記履歴情報として、前記情報処理装置から受信した印刷ジョブを印刷する際に使用した画像形成手段の使用履歴情報を記憶し、
前記決定手段は、前記使用履歴情報を参照して、使用回数が最大の画像形成手段を、前記複数の画像形成手段から優先する画像形成手段に決定する
ことを特徴とする請求項１に記載の画像形成装置。
【請求項３】
前記決定手段の実行の可否と、前記決定手段を実行しない指定を行った場合に、前記複数の画像形成手段から優先する画像形成手段を指定する指定手段を更に備え、
前記決定手段は、前記指定手段で指定される画像形成手段を、前記複数の画像形成手段から優先する画像形成手段に決定する
ことを特徴とする請求項１に記載の画像形成装置。
【請求項４】
前記情報処理装置から検索要求を受信する受信手段と、
前記検索要求で指定されるタイプを解釈し、当該画像形成装置がそのタイプを有する場合のみ応答する応答手段と
を更に備えることを特徴とする請求項１に記載の画像形成装置。
【請求項５】
前記記憶手段は、前記検索要求で指定されるタイプが前記画像形成手段の種別を示すタイプである場合、前記履歴情報として、前記検索要求を送信した情報処理装置を示す検索履歴情報を記憶し、
前記決定手段は、前記検索履歴情報に、前記情報要求を送信した情報処理装置が存在する場合、前記情報処理装置に対応するタイプの画像形成手段を、前記複数の画像形成手段から優先する画像形成手段に決定する
ことを特徴とする請求項４に記載の画像形成装置。
【請求項６】
前記記憶手段は、前記情報処理装置から受信した印刷ジョブを印刷する際に使用した画像形成手段の使用履歴情報を前記履歴情報として記憶し、更に、前記検索要求で指定されるタイプが前記画像形成手段の種別を示すタイプである場合、前記検索要求を送信した情報処理装置を示す検索履歴情報を前記履歴情報として記憶し、
前記決定手段は、
前記検索履歴情報に、前記情報要求を送信した情報処理装置が存在する場合、前記情報処理装置に対応するタイプの画像形成手段を、前記複数の画像形成手段から優先する画像形成手段に決定し、
前記検索履歴情報に、前記情報要求を送信した情報処理装置が存在しない場合、前記使用履歴情報を参照して、使用回数が最大の画像形成手段を、前記複数の画像形成手段から優先する画像形成手段に決定する
ことを特徴とする請求項４に記載の画像形成装置。
【請求項７】
前記情報処理装置から受信した印刷ジョブを記憶装置に格納する格納手段を更に備え、
前記記憶手段は、前記履歴情報として、前記印刷ジョブの格納指示で前記格納手段で格納した印刷ジョブの格納履歴情報を記憶し、
前記決定手段は、前記格納履歴情報を参照して、格納回数が最大の印刷ジョブに対して使用する画像形成手段を、前記複数の画像形成手段から優先する画像形成手段に決定する
ことを特徴とする請求項１に記載の画像形成装置。
【請求項８】
前記情報処理装置から受信した印刷ジョブを記憶装置に格納する格納手段を更に備え、
前記記憶手段は、前記情報処理装置から受信した印刷ジョブを印刷する際に使用した画像形成手段の使用履歴情報を前記履歴情報として記憶し、更に、前記印刷ジョブの格納指示で前記格納手段で格納した印刷ジョブの格納履歴情報を前記履歴情報として記憶し、
前記決定手段は、前記使用履歴情報に、使用回数が最大の画像形成手段が２つ以上存在する場合、その２つ以上の画像形成手段に対して、前記格納履歴情報を参照して、格納回数が最大の印刷ジョブに対して使用する画像形成手段を、前記複数の画像形成手段から優先する画像形成手段に決定する
ことを特徴とする請求項１に記載の画像形成装置。
【請求項９】
印刷ジョブの格納指示で自身の記憶装置内に格納した印刷ジョブの格納履歴情報を前記履歴情報として記憶する外部装置を更に備え、
前記決定手段は、前記ネットワークを介して、前記外部装置が記憶する格納履歴情報を参照して、格納回数が最大の印刷ジョブに対して使用する画像形成手段を、前記複数の画像形成手段から優先する画像形成手段に決定する
ことを特徴とする請求項１に記載の画像形成装置。
【請求項１０】
ネットワークを介して画像形成装置と情報処理装置とが相互に接続されて構成される画像形成システムであって、
前記画像形成装置は、
複数の画像形成手段と、
前記複数の画像形成手段に関する履歴情報を記憶する記憶手段と、
前記履歴情報に基づいて、前記複数の画像形成手段から優先する画像形成手段を決定する決定手段と、
前記情報処理装置から受信する情報要求に対して、前記決定手段で決定した画像形成手段の識別子を含む識別情報を送信する送信手段とを備え、
前記情報処理装置は、
前記識別情報を前記画像形成装置から受信する受信手段と、
前記受信手段で受信した識別情報に基づいて、前記画像形成装置を使用するためのためのデバイスドライバをインストールするインストール手段と
を備えることを特徴とする画像形成システム。
【請求項１１】
ネットワークに接続され、前記ネットワーク上の情報処理装置と通信可能な画像形成装置の制御方法であって、
当該画像処理装置が備える複数の画像形成手段に関する履歴情報を記憶媒体に記憶する記憶工程と、
前記履歴情報に基づいて、前記複数の画像形成手段から優先する画像形成手段を決定する決定工程と、
前記情報処理装置から受信する情報要求に対して、前記決定工程で決定した画像形成手段の識別子を含む識別情報を送信する送信工程と
を備えることを特徴とする画像形成装置の制御方法。
【請求項１２】
ネットワークに接続され、前記ネットワーク上の情報処理装置と通信可能な画像形成装置の制御をコンピュータに実行させるためのプログラムであって、
当該画像処理装置が備える複数の画像形成手段に関する履歴情報を記憶媒体に記憶する記憶工程と、
前記履歴情報に基づいて、前記複数の画像形成手段から優先する画像形成手段を決定する決定工程と、
前記情報処理装置から受信する情報要求に対して、前記決定工程で決定した画像形成手段の識別子を含む識別情報を送信する送信工程と
をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークに接続され、前記ネットワーク上の情報処理装置と通信可能な画像形成装置及びその制御方法、プログラム、その画像形成装置及び情報処理装置からなる画像形成システムに関するものである。
【背景技術】
【０００２】
従来、ネットワークに接続され、ネットワークを介してコンピュータからの操作を受け付ける画像形成装置（例えば、プリンタや複合機等）が利用されている。更に、この画像形成装置においては、装置内で処理可能なＰＤＬ（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）を後から拡張し、複数のＰＤＬをサポートすることが可能であるものも存在する。
【０００３】
また、周辺装置であるデバイスと、ホストコンピュータ等の情報処理装置とが接続する際には、デバイスは機種名や製造社名を含むデバイス情報を情報処理装置に送信することが可能である。これを受けて、情報処理装置はデバイス情報中のデバイスＩＤを参照し、それによって特定されるデバイスドライバを選択してインストールすることが可能である。このような技術は、プラグアンドプレイと呼ばれる。
【０００４】
ここで、一般的なプラグアンドプレイによるプリンタドライバインストール処理について、図１を用いて説明する。
【０００５】
図１において、情報処理装置１００の一例としては、一般的なパーソナルコンピュータ（ＰＣ）やワークステーション等をホストコンピュータとして用いることになる。情報処理装置１００には、装置に搭載されるオペレーティングシステム（ＯＳ）への同梱ドライバとして、複数のドライバセット１０１〜１０３が予め格納されているものとする。
【０００６】
ドライバセット１０１〜１０３はそれぞれ、ドライバインストール時に参照される固有情報を記述したＩＮＦファイル１０４と、各種実行モジュール１０５と、そして、リソース１０６によって構成される。ＩＮＦファイル１０４中には、プラグアンドプレイ時に渡されるデバイス情報中の製造者名称であるＭＦＧタグと、製品名称であるＭＤＬタグの値を用いて構成されるデバイスＩＤが記述されている。
【０００７】
このデバイスＩＤは、インストール時に対応する画像形成装置（プリンタ）とデバイスドライバを正確に対応つけるための識別子として用いられる。情報処理装置１００と画像形成装置１０７が、ＵＳＢ等の通信媒体１０８を介して接続されると、画像形成装置１０７がその接続を検知する。接続の検知後、画像形成装置１０７は、自装置の固有情報を含むＩＥＥＥ１２８４規定のデバイス情報１０９を、通信媒体１０８を介して情報処理装置１００へ送信する。ここで、ＩＥＥＥ１２８４規定のデバイス情報１０９は、図２に示す情報を含む。
【０００８】
デバイス情報１０９を受信した情報処理装置１００内のＯＳは、デバイス情報１０９中のＣＬＳタグを読み取り、プラグアンドプレイの対象が画像形成装置であることを認識し、対応するドライバセットのインストール処理を開始する。ＯＳは、デバイス情報１０９のＭＦＧタグとＭＤＬタグから構成されるデバイスＩＤを生成し、そのデバイスＩＤが記述されているＩＮＦファイル１０４を有するドライバセットを、ドライバセット１０１〜１０３から検索する。
【０００９】
デバイス情報１０９に対応するドライバセットを検索した場合は、そのドライバセット中の各種実行モジュール１０５と、そして、リソース１０６をＯＳへインストールする。続けて、そのインストールしたドライバセットを、デバイス情報１０９を受信した通信媒体１０８のポートへ割り当てる。もし、対応するドライバセットが情報処理装置１００に存在しない場合は、インストール処理を行わずに終了する。
【００１０】
ここで、図２に示すデバイス情報について説明する。
【００１１】
図２に示すデバイス情報のフォーマットでは、タグ名称を示す「タグ」列と、そのタグで取り得る値を示す「値」列で構成される。ＣＬＳタグには、値として「ＰＲＩＮＴＥＲ」が格納されている。ＣＬＳタグは、装置のタイプが値として格納されるものであり、ここでは、接続先の周辺装置が画像形成装置であることを示している。
【００１２】
ＭＦＧタグには、値として「ＡＢＣ」が格納されている。ＭＦＧタグは、製造元名称を示し、ここでは、ＡＢＣ社が製造元であることを示している。ＭＤＬタグには、値として「ＬＢＰ−ＸＸＸ  ＰＤＬ１」が格納されている。ＭＤＬタグは、機種名及びＰＤＬ種別を示し、ここでは、周辺装置の機種がＬＢＰ−ＸＸＸ、ＰＤＬ種別がＰＤＬ１であることを示している。
【００１３】
ＣＭＤタグには、値として「ＰＤＬ１，ＩＥＥＥ１２８４」が格納されている。ＣＭＤタグの値には、通信媒体を通してやり取りされるコマンド及びＰＤＬ名称を含む。ここでは、デバイスが、ＰＤＬの種類としてＰＤＬ１なるコマンド群を、通信媒体の種類としてＩＥＥＥ１２８４で送受信する周辺装置であることを示している。
【００１４】
また、図２の例で示したデバイス情報１０９を受信した情報処理装置１００においては、ＯＳによりＭＦＧタグとＭＤＬタグの値から「ＡＢＣ  ＬＢＰ−ＸＸＸ  ＰＤＬ１」というデバイスＩＤが生成されることになる。そして、このデバイスＩＤをキーとして、ドライバセットが検索されることになる。
【００１５】
また、さらに、ＵＳＢのようなローカルインタフェースを使用したプラグアンドプレイや、ＬＡＮ等のネットワークインタフェースを使用してプラグアンドプレイを実現する技術も提案されている。その一例としては、ＷＳ−ＤｉｓｃｏｖｅｒｙやＷＳ−ＭｅｔａｄａｔａＥｘｃｈａｎｇｅと呼ばれるＳＯＡＰ（Ｓｉｍｐｌｅ  Ｏｂｊｅｃｔ  Ａｃｃｅｓｓ  Ｐｒｏｔｏｃｏｌ）ベースのＷｅｂサービスプロトコルが挙げられる。
【００１６】
情報処理装置は、これらの技術を使用することにより、ネットワーク上のデバイスの存在を検知し、検知したデバイスからデバイス情報を取得することが可能となる。これにより、ローカルインタフェースの場合と同様なプラグアンドプレイにより、ネットワーク上のデバイスのドライバインストールを行うことができる。
【００１７】
また、プリンタがＤｅｖｉｃｅＩＤを通知するモードを予め決めておき、そのモードが指定されている場合には、そのＤｅｖｉｃｅＩＤを情報処理装置に通知して、それを元に情報処理装置で対応するドライバをインストールを行う技術も提案されている（特許文献１）。
【特許文献１】特開２００３−９９２１９号公報
【発明の開示】
【発明が解決しようとする課題】
【００１８】
しかしながら、上述した従来技術では、複数のＰＤＬを有する画像形成装置の場合、情報処理装置上にも対応する複数のドライバがインストールされてしまうという問題があった。一般のユーザにとっては、印刷に際して、どのＰＤＬを使用するかは気にかけないことが多く、それにも関わらず複数のドライバがインストールされてしまうことは、ユーザの混乱を招く恐れがあった。
【００１９】
また、処理の履歴から明らかに同じＰＤＬしか使用していないような、使用用途が明らかな環境においても、情報処理装置にはそのＰＤＬに対するドライバがインストールされない可能性があるという問題もあった。
【００２０】
本発明は上記の課題を解決するためのものである。その目的は、適切なＰＤＬを選択して情報処理装置にデバイス情報を提示することで、ユーザが所望するドライバをインストールさせ、かつユーザの利便性を向上させることができる画像形成装置及びその制御方法、プログラムを提供することにある。
【課題を解決するための手段】
【００２１】
上記の目的を達成するための本発明による画像形成装置は以下の構成を備える。即ち、
ネットワークに接続され、前記ネットワーク上の情報処理装置と通信可能な画像形成装置であって、
複数の画像形成手段と、
前記複数の画像形成手段に関する履歴情報を記憶する記憶手段と、
前記履歴情報に基づいて、前記複数の画像形成手段から優先する画像形成手段を決定する決定手段と、
前記情報処理装置から受信する情報要求に対して、前記決定手段で決定した画像形成手段の識別子を含む識別情報を送信する送信手段と
を備える。
【００２２】
また、好ましくは、前記記憶手段は、前記履歴情報として、前記情報処理装置から受信した印刷ジョブを印刷する際に使用した画像形成手段の使用履歴情報を記憶し、
前記決定手段は、前記使用履歴情報を参照して、使用回数が最大の画像形成手段を、前記複数の画像形成手段から優先する画像形成手段に決定する。
【００２３】
また、好ましくは、前記決定手段の実行の可否と、前記決定手段を実行しない指定を行った場合に、前記複数の画像形成手段から優先する画像形成手段を指定する指定手段を更に備え、
前記決定手段は、前記指定手段で指定される画像形成手段を、前記複数の画像形成手段から優先する画像形成手段に決定する。
【００２４】
また、好ましくは、前記情報処理装置から検索要求を受信する受信手段と、
前記検索要求で指定されるタイプを解釈し、当該画像形成装置がそのタイプを有する場合のみ応答する応答手段と
を更に備える。
【００２５】
また、好ましくは、前記記憶手段は、前記検索要求で指定されるタイプが前記画像形成手段の種別を示すタイプである場合、前記履歴情報として、前記検索要求を送信した情報処理装置を示す検索履歴情報を記憶し、
前記決定手段は、前記検索履歴情報に、前記情報要求を送信した情報処理装置が存在する場合、前記情報処理装置に対応するタイプの画像形成手段を、前記複数の画像形成手段から優先する画像形成手段に決定する。
【００２６】
また、好ましくは、前記記憶手段は、前記情報処理装置から受信した印刷ジョブを印刷する際に使用した画像形成手段の使用履歴情報を前記履歴情報として記憶し、更に、前記検索要求で指定されるタイプが前記画像形成手段の種別を示すタイプである場合、前記検索要求を送信した情報処理装置を示す検索履歴情報を前記履歴情報として記憶し、
前記決定手段は、
前記検索履歴情報に、前記情報要求を送信した情報処理装置が存在する場合、前記情報処理装置に対応するタイプの画像形成手段を、前記複数の画像形成手段から優先する画像形成手段に決定し、
前記検索履歴情報に、前記情報要求を送信した情報処理装置が存在しない場合、前記使用履歴情報を参照して、使用回数が最大の画像形成手段を、前記複数の画像形成手段から優先する画像形成手段に決定する。
【００２７】
また、好ましくは、前記情報処理装置から受信した印刷ジョブを記憶装置に格納する格納手段を更に備え、
前記記憶手段は、前記履歴情報として、前記印刷ジョブの格納指示で前記格納手段で格納した印刷ジョブの格納履歴情報を記憶し、
前記決定手段は、前記格納履歴情報を参照して、格納回数が最大の印刷ジョブに対して使用する画像形成手段を、前記複数の画像形成手段から優先する画像形成手段に決定する。
【００２８】
また、好ましくは、前記情報処理装置から受信した印刷ジョブを記憶装置に格納する格納手段を更に備え、
前記記憶手段は、前記情報処理装置から受信した印刷ジョブを印刷する際に使用した画像形成手段の使用履歴情報を前記履歴情報として記憶し、更に、前記印刷ジョブの格納指示で前記格納手段で格納した印刷ジョブの格納履歴情報を前記履歴情報として記憶し、
前記決定手段は、前記使用履歴情報に、使用回数が最大の画像形成手段が２つ以上存在する場合、その２つ以上の画像形成手段に対して、前記格納履歴情報を参照して、格納回数が最大の印刷ジョブに対して使用する画像形成手段を、前記複数の画像形成手段から優先する画像形成手段に決定する。
【００２９】
また、好ましくは、印刷ジョブの格納指示で自身の記憶装置内に格納した印刷ジョブの格納履歴情報を前記履歴情報として記憶する外部装置を更に備え、
前記決定手段は、前記ネットワークを介して、前記外部装置が記憶する格納履歴情報を参照して、格納回数が最大の印刷ジョブに対して使用する画像形成手段を、前記複数の画像形成手段から優先する画像形成手段に決定する。
【００３０】
上記の目的を達成するための本発明による画像形成システムは以下の構成を備える。即ち、
ネットワークを介して画像形成装置と情報処理装置とが相互に接続されて構成される画像形成システムであって、
前記画像形成装置は、
複数の画像形成手段と、
前記複数の画像形成手段に関する履歴情報を記憶する記憶手段と、
前記履歴情報に基づいて、前記複数の画像形成手段から優先する画像形成手段を決定する決定手段と、
前記情報処理装置から受信する情報要求に対して、前記決定手段で決定した画像形成手段の識別子を含む識別情報を送信する送信手段とを備え、
前記情報処理装置は、
前記識別情報を前記画像形成装置から受信する受信手段と、
前記受信手段で受信した識別情報に基づいて、前記画像形成装置を使用するためのためのデバイスドライバをインストールするインストール手段と
を備える。
【００３１】
上記の目的を達成するための本発明による画像形成装置の制御方法は以下の構成を備える。即ち、
ネットワークに接続され、前記ネットワーク上の情報処理装置と通信可能な画像形成装置の制御方法であって、
当該画像処理装置が備える複数の画像形成手段に関する履歴情報を記憶媒体に記憶する記憶工程と、
前記履歴情報に基づいて、前記複数の画像形成手段から優先する画像形成手段を決定する決定工程と、
前記情報処理装置から受信する情報要求に対して、前記決定工程で決定した画像形成手段の識別子を含む識別情報を送信する送信工程と
を備える。
【００３２】
上記の目的を達成するための本発明によるプログラムは以下の構成を備える。即ち、
ネットワークに接続され、前記ネットワーク上の情報処理装置と通信可能な画像形成装置の制御をコンピュータに実行させるためのプログラムであって、
当該画像処理装置が備える複数の画像形成手段に関する履歴情報を記憶媒体に記憶する記憶工程と、
前記履歴情報に基づいて、前記複数の画像形成手段から優先する画像形成手段を決定する決定工程と、
前記情報処理装置から受信する情報要求に対して、前記決定工程で決定した画像形成手段の識別子を含む識別情報を送信する送信工程と
をコンピュータに実行させることを特徴とする。
【発明の効果】
【００３３】
本発明によれば、適切なＰＤＬを選択して情報処理装置にデバイス情報を提示することで、ユーザが所望するドライバをインストールさせ、かつユーザの利便性を向上させることができる画像形成装置及びその制御方法、プログラムを提供できる。
【発明を実施するための最良の形態】
【００３４】
以下、本発明の実施の形態について図面を用いて詳細に説明する。
【００３５】
＜実施形態１＞
図３は本発明の実施形態１の画像形成システムの構築例を示す図である。
【００３６】
図３に示す画像形成システムは、デバイス３０１、及びホストコンピュータ３０２及び３０３がネットワーク３０４を介して相互に接続された構成となっている。
【００３７】
尚、ネットワーク３０４は、典型的にはインターネットやＬＡＮやＷＡＮや電話回線、専用デジタル回線、ＡＴＭやフレームリレー回線、通信衛星回線、ケーブルテレビ回線、データ放送用無線回線等のいずれかにより実現される通信ネットワークである。または、これらの組み合わせにより実現されるいわゆる通信ネットワークであり、データの送受信が可能であれば良い。
【００３８】
次に、デバイス３０１のハードウェア構成について、図４を用いて説明する。
【００３９】
図４は本発明の実施形態１のデバイスのハードウェア構成を示すブロック図である。
【００４０】
尚、ここでは、デバイスとして、画像形成装置である、レーザビーム方式のプリンタ４００を例に挙げて説明する。
【００４１】
図４のプリンタ４００において、ＣＰＵ４０１は、ＲＯＭ４０３のプログラム用ＲＯＭ４０３ｂに記憶された制御プログラムに基づいて、システムバス４０４に接続される各種のデバイスとのアクセスを総括的に制御する。また、ＣＰＵ４０１は、印刷インタフェース４０７を介して接続される印刷部（プリンタエンジン）４１０に出力情報としての画像信号を出力する。
【００４２】
尚、プログラム用ＲＯＭ４０３ｂに記憶される制御プログラムには、後述する各種フローチャートを実現するためのプログラムが含まれており、ＣＰＵ４０１は、これらのプログラムを実行することで、フローチャートで示される各種処理を実行する。
【００４３】
また、このＲＯＭ４０３のプログラム用ＲＯＭ４０３ｂには、ＣＰＵ４０１が実行可能な制御プログラム等を記憶する。さらに、ＲＯＭ４０３のフォント用ＲＯＭ４０３ａには、出力情報を生成する際に使用するフォントデータ（アウトラインフォントデータを含む）等を記憶する。ＲＯＭ４０３のデータ用ＲＯＭ４０３ｃには、ホストコンピュータ（例えば、ホストコンピュータ３０２）上で利用されるデータを記憶している。
【００４４】
ＣＰＵ４０１は、ネットワークコントローラ部４０６を介して、ネットワーク３０４上のホストコンピュータとの通信処理が可能となっている。ＲＡＭ４０２は、主としてＣＰＵ４０１の主メモリ、ワークエリア等として機能し、増設ポート（不図示）に接続されるオプションＲＡＭによりメモリ容量を拡張することができるように構成されている。尚、ＲＡＭ４０２は、出力情報展開領域、環境データ格納領域等に用いられる。また、プログラム用ＲＯＭ４０３ｂに記憶される制御プログラムには、入力されたＰＤＬ（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）からプリンタエンジン４１０が印刷可能なビットマップデータに変換するプログラムも含まれる。そのプログラムをＣＰＵ４０１が実行することでにより画像形成手段として機能する。
【００４５】
ハードディスク（ＨＤ）、ＩＣカード等の外部記憶装置４１１は、ディスクコントローラ（ＤＫＣ）４０８によりアクセスが制御される。外部記憶装置４１１は、フォントデータ、エミュレーションプログラム、フォームデータ等を記憶したり、印刷ジョブを一時的にスプールし、スプールされたジョブを外部から制御するためのジョブ格納領域として使用される。
【００４６】
また、操作パネル４０５は、例えば、タッチパネル、各種キー、ボタン等から構成され、タッチパネル上に表示されるソフトウェアキーから各種情報をユーザが入力することが可能である。不揮発性メモリ４０９は、操作パネル４０５から入力されるプリンタモード設定情報等の各種情報を記憶している。
【００４７】
また、プリンタ４００には、さらにオプションで、ステープルやソート機能を行うフィニッシャや、両面印刷機能を実現するための両面印刷装置等の各種拡張装置を装着することが可能となっており、それらの動作はＣＰＵ４０１から制御される。
【００４８】
ＰＤＬ拡張部４１２は、１個以上のＰＤＬ装置（ＰＤＬボード）４１３を接続し、ＣＰＵ４０１からＰＤＬ装置４１３を制御可能とする。ＰＤＬ装置４１３は、ホストコンピュータから受信した印刷データ（ＰＤＬ）を解釈し、プリンタエンジン４１０が印刷可能なビットマップデータに変換する機能を有する画像形成部（画像形成手段）である。このＰＤＬ装置４１３は、標準として１個以上接続されているが、後から追加することも可能である。また、プラグアンドプレイで使用されるＩＥＥＥ１２８４規定のデバイス情報は、このＰＤＬ装置４１３が保持している。
【００４９】
尚、以下の実施形態１においては、ことわりのない限りデバイスは、標準ＰＤＬ装置としてＰＤＬ１とＰＤＬ２を備えているものとする。
【００５０】
また、ＰＤＬ装置の拡張は、専用のＰＤＬ装置を搭載する拡張ボードを物理的にプリンタ４００に追加する構成であっても良い。あるいは、ＰＤＬ装置がプログラムによって実現される場合には、プログラム用ＲＯＭ４０３ｂに対応するプログラムを追加する構成であっても良い。更には、予め複数種類のＰＤＬ装置それぞれに対応するプログラムをプログラム用ＲＯＭ４０３ｂに記憶しておき、それらから必要なＰＤＬ装置を、ユーザ操作によって入力されたライセンスキーによって有効にすることで追加する構成であっても良い。
【００５１】
また、ＰＤＬの一例としては、ＬＩＰＳ、ＰｏｓｔＳｃｒｉｐｔ、ＰＣＬ等がある。
【００５２】
次に、ホストコンピュータ３０２や３０３の詳細構成について、図５を用いて説明する。
【００５３】
図５は本発明の実施形態１のホストコンピュータの詳細構成を示すブロック図である。
【００５４】
ホストコンピュータ３０２や３０３に対応する情報処理装置５１０において、ＨＤＤ５０１は大容量のハードディスクドライブである。このＨＤＤ５０１は、予めＲＡＭ５０９にロードするプログラムモジュールや、ＩＮＦファイルを含むドライバセット５０５を記憶しておくことができる。ＣＤ／ＤＶＤ−ＲＯＭ／ＲＡＭドライブ等から構成される外部記憶装置５０２も同様の機能を有する。
【００５５】
ＲＡＭ５０９上で実現される各プログラムモジュール群には、ポート管理部５０７、プラグアンドプレイ部５０８、プリンタクラスインストーラ部５１１、ドライバライブラリ５０６上で管理される１つ以上のプリンタドライバセット５０５より構成されている。ＲＡＭ５０９は、ＨＤＤ５０１からこれらのプログラムモジュールを適宜読み出し実行する。
【００５６】
ＣＰＵ５０４は、プリンタクラスインストーラ部５１１、プラグアンドプレイ部５０８、ポート管理部５０７及びドライバライブラリ５０６を統括制御し、各処理をＨＤＤ５０１からＲＡＭ５０９に読み出して実行する。
【００５７】
バス５０３は、情報処理装置５１０の各種構成要素（ＣＰＵ５０４、ＲＡＭ５０９、ＨＤＤ５０１、外部記憶装置５０２）を相互に接続するバスである。
【００５８】
ポート管理部５０７は、デバイス４００との通信のために、ネットワーク３０４に接続された情報処理装置５１０側のインタフェースの制御を行う。プリンタドライバの自動インストール時には、ＩＥＥＥ１２８４規定のデバイス情報を受信し、プラグアンドプレイ部５０８に受け渡す。
【００５９】
プラグアンドプレイ部５０８は、プラグアンドプレイに関してデバイスとの情報制御を行うモジュールである。このプラグアンドプレイ部５０８は、ポート管理部５０７より受信したデバイス情報中のＭＦＧタグとＭＤＬタグの値からデバイスＩＤを生成する。そして、生成したデバイスＩＤをプリンタクラスインストーラ部５１１に受け渡す。
【００６０】
プリンタクラスインストーラ部５１１は、プリンタドライバのインストールを担当するモジュールである。プリンタクラスインストーラ部５１１は、プラグアンドプレイ部５０８より受信したデバイスＩＤを元に、１つ以上あるプリンタドライバセット５０５より、そのデバイスＩＤに対応するプリンタドライバセットを検索する。該当のプリンタドライバセットを検索した場合、そのプリンタドライバをインストールして、必要なポートに割り当てる。
【００６１】
プリンタドライバセット５０５は、プリンタドライバに対する、ＤＬＬ等の実行モジュール群５０５ｂ、リソース５０５ｃと、インストールのためにそれらの特徴を記述するＩＮＦファイル５０５ａとで構成される。
【００６２】
次に、情報処理装置（ホストコンピュータ）５１０とデバイス（プリンタ）４００間で実現されるプリンタドライバインストールのシーケンスについて、図６を用いて説明する。
【００６３】
図６は本発明の実施形態１のプリンタドライバインストールのシーケンスを示す図である。
【００６４】
ステップＳ６０１で、情報処理装置５１０は、ネットワーク上にデバイス検索要求を送信する。デバイス検索要求は、例えば、図７に示すようなＸＭＬ形式で記述される情報であり、マルチキャストを使用して送信される。ここで、図７中の＜Ｔｙｐｅｓ＞要素７０１には、検索対象のデバイスのタイプを記述する。例えば、プリントサービス／スキャンサービス等の機能種別を記述したり、ＰＤＬ１を有するプリントサービス等のＰＤＬ装置種別を記述することが可能である。
【００６５】
このデバイス検索要求は、マルチキャストが到達する範囲に存在するすべてのデバイスが受信し、各デバイスは、後述の図８のフローチャートに従い、それに対する応答を返すか否かを判定する。
【００６６】
例えば、デバイス４００において応答すると判定された場合、デバイス４００は、ステップＳ６０２で、デバイス検索要求に対する応答を情報処理装置５１０に送信する。次に、情報処理装置５１０は、ステップＳ６０３で、検索された（応答した）デバイスに対してデバイス情報要求を送信する。
【００６７】
デバイス情報要求を受信したデバイス４００は、ステップＳ６０４で、後述する方法でデバイス情報を生成する。そして、生成したデバイス情報を、ステップＳ６０５で、情報処理装置５１０に送信する。尚、デバイス４００からネットワークに参加したことを通知する場合は、ステップＳ６０１とステップＳ６０２の処理の代わりにデバイス４００がネットワーク参加通知を情報処理装置５１０に行う。次に、ステップＳ６０３で、情報処理装置５１０は、デバイス４００からのネットワーク参加通知に基づき、デバイスに対してデバイス情報要求を送信する。
【００６８】
このデバイス情報（識別情報）は、例えば、図９に示すようなＸＭＬ形式で記述される情報であり、デバイスが有するサービスのサービスリストを含んでいる。また、図９中の＜ＳｅｒｖｉｃｅＩＤ＞要素９０１の値は、各サービスを識別するための固有のＩＤ（サービスＩＤ）、つまり、識別子であり、後で必要なサービスを特定する際に使用される。
【００６９】
尚、実施形態１においては、デバイスで処理したＰＤＬ種別や処理回数等の処理履歴情報をＰＤＬ処理履歴リストとしてＲＡＭ４０２に記憶管理しておく。デバイス情報を生成する際には、このＲＡＭ４０２に記憶されているＰＤＬ処理履歴リストの内容に基づいて、最も適切なＰＤＬ装置を選択する。そして、その選択したＰＤＬ装置に対応するプリントサービスだけのサービスリストを含むデバイス情報を生成する。
【００７０】
このように、実施形態１では、ＰＤＬ処理履歴リストに基づいて、情報処理装置５１０で優先的に使用させるＰＤＬ装置（優先ＰＤＬ装置）を選択する機能を有する。以下、この機能を自動ＰＤＬ選択処理と称する。そして、この自動ＰＤＬ選択処理は、初期（デフォルト）状態では有効に設定されていて、デバイス４００は、この自動ＰＤＬ選択処理によって、情報処理装置に対するデバイス情報を生成することになるが、デバイス情報の生成はこれに限定されない。
【００７１】
例えば、図１０に示す、デバイス４００の操作パネル４０５上で表示されるプラグアンドプレイ設定画面を用いて、自動ＰＤＬ選択処理の有効／無効を設定可能とするようにしても良い。特に、自動ＰＤＬ選択処理を使用しない場合には、ユーザが所望する任意のプリントサービスのＰＤＬ装置を優先ＰＤＬ装置を選択させるために、デバイスが有するすべてのすべてのＰＤＬ装置のプリントサービスをリストすることになる。
【００７２】
図１０の例においては、初期状態として自動ＰＤＬ選択処理を有効にする設定「はい」ボタン１００１が選択されている。これに対し、「いいえ」ボタン１００２を選択して、ＯＫボタン１００３を操作すると、デバイスが有するすべてのすべてのＰＤＬ装置のプリントサービスが表示され、その中から所望のプリントサービスを選択することが可能となる。
【００７３】
次に、情報処理装置５１０は、ステップＳ６０６で、受信したデバイス情報から、必要なサービスＩＤを指定してサービス情報要求を送信する。サービス情報要求を受信したデバイス４００は、ステップＳ６０７で、指定されたサービスＩＤに対応するＰＤＬ装置からデバイス情報の値を取得し、その値を含むサービス情報を情報処理装置５１０に送信する。このサービス情報は、例えば、図１１に示すようなＸＭＬ形式で記述される情報である。
【００７４】
情報処理装置５１０は、ステップＳ６０８で、デバイス４００から受信したサービス情報を参照し、対応するプリンタドライバをインストールする。尚、ステップＳ６０５で、デバイス４００が複数のサービスリストを含むデバイス情報を情報処理装置５１０に送信した場合、ステップＳ６０６〜ステップＳ６０８が繰り返され、リストされたサービスの数だけプリンタドライバがインストールされることになる。
【００７５】
次に、図６のシーケンスにおいて、デバイス検索要求を受信したデバイス４００が、それに対して応答するか否かを判定する判定処理について、図８を用いて説明する。
【００７６】
図８は本発明の実施形態１の判定処理を示すフローチャートである。
【００７７】
デバイス４００が、ステップＳ８０１で、デバイス検索要求を受信する。ステップＳ８０２で、検索条件として、デバイス検索要求中の＜Ｔｙｐｅｓ＞タグによる、タイプ指定の有無を判定する。タイプ指定がない場合（ステップＳ８０２でＮＯ）、受信したデバイス検索要求は全デバイス検索を意味するため、ステップＳ８０３に進み、デバイス検索要求に応答すると判定する。
【００７８】
一方、タイプ指定がある場合（ステップＳ８０２でＹＥＳ）、ステップＳ８０４に進み、指定されたタイプがデバイス自身のタイプに含まれるか否かを判定する。デバイス自身のタイプに含まれる場合（ステップＳ８０４でＹＥＳ）、ステップＳ８０３に進む。一方、デバイス自身のタイプに含まれない場合（ステップＳ８０４でＮＯ）、ステップＳ８０５に進み、デバイス検索要求に応答しないと判定する。
【００７９】
尚、ステップＳ８０４での判定に使用するデバイス自身のタイプとは、図１２に示すような、デバイス４００に装着されているＰＤＬ装置及びそのサービスを示すサービス名情報である。そして、このサービス名情報は、デバイス４００が適宜自身に装着されているＰＤＬ装置を認識して、それに基づいてサービス名情報を生成してＲＡＭ４０２に保持する。ここで、図１２で示すように、デバイスは、サービス名情報において、各ＰＤＬ装置を１個のＰｒｉｎｔＳｅｒｖｉｃｅとして管理し、それぞれのサービスに対してサービスＩＤを割り当てている。
【００８０】
次に、デバイスが実行する印刷処理について、図１３を用いて説明する。
【００８１】
図１３は本発明の実施形態１の印刷処理を示すフローチャートである。
【００８２】
尚、実施形態１では、図１３の印刷処理において、上述のＰＤＬ処理履歴リストの生成・更新を実行する。また、ＰＤＬ処理履歴リストは、例えば、図１４に示す構成となり、デバイス４００が有する各種ＰＤＬ装置（ＰＤＬ項目）別に、そのＰＤＬ装置による処理回数を示す処理履歴値が管理されている。
【００８３】
ステップＳ１３０１で、印刷指示を受けた印刷ジョブのＰＤＬ種別（形式）を識別する。尚、この印刷ジョブには、ＰＤＬ種別や、用紙サイズ、用紙向き、用紙種類、印刷品質等の印刷設定情報が含まれており、デバイス４００は、この印刷設定情報から、その印刷ジョブのＰＤＬ種別（形式）を識別することが可能である。
【００８４】
次に、ステップＳ１３０２で、識別したＰＤＬ種別がＰＤＬ処理履歴リストに存在するか否かを判定する。存在しない場合（ステップＳ１３０２でＮＯ）、ステップＳ１３０３に進み、その識別したＰＤＬ種別をＰＤＬ処理履歴リストのＰＤＬ項目に追加する。
【００８５】
一方、存在する場合（ステップＳ１３０２でＹＥＳ）、ステップＳ１３０４に進み、ＰＤＬ処理履歴リスト中の対応するＰＤＬ種別のＰＤＬ処理履歴値（処理回数）をインクリメントする。これにより、デバイス４００で印刷処理に利用したＰＤＬ装置の処理履歴値（処理回数）を管理することができる。ステップＳ１３０５で、受信した印刷ジョブの印刷処理を実行する。
【００８６】
次に、図６のシーケンスのステップＳ６０４で、デバイスがデバイス情報に含めるサービスリストを生成する生成処理について、図１５を用いて説明する。
【００８７】
図１５は本発明の実施形態１の生成処理を示すフローチャートである。
【００８８】
ステップＳ１５０１で、まず、ＰＤＬ処理履歴リスト（図１４）から、処理履歴値（処理回数）の最も多いＰＤＬ装置を取得する。
【００８９】
尚、処理履歴値が最も多いＰＤＬ装置が複数ある場合には、例えば、各ＰＤＬ装置に予め優先度を付与しておき、その優先度に基づいて、それらから１つＰＤＬ装置を取得しても良い。あるいは、そのすべてを取得しても良い。
【００９０】
次に、ステップＳ１５０２で、取得したＰＤＬ装置を優先ＰＤＬ装置として設定する。ステップＳ１５０３で、設定されている優先ＰＤＬ装置に対応するサービスＩＤを、図１２のサービス名情報から取得し、＜ＳｅｒｖｉｃｅＩｄ＞の値として設定する。
【００９１】
以上説明したように、実施形態１によれば、画像形成装置内で処理に利用した各ＰＤＬ装置の処理履歴情報を管理しておく。そして、その処理履歴情報に基づいて、画像形成装置が適切でかつ優先的に使用するＰＤＬ装置を自動的に選択して、それを示すデバイス情報を情報処理装置に通知する。
【００９２】
特に、実施形態１では、処理履歴情報に基づいて、使用回数が最大のＰＤＬ装置を自動的に選択して、それを示すデバイス情報を情報処理装置に通知する。これにより、使用頻度の高い（ユーザが所望する可能性の高い）ＰＤＬ装置のプリンタドライバを情報処理装置でインストールさせることが可能となり、ユーザの利便性を向上させることができる。
【００９３】
＜実施形態２＞
実施形態２では、図６のシーケンスにおいて、デバイス検索要求にタイプ指定としてＰＤＬ装置のいずれかが指定された場合は、送信元の情報処理装置を示すホスト情報（識別情報）を画像形成装置が記憶する。そして、デバイス情報要求を画像形成装置が受信した際には、その中に示されるホスト情報と、装置内に記憶しているホスト情報を比較し、その比較結果に基づいて、優先ＰＤＬ装置を設定する構成について説明する。
【００９４】
特に、実施形態２の構成によれば、デバイス検索の際に特定のＰＤＬ装置を指定して検索を行った情報処理装置５１０に対しては、その特定のＰＤＬ装置を優先ＰＤＬ装置として設定することが可能となる。換言すれば、デバイス４００で設定する優先ＰＤＬ装置に関わらず、デバイス検索時に指定したＰＤＬ装置に対応するプリンタドライバを、情報処理装置でインストールさせることが可能となる。
【００９５】
まず、実施形態２の構成で、図６のシーケンスにおいて、デバイス検索要求を受信したデバイス４００が、それに対して応答するか否かを判定する判定処理について、図１６を用いて説明する。
【００９６】
図１６は本発明の実施形態２の判定処理を示すフローチャートである。
【００９７】
尚、図１６において、実施形態１の図８と同一のステップについては、同一のステップ番号を付加して、その詳細については省略する。
【００９８】
ステップＳ８０４で、タイプ指定がある場合（ステップＳ８０４でＹＥＳ）、ステップＳ１５０５に進み、指定されたタイプがＰＤＬ種別であるか否かを判定する。ＰＤＬ種別でない場合（ステップＳ１６０５でＮＯ）、ステップＳ８０３に進む。一方、ＰＤＬ種別である場合（ステップＳ１６０５でＹＥＳ）、ステップＳ１６０６に進み、指定されたＰＤＬ装置がデバイス４００の標準ＰＤＬ装置であるか否かを判定する。
【００９９】
デバイス４００の標準ＰＤＬ装置でない場合（ステップＳ１６０６でＮＯ）、ステップＳ８０３に進む。一方、デバイス４００の標準ＰＤＬ装置である場合（ステップＳ１６０６でＹＥＳ）、ステップＳ１６０７に進む。ステップＳ１６０７で、デバイス検索要求の送信元の情報処理装置５１０のＩＰアドレスと、検索条件として指定されたＰＤＬを検索履歴情報としてＲＡＭ４０２に保存する。その後、ステップＳ８０３に進む。
【０１００】
ここで、検索履歴情報の一例について、図１７を用いて説明する。
【０１０１】
図１７は本発明の実施形態２の検索履歴情報の一例を示す図である。
【０１０２】
図１７に示す検索履歴情報は、デバイス検索要求で指定されたＰＤＬ装置名と、その要求を発行した情報処理装置（ホストコンピュータ）のアドレス情報（ＩＰアドレス）を対応づけて管理している。つまり、デバイス検索要求で指定されたＰＤＬ装置名と、その要求を発行した情報処理装置のアドレス情報との対応を示す対応情報を管理している。
【０１０３】
特に、図１６では、ＩＰアドレスが「１９２．１６８．０．２」及び「１９２．１６８．０．３」である情報処理装置からそれぞれ検索条件として「ＰＤＬ１」を指定したデバイス検索要求を受信したことを示している。
【０１０４】
次に、図６のシーケンスのステップＳ６０４で、デバイスがデバイス情報に含めるサービスリストを生成する生成処理について、図１８を用いて説明する。
【０１０５】
図１８は本発明の実施形態２の生成処理を示すフローチャートである。
【０１０６】
尚、図１８において、実施形態１の図１５と同一のステップについては、同一のステップ番号を付加して、その詳細については省略する。
【０１０７】
デバイス４００は、情報処理装置５１０からデバイス情報要求を受信すると、ステップＳ１８０１で、受信したデバイス情報要求から、送信元の情報処理装置５１０のＩＰアドレスを取得する。次に、ステップＳ１８０２で、ステップＳ１８０１で取得したＩＰアドレスが、ＲＡＭ４０２に保存している検索履歴情報に含まれているか否かを判定する。検索履歴情報に含まれている場合（ステップＳ１８０２でＹＥＳ）、ステップＳ１８０３に進み、検索履歴情報で保持している情報処理装置のＩＰアドレスに対応するＰＤＬ装置を優先ＰＤＬ装置として設定する。その後、ステップＳ１５０３に進む。
【０１０８】
一方、検索履歴情報に含まれていない場合（ステップＳ１８０２でＮＯ）、ステップＳ１５０１に進む。その後、上述のステップＳ１５０２の処理を経て、ステップＳ１５０３で、設定されている優先ＰＤＬ装置に対応するサービスＩＤをサービス名情報（図１２）から取得し、デバイス情報中の＜ＳｅｒｖｉｃｅＩＤ＞の値として設定する。
【０１０９】
以上説明したように、実施形態２によれば、実施形態１の処理履歴情報を管理するとともに、検索履歴情報を記憶する。この検索履歴情報は、デバイス検索要求で指定されたＰＤＬ装置を画像形成装置が標準ＰＤＬ装置として備えている場合に、その要求を発行した情報処理装置の識別情報（例えば、ＩＰアドレス）を検索履歴情報として記憶する。
【０１１０】
そして、この識別情報と合致する識別情報の情報処理装置からのデバイス情報要求がない場合には、処理履歴情報に基づいて、画像形成装置が適切でかつ優先的に使用するＰＤＬ装置を自動的に選択して、それを示すデバイス情報を情報処理装置に通知する。
【０１１１】
特に、実施形態２では、検索履歴情報と処理履歴情報に基づいて、デバイス情報要求で指定されたＰＤＬ装置が過去に使用されていないものである場合は、使用回数が最大のＰＤＬ装置を自動的に選択して、それを示すデバイス情報を情報処理装置に通知する。これにより、使用頻度の高い（ユーザが所望する可能性の高い）ＰＤＬ装置のプリンタドライバを情報処理装置でインストールさせることが可能となり、ユーザの利便性を向上させることができる。
【０１１２】
＜実施形態３＞
デバイス４００の外部記憶装置４１１では、外部装置から受信した印刷ジョブを、別のタイミングで印刷したり、複数の印刷ジョブを一括して印刷することを可能にするために、印刷ジョブ等のデータを記憶管理するデータ格納機能を有する。このデータ格納機能を利用すれば、ユーザは、外部記憶装置４１１に記憶されている印刷ジョブを指定して、その指定した印刷ジョブを印刷することが可能である。
【０１１３】
また、データ格納機能の利用は、ユーザは、外部装置からデータ格納対象のジョブを指定して、データ格納指示を発行することで、そのジョブの外部記憶装置４１１への格納を実現することができる。
【０１１４】
そこで、実施形態３では、デバイス４００の外部記憶装置４１１で記憶管理する印刷ジョブの格納状況を参照して、格納データ数が最大の印刷ジョブのＰＤＬ種別（形式）を識別し、この識別結果に基づいて、優先ＰＤＬ装置を設定する構成について説明する。
【０１１５】
特に、実施形態３の構成によれば、デバイスが設置されているネットワーク環境において、最も多く使用される可能性の高いＰＤＬ装置に対応するプリンタドライバを、情報処理装置でインストールさせることが可能となる。
【０１１６】
尚、印刷ジョブの格納状況は、外部機装置装置４１１で記憶管理する印刷ジョブのＰＤＬ種別毎のデータ格納回数を示す格納履歴リストとしてＲＡＭ４０２に記憶管理しておく。
【０１１７】
まず、実施形態３の構成において、デバイスが実行するデータ格納処理について、図１９を用いて説明する。
【０１１８】
図１９は本発明の実施形態３のデータ格納処理を示すフローチャートである。
【０１１９】
尚、実施形態３では、図１９のデータ格納処理において、上述の格納履歴リストの生成・更新を実行する。また、格納履歴リストは、例えば、図２０に示す構成となり、デバイス４００が有する各種ＰＤＬ装置（ＰＤＬ項目）別に、そのＰＤＬ装置による印刷ジョブのデータ格納回数を示す格納履歴値が管理されている。
【０１２０】
ステップＳ１９０１で、データ格納指示を受けた印刷ジョブのＰＤＬ種別（形式）を識別する。次に、ステップＳ１９０２で、識別したＰＤＬ種別が格納履歴リストに存在するか否かを判定する。存在しない場合（ステップＳ１９０２でＮＯ）、ステップＳ１９０３に進み、その識別したＰＤＬ種別を格納履歴リストのＰＤＬ項目に追加する。
【０１２１】
一方、存在する場合（ステップＳ１９０２でＹＥＳ）、ステップＳ１９０４に進み、格納履歴リスト中の対応するＰＤＬ種別の格納履歴値（データ格納回数）をインクリメントする。これにより、デバイス４００の外部記憶装置４１１に格納した印刷ジョブのＰＤＬ種別の格納履歴値（データ格納回数）を管理することができる。ステップＳ１９０５で、データ格納指示を受けた印刷ジョブのデータ格納処理を実行する。
【０１２２】
次に、図６のシーケンスのステップＳ６０４で、デバイスがデバイス情報に含めるサービスリストを生成する生成処理について、図２１を用いて説明する。
【０１２３】
図２１は本発明の実施形態３の生成処理を示すフローチャートである。
【０１２４】
尚、図２１において、実施形態１の図１５と同一のステップについては、同一のステップ番号を付加して、その詳細については省略する。
【０１２５】
ステップＳ１５０１の処理後、ステップＳ２１０２で、取得したＰＤＬ装置が２つ以上あるか否かを判定する。尚、取得したＰＤＬ装置が２つ以上ある場合とは、印刷ジョブの処理回数が等しいＰＤＬ装置が２つ以上あることを示す。
【０１２６】
取得したＰＤＬ装置が２つ以上ない場合（ステップＳ２１０２でＮＯ）、ステップＳ１５０２及びステップＳ１５０３の処理を実行する。これにより、設定されている優先ＰＤＬ装置に対応するサービスＩＤを、図１２のサービス名情報から取得し、＜ＳｅｒｖｉｃｅＩｄ＞の値として設定する。
【０１２７】
一方、取得したＰＤＬ装置が２つ以上ある場合（ステップＳ２１０２でＹＥＳ）、ステップＳ２１０５に進み、格納履歴リスト（図２０）から、ステップＳ２１０１で取得したＰＤＬ装置の中で格納履歴値（データ格納回数）が最も多いＰＤＬ装置を取得する。
【０１２８】
尚、格納履歴値が最も多いＰＤＬ装置が複数ある場合には、例えば、各ＰＤＬ装置に予め優先度を付与しておき、その優先度に基づいて、それらから１つＰＤＬ装置を取得しても良い。あるいは、そのすべてを取得しても良い。
【０１２９】
次に、ステップＳ２１０６で、ステップＳ２１０５で取得したＰＤＬ装置を優先ＰＤＬとして設定する。その後、ステップＳ１５０３の処理を実行する。これにより、設定されている優先ＰＤＬ装置に対応するサービスＩＤを、図１２のサービス名情報から取得し、＜ＳｅｒｖｉｃｅＩｄ＞の値として設定する。
【０１３０】
以上説明したように、実施形態３によれば、実施形態１の処理履歴情報を管理するとともに、印刷ジョブのデータ格納指示を受けた場合には、その印刷ジョブのＰＤＬ種別の格納履歴情報を記憶する。
【０１３１】
そして、その処理履歴情報と格納履歴情報に基づいて、画像形成装置が適切でかつ優先的に使用するＰＤＬ装置を自動的に選択して、それを示すデバイス情報を情報処理装置に通知する。
【０１３２】
特に、実施形態３では、処理履歴情報と格納履歴情報に基づいて、使用回数が最大で、かつデータ格納回数が最大のＰＤＬ装置を自動的に選択して、それを示すデバイス情報を情報処理装置に通知する。これにより、使用される可能性が高いＰＤＬ装置のプリンタドライバを情報処理装置でインストールさせることが可能となり、ユーザの利便性を向上させることができる。
【０１３３】
尚、上記実施形態１〜３で示したＰＤＬ装置に関する各種履歴情報（処理履歴情報、検索履歴情報、格納履歴情報）は、いずれも処理を実行するデバイスによって生成したものであるが、これに限定されるものではない。例えば、ネットワーク上に、画像形成装置に係る印刷を制御するサーバ装置が構成されていて、そのサーバ装置を経由して画像形成装置で印刷処理を実行する場合には、そのサーバ装置での各種履歴情報を用いて、上記各種実施形態を実行しても良い。また、サーバ装置が存在する場合には、そのサーバ装置上で、デバイスが生成した各種履歴情報を管理する構成としても良い。
【０１３４】
また、実施形態１では処理履歴情報、実施形態２では処理履歴情報及び検索履歴情報、実施形態３では処理履歴情報及び格納履歴情報、それぞれに基づいてデバイス情報を生成しているが、これに限定されるものでない。これらの履歴情報を任意に組合わせてデバイス情報を生成することも可能である。例えば、検索履歴情報及び格納履歴情報に基づいて、デバイス情報を生成しても良い。
【０１３５】
以上、実施形態例を詳述したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【０１３６】
尚、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラム（実施形態では図に示すフローチャートに対応したプログラム）を、システムあるいは装置に直接あるいは遠隔から供給する。そして、そのシステムあるいは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。
【０１３７】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【０１３８】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等の形態であっても良い。
【０１３９】
プログラムを供給するための記録媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスクがある。また、更に、記録媒体としては、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）などがある。
【０１４０】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、その接続先のホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明に含まれるものである。
【０１４１】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【０１４２】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。また、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現され得る。
【０１４３】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現される。
【図面の簡単な説明】
【０１４４】
【図１】プラグアンドプレイを使用したプリンタドライバインストール処理を説明するための図である。
【図２】ＩＥＥＥ１２８４規定のデバイス情報を説明するための図である。
【図３】本発明の実施形態１の画像形成システムの構築例を示す図である。
【図４】本発明の実施形態１のデバイスのハードウェア構成を示すブロック図である。
【図５】本発明の実施形態１のホストコンピュータの詳細構成を示すブロック図である。
【図６】本発明の実施形態１のプリンタドライバインストールのシーケンスを示す図である。
【図７】本発明の実施形態１のデバイス検索要求の一例を示す図である。
【図８】本発明の実施形態１の判定処理を示すフローチャートである。
【図９】本発明の実施形態１のデバイス情報の一例を示す図である。
【図１０】本発明の実施形態１の操作パネル上でのプラグアンドプレイ設定画面の一例を示す図である。
【図１１】本発明の実施形態１のサービス情報の一例を示す図である。
【図１２】本発明の実施形態１のサービス名情報の一例を示す図である。
【図１３】本発明の実施形態１の印刷処理を示すフローチャートである。
【図１４】本発明の実施形態１のＰＤＬ処理履歴リストの一例を示す図である。
【図１５】本発明の実施形態１の生成処理を示すフローチャートである。
【図１６】本発明の実施形態２の判定処理を示すフローチャートである。
【図１７】本発明の実施形態２の検索履歴情報の一例を示す図である。
【図１８】本発明の実施形態２の生成処理を示すフローチャートである。
【図１９】本発明の実施形態３のデータ格納処理を示すフローチャートである。
【図２０】本発明の実施形態３の格納履歴リストの一例を示す図である。
【図２１】本発明の実施形態３の生成処理を示すフローチャートである。
【符号の説明】
【０１４５】
５０１  ＨＤＤ
５０２  外部記憶装置
５０３  バス
５０４  ＣＰＵ
５０５  プリンタドライバセット
５０６  ドライバライブラリ
５０７  ポート管理部
５０８  プラグアンドプレイ部
５０９  ＲＡＭ
５１０  情報処理装置
【図１】
2007069359.tif 000003
【図２】
2007069359.tif 000004
【図３】
2007069359.tif 000005
【図４】
2007069359.tif 000006
【図５】
2007069359.tif 000007
【図６】
2007069359.tif 000008
【図７】
2007069359.tif 000009
【図８】
2007069359.tif 000010
【図９】
2007069359.tif 000011
【図１０】
2007069359.tif 000012
【図１１】
2007069359.tif 000013
【図１２】
2007069359.tif 000014
【図１３】
2007069359.tif 000015
【図１４】
2007069359.tif 000016
【図１５】
2007069359.tif 000017
【図１６】
2007069359.tif 000018
【図１７】
2007069359.tif 000019
【図１８】
2007069359.tif 000020
【図１９】
2007069359.tif 000021
【図２０】
2007069359.tif 000022
【図２１】
2007069359.tif 000023