(57)【要約】      （修正有）【課題】ユーザがマニュアル操作で情報処理装置にドライバソフトウェアをインストールしたり、ネットワーク上の周辺装置を制御できるようにしたりするための煩わしい情報収集や設定を行う必要を無くす。【解決手段】少なくともクライアントＰＣ８５１とプリンタ８５５とから成る印刷ネットワークシステムにおいて、プリンタ８５５が、該プリンタ８５５を制御するための設定情報をクライアントＰＣ８５１に公開する。クライアントＰＣ８５１は、プリンタ８５５により公開された設定情報を利用して、プリンタ８５５を制御する。【選択図】図１
2011100472.tif 000002
【特許請求の範囲】
【請求項１】
ブラウザプログラムを備えた第１の情報処理装置と、第２の情報処理装置と、画像形成装置とを含む通信システムにおいて、
前記第１の情報処理装置における、前記画像形成装置に関する画面を提供するウェブサービスへアクセスするための情報を、当該画像形成装置に関連付けて保存する保存手段と、
前記第１の情報処理装置における、前記画像形成装置が選択された際に、前記保存手段により当該画像形成装置に関連付けて記憶された情報を用いて前記ウェブサービスにアクセスし、前記画像形成装置に関する画面を、前記ブラウザプログラムを用いて表示する表示手段と、
前記画像形成装置における、前記表示手段による前記ブラウザプログラムを用いて表示した画面を介して入力される印刷設定情報が、前記画像形成装置に対応する印刷用のプログラムによって認識可能な形式で当該印刷用のプログラムへ入力された際に当該印刷用のプログラムにより生成された印刷データに基づき、印刷動作を制御する印刷制御手段と、を有することを特徴とする通信システム。
【請求項２】
前記表示手段は、前記第２の情報処理装置から取得した構造化言語で記述された表示制御データを用いて、前記画像形成装置に関する画面を表示することを特徴とする請求項１に記載の通信システム。
【請求項３】
前記構造化言語は、ＸＭＬ（Extensible Markup Language）またはＨＴＭＬ（Hypertext Markup Language）であることを特徴とする請求項２に記載の通信システム。
【請求項４】
前記表示手段は、前記画像形成装置に関する画面として、前記画像形成装置が公開する印刷設定用の画面を、前記ブラウザプログラムを用いて表示することを特徴とする請求項１に記載の通信システム。
【請求項５】
前記保存手段は、前記印刷用のプログラムのインストールに応じて取得される、前記ウェブサービスへアクセスするための情報を保存することを特徴とする請求項１に記載の通信システム。
【請求項６】
画像形成装置と接続された外部情報処理装置と通信可能な、ブラウザプログラムを備えた情報処理装置において、
前記画像形成装置に関する画面を提供するウェブサービスへアクセスするための情報を、当該画像形成装置に関連付けて保存する保存手段と、
前記画像形成装置が選択された際に、前記保存手段により当該画像形成装置に関連付けて記憶された情報を用いて前記ウェブサービスにアクセスし、前記画像形成装置に関する画面を、前記ブラウザプログラムを用いて表示する表示手段と、
前記表示手段による前記ブラウザプログラムを用いて表示した画面を介して入力される印刷設定情報が、前記画像形成装置に対応する印刷用のプログラムによって認識可能な形式で当該印刷用のプログラムへ入力された際に当該印刷用のプログラムにより生成された印刷データに基づき、前記画像形成装置における印刷動作を制御する印刷制御手段と、を有することを特徴とする情報処理装置。
【請求項７】
画像形成装置と接続された外部情報処理装置と通信可能な、ブラウザプログラムを備えた情報処理装置に適用される印刷制御方法おいて、
前記画像形成装置に関する画面を提供するウェブサービスへアクセスするための情報を、当該画像形成装置に関連付けて保存する保存ステップと、
前記画像形成装置が選択された際に、前記保存ステップで当該画像形成装置に関連付けて記憶された情報を用いて前記ウェブサービスにアクセスし、前記画像形成装置に関する画面を、前記ブラウザプログラムを用いて表示する表示ステップと、
前記表示ステップで前記ブラウザプログラムを用いて表示した画面を介して入力される印刷設定情報が、前記画像形成装置に対応する印刷用のプログラムによって認識可能な形式で当該印刷用のプログラムへ入力された際に当該印刷用のプログラムにより生成された印刷データに基づき、前記画像形成装置における印刷動作を制御する印刷制御ステップと、を有することを特徴とする印刷制御方法。
【請求項８】
画像形成装置と接続された外部情報処理装置と通信可能な、ブラウザプログラムを備えた情報処理装置に適用される印刷制御方法をコンピュータに実行させるためのプログラムにおいて、
前記印刷制御方法は、
前記画像形成装置に関する画面を提供するウェブサービスへアクセスするための情報を、当該画像形成装置に関連付けて保存する保存ステップと、
前記画像形成装置が選択された際に、前記保存ステップで当該画像形成装置に関連付けて記憶された情報を用いて前記ウェブサービスにアクセスし、前記画像形成装置に関する画面を、前記ブラウザプログラムを用いて表示する表示ステップと、
前記表示ステップで前記ブラウザプログラムを用いて表示した画面を介して入力される印刷設定情報が、前記画像形成装置に対応する印刷用のプログラムによって認識可能な形式で当該印刷用のプログラムへ入力された際に当該印刷用のプログラムにより生成された印刷データに基づき、前記画像形成装置における印刷動作を制御する印刷制御ステップと、を有することを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信システム、情報処理装置、印刷制御方法、及びプログラムに関し、特に、プリンタドライバを備えた第１の情報処理装置と、第２の情報処理装置と、画像形成装置とを含む通信システム、該通信システムを構成する情報処理装置、該情報処理装置に適用される印刷制御方法、及び該印刷制御方法をコンピュータに実行させるためのプログラムに関する。
【背景技術】
【０００２】
近年、ネットワークの基盤が整備されるに従い、ネットワーク対応型のプリンタ、複写機、ファクシミリ、スキャナ、デジタルカメラ、これらの機能を複合的に備える画像処理装置等の周辺装置が急速に普及しつつある。
【０００３】
こうしたネットワーク対応型の周辺装置を動作させるには、周辺装置がネットワーク対応型プリンタである場合を例にとると、まず、ユーザがマニュアル操作で、使用する情報処理装置（クライアントＰＣ）上に、そのクライアントＰＣ上で稼動するオペレーティングシステム（以降「ＯＳ」と略すことがある）を使って、データベース上に登録管理された該当ドライバソフトウェア（プリンタドライバ）をインストールする。または、プリンタベンダからフレキシブルディスク、ＣＤ−ＲＯＭ等の記録媒体を介して提供されるドライバをインストールする。その上で、クライアントＰＣに、プリンタに割り当てられたＩＰアドレス、プリンタポート、使用するプリントプロトコル、デバイスドライバ等のプリンタを動作させるための情報を設定する。この情報の設定に際しては、こうした情報を入力するための各種プレゼンテーションページ（User Interface）が、ＵＲＩ（Uniform Resource Identifier）で示されるネットワークの所定蓄積場所に予め蓄積されており、クライアントＰＣは、この各種プレゼンテーションページを入手することによって上記の情報設定を行う。このシステムでは、クライアントＰＣ上で起動された任意の印刷指令可能なアプリケーションからプリンタに対して印刷指令することができる。
【０００４】
なお、ネットワーク対応型ではないローカル接続専用プリンタを動作させる場合には、このローカル接続専用プリンタを、例えばパーソナルコンピュータで構成されるサーバに接続し、このサーバをネットワークに接続する。そして、ネットワークからサーバを介してプリンタを見たときに、このプリンタがネットワーク対応型のプリンタとして動作するようにし、その上で、ネットワーク上のクライアントＰＣからの印刷指令に従って、このプリンタで印刷が行われる。こうした印刷方法をとるサービスの例として、Microsoft Windows（登録商標） XP（以下「Windows（登録商標） XP」という）のネットクロールサービスがある。このネットクロールサービスにより、同一ネットワーク上にあるWindows（登録商標） XP OSを搭載したクライアントＰＣと、Windows（登録商標） XP OSを搭載したサーバと、このサーバに接続されたプリンタとから構成されるシステムにおいて、クライアントＰＣに自動的にプリンタ用のプリンタドライバがインストールされ、これにより、ユーザは、マニュアル操作によるプリンタドライバのインストールや特別な設定を行う必要なく、クライアントＰＣからの印刷指令に基づきプリンタにて印刷を行うことができる。このシステムでも、クライアントＰＣ上で起動された任意の印刷指令可能なアプリケーションからプリンタに対して印刷指令することができる。
【０００５】
また一方で、ネットワーク対応型の周辺装置の普及に伴い、ネットワーク上で各種サービスを提供する周辺装置を、ネットワークを介して探索し、その周辺装置を情報処理装置（クライアントＰＣ）から制御するようにする技術が開発されつつある。例えば、このような技術にはマイクロソフト社の提唱するUniversal Plug and Play（以降「UPnP」と略すことがある）が存在し、現在、UPnP Forum（http://www.upnp.org/）にて標準化されている。
【０００６】
また、Ｗｅｂブラウザを用いて、複写機のステータスをモニタリングする技術として、例えば特許文献１に示すような技術が存在する。
【０００７】
さらに、ホストコンピュータからプリンタに対して設定コマンドを送る技術として、例えば特許文献２に示すような技術が存在する。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開平１０−１６４１８１号公報
【特許文献２】特開平６−２１４９１６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、上述の背景技術において、ＵＰｎＰ対応の周辺装置と、ＵＰｎＰ対応でない周辺装置とが混在するネットワークでは、ユーザはその周辺装置がＵＰｎＰ対応であるか否かをいつも意識しなければならないという問題があった。
【００１０】
また、上記のように、ＵＰｎＰ対応の周辺装置を動作させるには、ユーザがマニュアル操作で情報処理装置にドライバソフトウェアをインストールし、かつ周辺装置を制御できるようにするための煩わしい情報収集や情報設定が必要であった。
【００１１】
また、複数の情報処理装置がネットワークに存在するケースにおいて、それぞれの情報処理装置に搭載されているＯＳの種類が異なる場合、例えば、Windows（登録商標） XPや、アップルコンピュータ社のMac OS 9.2.2（以下「Mac OS」という）がそれぞれ搭載されている場合、それぞれのＯＳの仕様に合わせてドライバソフトウェアが設計されているため、特にＵＩ（User Interface）がＯＳ毎に全く異なっていた。このため、それぞれのＯＳ毎にＵＩを設計する必要があり、多大な開発工数を要してコストアップにつながっていた。また、ユーザにとっては、ＯＳ毎にＵＩの操作性が全く異なってしまうため、ユーザが混乱するケースも非常に多かった。
【００１２】
一方、上記のようにＵＰｎＰ対応でない周辺装置を動作させるには、ネットクロールサービスが有効であるが、ネットクロールサービスは、ある限られたＯＳ（Windows（登録商標） XP）でしかサポートされていないため、複数の情報処理装置にそれぞれ異なるＯＳが搭載されているようなシステムの場合、ネットクロールサービスをサポートしていないＯＳが搭載されている情報処理装置においては、上記と同じ問題が生じる。
【００１３】
ところで、ＵＰｎＰを利用して情報処理装置に、周辺装置を制御するソフトウェア（デバイスドライバ）を自動的にインストールして、情報処理装置から周辺装置を制御することができるようにしたシステムが提案されている。このシステムでは、ユーザがマニュアル操作によるプリンタドライバのインストールや特別な設定を行う必要なく、情報処理装置からプリンタドライバを利用してネットワーク経由でプリンタにて印刷を行うことができる。このシステムでは、任意の印刷指令可能なアプリケーションから印刷指令することが考え得る。このシステムは、理論上、どのＯＳにおいても実現可能であるので、ユーザがマニュアル操作で情報処理装置にドライバソフトウェアをインストールする必要がなく、ドライバソフトウェアのインストールは自動的に行われる。また、ネットワーク上の周辺装置を制御できるようにするための煩わしい情報収集や設定も必要ない。しかしながら、ネットワークに複数の情報処理装置が接続され、それぞれの情報処理装置のＯＳが異なる場合、それぞれのＯＳの仕様に合わせてドライバソフトウェアが設計されているため、特にＵＩがＯＳ毎に全く異なっていた。このため、ここでも上記の問題が発生してしまう。
【００１４】
さらに別の例として、ＵＰｎＰを利用した他の印刷システムとして、UPnP Forumで標準化されているPrinter Basic Service V 1.0のサービスを利用したシステムがある。これによると、情報処理装置にプリンタドライバをインストールすることなく、情報処理装置上でＷｅｂブラウザを操作して、印刷対象のファイルと各印刷設定とを選択して印刷を実行することで、ネットワーク上のネットクロールサービスをサポートしているＵＰｎＰ対応プリンタにて印刷を行うことができる（ドライバレス印刷）。ただしこのシステムでは、任意の印刷指令可能なアプリケーションで作成されたファイルを印刷対象とすることはできず、ある限られたアプリケーションで作成されたファイルを印刷対象のファイルとして選択することができるだけである。なお、このシステムでは、任意の異なるＯＳが搭載された複数の情報処理装置において、ユーザによる同一の印刷指令操作により印刷を行うことができる。しかしながら、このシステムでは、印刷対象となるファイルが限られてしまい、任意の印刷指令可能なアプリケーションで作成されたファイルを印刷することができないという問題点がある。
【００１５】
本発明はこのような問題点に鑑みてなされたものであって、ユーザがマニュアル操作で情報処理装置にドライバソフトウェアをインストールしたり、ネットワーク上の周辺装置を制御できるようにしたりするための煩わしい情報収集や設定を行う必要が無く、また、情報処理装置に搭載されるＯＳ毎にＵＩを設計・開発し直す必要も無く、さらに、ＯＳ毎にＵＩのデザインや操作性が異なることがない通信システム、情報処理装置、印刷制御方法、及びプログラムを提供することを目的とする。
【００１６】
さらに、周辺装置がプリンタである場合において、任意の印刷指令可能なアプリケーションから印刷指令することができる通信システム、情報処理装置、印刷制御方法、及びプログラムを提供することを他の目的とする。
【課題を解決するための手段】
【００１７】
上記目的を達成するために、本発明の通信システムは、ブラウザプログラムを備えた第１の情報処理装置と、第２の情報処理装置と、画像形成装置とを含む通信システムにおいて、前記第１の情報処理装置における、前記画像形成装置に関する画面を提供するウェブサービスへアクセスするための情報を、当該画像形成装置に関連付けて保存する保存手段と、前記第１の情報処理装置における、前記画像形成装置が選択された際に、前記保存手段により当該画像形成装置に関連付けて記憶された情報を用いて前記ウェブサービスにアクセスし、前記画像形成装置に関する画面を、前記ブラウザプログラムを用いて表示する表示手段と、前記画像形成装置における、前記表示手段による前記ブラウザプログラムを用いて表示した画面を介して入力される印刷設定情報が、前記画像形成装置に対応する印刷用のプログラムによって認識可能な形式で当該印刷用のプログラムへ入力された際に当該印刷用のプログラムにより生成された印刷データに基づき、印刷動作を制御する印刷制御手段と、を有することを特徴とする。
【００１８】
また、本発明の情報処理装置は、画像形成装置と接続された外部情報処理装置と通信可能な、ブラウザプログラムを備えた情報処理装置において、前記画像形成装置に関する画面を提供するウェブサービスへアクセスするための情報を、当該画像形成装置に関連付けて保存する保存手段と、前記画像形成装置が選択された際に、前記保存手段により当該画像形成装置に関連付けて記憶された情報を用いて前記ウェブサービスにアクセスし、前記画像形成装置に関する画面を、前記ブラウザプログラムを用いて表示する表示手段と、前記表示手段による前記ブラウザプログラムを用いて表示した画面を介して入力される印刷設定情報が、前記画像形成装置に対応する印刷用のプログラムによって認識可能な形式で当該印刷用のプログラムへ入力された際に当該印刷用のプログラムにより生成された印刷データに基づき、前記画像形成装置における印刷動作を制御する印刷制御手段と、を有することを特徴とする。
【００１９】
また、本発明の印刷制御方法は、画像形成装置と接続された外部情報処理装置と通信可能な、ブラウザプログラムを備えた情報処理装置に適用される印刷制御方法おいて、前記画像形成装置に関する画面を提供するウェブサービスへアクセスするための情報を、当該画像形成装置に関連付けて保存する保存ステップと、前記画像形成装置が選択された際に、前記保存ステップで当該画像形成装置に関連付けて記憶された情報を用いて前記ウェブサービスにアクセスし、前記画像形成装置に関する画面を、前記ブラウザプログラムを用いて表示する表示ステップと、前記表示ステップで前記ブラウザプログラムを用いて表示した画面を介して入力される印刷設定情報が、前記画像形成装置に対応する印刷用のプログラムによって認識可能な形式で当該印刷用のプログラムへ入力された際に当該印刷用のプログラムにより生成された印刷データに基づき、前記画像形成装置における印刷動作を制御する印刷制御ステップと、を有することを特徴とする。
【００２０】
更に、本発明のプログラムは、画像形成装置と接続された外部情報処理装置と通信可能な、ブラウザプログラムを備えた情報処理装置に適用される印刷制御方法をコンピュータに実行させるためのプログラムにおいて、前記印刷制御方法は、前記画像形成装置に関する画面を提供するウェブサービスへアクセスするための情報を、当該画像形成装置に関連付けて保存する保存ステップと、前記画像形成装置が選択された際に、前記保存ステップで当該画像形成装置に関連付けて記憶された情報を用いて前記ウェブサービスにアクセスし、前記画像形成装置に関する画面を、前記ブラウザプログラムを用いて表示する表示ステップと、前記表示ステップで前記ブラウザプログラムを用いて表示した画面を介して入力される印刷設定情報が、前記画像形成装置に対応する印刷用のプログラムによって認識可能な形式で当該印刷用のプログラムへ入力された際に当該印刷用のプログラムにより生成された印刷データに基づき、前記画像形成装置における印刷動作を制御する印刷制御ステップと、を有することを特徴とする。
【発明の効果】
【００２１】
本発明によれば、次のような効果が得られる。
【００２２】
（１）ユーザがマニュアル操作で情報処理装置にドライバソフトウェアをインストールしたり、ネットワーク上の周辺装置を制御できるようにしたりするための煩わしい情報収集や設定を行う必要が無く、操作性に優れる。
【００２３】
（２）情報処理装置に搭載されるＯＳ毎にＵＩを設計・開発し直す必要が無く、設計・開発の工数を削減でき、設計・開発の費用をコストダウンできる。
【００２４】
（３）ＯＳが異なる複数の情報処理装置において、ＯＳ毎に周辺装置制御用ＵＩのデザインや操作性が異なることなく、操作性に優れる。
【００２５】
（４）周辺装置がプリンタである場合において、任意の印刷指令可能なアプリケーションから印刷指令することができる。
【００２６】
（５）任意の印刷指令可能なアプリケーションからの印刷とドライバレス印刷との両者を備え、機能的に優れる。
【００２７】
（６）周辺装置の最新の状態を、周辺装置の状態を表す状態情報にリアルタイムに反映させて情報処理装置上に表示することができ、操作性に優れる。
【００２８】
（７）設定情報（印刷設定ＵＩ）や状態情報（ステータスモニタＵＩ）のＵＩのデザイン変更等が必要になった場合にも、Ｗｅｂサーバの内部に用意してある設定情報や状態情報を差し替えるだけでよく、メンテナンスが容易である。
【００２９】
（８）ユーザがよく使用するお気に入りの設定情報（印刷設定ＵＩ）が、初期設定値として最初に情報処理装置上に表示されるので、ユーザの操作性を向上でき、操作性に優れる。
【００３０】
（９）情報処理装置上のＷｅｂブラウザを介して周辺装置を制御するので、任意の情報処理装置において周辺装置の制御を容易に実現することができる。
【００３１】
（１０）同一ネットワーク上に製造番号だけが異なる同一機種の周辺装置が複数存在するような場合においても、情報処理装置上に表示された周辺装置の表示名から各周辺装置を特定でき、ユーザが意図していない周辺装置に誤ってアクセスしてしまうような誤操作を防止することができる。
【００３２】
（１１）ＵＰｎＰ等の標準化された規格を利用することで、より汎用的なシステムを容易に実現することができる。
【００３３】
（１２）周辺装置を、オペレーションシステム（ＯＳ）とのインタフェース処理部と、オペレーションシステムと独立した処理部とに分けて構成することで、開発工数を大幅に削減でき、コストダウンすることができる。
【図面の簡単な説明】
【００３４】
【図１】本発明に係る情報処理装置及び周辺装置からなる印刷ネットワークシステムの一実施形態における第１の構成部分を示すブロック図である。
【図２】クライアントＰＣのハードウェア構成の一例を示すブロック図である。
【図３】クライアントＰＣにおける、デバイスドライバをインストールするためのソフトウェア構成を詳しく示すブロック図である。
【図４】ドライバ自動インストールアプリケーション部のテーブルを示す図である。
【図５】本発明に係る印刷ネットワークシステムの上記実施形態における第２の構成部分を示すブロック図である。
【図６】本発明に係る印刷ネットワークシステムの上記実施形態における第３の構成部分を示すブロック図である。
【図７】Windows（登録商標） XPをＯＳとして搭載したクライアントＰＣにおいて実行されるＵＰｎＰ対応デバイス検出処理の手順を示すフローチャートである。
【図８】クライアントＰＣの表示装置に表示されたMy Network Placesフォルダの一例を示す図である。
【図９】クライアントＰＣから発行されるＨＴＴＰリクエストの一例を示す図である。
【図１０】クライアントＰＣに返信されるＨＴＴＰレスポンスの一例を示す図である。
【図１１】プリンタがサポートしているＵＰｎＰデバイスのXML Device Descriptionの記述内容の基本的な一例を示す図である。
【図１２】プリンタが公開しているプレゼンテーションページをクライアントＰＣ上で表示した場合の画面を示す図である。
【図１３】プリンタが公開しているプレゼンテーションページをクライアントＰＣ上で表示した場合の画面を示す図である。
【図１４】図１２または図１３に示すプレゼンテーションページを用いてドライバレス印刷を行う時にクライアントＰＣで実行される印刷処理の手順を示すフローチャートである。
【図１５】図１２または図１３のプレゼンテーションページを用いてドライバレス印刷が行われたときのプリンタで行われる状態検出処理の手順と、クライアントＰＣで実行されるプリンタの状態表示処理の手順とを示すフローチャートである。
【図１６】Windows （登録商標）XPのネットクロールサービスによってクライアントＰＣにドライバがインストールされる際にクライアントＰＣで実行されるインストール処理の手順を示すフローチャートである。
【図１７】クライアントＰＣの表示装置に表示されるPrinters and Faxesフォルダを示す図である。
【図１８】代理サーバにおけるプリンタドライバの構成を示すブロック図である。
【図１９】図１８に示すＵＩモジュールの基本的な内部構成を示すブロック図である。
【図２０】図１８に示すステータスモニタの基本的な内部構成を示すブロック図である。
【図２１】クライアントＰＣのWindows（登録商標） XP OSに標準のアプリケーションとして組み込まれているテキストエディタNotepadによってクライアントＰＣの表示装置に表示される画面の一例を示す図である。
【図２２】図２１に示す印刷メニューが選択されることによってクライアントＰＣの表示装置に表示されるPrintダイアログを示す図である。
【図２３】図２２に示すPreferencesボタンがクリックされてクライアントＰＣの表示装置に表示されるPreferencesダイアログのMainシートを表す図である。
【図２４】PreferencesダイアログのPage Setupシートを示す図である。
【図２５】クライアントＰＣの表示装置に表示されるステータスモニタダイアログを示す図である。
【図２６】プリンタキューフォルダを表す図である。
【図２７】図６に示す第３の構成部分において、クライアントＰＣ内のアプリケーションにおいて印刷指令を行われ、これによってプリンタにて印刷が実行されるまでの印刷処理の基本的な手順を示すフローチャート（１／２）である。
【図２８】図６に示す第３の構成部分において、クライアントＰＣ内のアプリケーションにおいて印刷指令を行われ、これによってプリンタにて印刷が実行されるまでの印刷処理の基本的な手順を示すフローチャート（２／２）である。
【図２９】図６に示す第３の構成部分において、クライアントＰＣのＩＥ５のFileメニューからPrint...を選択した時に表示されるPrintダイアログを示す図である。
【図３０】図６に示す第３の構成部分において、クライアントＰＣのＩＥ５のFileメニューからPage Setup...を選択した時に表示されるPage Setupダイアログを示す図である。
【図３１】図６に示す第３の構成部分において、図２９のPrintボタンがクリックされて印刷が開始された時の印刷中に表示されるステータスモニタダイアログを示す図である。
【図３２】本発明におけるプリンタがサポートしているＵＰｎＰデバイスのXML Device Descriptionの記述内容を示す図（１／２）である。
【図３３】本発明におけるプリンタがサポートしているＵＰｎＰデバイスのXML Device Descriptionの記述内容を示す図（２／２）である。
【図３４】本発明におけるプリンタがサポートしているＵＰｎＰデバイスのXML Service Descriptionの記述内容を表す図（１／２）である。
【図３５】本発明におけるプリンタがサポートしているＵＰｎＰデバイスのXML Service Descriptionの記述内容を表す図（２／２）である。
【図３６】図１に示す印刷ネットワークシステムの第１の構成部分におけるクライアントＰＣで実行されるＵＰｎＰ対応デバイス検出処理の手順を示すフローチャートである。
【図３７】図３６に示すステップＳ４７０６におけるプリンタのドライバのインストール処理の手順を示すフローチャートである。
【図３８】本発明に係るＵＩモジュールの内部構成を示すブロック図である。
【図３９】本発明に係るステータスモニタの内部構成を示すブロック図である。
【図４０】クライアントＰＣの表示装置に表示された、プリンタが公開している印刷設定ＵＩのプレゼンテーションページを示す図である。
【図４１】クライアントＰＣの表示装置に表示された、プリンタが公開しているステータスモニタＵＩのプレゼンテーションページを示す図である。
【図４２】図１に示す印刷ネットワークシステムの第１の構成部分において、クライアントＰＣ内のアプリケーションでの印刷指令に従ってプリンタにて印刷が実行されるまでの処理の手順を示すフローチャート（１／２）である。
【図４３】図１に示す印刷ネットワークシステムの第１の構成部分において、クライアントＰＣ内のアプリケーションでの印刷指令に従ってプリンタにて印刷が実行されるまでの処理の手順を示すフローチャート（２／２）である。
【図４４】図２２に示すPrintダイアログのプリンタ選択部でプリンタが選択され、Preferencesボタンがクリックされた際に、クライアントＰＣで実行される処理の他の実施形態を示すフローチャートである。
【図４５】クライアントＰＣの表示装置に表示された、プリンタが公開している印刷設定ＵＩのプレゼンテーションページを示す図である。
【図４６】クライアントＰＣの表示装置に表示された、プリンタが公開しているステータスモニタＵＩのプレゼンテーションページを示す図である。
【図４７】代理サーバにおいて行われる自動設定調整処理の手順を示すフローチャートである。
【図４８】図６に示す印刷ネットワークシステムの第３の構成部分において、クライアントＰＣ内のアプリケーションでの印刷指令に従って代理サーバを介してプリンタにて印刷が実行されるまでの処理の手順を示すフローチャート（１／２）である。
【図４９】図６に示す印刷ネットワークシステムの第３の構成部分において、クライアントＰＣ内のアプリケーションでの印刷指令に従って代理サーバを介してプリンタにて印刷が実行されるまでの処理の手順を示すフローチャート（２／２）である。
【図５０】プリンタに自動両面印刷ユニットが装着された時に、クライアントＰＣの表示装置に表示された、代理サーバが公開している印刷設定ＵＩのプレゼンテーションページを示す図である。
【図５１】プリンタに自動両面印刷ユニットが装着された時に、クライアントＰＣの表示装置に表示された、代理サーバが公開しているステータスモニタＵＩのプレゼンテーションページを示す図である。
【図５２】図１に示す印刷ネットワークシステムの第１の構成部分におけるプリンタのＵＰｎＰデバイス制御部の構成を示すブロック図である。
【図５３】本発明に係る印刷ネットワークシステムで読み出し可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを示す図である。
【発明を実施するための形態】
【００３５】
以下、本発明を実施するための最良の形態について、図面を参照して説明する。
【００３６】
図１は、本発明に係る情報処理装置及び周辺装置からなる印刷ネットワークシステム（周辺装置制御システム）の一実施形態における第１の構成部分を示すブロック図である。なお、本印刷ネットワークシステム（周辺装置制御システム）は、第１乃至第３の構成部分から成り、第２の構成部分については図５を参照して、第３の構成部分については図６を参照して、詳しく後述する。
【００３７】
第１の構成部分における情報処理装置はクライアントＰＣ（Personal Computer）８５１、８５７によって構成され、周辺装置はプリンタ８５５によって構成される。クライアントＰＣ８５１、８５７とプリンタ８５５とは、Ｅｔｈｅｒｎｅｔ（登録商標）で構成されるネットワーク８５６を介して接続され、互いに通信可能である。なお、周辺装置として図１ではプリンタ８５５を示したが、プリンタ、複写機、ファクシミリ、またはこれらの複合機などの画像形成装置、スキャナ、デジタルカメラであってもよい。
【００３８】
なお、本発明は、クライアントＰＣ８５１、８５７側で実行されるアプリケーション（ソフトウェア）とプリンタ８５５に実装されるアプリケーション（ソフトウェア）とで実現され、各機能モジュールより構成される。図１におけるクライアントＰＣ８５１及びプリンタ８５５の各ブロック内には、各機能モジュールを示す。
【００３９】
クライアントＰＣ８５１は、図２を参照して後述するようなハードウェアで構成され、ＯＳ（Operating System）として米国マイクロソフト社のWindows（登録商標） XPがインストールされ、ＷｅｂブラウザとしてMicrosoft Internet Explorer（登録商標）Version 6.0（以下「ＩＥ６」という）がインストールされる。
【００４０】
図１において、１はドライバ自動インストールアプリケーション部であり、クライアントＰＣ８５１のＯＳ上で動作するソフトウェアである。ドライバ自動インストールアプリケーション部１は、ドライバ自動ダウンロード・設定モジュール部１００、ＳＯＡＰ（Simple Object Access Protocol）リクエスト発行処理部４、ＳＯＡＰレスポンス解析処理部５、コンフィギュレータモジュール部７、メモリコントローラ部８、ＧＵＩモジュール部（ＧＵＩ）６を備える。
【００４１】
また、クライアントＰＣ８５１は、通信機能としてのＴＣＰ／ＵＤＰ／ＩＰプロトコルスタック部２と、該ＴＣＰ／ＵＤＰ／ＩＰプロトコルスタック部２とドライバ自動インストールアプリケーション部１との間に設けられる、ＨＴＴＰ１．１に準ずるＨＴＴＰ（Hyper Text Transfer Protocol）部３とを備える。
【００４２】
ＧＵＩモジュール部６は、ユーザとの間でインタラクティブに要求の受付処理を行い、その処理結果の表示処理を実行する。コンフィギュレータモジュール部７は、ネットワーク８５６を介してプリンタ８５５より取得したドライバを、プリンタ８５５より取得したネットワーク情報とともに、クライアントＰＣ８５１が保持する記録装置（図示せず）にイントールする処理を実行するとともに、ＯＳに対してドライバ情報の登録を行う。なお、このイントールの実行の際には、メモリコントローラ部８を介して、記録装置におけるメモリスペースの有無の調査、およびイントール先の管理制御を実行する。
【００４３】
プリンタ８５５は、ＵＰｎＰ（Universal Plug and Play）に対応したネットワーク対応型プリンタであり、このプリンタ８５５を制御するＯＳとしてＬｉｎｕｘＯＳが搭載される。プリンタ８５５は、通信機能としてＴＣＰ／ＵＤＰ／ＩＰプロトコルスタック部９を備え、このＴＣＰ／ＵＤＰ／ＩＰプロトコルスタック部９には、ＨＴＴＰ１．１に準ずるＨＴＴＰ（Hyper Text Transfer Protocol）部１０と、ＳＯＡＰ（Simple Object Access Protocol）リクエスト解析処理部１１と、レスポンスの発行を実行するためのＳＯＡＰレスポンス発行処理部１２とが設けられる。
【００４４】
また、ＴＣＰ／ＵＤＰ／ＩＰプロトコルスタック部９にはプリントプロトコルモジュール部１３が実装され、該プリントプロトコルモジュール部１３は、クライアントＰＣ８５１から発行されるプリンタ要求を解析し、プリントコントローラ部１４に対して該要求を送出する機能を備える。
【００４５】
１５はメモリコントローラ部であり、ドライバを格納する場所を示すディレクトリ情報の管理や、データサイズ情報の管理の機能を備えるとともに、ドライバ送信時において記録装置から読み出したドライバをＨＴＴＰ部１０に対して送出する処理を実行する機能を備える。
【００４６】
６０はＵＰｎＰ（Universal Plug and Play）デバイス制御部であり、ＳＯＡＰリクエスト解析処理部１１とＳＯＡＰレスポンス発行処理部１２とを含む。このＵＰｎＰデバイス制御部６０については後に詳述する。
【００４７】
８５７はクライアントＰＣであり、クライアントＰＣ８５１と同様に、図２を参照して後述するようなハードウェアで構成されるが、クライアントＰＣ８５７は、ＯＳとして米国アップルコンピュータ社のＭａｃＯＳ（登録商標）がインストールされ、ＷｅｂブラウザとしてInternet Explorer（登録商標）5 Macintosh Edition（以下「ＩＥ５」という）がインストールされている。８５８はＷｅｂサーバであり、ホームページ（後述するプレゼンテーションページ、印刷設定ＵＩのプレゼンテーションページ、ステータスモニタＵＩのプレゼンテーションページ等）を公開提供する機能を備える。
【００４８】
図２は、クライアントＰＣ８５１、８５７のハードウェア構成の一例を示すブロック図である。ここではクライアントＰＣ８５１を例にして説明する。
【００４９】
クライアントＰＣ８５１は、ランダムアクセスメモリ部（ＲＡＭ１２０１）、記憶部であるハードディスクドライブ部（ＨＤＤ１２０２）、入力部の一例であるキーボード部（ＫＢＤ１２０３）、制御部のＣＰＵ１２０４、表示部の一例である表示用ディスプレイ（ＬＣＤ１２０５）、通信制御部の一例であるネットワークボード（ＮＢ１２０７）、以上のクライアントＰＣ８５１の構成要素を互いに接続するバス１２０６から構成される。なお、記憶部は、可搬性ＣＤ−ＲＯＭまたは内部据付のＲＯＭなどであってもよい。
【００５０】
図１に示すクライアントＰＣ８５１の各モジュール１乃至８は、ＨＤＤ１２０２に記憶され、必要に応じてＲＡＭ１２０１に読み出されてＣＰＵ１２０４により実行される。これにより、ＣＰＵ１２０４が、図１に示す各モジュール１乃至８の機能を実現する。
【００５１】
なお、図１に示すプリンタ８５５も、印刷処理を行うプリントコントローラ部１４を除いて、図２に示すハードウェア構成と同じ構成を採る。その場合、図１に示すプリンタ８５５の各モジュール９乃至１３および１５は、ＨＤＤ１２０２に記憶され、必要に応じてＲＡＭ１２０１に読み出されてＣＰＵ１２０４により実行される。
【００５２】
なおまた、クライアントＰＣ８５１のメモリコントローラ部８およびプリンタ８５５のメモリコントローラ部１５は、基本的には独立なハードウェアで構成されることが多い。
【００５３】
図３は、クライアントＰＣ８５１における、デバイスドライバをインストールするためのソフトウェア構成を詳しく示すブロック図である。なお、図１に示す部分と同一の構成部分には同一の参照符号を付してある。
【００５４】
図３に示すドライバ自動インストールアプリケーション部１、ＴＣＰ／ＵＤＰ／ＩＰプロトコルスタック部２、ＨＴＴＰ部３、ＧＵＩモジュール部６、システム管理部１００１、ドライバ管理部１００２、デバイスＩＤ・ドライバパスリスト１００３、ドライバ格納部１００４、プラグアンドプレイインストーラ１００５、システムインストーラ１００９は、プログラムモジュールで構成されており、クライアントＰＣ８５１内の外部メモリに記憶されていて、必要に応じてＲＡＭに読み出されてＣＰＵによって実行される。
【００５５】
デバイス番号は、周辺装置（例えば、プリンタ８５５）を識別するための情報である。
【００５６】
デバイスＩＤ・ドライバパスリスト１００３は、デバイス番号およびドライバパスリストの組からなるデータベースである。なお、ドライバパスとは、デバイスドライバ（ここではプリンタドライバを例に挙げている）のホストコンピュータに備えられた外部メモリ等のことである。
【００５７】
プラグアンドプレイインストーラ１００５は、デバイス番号をキーにドライバパスを検索し、その結果得られたドライバパスに対して配置されているプリンタドライバを取得する。そして、プリンタドライバインストーラとして機能するシステムインストーラ１００９が、該取得したプリンタドライバをドライバ格納部１００４にインストールする。
【００５８】
図４は、ドライバ自動インストールアプリケーション部１のテーブルを示す図である。
【００５９】
本テーブルには、デバイスＩＤ、ＵＳＢ（Universal Serial Bus）デバイス番号、ドライバが格納されたパスが記憶されている。同図において、１３０１はドライバ自動インストールアプリケーション部１内のテーブルであり、デバイス構成情報の一部としての製造者名および機種名の組であるデバイスＩＤ１３０５と、ＵＳＢデバイス番号１３０４とを対応付けている。１００３はデバイスＩＤ・ドライバパスリストであり、ＵＳＢデバイス番号１３０４を、ドライバが格納されたパス１３０３と対応付けている。
【００６０】
図５は、本発明に係る印刷ネットワークシステムの上記実施形態における第２の構成部分を示すブロック図である。
【００６１】
第２の構成部分においては、クライアントＰＣ８５１、８５７、ネットワーク対応プリンタ８５２、代理サーバ（Proxy Sever）８５３が、ネットワーク８５６を介して通信可能に接続される。クライアントＰＣ８５１、８５７、ネットワーク８５６は、図１を参照して前述したクライアントＰＣ８５１、８５７、ネットワーク８５６と同一のものである。
【００６２】
代理サーバ８５３は代理応答装置であり、この代理サーバ８５３も、図２に示すハードウェア構成と同じ構成を採り、このハードウェア構成によって、ＳＯＡＰレスポンス発行処理部８１５、ＳＯＡＰリクエスト解析処理部８１６、ＳＮＭＰ（Simple Network Management Protocol）処理部８１７、ＨＴＴＰ（Hyper Text Transfer Protocol）部８１４、ＴＣＰ／ＵＤＰ／ＩＰプロトコルスタック部８１３、ＵＳＢプロトコルスタック部８１９の各モジュールの機能が実現される。ＵＳＢプロトコルスタック部８１９は、ＵＳＢホストコントローラ等から構成されてＵＳＢ（双方向通信が可能なインタフェース）を制御する。
【００６３】
またプリンタ８５２も、図２に示すハードウェア構成と同じ構成を採り、ＴＣＰ／ＵＤＰ／ＩＰプロトコルスタック部８０９、ＳＮＭＰ（Simple Network Management Protocol）処理部８１０、プリントプロトコルモジュール部８１１、プリントコントローラ部８１２の各モジュールが、ＨＤＤからＲＡＭに読み出され、ＣＰＵにより実行される。なお、プリントコントローラ部８１２は、プリンタ８５２とは別のＣＰＵによって実行されるようにしてもよい。
【００６４】
プリンタ８５２は、図１に示すプリンタ８５５と異なり、プリンタ８５５のＵＰｎＰデバイス制御部６０のようなものを備えていない。
【００６５】
代理サーバ８５３において、８１８はＵＰｎＰデバイス制御部である。このＵＰｎＰデバイス制御部８１８は、プリンタ８５５のＵＰｎＰデバイス制御部６０と同様な機能を備えているが、さらに、ＵＰｎＰ未対応であるサポート対象プリンタ（プリンタ８５２）をネットワーク８５６上に発見した場合に、このプリンタ８５２を、見かけ上ＵＰｎＰ対応プリンタとして扱うことができるプロキシサーバ機能も備えている。このＵＰｎＰデバイス制御部８１８については、後に詳述する。また、プリンタ８５２におけるＵＰｎＰ対応についても、後に詳述する。
【００６６】
図６は、本発明に係る印刷ネットワークシステムの上記実施形態における第３の構成部分を示すブロック図である。
【００６７】
第３の構成部分においては、クライアントＰＣ８５１、８５７、代理サーバ８５３、ＵＳＢを利用したローカル接続のプリンタ８５４が、ネットワーク８５６を介して通信可能に接続される。クライアントＰＣ８５１、８５７、ネットワーク８５６は、図１を参照して前述したクライアントＰＣ８５１、８５７、ネットワーク８５６と同一のものであり、代理サーバ８５３は、図５を参照して前述した代理サーバ８５３と同一のものである（図６にはＵＳＢプロトコルスタック部８１９のみを図示し、他の構成部分の図示を省略）。
【００６８】
図６において、図２に示すハードウェア構成と同じ構成を採り、ＵＳＢを制御するＵＳＢプロトコルスタック部８２０、ＳＮＭＰ（Simple Network Management Protocol）処理部８２３、プリントプロトコルモジュール部８２１、プリントコントローラ部８２２の各モジュールが、ＨＤＤからＲＡＭに読み出され、ＣＰＵにより実行される。なお、プリントコントローラ部８２２は、プリンタ８５４とは別のＣＰＵによって実行されるようにしてもよい。
【００６９】
プリンタ８５４は、図１に示すプリンタ８５５と異なり、プリンタ８５５のＵＰｎＰデバイス制御部６０のようなものを備えていない。しかし、代理サーバ８５３のＵＰｎＰデバイス制御部８１８（図５）のプロキシサーバ機能により、代理サーバ８５３が、ＵＰｎＰ未対応であるサポート対象プリンタ（プリンタ８５４）をローカルポート（ＵＳＢポート）上に発見した場合、このプリンタ８５４は、見かけ上ＵＰｎＰ対応プリンタとして扱われる。なお、プリンタ８５４におけるＵＰｎＰ対応については後に詳述する。
【００７０】
図６に示す８５９は、着脱可能な自動両面印刷ユニットであり、プリンタ８５４にこれが装着されると、プリンタ８５４において自動両面印刷を行うことができる。なお、現時点では自動両面印刷ユニット８５９は装着されていないものとする。
【００７１】
ここで以下の説明においては、代理サーバ８５３のコンピュータ名をPC＿ABEとする。また、プリンタ８５４については、製造者名をABC、機種名をPrintMdl-M、製造番号を000777とする。そして、プリンタ８５４が代理サーバ８５３にＵＳＢで接続されていて、代理サーバ８５３にプリンタ８５４用のドライバがインストールされていて、代理サーバ８５３を介してプリンタ８５４で正常に印刷できるものとし、さらに、プリンタ８５４は、代理サーバ８５３を介してネットワーク８５６上の共有プリンタとしてクライアントＰＣ８５１、８５７から参照可能な環境が整っているものとする。代理サーバ８５３においてドライバをインストールされているプリンタ８５４のプリンタ（表示）名と、共有プリンタとして参照されるプリンタ８５４のプリンタ（表示）名とは同一であり、ＡＢＣＰｒｉｎｔＭｄｌ−Ｍであるとする。
【００７２】
図７は、Windows（登録商標） XPをＯＳとして搭載したクライアントＰＣ８５１において実行されるＵＰｎＰ対応デバイス検出処理の手順を示すフローチャートである。このフローチャートには、クライアントＰＣ８５１からの要求に対する各プリンタによる応答処理も含まれる。
【００７３】
図７において、クライアントＰＣ８５１が起動して（Ｓ４０１）、ＵＰｎＰサービスが開始されると（Ｓ４０２）、ＵＰｎＰルートデバイスを検索する要求であるＳＳＤＰ（Simple Service Discovery Protocol）リクエスト（ＨＴＴＰリクエストの一形態）がクライアントＰＣ８５１から周辺装置（プリンタ）側に発行される（Ｓ４０３）。
【００７４】
このＳＳＤＰリクエストに対してデバイス（周辺装置）からＳＳＤＰレスポンスが有った場合（Ｓ４０４でＹＥＳ）、クライアントＰＣ８５１は、ＳＳＤＰレスポンスのあったデバイスを検出し、該デバイスのアイコンをMy Network Placesフォルダ上に表示する（Ｓ４０５）。そして、所定時間（例えば１分）の待機（Ｓ４０８）の後、ステップＳ４０３へ戻る。
【００７５】
ステップＳ４０４において、ＳＳＤＰリクエストに対してデバイスからＳＳＤＰレスポンスが無いと判別された場合、クライアントＰＣ８５１は、My Network Placesフォルダ上に、レスポンスの無いデバイスのアイコンが表示されているか否かを判別し（Ｓ４０６）、レスポンスの無いデバイスのアイコンが表示されている場合、その表示されているアイコンを削除し（Ｓ４０７）、ステップＳ４０８へ進む。ステップＳ４０６において、レスポンスの無いデバイスのアイコンが表示されていないと判別された場合、ステップＳ４０８へ進む。
【００７６】
次に、図１に示すプリンタ８５５、図５に示すプリンタ８５２及び代理サーバ８５３、並びに図６に示すプリンタ８５４及び代理サーバ８５３が、それぞれ起動している状態の時（Ｓ４０９）、ステップＳ４０３で発行されたＳＳＤＰリクエストを受信した場合（Ｓ４１０）、プリンタ８５５、プリンタ８５２及びプリンタ８５４はそれぞれ、そのＳＳＤＰリクエストが、自分がサポートしているリクエスト（ＵＰｎＰルートデバイスを検索するＳＳＤＰリクエスト）と一致するか否かを判別する（Ｓ４１１）。その結果、一致する場合にはＳＳＤＰレスポンスをクライアントＰＣ８５１へ発行し（Ｓ４１２）、ステップＳ４１０のＳＳＤＰリクエストの受信待ち状態に戻る。ステップＳ４１１において、ＳＳＤＰリクエストが一致しないと判別された場合、ステップＳ４１０へ戻る。
【００７７】
このように、ＵＰｎＰ対応デバイスが印刷ネットワークシステム内に存在する場合に、クライアントＰＣ８５１のMy Network Placesフォルダ上に、そのデバイスのアイコンが表示され、これによって、そのデバイスをクライアントＰＣ８５１から制御することができるようになる。
【００７８】
図８は、クライアントＰＣ８５１の表示装置に表示されたMy Network Placesフォルダの一例を示す図である。
【００７９】
同図は、図７のステップＳ４０５でプリンタ８５５（図１）のアイコンが表示されている状態を示す。図中、ABC PrintMdl-K 000888は、ＵＰｎＰ対応のプリンタ８５５が使用可能な状態でスタンバイ中であることを示している。このアイコン表示において、ABCは製造者名、PrintMdl-Kは機種名、000888は装置固有の製造番号を示す。
【００８０】
このように製造者名、機種名、製造番号を利用してデバイス表示名を構成することで、例えば、同一ネットワーク上に製造番号だけが異なる同一機種の周辺装置が複数存在するような場合においても、デバイス表示名からそれぞれのデバイスを特定でき、ユーザが意図していないデバイスに誤ってアクセスしてしまうような誤操作を防止することができる。
【００８１】
図９は、クライアントＰＣ８５１から発行されるＨＴＴＰリクエストの一例を示す図である。
【００８２】
同図は、図７のステップＳ４０３や後述する図３６のステップＳ４７０３で発行されるＵＰｎＰルートデバイスを検索するためのＳＳＤＰリクエストを表す。同図の左端の番号は行番号を表す。このＳＳＤＰリクエストの内容に関しては、UPnP Forumによって標準化されているUniversal Plug and Play Device Architecture V 1.0の規格に記載されているので、ここでは本発明に関連する部分のみ説明し、それ以外の部分に関する説明は省略する。
【００８３】
同図において、３行目はSearch Targetであり、ＵＰｎＰルートデバイスを表すupnp:rootdeviceが指定されている。４行目はＭＡＮとして“ssdp:discover”が指定されている。この例では、Universal Plug and Play Architecture V 1.0にて規定されるSimple Service Discovery Protocol（ＳＳＤＰ）を使用する。
【００８４】
図９に示す例によれば、クライアントＰＣ８５１は、マルチキャストアドレス「２３９．２５５．２５５．２５０」、ポート番号「１９００」に対して、図９に示すフォーマットのＨＴＴＰパケットを発行する。なお、ＨＴＴＰリクエストによる探索要求はＵＰｎＰの探索要求に限るものではない。
【００８５】
図１０は、クライアントＰＣ８５１に返信されるＨＴＴＰレスポンスの一例を示す図である。
【００８６】
同図は、図７のステップＳ４１２や後述する図３６のステップＳ４７１３でプリンタ８５５から発行されるＳＳＤＰレスポンスを表す。
【００８７】
同図の左端の番号は行番号を表す。このＳＳＤＰレスポンスの内容に関しては、UPnP Forumで標準化されているUniversal Plug and Play Device Architecture V 1.0の規格に記載されているので、ここでは本発明に関連する部分のみ説明し、それ以外の部分に関する説明は省略する。
【００８８】
図１０において、４行目で、プリンタ８５５がサポートしているＵＰｎＰデバイスのXML Device Descriptionが存在するＵＲＬが指定されている。このXML Device Descriptionについては、図１１及び図３２、図３３を参照して後述する。
【００８９】
６行目はNotification Typeを示し、この例では、デバイスのDeviceTypeがUPnP Forumで標準化されているPrinter:1であることを表している。
【００９０】
７行目はNotification Sub Typeを示し、この例では、デバイスが使用可能な状態であることを表すssdp:aliveが指定されている。
【００９１】
９行目はUnique Service Nameを示し、この例では、デバイスのUniversally Unique Identifier（ＵＵＩＤ）が記されている。
【００９２】
図１０に示す例によれば、Universal Plug and Play Architecture V 1.0にて規定されるSimple Service Discovery Protocol（ＳＳＤＰ）を使用しているので、プリンタ８５５はマルチキャストアドレス「２３９．２５５．２５５．２５０」、ポート番号「１９００」に対して、図１０に示すフォーマットのＨＴＴＰパケットを発行する。なお、ＨＴＴＰレスポンスによる応答はＵＰｎＰの応答に限るものではない。
【００９３】
図１１は、プリンタ８５５がサポートしているＵＰｎＰデバイスのXML Device Descriptionの記述内容の基本的な一例を示す図である。
【００９４】
同図の左端の番号は行番号を表す。この記述内容に関しては、UPnP Forumで標準化されているUniversal Plug and Play Device Architecture V 1.0の規格に記載されているので、ここでは本発明に関連する部分のみ説明し、それ以外の部分に関する説明は省略する。
【００９５】
図１１において、２〜３０行目はroot要素を表し、プリンタ８５５がUPnP Forumで標準化されているデバイスに準拠していることが記述されている。
【００９６】
７〜２９行目はdevice要素を表す。
【００９７】
８行目はdeviceType要素を示し、プリンタ８５５がUPnP Forumで標準化されているPrinter Device V 1.0のデバイスであることが記述されている。
【００９８】
９行目はfriendlyName要素を示し、この内容が、図８に示すMy Network Placesフォルダに表示されるＵＰｎＰ対応デバイスのアイコンにおけるデバイス名として使用される。この要素を、後述する製造者名（ABC）、機種名（PrintMdl-K）、製造番号（000888）から構成することで、例えば、同一ネットワーク上に製造番号だけが異なる同一機種の周辺装置が複数存在するような場合においても、表示名からそれぞれのデバイスを特定でき、ユーザが意図していないデバイスに誤ってアクセスしてしまうような誤操作を防止することができる。
【００９９】
１０行目はmanufacturer要素を示し、製造業者名が記述される。
【０１００】
１１行目はmanufacturerURL要素を示し、製造業者のＷｅｂサイトのホームページのＵＲＬが記述される。
【０１０１】
１２行目はmodelDescription要素を示し、エンドユーザ用の識別名が記述される。
【０１０２】
１３行目はmodelName要素を示し、機種名が記述される。
【０１０３】
１４行目はserialNumber要素を示し、製造番号が記述される。
【０１０４】
１５行目はＵＤＮ要素であり、Unique Device Nameが記述される。
【０１０５】
１６〜２６行目はserviceList要素を表す。
【０１０６】
１７〜２５行目はservice要素を示し、このデバイス、すなわちプリンタ８５５がサポートしているＵＰｎＰのサービスが記述される。
【０１０７】
１８行目はserviceType要素を示し、プリンタ８５５がUPnP Forumで標準化されているPrinter Basic Service V 1.0のサービスをサポートしていることが記述されている。
【０１０８】
１９行目はserviceId要素を示し、このサービスのＩＤが記述される。
【０１０９】
２０行目はＳＣＰＤＵＲＬ要素を示し、Service DescriptionのためのＵＲＬ、すなわち、Service Control Protocol Definition URLが記述される。
【０１１０】
２１〜２２行目はcontrolURL要素を示し、デバイスを制御するためのＵＲＬが記述される。
【０１１１】
２３〜２４行目はeventSubURL要素を示し、イベントのためのＵＲＬが記述される。
【０１１２】
２７〜２８行目はpresentationURL要素を示し、デバイスを公開するためのプレゼンテーションページのＵＲＬが記述される。
【０１１３】
図１２は、プリンタ８５５が公開しているプレゼンテーションページをクライアントＰＣ８５１上で表示した場合の画面を示す図である。
【０１１４】
クライアントＰＣ８５１において、図８に示す、ＵＰｎＰ対応デバイスであるプリンタ８５５のアイコン「ABC PrintMdl-K 000888」をダブルクリックして起動すると、図１１の２７〜２８行目のpresentationURL要素で指定されているＵＲＬを引数としてＷｅｂブラウザ（ＩＥ６）が起動して、図１２に示すようなプレゼンテーションページが表示される。このプレゼンテーションページはActive Server Pages（以下「ＡＳＰ」という）で構成されており、動的に作成されたＨＴＭＬ（Hypertext Makeup Language）を見せることができるので、プリンタ８５５の状態等をリアルタイムに反映させて表示することが可能である。また、Java（登録商標）Scriptを用いて、一定時間（例えば５秒間）毎にページの内容が自動的に更新されるようになっているので、前記ＡＳＰの機能と合わせて、約５秒のインターバルでリアルタイムに表示内容が更新される。
【０１１５】
図１２において、２１６はアドレス表示部であり、このプレゼンテーションページのＵＲＬが表示される。２００はプリンタ名表示部（Printer:）であり、プリンタ８５５の図８で示すようなＵＰｎＰ対応デバイス名であるプリンタ名が表示される。２０１は機種名表示部（Model:）であり、プリンタ８５５の機種名が表示される。２０２はＩＰアドレス表示部（IP Address:）であり、プリンタ８５５のＩＰアドレスが表示される。２０３はプリンタの状態表示部であり、プリンタの動作状態が表示される。図１２の例では“ON LINE”の状態を表している。
【０１１６】
２０４は、ファイル名表示部２０５及び参照ボタン（Browse...）２０６から構成されるファイル選択部（Print File:）であり、参照ボタン２０６をクリックすることによって印刷対象のファイルを選択すると、そのファイル名がファイル名表示部２０５に表示される。
【０１１７】
２０７は部数指定部（Copies:）であり、印刷部数を１〜１００部の範囲で指定できる。
【０１１８】
２０８は用紙の種類選択部（Media Type:）であり、用紙の種類をPlain Paper、Photo Paper、OHP Sheetの中から選択することができる。
【０１１９】
２０９は用紙サイズ選択部（Paper Size:）であり、用紙サイズをＡ４、Ａ５、Ｂ５、Letterの中から選択することができる。
【０１２０】
２１０は印刷レイアウト選択部（Layout:）であり、印刷レイアウトを1-up、2-up、4-upの中から選択することができる。
【０１２１】
２１１は印刷品位選択部（Print Quality:）であり、印刷品位をHigh、Standard、Draftの中から選択することができる。
【０１２２】
２１２は印刷の向き選択部（Orientation:）であり、印刷の向きをPortrait、Landscapeから選択することができる。
【０１２３】
２１３は印刷ボタン（Print）であり、このボタンをクリックすると印刷が開始される。
【０１２４】
２１４はインク残量表示部であり、プリンタ８５５に装着されているインクカートリッジのインク残量が表示される。
【０１２５】
２１５は操作ガイド部であり、ユーザ操作の補助として、操作ガイドが表示される。
【０１２６】
このプレゼンテーションページを利用することにより、クライアントＰＣ８５１、８５７にプリンタ８５５用のドライバをインストールすることなく、これらのクライアントＰＣからドライバレスでプリンタ８５５において印刷することができる（以下、この印刷を「ドライバレス印刷」と呼ぶ）。
【０１２７】
図１３は、プリンタ８５５が公開しているプレゼンテーションページをクライアントＰＣ８５７上で表示した場合の画面を示す図である。
【０１２８】
クライアントＰＣ８５７は、プリンタ８５５内にある、図１１の２７〜２８行目のpresentationURL要素で指定されているＵＲＬに用意されているプレゼンテーションページを、クライアントＰＣ８５１とは異なるＯＳ及びＷｅｂブラウザ（ＭａｃＯＳ、ＩＥ５）によって表示するが、図１２と見比べると分かる通り、ページ内の各構成要素は、見かけが若干異なるものの、同様なものとなっている。
【０１２９】
このように、プリンタ８５５に１つのＵＩ（User Interface）、即ち、前記プレゼンテーションページを用意しておくだけで、異なるクライアントＰＣにおいて、同様なＵＩを操作することができ、この操作によって印刷を行わせることができるので、クライアントＰＣ毎にＵＩを開発する必要がなく、ＵＩの開発工数を削減できる。しかも、クライアントＰＣ毎にＵＩが異なることがないので、クライアントＰＣの違いによりユーザが違和感を抱くことなく、ユーザの操作性を向上することができる。
【０１３０】
図１４は、図１２または図１３に示すプレゼンテーションページを用いてドライバレス印刷を行う時にクライアントＰＣ８５１またはクライアントＰＣ８５７で実行される印刷処理の手順を示すフローチャートである。但し、以下の説明では、図１２に示すプレゼンテーションページを用いてクライアントＰＣ８５１で実行される印刷処理の手順を例にとる。
【０１３１】
同図において、図１２に示す印刷ボタン２１３がクリックされると（Ｓ２５０１）、図１２に示す各印刷設定部２０７〜２１２に設定された印刷設定情報をプリンタ８５５へ送信する（Ｓ２５０２）とともに、ファイル選択部２０４で選択された印刷対象ファイルをプリンタ８５５へ送信する（Ｓ２５０３）。これによって、クライアントＰＣ８５１におけるドライバレス印刷処理が完了する（Ｓ２５０４）。
【０１３２】
ステップＳ２５０２においてプリンタ８５５へ送信された印刷設定情報は、クライアントＰＣ８５１の情報とともに、互いに関連付けられてプリンタ８５５内に保存される。この保存されたクライアントＰＣ８５１の情報と印刷設定情報は、次回、再びクライアントＰＣ８５１からこのプレゼンテーションページにアクセスされた時の初期設定値として利用される。これにより、次回アクセス時に、ユーザがよく使用するお気に入りの印刷設定が初期設定値としてプレゼンテーションページに最初に表示され、ユーザにとって操作性が向上する。
【０１３３】
図１５は、図１２または図１３のプレゼンテーションページを用いてドライバレス印刷が行われたときのプリンタ８５５で行われる状態検出処理の手順と、クライアントＰＣ８５１またはクライアントＰＣ８５７で実行されるプリンタ８５５の状態表示処理の手順とを示すフローチャートである。但し、以下の説明では、図１２に示すプレゼンテーションページを用いてクライアントＰＣ８５１で実行されるプリンタ８５５の状態表示処理の手順を例にとる。なお、プリンタ８５５の状態表示は、図１２に示すプレゼンテーションページおけるプリンタ名表示部２００、機種名表示部２０１、ＩＰアドレス表示部２０２、プリンタの状態表示部２０３、インク残量表示部２１４における状態表示を指す。
【０１３４】
図１５において、まず、プリンタ８５５における状態検出処理が起動する（Ｓ２６０１）と、プリンタ８５５は、プリンタ８５５の動作状況を表すステータスを確認し（Ｓ２６０２）、前回の確認結果と比較してステータスに変化が有る否かを判別する（Ｓ２６０３）。その結果、ステータスに変化が有るならば、最新のステータスを保存し（Ｓ２６０４）、プリンタ８５５に用意されているプレゼンテーションページのＡＳＰの情報を更新し（Ｓ２６０５）、所定時間（例えば５秒間）の待機した後（Ｓ２６０６）、ステップＳ２６０２へ戻る。一方、ステップＳ２６０３においてステータスに変化が無いと判別された場合、ステップＳ２６０６へ進む。
【０１３５】
次に、クライアントＰＣ８５１における図１２に示すプレゼンテーションページに関する処理として（Ｓ２６０７）、Java（登録商標）Scriptで記述されている所定時間（例えば５秒間）が経過した場合（Ｓ２６０８でＹＥＳ）、クライアントＰＣ８５１のＷｅｂブラウザ上における図１２のプレゼンテーションページの表示内容が更新され（Ｓ２６０９）、ステップＳ２６０８へ戻る。
【０１３６】
このようにして、簡単な構成のプレゼンテーションページを１つ用意するだけで、プリンタ８５５の状態を、クライアントＰＣ８５１またはクライアントＰＣ８５７の図１２または図１３のプレゼンテーションページにリアルタイムに反映することができる。これによって、プレゼンテーションページの開発工数を削減でき、しかも、ユーザにとって操作性が向上する。
【０１３７】
図１６は、Windows（登録商標） XPのネットクロールサービスによってクライアントＰＣ８５１にドライバがインストールされる際にクライアントＰＣ８５１で実行されるインストール処理の手順を示すフローチャートである。なお、このネットクロールサービスは、例えば、本実施形態の印刷ネットワークシステムにおける、図６に示す第３の構成部分のような環境に適用され得るので、ここでは、図６に示す第３の構成部分に基づいて説明する。
【０１３８】
図１６において、クライアントＰＣ８５１が起動すると（Ｓ２８０１）、ネットクロールサービスが開始され（Ｓ２８０２）、ネットワーク８５６上の共有プリンタを検索する（Ｓ２８０３）。その結果、共有プリンタ（プリンタ８５４）が見つかった場合（Ｓ２８０４でＹＥＳ）、クライアントＰＣ８５１は、代理サーバ８５３からその共有プリンタのプリンタ（表示）名、製造者名、機種名、プリンタのパスを取得する（Ｓ２８０５）。そして、Windows（登録商標） XPのプラグアンドプレイ機能により、このプリンタ（プリンタ８５４）用のドライバがクライアントＰＣ８５１にインストールされているか否かがチェックされる（Ｓ２８０６）。その結果、インストールされていない場合（Ｓ２８０７でＮＯ）、クライアントＰＣ８５１のＨＤＤまたはＣＤ−ＲＯＭ等の他の媒体にこのプリンタ（プリンタ８５４）用のドライバが有るか否かを検索する（Ｓ２８０８）。その結果、ドライバが見つかった場合（Ｓ２８０９でＹＥＳ）、クライアントＰＣ８５１にこのプリンタ（プリンタ８５４）用のドライバがインストールされる（Ｓ２８１０）。
【０１３９】
このようにネットクロールサービスによりクライアントＰＣ８５１にプリンタ８５４のドライバがインストール（追加）されると、図１７を参照して後述するように、クライアントＰＣ８５１のPrinters and Faxesフォルダにこのプリンタが追加される。
【０１４０】
そして、所定時間（例えば１分）の待機の後（Ｓ２８１１）、ステップＳ２８０３へ戻る。
【０１４１】
ステップＳ２８０４において共有プリンタが見つからなかったと判別された場合（Ｓ２８０４でＮＯ）、ステップＳ２８１１へ進む。また、ステップＳ２８０７において、このプリンタ（プリンタ８５４）用のドライバがクライアントＰＣ８５１にインストールされていると判別された場合（Ｓ２８０７でＹＥＳ）、ステップＳ２８１１へ進む。さらに、ステップＳ２８０９において、このプリンタ（プリンタ８５４）用のドライバがクライアントＰＣ８５１のＨＤＤまたはＣＤ−ＲＯＭ等の他の媒体に見つからないと判別された場合（Ｓ２８０９でＮＯ）、ステップＳ２８１１へ進む。
【０１４２】
かくして、ネットクロールサービスによりクライアントＰＣ８５１にプリンタ８５４用のドライバがインストールされた後は、代理サーバ８５３からの制御によってプリンタ８５４で印刷が行われる時と全く同じような操作により、クライアントＰＣ８５１からの制御によってプリンタ８５４で印刷が行われ得る。
【０１４３】
図１７は、クライアントＰＣ８５１の表示装置に表示されるPrinters and Faxesフォルダを示す図である。
【０１４４】
図１７に示すように、クライアントＰＣ８５１にドライバがインストールされているプリンタ（プリンタ８５４）は、そのプリンタを表すアイコンにてこのフォルダ内に表示される。同図に例示されるAuto ABC PrintMdl-M on PC＿ABEという名前のアイコンは、図１６に示すステップＳ２８１０でドライバがインストールされたプリンタ８５４を表す。図６を参照して前述したように、代理サーバ８５３のコンピュータ名はPC＿ABEであり、共有プリンタとして参照されるプリンタ８５４のプリンタ（表示）名はABC PrintMdl-Mであるので、ネットクロールサービスでクライアントＰＣ８５１にプリンタ８５４のドライバがインストールされる時は、このコンピュータ名とプリンタ（表示）名とから、Auto ABC PrintMdl-M on PC＿ABEというプリンタ（表示）名がＯＳにより自動的に付与される。
【０１４５】
図１８は、代理サーバ８５３におけるプリンタドライバの構成を示すブロック図である。
【０１４６】
同図において、５０は代理サーバ８５３にインストールされているプリンタドライバであり、３２〜３９の複数のモジュールから構成される。
【０１４７】
３０は印刷指令可能なアプリケーションであり、例えば、Windows（登録商標） XP OS に標準で同梱されているテキストエディタであるNotepad（Notepad.exe）等に相当する。
【０１４８】
３１はＧＤＩ（Graphics Device Interface）であり、Windows （登録商標）XP OSの一部である。
【０１４９】
３２はプリンタキューであり、Windows（登録商標） XP OSのスプーラ（Spooler；プリンタなど処理の遅いデバイスへ出力するデータを一時的に保存するプログラム）の一部であり、印刷ジョブをキューイングする。キューイングされた印刷ジョブは、図２６を参照して後述するようなプリンタキューフォルダに表示される。
【０１５０】
３３はプリントプロセッサであり、印刷レイアウトの変更や印刷画像の特殊処理を行う。
【０１５１】
３４はグラフィックスドライバであり、プリンタドライバ５０の画像処理のコアとして動作し、ＧＤＩ３１から送られて来る描画命令に基づき印刷用の画像処理を行い、印刷制御コマンドを作成する。
【０１５２】
３５はＵＩモジュールであり、プリンタドライバ５０のユーザインタフェースの提供及び制御を行う。
【０１５３】
３６はランゲージモニタであり、データの通信Ｉ／Ｆとしてデータの送受信を制御する。
【０１５４】
３７はポートモニタであり、ランゲージモニタ３６から送られて来るデータを適切なポートに対して送信したり、プリンタ８５４から送られて来るデータを、クラスドライバ３８を介して受信したりする。
【０１５５】
３８はクラスドライバであり、最もポートに近いローレベルのモジュールであり、ポートを制御する。図１８に示す例では、ＵＳＢ用のクラスドライバに相当し、代理サーバ８５３のＵＳＢポートを制御して、プリンタ８５４とのＵＳＢ通信を制御する。
【０１５６】
３９はステータスモニタであり、プリンタ８５４の状態をモニタして表示する。
【０１５７】
図１８では、プリンタドライバ５０を搭載した代理サーバ８５３を説明したが、同じWindows（登録商標） XP OSを搭載したクライアントＰＣ８５１においてプリンタドライバを利用した印刷処理においても、同様な構成となる。また、図１８では、代理サーバ８５３にプリンタ８５４がＵＳＢで接続されているローカル印刷の例を説明したが、例えば、クライアントＰＣ８５１から代理サーバ８５３を介して共有されているプリンタ８５４で印刷するようなネットワーク印刷においても、同様な構成となる。
【０１５８】
図１９は、図１８に示すＵＩモジュール３５の基本的な内部構成を示すブロック図である。
【０１５９】
同図において、４０はＵＩ制御部であり、印刷設定ダイアログ等のユーザインタフェースを制御する。４１はＵＩリソース部であり、ＵＩ制御部４０で使用する印刷設定ダイアログ用のアイコン、ビットマップ、文字列等のリソースを格納する。４２はＤＥＶＭＯＤＥ制御部であり、印刷時にＯＳ、アプリケーション３０、プリンタドライバ５０間で使用するＤＥＶＭＯＤＥ構造体の制御を行い、必要に応じてＵＩ制御部４０に反映させる。
【０１６０】
図２０は、図１８に示すステータスモニタ３９の基本的な内部構成を示すブロック図である。
【０１６１】
同図において、４５はＵＩ制御部であり、ステータスモニタダイアログ等のユーザインタフェースを制御する。４６はＵＩリソース部であり、ＵＩ制御部４５で使用するステータスモニタダイアログ用のアイコン、ビットマップ文字列等のリソースを格納する。４７はステータス制御部であり、プリンタ８５４からのステータスの取得を制御して、必要に応じてＵＩ制御部４５に反映させる。
【０１６２】
図２１は、クライアントＰＣ８５１のWindows（登録商標） XP OSに標準のアプリケーションとして組み込まれているテキストエディタNotepad（Notepad.exe）によってクライアントＰＣ８５１の表示装置に表示される画面の一例を示す図である。
【０１６３】
この画面において印刷を指示するには、Fileメニューから印刷メニュー（Print...）２１７を選択する。これにより、テキスト表示部２１８に表示されているテキストに対する印刷処理が開始される。
【０１６４】
図２２は、図２１に示す印刷メニュー２１７が選択されることによってクライアントＰＣ８５１の表示装置に表示されるPrintダイアログを示す図である。
【０１６５】
図中２１９はプリンタ選択部であり、印刷を実行させるプリンタを選択するために使用される。同図では、図１７を参照して前述したプリンタAuto Canon PrintMdl-M on PC＿ABEが選択されて反転表示されている状態を表している。
【０１６６】
２２０はPreferencesボタンであり、プリンタ選択部２１９で選択されているプリンタまたはこのプリンタ用ドライバの詳細設定を行うことができる。
【０１６７】
２２１は部数指定部であり、印刷部数を１〜１００部の範囲で指定できる。
【０１６８】
２２２はPrintボタンであり、このボタンがクリックされると、選択されている各設定で印刷が開始され、Printダイアログが閉じられる。
【０１６９】
２２３はCancelボタンであり、このボタンがクリックされると、印刷を開始せずにPrintダイアログが閉じられる。
【０１７０】
図２３は、図２２に示すPreferencesボタン２２０がクリックされてクライアントＰＣ８５１の表示装置に表示されるPreferencesダイアログのMainシートを表す図である。
【０１７１】
図２２に示すPrintダイアログにおいて、プリンタAuto ABC PrintMdl-M on PC＿ABEが選択されている状態の時、Preferencesボタン２２０がクリックされると、このPreferencesダイアログのMainシートが表示される。
【０１７２】
図２３において、２２４は用紙の種類選択部（Media Type:）であり、用紙の種類をPlain Paper、Photo Paper、OHP Sheetの中から選択することができる。
【０１７３】
２２５は印刷品位選択部（Print Quality:）であり、印刷品位をHigh、Standard、Draftの中から選択することができる。
【０１７４】
２２６は操作ガイド部であり、ユーザ操作の補助として、操作案内情報が表示される。
【０１７５】
２２７はＯＫボタンであり、このボタンがクリックされると、その時の印刷設定情報によって印刷設定を更新して保存した後、Preferencesダイアログが閉じられる。
【０１７６】
２２８はCancelボタンであり、このボタンがクリックされると、そのときの印刷設定情報による更新は実行せずにPreferencesダイアログが閉じられる。
【０１７７】
図２４は、PreferencesダイアログのPage Setupシートを示す図である。図２３に示すPreferencesダイアログのMainシートが表示されている時に、Page Setupタブが選択されると、このシートが表示される。
【０１７８】
図２４において、２２９は用紙サイズ選択部（Paper Size:）であり、用紙サイズをＡ４、Ａ５、Ｂ５、Letterの中から選択することができる。
【０１７９】
２３０は印刷の向き選択部（Orientation:）であり、印刷の向きをPortrait、Landscapeの中から選択することができる。
【０１８０】
２３１は印刷レイアウト選択部（Layout:）であり、印刷レイアウトを1 Page Layout Printing、2 Page Layout Printing、4 Page Layout Printingの中から選択することができる。
【０１８１】
２３２は部数指定部（Copies:）であり、印刷部数を１〜１００部の範囲で指定できる。
【０１８２】
２３３は操作ガイド部であり、ユーザ操作の補助として、操作案内情報が表示される。
【０１８３】
図２５は、クライアントＰＣ８５１の表示装置に表示されるステータスモニタダイアログを示す図である。印刷中にステータスモニタ３９が起動すると、このダイアログが表示される。
【０１８４】
同図において、２３４はプリンタの状態表示部であり、プリンタの状態が絵で表示される。
【０１８５】
２３５はメッセージ表示部であり、プリンタの状態を表すメッセージやユーザの操作方法に関するメッセージ等が表示される。
【０１８６】
２３６はインク残量表示部であり、プリンタに装着されているインクカートリッジのインク残量が表示される。
【０１８７】
２３７は印刷ジョブ情報表示部であり、印刷中の印刷ジョブのオーナー名（Owner:）、ドキュメント名（Document Name:）、ページ番号（Printing Pages:）が表示される。
【０１８８】
２３８は印刷中止（Cancel Printing）ボタンであり、印刷中の印刷ジョブの印刷を中止したいときに操作されるボタンである。
【０１８９】
図２６は、プリンタキューフォルダを表す図である。これはWindows（登録商標） XP OSにおいて標準で用意されているフォルダである。
【０１９０】
同図に示されるように、キューイングされた印刷ジョブは、このフォルダにその詳細情報が表示され、メニューからのユーザ操作により、印刷ジョブのキャンセル、一時停止、再印刷等を行うことができる。
【０１９１】
図２７および図２８は、図６に示す第３の構成部分において、クライアントＰＣ８５１内のアプリケーションにおいて印刷指令を行われ、これによってプリンタ８５４にて印刷が実行されるまでの印刷処理の基本的な手順を示すフローチャートである。
【０１９２】
図２１に示す印刷メニュー２１７が選択されて印刷が開始されると（Ｓ３３０１）、図２２のPrintダイアログが表示される（Ｓ３３０２）。そして、Printダイアログの中のPreferencesボタン２２０がクリックされた場合（Ｓ３３０３でＹＥＳ）、図２３のPreferencesダイアログが表示される（Ｓ３３１４）。Preferencesダイアログの中で必要な選択が行われ、ＯＫボタン２２７がクリックされると（Ｓ３３１５でＹＥＳ）、印刷設定情報による印刷設定の更新、保存が行われて、Preferencesダイアログが閉じ（Ｓ３３１６）、ステップＳ３３０４へ進む。
【０１９３】
ステップＳ３３１４によってPreferencesダイアログが表示されているとき、Cancelボタン２２８がクリックされると（Ｓ３３１５でＮＯ）、印刷設定情報の更新は行われず、Preferencesダイアログが閉じた後、ステップＳ３３０４へ進む。また、ステップＳ３３０３においてPrintダイアログの中のPreferencesボタン２２０がクリックされない場合（Ｓ３３０３でＮＯ）も、ステップＳ３３０４へ進む。
【０１９４】
ステップＳ３３０４では、アプリケーションがプリンタドライバの機能を問い合わせ、ＤＥＶＭＯＤＥ構造体等の印刷設定情報を作成する（Ｓ３３０４）。図２２のPrintボタン２２２がクリックされて印刷が開始されると（Ｓ３３０５）、アプリケーション３０から描画命令がＧＤＩ３１に送られ、上記印刷設定情報とこの描画命令とがＥＭＦ（Enhanced Metafile Format）ファイルとしてキューイングされ、印刷ジョブが作成される（Ｓ３３０６）。この印刷ジョブは、図２６のプリンタキューフォルダに表示される。
【０１９５】
そして、プリントプロセッサ３３にて上記印刷ジョブのＥＭＦファイルがリプレイされて印刷レイアウトの変更処理等が行われて、新たな描画命令が作成されてＧＤＩ３１に送られる（Ｓ３３０７）。このリプレイされて新たに作成された描画命令がＧＤＩ３１からグラフィックスドライバ３４に送られ、グラフィックスドライバ３４は、この描画命令を印刷画像用のメモリにラスタライズすることをＧＤＩ３１（ＯＳ）に依頼して、ＧＤＩ３１によりラスタライズが行われ、印刷画像が作成される（Ｓ３３０８）。グラフィックスドライバ３４はこのラスタライズされた印刷画像に基づき印刷制御コマンドを作成する（Ｓ３３０９）。
【０１９６】
次に、ステータスモニタ３９を起動し（Ｓ３３１０）、プリンタ８５４に上記印刷制御コマンドを送信し（Ｓ３３１１）、印刷制御コマンドの全てを送信した後、図２５のステータスモニタダイアログを閉じてステータスモニタ３９の動作を終了し（Ｓ３３１２）、印刷処理を終了する（Ｓ３３１３）。
【０１９７】
プリンタ８５４においては、ステップＳ３３１１でステータスモニタ３９から送信された印刷制御コマンドに基づき、印刷が行われる。
【０１９８】
ステップＳ３３１０においてステータスモニタ３９が起動すると、図２５のステータスモニタダイアログが表示される（Ｓ３３１７）。ステータスモニタ３９が起動している間は、プリンタ８５４のステータスの確認が行われ（Ｓ３３１８）、プリンタ８５４に状態変化が有る場合（Ｓ３３１９でＹＥＳ）、そのステータスを保存し（Ｓ３３２０）、図２５のステータスモニタダイアログの表示を更新し（Ｓ３３２１）、所定時間（例えば５秒間）の待機の後（Ｓ３３２２）、ステップＳ３３１８に戻る。
【０１９９】
ステップＳ３３１９において、プリンタ８５４に状態変化が無いと判別された場合（Ｓ３３１９でＮＯ）、ステップＳ３３２２へ進む。
【０２００】
ステータスモニタ３９が起動している間はこのような処理が繰り返され、プリンタ８５４の最新の状態が図２５のステータスモニタダイアログにリアルタイムに表示される。
【０２０１】
図２７および図２８では、クライアントＰＣ８５１から代理サーバ８５３を介して共有されているプリンタ８５４で印刷するようなネットワーク印刷の例を説明したが、例えば、代理サーバ８５３にプリンタ８５４がＵＳＢで接続されているローカル印刷においても、同様な処理内容となる。
【０２０２】
次に、図６に示す第３の構成部分において、Mac OSを搭載するクライアントＰＣ８５７がプリンタ８５４において印刷を行わせる場合について説明する。なお、Mac OSを搭載するクライアントＰＣ８５７上において、代理サーバ８５３を介して共有されているプリンタ８５４用のドライバがインストールされており、かつ、このプリンタ８５４が選択されているものとする。
【０２０３】
図２９は、図６に示す第３の構成部分において、クライアントＰＣ８５７のＩＥ５のFileメニューからPrint...を選択した時に表示されるPrintダイアログを示す図である。
【０２０４】
図３０は、図６に示す第３の構成部分において、クライアントＰＣ８５７のＩＥ５のFileメニューからPage Setup...を選択した時に表示されるPage Setupダイアログを示す図である。
【０２０５】
図３１は、図６に示す第３の構成部分において、図２９のPrintボタンがクリックされて印刷が開始された時の印刷中に表示されるステータスモニタダイアログを示す図である。
【０２０６】
図２９、図３０を、図２２、図２３、図２４と比較して分るとおり、図２２、図２３、図２４の２２１〜２３３の印刷設定やボタンに相当するものが、図２９、図３０にも存在するものの、その表示レイアウトや操作性が異なっている。また、図３１を、図２５、図２６と比較して分かるとおり、図２５、図２６の２３４〜２３７に相当するものが、図３１にも存在するが、その表示レイアウトや操作性は異なっている。これらの相異点は、クライアントＰＣ８５１がWindows（登録商標） XPOSを搭載しているのに対し、クライアントＰＣ８５７がMac ＯＳを搭載していることに起因するものである。このため、プリンタドライバのＵＩを設計・開発する上では、従来、両ＯＳ用のＵＩをそれぞれ別々に設計・開発しなければならない。このように、従来、２つのＯＳ用のプリンタドライバのＵＩを設計・開発するのに、少なくとも２倍の労力を費やさなければならなく、多大な開発工数を要していた。また、印刷時のユーザの操作性もＯＳ毎に異なってしまうため、ユーザが混乱するケースも非常に多かった。
【０２０７】
こうした従来の課題を解決するために、本発明では、図１に示すプリンタ８５５がサポートしているＵＰｎＰデバイスのXML Device Descriptionの記述内容に対して追加を行った。以下にこれを説明する。
【０２０８】
図３２および図３３は、本発明におけるプリンタ８５５がサポートしているＵＰｎＰデバイスのXML Device Descriptionの記述内容を示す図である。なお、図１１を参照して説明したＵＰｎＰデバイスのXML Device Descriptionの基本的な記述内容に対して、本発明では記述内容の追加が行われているので、この追加した部分を中心に説明する。
【０２０９】
図３２および図３３の左端の番号は行番号を表す。これらの図において、２〜３９行目はroot要素、７〜３８行目はdevice要素を表す。１〜１５行目の内容は図１１と同一なので、ここでは説明を省略する。
【０２１０】
１６〜３５行目はserviceList要素を表す。この中で、１７〜２５行目に記されている１つ目のサービスは、図１１の１７〜２５行目に記されているサービスと同一なので、ここでは説明を省略する。
【０２１１】
２６〜３４行目はservice要素を示し、このデバイス、すなわちプリンタ８５５がサポートしているＵＰｎＰの２つ目のサービスが記述される。
【０２１２】
２７行目はserviceType要素を示し、製造業者（ベンダー）が独自に定めたPrinter Extensional Service V1.0（PrintEx:1）のサービスをプリンタ８５５がサポートしていることが記述されている。このPrinter Extensional Service V1.0のサービス内容、及び、このサービスのService Descriptionについては、図３４、図３５を参照して後述する。
【０２１３】
２８行目はserviceId要素を示し、このサービスのＩＤが記述される。
【０２１４】
２９行目はＳＣＰＤＵＲＬ要素であり、ＳＣＰＤＵＲＬ（Service Control Protocol Definition URL）が記述される。
【０２１５】
３０〜３１行目はcontrolURL要素であり、デバイスがPrinter Extensional Service V1.0を制御するためのＵＲＬが記述される。
【０２１６】
３２〜３３行目はeventSubURL要素であり、このサービスのイベントのためのＵＲＬが記述される。
【０２１７】
３６〜３７行目はpresentationURL要素であり、デバイスを公開するためのプレゼンテーションページのＵＲＬが記述されている。これは図１１の２７〜２８行目と同一である。
【０２１８】
図３４および図３５は、本発明におけるプリンタ８５５がサポートしているＵＰｎＰデバイスのXML Service Descriptionの記述内容を表す図である。
【０２１９】
同図の左端の番号は行番号を表す。これらの図３４および図３５に示す内容は、図３２および図３３のPrinter Extensional Service V1.0のサービスのＳＣＰＤ（Service Control Protocol Definition）であり、このサービス及びこのサービスのService Descriptionの内容を表している。これらの内容の一部に関しては、UPnP Forumで標準化されているUniversal Plug and Play Device Architecture V 1.0の規格に記載されているので、ここでは本発明に関連する部分のみ説明し、それ以外の部分に関する説明は省略する。
【０２２０】
以下の説明においては、図１に示す印刷ネットワークシステムの第１の構成部分を例として用いる。
【０２２１】
これらの図３４および図３５において、２〜５５行目はＳＣＰＤ要素を表し、ここには、プリンタ８５５がUPnP Forumで標準化されているサービスに準拠していることが記述されている。
【０２２２】
７〜４３行目はactionList要素を表す。Printer Extensional Service V1.0のサービスは２つのアクションを備え、１つ目はCreatePrinterアクション、２つ目はDeletePrinterアクションである。
【０２２３】
８〜３２行目は上記１つ目のaction要素を示し、CreatePrinterアクションを表す。CreatePrinterアクションはデバイス、すなわち、プリンタ８５５のドライバをクライアントＰＣ８５１やクライアントＰＣ８５７等にインストールする時のアクションである。
【０２２４】
９行目はname要素を示し、このアクションの名前がCreatePrinterであることが記述されている。
【０２２５】
１０〜３１行目はargumentList要素を示す。CreatePrinterアクションは４つの変数を備え、１つ目はPrinterName変数、２つ目はPrinterPath変数、３つ目はPrintSettingURL変数、４つ目はStatusMonitorURL変数である。
【０２２６】
１１〜１５行目は上記１つ目のargument要素を示し、PrinterName変数が記述されている。
【０２２７】
１２行目はname要素であり、この変数の名前がPrinterNameであることが記述されている。
【０２２８】
１３行目はdirection要素であり、変数の入出力方向を表す。PrinterName変数は、コントロールポイント（クライアントＰＣ８５１やクライアントＰＣ８５７等）からデバイス（プリンタ８５５）へ入力する変数であることが記述されている。
【０２２９】
１４行目はrelatedStateVariable要素であり、この変数の値（文字列）が指定される。例えば、図１に示す印刷ネットワークシステムの第１の構成部分において、デバイスがプリンタ８５５の場合、クライアントＰＣ８５１からこの変数の値として、ドライバをインストールすべきプリンタのプリンタ名を表す“ABC PrintMdl-K 000888”という値（文字列）が指定される。
【０２３０】
１６〜２０行目は上記２つ目のargument要素を示し、PrinterPath変数が記述されている。
【０２３１】
１７行目はname要素を示し、この変数の名前がPrinterPathであることが記述されている。
【０２３２】
１８行目はdirection要素を示し、変数の入出力方向を表す。PrinterPath変数は、デバイス（プリンタ８５５）からコントロールポイント（クライアントＰＣ８５１やクライアントＰＣ８５７等）に対して出力される変数であることが記述されている。
【０２３３】
１９行目はrelatedStateVariable要素を示し、この変数の値（文字列）が指定される。例えば、図１に示す印刷ネットワークシステムの第１の構成部分において、デバイスがプリンタ８５５の場合、プリンタ８５５からこの変数の値として、プリンタ８５５のネットワークパスを表すＩＰアドレス“192.168.0.100”という値（文字列）が指定されて返される。
【０２３４】
２１〜２５行目は上記３つ目のargument要素を示し、PrinterSettingURL変数が記述されている。
【０２３５】
２２行目はname要素を示し、この変数の名前がPrinterSettingURLであることが記述されている。
【０２３６】
２３行目はdirection要素を示し、変数の入出力方向を表す。PrinterSettingURL変数は、デバイス（プリンタ８５５）からコントロールポイント（クライアントＰＣ８５１やクライアントＰＣ８５７等）に対して出力される変数であることが記述されている。
【０２３７】
２４行目はrelatedStateVariable要素を示し、この変数の値（文字列）が指定される。例えば、図１に示す印刷ネットワークシステムの第１の構成部分において、デバイスがプリンタ８５５の場合、プリンタ８５５からこの変数の値として、プリンタ８５５の印刷設定ＵＩのプレゼンテーションページのＵＲＬを表す“http://192.168.0.100/PrintUIPresentation.asp?uuid=Printer:PrintMdl-K000888”という値（文字列）が指定されて返される。
【０２３８】
２６〜３０行目は上記４つ目のargument要素を示し、StatusMonitorURL変数が記述されている。
【０２３９】
２７行目はname要素であり、この変数の名前がStatusMonitorURLであることが記述されている。
【０２４０】
２８行目はdirection要素を示し、変数の入出力方向を表す。PrinterSettingURL変数は、デバイス（プリンタ８５５）からコントロールポイント（クライアントＰＣ８５１やクライアントＰＣ８５７等）に対して出力される変数であることが記述されている。
【０２４１】
２９行目はrelatedStateVariable要素を示し、この変数の値（文字列）が指定される。例えば、図１に示す印刷ネットワークシステムの第１の構成部分において、デバイスがプリンタ８５５の場合、プリンタ８５５からこの変数の値として、プリンタ８５５のステータスモニタＵＩのプレゼンテーションページのＵＲＬを表す“http://192.168.0.100/StatusPresentation.asp?uuid=Printer:PrintMdl-K000888”という値（文字列）が指定されて返される。
【０２４２】
３３〜４２行目は上記２つ目のaction要素を示し、DeletePrinterアクションが記述されている。DeletePrinterアクションはクライアントＰＣ８５１やクライアントＰＣ８５７等からデバイス、すなわち、プリンタ８５５のドライバを削除（アンインストール）する時のアクションである。
【０２４３】
３４行目はname要素を示し、このアクションの名前がDeletePrinterであることが記述されている。
【０２４４】
３５〜４１行目はargumentList要素を示す。DeletePrinterアクションはPrinterPath変数を備える。
【０２４５】
３６〜４０行目はargument要素を示し、PrinterPath変数が記述されている。
【０２４６】
３７行目はname要素を示し、この変数の名前がPrinterPathであることが記述されている。
【０２４７】
３８行目はdirection要素を示し、変数の入出力方向が記述される。PrinterPath変数は、コントロールポイント（クライアントＰＣ８５１やクライアントＰＣ８５７等）からデバイス（プリンタ８５５）へ入力する変数であることが記述されている。
【０２４８】
３９行目はrelatedStateVariable要素を示し、この変数の値（文字列）が指定される。例えば、図１に示す印刷ネットワークシステムの第１の構成部分において、デバイスがプリンタ８５５の場合、クライアントＰＣ８５１からこの変数の値として、プリンタ８５５のネットワークパスを表すＩＰアドレス“192.168.0.100”という値（文字列）が指定される。
【０２４９】
４４〜５４行目はserviceStateTable要素を示す。
【０２５０】
４５〜５３行目はstateVariable要素を示し、デバイス（プリンタ８５５）の稼動状態を表すPrinterState状態値が記述される。４５行目を見ると、この状態値がイベントとしてデバイス（プリンタ８５５）からコントロールポイント（クライアントＰＣ８５１やクライアントＰＣ８５７等）へリアルタイムに送信されることが分かる。
【０２５１】
４６行目はname要素であり、このPrinterState状態値の名前がPrinterStateであることが記述されている。
【０２５２】
４７行目はdataType要素を示し、このPrinterState状態値のデータタイプがstring（文字列）であることが記述されている。
【０２５３】
４８行目はdefaultValue要素を示し、このPrinterState状態値の初期値がenableであることが記述されている。
【０２５４】
４９〜５２行目はallowedValueList要素を示し、状態値として指定可能な値が記述されている。
【０２５５】
５０行目は上記１つ目のallowedValue要素を示し、稼動可能を表す値としてenableが定義されている。
【０２５６】
５１行目は上記２つ目のallowedValue要素を示し、稼動不可能を表す値としてunableが定義されている。
【０２５７】
このように、クライアントＰＣ８５１やクライアントＰＣ８５７等（以下ではクライアントＰＣ８５１を例にとって説明する）において、ネットワーク８５６上にプリンタ８５５が発見された場合、Printer Extensional Service V1.0のサービスのCreatePrinterアクションを利用して、クライアントＰＣ８５１からト゛ライハ゛をインストールするプリンタのプリンタ名が指定され、プリンタ８５５からネットワークパス、印刷設定ＵＩのプレゼンテーションページのＵＲＬ、ステータスモニタＵＩのプレゼンテーションページのＵＲＬが返され、これらの情報を用いてプリンタのドライバのインストールが行われる。また、印刷時にもこれらの情報が利用される。クライアントＰＣ８５１からプリンタ８５５のドライバを削除（アンインストール）する場合は、DeletePrinterアクションを利用して削除を確実に行うことができる。
【０２５８】
プリンタ８５５のドライバのインストールや削除の際に、PrinterState状態値のイベントを利用し、プリンタ８５５が稼動不可能な場合はプリンタ８５５のドライバのインストールを行わないようにし、また、プリンタ８５５が稼動不可能な場合はプリンタ８５５のドライバを削除するようにすることも、ユーザにとって有効である。
【０２５９】
上記説明では、図１に示す印刷ネットワークシステムの第１の構成部分を例として用いたが、図５に示す第２の構成部分や図６に示す第３の構成部分においても、これを利用できる。この場合、代理サーバ８５３が、第１の構成部分におけるプリンタ８５５が行っていたＵＰｎＰの制御を行い、プリンタ８５２やプリンタ８５４を見かけ上ＵＰｎＰ対応プリンタとして制御できるようにすることで、容易に実現できる。また、図６に示す印刷ネットワークシステムの第３の構成部分のような、代理サーバ８５３と該代理サーバ８５３にＵＳＢでローカル接続されたプリンタ８５４とから成るローカル接続の環境においても、プリンタ８５４が、図１に示す第１の構成部分のプリンタ８５５と同様なＵＰｎＰ対応プリンタの機能を備えれば、これを利用できる。
【０２６０】
図３６は、図１に示す印刷ネットワークシステムの第１の構成部分におけるクライアントＰＣ８５１で実行されるＵＰｎＰ対応デバイス検出処理の手順を示すフローチャートである。このフローチャートにはプリンタ８５５側のＳＳＤＰレスポンス発行処理も含まれる。
【０２６１】
図３６において、Windows（登録商標） XPを搭載したクライアントＰＣ８５１が起動して（Ｓ４７０１）、ＵＰｎＰサービスが開始されると（Ｓ４７０２）、クライアントＰＣ８５１が、ＵＰｎＰルートデバイスを検索するＳＳＤＰリクエストを発行する（Ｓ４７０３）。
【０２６２】
このＳＳＤＰリクエストを受信したデバイス（プリンタ８５５）からのＳＳＤＰレスポンスが有った場合（Ｓ４７０４でＹＥＳ）、クライアントＰＣ８５１は、検出されたデバイス（プリンタ８５５）のアイコンをMy Network Placesフォルダ上に表示し（Ｓ４７０５）、図３７を参照して後述するプリンタのドライバのインストールを行う（Ｓ４７０６）。そして、所定時間（例えば１分）の待機の後（Ｓ４７０９）、ステップＳ４７０３へ戻る。
【０２６３】
ステップＳ４７０４においてデバイス（プリンタ８５５）からＳＳＤＰレスポンスが無いと判別された場合、クライアントＰＣ８５１は、My Network Placesフォルダ上に、レスポンスの無いデバイス（プリンタ８５５）のアイコンが表示されているか否かを判別する（Ｓ４７０７）。アイコンが表示されている場合、そのデバイス（プリンタ８５５）のアイコンの表示を削除し（Ｓ４７０８）、ステップＳ４７０９へ進む。ステップＳ４７０７においてレスポンスの無いデバイス（プリンタ８５５）のアイコンが表示されていない場合、ステップＳ４７０９へ進む。
【０２６４】
一方、プリンタ８５５が起動している状態の時（Ｓ４７１０）、ステップＳ４７０３で発行されたＳＳＤＰリクエストをプリンタ８５５が受信した場合（Ｓ４７１１）、そのＳＳＤＰリクエストが、自分がサポートしているリクエスト（ＵＰｎＰルートデバイスを検索するＳＳＤＰリクエスト）と一致するか否かを判別し（Ｓ４７１２）、一致するならばＳＳＤＰレスポンスをクライアントＰＣ８５１へ発行し（Ｓ４７１３）、ステップＳ４７１１のＳＳＤＰリクエストの受信待ち状態に戻る。ステップＳ４７１２においてリクエストが一致しないと判別されたならば、ステップＳ４７１１へ戻る。
【０２６５】
このように、ＵＰｎＰ対応デバイス（プリンタ８５５）が印刷ネットワークシステム内に存在する場合に、クライアントＰＣ８５１の表示装置に表示されるMy Network Placesフォルダ上に、図８に示すようなデバイス（プリンタ８５５）のアイコンABC PrintMdl-K 000888が表示され、そのデバイス（プリンタ８５５）をクライアントＰＣ８５１から制御することができるようになる。これにより、図１２に示すプレゼンテーションページを用いて、図１４に示す印刷処理の手順に従い、クライアントＰＣ８５１において選択されたファイルをドライバレスでプリンタ８５５にて印刷することができる。
【０２６６】
なお、図３６のステップＳ４７０６においてプリンタ８５５のドライバのインストールが行われると、クライアントＰＣ８５１のPrinters and Faxesフォルダに、図１７に示すようなプリンタ８５５を表すアイコンABC PrintMdl-K000888が追加されて表示され、クライアントＰＣ８５１において、任意の印刷指令可能なアプリケーション（例えば、図２１に示すNotepad等）での印刷指令に基づいてプリンタ８５５にて印刷することができるようになる。このアプリケーションからの印刷処理については、図４２〜図４４を参照して後述する。
【０２６７】
図３７は、図３６に示すステップＳ４７０６におけるプリンタのドライバのインストール処理の手順を示すフローチャートである。以下の説明においては、図１に示す印刷ネットワークシステムの第１の構成部分を例として用いる。
【０２６８】
図３７において、プリンタ８５５のドライバのインストールが開始されると（Ｓ４８０１）、ＵＰｎＰでやりとりされたデータの中で、図３２に示す１０、１３、１４行目の記述内容に基づき、プリンタ８５５の製造業者名、機種名、製造番号を取得する（Ｓ４８０２）。また、ＵＰｎＰでやりとりされたデータの中で、図３４に示す１９、２４、２９行目の記述内容に基づき、プリンタ８５５のネットワークパス、印刷設定ＵＩのプレゼンテーションページのＵＲＬ、ステータスモニタＵＩのプレゼンテーションページのＵＲＬを取得する（Ｓ４８０３）。
【０２６９】
次に、ＵＰｎＰでやりとりされたデータの中で、図３５に示す４５〜５３行目のPrinterState状態値に基づき、プリンタ８５５が稼動可能であるか否かを判別し（Ｓ４８０４）、稼動可能であるならば、Windows（登録商標） XP OSのプラグアンドプレイ機能により、プリンタ８５５用のドライバがクライアントＰＣ８５１にインストールされているか否かがチェックされ（Ｓ４８０５）、インストールされていない場合（Ｓ４８０６でＮＯ）、クライアントＰＣ８５１のＨＤＤ１２０２またはＣＤ−ＲＯＭ等の他の媒体を検索して、プリンタ８５５用のドライバが有るか否かを調べる（Ｓ４８０７）。その結果、ドライバが見つかった場合（Ｓ４８０８でＹＥＳ）、クライアントＰＣ８５１にプリンタ８５５用のドライバがインストールされる（Ｓ４８０９）。そして、ステップＳ４８０３で取得したプリンタ８５５のネットワークパス、印刷設定ＵＩのプレゼンテーションページのＵＲＬ、ステータスモニタＵＩのプレゼンテーションページのＵＲＬの情報を、インストールされたプリンタ８５５用のドライバと関連付けてクライアントＰＣ８５１に保存し（Ｓ４８１０）、プリンタのドライバのインストール処理を終了する（Ｓ４８１１）。
【０２７０】
ステップＳ４８０９においてプリンタ８５５用のドライバがインストールされる際には、ステップＳ４８０２で取得した製造業者名、機種名、製造番号に基づき、ドライバがインストールされるプリンタの名前としてABC PrintMdl-K000888が自動的に指定される。このように、製造者名、機種名、製造番号を利用して、表示されるプリンタ名を構成することで、例えば、同一ネットワーク上に製造番号だけが異なる同一機種のプリンタが複数存在するような場合においても、表示名からそれぞれのプリンタを特定でき、ユーザが意図していないプリンタに誤ってアクセスしてしまうような誤操作を防止することができる。
【０２７１】
このようにＵＰｎＰでやりとりされた情報をもとに、クライアントＰＣ８５１にプリンタ８５５のドライバがインストール（追加）されると、クライアントＰＣ８５１のPrinters and Faxesフォルダに、図１７に示すようなプリンタ８５５を表すアイコンABC PrintMdl-K000888が追加されて表示される。
【０２７２】
ステップＳ４８０４においてプリンタ８５５が稼動不可能であると判別された場合、ステップＳ４８１１に進む。
【０２７３】
ステップＳ４８０６においてプリンタ８５５用のドライバがクライアントＰＣ８５１にインストールされていると判別された場合、ステップＳ４８１０へ進む。
【０２７４】
ステップＳ４８０８において、クライアントＰＣ８５１のＨＤＤ１２０２またはＣＤ−ＲＯＭ等の他の媒体に、プリンタ８５５用のドライバが無いと判別された場合、ステップＳ４８１１へ進む。
【０２７５】
図３８は、本発明に係るＵＩモジュール３５の内部構成を示すブロック図である。
【０２７６】
図３８において、４３はＷｅｂブラウザ制御部であり、プリンタドライバ５０がインストールされているクライアントＰＣや代理サーバのＷｅｂブラウザを制御する。
【０２７７】
４４はＤＥＶＭＯＤＥ制御部であり、印刷時にＯＳ、アプリケーション３０、プリンタドライバ５０間で使用するＤＥＶＭＯＤＥ構造体の制御を行い、必要に応じて制御結果をＷｅｂブラウザ制御部４３と連携して、印刷設定ＵＩのプレゼンテーションページに反映させる。また、ＤＥＶＭＯＤＥ制御部４４はＷｅｂブラウザ制御部４３から取得した印刷設定ＵＩのプレゼンテーションページの設定内容を、ユーザ毎の固有の設定として、クライアントＰＣや代理サーバにそれぞれ保存する機能も備え、これにより、各ユーザ単位でお気に入りの印刷設定を初期値として、印刷設定ＵＩのプレゼンテーションページに反映させることができる。
【０２７８】
図３９は、本発明に係るステータスモニタ３９の内部構成を示すブロック図である。
【０２７９】
図３９において、４８はＷｅｂブラウザ制御部であり、プリンタドライバ５０がインストールされているクライアントＰＣや代理サーバのＷｅｂブラウザを制御する。
【０２８０】
４９はステータス制御部であり、プリンタ（プリンタ８５５、８５４、８５２等）からのステータスの取得を制御して、必要に応じて制御結果をＷｅｂブラウザ制御部４８と連携して、ステータスモニタＵＩのプレゼンテーションページに反映させる。
【０２８１】
ステータス制御部４９が制御を行うケースとしては、図５に示す印刷ネットワークシステムの第２の構成部分や図６に示す印刷ネットワークシステムの第３の構成部分において、代理サーバ８５３を介してプリンタ８５２やプリンタ８５４を見かけ上ＵＰｎＰ対応プリンタとして制御するケースがある。図１に示す印刷ネットワークシステムの第１の構成部分のように、プリンタ８５５がＵＰｎＰ対応プリンタである場合は、ステータス制御部４９は制御を行わない。
【０２８２】
図４０は、クライアントＰＣ８５１の表示装置に表示された、プリンタ８５５が公開している印刷設定ＵＩのプレゼンテーションページを示す図である。
【０２８３】
クライアントＰＣ８５１において、図２２に示すPrintダイアログのPreferencesボタン２２０がクリックされると、クライアントＰＣ８５１は、クライアントＰＣ８５１に保存されている印刷設定ＵＩのプレゼンテーションページのＵＲＬを取得して、このＵＲＬを引数としてＷｅｂブラウザ（ＩＥ６）を起動する。これによって、図４０に示すような印刷設定ＵＩのプレゼンテーションページがクライアントＰＣ８５１の表示装置に表示される。この印刷設定ＵＩのプレゼンテーションページはＡＳＰで構成されており、動的に作成されたＨＴＭＬデータによって表示が行われる。
【０２８４】
図４０において、２５１はアドレス表示部であり、この印刷設定ＵＩのプレゼンテーションページのＵＲＬが表示される。
【０２８５】
２３９はプリンタ名表示部（Printer:）であり、図１７で示すようにクライアントＰＣ８５１にプリンタ８５５のドライバがインストールされた時に、このプリンタ８５５のプリンタ名が自動的に表示される。
【０２８６】
２４０は機種名表示部（Model:）であり、プリンタ８５５の機種名が表示される。
【０２８７】
２４１はプリンタパス表示部（Path:）であり、プリンタ８５５のネットワークパスが表示される。
【０２８８】
２４２は部数指定部（Copies:）であり、印刷部数を１〜１００部の範囲で指定できる。
【０２８９】
２４３は用紙の種類選択部（Media Type:）であり、用紙の種類をPlain Paper、Photo Paper、OHP Sheetの中から選択することができる。
【０２９０】
２４４は用紙サイズ選択部（Paper Size:）であり、用紙サイズをＡ４、Ａ５、Ｂ５、Letterから選択することができる。
【０２９１】
２４５は印刷レイアウト選択部（Layout:）であり、印刷レイアウトを1-up、2-up、4-upの中から選択することができる。
【０２９２】
２４６は印刷品位選択部（Print Quality:）であり、印刷品位をHigh、Standard、Draftの中から選択することができる。
【０２９３】
２４７は印刷の向き選択部（Orientation:）であり、印刷の向きをPortrait、Landscapeの中から選択することができる。
【０２９４】
２４８はＯＫボタンであり、このボタンがクリックされると、その時の印刷設定情報によって印刷設定を更新して保存した後、Ｗｅｂブラウザを終了して印刷設定ＵＩのプレゼンテーションページを閉じる。
【０２９５】
２４９はＣａｎｃｅｌボタンであり、このボタンがクリックされると、そのときの印刷設定情報による更新は実行せずに、Ｗｅｂブラウザを終了して印刷設定ＵＩのプレゼンテーションページを閉じる。
【０２９６】
２５０は操作ガイド部であり、ユーザ操作の補助として、操作案内情報が表示される。図４１は、クライアントＰＣ８５１の表示装置に表示された、プリンタ８５５が公開しているステータスモニタＵＩのプレゼンテーションページを示す図である。
【０２９７】
印刷中にステータスモニタ３９が起動すると、クライアントＰＣ８５１は、クライアントＰＣ８５１に保存されているステータスモニタＵＩのプレゼンテーションページのＵＲＬを取得して、このＵＲＬを引数としてＷｅｂブラウザ（ＩＥ６）を起動する。これによって、図４１に示すようなステータスモニタＵＩのプレゼンテーションページが表示される。このステータスモニタＵＩのプレゼンテーションページはＡＳＰで構成されており、動的に作成されたＨＴＭＬデータに基づき表示が行われるので、プリンタ８５５の状態等をリアルタイムに反映させて表示することが可能である。また、Java（登録商標）Scriptを用いて、所定時間（例えば５秒）毎にページの内容が自動的に更新されるようになっているので、前記ＡＳＰの機能と合わせて、約５秒のインターバルでリアルタイムに表示内容が更新される。
【０２９８】
図４１において、２５２はアドレス表示部であり、このステータスモニタＵＩのプレゼンテーションページのＵＲＬが表示されている。
【０２９９】
２５３はプリンタの状態表示部であり、プリンタ８５５の状態が絵で表示される。
【０３００】
２５４はメッセージ表示部であり、プリンタ８５５の状態を表すメッセージやユーザの操作方法に関するメッセージ等が表示される。
【０３０１】
２５５はインク残量表示部であり、プリンタ８５５に装着されているインクカートリッジのインク残量が表示される。
【０３０２】
２５６は印刷ジョブ情報表示部であり、印刷中の印刷ジョブのオーナー名（Owner:）、ドキュメント名（Document Name:）、ページ番号（Printing Pages:）が表示される。
【０３０３】
２５７は印刷中止（Cancel Printing）ボタンであり、印刷中の印刷ジョブの印刷を中止したいときに操作される。
【０３０４】
図４２および図４３は、図１に示す印刷ネットワークシステムの第１の構成部分において、クライアントＰＣ８５１内のアプリケーションでの印刷指令に従ってプリンタ８５５にて印刷が実行されるまでの処理の手順を示すフローチャートである。
【０３０５】
図４２および図４３において、ステップＳ５１０１〜Ｓ５１１１における処理は、図２７および図２８のステップＳ３３０１〜Ｓ３３１１における処理と同一であるので、ここではその説明を省略する。
【０３０６】
ステップＳ５１０３においてPreferencesボタン２２０（図２２）がクリックされた場合（Ｓ５１０３でＹＥＳ）、クライアントＰＣ８５１が、クライアントＰＣ８５１に保存されている印刷設定ＵＩのプレゼンテーションページのＵＲＬを取得して（Ｓ５１１４）、このＵＲＬを引数としてＷｅｂブラウザ（ＩＥ６）を起動する（Ｓ５１１５）。これによって、図４０に示す印刷設定ＵＩのプレゼンテーションページが表示され（Ｓ５１１６）、そこでＯＫボタン２４８がクリックされると（Ｓ５１１７でＹＥＳ）、その時の印刷設定情報によって印刷設定を更新して保存し、この印刷設定情報をプリンタ８５５に送信する（Ｓ５１１８）。そして、Ｗｅｂブラウザ（ＩＥ６）を終了して印刷設定ＵＩのプレゼンテーションページを閉じた後（Ｓ５１１９）、ステップＳ５１０４へ進む。
【０３０７】
図４０に示す印刷設定ＵＩのプレゼンテーションページが表示されて、Cancelボタン２４９がクリックされると（Ｓ５１１７でＮＯ）、ステップＳ５１１９へ進む。
【０３０８】
ステップＳ５１１８においてプリンタ８５５へ送信された印刷設定情報は、クライアントＰＣ８５１の情報と関連付けられてプリンタ８５５内に保存される。この保存されたクライアントＰＣ８５１の情報と印刷設定情報は、次回、再びクライアントＰＣ８５１からこの印刷設定ＵＩのプレゼンテーションページにアクセスされた時の初期設定値として利用される。これにより、次回アクセス時に、ユーザがよく使用するお気に入りの印刷設定が初期設定値として印刷設定ＵＩのプレゼンテーションページに最初に表示され、ユーザにとって操作性が向上する。
【０３０９】
ステップＳ５１１０においてステータスモニタが起動すると、クライアントＰＣ８５１が、クライアントＰＣ８５１に保存されているステータスモニタＵＩのプレゼンテーションページのＵＲＬを取得して（Ｓ５１２０）、このＵＲＬを引数としてＷｅｂブラウザ（ＩＥ６）を起動する（Ｓ５１２１）。これによって、図４１に示すステータスモニタＵＩのプレゼンテーションページが表示される（Ｓ５１２２）。ステータスモニタが起動している間は、プリンタ８５５が自分のステータスを確認し（Ｓ５１２３）、プリンタ８５５に状態変化が有る場合（Ｓ５１２４でＹＥＳ）、そのステータスを保存し（Ｓ５１２５）、プリンタ８５５が公開しているステータスモニタＵＩのプレゼンテーションページの表示内容を更新する（Ｓ５１２６）。そして、所定時間（例えば５秒）の待機の後（Ｓ５１２７）、ステップＳ５１２３に戻る。
【０３１０】
ステップＳ５１２４において、プリンタ８５５に状態変化が無いと判別された場合、ステップＳ５１２７へ進む。
【０３１１】
ステータスモニタが起動している間はこのような処理が繰り返され、プリンタ８５５の最新の状態が、図４１に示すステータスモニタＵＩのプレゼンテーションページにリアルタイムに表示される。
【０３１２】
ステップＳ５１１１において、クライアントＰＣ８５１がプリンタ８５５に印刷制御コマンドを送信し、印刷制御コマンドの全てが送信された後、Ｗｅｂブラウザを終了してステータスモニタＵＩのプレゼンテーションページを閉じてステータスモニタを終了し（Ｓ５１１２）、印刷処理を終了する（Ｓ５１１３）。
【０３１３】
プリンタ８５５においては、ステップＳ５１１１で送信された印刷制御コマンドに基づき、印刷が行われる。
【０３１４】
図４２および図４３では、クライアントＰＣ８５１からの印刷指令によってネットワーク８５６上のプリンタ８５５にて印刷を行う例を示したが、例えば、図５に示す印刷ネットワークシステムの第２の構成部分や図６に示す第３の構成部分においても、代理サーバ８５３が、第１の構成部分のプリンタ８５５が行っていたＵＰｎＰの制御を行い、プリンタ８５２やプリンタ８５４を見かけ上ＵＰｎＰ対応プリンタとして制御できるようにすることで、同様な印刷処理が可能である。また、図６に示す第３の構成部分において、代理サーバ８５３と該代理サーバ８５３にＵＳＢでローカル接続されたプリンタ８５４とから成るローカル接続の環境においても、プリンタ８５４がプリンタ８５５と同様なＵＰｎＰ対応プリンタの機能を備えれば、同様な印刷処理が可能である。
【０３１５】
次に、図２２に示すPrintダイアログのプリンタ選択部２１９でプリンタが選択され、Preferencesボタン２２０がクリックされた際に、クライアントＰＣ８５１で実行される処理の他の実施形態を、図４４を参照して説明する。
【０３１６】
図４４は、図２２に示すPrintダイアログのプリンタ選択部２１９でプリンタが選択され、Preferencesボタン２２０がクリックされた際に、クライアントＰＣ８５１で実行される処理の他の実施形態を示すフローチャートである。
【０３１７】
クライアントＰＣは、ＵＰｎＰのディスカバリー及びＳＮＭＰの探索処理に対応している場合も考えられる。同図に示す処理は、ＵＰｎＰ対応のプリンタ、またはＳＮＭＰ対応のプリンタ等の複数のプリンタを１つの統合型のプリンタドライバで制御する場合に特に有効である。こうした場合に対処すべく、ネットワーク上にあるプリンタがＵＰｎＰに対応するのか、ＵＰｎＰには対応せず、ＳＮＭＰなどの旧来のネットワーク管理プロトコルにのみ対応するのかを示すプリンタ属性情報を、クライアントＰＣが、クライアントＰＣ内のハードディスクなどに予め保持しておくか、あるいは、図４２のステップＳ５１１４においてクライアントＰＣに保存されている印刷設定ＵＩのプレゼンテーションページのＵＲＬを取得できるか、できないかによって、このクライアントＰＣがＵＰｎＰ対応プリンタであるか、旧来のネットワーク管理プロトコルにのみ対応するプリンタであるかを判断するものとする。
【０３１８】
図４４に示す処理は、図２２に示すPrintダイアログのプリンタ選択部２１９でプリンタが選択され、Preferencesボタン２２０がクリックされたことを契機として起動する。
【０３１９】
クライアントＰＣ８５１は、クライアントＰＣ８５１のハードディスク内から、プリンタ選択部２１９で選択されたプリンタの属性情報を取得する（Ｓ５８０１）。前述したように図４２のステップＳ５１１４でクライアントＰＣのタイプを判断する場合は、このステップＳ５８０１の代わりとしてステップＳ５１１４を行う。
【０３２０】
次にクライアントＰＣ８５１は、この取得したプリンタ属性情報を参照するか、あるいは、前述したように図４２のステップＳ５１１４でクライアントＰＣのタイプを判断する場合は、クライアントＰＣに保存されている印刷設定ＵＩのプレゼンテーションページのＵＲＬを取得できるか、できないかによって、プリンタ選択部２１９で選択されたプリンタがＵＰｎＰ対応プリンタであるか否かを判別する（Ｓ５８０２）。その結果、プリンタ選択部２１９で選択されたプリンタがＵＰｎＰ対応プリンタであるならば、ステップＳ５８０４へ進み、一方、ＵＰｎＰ対応プリンタではないならば、ステップＳ５８０３へ進む。
【０３２１】
ステップＳ５８０３においては、図２７に示すステップＳ３３１４〜Ｓ３３１６の処理と同一の処理を行う。
【０３２２】
ステップＳ５８０４においては、４２に示すステップＳ５１１４〜Ｓ５１１９の処理と同一の処理を行う。
【０３２３】
ステップＳ５８０３、Ｓ５８０４の実行後、この処理は終わる。図４４に示す処理の終了後は、ステップＳ５８０４を通ってきて場合は図４２のステップＳ５１０４以降の処理に、ステップＳ５８０３を通ってきた場合は図２７のステップＳ３３０４以降の処理に進むようにしてもよい。
【０３２４】
この実施形態によれば、図２２に示すPreferencesボタン２２０のクリックに応答して、クライアントＰＣ８５１側でプリンタ８５５がＵＰｎＰ対応なのか、ＵＰｎＰ対応でないのかを判定するので、ユーザはプリンタ８５５がＵＰｎＰ対応プリンタであるのか、そうでないのかを意識する必要が無くなり、ユーザにとって操作性が向上する。また、開発効率の面では、ＯＳやプリンタのタイプを意識する必要がないので、ＵＰｎＰのプレゼンテーション情報を用いた設計の効率化が実現できる。
【０３２５】
図４５は、クライアントＰＣ８５７の表示装置に表示された、プリンタ８５５が公開している印刷設定ＵＩのプレゼンテーションページを示す図である。
【０３２６】
図４５に示す印刷設定ＵＩのプレゼンテーションページは、プリンタ８５５からＵＰｎＰにて取得してクライアントＰＣ８５７に保存されている印刷設定ＵＩのプレゼンテーションページのＵＲＬに基づき、クライアントＰＣ８５１とは異なるＯＳ及びＷｅｂブラウザ（ＭａｃＯＳ、ＩＥ５）を用いて、クライアントＰＣ８５７によって表示されるだけであるので、図４０に示す、クライアントＰＣ８５１の表示装置に表示された印刷設定ＵＩのプレゼンテーションページと見比べると分かるように、図４０の２３９〜２５１で示されるページ内の各構成要素にそれぞれ対応する図４５の各構成要素が、見かけ上若干異なるものの、実質的に同様なものとなっている。ここでは、図４５における各構成要素の説明は省略する。
【０３２７】
このように、プリンタ８５５に印刷設定ＵＩのプレゼンテーションページを１つ用意しておくだけで、異なるクライアントＰＣにおいて同様な印刷設定ＵＩを操作して印刷することができるので、印刷設定ＵＩの開発工数を削減でき、しかも、クライアントＰＣの違いによりユーザが違和感を抱くことなく印刷指令操作ができ、ユーザにとって操作性が向上する。
【０３２８】
図４６は、クライアントＰＣ８５７の表示装置に表示された、プリンタ８５５が公開しているステータスモニタＵＩのプレゼンテーションページを示す図である。
【０３２９】
図４６に示すステータスモニタＵＩのプレゼンテーションページは、プリンタ８５５からＵＰｎＰにて取得してクライアントＰＣ８５７に保存されているステータスモニタＵＩのプレゼンテーションページのＵＲＬに基づき、クライアントＰＣ８５１とは異なるＯＳ及びＷｅｂブラウザ（ＭａｃＯＳ、ＩＥ５）を用いて、クライアントＰＣ８５７によって表示されるだけであるので、図４１に示す、クライアントＰＣ８５１の表示装置に表示されたステータスモニタＵＩのプレゼンテーションページと見比べると分かるように、図４１の２５２〜２５７で示されるページ内の各構成要素にそれぞれ対応する図４６の各構成要素が、見かけ上若干異なるものの、実質的に同様なものとなっている。ここでは、図４５における各構成要素の説明は省略する。
【０３３０】
このように、プリンタ８５５にステータスモニタＵＩのプレゼンテーションページを１つ用意しておくだけで、異なるクライアントＰＣにおいて同様なステータスモニタＵＩを提供することができるので、ステータスモニタＵＩの開発工数を削減でき、しかも、クライアントＰＣの違ってもユーザが違和感を抱くことがなく、ユーザにとって操作性が向上する。
【０３３１】
図４７は、代理サーバ８５３において行われる自動設定調整処理の手順を示すフローチャートである。なお、図６におけるプリンタ８５４に自動両面印刷ユニット８５９が装着されているものとする。
【０３３２】
図５に示す代理サーバ８５３のＵＰｎＰデバイス制御部８１８が起動して動作すると、図４７に示す自動設定調整処理が開始され（Ｓ６１０１）、ＵＰｎＰデバイス制御部８１８は、ＵＳＢプロトコルスタック部８１９を制御してプリンタ８５４のオプションの装着状態を確認する（Ｓ６１０２）。前の装着状態と比較してオプションの装着状態に変化が有る場合（Ｓ６１０３でＹＥＳ）、オプションの装着状態を保存し（Ｓ６１０４）、このオプションの装着状態を反映させて印刷設定ＵＩのプレゼンテーションページ（図４０、図４５、後述の図５０）の表示内容のソースデータを更新する（Ｓ６１０５）。そして、所定時間（例えば５秒）の待機の後（Ｓ６１０６）、ステップＳ６１０２に戻る。
【０３３３】
ステップＳ６１０３において、オプションの装着状態に変化が無いと判断された場合、ステップＳ６１０６へ進む。
【０３３４】
このように、ＵＰｎＰデバイス制御部８１８が起動している間はこのような自動設定調整処理が繰り返され、プリンタ８５４に装着されているオプションの最新の状態が、印刷設定ＵＩのプレゼンテーションページの表示内容のソースデータに保存され、図４０、図４５、後述の図５０のような、各クライアントＰＣに表示される印刷設定ＵＩのプレゼンテーションページにリアルタイムに反映される。
【０３３５】
例えば、プリンタ８５４に装着されている自動両面印刷ユニット８５９は、ステップＳ６１０２でその装着状態が確認され、前の状態から装着状態が変化した場合は（Ｓ６１０３でＹＥＳ）、自動両面印刷ユニット８５９が装着されているという情報が保存され（Ｓ６１０４）、この情報が印刷設定ＵＩのプレゼンテーションページの表示内容のソースデータに反映され（Ｓ６１０５）、クライアントＰＣ上において、図５０を参照して後述するように、印刷設定ＵＩのプレゼンテーションページに自動両面印刷選択部（Auto Duplex）２５８として表示される。
【０３３６】
ここで、プリンタ８５４から自動両面印刷ユニット８５９が取り外されたものとすると、図４７に示す自動設定調整処理に従って、自動両面印刷ユニット８５９が装着されていないという情報が保存され（Ｓ６１０４）、この情報が印刷設定ＵＩのプレゼンテーションページの表示内容のソースデータに反映され（Ｓ６１０５）、クライアントＰＣ上において、図４０、図４５のような、自動両面印刷選択部２５８が無い印刷設定ＵＩのプレゼンテーションページが表示される。
【０３３７】
図４８および図４９は、図６に示す印刷ネットワークシステムの第３の構成部分において、クライアントＰＣ８５１内のアプリケーションでの印刷指令に従って代理サーバ８５３を介してプリンタ８５４にて印刷が実行されるまでの処理の手順を示すフローチャートである。
【０３３８】
図４８および図４９に示すステップＳ６２０１〜６２２７における処理は、図４２および図４３のステップＳ５１０１〜Ｓ５１２７における処理と同一であるので、ここではその説明を省略する。以下においては、図４８および図４９に示す処理に沿って実例を説明する。
【０３３９】
ここで、図６におけるプリンタ８５４に自動両面印刷ユニット８５９が装着されているものとする。
【０３４０】
この場合、図４７のステップ６１０５において、自動両面印刷ユニット８５９が装着されているという情報が印刷設定ＵＩのプレゼンテーションページの表示内容のソースデータに反映されているので、図４８のステップＳ６２１６において、後述の図５０に示す印刷設定ＵＩのプレゼンテーションページが表示される。そして、図５０に示すＯＫボタン２４８がクリックされると（Ｓ６２１７でＹＥＳ）、その時の印刷設定に応じて、ここでは自動両面印刷機能がオンである情報も含めて、印刷設定情報を更新して保存し、この印刷設定情報を代理サーバ８５３に送信する（Ｓ６２１８）。そして、Ｗｅｂブラウザ（ＩＥ６）を終了して印刷設定ＵＩのプレゼンテーションページを閉じた後（Ｓ６２１９）、ステップＳ６２０４へ進む。
【０３４１】
ステップＳ６２０４では、アプリケーションがプリンタドライバの機能を問い合わせ、ＤＥＶＭＯＤＥ構造体等の印刷設定情報を作成する。この時、このＤＥＶＭＯＤＥ構造体のメンバーの中に自動両面印刷機能がオンである情報も含まれる。ステップＳ６２２２において、後述の図５１に示すステータスモニタＵＩのプレゼンテーションページが表示され（Ｓ６２２２）、ステータスモニタが起動している間は、代理サーバ８５３がプリンタ８５４のステータスを確認し（Ｓ６２２３）、プリンタ８５４に状態変化が有る場合（Ｓ６２２４でＹＥＳ）、そのステータスを保存し（Ｓ６２２５）、代理サーバ８５３が公開しているステータスモニタＵＩのプレゼンテーションページの表示内容のソースデータを更新する（Ｓ６２２６）。そして、所定時間（例えば５秒）の待機の後（Ｓ６２２７）、ステップＳ６２２３に戻る。ステップＳ６２２４において、プリンタ８５４に状態変化が無いと判別された場合、ステップＳ６２２７へ進む。
【０３４２】
ステータスモニタが起動している間はこのような処理が繰り返され、クライアントＰＣ８５１において、プリンタ８５４の最新の状態が、後述の図５１に示すステータスモニタＵＩのプレゼンテーションページにリアルタイムに表示される。プリンタ８５４に自動両面印刷ユニット８５９が装着されているという情報は、ステップＳ６２２５でステータスの１つとして保存され、ステップＳ６２２６でステータスモニタＵＩのプレゼンテーションページの表示内容のソースデータに反映される。
【０３４３】
次に、図６におけるプリンタ８５４から自動両面印刷ユニット８５９が取り外されたものとする。
【０３４４】
この場合、図４７のステップ６１０５において、自動両面印刷ユニット８５９が装着されていないという情報が印刷設定ＵＩのプレゼンテーションページの表示内容のソースデータに反映されているので、図４８のステップＳ６２１６において、図４０に示す印刷設定ＵＩのプレゼンテーションページが表示される。そして、図４０に示すＯＫボタン２４８がクリックされると（Ｓ６２１７でＹＥＳ）、その時の印刷設定に応じて、ここでは自動両面印刷機能が無効（オフとして処理される）である情報も含めて、印刷設定情報を更新して保存し、この印刷設定情報を代理サーバ８５３に送信する（Ｓ６２１８）。そして、Ｗｅｂブラウザ（ＩＥ６）を終了して印刷設定ＵＩのプレゼンテーションページを閉じた後（Ｓ６２１９）、ステップＳ６２０４へ進む。
【０３４５】
ステップＳ６２０４では、アプリケーションがプリンタドライバの機能を問い合わせ、ＤＥＶＭＯＤＥ構造体等の印刷設定情報を作成する。この時、このＤＥＶＭＯＤＥ構造体のメンバーの中に自動両面印刷機能が無効（オフとして処理される）である情報も含まれる。プリンタ８５４に自動両面印刷ユニット８５９が装着されていないという情報はステップＳ６２２５でステータスの１つとして保存され、ステップＳ６２２６でステータスモニタＵＩのプレゼンテーションページの表示内容のソースデータに反映される。
【０３４６】
このように、プリンタ８５４における自動両面印刷ユニット８５９の装着状態が印刷設定ＵＩのプレゼンテーションページやステータスモニタＵＩのプレゼンテーションページにリアルタイムに反映されるので、その時のプリンタ８５４の状態に応じた最適な印刷方法を選択することができ、操作性に優れた印刷ネットワークシステムを実現することができる。また、各クライアントＰＣにおいて、プリンタに装着されているオプションの状態が的確に反映された印刷設定ＵＩのプレゼンテーションページ上にて操作するので、印刷ミスも未然に防ぐことができる。
【０３４７】
図５０は、プリンタ８５４に自動両面印刷ユニット８５９が装着された時に、クライアントＰＣ８５１の表示装置に表示された、代理サーバ８５３が公開している印刷設定ＵＩのプレゼンテーションページを示す図である。
【０３４８】
このプレゼンテーションページは、図４０に示すプリンタ８５５が公開している印刷設定ＵＩのプレゼンテーションページと基本的に同じであるので、同一部分には同一の参照符号を付してその説明を省略する。
【０３４９】
図５０において、２５８は自動両面印刷選択部（Auto Duplex）であり、プリンタ８５４に自動両面印刷ユニット８５９が装着されている時に表示され、自動両面印刷機能がオンとなっている状態を表す。
【０３５０】
２５９は自動両面印刷ユニット表示部であり、プリンタ８５４に自動両面印刷ユニット８５９が装着されている様子をビジュアル的に表示している。
【０３５１】
図５１は、プリンタ８５４に自動両面印刷ユニット８５９が装着された時に、クライアントＰＣ８５１の表示装置に表示された、代理サーバ８５３が公開しているステータスモニタＵＩのプレゼンテーションページを示す図である。
【０３５２】
このプレゼンテーションページは、図４１に示すプリンタ８５５が公開しているステータスモニタＵＩのプレゼンテーションページと基本的に同じであるので、同一部分には同一の参照符号を付してその説明を省略する。
【０３５３】
図５１において、２６０は自動両面印刷ユニット表示部であり、プリンタ８５４に自動両面印刷ユニット８５９が装着されている様子をビジュアル的に表示している。
【０３５４】
図５２は、図１に示す印刷ネットワークシステムの第１の構成部分におけるプリンタ８５５のＵＰｎＰデバイス制御部６０の構成を示すブロック図である。
【０３５５】
図５２において、６１はプリンタ８５５を制御するＯＳであり、前述のようにLinux OSが搭載されている。
【０３５６】
６３はコアモジュールであり、ＵＰｎＰ機能の制御を行う。また、コアモジュール６３にはＷｅｂサーバ機能の制御も含まれている。
【０３５７】
６２はＯＳ６１とのインタフェースを制御するインタフェース部であり、ＯＳに応じた処理を行う（プリンタ８５５の場合、Linux OSに依存したインタフェース処理を行う）。コアモジュール６３における処理は、ＯＳに依存しないＣ／Ｃ＋＋言語等の構造化言語で記述されている。
【０３５８】
図５２はプリンタ８５５のＵＰｎＰデバイス制御部６０の構成を示すが、図５に示す代理サーバ８５３のＵＰｎＰデバイス制御部８１８も同様な構成である。ただし、代理サーバ８５３では、ＯＳ６１がWindows （登録商標）XPであり、インタフェース部６２はWindows（登録商標） XPに依存したインタフェース処理を行う。
【０３５９】
このように、図１に示す第１の構成部分、図５に示す第２の構成部分、および図６に示す第３の構成部分から成る印刷ネットワークシステムにおいて、ＯＳに依存しないコアモジュール６３を１つ開発して、ＯＳに依存するインタフェース部６２だけをそれぞれのＯＳに応じて開発するようにする。例えば、プリンタ８５５の場合はインタフェース部６２をLinux OS用として、代理サーバ８５３の場合はWindows（登録商標） XP用として開発するだけでよいので、開発工数を大幅に削減でき、コストダウンが図れる。
【０３６０】
以下、図５３に示すメモリマップを参照して、本発明に係る情報処理装置及び周辺装置からなる印刷ネットワークシステムで読み出し可能なデータ処理プログラムの構成について説明する。
【０３６１】
図５３は、本発明に係る印刷ネットワークシステムで読み出し可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを示す図である。なお、特に図示しないが、記憶媒体に記憶されるプログラム群を管理する情報、例えばバージョン情報、作成者等もこの記憶媒体に記憶され、かつ、プログラム読み出し側のＯＳ等に依存する情報、例えばプログラムを識別表示するアイコン等も記憶される場合もある。
【０３６２】
図中６４は記憶媒体であり、ここではハードディスクで構成されているものとする。
【０３６３】
６５はディレクトリ情報管理部であり、各種プログラムに従属するデータがこのディレクトリ情報管理部６５で管理されている。
【０３６４】
６６はプログラム格納部であり、各種プログラムを情報処理装置にインストールするためのプログラムや、インストールするプログラムが圧縮されている場合に解凍するためのプログラム等も記憶される場合がある。
【０３６５】
本実施形態における図７、図１４、図１５、図１６、図２７、図２８、図３６、図３７、図４２、図４３、図４７、図４８、図４９にそれぞれ示す各フローチャートの実行によって実現できる各機能が、外部からインストールされるプログラムによって、情報処理装置によって実現されるようにしてもよい。そして、その場合、ＣＤ−ＲＯＭやフラッシュメモリやフレキシブルディスク等の記憶媒体により、あるいはネットワークを介して外部の記憶媒体から、プログラムを含む情報群が情報処理装置や周辺装置に供給される場合でも、本発明は適用されるものである。
【０３６６】
以上のように、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても達成される。
【０３６７】
この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体およびプログラムは本発明を構成することになる。
【０３６８】
また、プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＤＶＤ−ＲＷ、ＤＶＤ＋ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等を用いることができる。或いは、上記プログラムは、インターネット、商用ネットワーク、若しくはローカルエリアネットワーク等に接続される他のコンピュータやデータベース等からダウンロードすることにより供給される。
【０３６９】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【０３７０】
更に、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含まれる。
【０３７１】
以上、本発明の実施の形態について説明したが、これを纏めると、本発明の印刷ネットワークシステムは、情報処理装置（図１のクライアントＰＣ８５１等）と周辺装置（図１のプリンタ８５５）とから構成され、周辺装置は、周辺装置を制御するための設定情報（図４０の印刷設定ＵＩのプレゼンテーションページ）を情報処理装置に公開する機能を備え、情報処理装置は、周辺装置により公開される設定情報を利用して周辺装置を制御するようにする。
【０３７２】
これにより、ユーザがマニュアル操作で情報処理装置にドライバソフトウェア（プリンタドライバ）をインストールしたり、ネットワーク（ネットワーク８５６）上の周辺装置を制御できるようにしたりするための煩わしい情報収集や設定を行う必要が無く、また情報処理装置に搭載されるＯＳ毎にＵＩを設計・開発し直す必要も無く、さらに、ＯＳ毎にＵＩのデザインや操作性が異なることもない操作性に優れた周辺装置制御用ＵＩを備える印刷ネットワークシステムを提供することができる。さらに、周辺装置がプリンタである場合において、任意の印刷指令可能なアプリケーションから印刷指令することが可能な印刷ネットワークシステムを提供することができる。
【０３７３】
また、本発明の印刷ネットワークシステムは、情報処理装置（図１のクライアントＰＣ８５１等）と周辺装置（図１のプリンタ８５５）とから構成され、周辺装置は、周辺装置を制御するための複数の設定情報（図４０の印刷設定ＵＩのプレゼンテーションページや図１２のプレゼンテーションページ）を情報処理装置に複数の形態で公開する機能を備え、情報処理装置は、周辺装置により複数の形態で公開される複数の設定情報を利用して、周辺装置を制御するようにする。
【０３７４】
これにより、任意の印刷指令可能なアプリケーションから印刷指令できる機能とドライバレス印刷ができる機能との両者を備えた印刷ネットワークシステムを提供することができる。
【０３７５】
また、本発明の印刷ネットワークシステムは、情報処理装置（図１のクライアントＰＣ８５１等）と周辺装置（図１のプリンタ８５５）とから構成され、周辺装置は、周辺装置を制御するための設定情報（図４０の印刷設定ＵＩのプレゼンテーションページ）と周辺装置の状態を表す状態情報（図４１のステータスモニタＵＩのプレゼンテーションページ）とを情報処理装置に公開する機能を備え、情報処理装置は、周辺装置により公開される設定情報または状態情報を利用して、周辺装置を制御するようにする。
【０３７６】
これにより、周辺装置の最新の状態を状態情報にリアルタイムに反映して情報処理装置上に表示することができる、操作性に優れた印刷ネットワークシステムを提供することができる。
【０３７７】
また、本発明の印刷ネットワークシステムは、第１の情報処理装置（図５または図６のクライアントＰＣ８５１）と、周辺装置（図５のプリンタ８５２や図６のプリンタ８５４）と、周辺装置を制御する第２の情報処理装置（図５または図６の代理サーバ８５３）とから構成され、第２の情報処理装置は、周辺装置を制御するための設定情報（図４０の印刷設定ＵＩのプレゼンテーションページ）を第１の情報処理装置に公開する機能を備え、第１の情報処理装置は第２の情報処理装置により公開される設定情報を利用して、周辺装置を制御するようにする。
【０３７８】
これにより、ＵＰｎＰの機能を備えていない一般の周辺装置においても、ユーザがマニュアル操作で第１の情報処理装置にドライバソフトウェア（プリンタドライバ）をインストールしたり、ネットワーク（ネットワーク８５６）上の周辺装置やローカル接続された周辺装置を制御できるようにしたりするための煩わしい情報収集や設定を行う必要が無く、また、情報処理装置に搭載されるＯＳ毎にＵＩを設計・開発し直す必要も無く、さらに、ＯＳ毎にＵＩのデザインや操作性が異なることもない操作性に優れた周辺装置制御用ＵＩを備える印刷ネットワークシステムを提供することができる。さらに、周辺装置がプリンタである場合において、任意の印刷指令可能なアプリケーションから印刷指令することが可能な印刷ネットワークシステムを提供することができる。
【０３７９】
なお、本実施の形態においては、第１の情報処理装置（クライアントＰＣ８５１等）が周辺装置（プリンタ８５５、８５２、８５４）を制御するための設定情報（図１２のプレゼンテーションページ、図４０の印刷設定ＵＩのプレゼンテーションページ）や、周辺装置の状態を表す状態情報（図４１のステータスモニタＵＩのプレゼンテーションページ）を、周辺装置（プリンタ８５５）または第２の情報処理装置（代理サーバ８５３）の内部に用意して、第１の情報処理装置による設定情報または状態情報の獲得を、設定情報または状態情報の存在位置を示すＵＲＬを第１の情報処理装置が指定することで実現しているが、これに代わって、設定情報や状態情報を図１のＷｅｂサーバ８５８の内部に用意して、このＷｅｂサーバ８５８上にある設定情報または状態情報の存在位置を示すＵＲＬを第１の情報処理装置が指定することで実現するようにしてもよい。
【０３８０】
このように構成することで、設定情報や状態情報のＵＩのデザイン変更等が必要になった場合に、Ｗｅｂサーバ８５８の内部に用意してある設定情報や状態情報を差し替えるだけでよいので、メンテナンスが容易である。
【０３８１】
また、第１の情報処理装置（クライアントＰＣ８５１等）が周辺装置（プリンタ８５５、８５２、８５４）を制御するために設定された設定情報（図４０の印刷設定ＵＩのプレゼンテーションページ）を、周辺装置（プリンタ８５５）や第２の情報処理装置（代理サーバ８５３）内で指定されたＵＲＬに対応する設定情報格納場所に、第１の情報処理装置の情報と関連付けて保存し、第１の情報処理装置が設定情報を利用する時、この設定情報格納場所に保存されている設定情報を初期値として利用するようにする。
【０３８２】
これにより、ユーザがよく使用するお気に入りの設定情報が初期設定値として最初に第１の情報処理装置上に表示されるので、ユーザによる操作性を向上することができる。
【０３８３】
また、情報処理装置（クライアントＰＣ８５１等）上で動作する周辺装置（プリンタ８５５）を制御するためのソフトウェア（プリンタドライバ）を利用して周辺装置を制御する第１の制御方法（プリンタドライバを利用した任意の印刷指令可能なアプリケーションからの印刷）と、前記ソフトウェアを利用しないで周辺装置を制御する第２の制御方法（ドライバレス印刷）とを備え、周辺装置は、第１の制御方法で利用する第１の設定情報（図４０の印刷設定ＵＩのプレゼンテーションページ）を第１の形態（図３４に示す記述内容の２４行目）で公開するとともに、第２の制御方法で利用する第２の設定情報（図１２のプレゼンテーションページ）を第２の形態（図３３に示す記述内容の３６〜３７行目）で公開し、情報処理装置は、第１の設定情報または第２の設定情報を利用して、周辺装置を制御するようにする。
【０３８４】
これにより、任意の印刷指令可能なアプリケーションから印刷指令する機能とドライバレス印刷の機能との両者を備えた印刷ネットワークシステムを提供することができる。
【０３８５】
また、第１のアドレス（図３４に示す記述内容の２４行目）で指定される場所に第１の設定情報（図４０の印刷設定ＵＩのプレゼンテーションページ）を格納するとともに、第２のアドレス（図３３に示す記述内容の３６〜３７行目）で指定される場所に第２の設定情報（図１２のプレゼンテーションページ）を格納し、情報処理装置（クライアントＰＣ８５１等）にソフトウェア（プリンタドライバ）を組み込む時、周辺装置（プリンタ８５５）の位置情報（図３４に示す記述内容の１９行目）、前記第１のアドレス、前記第２のアドレスを情報処理装置に保存し、情報処理装置は、前記位置情報、前記第１のアドレス、前記第２のアドレスを利用して、周辺装置を制御するようにする。
【０３８６】
これにより、ユーザがマニュアル操作で情報処理装置に前記ソフトウェアをインストールしたり、ネットワーク（ネットワーク８５６）上の周辺装置を制御できるようにしたりするための煩わしい情報収集や設定を行う必要が無く、また、情報処理装置に搭載されるＯＳ毎にＵＩを設計・開発し直す必要も無く、さらに、ＯＳ毎にＵＩのデザインや操作性が異なることもない操作性に優れた周辺装置制御用ＵＩを備える印刷ネットワークシステムを提供することができる。さらに、周辺装置がプリンタである場合において、任意の印刷指令可能なアプリケーションから印刷指令することが可能な印刷ネットワークシステムを提供することができる。
【０３８７】
また、情報処理装置（クライアントＰＣ８５１等）は、Ｗｅｂブラウザ（ＩＥ６等）を備え、周辺装置（プリンタ８５５）を、Ｗｅｂブラウザを介して制御するようにする。これにより、任意の情報処理装置において周辺装置を制御することが、容易に実現される。
【０３８８】
また、状態情報（図４１のステータスモニタＵＩのプレゼンテーションページ）を情報処理装置（クライアントＰＣ８５１等）に公開する機能は、状態情報を自動的に更新する（Java（登録商標）Scriptを用いて、所定時間毎にページの内容を自動的に更新する）機能を含むようにする。
【０３８９】
これにより、周辺装置（プリンタ８５５）の最新の状態を状態情報にリアルタイムに反映して情報処理装置上に表示することができる、操作性に優れた印刷ネットワークシステムを提供することが可能となる。
【０３９０】
また、情報処理装置（クライアントＰＣ８５１）は、周辺装置（プリンタ８５５）の製造者名、機種名、製造番号等を利用して、周辺装置を表示（図１７に示すABC PrintMdl-K000888）する機能を備えるようにする。
【０３９１】
これにより、同一ネットワーク（ネットワーク８５６）上に、製造番号だけが異なる同一機種の周辺装置が複数存在するような場合においても、情報処理装置上に表示される周辺装置の表示名から周辺装置を特定でき、ユーザが意図していない周辺装置に誤ってアクセスしてしまうような誤操作を防止することができる。
【０３９２】
なお、本実施の形態においては、こうした機能を、ＵＰｎＰを利用して実現しているが、これに限られることなく、同様な機能を備えるプロトコル等を利用して、実現することができる。また、実現するにあたっては、標準化された規格を利用することで、より汎用的なシステムを容易に実現することができる。
【０３９３】
また、周辺装置（プリンタ８５５）に該周辺装置を制御するためのオペレーションシステム（Linux OS）を設け、周辺装置における処理を、このオペレーションシステムとのインタフェース処理部（インタフェース部６２）と、オペレーションシステムとは独立した処理部（コアモジュール６３）とに分けて行わせるようにする。
【０３９４】
これにより、開発工数を大幅に削減でき、コストダウンすることができる。
【０３９５】
なお、本実施形態では、周辺装置としてプリンタを例示しているが、周辺装置として他に、複写機、ファクシミリ、スキャナ、デジタルカメラ、およびこれらの複合機能を備える装置などのいずれかが、本発明の適用対象となり得る。
【０３９６】
また、上記の実施形態においては、周辺装置の検索時においてＳＳＤＰで策定されたプロトコルを採用しているが、同様なシステムを実現可能な任意のプロトコルを採用して、実施するようにしてもよい。
【０３９７】
また、上記の実施形態では、ＨＴＴＰエンティティの表記方法はＳＯＡＰを使用しているが、独自スキーマによる記述によっても実現してもよい。
【０３９８】
また、本実施形態においては、ＯＳに例としてWindows（登録商標） XP、Mac OS、Linux OSを使用したが、これらのＯＳに限られることなく、任意のＯＳを使用することができる。
【０３９９】
また、本実施形態においては、ネットワーク８５６の構成例としてEthernet（登録商標）を用いたが、この例に限られることなく、他の任意のネットワーク構成であってもよい。
【０４００】
また、本実施形態においては、代理サーバ８５３とプリンタ８５４との間のインタフェースとして、ＵＳＢインタフェースを用いたが、このインタフェースに限られることなく、他の任意のインタフェースを用いるようしてもよい。
【符号の説明】
【０４０１】
１・・・ドライバ自動インストールアプリケーション部
２・・・ＴＣＰ／ＵＤＰ／ＩＰプロトコルスタック部
３・・・ＨＴＴＰ部
４・・・ＳＯＡＰリクエスト発行処理部
５・・・ＳＯＡＰレスポンス解析処理部
６・・・ＧＵＩモジュール部
７・・・コンフィギュレータモジュール部
８・・・メモリコントローラ部
９・・・ＴＣＰ／ＵＤＰ／ＩＰプロトコルスタック部
１０・・・ＨＴＴＰ部
１１・・・ＳＯＡＰリクエスト解析処理部
１２・・・ＳＯＡＰレスポンス発行処理部
１３・・・プリントプロトコルモジュール部
１４・・・プリントコントローラ部
１５・・・メモリコントローラ部
３０・・・アプリケーション
１００・・・ドライバ自動ダウンロード・設定モジュール部
２５８・・・自動両面印刷選択部
２５９・・・自動両面印刷ユニット表示部
２６０・・・自動両面印刷ユニット表示部
８０９・・・ＴＣＰ／ＵＤＰ／ＩＰプロトコルスタック部
８１０・・・ＳＮＭＰ処理
８１１・・・プリントプロトコルモジュール部
８１２・・・プリントコントローラ部
８１３・・・ＴＣＰ／ＵＤＰ／ＩＰプロトコルスタック部
８１４・・・ＨＴＴＰ部
８１５・・・ＳＯＡＰレスポンス発行処理部
８１６・・・ＳＯＡＰリクエスト解析処理部
８１７・・・ＳＮＭＰ処理部
８１８・・・ＵＰｎＰデバイス制御部
８１９・・・ＵＳＢプロトコルスタック部
８２０・・・ＵＳＢプロトコルスタック部
８２１・・・プリントプロトコルモジュール部
８２２・・・プリントコントローラ部
８２３・・・ＳＮＭＰ処理部
８５１・・・クライアントＰＣ
８５２・・・プリンタ
８５３・・・代理サーバ
８５４・・・プリンタ
８５５・・・プリンタ
８５６・・・ネットワーク
８５７・・・クライアントＰＣ
８５８・・・Ｗｅｂサーバ
８５９・・・自動両面印刷ユニット
【図１】
2011100472.tif 000003
【図２】
2011100472.tif 000004
【図３】
2011100472.tif 000005
【図４】
2011100472.tif 000006
【図５】
2011100472.tif 000007
【図６】
2011100472.tif 000008
【図７】
2011100472.tif 000009
【図８】
2011100472.tif 000010
【図９】
2011100472.tif 000011
【図１０】
2011100472.tif 000012
【図１１】
2011100472.tif 000013
【図１２】
2011100472.tif 000014
【図１３】
2011100472.tif 000015
【図１４】
2011100472.tif 000016
【図１５】
2011100472.tif 000017
【図１６】
2011100472.tif 000018
【図１７】
2011100472.tif 000019
【図１８】
2011100472.tif 000020
【図１９】
2011100472.tif 000021
【図２０】
2011100472.tif 000022
【図２１】
2011100472.tif 000023
【図２２】
2011100472.tif 000024
【図２３】
2011100472.tif 000025
【図２４】
2011100472.tif 000026
【図２５】
2011100472.tif 000027
【図２６】
2011100472.tif 000028
【図２７】
2011100472.tif 000029
【図２８】
2011100472.tif 000030
【図２９】
2011100472.tif 000031
【図３０】
2011100472.tif 000032
【図３１】
2011100472.tif 000033
【図３２】
2011100472.tif 000034
【図３３】
2011100472.tif 000035
【図３４】
2011100472.tif 000036
【図３５】
2011100472.tif 000037
【図３６】
2011100472.tif 000038
【図３７】
2011100472.tif 000039
【図３８】
2011100472.tif 000040
【図３９】
2011100472.tif 000041
【図４０】
2011100472.tif 000042
【図４１】
2011100472.tif 000043
【図４２】
2011100472.tif 000044
【図４３】
2011100472.tif 000045
【図４４】
2011100472.tif 000046
【図４５】
2011100472.tif 000047
【図４６】
2011100472.tif 000048
【図４７】
2011100472.tif 000049
【図４８】
2011100472.tif 000050
【図４９】
2011100472.tif 000051
【図５０】
2011100472.tif 000052
【図５１】
2011100472.tif 000053
【図５２】
2011100472.tif 000054
【図５３】
2011100472.tif 000055