(57)【要約】【課題】通信機器を駆動するオンデマンドドライバを作成する装置側からの取得要求に対して通信機器が応答する機器情報を選択的に提供可能とする。その結果、使用環境に応じてカスタマイズされたオンデマンドドライバを作成できるようにする。【解決手段】通信機器の機器情報に基づいて該通信機器用オンデマンドドライバを作成するオンデマンドドライバ作成プログラムを有する装置にインストールされたオンデマンドドライバにより、駆動される通信機器であって、該通信機器の機器情報を記憶する記憶手段と、前記オンデマンドドライバ作成プログラムによる機器情報の取得要求に応答して、該機器情報の取得要求に含まれる付加情報に従って、前記記憶手段に記憶された機器情報を前記装置に送信する応答手段と、を備える。【選択図】        図６
2010211268.tif 000002
【特許請求の範囲】
【請求項１】
通信機器の機器情報に基づいて該通信機器用オンデマンドドライバを作成するオンデマンドドライバ作成プログラムを有する装置にインストールされたオンデマンドドライバにより、駆動される通信機器であって、
該通信機器の機器情報を記憶する記憶手段と、
前記オンデマンドドライバ作成プログラムによる前記機器情報の取得要求に応答して、該機器情報の取得要求に含まれる付加情報に従って、前記記憶手段に記憶された機器情報を前記装置に送信する応答手段と、
を備えることを特徴とする通信機器。
【請求項２】
前記付加情報は、オンデマンドドライバで使用する言語を指定する情報であることを特徴とする請求項１に記載の通信機器。
【請求項３】
前記付加情報は、オンデマンド作成プログラムを実行する個人のユーザーＩＤ情報であることを特徴とする請求項１に記載の通信機器。
【請求項４】
前記付加情報は、オンデマンド作成プログラムを実行する個人が所属するグループのＩＤ情報であることを特徴とする請求項１に記載の通信機器。
【請求項５】
前記付加情報は、オンデマンド作成プログラムのバージョン情報であることを特徴とする請求項１に記載の通信機器。
【請求項６】
前記付加情報は、印刷時のエミュレーションを指定する情報であることを特徴とする請求項１に記載の通信機器。
【請求項７】
前記付加情報は、オンデマンドドライバの機能レベルを指定する情報であることを特徴とする請求項１に記載の通信機器。
【請求項８】
通信機器の機器情報に基づいて該通信機器用オンデマンドドライバを作成するオンデマンドドライバ作成プログラムを有する装置にインストールされたオンデマンドドライバにより、駆動される通信機器上で実行される方法であって、
前記通信機器の機器情報を記憶手段に記憶する記憶ステップと、
前記オンデマンドドライバ作成プログラムによる前記機器情報の取得要求に応答して、該機器情報の取得要求に含まれる付加情報に従って、前記記憶手段に記憶された機器情報を前記装置に送信する応答ステップと、
を含むことを特徴とする通信機器の制御方法。
【請求項９】
通信機器の機器情報に基づいて該通信機器用オンデマンドドライバを作成するオンデマンドドライバ作成プログラムを有する装置にインストールされたオンデマンドドライバにより、駆動される通信機器上で実行されるプログラムであって、
前記通信機器の機器情報を記憶手段に記憶する記憶ステップと、
前記オンデマンドドライバ作成プログラムによる前記機器情報の取得要求に応答して、該機器情報の取得要求に含まれる付加情報に従って、前記記憶手段に記憶された機器情報を前記装置に送信する応答ステップと、
前記記憶手段に記憶された機器情報を、前記通信機器の外部から更新するための更新手段を介して更新する更新ステップと、
を含むことを特徴とするプログラム。
【請求項１０】
通信機器と該通信機器に接続する情報処理装置とからなるシステムにおいて、
前記情報処理装置は、
前記通信機器の機器情報を取得し、取得した機器情報に基づき前記通信機器を駆動するオンデマンドドライバを作成するオンデマンドドライバ作成プログラムと、
前記オンデマンドドライバと
を備え、
前記通信機器は、
前記通信機器の機器情報を記憶する記憶手段と、
前記オンデマンドドライバ作成プログラムによる前記通信機器の機器情報の取得要求に応答して、該機器情報の取得要求に含まれる付加情報に従って、前記記憶手段に記憶された機器情報を前記装置に送信する応答手段と、
を備えることを特徴とするシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信機能を有するコンピュータ周辺装置等の通信機器、該通信機器の制御方法およびそのプログラムならびにシステムに関するものである。
【背景技術】
【０００２】
コンピュータ周辺装置の一例であるプリンタを駆動するためのプリンタドライバは通常プリンタの機種毎、ＯＳのバーション毎に用意されるものであり、多数の機種用・ＯＳ用のドライバ開発には多大な労力が必要とされる。また、ＯＳにバンドルされるプリンタドライバの数も増大しているために、バンドルに必要な容量の増加のほか、プリンタドライバ作成者側がＯＳ作成者側に依頼する管理の手間等も増加している。使用するユーザーにとっても、使用するプリンタが異なるたびにそのプリンタ用ドライバのインストールやアンインストールの作業が必要となり、プリンタを利用する際の利便性を悪くしている。
【０００３】
例えば、特許文献１の技術では、ＭＦＰ（Ｍｕｌｔｉ−Ｆｕｎｃｔｉｏｎ  Ｐｒｉｎｔｅｒ）のブラウザ機能によるＣＧＩプログラムが、プリンタドライバのバージョンを判断し、デバイスドライバの更新が必要な場合に、デバイスドライバを更新するためのドライバ更新情報を付加した応答情報をＰＣに送っている。そして、クライアントＰＣ上でリモートＵＩ（Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）に、最新のプリンタドライバを取得する必要があること、並びに、その取得先情報を表示することにより、最新のプリンタドライバの取得先情報を、クライアントＰＣのユーザーに通知することができるようにしている。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に記載の技術では、プリンタドライバの更新に関して使用者の利便性をいくらか改善するものであるが、従来のようにユーザーが、必要なドライバを取得し、それをインストールするという作業が必要であるという問題が残っている。また、従来のように、プリンタドライバ等の、コンピュータ周辺装置を駆動させるためのドライバは、機種毎・ＯＳ毎に多数用意されることになる。
【０００５】
上記に鑑み、本出願人は、ＯＳへのドライバのバンドル数を減らし、従来のユーザーによる新たなドライバの取得を伴わずにドライバの更新を可能とすることを目的として、プリンタ等のコンピュータ周辺装置の機器情報（装置がもつ機能に関する情報）を、コンピュータ周辺装置からこのコンピュータ周辺装置を駆動するドライバを有する外部装置（例えば、ＰＣ）が取得し、この機器情報を基に外部装置上でドライバを自動的に作成することにより、ドライバを更新する技術を発明した（このように作成されるドライバを、本明細書では、オンデマンドドライバと称す。その概要は後述する）。従来は、このような機器情報（例えば、ＧＰＤ（Ｇｅｎｅｒｉｃ  Ｐｒｉｎｔｅｒ  Ｄｅｓｃｒｉｐｔｉｏｎ）ファイル）をドライバ自身が持っていたため、使用するコンピュータ周辺装置が変わると、それに合わせてその装置用のドライバを取得しインストールしなければならなかった。
【０００６】
本出願人による上記発明において、使用環境により、例えば、日本語環境で使用される場合もあれば、英語環境で使用される場合もあるなど、オンデマンドドライバ作成プログラムを有する外部装置が、どのように利用されるか、どのように管理されるかによって、オンデマンドドライバの形態は、異なるべきであると考えられる。つまり、オンデマンドドライバ作成プログラムを有する外部装置の使用環境に応じてカスタマイズしたオンデマンドドライバを作成できることが望まれた。
【０００７】
本発明は、上記のように従来の技術に存在した課題を解決する本出願人による発明において生じるさらなる必要性に鑑みてなされたものであって、コンピュータ周辺装置などの通信機能を有する通信機器を駆動するオンデマンドドライバを作成する装置において必要な通信機器の機器情報を、選択的に提供できるようにし、オンデマンドドライバ作成プログラムが、その使用環境に応じたオンデマンドドライバを作成できるようにすることを目的としている。
【課題を解決するための手段】
【０００８】
上述した課題を解決し、目的を達成するために、本発明にかかる通信機器は、通信機器の機器情報に基づいて該通信機器用オンデマンドドライバを作成するオンデマンドドライバ作成プログラムを有する装置にインストールされたオンデマンドドライバにより、駆動される通信機器であって、該通信機器の機器情報を記憶する記憶手段と、前記オンデマンドドライバ作成プログラムによる前記機器情報の取得要求に応答して、該機器情報の取得要求に含まれる付加情報に従って、前記記憶手段に記憶された機器情報を前記装置に送信する応答手段と、を備えることを特徴とする。
【０００９】
また、本発明の通信機器の制御方法は、通信機器の機器情報に基づいて該通信機器用オンデマンドドライバを作成するオンデマンドドライバ作成プログラムを有する装置にインストールされたオンデマンドドライバにより、駆動される通信機器上で実行される方法であって、前記通信機器の機器情報を記憶手段に記憶する記憶ステップと、前記オンデマンドドライバ作成プログラムによる前記機器情報の取得要求に応答して、該機器情報の取得要求に含まれる付加情報に従って、前記記憶手段に記憶された機器情報を前記装置に送信する応答ステップと、を含むことを特徴とする。
【００１０】
また、本発明のプログラムは、通信機器の機器情報に基づいて該通信機器用オンデマンドドライバを作成するオンデマンドドライバ作成プログラムを有する装置にインストールされたオンデマンドドライバにより、駆動される通信機器上で実行されるプログラムであって、前記通信機器の機器情報を記憶手段に記憶する記憶ステップと、前記オンデマンドドライバ作成プログラムによる前記機器情報の取得要求に応答して、該機器情報の取得要求に含まれる付加情報に従って、前記記憶手段に記憶された機器情報を前記装置に送信する応答ステップと、前記記憶手段に記憶された機器情報を、前記通信機器の外部から更新するための更新手段を介して更新する更新ステップと、を含むことを特徴とする。
【００１１】
また、本発明のシステムは、通信機器と該通信機器に接続する情報処理装置とからなるシステムにおいて、前記情報処理装置は、前記通信機器の機器情報を取得し、取得した機器情報に基づき前記通信機器を駆動するオンデマンドドライバを作成するオンデマンドドライバ作成プログラムと、前記オンデマンドドライバとを備え、前記通信機器は、前記通信機器の機器情報を記憶する記憶手段と、前記オンデマンドドライバ作成プログラムによる前記通信機器の機器情報の取得要求に応答して、該機器情報の取得要求に含まれる付加情報に従って、前記記憶手段に記憶された機器情報を前記装置に送信する応答手段と、を備えることを特徴とする。
【発明の効果】
【００１２】
本発明によれば、オンデマンドドライバにより駆動される通信機器に、このオンデマンドドライバの作成の際用いられる機器情報を、使用環境毎に選択的に提供することができる。その結果、オンデマンドドライバ作成プログラムは、使用環境に応じてカスタマイズされたオンデマンドドライバを作成することができる。
【図面の簡単な説明】
【００１３】
【図１】図１は、本発明の一実施の形態にかかる画像形成装置と、ネットワークを介してこの画像形成装置に接続される複数の情報処理装置とにより構成されるシステムの一例を示す図である。
【図２】図２は、同実施形態の画像形成装置のハードウェア構成の一例を示すブロック図である。
【図３】図３は、同実施形態の画像形成装置のソフトウェア構成例を示すブロック図である。
【図４】図４は、同実施形態の画像形成装置における特徴的な処理を実現する、ネットワーク制御部、プリンタアプリなどの関連コンポーネントの構成を示す図である。
【図５】図５は、同実施形態におけるオンデマンドドライバ作成プログラムがインストールされたＰＣから画像形成装置へ、機器情報の取得要求がなされた場合の動作シーケンスの一例を示す図である。
【図６】図６は、ネットワーク制御部での機器情報取得要求に対する動作フローを示すフローチャートである。
【図７】図７は、オンデマンドドライバ作成プログラムからの機器情報取得要求の一例を示す図である。
【図８】図８は、言語指定で日本語が指定された場合のオンデマンドドライバのＵＩに表示される表示画面（ＵＩ中の一部）の例を示す図である。
【図９】図９は、言語指定で英語が指定された場合のオンデマンドドライバのＵＩに表示される表示画面（ＵＩ中の一部）の例を示す図である。
【図１０】図１０は、日本語の言語指定を付加情報として含む機器情報取得要求に対して画像形成装置が応答する機器情報の一例を示す図である。
【図１１】図１１は、英語の言語指定を付加情報として含む機器情報取得要求に対して画像形成装置が応答する機器情報の一例を示す図である。
【図１２】図１２は、表２に示した、個人ユーザーＪｏｈｎのユーザーＩＤを付加情報として含む機器情報取得要求に対して、画像形成装置が応答する機器情報の一例を示す図である。
【図１３】図１３は、表２に示した個人ユーザーＢｉｌｌのユーザーＩＤを付加情報として含む機器情報取得要求に対して、画像形成装置１が応答する機器情報の一例を示す図である。
【図１４】図１４は、表３に示した“Ｄｅｓｉｇｎ”のグループＩＤを付加情報として含む機器情報取得要求に対して、画像形成装置１が応答する機器情報の一例を示す図である。
【図１５】図１５は、表３に示した“Ｓａｌｅｓ”のグループＩＤを付加情報として含む機器情報取得要求に対して、画像形成装置１が応答する機器情報の一例を示す図である。
【図１６】図１６は、表４に示したオンデマンドドライバ作成プログラムのバージョン（Ｖｅｒｓｉｏｎ）１．０１を付加情報として含む機器情報取得要求に対して、画像形成装置１が応答する機器情報の一例を示す図である。
【図１７】図１７は、表４に示したオンデマンドドライバ作成プログラムのバージョン（Ｖｅｒｓｉｏｎ）１．０２を付加情報として含む機器情報取得要求に対して、画像形成装置１が応答する機器情報の一例を示す図である。
【図１８】図１８は、表５に示したエミュレーションの種別“ＰＳ”を付加情報として含む機器情報取得要求に対して、画像形成装置１が応答する機器情報の一例を示す図である。
【図１９】図１９は、表５に示したエミュレーションの種別“ＲＰＣＳ”を付加情報として含む機器情報取得要求に対して、画像形成装置１が応答する機器情報の一例を示す図である。
【図２０】図２０は、表６に示したドライバ機能レベルとして最小能力が選択され、それを付加情報として含む機器情報取得要求に対して、画像形成装置１が応答する機器情報の一例を示す図である。
【図２１】図２１は、表６に示したドライバ機能レベルとして最大能力が選択され、それを付加情報として含む機器情報取得要求に対して、画像形成装置１が応答する機器情報の一例を示す図である。
【図２２】図２２は、ＰＣ上のオンデマンドドライバ作成プログラムの構成例を示す図である。
【図２３】図２３は、ＰＣ上のオンデマンドドライバ作成プログラムによる、オンデマンドドライバのＰＣへのインストールの際の処理フローの一例であるフローチャートである。
【図２４】図２４は、オンデマンドドライバのＵＩである印刷設定画面例（再構築前）を示す図である。
【図２５】図２５は、オンデマンドドライバのＵＩである印刷設定画面例（再構築後）を示す図である。
【発明を実施するための形態】
【００１４】
以下に添付図面を参照して、この発明にかかる通信機器の一実施の形態である通信機能を有する画像形成装置の詳細を説明する。
【００１５】
はじめに、本発明の一実施の形態にかかる画像形成装置を含む、システム全体の構成例を、図１を用いて説明する。図１は、本発明の一実施の形態にかかる画像形成装置と、ネットワークを介してこの画像形成装置に接続される複数の情報処理装置とにより構成されるシステムの一例を示す図である。
【００１６】
図１に示すように、画像形成装置１と、情報処理装置としてのＰＣ−Ａ  ２，ＰＣ−Ｂ  ３およびＰＣ−Ｃ４とが、ネットワーク５を介して接続されている。なお、画像形成装置１としては、プリンタ、ＭＦＰ等が挙げられる。また、同図に示す構成例は一例であって、任意数のＰＣや画像形成装置が存在してよい。
【００１７】
続いて、図２を用いて、本実施形態の画像形成装置１のハードウェアの概略構成について説明する。図２は、本実施形態の画像形成装置１のハードウェア構成の一例を示すブロック図である。
【００１８】
画像形成装置１は、ＣＰＵ１１と、システムメモリ１２と、ノースブリッジ（ＮＢ）１３と、サウスブリッジ（ＳＢ）１４と、ＡＳＩＣ１５と、記憶部１６と、Ｉ／Ｆ部１７と、オペレーションパネル１８と、エンジン部１９と、その他図示しないオプション機器等を備える。
【００１９】
この画像形成装置１において、ＣＰＵ１１は、画像形成装置１全体の制御を行う。システムメモリ１２は、ＲＯＭおよびＲＡＭからなり、ＣＰＵ１１により実行されるプログラムを記憶しており、また描画処理を行う際などのワークエリアとしても使用される。
【００２０】
ＮＢ１３は、ＣＰＵ１１、システムメモリ１２、ＳＢ１４、ＡＳＩＣ１５、Ｉ／Ｆ部１７を接続するためのブリッジであり、メモリコントローラや、ＰＣＩマスタ等を有する。ＳＢ１４は、ＮＢ１３と周辺デバイスとを接続するためのブリッジである。このＳＢ１４は、ＰＣＩバスを介してＮＢ１３と接続されている。
【００２１】
ＡＳＩＣ１５は、画像処理用のハードウェア要素を有する画像処理用途向けのＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）である。さらに、ＡＳＩＣ１５は、情報の表示やユーザの操作入力を受け付けるオペレーションパネル１８や、画像形成を行うエンジン部１９等と接続され、これらとの間でデータを送受信する。
【００２２】
記憶部１６は、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）１６ａ，Ｆｌａｓｈ  ＲＯＭ１６ｂ，ＮＶＲＡＭ（Ｎｏｎ  Ｖｏｌａｔｉｌｅ  ＲＡＭ）１６ｃ，ＳＤＲＡＭ（Ｓｙｎｃｈｒｏｎｏｕｓ  ＤＲＡＭ）１６ｄなどを含み、画像データ等の格納用領域や画像処理を行う際の作業用領域、などとして使用される。
【００２３】
Ｉ／Ｆ部１７は、Ｅｔｈｅｒｎｅｔ（登録商標）  Ｉ／ＦなどのネットワークＩ／Ｆ１７ａや、ＵＳＢ  Ｉ／Ｆ１７ｂ，ＩＥＥＥ１３９４  Ｉ／Ｆ１７ｃ，無線Ｉ／Ｆ１７ｄなどの外部機器接続用のインターフェースや、外部記憶媒体を着脱可能とする、外部記憶媒体の規格に準じたインターフェースである外部デバイスＩ／Ｆ１７ｅや、公衆電話網に接続するためのＧＳＴＮ（Ｇｅｎｅｒａｌ  Ｓｗｉｔｃｈｅｄ  Ｔｅｌｅｐｈｏｎｅ  Ｎｅｔｗｏｒｋ）  Ｉ／Ｆ１７ｆなどを含む。これらのＩ／Ｆにより、インターネットやイントラネット、公衆電話網などのネットワークへの接続や外部の各種装置やデバイスへの接続がなされる。なお、上記外部記憶媒体としては、ＳＤカード、コンパクトフラッシュ（登録商標）メモリカードなど任意のメモリカードを使用することができる。
【００２４】
次に、図３を用いて、本実施形態の画像形成装置１のソフトウェアの概略構成について説明する。図３は、同画像形成装置１のソフトウェア構成例を示すブロック図である。
【００２５】
図３にソフトウェア構成例として示す部分は、大きく分けると、アプリケーション部３０１とプラットフォーム部３０２に分けられ、さらに、ＳＯＡＰ／ＸＭＬ処理部３０３が、アプリケーション部３０１からもプラットフォーム部３０２からも使用できるような形で存在している。なお、これらに含まれる下記のアプリケーションプログラム（以下、アプリケーションまたはアプリと略称する）、制御部及び処理部の各機能は、図２に示したＣＰＵ１１により実行される。
【００２６】
アプリケーション部３０１は、プリント、コピーなどの画像形成処理に関連するユーザーサービスに固有の処理を行う複数のアプリケーションからなっている。アプリケーションの例としては、図３に示すように、コピー用のアプリケーションであるコピーアプリ３１１、ファクシミリ用アプリケーションであるファクスアプリ３１２、スキャナ用アプリケーションであるスキャナアプリ３１３、ネットワークファイル用アプリケーションであるネットファイルアプリ３１４、プリンタ用アプリケーションであるプリンタアプリ３１５などが挙げられる。
【００２７】
プラットフォーム部３０２は、ＯＳ／Ｋｅｒｎｅｌ３２０とともに、アプリケーション部３０１からの処理要求を解釈してハードウェアなどの各種資源の獲得要求を発生する各種制御部から構成される。プラットフォーム部３０２は、後述の、システム制御部３２１、メモリ制御部３２２、エンジン制御部３２３、セキュリティ制御部３２４、配信制御部３２５、オペレーション制御部３２６、電源管理部３２７、ネットワーク制御部３２８、ファクス制御部３２９、ユーザー管理制御部３３０などから構成される。ＯＳ／Ｋｅｒｎｅｌ３２０には、ソケット以下のネットワーク処理を行う処理部も存在している。
【００２８】
プラットフォーム部３０２は、予め定義されている関数によりアプリケーション部３０１からの処理要求を受信可能とするアプリケーションプログラムインターフェース（以下、ＡＰＩと称す）を有するように構成されている。
【００２９】
なお、システム制御部３２１は、アプリケーションの管理や、周辺デバイスとの入出力制御およびオプション機器の検出等も含む、各種ハードウェア資源の管理などの処理を行う。メモリ制御部３２２は、メモリ資源の取得／解放や、画像データ等のデータの圧縮／伸張などの処理を行う。
【００３０】
エンジン制御部３２３は、画像形成のために、図２に示すエンジン部１９を制御する。セキュリティ制御部３２４は、アプリケーション部３０１や各制御部に対してセキュリティサービスを提供する。例えば、データの暗号化や復号化の処理を行う。配信制御部３２５は、他の機器との間で送受信されるデータの管理やその加工などを行う。オペレーション制御部３２６は、オペレータと画像形成装置１との間の情報伝達手段となる図２に示したオペレーションパネル１８の制御を行う。
【００３１】
電源管理部３２７は、ＣＰＵ１１および他のハードウェア資源の電気的状態を監視し、また他の制御部やアプリケーション部３０１での省エネ状態の管理や監視を行う。この電源管理部３２７は、ＯＳ／Ｋｅｒｎｅｌ３２０とも密接に関連して動作する。
【００３２】
ネットワーク制御部３２８は、Ｅｔｈｅｒｎｅｔ（登録商標）Ｉ／ＦなどのネットワークＩ／Ｆ１７ａと接続され、ネットワークＩ／Ｏ処理を必要とするアプリケーションに対して共通に利用できるサービスを提供する。そして、ネットワーク側から各プロトコルによって受信したデータを各アプリケーションに振り分け、各アプリケーションからのデータをネットワーク側に送信する際の仲介を行う。
【００３３】
ファクス制御部３２９は、ＧＳＴＮ  Ｉ／Ｆ１７ｆを介して、公衆電話網を利用したファクシミリの送受信や、バックアップ用メモリで管理される各種ファクシミリデータの登録や引用、ファクシミリ受信印刷などを行うためのＡＰＩを提供する。ユーザー管理制御部３３０は、画像形成装置１を利用するユーザーおよびグループのＩＤと、このＩＤをもつユーザーおよびグループ毎に、利用できる機能（使用機能）などを管理している。
【００３４】
前述のようにＳＯＡＰ／ＸＭＬ処理部３０３が、アプリケーション部３０１からもプラットフォーム部３０２からも使用できるような形で存在している。このＳＯＡＰ／ＸＭＬ処理部３０３は、ＳＯＡＰ／ＸＭＬメッセージのエンコード／デコードを行うものである。このＳＯＡＰ／ＸＭＬ処理部３０３は、通常、ライブラリの形式で提供されるが、プロセスの形式としてもよい。
【００３５】
なお、画像形成装置１は、上述したアプリケーション部３０１のいくつかのアプリケーションや、プラットフォーム部３０２のいくつかの制御部や、また、Ｉ／Ｆ部１７のいくつかのインターフェース類を省いた構成とすることもできる。
【００３６】
次に、本実施の形態にかかる画像形成装置１における特徴的な処理を実現する、ネットワーク制御部３２８、プリンタアプリ３１５などの関連コンポーネントの構成について図４を用いて説明する。図４では、ネットワーク制御部３２８、プリンタアプリ３１５などの関連コンポーネントの構成例を、アプリ、サービスなどの他コンポーネントや、ＳＯＡＰ／ＸＭＬ処理部３０３、ユーザー管理制御部３３０、記憶デバイス４３０とともに図示している。なお、記憶デバイス４３０は、記憶部１６のＨＤＤ１６ａ、Ｆｌａｓｈ  ＲＯＭ１６ｂ、ＮＶＲＡＭ１６ｃや、外部デイバスＩ／Ｆ  １７ｅを介して接続される外部記録媒体のＳＤカードなどを総称したものである。また、同図において、他図面にも記載される共通の構成要素には、同一の符号を付している。
【００３７】
なお、図４に示さないが、記憶部１６に含まれる各記憶デバイスやＳＤカード等の外部記録媒体へのアクセスには、システム制御部３２１、メモリ制御部３２２、セキュリティ制御部３２４等も関与する。以下では、プリンタ機能を実現するプロトコルとして、ＷＳＤ（Ｗｅｂ  Ｓｅｒｖｉｃｅ  ｏｎ  Ｄｅｖｉｃｅｓ）が準拠するＷＳ−Ｐｒｉｎｔプロトコルを例に説明する。
【００３８】
ネットワーク制御部３２８は、このネットワーク制御部３２８全体を統括する全体制御部４２１と、他のアプリケーションや他の制御部やネットワークＩ／Ｆ１７ａとのメッセージやデータのやり取りを行う通信部４２２と、ＨＴＴＰプロトコルを処理するＨＴＴＰ制御部４２３と、ＷＳ−Ｐｒｉｎｔプロトコルを処理するＷＳ−Ｐｒｉｎｔ処理部４２４と、機器情報を外部コンポーネントや外部装置から取得する情報取得部４２５と、ＨＴＴＰ以外の各種プロトコル（ＦＴＰ，Ｐｏｒｔ９１００，ＬＰＲ，ｅｔｃ）を処理する複数のプロトコル制御部４２６を含んで構成される。
【００３９】
プリンタアプリ３１５は、プリンタアプリ３１５全体を統括する全体制御部４１１と、他のアプリケーションや他の制御部とのメッセージやデータのやり取りを行う通信部４１２と、ＷＳ−Ｐｒｉｎｔプロトコルを処理するＷＳ−Ｐｒｉｎｔ処理部４１３と、機器情報を外部コンポーネントから取得する情報取得部４１４を含んで構成される。
【００４０】
ユーザー管理制御部３３０は、記憶デバイス４３０に保存されたユーザーＩＤ（個人ユーザーのＩＤ）やグループＩＤ（個人ユーザーが所属するグループのＩＤ）およびユーザー／グループそれぞれの使用機能などを統括的に管理しており、本実施形態では各ＩＤ毎に定められた機能を示す情報を、ネットワーク制御部３２８の情報取得部４２５など、情報を要求した他のコンポーネントに返す。
【００４１】
なお、ＷＳ−Ｐｒｉｎｔ処理部４１３，４２４は、ネットワーク制御部３２８かプリンタアプリ３１５のいずれかに存在するものであり、図４では、波線で囲って示している。後述するシーケンス例などでは、前者のネットワーク制御部３２８にＷＳ−Ｐｒｉｎｔ処理部４２４が存在するものとして説明を行っている。
【００４２】
（ＰＣからの機器情報取得要求に対する動作シーケンス例）
図５に、オンデマンドドライバ作成プログラム（後述）がインストールされたＰＣから画像形成装置１へ、機器情報の取得要求がなされた場合の動作シーケンスの第１の例を示す。この例は特に、ネットワーク制御部３２８が図３に示したソフトウェア群の中の他のコンポーネント（アプリ、サービスなど）や、インターフェースを介して外部記憶媒体や内部の記憶デバイス（ＨＤＤ１６ａ、Ｆｌａｓｈ  ＲＯＭ１６ｂなど）に対して情報の取得を行う場合の例である。以下、本例のシーケンスについて説明する。
【００４３】
画像形成装置１がＰＣから機器情報取得要求を受信すると（ｔ５０１）、画像形成装置１のネットワーク制御部３２８において、ＨＴＴＰ制御部４２３が、受信した機器情報取得要求をＷＳ−Ｐｒｉｎｔ処理部４２４へ渡す（ｔ５０２）。ＷＳ−Ｐｒｉｎｔ処理部４２４は、ＨＴＴＰ制御部４２３から渡された機器情報取得要求をさらにＳＯＡＰ／ＸＭＬ処理部３０３に渡し（ｔ５０３）その内容をデコードさせる。ＳＯＡＰ／ＸＭＬ処理部３０３は受け取った機器情報取得要求をデコードし、その結果をＷＳ−Ｐｒｉｎｔ処理部４２４に対して返信する（ｔ５０４）。
【００４４】
次に、ＷＳ−Ｐｒｉｎｔ処理部４２４は、受け取ったデコード結果を、情報取得部４２５に渡す（ｔ５０５）。次いで、情報取得部４２５は、受け取ったデコード結果に応じて、通信部４２２を介して他のコンポーネントから機器情報として必要な情報を取得する（ｔ５０６，ｔ５０７）。このとき、オンデマンドドライバ作成プログラムからの機器情報の取得要求には、付加情報（後述）が含まれており、情報取得部４２５は、この付加情報に従って必要な情報を取得する。そして、取得した機器情報をＷＳ−Ｐｒｉｎｔ処理部４２４に渡す（ｔ５０８）。
【００４５】
ＷＳ−Ｐｒｉｎｔ処理部４２４は、情報取得部４２５から渡された機器情報をＳＯＡＰ／ＸＭＬ処理部３０３に渡し（ｔ５０９）その内容をエンコードさせる。ＳＯＡＰ／ＸＭＬ処理部３０３は受け取った機器情報をエンコードし、その結果をＷＳ−Ｐｒｉｎｔ処理部４２４に対して返信する（ｔ５１０）。ＷＳ−Ｐｒｉｎｔ処理部４２４は、ＳＯＡＰ／ＸＭＬ処理部３０３から渡されたエンコード済みの機器情報（具体例は後述）をさらにＨＴＴＰ制御部４２３に渡し（ｔ５１１）、ＨＴＴＰ制御部４２３は、受け取った情報を機器情報取得要求に対する応答としてＰＣ宛返信する（ｔ５１２）。
【００４６】
なお、上記シーケンス例では、ネットワーク制御部３２８の情報取得部４２５が、通信部４２２を介して画像形成装置１内の他のコンポーネントから機器情報を直接取得しているが、ネットワーク制御部３２８の情報取得部４２５が、ネットワーク制御部３２８の通信部４２２およびプリンタアプリ３１５の通信部４１２を介して、プリンタアプリ３１５の情報取得部４１４に機器情報を取得させるようにしてもよい。これはネットワーク制御部３２８が本来プリンタドライバの構成からは依存を受けるべきではない制御部であることから、このように、プリンタドライバと関連の強いプリンタアプリ３１５内でその制御を行うことで、各制御部の独立性を保つことができる。
【００４７】
なお、情報取得部４１４，４２５が取得する機器情報は、画像形成装置１に備わる記憶手段である記憶デバイス４３０のいずれかのメモリやＨＤＤ１６ａなどに分散して、あるいはまとめて、所定のフォーマットで記憶される。なお、ＰＣへ返信される機器情報のフォーマットとしては、後に例示するように、ネットワーク通信に適したＸＭＬ形式等を用いる。
【００４８】
（ＰＣからの機器情報取得要求に対する処理フロー）
ここで、ネットワーク制御部３２８に注目して、上述したＰＣからの機器情報取得シーケンス例で示したネットワーク制御部３２８の動作を、図６のフローチャートを用いて説明する。図６は、ネットワーク制御部３２８での機器情報取得要求に対する動作フローを示すフローチャートである。
【００４９】
ネットワーク制御部３２８は、ＰＣから機器情報取得要求を受信すると（ステップＳ６０１）、この機器情報取得要求に含まれる付加情報を確認する（ステップＳ６０２）。この付加情報には、後述の言語指定や、ユーザーＩＤ、グループＩＤや、バージョン、エミュレーション、ドライバ機能レベルなどを指示する情報が含まれている。この付加情報に従って、ネットワーク制御部３２８の情報取得部４２５が、必要な機器情報を取得する（ステップＳ６０３）。
【００５０】
ステップＳ６０３での機器情報の取得は、上述の機器情報取得シーケンス例で説明したように、ネットワーク制御部３２８の情報取得部４２５自体が、図３に示したソフトウェア群の中の他のコンポーネントや、ＨＤＤ１６ａ、Ｆｌａｓｈ  ＲＯＭ１６ｂ、または、外部デバイスＩ／Ｆ１７ｅを介してＳＤカードなどの外部記憶媒体から取得するが、前述のように、プリンタアプリ３１５の情報取得部４１４に取得させたものを得ることもできる。
【００５１】
最後に、ネットワーク制御部３２８の情報取得部４２５が取得した機器情報を、ＰＣからの機器情報取得要求の応答としてＰＣへ返信する（ステップＳ６０４）。
【００５２】
ここで、機器情報取得要求の一例を示しその説明をする。図７は、オンデマンドドライバ作成プログラムからの機器情報取得要求の一例を示す図である。なお、下記の例は、ネットワークを介してＰＣから画像形成装置１に機器情報取得要求を送信するためＸＭＬ形式としたものである。また、図中“＃”以降の記載は、説明のためのコメントである。
【００５３】
図７において、“Ｈｅａｄｅｒ”部に続く“Ｂｏｄｙ”部分の＜ｒｐｄ：ＰｒｉｎｔｅｒＥｌｅｍｅｎｔｓＲｅｑｕｅｓｔ＞タグと＜／ｒｐｄ：ＰｒｉｎｔｅｒＥｌｅｍｅｎｔｓＲｅｑｕｅｓｔ＞タグの間に示される部分が、機器情報取得要求の実体であり、その中の＜ｒｐｄ：ＤｅｖｉｃｅＣａｐａｂｉｌｉｔｙ＞タグと＜／ｒｐｄ：ＤｅｖｉｃｅＣａｐａｂｉｌｉｔｙ＞タグの間に示される部分が、機器情報取得要求に含まれる付加情報である。図７の例は、言語を指定する付加情報であり、＜ｒｐｄ：Ｌａｎｇｕａｇｅ＞タグと＜／ｒｐｄ：Ｌａｎｇｕａｇｅ＞タグ間のコード“ｊａ”により、言語として日本語を指定している。画像形成装置１は、この付加情報を含む機器情報取得要求を受けると、言語として日本語に対応した機器情報をその応答として返すことになる。なお、図７に例示した記述は一例であって、これに限らず他の記述の仕方によっても言語指定等の付加情報の付加を行うことができる。
【００５４】
付加情報としては、例えば、以下の表に示すものが挙げられる。
【００５５】
【表１】
2010211268.tif 000003
【００５６】
このように、言語の指定や、ユーザーＩＤ、ユーザーパスワード、グループＩＤ、グループパスワード、プリンタドライバ作成プログラムのバージョン、エミュレーションの種別（ＰＳ、ＰＣＬ、ＲＰＣＳなど）やドライバ機能レベル（最大、最小など）などを指定するコードが、対応するタグとともに、付加情報として機器情報取得要求に記述される。なお、各パスワードは、対応するＩＤとともに認証のため使用される。
【００５７】
ここで、言語指定で日本語が指定された場合と英語が指定された場合のオンデマンドドライバのＵＩに表示される表示画面（ＵＩ中の一部分）の例を、それぞれ図８および図９に示す。図８および図９に示すように、言語指定に応じて、各項目の項目名が、日本語指定の図８では日本語で、英語指定の図９では英語で表示される。画像形成装置１は、オンデマンドドライバ作成プログラムがインストールされたＰＣが、どの言語環境で利用されているのかなど、ＰＣ側の情報をもたない。したがって、このような情報を付加情報として機器情報取得要求に含めることで、画像形成装置１は、ＰＣ上のオンデマンドドライバ作成プログラムに、必要とされる画像形成装置１の機器情報を選択的に提供することができる。その結果、この機器情報を用いて、オンデマンドドライバ作成プログラムは、使用環境に応じてカスタマイザしたオンデマンドドライバを作成することができる。
【００５８】
また、画像形成装置１側が、指定された付加情報の内容に対応していない場合もありうる。例えば、ユーザーＩＤやグループＩＤが画像形成装置１側に登録されておらず、ユーザーＩＤやグループＩＤに対応した機器情報を返すことができない場合、機能情報の全部または最小構成を返すことも考えられるが、セキュリティのため、機能情報を送らずオンデマンドドライバ作成プログラムにオンデマンドドライバを作らせないようにすることもできる。また、画像形成装置１側が指定された言語に対応していない場合は、画像形成装置１の設置されたロケーションに合った言語に対応した機器情報を、画像形成装置１がオンデマンドドライバ作成プログラムに返すといった合理的な構成も考えられる。
【００５９】
続いて、上記表１において、言語指定に加えて例示した付加情報に関して、各付加情報で指定された内容により画像形成装置１から応答される機器情報が変わる例を以下に示す。なお、画像形成装置１が応答する機器情報の具体的な諸実施例は後述する。
【００６０】
【表２】
2010211268.tif 000004
【００６１】
この例は、画像形成装置１から応答される機器情報が、ジョン（Ｊｏｈｎ）のユーザーＩＤの場合は、デフォルトチケット：両面印刷オンとなり、ビル（Ｂｉｌｌ）のユーザーＩＤの場合は、デフォルトチケット：両面印刷オフとなる例である。このような機器情報が応答されることにより、オンデマンドドライバ作成プログラムにより作成されるオンデマンドドライバにおいては、ユーザー毎に、利用できる機能やその初期設定が変わることになる。すなわち、作成されるオンデマンドドライバは、ユーザー毎にカスタマイズされたものとなる。
【００６２】
【表３】
2010211268.tif 000005
【００６３】
この例は、画像形成装置１から応答される機器情報が、“Ｄｅｓｉｇｎ”のグループＩＤの場合は、ステープル（ｓｔａｐｌｅ）なしとなり、“Ｓａｌｅｓ”のグループＩＤの場合は、ステープル（ｓｔａｐｌｅ）ありとなる例である。このような機器情報が応答されることにより、オンデマンドドライバ作成プログラムにより作成されるオンデマンドドライバにおいては、グループ毎に、利用できる機能やその初期設定が変わることになる。すなわち、作成されるオンデマンドドライバは、グループ毎にカスタマイズされたものとなる。
【００６４】
【表４】
2010211268.tif 000006
【００６５】
この例は、付加情報としてバージョン（Ｖｅｒｓｉｏｎ）１．０１が指定された場合は、機器情報としてパラメータＡ，Ｂ，Ｃが画像形成装置１から返され、付加情報としてバージョン（Ｖｅｒｓｉｏｎ）１．０２が指定された場合は、機器情報としてパラメータＡ，Ｂ，Ｃ，Ｄ，Ｅが返される例である。このように、オンデマンドドライバ作成プログラムのバージョンが付加情報として指定されることにより、オンデマンドドライバ作成プログラムに、そのバージョンに適合した画像形成装置１の機器情報を提供することができる。
【００６６】
【表５】
2010211268.tif 000007
【００６７】
この例は、付加情報としてエミュレーションの種別：ＰＳ（ＰｏｓｔＳｃｒｉｐｔ）が指定された場合は、機器情報としてレベルが画像形成装置１から返され、本出願人によるプリンタ記述言語ＲＰＣＳが指定された場合は、機器情報として選択可能カラーが返される例である。このように、エミュレーションの種別が付加情報として指定されることにより、オンデマンドドライバ作成プログラムに、使用されるエミュレーションに応じた機器情報を提供することができる。
【００６８】
【表６】
2010211268.tif 000008
【００６９】
この例は、付加情報としてドライバ機能レベルとして最小能力が指定された場合は、機器情報として、画像形成装置１の機能に係るパラメータＰ，Ｑに関する情報が画像形成装置１から返され、一方、付加情報として最大能力が指定された場合は、機器情報として、パラメータＰ，Ｑ，Ｒ，Ｓ，Ｔに関する情報が返される例である。このように、オンデマンドドライバ作成プログラムのドライバ機能レベル（最小、最大など）が付加情報として指定されることにより、オンデマンドドライバ作成プログラムに、そのドライバ機能レベルに応じた機器情報を提供することができる。
【００７０】
以上のような、機器情報取得要求に含められる付加情報と、この付加情報に対応する画像形成装置１における機器情報は、対応付けられて前述の記憶デバイス４３０に記録されている。
【００７１】
ここで、上記付加情報に対して画像形成装置１が応答する機器情報の諸例を示しその説明をする。図１０は、日本語の言語指定を付加情報として含む機器情報取得要求に対して画像形成装置１が応答する機器情報の一例である。なお、以下に示す諸例は、画像形成装置１内で取得された機器情報をネットワークを介して応答するためＸＭＬ形式としたものである。また、図中“＃”以降の記載は、説明のためのコメントである。
【００７２】
図１０において、“Ｈｅａｄｅｒ”部に続く“Ｂｏｄｙ”部分の＜ｒｐｄ：ＰｒｉｎｔｅｒＥｌｅｍｅｎｔｓＲｅｓｐｏｎｓｅ＞タグと＜／ｒｐｄ：ＰｒｉｎｔｅｒＥｌｅｍｅｎｔｓＲｅｓｐｏｎｓｅ＞タグの間に示される部分は、画像形成装置１が応答する情報の実体であり、＜ｒｐｄ：ＤｅｖｉｃｅＣａｐａｂｉｌｉｔｙ＞タグと＜／ｒｐｄ：ＤｅｖｉｃｅＣａｐａｂｉｌｉｔｙ＞タグの間に示される部分に機器情報の内容が記述されている。これらの記述は、後述の諸例においても共通である。
【００７３】
同図の＜ｒｐｄ：ｏｒｉｅｎｔａｔｉｏｎ＞タグと＜／ｒｐｄ：ｏｒｉｅｎｔａｔｉｏｎ＞タグの間に示される部分は、原稿方向に関する機器情報である。また、＜ｒｐｄ：ＤｉｓｐＮａｍｅ  ｘｍｌ：ｌａｎｇ”ｊａ”＞タグと＜／ｒｐｄ：ＤｉｓｐＮａｍｅ＞タグを使用して、項目名の表記を、日本語で、“原稿方向”、“縦”、“横”のように表示することを記述している。また、＜ｒｐｄ：ＤｅｆａｕｌｔＶａｌ＞タグと＜／ｒｐｄ：ＤｅｆａｕｌｔＶａｌ＞タグを使用してデフォルト値を“ｐｏｒｔｒａｉｔ”とし、＜ｒｐｄ：ＡｌｌｏｗｅｄＶａｌｕｅ＞タグと＜／ｒｐｄ：ＡｌｌｏｗｅｄＶａｌｕｅ＞タグ間において、選択可能な選択肢として“縦”と“横”（いずれも表記名）を、また、これらの値として＜ｒｐｄ：Ｖａｌｕｅ＞タグと＜／ｒｐｄ：Ｖａｌｕｅ＞タグを使用して、それぞれ“ｐｏｒｔｒａｉｔ”と“ｌａｎｄｓｃａｐｅ”を記述している。この機器情報に基づいて作成されたオンデマンドドライバのＵＩには、一例として示す図８の上段の“原稿方向”についての表示がなされることとなる。
【００７４】
続いて、図１１に、英語の言語指定を付加情報として含む機器情報取得要求に対して画像形成装置１が応答する機器情報の一例を示す。図１１に示す例は、図１０に示した機器情報の例（日本語の言語指定）に対して、英語の言語指定がなされた場合の例であり、その記述は類似するが、＜ｒｐｄ：ＤｉｓｐＮａｍｅ  ｘｍｌ：ｌａｎｇ”ｅｎ＿ＵＳ”＞タグと＜／ｒｐｄ：ＤｉｓｐＮａｍｅ＞タグとで、項目名の表記を、英語で、“Ｏｒｉｅｎｔａｔｉｏｎ”、“Ｐｏｒｔｒａｉｔ”、“Ｌａｎｄｓｃａｐｅ”のように表示することを示している。また、＜ｒｐｄ：ＤｅｆａｕｌｔＶａｌ＞タグと＜／ｒｐｄ：ＤｅｆａｕｌｔＶａｌ＞タグを使用して、デフォルト値を“ｐｏｒｔｒａｉｔ”とし、＜ｒｐｄ：ＡｌｌｏｗｅｄＶａｌｕｅ＞タグと＜／ｒｐｄ：ＡｌｌｏｗｅｄＶａｌｕｅ＞タグ間において、選択可能な選択肢として“Ｐｏｒｔｒａｉｔ”と“Ｌａｎｄｓｃａｐｅ”（いずれも表記名）を、また、これらの値として＜ｒｐｄ：Ｖａｌｕｅ＞タグと＜／ｒｐｄ：Ｖａｌｕｅ＞タグを使用して、それぞれ“ｐｏｒｔｒａｉｔ”と“ｌａｎｄｓｃａｐｅ”を記述している。この機器情報に基づいて作成されたオンデマンドドライバのＵＩには、一例として示す図９の上段の“Ｏｒｉｅｎｔａｔｉｏｎ”についての表示がなされることとなる。
【００７５】
続いて、図１２に、表２に示した個人ユーザーＪｏｈｎのユーザーＩＤを付加情報として含む機器情報取得要求に対して、画像形成装置１が応答する機器情報の一例を示す。
【００７６】
同図において、＜ｒｐｄ：ｄｅｆａｕｌｔｔｉｃｋｅｔ＞タグと＜／ｒｐｄ：ｄｅｆａｕｌｔｔｉｃｋｅｔ＞タグの間に示される部分は、両面印刷についてのデフォルトチケット（デフォルト設定）に関する機器情報である。また、＜ｒｐｄ：ＤｉｓｐＮａｍｅ  ｘｍｌ：ｌａｎｇ”ｊａ”＞タグと＜／ｒｐｄ：ＤｉｓｐＮａｍｅ＞タグを使用して、項目名の表記を、日本語で、“両面印刷”、“オン”、“オフ”のように表示することを記述している。また、＜ｒｐｄ：ＤｅｆａｕｌｔＶａｌ＞タグと＜／ｒｐｄ：ＤｅｆａｕｌｔＶａｌ＞タグを使用してデフォルト値を“ｏｎ”とし、＜ｒｐｄ：ＡｌｌｏｗｅｄＶａｌｕｅ＞タグと＜／ｒｐｄ：ＡｌｌｏｗｅｄＶａｌｕｅ＞タグ間において、選択可能な選択肢として“オン”と“オフ”（いずれも表記名）を、また、これらの値として＜ｒｐｄ：Ｖａｌｕｅ＞タグと＜／ｒｐｄ：Ｖａｌｕｅ＞タグを使用して、それぞれ“ｏｎ”と“ｏｆｆ”を記述している。この機器情報に基づいて作成されたオンデマンドドライバのＵＩには、両面印刷をオンとするかオフとするかの（例えば、ラジオボタンによる）選択肢が、“オン”を既定値とした状態で表示される（図示せず）。
【００７７】
続いて、図１３に、表２に示した個人ユーザーＢｉｌｌのユーザーＩＤを付加情報として含む機器情報取得要求に対して、画像形成装置１が応答する機器情報の一例を示す。
【００７８】
図１３に示す例が、図１２に示した例と異なる部分は、デフォルト値の指定部分であり、＜ｒｐｄ：ＤｅｆａｕｌｔＶａｌ＞タグと＜／ｒｐｄ：ＤｅｆａｕｌｔＶａｌ＞タグを使用して、デフォルト値として“ｏｆｆ”が設定されている。この機器情報に基づいて作成されたオンデマンドドライバのＵＩには、両面印刷をオンとするかオフとするかの（例えば、ラジオボタンによる）選択肢が、“オフ”を既定値とした状態で表示される（図示せず）。
【００７９】
続いて、図１４に、表３に示した“Ｄｅｓｉｇｎ”のグループＩＤを付加情報として含む機器情報取得要求に対して、画像形成装置１が応答する機器情報の一例を示す。
【００８０】
同図において、＜ｒｐｄ：ｐａｐｅｒｓｉｚｅ＞タグと＜／ｒｐｄ：ｐａｐｅｒｓｉｚｅ＞タグの間に示される部分は、用紙サイズに関する機器情報である。また、＜ｒｐｄ：ＤｉｓｐＮａｍｅ  ｘｍｌ：ｌａｎｇ”ｊａ”＞タグと＜／ｒｐｄ：ＤｉｓｐＮａｍｅ＞タグを使用して、項目名の表記を、日本語で、“紙サイズ”、“Ａ４”、“Ａ３”のように表示することを記述している。また、＜ｒｐｄ：ＤｅｆａｕｌｔＶａｌ＞タグと＜／ｒｐｄ：ＤｅｆａｕｌｔＶａｌ＞タグを使用してデフォルト値を“ａ４”とし、＜ｒｐｄ：ＡｌｌｏｗｅｄＶａｌｕｅ＞タグと＜／ｒｐｄ：ＡｌｌｏｗｅｄＶａｌｕｅ＞タグ間において、選択可能な選択肢として“Ａ４”と“Ａ３”（いずれも表記名）を、また、これらの値として＜ｒｐｄ：Ｖａｌｕｅ＞タグと＜／ｒｐｄ：Ｖａｌｕｅ＞タグを使用して、それぞれ“ａ４”と“ａ３”を記述している。この機器情報に基づいて作成されたオンデマンドドライバのＵＩには、用紙サイズをＡ４とするかＡ３とするかの（例えば、ラジオボタンによる）選択肢が、“Ａ４”を既定値とした状態で表示される（図示せず）。
【００８１】
続いて、図１５に、表３に示した“Ｓａｌｅｓ”のグループＩＤを付加情報として含む機器情報取得要求に対して、画像形成装置１が応答する機器情報の一例を示す。
【００８２】
同図において、＜ｒｐｄ：ｐａｐｅｒｓｉｚｅ＞タグと＜／ｒｐｄ：ｐａｐｅｒｓｉｚｅ＞タグの間に示される部分は、用紙サイズに関する機器情報であり、図１４に示した例と同様である。図１５の例では、用紙サイズについての機器情報に加え、＜ｒｐｄ：ｓｔａｐｌｅ＞タグと＜／ｒｐｄ：ｓｔａｐｌｅ＞タグの間に示される部分に、ステープルについての機器情報を記述している。そこでは、＜ｒｐｄ：ＤｉｓｐＮａｍｅ  ｘｍｌ：ｌａｎｇ”ｊａ”＞タグと＜／ｒｐｄ：ＤｉｓｐＮａｍｅ＞タグを使用して、項目名の表記を、日本語で、“ステープル”、“オフ”、“左上”、“右上”のように表示することを記述している。また、＜ｒｐｄ：ＤｅｆａｕｌｔＶａｌ＞タグと＜／ｒｐｄ：ＤｅｆａｕｌｔＶａｌ＞タグを使用してデフォルト値を“ｏｆｆ”とし、＜ｒｐｄ：ＡｌｌｏｗｅｄＶａｌｕｅ＞タグと＜／ｒｐｄ：ＡｌｌｏｗｅｄＶａｌｕｅ＞タグ間において、選択可能な選択肢として“オフ”と“左上”と“右上”（いずれも表記名）を、また、これらの値として＜ｒｐｄ：Ｖａｌｕｅ＞タグと＜／ｒｐｄ：Ｖａｌｕｅ＞タグを使用して、それぞれ“ｏｆｆ”と“ｌｅｆｔ＿ｔｏｐ”と“ｒｉｇｈｔ＿ｔｏｐ”を記述している。この機器情報に基づいて作成されたオンデマンドドライバのＵＩには、用紙サイズをＡ４とするかＡ３とするかの（例えば、ラジオボタンによる）選択肢が、“Ａ４”を既定値とした状態で表示されるとともに、ステープルをオフとするか左上とするか右上とするかの（例えば、ラジオボタンによる）選択肢が、“オフ”を既定値とした状態で表示される。
【００８３】
続いて、図１６に、表４に示したオンデマンドドライバ作成プログラムのバージョン（Ｖｅｒｓｉｏｎ）１．０１を付加情報として含む機器情報取得要求に対して、画像形成装置１が応答する機器情報の一例を示す。
【００８４】
同図において、＜ｒｐｄ：ｐａｒａｍｅｔｅｒ＿Ａ＞タグと＜／ｒｐｄ：ｐａｒａｍｅｔｅｒ＿Ａ＞タグの間に示される部分に、パラメータＡに関する記述がなされ、同様に、＜ｒｐｄ：ｐａｒａｍｅｔｅｒ＿Ｂ＞タグと＜／ｒｐｄ：ｐａｒａｍｅｔｅｒ＿Ｂ＞タグの間に示される部分と＜ｒｐｄ：ｐａｒａｍｅｔｅｒ＿Ｃ＞タグと＜／ｒｐｄ：ｐａｒａｍｅｔｅｒ＿Ｃ＞タグの間に示される部分にそれぞれパラメータＢおよびＣに関する記述がなされる。この機器情報に基づいて作成されたオンデマンドドライバのＵＩには、パラメータＡ，ＢおよびＣについての（例えば、ラジオボタンによる）選択肢が表示される（図示せず）。
【００８５】
続いて、図１７に、表４に示したオンデマンドドライバ作成プログラムのバージョン（Ｖｅｒｓｉｏｎ）１．０２を付加情報として含む機器情報取得要求に対して、画像形成装置１が応答する機器情報の一例を示す。
【００８６】
同図において、＜ｒｐｄ：ｐａｒａｍｅｔｅｒ＿Ａ＞タグと＜／ｒｐｄ：ｐａｒａｍｅｔｅｒ＿Ａ＞タグの間に示される部分に、パラメータＡに関する記述がなされ、同様に、＜ｒｐｄ：ｐａｒａｍｅｔｅｒ＿Ｂ＞タグと＜／ｒｐｄ：ｐａｒａｍｅｔｅｒ＿Ｂ＞タグの間に示される部分、＜ｒｐｄ：ｐａｒａｍｅｔｅｒ＿Ｃ＞タグと＜／ｒｐｄ：ｐａｒａｍｅｔｅｒ＿Ｃ＞タグの間に示される部分、＜ｒｐｄ：ｐａｒａｍｅｔｅｒ＿Ｄ＞タグと＜／ｒｐｄ：ｐａｒａｍｅｔｅｒ＿Ｄ＞タグの間に示される部分、＜ｒｐｄ：ｐａｒａｍｅｔｅｒ＿Ｅ＞タグと＜／ｒｐｄ：ｐａｒａｍｅｔｅｒ＿Ｅ＞タグの間に示される部分にそれぞれパラメータＢ、Ｃ、ＤおよびＥに関する記述がなされる。この機器情報に基づいて作成されたオンデマンドドライバのＵＩには、パラメータＡ，Ｂ，Ｃ，ＤおよびＥについての（例えば、ラジオボタンによる）選択肢が表示される（図示せず）。
【００８７】
続いて、図１８に、表５に示したエミュレーションの種別“ＰＳ”を付加情報として含む機器情報取得要求に対して、画像形成装置１が応答する機器情報の一例を示す。
【００８８】
同図において、＜ｒｐｄ：ｌｅｖｅｌ＞タグと＜／ｒｐｄ：ｌｅｖｅｌ＞タグの間に示される部分は、Ｐｏｓｔｓｃｒｉｐｔにおけるレベルに関する機器情報である。また、＜ｒｐｄ：ＤｉｓｐＮａｍｅ  ｘｍｌ：ｌａｎｇ”ｊａ”＞タグと＜／ｒｐｄ：ＤｉｓｐＮａｍｅ＞タグを使用して、項目名の表記を、日本語で、“レベル”、“３”、“２”のように表示することを記述している。また、＜ｒｐｄ：ＤｅｆａｕｌｔＶａｌ＞タグと＜／ｒｐｄ：ＤｅｆａｕｌｔＶａｌ＞タグを使用してデフォルト値を“３”とし、＜ｒｐｄ：ＡｌｌｏｗｅｄＶａｌｕｅ＞タグと＜／ｒｐｄ：ＡｌｌｏｗｅｄＶａｌｕｅ＞タグ間において、選択可能な選択肢として“３”と“２”（いずれも表記名）を、また、これらの値として＜ｒｐｄ：Ｖａｌｕｅ＞タグと＜／ｒｐｄ：Ｖａｌｕｅ＞タグを使用して、それぞれ“３”と“２”を記述している。この機器情報に基づいて作成されたオンデマンドドライバのＵＩには、レベルを３とするか２とするかの（例えば、ラジオボタンによる）選択肢が、“３”を既定値とした状態で表示される（図示せず）。
【００８９】
続いて、図１９に、表５に示したエミュレーションの種別“ＲＰＣＳ”を付加情報として含む機器情報取得要求に対して、画像形成装置１が応答する機器情報の一例を示す。
【００９０】
同図において、＜ｒｐｄ：ｃｏｌｏｒ＞タグと＜／ｒｐｄ：ｃｏｌｏｒ＞タグの間に示される部分は、ＲＰＣＳにおける選択可能カラーに関する機器情報である。また、＜ｒｐｄ：ＤｉｓｐＮａｍｅ  ｘｍｌ：ｌａｎｇ”ｊａ”＞タグと＜／ｒｐｄ：ＤｉｓｐＮａｍｅ＞タグを使用して、項目名の表記を、日本語で、“選択可能カラー”、“ブラック”、“シアン、マゼンタ、イエロー、ブラック”、“シアン、マゼンタ、イエロー”のように表示することを記述している。また、＜ｒｐｄ：ＡｌｌｏｗｅｄＶａｌｕｅ＞タグと＜／ｒｐｄ：ＡｌｌｏｗｅｄＶａｌｕｅ＞タグ間において、選択可能な選択肢として“ブラック”と“シアン、マゼンタ、イエロー、ブラック”と“シアン、マゼンタ、イエロー”（いずれも表記名）を、また、これらの値として＜ｒｐｄ：Ｖａｌｕｅ＞タグと＜／ｒｐｄ：Ｖａｌｕｅ＞タグを使用して、それぞれ“ｋ”と“ｃｍｙｋ”と“ｃｍｙ”を記述している。この機器情報に基づいて作成されたオンデマンドドライバのＵＩには、色をブラックとするか、シアン、マゼンタ、イエロー、ブラックとするか、シアン、マゼンタ、イエローとするかの（例えば、ラジオボタンによる）選択肢が表示される（図示せず）。
【００９１】
続いて、図２０に、表６に示したドライバ機能レベルとして最小能力が選択され、それを付加情報として含む機器情報取得要求に対して、画像形成装置１が応答する機器情報の一例を示す。
【００９２】
同図において、＜ｒｐｄ：ｐａｒａｍｅｔｅｒ＿Ｐ＞タグと＜／ｒｐｄ：ｐａｒａｍｅｔｅｒ＿Ｐ＞タグの間に示される部分に、パラメータＰに関する記述がなされ、同様に、＜ｒｐｄ：ｐａｒａｍｅｔｅｒ＿Ｑ＞タグと＜／ｒｐｄ：ｐａｒａｍｅｔｅｒ＿Ｑ＞タグの間に示される部分にパラメータＱに関する記述がなされる。この機器情報に基づいて作成されたオンデマンドドライバのＵＩには、パラメータＰおよびＱについての（例えば、ラジオボタンによる）選択肢が表示される（図示せず）。
【００９３】
続いて、図２１に、表６に示したドライバ機能レベルとして最大能力が選択され、それを付加情報として含む機器情報取得要求に対して、画像形成装置１が応答する機器情報の一例を示す。
【００９４】
同図において、＜ｒｐｄ：ｐａｒａｍｅｔｅｒ＿Ｐ＞タグと＜／ｒｐｄ：ｐａｒａｍｅｔｅｒ＿Ｐ＞タグの間に示される部分に、パラメータＡに関する記述がなされ、同様に、＜ｒｐｄ：ｐａｒａｍｅｔｅｒ＿Ｑ＞タグと＜／ｒｐｄ：ｐａｒａｍｅｔｅｒ＿Ｑ＞タグの間に示される部分、＜ｒｐｄ：ｐａｒａｍｅｔｅｒ＿Ｒ＞タグと＜／ｒｐｄ：ｐａｒａｍｅｔｅｒ＿Ｒ＞タグの間に示される部分、＜ｒｐｄ：ｐａｒａｍｅｔｅｒ＿Ｓ＞タグと＜／ｒｐｄ：ｐａｒａｍｅｔｅｒ＿Ｓ＞タグの間に示される部分、＜ｒｐｄ：ｐａｒａｍｅｔｅｒ＿Ｔ＞タグと＜／ｒｐｄ：ｐａｒａｍｅｔｅｒ＿Ｔ＞タグの間に示される部分にそれぞれパラメータＱ，Ｒ，ＳおよびＴに関する記述がなされる。この機器情報に基づいて作成されたオンデマンドドライバのＵＩには、パラメータＰ，Ｑ，Ｒ，ＳおよびＴについての（例えば、ラジオボタンによる）選択肢が表示される（図示せず）。
【００９５】
上記機器情報の諸例は、簡単のため、付加情報の内容毎に具体例を示したものである。現実的には、表１に例示したような付加情報のいくつかをまとめた１つの付加情報が機器情報取得要求に含められ、画像形成装置１はそれに応答することになるので、画像形成装置１から応答される機器情報は、上記例示したような機器情報の複数のものが合成された形態となる。また、画像形成装置１から応答される機器情報の中には、付加情報に依存しない機器情報も含められる。
【００９６】
ＰＣ上のオンデマンドドライバ作成プログラムは、オンデマンドドライバ作成時に上記例示した機器情報を使ってドライバを構成する。つまり、オンデマンドドライバ作成プログラムは、画像形成装置１の能力を示す情報等を選択的に問い合わせ取得し、これらを使用することによって、画像形成装置１の構成が変わったとしても、また、ＰＣ側の使用環境が変わったとしても、ドライバ本体（コア）を作り直すことなく、ＵＩ上の選択画面のみ新構成に対応させたオンデマンドドライバを作成し、ＰＣにインストールする（詳細は、後述）。インストール後、ＰＣは、この作成されたオンデマンドライバによる画像形成装置１の制御が可能となる。
【００９７】
（オンデマンドドライバ作成プログラム）
ここで、画像形成装置１の機器情報を基に画像形成装置１用のオンデマンドドライバを作成する、ＰＣ上のオンデマンドドライバ作成プログラムについて、その概要を図２２を用いて説明する。図２２は、ＰＣ上のオンデマンドドライバ作成プログラムの構成例を示す図である。
【００９８】
オンデマンドドライバ作成プログラム２２０１は、画像形成装置１から機器情報を取得しオンデマンドドライバを作成するドライバ作成モジュール２２０２、オンデマンドドライバが使用するポート（ＬＰＤ，ＬＰＴ，ＣＯＭ，ＷＳＤポートなど）を作成するポート作成モジュール２２０３、ＷＳ−Ｐｒｉｎｔプロトコルを処理するＷＳ−Ｐｒｉｎｔ制御モジュール２２０４、外部ネットワークとの間で送受信するパケットを制御するネットワーク制御モジュール２２０５、そして更新されたＵＩを有するオンデマンドドライバをＰＣにインストールするインストール制御モジュール２２０６から構成される。
【００９９】
ドライバ作成モジュール２２０２は、オンデマンドドライバを作成する際、ＷＳ−Ｐｒｉｎｔ制御モジュール２２０４およびネットワーク制御モジュール２２０５を介して、ネットワーク上の画像形成装置１から機器情報を取得する（このとき、ＷＳＤポートを用いる）。また、ドライバ作成モジュール２２０２により作成されたオンデマンドドライバ、および、ポート作成モジュール２２０３により作成されたポートのデータは、それぞれＰＣ内のＨＤＤなどにあるドライバデータ格納部２２０７とポートデータ格納部２２０８に保存される。
【０１００】
上記ドライバ作成モジュール２２０２は、前述した機器情報を用いて、この機器情報に基づくＵＩを有するオンデマンドドライバを作成するプログラムである。一般に、画像形成装置用のドライバは、アプリケーションから渡された印刷対象となる情報を処理し、印刷命令へ変換する機能と、アプリケーションに対して画像形成装置に対してどのような印刷設定を行うかを利用者に設定させるための印刷設定画面を表示するＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）機能を備えている。このプログラムは、取得した機器情報の内容を反映するようにそのＧＵＩ要素を変更（追加・削除を含む）し、ＵＩのみを、新たに取得した機器情報に対応させることによって、新たなオンデマンドドライバを作成する。つまり、オンデマンドドライバのＵＩのみ、新たに取得した機器情報に基づき再構築している。従って、例えば、画像形成装置１のバージョンアップが行われて、機器情報が更新された場合や、オンデマンドドライバのカスタマイズのため前述の付加情報を含む機器情報取得要求により機器情報を取得した場合でも、一旦オンデマンドドライバのアンインストールを行い、再度同じオンデマンドドライバ作成プログラムでインストールしなおせばよい。同様に１つのオンデマンドドライバ作成プログラムから複数機種のオンデマンドドライバのインストールを行うことができる。
【０１０１】
上記のように作成されるオンデマンドドライバは、アプリケーションから発せられたリクエストに従って、取得した機器情報に基づく選択可能な項目をそのＵＩに表示し、このＵＩ上でユーザーにより選択・設定された印刷条件（用紙のサイズやオプションの設定など）からなるジョブチケットをＰＪＬ（Ｐｒｉｎｔｅｒ  Ｊｏｂ  Ｌａｎｇｕａｇｅ）ファイルまたはＰＳ（ＰｏｓｔＳｃｒｉｐｔ）ファイルなどに含めて画像形成装置１に送ることで、画像形成装置１の印刷制御をする。従って、オンデマンドドライバ作成プログラムと１つのオンデマンドドライバがＰＣ側にあれば、ＰＣ側は、このオンデマンドドライバにより駆動されるいかなる機種の画像形成装置にも、オプション構成や設定が変わった画像形成装置にも異なる使用環境にも対応することができ、ユーザーは、新たなドライバの取得などをする必要がない。また、ユーザーは、現時点での画像形成装置の機能を確認し、その機能を利用することができる。
【０１０２】
また、上記のように、プリンタドライバが作成するＰＤＬ（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）の画像部分に関しては直接影響を及ぼさない設定（両面印刷やステープル等）については、プリンタドライバが、ＵＩの表示形式や選択不可能な組み合わせを把握しておくだけで動作できる。しかし、プリンタドライバ側でも処理することができる画像部分に関する設定（縮小や集約）については、固定部分とする他に必要に応じてドライバ側で共通的なＵＩを持つこともできる。
【０１０３】
（オンデマンドドライバのインストール）
図２３に、ＰＣ上のオンデマンドドライバ作成プログラムによる、オンデマンドドライバのＰＣへのインストールの際の処理フローの一例を示す。以下では、この図２３を用いて、オンデマンドドライバ作成プログラムによるドライバのインストール処理について説明する。
【０１０４】
はじめに、ユーザー操作により、ドライバのインストール指示がなされると（このとき、ユーザーによる指定または自動で、表１に示したような付加情報の内容の指定（言語指定など）も行われる）（ステップＳ２３０１）、インストール制御モジュール２２０６は、ドライバ作成モジュール２２０２に、ＷＳ−Ｐｒｉｎｔ制御モジュール２２０４およびネットワーク制御モジュール２２０５を介して画像形成装置１へ前述の付加情報を含む機器情報取得要求を送信し、この要求に対する応答として画像形成装置１から返される機器情報を取得する（ステップＳ２３０２）。
【０１０５】
画像形成装置１の機器情報を取得したドライバ作成モジュール２２０２は、取得した機器情報に基づき上述のオンデマンドドライバを作成する（ステップＳ２３０３）。すなわち、ドライバ作成モジュール２２０２は、取得した機器情報を反映させるようにＵＩを再構築し、再構築されカスタマイズされたＵＩを有するオンデマンドドライバを作成する。図２４および図２５にそれぞれ、ＵＩの再構築前と再構築後の印刷設定画面例を示す。図２４に示す印刷設定画面例に対し、再構築後は（ここでは、一例として画像形成装置１において機能Ｂが追加されたものとする）、図２５に示すように、追加された機能Ｂについて選択・設定をすることができるようになる。
【０１０６】
次に、インストール制御モジュール２２０６は、ドライバ作成モジュール２２０２に、ステップＳ２３０３で作成したオンデマンドドライバをドライバデータ格納部２２０７に保存させる（ステップＳ２３０４）。
【０１０７】
次いで、インストール制御モジュール２２０６は、ポート作成モジュール２２０３に、ステップＳ２３０３で作成されたオンデマンドドライバ用のポートを作成させる（ステップＳ２３０５）。
【０１０８】
さらに、インストール制御モジュール２２０６は、ポート作成モジュール２２０３に、ステップＳ２３０５で作成したポートのデータをポートデータ格納部２２０８に保存させる（ステップＳ２３０６）。
【０１０９】
このようにして、インストール時にカスタマイズされたオンデマンドドライバと、ポートデータがＰＣにインストールされる。インストールされたオンデマンドドライバは、ＰＣの起動時にローダ（図示せず）によりＰＣのメインメモリであるシステムメモリ１２にロードされ、ポートデータはオンデマンドドライバと関連して使用される。
【０１１０】
上述した図２３の例では、ユーザー操作によるインストール指示を起点として、一連のインストール処理を行っているが、例えば、先に取得した機器情報を保存しておき、ＰＣの起動時に再度、画像形成装置１から機器情報を取得して、取得した機器情報と保存している機器情報とからその更新が検出された場合に、ステップＳ２３０３以降の処理を行うようにしてもよい。そして、インストール後、ＰＣを再起動させ、更新されたオンデマンドドライバとポートデータを再ロードすることで、ドライバ更新のためのユーザー操作を一切必要とせずに、更新されたオンデマンドドライバを使用することができるようになる。
【０１１１】
なお、上述した各シーケンス、データ、フローは一例にすぎない。例えば、前述のネットワーク制御部３２８内やプリンタアプリ３１５内の各コンポーネントは、異なるコンポーネントに属することがあったり、情報取得先は機器の内外を問わず多岐に渡ることもある。また、前述の諸シーケンスにおいて、ＳＳＬやＴＬＳにより情報の暗号化がなされたり、データ自体が別途暗号化されたりすることもある。
【０１１２】
また、本発明の一実施の形態である画像形成装置１を、コピー機能、ファクシミリ機能、スキャナ機能、プリンタ機能等を有する画像形成装置（複合機など）に適用した例を説明したが、本発明は、通信機能を有する単機能の複写機、プリンタ、スキャナ装置、ファクシミリ装置等の画像形成装置やコンピュータ周辺装置にももちろん適用可能である。また、こうした画像形成装置やコンピュータ周辺装置に限らず、外部装置にインストールされたドライバにより駆動される通信機器であれば、同様に本発明を適用することができる。
【０１１３】
以上、本実施形態の画像形成装置１について、その詳細を説明した。上述した画像形成装置１によれば、以下の効果を得ることができる。すなわち、オンデマンドドライバ作成プログラムから送られる機器情報取得要求に付加情報を追加し、この要求を受けた画像形成装置１が、その付加情報に従って応答する機器情報を決定することにより、オンデマンドドライバ作成プログラムが必要とする機器情報を選択的に提供することができる。その結果、オンデマンドドライバ作成プログラムは、使用環境に応じてカスタマイズされたオンデマンドドライバを作成することができる。さらに具体的には、下記の効果が得られる。
【０１１４】
機器情報取得要求の付加情報として言語指定に含め、それに応じて画像形成装置１がオンデマンドドライバのＵＩに表示する表記を含めた応答を返すことにより、オンデマンドドライバの言語（表記）の選択が可能となる。
【０１１５】
また、ユーザーＩＤやグループＩＤを機器情報取得要求の付加情報として含めることにより、ユーザーやグループ単位で、セキュリティに関しても、画像形成装置１の機能の制御を行うことができる。
【０１１６】
また、オンデマンド作成プログラムのバージョン（Ｖｅｒｓｉｏｎ）が機器情報取得要求の付加情報として指定されることにより、画像形成装置１側はオンデマンド作成プログラムのバージョンに適合する適切な機器情報を返すことができる。この場合、不要な情報を含めないようにすることで、例えば、オンデマンド作成プログラムのバージョンに応じた特定のＧＵＩ要素用のデータは送るが全ては送らないようにするなどして、応答するデータ量を削減することができる。
【０１１７】
また、オンデマンドドライバで使用するエミュレーションの種別が指定されることにより、画像形成装置１は、指定された種類のエミュレーションに合った適切な情報を機器情報として返すことができる。この場合、不要な情報を返す必要がなくなるので、応答するデータ量を削減できる。
【０１１８】
また、ドライバの機能レベル（最小能力、最大能力）が指定されることにより、ユーザーが必要な機能に関してだけ、機能情報を画像形成装置１が返すようにすることができる。その結果、ＰＣ側では、ドライバの機能レベルとして最小能力が指定された場合、作成されるオンデマンドドライバのＵＩ画面はシンプルに、さらにサイズは小さくなり、ドライバ処理の向上が見込まれる。また、画像形成装置１から返される機能情報のデータ量も削減される。一方、最大能力が指定された場合、画像形成装置１の能力をすべてオンデマンドドライバにて使用することができる。
【０１１９】
なお、本実施形態の画像形成装置１で実行される各プログラム（ソフトウェア）は、ＲＯＭ、ＨＤＤ等に予め組み込まれて提供される。また、上記プログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）、ＳＤカード等のメモリカードなどのコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。
【０１２０】
さらに、本実施形態の画像形成装置１で実行される各プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供または配布するように構成しても良い。
【０１２１】
本実施の形態の画像形成装置１で実行されるプログラムは、上述した各部（アプリケーション部３０１、プラットフォーム部３０２、ＳＯＡＰ／ＸＭＬ処理部３０３）を含むモジュール構成となっており、ＣＰＵ（プロセッサ）１１が上記ＲＯＭやＨＤＤ  １６ａ等から各プログラムを読み出して実行することにより上記各部がシステムメモリ上にロードされ、アプリケーション部３０１、プラットフォーム部３０２、ＳＯＡＰ／ＸＭＬ処理部３０３がシステムメモリ上に生成されるようになっている。
【符号の説明】
【０１２２】
１  画像形成装置
２  ＰＣ−Ａ
３  ＰＣ−Ｂ
４  ＰＣ−Ｃ
５  ネットワーク（Ｎｅｔｗｏｒｋ）
１１  ＣＰＵ
１２  システムメモリ
１３  ノースブリッジ（ＮＢ）
１４  サウスブリッジ（ＳＢ）
１５  ＡＳＩＣ
１６  記憶部（記憶手段）
１７  Ｉ／Ｆ部
１８  オペレーションパネル
１９  エンジン部
３０１  アプリケーション部
３０２  プラットフォーム部
３０３  ＳＯＡＰ／ＸＭＬ処理部
３１１  コピーアプリ
３１２  ファクスアプリ
３１３  スキャナアプリ
３１４  ネットファイルアプリ
３１５  プリンタアプリ
３２０  ＯＳ／Ｋｅｒｎｅｌ
３２１  システム制御部
３２２  メモリ制御部
３２３  エンジン制御部
３２４  セキュリティ制御部
３２５  配信制御部
３２６  オペレーション制御部
３２７  電源管理部
３２８  ネットワーク制御部（応答手段）
３２９  ファクス制御部
３３０  ユーザー管理制御部
４１１，４２１  全体制御部
４１２，４２２  通信部
４１３，４２４  ＷＳ−Ｐｒｉｎｔ処理部
４１４，４２５  情報取得部
４２３  ＨＴＴＰ制御部
４２６  プロトコル制御部
４３０  記憶デバイス（記憶手段）
２２０１  オンデマンドドライバ作成プログラム
２２０２  ドライバ作成モジュール
２２０３  ポート作成モジュール
２２０４  ＷＳ−Ｐｒｉｎｔ制御モジュール
２２０５  ネットワーク制御モジュール
２２０６  インストール制御モジュール
２２０７  ドライバデータ格納部
２２０８  ポートデータ格納部
【先行技術文献】
【特許文献】
【０１２３】
【特許文献１】特開２００８−１６５６５４号公報
【図１】
2010211268.tif 000009
【図２】
2010211268.tif 000010
【図３】
2010211268.tif 000011
【図４】
2010211268.tif 000012
【図５】
2010211268.tif 000013
【図６】
2010211268.tif 000014
【図７】
2010211268.tif 000015
【図８】
2010211268.tif 000016
【図９】
2010211268.tif 000017
【図１０】
2010211268.tif 000018
【図１１】
2010211268.tif 000019
【図１２】
2010211268.tif 000020
【図１３】
2010211268.tif 000021
【図１４】
2010211268.tif 000022
【図１５】
2010211268.tif 000023
【図１６】
2010211268.tif 000024
【図１７】
2010211268.tif 000025
【図１８】
2010211268.tif 000026
【図１９】
2010211268.tif 000027
【図２０】
2010211268.tif 000028
【図２１】
2010211268.tif 000029
【図２２】
2010211268.tif 000030
【図２３】
2010211268.tif 000031
【図２４】
2010211268.tif 000032
【図２５】
2010211268.tif 000033