(57)【特許請求の範囲】
【請求項１】
複数の印刷装置とネットワークを介して接続され、複数のプリンタドライバを有し、前記複数の印刷装置の中から特定の印刷装置を選択して該印刷装置に印刷データを送信する情報処理装置において、
第１のプリンタドライバのユーザインタフェースを介して、印刷ジョブの印刷設定を設定する設定手段と、
前記第１のプリンタドライバのユーザインタフェースを介して、即時印刷モード及び出力先検索印刷モードを有する印刷モードから、いずれの印刷モードにするかを設定する印刷モード設定手段と、
アプリケーションからの描画命令に基づいてオペレーティングシステムの描画エンジンにより生成される描画関数を受け取り、該描画関数に基づいて、印刷先が変更可能な形式の中間データを生成する中間データ生成手段と、
前記中間データ生成手段による中間データの生成処理に応じて、前記中間データ生成手段により生成される中間データの印刷ジョブを印刷するための、前記設定手段により設定された印刷条件を取得する印刷条件取得手段と、
前記印刷条件取得手段により取得される印刷条件を印刷装置検索条件として検索サーバに送信する検索条件送信手段と、
前記印刷装置検索条件に応じて前記検索サーバから取得される検索結果に基づいて、印刷条件に該当する印刷装置を示すアイコンと、各印刷装置名、状態及び物理的位置とをあわせてリスト表示し、中間データを示すアイコンをドロップ操作することで、前記中間データを出力すべき印刷装置を選択する選択手段と、
前記選択手段により選択された印刷装置に対応する第２のプリンタドライバを選択し、該選択された第２のプリンタドライバに対して描画関数が渡されるように、前記中間データをオペレーティングシステムの描画エンジンに出力する中間データ出力手段とを備え、
前記印刷モード設定手段により即時印刷モードが設定されている場合は、前記検索サーバにおける検索を行わずに印刷データの生成を行い、前記第１プリンタドライバで指定される出力先のポートを介して該印刷データを送信し、一方、前記印刷モード設定手段により出力先検索モードが設定されている場合は、前記検索サーバを用いた検索処理を行うことを特徴とする情報処理装置。
【請求項２】
前記印刷条件取得手段は、更に中間データから得られるカラー／モノクロ条件を印刷条件として取得することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
複数の印刷装置とネットワークを介して接続され、複数のプリンタドライバを有し、前記複数の印刷装置の中から特定の印刷装置を選択して該印刷装置に印刷データを送信する情報処理装置の情報処理方法において、
第１のプリンタドライバのユーザインタフェースを介して、印刷ジョブの印刷設定を設定する設定ステップと、
前記第１のプリンタドライバのユーザインタフェースを介して、即時印刷モード及び出力先検索印刷モードを有する印刷モードから、いずれの印刷モードにするかを設定する印刷モード設定ステップと、
アプリケーションからの描画命令に基づいてオペレーティングシステムの描画エンジンにより生成される描画関数を受け取り、該描画関数に基づいて、印刷先が変更可能な形式の中間データを生成する中間データ生成ステップと、
前記中間データ生成ステップによる中間データの生成処理に応じて、前記中間データ生成ステップにより生成される中間データの印刷ジョブを印刷するための、前記設定ステップにより設定された印刷条件を取得する印刷条件取得ステップと、
前記印刷条件取得ステップにより取得される印刷条件を印刷装置検索条件として検索サーバに送信する検索条件送信ステップと、
前記印刷装置検索条件に応じて前記検索サーバから取得される検索結果に基づいて、印刷条件に該当する印刷装置を示すアイコンと、各印刷装置名、状態及び物理的位置とをあわせてリスト表示し、中間データを示すアイコンをドロップ操作することで、前記中間データを出力すべき印刷装置を選択する選択ステップと、
前記選択ステップにより選択された印刷装置に対応する第２のプリンタドライバを選択し、該選択された第２のプリンタドライバに対して描画関数が渡されるように、前記中間データをオペレーティングシステムの描画エンジンに出力する中間データ出力ステップとを備え、
前記印刷モード設定ステップにより即時印刷モードが設定されている場合は、前記検索サーバにおける検索を行わずに印刷データの生成を行い、前記第１プリンタドライバで指定される出力先のポートを介して該印刷データを送信し、一方、前記印刷モード設定ステップにより出力先検索モードが設定されている場合は、前記検索サーバを用いた検索処理を行うことを特徴とする情報処理方法。
【請求項４】
前記印刷条件取得ステップは、更に中間データから得られるカラー／モノクロ条件を印刷条件として取得することを特徴とする請求項３に記載の情報処理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は情報処理装置と情報処理方法、及び情報処理システム、並びに記録媒体に関し、より詳しくは、ネットワークに接続されている複数の印刷装置（プリンタ）から所望の印刷条件でもって印刷可能な印刷装置を検索し、該印刷装置に印刷データを送信する情報処理装置と、その情報処理方法、及び前記情報処理装置や印刷装置を含む複数のデバイスがネットワークを介して接続された情報処理システム、並びに所定の印刷条件を有するプリンタを検索して印刷先のプリンタを選定するための印刷処理手順を記録したコンピュータ読取可能な記録媒体に関する。
【０００２】
【従来の技術】
ＬＡＮ（Local Area Network）等のネットワークに接続された各種の資源（プリンタ、サーバ、スキャナなど）（以下、これら資源を総称して「ネットワークデバイス」という）を効率的に発見し、利用するための方法として、ディレクトリ・サービスと呼称されるサービスが提供されている。
【０００３】
ディレクトリ・サービスは、ネットワークに関する電話帳としての機能を有するサービスであって、その規格としては、例えば、ＬＤＡＰ (Lightweight Directory Access Protocol)が知られており、ＬＤＡＰの規定に関しては、インターネットの研究開発機関であるＩＥＴＦ（Internet Engineering Task Force）から発行されているＲＦＣ（Request For Comments）１７７７に記載されている。また、ＬＤＡＰの解説書としては、例えば株式会社プレンティスホールより発行されている「ＬＤＡＰ インターネット ディレクトリ アプリケーション プログラミング」（１９９７年１１月１日発行）が知られている。
【０００４】
そして、斯かるディレクトリ・サービスを利用することにより、例えばネットワークに接続されているプリンタ等のネットワークデバイスを検索することができ、これによりユーザはネットワーク上で利用可能なデバイスのネットワークアドレスの一覧を得ることができる。
【０００５】
【発明が解決しようとする課題】
ところで、ネットワークデバイスとしてプリンタの検索を行なう場合は、プリンタの検索条件が、用紙サイズ、両面印刷の可否、カラー印刷の可否等多岐に亙るため、ユーザが検索条件を設定する際に手間がかかるという問題点があった。
【０００６】
また、特定のプリンタに印刷指令を発した後、当該特定のプリンタから属性不適合を示すコマンドが返送されてきた場合は、斯かるコマンドを受信した後に印刷属性を指定し、これにより所望の印刷属性に適合したプリンタを検索することとなるため、印刷指令を発してから印刷処理が完了するまでに長時間を要し、また作業内容も煩雑となり作業効率の低下を招くという問題点があった。
【０００７】
本発明はこのような問題点に鑑みなされたものであって、印刷データから出力先の印刷装置を自動的に設定することができ、さらに、印刷指令から印刷するまでの一連の動作中に最適プリンタを検索し、ユーザの作業効率の向上を図ることができる情報処理装置と情報処理方法、及び情報処理システム、並びに記録媒体を提供することを目的とする。
【０００８】
【課題を解決するための手段】
上記目的を達成するために本発明に係る情報処理装置は、複数の印刷装置とネットワークを介して接続され、複数のプリンタドライバを有し、前記複数の印刷装置の中から特定の印刷装置を選択して該印刷装置に印刷データを送信する情報処理装置において、第１のプリンタドライバのユーザインタフェースを介して、印刷ジョブの印刷設定を設定する設定手段と、前記第１のプリンタドライバのユーザインタフェースを介して、即時印刷モード及び出力先検索印刷モードを有する印刷モードから、いずれの印刷モードにするかを設定する印刷モード設定手段と、アプリケーションからの描画命令に基づいてオペレーティングシステムの描画エンジンにより生成される描画関数を受け取り、該描画関数に基づいて、印刷先が変更可能な形式の中間データを生成する中間データ生成手段と、前記中間データ生成手段による中間データの生成処理に応じて、前記中間データ生成手段により生成される中間データの印刷ジョブを印刷するための、前記設定手段により設定された印刷条件を取得する印刷条件取得手段と、前記印刷条件取得手段により取得される印刷条件を印刷装置検索条件として検索サーバに送信する検索条件送信手段と、前記印刷装置検索条件に応じて前記検索サーバから取得される検索結果に基づいて、印刷条件に該当する印刷装置を示すアイコンと、各印刷装置名、状態及び物理的位置とをあわせてリスト表示し、中間データを示すアイコンをドロップ操作することで、前記中間データを出力すべき印刷装置を選択する選択手段と、前記選択手段により選択された印刷装置に対応する第２のプリンタドライバを選択し、該選択された第２のプリンタドライバに対して描画関数が渡されるように、前記中間データをオペレーティングシステムの描画エンジンに出力する中間データ出力手段とを備え、前記印刷モード設定手段により即時印刷モードが設定されている場合は、前記検索サーバにおける検索を行わずに印刷データの生成を行い、前記第１プリンタドライバで指定される出力先のポートを介して該印刷データを送信し、一方、前記印刷モード設定手段により出力先検索モードが設定されている場合は、前記検索サーバを用いた検索処理を行うことを特徴とする。
【０００９】
上記目的を達成するために本発明に係る情報処理方法は、複数の印刷装置とネットワークを介して接続され、複数のプリンタドライバを有し、前記複数の印刷装置の中から特定の印刷装置を選択して該印刷装置に印刷データを送信する情報処理装置の情報処理方法において、第１のプリンタドライバのユーザインタフェースを介して、印刷ジョブの印刷設定を設定する設定ステップと、前記第１のプリンタドライバのユーザインタフェースを介して、即時印刷モード及び出力先検索印刷モードを有する印刷モードから、いずれの印刷モードにするかを設定する印刷モード設定ステップと、アプリケーションからの描画命令に基づいてオペレーティングシステムの描画エンジンにより生成される描画関数を受け取り、該描画関数に基づいて、印刷先が変更可能な形式の中間データを生成する中間データ生成ステップと、前記中間データ生成ステップによる中間データの生成処理に応じて、前記中間データ生成ステップにより生成される中間データの印刷ジョブを印刷するための、前記設定ステップにより設定された印刷条件を取得する印刷条件取得ステップと、前記印刷条件取得ステップにより取得される印刷条件を印刷装置検索条件として検索サーバに送信する検索条件送信ステップと、前記印刷装置検索条件に応じて前記検索サーバから取得される検索結果に基づいて、印刷条件に該当する印刷装置を示すアイコンと、各印刷装置名、状態及び物理的位置とをあわせてリスト表示し、中間データを示すアイコンをドロップ操作することで、前記中間データを出力すべき印刷装置を選択する選択ステップと、前記選択ステップにより選択された印刷装置に対応する第２のプリンタドライバを選択し、該選択された第２のプリンタドライバに対して描画関数が渡されるように、前記中間データをオペレーティングシステムの描画エンジンに出力する中間データ出力ステップとを備え、前記印刷モード設定ステップにより即時印刷モードが設定されている場合は、前記検索サーバにおける検索を行わずに印刷データの生成を行い、前記第１プリンタドライバで指定される出力先のポートを介して該印刷データを送信し、一方、前記印刷モード設定ステップにより出力先検索モードが設定されている場合は、前記検索サーバを用いた検索処理を行うことを特徴とする。
【００１２】
尚、本発明の他の特徴は下記の発明の実施の形態の記載から明らかとなろう。
【００１３】
【発明の実施の形態】
次に、本発明の実施の形態を図面に基づいて説明する。
【００１４】
図１は本発明に係る情報処理システムとしてのデバイス検索システムの一実施の形態を示すシステム構成図であって、該デバイス検索システムは、第１の部屋１と第２の部屋２の夫々に複数のネットワークデバイスが設置されている。
【００１５】
具体的には、第１の部屋１には、ノート型パーソナルコンピュータ（ノートパソコン）からなる第１のクライアント・マシーン（以下、「第１のクライアント」という）３と、文書データを含む画像データの読取処理を行うスキャナ４と、画像データをモノクロで印刷処理する第１のモノクロプリンタ５とが設置され、第２の部屋２には、画像データをモノクロで印刷処理する第２のモノクロプリンタ６と、ネットワークプリンタとしても使用可能なコピー機としてのＭＦＰ（Multi Function Peripheral）７と、画像データをカラー印刷するカラープリンタ８と、デスクトップ型パーソナルコンピュータ（デスクトップパソコン）からなる第２のクライアント・マシーン（以下、「クライアント」という）９と、第１及び／又は第２のクライアント３、９からの指令に基づいてネットワークデバイスの検索処理を行う検索サーバ・マシーン（以下、「検索サーバ」という）１０とが設置されている。すなわち、第１の部屋１及び第２の部屋２には、ネットワークデバイスとしてスキャナ４、複数のプリンタ５〜８、及び複数のパーソナルコンピュータ（パソコン）３、９、１０が配設されている。そして、これら各ネットワークデバイス３〜１０はＬＡＮ１１を介して互いに接続されると共に、ファイアウォール１２を介してインターネット１３に接続され、さらに該インターネット１３を介して他の専用ネットワーク１４に接続されている。
【００１６】
図２は、前記パソコン、すなわち、第１及び第２のクライアント３、９、及び検索サーバ１０の内部を示すブロック構成図であって、該パソコンは、各種データの入力操作を行なうキーボード（ＫＢ）１５と、該キーボード（ＫＢ）１５や不図示のポインティングデバイス等からの入力情報を制御するキーボードコントローラ（ＫＢＣ）１６と、画像データを表示するＣＲＴディスプレイ（ＣＲＴ）１７と、該ＣＲＴ１７の表示内容を制御するＣＲＴコントローラ（ＣＲＴＣ）１８と、ブートプログラムや種々のアプリケーション、編集ファイル、ユーザファイル、並びにネットワーク管理プログラム等を記憶するハードディスク（ＨＤ）１８及びフレキシブルディスク（ＦＤ）１９と、こららＨＤ１８及びＦＤ１９とのアクセスを制御するディスクコントローラ（ＤＫＣ）２０と、ＬＡＮ１１を介して接続されている他のネットワークデバイス（プリンタ、他のパソコン等）と双方向でデータ交換を行なうネットワークインタフェースカード（ＮＩＣ）２１と、ＨＤ１８と同様、前記ネットワーク管理プログラムが予め記憶されたＲＯＭ２２と、演算結果を一時的に記憶したりワークエリアとして使用されるＲＡＭ２３と、システムバス２５を介してこれら各構成要素に接続され装置全体を制御するＣＰＵ２６とを備えている。
【００１７】
このように第１及び第２のクライアント３、９、及び検索サーバ１０のハード構成はいずれも図２に示す形態を備えると共に、第１及び第２のクライアント３、９のＨＤ１８及びＲＯＭ２２には印刷処理プログラムが格納され、検索サーバ１０のＨＤ１８及びＲＯＭ２２には検索処理プログラムが格納されている。そして、第１及び第２のクライアント３、９は、印刷処理プログラムを実行して所定の問い合わせ情報（検索条件）を検索サーバ１０に送信し、該検索サーバ１０から送信されてくる検索結果をＣＲＴ１７に表示する。また、検索サーバ１０は、第１及び第２のクライアント３、９からの問い合わせ情報に呼応して検索処理プログラムを実行し、検索結果を第１及び第２のクライアント３、９に返答する。
【００１８】
図３は、各ネットワークデバイスの属性を示すディレクトリ・テーブルであって、該ディレクトリ・テーブルは、ディレクトリの登録情報として検索サーバ１０のＨＤ１８に格納されている。
【００１９】
ディレクトリ・テーブルは、具体的には、デバイス名称欄２７、ネットワークアドレス欄２８、オブジェクト・クラス欄２９、デバイスタイプ欄３０、カラー印刷可否欄３１、両面印刷可否欄３２、及びステープル可否欄３３から構成されている。
【００２０】
デバイス名称欄２７には、ＬＡＮ１１に接続されているネットワークプリンタ（カラープリンタ８、ＭＦＰ７、第１及び第２のモノクロプリンタ５、６）、スキャナ４の各名称が書き込まれ、ネットワークアドレス欄２８にはこれらネットワークデバイスに固有のＬＡＮ１１上におけるアドレスが書き込まれている。
【００２１】
また、オブジェクト・クラス欄２９には、デバイスの機能種別が登録され、例えば特定のデバイスが印刷機能を有している場合は、単体としてのプリンタ５、６、８もＭＦＰ７も共に、「プリンタ」と書き込まれる。
【００２２】
デバイスタイプ欄３０には、デバイスの全体的機能が書き込まれ、これによりデバイスの機能がプリンタであっても、当該プリンタが単体としてのプリンタ５、６、８であるか、複合機としてのＭＦＰ７であるかの区別が可能とされている。
【００２３】
カラー印刷可否欄３１、両面印刷可否欄３２、及びステープル可否欄３３は、ネットワークデバイスが当該印刷属性をサポートしているときには「１」が書き込まれ、サポートしていないときは「０」が書き込まれ、当該印刷属性に関する情報が存在しないときは「ＮＡ」が書き込まれる。
【００２４】
この図３では、例えば、ネットワークデバイスのデバイス名称が「カラープリンタ」の場合は、ネットワークアドレスが「192.168.16.131」であり、プリント機能を有し、且つ全体的機能としては単体のプリンタであり、印刷属性としてカラー印刷とステープルはサポートしているが、両面印刷はサポートしていないことを示している。
【００２５】
尚、ネットワークデバイスの属性情報としては、設置場所、ＵＲＬ（ホームページアドレス）、ＩＰアドレスなどを適宜追加することもできる。
【００２６】
図４はジョブコマンドの一例を示す図であり、本実施の形態では、「ESC[」で始まり、「]」で終わるコマンドで１コマンド（最小単位のコマンド）を構成している。すなわち、例えばESC[COLOR]で１コマンドを構成し、この図４ではCOLOR（カラー印刷）、DUPLEX（両面印刷）、STAPLE（ステープル）の各コマンド指令がなされていることを示している。また、必要に応じて「STAPLE」コマンドの後にもコマンド情報を付加することができ（例えば、本実施の形態では「３」を付加している）、これにより、例えば、ステープルを留める方向を長辺側にする旨の印刷条件を追加することが可能となる。
【００２７】
図５は、第１及び第２のクライアント３、９のプログラムモジュールを示すモジュール構成図である。
【００２８】
アプリケーション・ソフト（以下、単に「アプリケション」という）３４は、ＨＤ１８からＲＡＭ２３上にロードされてＣＰＵ２６により実行され、印刷すべき文書ファイル等を作成する。
【００２９】
グラフィックエンジン３５は、オペレーション・システム（ＯＳ）の描画手段であって、Windows（米国マイクロソフト社）ではＧＤＩ（Graphic Device Interface）と呼称され、アプリケーション３４からの出力である描画関数を印刷命令であるＤＤＩ関数（Device Driver Interface）に変換する。
【００３０】
ディスパッチャ３６は、グラフィックエンジン３５からの出力内容に応じて所定のデータをプリンタドライバ３７又はスプーラ３９に転送する。
【００３１】
また、プリンタドライバ３７は、ＨＤ１８からＲＡＭ２３上にロードされてＣＰＵ２６により実行され、システムスプーラ３８は、各プリンタ５〜８に転送すべき印刷データを管理する。
【００３２】
尚、アプリケーション３４及びプリンタドライバ３７は、ＦＤ１９や不図示のＣＤ−ＲＯＭ、ネットワークを介してＨＤ１８に予め格納されている。
【００３３】
スプーラ３９は、ディスパッチャ３６を介してグラフィックエンジン３５から転送されてきたＤＤＩ関数の印刷命令を解釈して加工可能な中間コードに変換すると共に、ユーザが予めプリンタドライバ３７のユーザインターフェースで設定した印刷処理に関する加工設定（出力用紙サイズ、ページレイアウト、印刷部数、スタンプ指定、ステープル指定、両面指定、製本印刷指定、解像度等）を取得し、さらに、スプールファイル４０の生成状況をスプールファイルマネージャ４１に通知する。
【００３４】
スプールファイル４０は、スプーラ３９により生成された中間データや上述した加工設定データを保存する。
【００３５】
そして、スプールファイルマネージャ４１は、スプールファイル４０に保存された中間データがすべてスプールされているかを判断し、その答が肯定的な場合はスプールした中間データの印刷ジョブがどのような検索条件を持っているかを判断して抽出する。さらに該スプールファイルマネージャ４１は、抽出した検索条件に基づいて出力可能なデバイスを検索サーバ１０に検索させ、これにより検索サーバ１０から出力可能なデバイス情報を受け取り、その結果をＣＲＴ１７に表示させる。
【００３６】
デスプーラ４２は、前記中間データを上述した加工設定データに従って加工し、加工された中間データを描画関数として生成し、あたかも自分自身がアプリケーションであるかのように、再度グラフィックエンジン３５に対して描画関数を出力する。尚、このデスプーラ４２は、後述する図７でユーザにより指定されたデバイスを、描画関数の出力先デバイスとして指定する。
【００３７】
図６は、ＣＲＴ１７に表示されるプリンタドライバ３７のユーザインタフェースの一例を示す表示画面であって、原稿用紙サイズ設定部４３、出力用紙サイズ設定部４４、ページレイアウト設定部４５等を有し、ユーザは所望の加工データ（印刷条件）を設定することができる。
【００３８】
また、スプールボタン４６は、アプリケーション３４が生成した文書データを指定されたプリンタで即座に印刷せずに、一旦中間データとしてスプールファイル４０にスプールする場合に押下される。
【００３９】
さらに、即時印刷ボタン４７は、アプリケーション３４が生成した文書データをスプールすることなく、プリンタドライバで指定される出力先ポートのプリンタで印刷データを印刷する場合に押下される。
【００４０】
しかして、第１又は第２のクライアント３、９においては、即時印刷ボタン４７が押下されると、ＨＤ１８に保存されているアプリケーション３４がＲＡＭ２３にロードされて実行され、印刷すべき文書データ等が作成される。さらに、プリンタ５〜８毎に用意されたプリンタドライバ３７をＨＤ１８からＲＡＭ２３にロードする一方、グラフィックエンジン３５ではアプリケーション３４からの出力である描画関数をＤＤＩ関数に変換し、ディスパッチャ３６を介してプリンタドライバ３７に出力する。次いで、プリンタドライバ３７ではＤＤＩ関数を解釈してプリンタ制御コマンドに変換し、ＲＡＭ２３にロードされたシステムスプーラ３９を経てプリンタ５〜８に出力される。
【００４１】
一方、スプールボタン４６が押下されると、まず、ＨＤ１８に保存されているアプリケーション３４がＲＡＭ２３にロードされて実行され、印刷すべき文書データ等が作成される。そして、グラフィックエンジン３５ではアプリケーション３４からの描画関数をＤＤＩ関数に変換し、ディスパッチャ３６はＤＤＩ関数（印刷命令）を受け取る。そして、ディスパッチャ３６の受け取った印刷命令が、アプリケーション３４からグラフィックエンジン３５に発行された印刷命令の場合には、該ディスパッチャ３６はＨＤ１８に格納されているスプーラ３９をＲＡＭ２３にロードし、該スプーラ３９に印刷命令を転送する。
【００４２】
次いで、スプーラ３９は、受け取ったＤＤＩ関数の印刷命令を解釈して加工可能な中間コードに変換し、さらにユーザが予めプリンタドライバ３７で設定した印刷処理に関する加工設定を取得してスプールファイル４０に保存する。
【００４３】
次に、スプーラ３９は、ＨＤ１８に格納されているスプールファイルマネージャ４１をＲＡＭ２３にロードし、スプールファイルマネージャ４１に対してスプールファイル４０の生成状況を通知する。
【００４４】
その後、スプールファイルマネージャ４１は、スプールファイル４０に保存された中間データがすべてスプールされているかを判断し、すべてスプールされたら、スプールした中間データの印刷ジョブがどのような検索条件を持っているかを判断して抽出する。スプールファイルマネージャ４１は、抽出した検索条件に基づいて出力可能なデバイスを検索サーバ１０に検索させ、斯かる検索結果はデスプーラ４２を介してＣＲＴ１７にユーザインターフェースとして表示される。
【００４５】
図７は、検索サーバ１０から取得された検索結果を表示した表示画面である。
【００４６】
スプールジョブウィンドウ４８は、スプールファイル４０に保存される中間データの示す印刷ジョブを表示しており、書類名、そのジョブのページ数、印刷設定で指定されているページレイアウト、文書ファイルのプロファイルで指定されているコメント等が表示される。また、マウスなどのポインティングデバイスにより表示されるカーソルがスプールジョブをポイントした場合は、４８ａに示すように、そのスプールジョブの印刷設定をキャプション表示する。
【００４７】
そして、４９は検索デバイス表示ウィンドウであって、スプールジョブウィンドウ４８に表示されているスプールジョブの検索条件に基づいて検索サーバ１０で検索した結果、使用可能なデバイスとして通知されたデバイスが表示され、具体的にはデバイス名、デバイスの処理待ちジョブ数、デバイスの状態、デバイスの存在する物理的位置を示すコメント等が表示される。
【００４８】
このようにＣＲＴ１７には検索サーバ１０により印刷ジョブの実行可能なデバイス一覧が表示され、ユーザが印刷ジョブをマウス等のポインティングデバイスによりドラッグし、使用可能デバイスのいずれかのアイコンに対してドロップすることにより、ドロップされたアイコンの対象であるデバイスに対して印刷を実行させることができる。
【００４９】
すなわち、ディスパッチャ３６がデスプーラ４２からグラフィックエンジン３５に発行された印刷命令を受け取った場合は、ユーザインターフェース（図６）で指定されているプリンタドライバ３７に印刷命令を送り、プリンタドライバ３７ではデバイスに依存するプリンタ制御コマンドからなる印刷データを生成し、システムスプーラ３８を介してプリンタ５〜８に印刷データを出力する。
【００５０】
このように従来ではアプリケーション３４により作成された文書データ等は、すべてプリンタドライバ３７に送られ（本実施の形態で即時印刷ボタン４７を押下した場合と同じ）、したがって、アプリケーション３４が印刷処理から開放されるのは、常にプリンタドライバ３７がグラフィックエンジン３５からの全ての印刷命令（ＤＤＩ関数）をプリンタの制御コマンドに変換した時点であるのに対し、本実施の形態では、スプールボタン４６を押下することによりアプリケーション３４はスプーラ３９がすべての印刷命令を中間コードに変換し、スプーラファイル３０３に出力した時点で印刷処理から開放されるので、アプリケーション３４の印刷処理に要する時間を短縮化することが可能となる。
【００５１】
また、スプールファイル４０の内容に対して加工することができるので、アプリケーション３４からの印刷データに対して、拡大／縮小や、複数ページを１ページに縮小して印刷するＮｉｎ１印刷等、アプリケーション３４の有さない機能を実現することができる。
【００５２】
図８は、クライアント３、９のＣＰＵ２６で実行されるデバイス検索印刷処理の処理手順を示すフローチャートである。
【００５３】
まず、ステップＳ１ではアプリケーション３４により印刷指示されたデータがスプール指定された印刷ジョブであるか、通常印刷の印刷ジョブであるかを判断する。すなわち、図６のユーザインタフェースでスプールボタン４６が押下されているか、即時印刷ボタン４７が押下されているかスプール指定されているか否かを判断する。そして、即時印刷ボタン４７が押下されている場合、すなわちスプール指定されていない場合は、デバイスの検索処理等は行う必要がないので、ステップＳ２に進み、現在指定されているプリンタドライバ３７でデバイス依存のプリンタ制御コマンドからなる印刷データを生成し、出力すべきネットワークプリンタとの間で所定のプロトコルを実行し、通信経路を確立して、印刷データを送信する。
【００５４】
一方、スプールボタン４６が押下されている場合、すなわちスプール指定されている場合は、ステップＳ３に進み、ディスパッチャ３６はグラフィックエンジン３５から受け取ったＤＤＩ関数をすべてスプーラ３９に渡して、スプーラ３９は前述したようにＤＤＩ関数を解釈して中間データを生成し、スプールファイル４０に中間データとしてスプールする。
【００５５】
次に、ステップＳ４では、アプリケーション３４から出力されたすべての描画関数がスプールファイル４０にスプールされたかを判断し、すべての描画関数のスプールが終了するまで中間データの生成及びスプール処理を繰り返す。なお、この際に、スプールボタン４６が押下されたプリンタドライバ３７に設定されている印刷設定をスプーラ３９が読み取り、スプールファイル４０に中間データとともに格納する。
【００５６】
すべての描画関数及び印刷設定がスプールファイル４０に格納されたと判断した場合はステップＳ５に進み、印刷先変更処理を実行し、印刷先を変更するともに，ＲＡＭ２３に保存されているネットワークプリンタの更新を行ない、この後ステップＳ１に戻って上述の処理を繰り返す。
【００５７】
図９は、ステップＳ５で実行される印刷先変更処理ルーチンのフローチャートである。
【００５８】
まず、ステップＳ１１では印刷条件取得処理を実行してスプールファイル４０に保持されている中間データ及び印刷設定から印刷条件を取得する。印刷条件は、前述した印刷設定の中から更にデバイスにより異なる条件からなる。例えば、「両面印刷」指定や、「ステープル」指定等が印刷設定の中から選ばれる条件であり、「カラー／モノクロ」等は中間データを解析して得られる条件である。そして、続くステップＳ１２では印刷先となるプリンタの選定を行なう。すなわち、検索条件となる問い合わせ情報を検索サーバ１０に送信すると共に、問い合わせ情報に対応する検索結果を検索サーバ１０から受信し、印刷条件と一致する検索結果を図７に示すようなユーザインタフェースでＣＲＴ１７に表示する。そして前述したように、ユーザがドラッグ＆ドロップ等による指示により検索サーバ１０で検索した複数のデバイスから特定のデバイスを指定し、印刷先のネットワークプリンタとして選定する。次いで、ステップＳ１３では、ステップＳ１２により得られたネットワークデバイスを新たなネットワークプリンタとして、ＲＡＭ２３に保存し、メインルーチン（図１）に戻る。
【００５９】
図１０はステップＳ１１で実行される印刷条件取得処理ルーチンのフローチャートである。
【００６０】
まず、ステップＳ２１では、クライアントのＲＡＭ２３又はＨＤ１８に保存されている印刷データが最後まで検索し終わったか否かを判断し、その答が肯定（Ｙｅｓ）のときは印刷先変更処理ルーチン（図９）に戻る一方、その答が否定（Ｎｏ）のときはステップＳ２２に進み、ジョブコマンドを最小単位に切り取る。すなわち、ジョブコマンドは、上述したように「ESC[」で始まり、「]」で終わるため（図４参照）、「ESC[」で始まり、「]」で終わる１コマンドを最小単位として抽出する。
【００６１】
次に、ステップＳ２３では、ステップＳ２２により今回ループで切り取られたジョブコマンドが「COLOR」コマンドか否かを判断する。そして、その答が肯定(Ｙｅｓ)と判断されたときは、ステップＳ２４に進み、印刷条件として「カラー印刷」の設定を行ない、該印刷条件をＲＡＭ２３ に保存してステップＳ２１に戻る。
【００６２】
そして、ステップＳ２１で印刷データの検索が終了していないと判断された場合は、次のジョブコマンドを切り取る（ステップＳ２２）。そして、ステップＳ２３の答が否定（Ｎｏ）、すなわち、今回ループで切り取ったジョブコマンドが「COLOR」コマンドでないと判断されたときはステップＳ２５に進み、前記ジョブコマンドが「DUPLEX」コマンドか否かを判断する。そして、その答が肯定(Ｙｅｓ)と判断されたときはステップＳ２６に進み、印刷条件として「両面印刷」の設定を行ない、該印刷条件をＲＡＭ２３ に保存してステップＳ２１に戻る。
【００６３】
次に、ステップＳ２１で印刷データの検索が終了していないと判断された場合は、再び次のジョブコマンドを切り取る（ステップＳ２２）。そして、ステップＳ２３及びステップＳ２５の答が共に否定（Ｎｏ）、すなわち今回切り取ったジョブコマンドが「COLOR」コマンドでも「DUPLEX」コマンドでもないと判断されたときはステップＳ２７で、前記ジョブコマンドコマンドが「STAPLE」コマンドか否かを判断する。そして、その答が肯定(Ｙｅｓ)と判断されたときは、ステップＳ２８に進み、印刷条件として「ステープル」の設定を行ない、該印刷条件をＲＡＭ２３ に保存してステップＳ２１に戻る。
【００６４】
次いで、ステップＳ２１で印刷データの検索が終了していないと判断された場合は、再び次のジョブコマンドを切り取る（ステップＳ２２）。そして、ステップＳ２３、ステップＳ２５、及びステップＳ２７の答が共に否定（Ｎｏ）、すなわち今回切り取ったジョブコマンドが「COLOR」コマンドでも「DUPLEX」コマンドでも「STAPLE」コマンドでもないと判断されたときは、印刷条件以外のコマンド、例えば描画コマンド、フォント情報等と判断し、ステップＳ２１に戻って上述の処理を繰り返し、印刷データの検索終了により、本ルーチンを終了して印刷先変更ルーチン（図９）に戻る。
【００６５】
図１１は、上記印刷条件設定処理ルーチンにより設定された印刷条件３４及び検索サーバ１０への問い合わせ情報３５をＩＥＴＦの発行するＲＦＣ１９６０にしたがって記述した図である。
【００６６】
すなわち、本実施の形態では、印刷条件３４として、オブジェクト・クラスがプリンタであり、カラー印刷、両面印刷及びステープルの各印刷属性を要求している。また、検索サーバ１０への問い合わせ条件３５は、オブジェクト・クラスがプリンタであることのみが指定されている。すなわち、後述するように本実施の形態では、クライアントは、検索サーバ１０への問い合わせ情報として、検索条件の中から特定の検索条件、例えばオブジェクト・クラスに関するものだけを抽出して送信するため、本実施の形態ではオブジェクト・クラスがプリンタであるという条件だけが示されている。
【００６７】
尚、印刷条件は、図１０のフローチャートにより印刷条件を変更する毎にＣＰＵ２６によって更新され、ＲＡＭ２３上に一時的に保存される。
【００６８】
図１２は検索サーバ１０のＣＰＵ２６で実行されるデバイス検索処理ルーチンのフローチャートである。
【００６９】
すなわち、検索サーバ１０が起動すると、まずステップＳ３１でクライアントからのデバイス検索要求を受け付けるための受信ポートをオープンする。この操作により、クライアントからの検索要求を受信した時には、オペレーティングシステムが受信イベントを発行し、検索要求の受信がプログラムに通知される。
【００７０】
次に、ステップＳ３２に進み、オペレーティングシステムから何らかのイベントが通知されるまで待機し、何らかのイベントが通知されたのを検知した後、該イベントを取得してステップＳ３３に進む。
【００７１】
ステップＳ３３では、ステップＳ３２で取得したイベントが、ユーザによる終了イベントであるか否かを判断し、その答が肯定（Ｙｅｓ）のときは、ステップＳ３４で受信ポートをクローズした後、本プログラムを終了する。
【００７２】
一方、ステップＳ３３の答が否定（Ｎｏ）のとき、すなわち取得イベントが終了イベントではないと判断されたときはステップＳ３５に進み、取得イベントがクライアントからの問い合わせイベントであるか否かを判断する。
【００７３】
そして、その答が肯定（Ｙｅｓ）の場合はステップＳ３６に進み、データベース、すなわち、ディレクトリ・テーブル（図３参照）を検索してクライアントからの問い合わせ情報に適合するデバイスを選択し、続くステップＳ３７ではステップＳ３６で得た検索結果をクライアントに対して返信し、ステップＳ３２に戻る。
【００７４】
一方、ステップＳ３５で取得イベントが問い合わせイベントではないと判断された場合にはステップＳ３８に進み、問い合わせイベント以外の処理、例えば画面の更新などを行なってステップＳ３２に戻る。
【００７５】
図１３はステップＳ３６で実行されるデータベース検索処理ルーチンのフローチャートであって、本実施の形態では、クライアントが複数の検索条件（問い合わせ条件）を指定してきた場合、それらの検索条件を１個宛処理している。
【００７６】
すなわち、ステップＳ４１で全ての検索条件を処理し終わったか否かを判断し、その答が肯定（Ｙｅｓ）のときはステップＳ４２に進んで検索結果をクライアントに返答し、処理を終了する。
【００７７】
一方、ステップＳ４１の答が否定(Ｎｏ)のとき、すなわち全ての検索条件を処理し終えていないと判断された場合にはステップＳ４３に進み、クライアントから受信した検索条件（問い合わせ条件）を１個取り出す。
【００７８】
次に、ステップＳ４４に進み、ディレクトリ・テーブル（図３）を全て検索したか否かを判断し、その答が肯定（Ｙｅｓ）のときはステップＳ４１に戻る一方、その答が否定（Ｎｏ）のときはステップＳ４５に進み、ステップＳ４５では、図３のディレクトリ・テーブルのうちからデバイス１個分のデータを取り出す。続くステップＳ４６ではステップＳ４５で取り出したデータが検索条件（問い合わせ条件）に合致しているか否かを判断し、その答が否定（Ｎｏ）のときはステップＳ４４に戻り、データベースに登録されている次のデバイス情報について処理を続ける。
【００７９】
一方、ステップＳ４６の答が肯定（Ｙｅｓ）のときはステップＳ４７に進み、ステップＳ４６で検索条件に合致したと判断されたデバイス情報のうち、デバイス名称とネットワークアドレス、デバイスタイプ、及びカラー印刷、両面印刷、ステープル等の属性情報を取り出し、続くステップＳ４８でこれらの各種情報を検索結果に追加し、ステップＳ４４に戻って上述の処理を繰り返す。すなわち、問い合わせ条件としてオブジェクト・クラスが検索サーバ１０に送られてきているため、その他の属性情報をディレクトリ・テーブルから取り出し、これら各種情報をクライアントに返答する。
【００８０】
図１４は、問い合わせ情報としてオブジェクト・クラスがプリンタであるようなデバイス検索をクライアントが要求してきた場合の検索結果を示している。
【００８１】
すなわち、本実施の形態では、オブジェクト・クラスがプリンタであるという問い合わせ情報に合致したデバイスが４台あり、それぞれについてデバイス名称、ネットワークアドレス、デバイスタイプ、カラー印刷可否、両面印刷可否、ステープル可否の各情報が示されている。
【００８２】
そして、クライアントは上述したステップＳ１２（図９）でこれらの検索結果と図１１に示す印刷条件３４とを照合し、所定の印刷属性を有するプリンタを選定して選定されたプリンタに印刷データを送信する。すなわち、本実施の形態では図１１の印刷条件３４から印刷先プリンタとしてカラープリンタ８が選定され、印刷データはクライアントからカラープリンタ８に送信されて該カラープリンタ８から出力されることとなる。
【００８３】
このように本実施の形態によれば、検索条件を一々設定しなくとも印刷データから所望のプリンタを自動的に選定することができる。また、印刷実行を指定したプリンタが、所望の印刷結果を得るには十分の能力を持っていないときでも、従来のようにユーザが印刷属性をして該印刷属性に適合したプリンタを検索する必要もなく、自動的に出力先となるプリンタを選定してデータ送信することが可能となり、印刷作業の労力と手間を省くことができる。
【００８４】
尚、本発明は上記実施の形態に限定されるものではない。本実施の形態では、検索サーバ１０とクライアント３、９とに分けて夫々所定の処理を行なっているが、上述した制御プログラム（印刷処理プログラム及び検索処理プログラム）を同一のパソコン上で実行するようにしてもよい。すなわち、本発明は、複数の機器（例えばホストコンピュータ、インタフェース機器、リーダなど）から構成される情報処理システムに適用することができるばかりでなく、１個の情報処理装置で上述したクライアントとサーバの双方の機能を有するようにして所望のプリンタを自動的に選定することも可能である。
【００８５】
また、上記印刷処理プログラム（図８〜図１０）を第１又は第２のクライアント３、９で実行する代わりに、ＭＦＰ７で実行してもよい。すなわち、クライアント３、９からの印刷データをＭＦＰ７で保存し、該ＭＦＰ７が印刷処理プログラムを実行して印刷データを他のネットワークプリンタ、例えばカラープリンタ８に転送し、所望の印刷物を得ることもできる。例えば、第２のクライアント９からＭＦＰ７に印刷を指示し、且つ印刷データがカラー原稿であった場合は、本発明の制御プログラムを内蔵したＭＦＰ７が印刷データから印刷属性「COLOR」を抽出し、該印刷属性「COLOR」を使用して所望のプリンタを検索する。その結果カラープリンタ８が検索され、印刷データをＭＦＰ７からカラープリンタ８に転送することにより、ユーザは所望の印刷結果を得ることができる。
【００８６】
また、本発明は、制御プログラムをパソコンに外部媒体からインストールし、該パソコンで前記制御プログラムを実行するようにしてもよい。この場合、前記制御プログラムはＣＤ−ＲＯＭやフラッシュメモリ、フレキシブルディスク等の記録媒体によりパソコンに供給してもよく、或いは電子メールやパソコン通信などのネットワークを介して外部の記録媒体からプログラムを含む情報群をパソコンにダウンロードしてもよい。
【００８７】
図１５は、記録媒体としてのＣＤ−ＲＯＭのメモリマップの一例を示す図である。３６はディレクトリ情報、すなわちインストールプログラムやネットワークデバイス制御プログラムの格納位置情報が記憶される第１の格納領域、３７はインストールプログラムが記憶される第２の格納領域、３８はネットワークデバイス制御プログラムが記憶される第３の格納領域を夫々示している。
【００８８】
前記ネットワークデバイス制御プログラムをパソコンにインストールする場合は、まず、第２の格納領域３７に記憶されているインストールプログラムがパソコンにロードされ、該パソコンのＣＰＵ２６によって実行される。次に、該インストールプログラムを実行することにより、第３の格納領域３８に格納されているネットワークデバイス制御プログラムが読み出され、該ネットワークデバイス制御プログラムはＨＤ１８に格納される。
【００８９】
尚、上記制御プログラムのプログラムコードを記録した記録媒体をクライアントやサーバ等にロードし、該クライアントやサーバ等のＣＰＵやＭＰＵが記録媒体に格納されたプログラムコードを読み出して実行するようにしてもよい。
【００９０】
この場合、記録媒体から読み出されたプログラムコード自体が本発明の機能を実現することになり、したがって、前記プログラムコードを記録した記録媒体が本発明を構成することになる。プログラムコードを供給するための記録媒体としては、例えば、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード等を使用することができる。
【００９１】
また、コンピュータが読み出したプログラムコードを実行することによって、上述した本発明の機能が実現される他、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているオペレーションシステムなどが実際の処理の一部又は全部を実行するようにしても本発明の所期の目的を達成することができる。
【００９２】
さらに、記録媒体から読み出されたプログラムコードを、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットのメモリに書き込んだ後、前記プログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットのＣＰＵなどが実際の処理の一部又は全部を行うようにしてもよい。
【００９３】
【発明の効果】
以上詳述したように本発明によれば、検索条件を一々設定しなくとも印刷条件に該当する印刷装置を自動的に表示し、ユーザは印刷条件を満たす所望の印刷装置を容易に選定することができる。
【００９４】
また、印刷実行を指定した印刷装置が、所望の印刷結果を得るには十分の能力を持っていないときでも、従来のようにユーザが印刷条件を指定して該印刷条件に適合した印刷装置を検索する必要もなく、自動的に出力先となる印刷装置を表示して容易に選定してデータ送信することが可能となり、印刷作業の労力と手間を省くことができる。
さらに、印刷設定に適合する印刷装置を検索サーバに検索させるモードと、このような検索処理を行わずに、第１プリンタドライバで指定される出力先のポートを介して印刷データを即時に送信するモードの切り替えを容易に行うことができる。
【図面の簡単な説明】
【図１】本発明に係る情報処理システムとしてのデバイス検索システムの一実施の形態を示すシステム構成図である。
【図２】パソコン（第１及び第２のクライアント、及び検索サーバ）の内部を示すブロック構成図である。
【図３】ネットワークデバイスの属性を示すディレクトリ・テーブルである。
【図４】ジョブコマンドの一例を示す図である。
【図５】第１及び第２のクライアントのプログラムモジュールを示すモジュール構成図である。
【図６】プリンタドライバのユーザインタフェースの一例を示す表示画面である。
【図７】検索デバイス表示ウィンドウとスプールジョブウィンドウの一例を示す表示画面である。
【図８】印刷処理の処理手順を示すフローチャートである。
【図９】印刷先変更処理ルーチンのフローチャートである。
【図１０】印刷条件設定処理ルーチンのフローチャートである。
【図１１】クライアントに一時的に保持される検索条件並びに問合せ条件の一例を示す図である。
【図１２】デバイス検索処理の処理手順を示すフローチャートである。
【図１３】データベース検索処理ルーチンのフローチャートである。
【図１４】検索結果の一例を示す図である。
【図１５】記録媒体としてのＣＤ−ＲＯＭのメモリ・マップの一例を示す図である。
【符号の説明】
３    第１のクライアント（第２の情報処理装置）
４    第２のクライアント（第１の情報処理装置）
５    第１のモノクロプリンタ（印刷装置）
６    第２のモノクロプリンタ（印刷装置）
７    ＭＦＰ（印刷装置）
８    カラープリンタ（印刷装置）
１０  検索サーバ（第２の情報処理装置）
１１  ＬＡＮ（ネットワーク）
１８  ＨＤ（格納手段）
２６  ＣＰＵ
３４  アプリケーション
３５  グラフィックエンジン（描画関数生成手段）
３７  プリンタドライバ（駆動ソフト）
３９  スプーラ（中間データ生成・印刷条件取得手段）
４０  スプールファイル（保存手段）
４１  スプールファイルマネージャ（印刷装置指定手段）
４２  デスプーラ（印刷制御手段）
【図１】
0004240690.tif 000002
【図２】
0004240690.tif 000003
【図３】
0004240690.tif 000004
【図４】
0004240690.tif 000005
【図５】
0004240690.tif 000006
【図６】
0004240690.tif 000007
【図７】
0004240690.tif 000008
【図８】
0004240690.tif 000009
【図９】
0004240690.tif 000010
【図１０】
0004240690.tif 000011
【図１１】
0004240690.tif 000012
【図１２】
0004240690.tif 000013
【図１３】
0004240690.tif 000014
【図１４】
0004240690.tif 000015
【図１５】
0004240690.tif 000016