(57)【要約】【課題】探索処理に費やす時間を短縮する。【解決手段】機器を探索するための探索データをネットワークに送信して、探索データに対する応答データをネットワークから受信する受信して機器の探索を行い、さらに、受け付ける応答データの数を設定可能にすることにより、受信された応答データの数が、設定された数に達したとき、または設定された数を超えたとき、応答データの受信を終了させる。【選択図】　　　図９
2004005015.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークに接続された機器を探索する探索方法であって、
機器を探索するための探索データをネットワークに送信する送信ステップと、
前記探索データに対する応答データをネットワークから受信する受信ステップと、
前記応答データから、応答データを送信した機器に関する機器情報を取得する取得ステップと、
受け付ける応答データの数を設定する設定ステップと、
前記受信ステップで受信された応答データの数が、前記設定ステップで設定された数に達したか否か、または前記設定ステップで設定された数を超えたか否かを判定する判定ステップとを有し、
前記受信ステップで受信された応答データの数が、前記設定ステップで設定された数に達したとき、または前記設定ステップで設定された数を超えたとき、応答データの受信を終了させることを特徴とする探索方法。
【請求項２】
探索を行う時間を設定する時間設定ステップと、
前記時間設定ステップで設定された時間が経過したか否かを判定する時間判定ステップとを有し、
前記時間設定ステップで設定された時間が経過したとき、応答データの受信を終了させることを特徴とする請求項１に記載の探索方法。
【請求項３】
探索範囲を設定する範囲設定ステップを有し、
前記送信ステップでは、前記範囲設定ステップで設定された探索範囲に属するネットワークアドレスに対して、探索データを送信することを特徴とする請求項１或いは２に記載の探索方法。
【請求項４】
前記前記受信ステップで受信された応答データの数が、前記設定ステップで設定された数に達したとき、または前記設定ステップで設定された数を超えたとき、前記取得ステップで取得された機器情報を表示する表示ステップとを有することを特徴とする請求項１乃至３のいずれかに記載の探索方法。
【請求項５】
表示する機器を指定する条件または表示する機器情報の種類を指定する条件を設定する条件設定ステップを有し、
前記表示ステップでは、前記条件設定ステップで設定された条件に従って、機器情報を表示することを特徴とする請求項４に記載の探索方法。
【請求項６】
前記条件設定ステップでは、ネットワークアドレスの範囲を設定可能であり、
前記表示ステップでは、前記条件設定ステップで設定された範囲に属するネットワークアドレスを有する機器に関する機器情報のみを表示することを特徴とする請求項５に記載の探索方法。
【請求項７】
ネットワークに接続されている機器を管理する管理サーバに登録されている機器に関する機器情報を取得する管理機器情報取得ステップを有し、
前記表示ステップでは、前記取得ステップで取得された機器情報と、前記管理機器情報取得ステップで取得された機器情報とを比較して、前記管理サーバに登録されていない機器に関する機器情報のみを表示することを特徴とする請求項４に記載の探索方法。
【請求項８】
管理サーバを探索する探索ステップと、
前記探索ステップによる探索により検出された管理サーバに関するサーバ情報を表示するサーバ表示ステップとを有し、
前記管理機器情報取得手段は、前記サーバ表示ステップで表示された管理サーバのうち、ユーザにより選択された管理サーバから機器情報を取得することを特徴とする請求項７に記載の探索方法。
【請求項９】
ネットワークに接続された機器を探索する探索プログラムであって、
機器を探索するための探索データをネットワークに送信する送信ステップと、
前記探索データに対する応答データをネットワークから受信する受信ステップと、
前記応答データから、応答データを送信した機器に関する機器情報を取得する取得ステップと、
受け付ける応答データの数を設定する設定ステップと、
前記受信ステップで受信された応答データの数が、前記設定ステップで設定された数に達したか否か、または前記設定ステップで設定された数を超えたか否かを判定する判定ステップとをコンピュータに実行させ、
前記受信ステップで受信された応答データの数が、前記設定ステップで設定された数に達したとき、または前記設定ステップで設定された数を超えたとき、応答データの受信を終了させることを特徴とする探索プログラム。
【請求項１０】
探索を行う時間を設定する時間設定ステップと、
前記時間設定ステップで設定された時間が経過したか否かを判定する時間判定ステップとをコンピュータに実行させ、
前記時間設定ステップで設定された時間が経過したとき、応答データの受信を終了させることを特徴とする請求項９に記載の探索プログラム。
【請求項１１】
探索範囲を設定する範囲設定ステップをコンピュータに実行させ、
前記送信ステップでは、前記範囲設定ステップで設定された探索範囲に属するネットワークアドレスに対して、探索データを送信することを特徴とする請求項９或いは１０に記載の探索プログラム。
【請求項１２】
前記前記受信ステップで受信された応答データの数が、前記設定ステップで設定された数に達したとき、前記取得ステップで取得された機器情報を表示する表示ステップとをコンピュータに実行させることを特徴とする請求項９乃至１１のいずれかに記載の探索プログラム。
【請求項１３】
表示する機器を指定する条件または表示する機器情報の種類を指定する条件を設定する条件設定ステップをコンピュータに実行させ、
前記表示ステップでは、前記条件設定ステップで設定された条件に従って、機器情報を表示することを特徴とする請求項１２に記載の探索プログラム。
【請求項１４】
前記条件設定ステップでは、ネットワークアドレスの範囲を設定可能であり、
前記表示ステップでは、前記条件設定ステップで設定された範囲に属するネットワークアドレスを有する機器に関する機器情報のみを表示することを特徴とする請求項１３に記載の探索プログラム。
【請求項１５】
ネットワークに接続された機器を探索する情報処理装置であって、
機器を探索するための探索データをネットワークに送信する送信手段と、
前記探索データに対する応答データをネットワークから受信する受信手段と、
前記応答データから、応答データを送信した機器に関する機器情報を取得する取得手段と、
受け付ける応答データの数を設定する設定手段と、
前記受信手段で受信された応答データの数が、前記設定手段で設定された数に達したか否か、または前記設定手段で設定された数を超えたか否かを判定する判定手段とを有し、
前記受信手段で受信された応答データの数が、前記設定手段で設定された数に達したとき、または前記設定手段で設定された数を超えたとき、応答データの受信を終了することを特徴とする情報処理装置。
【請求項１６】
ネットワークに接続された機器を探索する探索方法であって、
機器を探索するための探索データをネットワークに送信する送信ステップと、
前記探索データに対する応答データをネットワークから受信する受信ステップと、
前記応答データから、応答データを送信した機器に関する機器情報を取得する取得ステップと、
受け付ける応答データの数を設定する設定ステップと、
前記受信ステップで受信された応答データの数が、前記設定ステップで設定された数に達したか否か、または前記設定ステップで設定された数を超えたか否かを判定する判定ステップとを有することを特徴とする探索方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ネットワークに接続されたネットワーク機器（ネットワークデバイス）を探索する探索方法、及びこの探索を行うシステム、装置、プログラムに関するものである。
【０００２】
【従来の技術】
従来のネットワーク機器管理システムにおける機器の探索方法では、ネットワーク管理プロトコルを用いて機器探索が行われていた。例えば、簡易ネットワーク管理プロトコル（通称ＳＮＭＰ。Ｓｉｍｐｌｅ　Ｎｅｔｗｏｒｋ　Ｍａｎａｇｅｍｅｎｔ　Ｐｒｏｔｏｃｏｌの略）を用いた場合では、まず、コンピュータが、指定されたＩＰ（Ｉｎｔｅｒｎｅｔ　Ｐｒｏｔｏｃｏｌ）アドレスまたはＩＰブロードキャストアドレスに対して、ＳＮＭＰのＧｅｔ−ｒｅｑｕｅｓｔコマンドを送信する。一方、ネットワーク機器がこれを受信して、Ｇｅｔ−ｒｅｓｐｏｎｓｅコマンドを応答する。すると、コンピュータは、Ｇｅｔ−ｒｅｓｐｏｎｓｅコマンドに付随するアドレス情報を抽出することにより、どのネットワーク機器から応答があったかを特定することができる。これによって、ネットワーク機器を探索して、ネットワークに現在接続されているネットワーク機器を見つける（ネットワーク機器のアドレス情報を取得する）ことができる。
【０００３】
また、探索時間をユーザが指定可能な場合には、その探索時間を応答を待つ時間とし、探索時間内に応答があったネットワーク機器に関する情報を探索結果として表示していた。
【０００４】
【発明が解決しようとする課題】
しかしながら、上記の従来例では、探索時間が満了するまで探索処理が終了されない。そのため、ユーザ（ネットワークの管理者など）がネットワーク上に接続されているネットワーク機器の台数を把握している場合などでも、探索時間が満了するのを待たなければならない。例えば、ネットワーク機器の数が少量で、その台数分の応答が返ってきた時点で本来の探索が終了するにもかかわらず、ユーザは探索時間が経過するのを待たなくてはならないため、ユーザに対する応答性が悪くなる恐れがあった。
【０００５】
また、機器の使用を設定するために探索結果を流用する場合、たとえ探索でみつかった機器であっても、すでに設定済みの機器に関しては、その機器に関する情報は表示しない方が、ユーザの認識のしやすさは向上する。しかし、従来の機器の探索機能をそのまま使用した場合には、探索結果をそのまま表示するしかなかった。
【０００６】
従って、本発明は、上記の問題点を解決するためになされたものであり、探索待ち時間の削減、ユーザにとって不要な機器情報の非表示を行うことで、ユーザの処理効率のよい、ユーザにとって使いやすい探索方法、または当該探索方法を実行するシステム、装置、プログラムを提供することを目的とする。
【０００７】
【課題を解決するための手段】
上記課題を解決するために、本発明では、機器を探索するための探索データをネットワークに送信して、探索データに対する応答データをネットワークから受信する受信して機器の探索を行い、さらに、受け付ける応答データの数を設定可能にすることにより、受信された応答データの数が、設定された数に達したとき、または設定された数を超えたとき、応答データの受信を終了させることを特徴とする。
【０００８】
また、探索範囲を設定することを可能とし、設定された探索範囲に属するネットワークアドレスに対して、探索データを送信することを特徴とする。
【０００９】
また、受信された応答データの数が、設定された数に達したとき、または設定された数を超えたとき、取得された機器情報を表示することを特徴とする。
【００１０】
また、表示する機器を指定する条件または表示する機器情報の種類を指定する条件を設定することを可能とし、設定された条件に従って、機器情報を表示することを特徴とする。
【００１１】
また、ネットワークアドレスの範囲を設定可能であり、設定された範囲に属するネットワークアドレスを有する機器に関する機器情報のみを表示することを特徴とする。
【００１２】
また、ネットワークに接続されている機器を管理する管理サーバに登録されている機器に関する機器情報を取得して、探索によって取得された機器情報と、管理サーバから取得された機器情報とを比較して、管理サーバに登録されていない機器に関する機器情報のみを表示することを特徴とする。
【００１３】
また、管理サーバを探索することを可能とし、探索により検出された管理サーバに関するサーバ情報を表示して、表示された管理サーバのうち、ユーザにより選択された管理サーバから機器情報を取得することを特徴とする。
【００１４】
【発明の実施の形態】
以下、本発明を適用するのに好適である実施形態について説明を行う。
【００１５】
図１は、本発明を適用可能な情報処理システムの構成を説明するブロック図である。なお、本システムにおけるクライアントコンピュータは、１台、または複数台接続されていることを仮定している。
【００１６】
図１において、１０２、１０３、１０４はクライアントコンピュータ（クライアント）としての情報処理装置である。これらのクライアントコンピュータはイーサネット（登録商標）などのネットワークケーブルによってネットワーク１０６に接続され、アプリケーションプログラム等の各種のプログラムを実行可能である。また、印刷データをプリンタに対応するプリンタ言語に変換する機能を有するプリンタドライバを搭載している。なお、プリンタドライバは複数のプリンタまたは複数のプリンタ言語をサポートするものとする。
【００１７】
なお、プリンタとしては、電子写真方式を採用したレーザービームプリンタ、インクジェット方式を採用したインクジェットプリンタ、熱転写方式を利用したプリンタ等様々な方式の印刷装置が想定される。
【００１８】
１０１は、サーバコンピュータとしての情報処理装置である。サーバコンピュータ１０１は、ネットワークケーブルによってネットワーク１０６に接続され、ネットワークで共有されるファイルを蓄積したり、ネットワーク１０６またはネットワーク１０６に接続されているネットワーク機器の使用状態を監視し、管理する。
【００１９】
クライアントコンピュータ１０２〜１０４とサーバコンピュータ１０１は、一般的な情報処理装置であり、クライアントコンピュータとサーバコンピュータには、それぞれ異なる制御を行う印刷制御プログラムが実行可能に格納されている。
【００２０】
また、サーバコンピュータ１０１は、一般的な情報処理装置であり、クライアントコンピュータ１０２〜１０４の機能を同時に持つこともできる。
【００２１】
本実施形態におけるサーバコンピュータ１０１は、さらにクライアントコンピュータ１０２、１０３、１０４から印刷要求が出された印字データを含む印刷ジョブを格納して、当該印刷ジョブをプリンタに転送したりする。または、クライアントコンピュータ１０２、１０３、１０４から印字データを含まない印刷ジョブ情報のみを受け取り、クライアントコンピュータ１０２、１０３、１０４間での印刷順序を管理して、印刷順序が回ってきたクライアントコンピュータに対して印字データを含む印刷ジョブの送信許可を通知する。さらに、ネットワークプリンタ１０５Ａ〜１０５Ｃのステータスに関する情報やネットワークプリンタ１０５Ａ〜１０５Ｃに保持されている印刷ジョブに関する情報など様々な情報を取得し、クライアントコンピュータ１０２、１０３、１０４に通知したりする機能を揃えている。
【００２２】
１０５Ａ〜１０５Ｃは、ネットワーク機器としての一例であるネットワークプリンタである。ネットワーク機器はネットワークインタフェースを介してネットワーク１０６と接続可能な機器であり、ネットワークプリンタの他には、複写機、ＦＡＸ装置、スキャナ、家電製品などがある。一例としてのネットワークプリンタ１０５Ａ〜１０５Ｃは、クライアントコンピュータから送信される印字データを含む印刷ジョブを受信・解析して、１ページ毎のドットイメージデータを生成し、そのドットイメージデータに基づいて１ページ毎に記録用紙に印刷する。
【００２３】
１０６は、ネットワークであり、クライントコンピュータ１０２、１０３、１０４、サーバコンピュータ１０１、ネットワークプリンタ１０５Ａ〜１０５Ｃ等とをそれぞれ通信可能に接続している。
【００２４】
図２は、本実施の形態における情報処理装置の構成を説明するブロック図である。図１においては、クライントコンピュータ１０２、１０３、１０４も同じ構成であり、さらにサーバコンピュータ１０１も同様あるいは同等のハードウエア構成となっている。
【００２５】
図２において、２００は、情報処理装置の制御手段であるＣＰＵであり、ハードディスク（ＨＤ）２０５に格納されているアプリケーションプログラム、プリンタドライバプログラム、ＯＳや本発明のネットワークプリンタ制御プログラム等を実行し、ＲＡＭ２０２にプログラムの実行に必要な情報、ファイル等を一時的に格納する制御を行う。
【００２６】
２０１は、記憶手段としてのＲＯＭであり、内部には、基本Ｉ／Ｏプログラム等のプログラム、文書処理の際に使用するフォントデータ、テンプレート用データ等の各種データを記憶する。２０２は一時記憶手段としてのＲＡＭであり、ＣＰＵ２００の主メモリ、ワークエリア等として機能する。
【００２７】
２０３は記憶媒体読み込み手段としてのフロッピー（登録商標）ディスク（ＦＤ）ドライブであり、後述する図５に示すように、記憶媒体としてのＦＤ（フロッピー（Ｒ）ディスク）２０４に記憶されたプログラム等を装置内にロードすることができる。なお、記憶媒体は、ＦＤに限らず、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＰＣカード、ＤＶＤ、ＩＣメモリカード、ＭＯ、メモリスティック等であってもよい。
【００２８】
２０４は、記憶媒体としてのフロッピー（Ｒ）ディスク（ＦＤ）であり、コンピュータが読み取り可能なプログラムが格納された記憶媒体である。
【００２９】
２０５は、外部記憶手段の一つであり、大容量メモリとして機能するハードディスク（ＨＤ）である。ハードディスク２０５は、アプリケーションプログラム、プリンタドライバプログラム、ＯＳ、ネットワークプリンタ制御プログラム、関連プログラム等を格納している。さらにスプール手段としてのスプーラの記憶領域はここに確保される。
【００３０】
スプール手段は、クライアントコンピュータにおいてはクライアントスプーラのことであり、サーバコンピュータにおいてはサーバスプーラのことである。また、サーバコンピュータでは、クライアントコンピュータから受けたジョブ情報を格納し、順序制御を行うためのテーブルもこの外部記憶手段に格納される。
【００３１】
２０６は、指示入力手段としてのキーボードであり、ユーザがクライアントコンピュータに対して、また、オペレータや管理者がサーバコンピュータに対して、機器の制御コマンドの命令等を入力するためのものである。
【００３２】
２０７は、表示手段としてのディスプレイであり、キーボード２０６から入力されたコマンドや、プリンタの状態等を表示したりするものである。
【００３３】
２０８は、システムバスであり、クライアントコンピュータやサーバコンピュータであるコンピュータ内のデータの流れを司るものである。
【００３４】
２０９は、入出力手段としてのインタフェースであり、情報処理装置はインタフェース２０９を介してネットワーク１０６とのデータのやり取りを行う。
【００３５】
図３は、図２に示したＲＡＭ２０２のメモリマップの一例を示す図であり、ＦＤ２０４からロードされるネットワークプリンタ制御プログラムが、ＲＡＭ２０２にロードされて実行可能となった状態のメモリマップである。
【００３６】
本実施形態では、ＦＤ２０４からネットワークプリンタ制御プログラムおよび関連データを直接ＲＡＭ２０２にロードして実行させる例を示すが、これ以外にも、ＦＤ２０４からネットワークプリンタ制御プログラムを動作させる度に、既にネットワークプリンタ制御プログラムがインストールされているＨＤ２０５からＲＡＭ２０２にロードするようにしてもよい。
【００３７】
また、本ネットワークプリンタ制御プログラムを記憶する媒体は、ＦＤ以外にＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＰＣカード、ＤＶＤ、ＩＣメモリカードであってもよい。さらに、本ネットワークプリンタ制御プログラムをＲＯＭ２０１に記憶しておき、これをメモリマップの一部となすように構成し、直接ＣＰＵ２００で実行することも可能である。
【００３８】
また、以上の各装置と同等の機能を実現するソフトウェアをもって、ハードウェア装置の代替として構成することもできる。
【００３９】
また、本ネットワークプリンタ制御プログラムのことを、簡単に印刷制御プログラムと呼ぶこともある。印刷制御プログラムは、クライアントコンピュータにおいて印刷ジョブの印刷先の変更を指示したり、印刷順序を変更する指示をするための制御を行うプログラムを含む。また、サーバコンピュータにおいては、印刷ジョブの順序制御を行ったり、印刷ジョブの印刷終了や印刷先変更要求などを通知するためのプログラムを含んでいる。また、このような制御を行う本発明の印刷制御プログラムは、クライアントにインストールされるモジュールと、サーバコンピュータにインストールされるモジュールを別々に分けてもよいし、ひとつの印刷制御プログラムが、実行される環境によりクライアント用として機能したり、またはサーバコンピュータ用として機能するようにしてもよい。あるいは一台のコンピュータに、クライアント用の機能を持つモジュールと、サーバコンピュータ用として機能するモジュールをともにインストールし、同時に、あるいは時分割で擬似的に平行動作させる構成も可能である。
【００４０】
３０１は基本Ｉ／Ｏプログラムであり、本制御装置の電源がＯＮされたときに、ＨＤ２０５からＯＳがＲＡＭ２０２に読み込まれ、ＯＳの動作を開始させるＩＰＬ（イニシャルプログラムローデイング）機能などを有しているプログラムが入っている領域である。
【００４１】
３０２はオペレーティングシステム（ＯＳ）であり、３０３はネットワークプリンタ制御プログラムで、ＲＡＭ２０２上に確保される領域に記憶される。３０４は関連データで、ＲＡＭ２０２上に確保される領域に記憶される。３０５はワークエリアで、ＣＰＵ２００が本プリンタ制御プログラムを実行する領域が確保されている。
【００４２】
図４は、図２に示したＦＤ２０４のメモリマップの一例を示す図である。図４において、４００は前記ＦＤ２０４のデータ内容であり、４０１はデータの情報を示すボリューム情報であり、４０２はディレクトリ情報、４０３は本実施形態で説明する印刷制御プログラムであるネットワークプリンタ制御プログラム、４０４はその関連データである。４０３のネットワークプリンタ制御プログラムは、実施形態で説明するフローチャートに基づいてプログラム化したものであり、本実施例では、クライアントコンピュータ、サーバコンピュータ共、同様の構成をとっている。
【００４３】
図５は、図２に示したＦＤドライブ２０３に対して挿入されるＦＤ２０４との関係を示す図であり、図２と同一のものには同一の符号を付してある。図５において、ＦＤ２０４には、本実施形態で説明するネットワークプリンタ制御プログラムおよび関連データを格納している。
【００４４】
次に、ネットワークプリンタを複数台使用した印刷ジョブ制御システムについて説明する。
【００４５】
なお、本実施の形態では、複数のネットワークプリンタのそれぞれに対応する個々のプリンタドライバに対して一元的に印刷設定を指示可能である。さらに、グループプリンタドライバは、Ｄｅ−ｓｐｏｏｌｅｒ（後述にて詳しく説明）が各プリンタドライバに描画命令を通知するための汎用印刷ファイルを生成するための基データ（汎用ドキュメントデータ）を生成する。また、ネットワークプリンタに依存した個々のプリンタドライバをメンバプリンタドライバと呼ぶ。
【００４６】
図６は、一般的なアプリケーションプログラムから発行された印刷要求が、印刷ジョブ制御システムにおいてどのように処理されるかを示した図である。
【００４７】
図６において、６００はクライアントコンピュータで、印刷ジョブ制御システムのクライアントモジュールが動作するコンピュータを指す。
【００４８】
通常、アプリケーションプログラムは、ユーザにより印刷の指示がされると、ＯＳのグラフィック機能を介して一連の描画命令を生成させ、それをプリンタドライバを介してスプーラに渡す。スプーラは、ユーザが選択したポートモニタにプリントジョブデータを渡してプリンタに送信させる手順をとる。
【００４９】
それでは、図６を用いて具体的に説明する。本実施の形態では、ユーザはあらかじめ印刷ジョブ制御システム用のポートモニタ６２１（以降、本実施例ではジョブ制御ポートモニタと略記）を指定して印刷を指示する。
【００５０】
従って、アプリケーションプログラム６０１は、ＯＳのグラフィック機能を使って一連の描画命令を生成させ、それをグループプリンタドライバ（グループプリンタＤｒｉｖｅｒ）６０３に渡す。
【００５１】
描画命令を受け取ったグループプリンタドライバ６０３は、汎用印刷ファイルを生成するための汎用ドキュメントデータを生成し、それをジョブ制御ポートモニタ６２１にプリントジョブデータとして送信する。
【００５２】
ジョブ制御ポートモニタ６２１は、プリントジョブデータをネットワークプリンタ６５０Ａやネットワークプリンタ６５０Ｂに送信するのではなく、印刷ジョブ制御システム用プリントサービス６２２（以降、本実施例ではジョブ制御プリントサービスと略記）に送信する。
【００５３】
ジョブ制御プリントサービス６２２は、ジョブ制御サーバ６３０の管理するジョブ／機器の状態を管理する機能を備える。更に、ネットワークプリンタとクライアントコンピュータ６００とがピアツーピア（Ｐｅｅｒ　Ｔｏ　Ｐｅｅｒ）接続の環境で互いに動作するような場合には、ジョブ制御プリントサービス６２２はネットワークプリンタ６５０Ａ〜６５０Ｂから通知される機器状態やジョブの状態などの情報を管理したり、また、ネットワークプリンタ６５０Ａ〜６５０Ｂに対して所定の命令をする機能も備える。これは、複数のネットワークプリンタの機器情報やジョブ情報を管理する機能に相当する。
【００５４】
印刷ジョブ制御システム用プリントマネージャ６２３（以降、本実施例ではジョブ制御プリントマネージャと略記）は、ユーザがジョブ制御プリントサービス６２２内部でプリントジョブがどのような状態にあるかを調べたり、プリントジョブを操作したりするためのユーザインタフェース（ＵＩ）を提供するプログラムである。
【００５５】
ジョブ制御プリントマネージャ６２３はジョブ制御プリントサービス６２２のソフトウェアのインタフェース（ＡＰＩ）を介して、ジョブ制御プリントサービス６２２と情報の送受信を実行し、主に、ジョブ制御プリントサービス６２２が管理する外部のネットワークプリンタの状態情報をイベントとして取得する機能を備える。イベントの通知の種別としては、トナー残量が少なくなった警告、クライアントと機器との通信障害、メモリ不足、排紙トレー満載などのエラー／警告情報の通知や、エラー状態から正常状態に復帰した正常情報の通知などが想定される。
【００５６】
印刷ジョブ制御システム用サーバ６３０（以降、本実施例ではジョブ制御サーバと略記）は、個々のクライアント６００上のジョブ制御プリントサービス６２２がネットワークプリンタにプリントジョブデータを送信するタイミングを集中制御（スケジューリング）している。また、印刷ジョブ制御システム用サーバ６３０はネットワークを介して通信可能な各機器（印刷装置）の印刷実行中、電力制御状態、障害情報（紙ジャム）等のステータスを監視し、ジョブ制御プリントサービス６２２にイベントを通知する機能を備える。ここで、プリンタステータスの状態変化の監視について、ジョブ制御プリントサービス６２２は直接的に状態の変化の通知（イベント）をネットワークプリンタから取得することもできる。
【００５７】
印刷ジョブ制御システム用マネージメントコンソール６３３（以降、本実施例ではジョブ制御マネージメントコンソールと略記）は、ジョブ制御サーバ６３０が持つソフトウェアがアクセスするためのＡＰＩを介してジョブ制御サーバ６３０と情報・指示をやり取りすることで、印刷ジョブ制御システム全体を監視することができる。
【００５８】
また、ジョブ制御サーバ６３０は機器情報コントロールモジュール６３１を用いて各ネットワークプリンタ６５０Ａ〜６５０Ｂと通信を行い、各プリンタ内の印刷ジョブや動作状態に関する情報を入手したり、操作を行ったりする。入手した情報はクライアント６００側のジョブ制御プリントサービス６２２に渡すことができる。
【００５９】
次に本実施の形態におけるグループプリンタドライバ６０３からの印刷について説明する。
【００６０】
概要を説明すると、グループプリンタドライバ６０３は、このシステムを使用するためのプリンタドライバであり、ジョブ制御プリントサービス６２２がジョブ制御を行うのに適したデータを生成する。ジョブ制御プリントサービス６２２は、グループプリンタドライバ６０３からのデータに基づいて、複数のＰＤＬドライバ６０２を制御する。例えば、複数のネットワークプリンタで分散印刷を行いたい場合には、分割したデータを複数のＰＤＬドライバのそれぞれに送信する。すると、複数のネットワークプリンタのそれぞれが処理可能なデータが各ＰＤＬドライバによって生成されるため、アプリケーションプログラム６０１からの印刷要求に対して、複数の異種のネットワークプリンタに印刷を行わせることができる。
【００６１】
それでは、より詳細に説明する。グループプリンタドライバ６０３はアプリケーションプログラムが生成した一連の描画コマンドから、上に説明した汎用ドキュメントデータを生成する。この汎用ドキュメントデータはジョブ制御プリントサービス６２２によってネットワークプリンタの種類に依存しない中間フォーマットのファイルである汎用印刷ファイルに変換される。この汎用印刷ファイルの構成については後述する。
【００６２】
この汎用印刷ファイルは前述したようにＷｉｎｄｏｗｓ（Ｒ）スプーラ６０４からジョブ制御ポートモニタ６２１を経て（ａ）、ジョブ制御プリントサービス６２２に導かれる（ｂ）。ジョブ制御プリントサービス６２２はこのプリントジョブに対して行うジョブ制御の種類に応じて、汎用印刷ファイルをもとに描画コマンドを生成し（ｃ）、続いてＰＤＬドライバ６０２がその描画コマンドをネットワークプリンタが解釈可能なＰＤＬファイルにする。
【００６３】
図６は、ジョブ制御プリントサービス６２２において１つのプリントジョブを二つのプリントジョブに分けられるジョブ制御が行われる例で、２つのメンバジョブが生成されたことが２つの矢印（ｃ）で示されている。ＰＤＬドライバ６０２で生成されたＰＤＬファイルはＷｉｎｄｏｗｓ（Ｒ）スプーラ６０４、ジョブ制御ポートモニタ６２１を経て（ｄ）、再びジョブ制御プリントサービス６２２に渡される（ｅ）。ジョブ制御プリントサービス６２２は、ジョブ制御サーバ６３０の指示に従ってＰＤＬで記述されたプリントジョブデータをネットワークプリンタ６５０Ａ〜６５０Ｂに送信する（ｆ）。
【００６４】
ジョブ制御プリントサービス６２２は、汎用印刷ファイル中の印刷指示書の指示にしたがって、一つの汎用印刷ファイルを複数のプリントジョブに論理的に分割してそれぞれ別のネットワークプリンタに送信したり、一度送信したプリントジョブデータを別のネットワークプリンタに送信し直したりする。図Ａ中の（ｃ）（ｄ）（ｅ）（ｆ）はそのような場合のプリントジョブデータの経路を示している。
【００６５】
一方、汎用印刷ファイルをアプリケーションソフトウェアが作成し、そのアプリケーションソフトウェアが直接汎用印刷ファイルを印刷ジョブとして投入する場合、一般のアプリケーションとはグループプリンタドライバ６０３への情報の渡し方や、グループプリンタドライバ６０３での処理内容が異なる。前述のように、一般のアプリケーションの場合、アプリケーションはグループプリンタドライバ６０３に描画情報を渡す際、通常のプリンタドライバと同じようにＷｉｎｄｏｗＳ（Ｒ）のＧＤＩ関数を呼び出し、グループプリンタドライバ６０３がそれに応じて汎用ドキュメントデータを生成し、該生成された汎用ドキュメントデータがジョブ制御プリントサービス６２２によって汎用印刷ファイルに生成される。これに対して汎用印刷ファイルを直接作成するアプリケーションの場合は、アプリケーションが汎用印刷ファイルをすでに持ち、それをグループプリンタドライバ６０３に供給する。グループプリンタドライバ６０３は必要に応じてあらかじめ設定された印刷方法にもとづいて汎用印刷ファイル内部の印刷指示書を書き換えてＷｉｎｄｏｗｓ（Ｒ）スプーラ６０４に送る。
【００６６】
図８は、汎用印刷ファイルの構成の一例を示した図である。本実施の形態で使用される汎用印刷ファイルは、印刷指示部と、ドキュメントデータ部から構成される。印刷指示部は、ドキュメントの情報と印刷指示を記述した部分である。また、ドキュメントデータは、アプリケーションのデータを汎用的な形式のデータに変換したものであり、プリンタ言語に依存しないデータフォーマットとなっている。
【００６７】
印刷指示部はヘッダ部、ページ情報部、印刷体裁指示部、出力方法指定部、グループプリンタドライバ設定情報部、メンバプリンタ数、メンバプリンタドライバ名、メンバプリンタドライバ設定情報部などから構成されている。
【００６８】
ヘッダ部は本ファイルのバージョン識別やファイル情報などの情報を格納する部分である。
【００６９】
ページ情報部は、ドキュメントデータ部のドキュメントデータのページ数、各ページのサイズなどの情報を格納する部分である。
【００７０】
印刷体裁指示部は、印刷ページ範囲、印刷部数、ドキュメントデータの面付け情報（Ｎ−ＵＰや製本印刷など）、ステイプル指示やパンチ指示など、出力体裁に関する情報を格納する部分である。
【００７１】
出力方法指定部は、出力方法として、分散印刷、カラーモノクロ分散印刷、代行印刷、同報印刷などの情報を格納する部分である。
【００７２】
グループプリンタドライバ設定情報部は、後述するグループプリンタドライバのＵＩの設定情報を格納する部分である。
【００７３】
メンバプリンタ数はグループプリンタドライバが関連付けているメンバプリンタの数を格納する部分である。
【００７４】
メンバプリンタドライバ名は、メンバプリンタのプリンタドライバ名を格納する部分である。
【００７５】
メンバプリンタドライバ設定情報部はメンバプリンタのドライバＵＩの設定情報として例えばＤＥＶＭＯＤＥ情報を格納する部分である。
【００７６】
このメンバプリンタドライバ名とメンバプリンタドライバ設定情報部は、前述のメンバプリンタ数に格納された数だけの格納エリアを持っている。
【００７７】
前述の図６で説明したグループプリンタドライバ６０３では、汎用印刷ファイルを生成する際、グループプリンタドライバＧＵＩ上の設定を印刷指示部へ記録する。さらに、グループプリンタドライバ６０３はＧＤＩで受け取ったデータを汎用的なデータに変換し、ドキュメントデータを本汎用印刷ファイルのドキュメントデータ部に記録することとなる。
【００７８】
次に図７でＯＳが提供するＰｒｉｎｔＳｙＳｔｅｍと印刷ジョブ制御システムにおける印刷ジョブの関係と処理概要をさらに詳しく述べる。
【００７９】
図７中で印刷ジョブ制御システム７００は、サーバとクライアントの制御プログラムが動作する物理的なマシンをまたいだ、印刷ジョブ制御システムの範囲を示している。また、サーバが管理している出力ポート（Ｏｕｔｐｕｔ　Ｐｏｒｔ）７１１は、クライアントのジョブ制御プリントサービス６２２のプロキシ出力ポート（Ｐｒｏｘｙ　ＯｕｔｐｕｔＰｏｒｔ）７１２と関連付けられ、ひとつのポートに関連づけられた各クライアント上のプロキシ出力ポート全てを統一的に管理している。本実施例では、実際のプリントジョブデータはおのおののクライアントのプロキシ出力ポート７１２に保持される。ジョブ制御サーバ６３０は、プリントジョブデータ自体の送信処理は行わず、ジョブ制御プリントサービス６２２に対して印刷ジョブの送信指示のみを行う。その指示に応じてクライアントコンピュータのジョブ制御プリントサービス６２２はプリントジョブデータをネットワークプリンタ６５０Ａ〜６５０Ｂに送信する。
【００８０】
次に、印刷ジョブ制御システム７００が、代行印刷、分散印刷、同報印刷などの付加価値的な印刷を行う場合の処理を説明する。
【００８１】
印刷ジョブ制御システム７００が、代行印刷、分散印刷、同報印刷などの付加価値的な印刷を行う場合には、前述のようにユーザまたはアプリケーション６０１はグループプリンタドライバ６０３に印刷ジョブを発行しなければならない。ジョブ制御プリントサービス６２２は、グループプリンタドライバ６０３によって処理されたジョブデータをジョブ制御ポートモニタ６２１を介して汎用印刷ファイルとして受け取る。
【００８２】
ジョブ制御プリントサービス６２２はこのジョブデータを受け取り、Ｄｅ−ｓｐｏｏｌｅｒ７０１を介して、別のＰＤＬドライバにジョブ（メンバジョブ）を発行して、そのＰＤＬドライバに対応するネットワークプリンタ６５０Ａ〜６５０Ｂに印刷を行わせる。
【００８３】
この時、Ｄｅ−ｓｐｏｏｌｅｒ７０１は、前述の図８で説明した汎用印刷ファイルの印刷指示部を解釈し、ドキュメントデータ部のドキュメントデータを加工して、ＯＳのＧＤＩに変換し、各プリンタドライバに対して印刷指示を行い印刷ジョブを発行する。
【００８４】
例えば印刷体裁指定部に、２−ＵＰの指示が記録されていた場合、用紙１枚に２ページ分のドキュメントデータを縮小レイアウトする。また分散印刷あるいは同報印刷の場合には、それらの設定に応じて印刷指示部に記述されている複数のメンバプリンタにジョブを発行する。代行印刷の場合は、代行する条件が満たされた時に、自動代行では事前の設定に応じて、手動代行ではユーザの操作に応じて、メンバジョブを発行する。
【００８５】
また、上に説明したＤｅ−ｓｐｏｏｌｅｒとは別のモジュールに印各メンバプリンタドライバに対応する指示情報を刷指示部から抽出させ、該抽出された各メンバプリンタドライバに対する印刷指示をＤｅ−ｓｐｏｏｌｅｒに解釈させるような形態も想定される。
【００８６】
また、Ｄｅ−ｓｐｏｏｌｅｒ７０１は各メンバプリンタにジョブを発行する際、メンバプリンタドライバに対応する印刷指示として、各メンバプリンタのＤＥＶＭＯＤＥを作成する必要があるが、このＤＥＶＭＯＤＥは印刷指示部に記載された内容を適宜各メンバプリンタのＤＥＶＭＯＤＥに反映させて生成する。
【００８７】
クライアントコンピュータ側のジョブ制御プリントサービス６２２は、ＰＤＬドライバ６０２によってレンダリングされた、それぞれのメンバジョブのＰＤＬデータをジョブ制御ポートモニタ６２１を介して受け取り、受け取ったジョブに関する情報をサーバ側に知らせ、ジョブデータは自身のプロキシ出力キュー（Ｐｒｏｘｙ　Ｏｕｔｐｕｔ　Ｐｏｒｔ）７１２で一時保持する。その後、ジョブ制御サーバ６３０からの送信指示を受けた後にネットワークプリンタ６５０Ａ〜６５０Ｂに送信する。
【００８８】
このように、複数のネットワーク機器を使用したシステムにおいては、ネットワーク機器を使用するための設定を行う。例えば、図６または図７の印刷システムにおいては、ネットワークプリンタ６５０Ａとネットワークプリンタ６５０Ｂとのそれぞれに適したＰＤＬドライバをクライアントコンピュータにインストールし、さらに、各ＰＤＬドライバとネットワークプリンタとを対応付けるために、ネットワークプリンタのネットワークアドレスなどを設定する。また、ジョブ制御サーバ６３０が、ステータスやジョブの処理状況に関する情報を各ネットワークプリンタから取得するためには、各ネットワークプリンタのネットワークアドレスなどが設定されていなければならない。
【００８９】
そして、ネットワーク機器を使用するための設定を行うためには、ネットワークに接続されているネットワーク機器を探索し、各ネットワーク機器に関する情報を取得しなければならない。
【００９０】
図９は、機器の探索方法において、クライアントコンピュータ又はサーバコンピュータが実行する処理を示したフローチャートである。以下、フローチャートに従い、本実施例の機器の探索処理を説明する。
【００９１】
本実施例では、ジョブ制御マネージメントコンソール６３３やジョブ制御プリントマネージャ６２３等が以下の機能を実装する。
【００９２】
まず、以下の機能を処理するプログラムの起動に際し、必要な初期化処理を行う（ステップＳ９０１）。以降、処理ループに入る。まず、機器の探索要求が検出されたかどうかを判定する（ステップＳ９０２）。探索要求は、ユーザが図１７のような設定画面上の「探索」ボタンを押下すること等で発行される。
探索要求が検出された場合（ステップＳ９０２でｙｅｓ）、ユーザが指定した探索範囲を取得する（ステップＳ９０３）。探索範囲は、図１６のような設定画面においてユーザにより設定される。図１６では、ネットワークアドレスとサブネットマスクが指定される方法（１６０１）と、ＩＰアドレスが直接指定される方法（１６０２）がある。なお、ＩＰブロードキャストアドレスが直接指定されることも可能である。
【００９３】
次に、図１５のような設定画面でユーザが指定した探索時間Ｔ１を取得し、探索要求を受け付けた時刻として受付時刻Ｔ２を取得する（ステップ９０４）。なお、探索時間は、図１５の１５０１で指定可能である。
【００９４】
更に機器の探索を行った際に機器からの応答を受け付けるが、受け付ける応答の最大数を示す最大応答受付機器数Ｎｍａｘを取得する（ステップＳ９０５）。これはプログラム内部の初期値値か、ユーザから指定された値のいずれかであり、指定されない場合はその旨を表す数値（ＤＷＯＲＤ型で０ｘＦＦＦＦＦＦＦＦ等、あらかじめ定義された数値）が指定される。ユーザが指定したい場合は、図１５の１５０２で指定可能である。
【００９５】
次に、実際に探索によって見つかった機器の数を示す検出機器数Ｎを０（ゼロ）で初期化し、探索機器情報を保持する機器情報リストＬを初期化する（ステップＳ９０６）。
【００９６】
そして、機器の探索を行う探索パケットを生成し、ステップＳ９０３で取得した探索範囲に向けてに送信し（ステップＳ９０７）、最後にステップＳ９０２に戻る。なお、この探索パケットは、機器のネットワークアドレスを要求するコマンドや、機器の所定の情報を要求するコマンド、機器に対して返事をするように指示するコマンドであってもよい。
【００９７】
一方、ステップ９０２でＮｏの場合は、探索パケットに対する応答パケットをネットワーク機器から受信したか否かを判定する（ステップＳ９０８）。応答パケットを受けた場合（ステップＳ９０８でＹｅｓ）場合は、応答パケットから、機器のネットワークアドレス等の機器情報を取得する（ステップＳ９０９）。そして、取得した機器情報を機器情報リストに登録する（ステップ９１０）。
【００９８】
さらに、検出機器数Ｎを１増加して（ステップＳ９１１）、検出機器数Ｎが最大応答受付機器数Ｎｍａｘより小さいか判定する（ステップ９１２）。なお、ここでは、より小さいかどうかを判定したか、以下であるかどうかを判定してもよい。
【００９９】
小さい場合は（ステップＳ９１２でＹｅｓ）、探索処理を続行するためにステップＳ９０２に戻る。また、ステップＳ９１２でＮｏの場合には、ステップＳ９１４に進む。
【０１００】
ステップＳ９０８でＮｏの場合は、現在の時刻を取得し、探索要求受付時刻Ｔ２から探索時間Ｔ１が経過したかどうかを判定する（ステップＳ９１３）。
【０１０１】
見つかった機器の数が最大応答受付機器数Ｎｍａｘに達した場合（ステップＳ９１２でＮｏ）、または、探索時間Ｔ１が経過した場合（ステップＳ９１３でＹｅｓ）には、機器からの応答パケットの受付けを終了する（ステップＳ９１４）。
【０１０２】
そして、機器情報の表示条件を取得する（Ｓ９１５）。この表示条件とは、探索によって見つかったネットワーク機器全部について機器情報を表示するのか、または、フィルタをかけて一部のネットワーク機器についてのみ機器情報を表示するのかを指定するものである。または、それぞれのネットワーク機器に関して、取得した機器情報の全てを表示するのか、フィルタをかけて一部の機器情報のみを表示するのかを指定するものである。表示条件は、ユーザによって指定される場合もあれば、プログラムの内部で決定されている場合もある。
【０１０３】
つぎに、表示条件に適合したネットワーク機器または表示条件に適合した機器情報を、機器情報リストから抽出し、表示リストを生成する（ステップＳ９１６）。
【０１０４】
表示条件が「全機器を表示する」である場合は、表示リストと機器情報リストは等価である。「特定のＩＰアドレス範囲に属する機器のみを表示する」である場合は、図１３のフローチャートが示す処理を実行する。
【０１０５】
図１３が示す処理では、まず、ユーザが設定画面で指定したアドレス範囲を取得し（ステップＳ１３０１）、各ネットワーク機器のＩＰアドレスと指定されたアドレス範囲とを比較して、機器情報リストから、指定されたアドレス範囲に属するネットワーク機器を抽出し、それを表示リストにする（ステップＳ１３０２）。また、指定されたアドレス範囲に属さない機器を機器情報リストから削除して、それを表示リストとしてもよい。
【０１０６】
図９のステップ９１７に説明を戻す。ここでは、表示リストに基づいて、図１７のような画面を表示する（ステップＳ９１７）。図１７においては、１７０１には、見つかったネットワーク機器のＩＰアドレスと機器名が表示されている。また、１７０２では、表示条件の一つとして、表示対象となるネットワーク機器のアドレス範囲を指定することができる。
【０１０７】
なお、ステップ１３０２での表示は、ウェブブラウザを用いてもよい。この場合、表示リストに基づいて、図１７のような画面が記述されたＨＴＭＬ（Ｈｙｐｅｒ　Ｔｅｘｔ　Ｍａｒｕｋｕｐ　Ｌａｎｇｕａｇｅ）データを生成し、そのＨＴＭＬデータを外部装置のウェブブラウザに送信することにより、外部装置のウェブブラウザで図１７のような画面が表示される。
【０１０８】
図９のステップＳ９１３に説明を戻す。ステップＳ９１３でＮｏの場合には、プログラムの終了要求が検出されたかを判定する（ステップＳ９１８）。プログラムの終了要求が検出された場合には、プログラムの終了処理を行い（ステップＳ９１９）、プログラムを終了する。ステップＳ９１８でＮｏの場合は、その他の処理を適宜行う（ステップＳ９２０）。
【０１０９】
ここで、機器情報をユーザが追加登録する機能について説明する。この登録機能では、図１７の１７０１に表示された機器のいずれかをユーザが選択すると、図１８の設定画面が表示される。図１８の画面では「ＩＰアドレスまたはホスト名」は探索結果に基づいて自動で設定される。その他の「ポート名」や「製品名」の欄は、ユーザが値を入力して「ＯＫ」ボタンを押下することにより、登録される。
【０１１０】
そして、探索によって取得された機器情報と、図１８の設定画面で入力された情報により、図２０のような画面が閲覧可能になる。
【０１１１】
つぎに、ネットワーク機器の動作について説明する。図１１は、探索処理における機器側の処理を示すフローチャートである。ここでは、ネットワーク機器として、プリンタ等の印刷機能を持つ印刷機器を例に説明する。まず、機器をリセットし、初期化処理を行う（ステップＳ１１０１）。
【０１１２】
次に、ネットワークからのデータの受信があるか判定し（ステップＳ１１０２）。データの受信があった場合には（ステップＳ１１０２でＹｅｓ）、探索パケットであるかどうかを判定する（ステップＳ１１０３）。ここでは、探索パケットとして、ＳＮＭＰ（Ｓｉｍｐｌｅ　Ｎｅｔｗｏｒｋ　Ｍａｎａｇｅｍｅｎｔ　Ｐｒｏｔｏｃｏｌ）のＧｅｔ−ｒｅｑｕｅｓｔコマンドが使われている。よって、Ｇｅｔ−ｒｅｑｕｅｓｔコマンドであった場合には（ステップＳ１１０３でＹｅｓ）には、応答パケットとしてＧｅｔ−ｒｅｓｐｏｎｓｅコマンドを生成し、それをＲＡＭに書きこむ（ステップＳ１１０４）。これにより、機器の送信手段が、ＲＡＭに書き込まれたＧｅｔ−ｒｅｓｐｏｎｓｅコマンドをＧｅｔ−ｒｅｑｕｅｓｔコマンドの送信元に向けて送信する。
【０１１３】
一方、ステップＳ１１０３でＮｏの場合には、印刷要求であるかどうかを判定する（ステップＳ１１０５）。印刷要求の場合は（ステップＳ１１０５でＹｅｓ）、印刷要求とともに送信されてくる印刷データに基づいて印刷処理を行う（ステップＳ１１０６）。
【０１１４】
さらに、ステップＳ１１０３でもＮｏの場合には、終了コマンドを受信したか否かを判定する（ステップＳ１１０７）。終了コマンドであった場合には、機器の電源を切断して動作を終了する。
【０１１５】
ステップＳ１１０７でもＮｏの場合はその他の処理を適宜行う（ステップＳ１１０９）。印刷機器では機器の構成情報取得やジョブ情報取得コマンドの処理等があるが、これは本発明の本質とは関係ないので説明を省略する。
【０１１６】
また、ステップＳ１１０２でＮｏの場合は機器の電源ボタンが押下されるなどの終了指示があったかどうかを判定し（ステップＳ１１０８）、あった場合は動作を終了する。
【０１１７】
上記の探索処理では、管理サーバがネットワークに存在することを必要としない。しかし、表示条件が、管理サーバから取得した情報に関係するものであってもよい。ここでは、図９のステップＳ９１５で取得された表示条件が「管理サーバに登録されていない機器」である場合について説明する。
【０１１８】
図１２は、図９のステップＳ９１５の処理の詳細を表したフローチャートである。まず、管理サーバ名及び管理サーバのネットワークアドレスを取得する（ステップＳ１２０１）。これは、管理サーバが一台の場合はプログラム内で自動的に決定することも可能であるし、ユーザの指定により決定することも可能である。また、管理サーバ名からアドレスを決定することも可能である。
【０１１９】
次に、管理サーバに対し，管理機器情報リストの取得要求を送信する（ステップＳ１２０２）。そして、管理サーバからの応答を受信するまで待機する（ステップＳ１２０３）。応答を受信したら（ステップＳ１２０３でＹｅｓ）、取得した管理機器情報リストと機器情報リストとを比較して、表示リストを生成する（ステップＳ１２０４）。表示条件が「管理サーバに登録されていない機器」である場合は、機器情報リストに載っていて、管理機器情報リストに載っていない情報を、表示リストに追加していく。これにより、管理サーバで管理されていないで、探索によって見つかったネットワーク機器を抽出してユーザに提示することができる。
【０１２０】
また、この場合の管理サーバの動作について説明する。図１０は、探索処理において管理サーバ側が実行する処理を示すフローチャートである。なお、管理サーバ機能はジョブ制御サーバ６３０などに実装されることが考えられる。
【０１２１】
まず、必要な初期化処理を行う（ステップＳ１００１）。管理機器情報リストの取得要求が外部装置から受信されたかどうかを判定する（ステップＳ１００２）。管理機器情報リストの取得要求があった場合には、管理している機器の機器情報から管理機器情報リストを生成し、それを外部装置に返信する（ステップＳ１００３）。
【０１２２】
管理機器情報リストの取得要求でなかった場合には、つぎに、管理サーバ情報の取得要求を外部装置から受信したかどうかを判定する（ステップＳ１００４）。管理サーバ情報の取得要求を受信した場合には、自分に関する情報を外部装置に返信する（ステップ１００５）。
【０１２３】
最後に、プログラム終了要求を検出したか判定し（ステップＳ１００６）Ｙｅｓの場合はプログラムの終了処理を行い（ステップＳ１００７）、プログラムを終了する。Ｎｏの場合は、その他の処理を適宜実行する（ステップＳ１００８）。この部分は本発明および実施例の本質とは無関係であるので、説明を省略する。
【０１２４】
管理サーバが複数存在し得る場合には、管理サーバを探索する必要がある。図１４は、管理サーバを探索して選択する処理を示すフローチャートであり、図９の９２０で実行される。
【０１２５】
まず、管理サーバの探索要求がユーザによりなされたかどうかを判定する（ステップＳ１４０１）。管理サーバの探索要求があった場合には（ステップＳ１４０１でＹｅｓ）、サーバ情報の取得要求をネットワークに対してブロードキャストする（ステップＳ１４０２）。
【０１２６】
そして、管理サーバからの応答を待つ時間を示す応答待機時間Ｔｗを取得する（ステップＳ１４３０）応答待機時間Ｔｗはプログラムの内部で決定されているか、または初期化ファイルなどで変更できるものとする。
【０１２７】
その後は、管理サーバからの応答を受信したか判定し（ステップＳ１４０４）、応答を受信した場合は受信したサーバ情報を管理サーバリストに登録し（ステップＳ１４０５）、応答を受信していない場合には応答待機時間Ｔｗが経過したか判定する（ステップＳ１４０６）。
【０１２８】
応答待機時間Ｔｗが経過していない場合には、ステップＳ１４０４とＳ１４０５を実行してサーバ情報を随時取得し、応答待機時間Ｔｗが経過した場合には（ステップＳ１４０６でＹｅｓ）、管理サーバリストを図１９のよう画面において表示する（ステップＳ１４０７）。ユーザは、１９０１において、管理サーバを選択することができる（ステップＳ１４０８）。
【０１２９】
【発明の効果】
以上説明したように、本発明によれば、探索によって見つけたい機器の台数を指定可能にし、探索によって見つかった機器の台数が指定された台数に達したか、または指定された台数を超えたかを判定することにより、探索処理に費やす時間を短縮することができ、ユーザに対する応答性をよくすることができる。
【０１３０】
また、探索によって見つかった機器の台数が所定数に達するか、探索時間が経過するかのいずれかが成立した時点で探索処理を終了することにより、探索処理に費やす時間を制限し、探索処理が一向に終わらないのを防止することができる。
【０１３１】
また、探索範囲を設定することにより、または、表示する機器を指定する条件または表示する機器情報の種類を指定する条件を設定することにより、探索によって見つかった全ての機器に関する機器情報を表示するのを防止し、ユーザが探索結果を理解しやすいようにすることができる。
【０１３２】
また、ネットワークに接続されている機器を管理する管理サーバに登録されている機器に関する機器情報を取得して、探索によって取得された機器情報と、管理サーバから取得された機器情報とを比較して、管理サーバに登録されていない機器に関する機器情報のみを表示することにより、管理サーバに登録されていない機器に関する機器情報のみを表示することができ、管理サーバへの機器の登録を容易にする。
【０１３３】
また、管理サーバが複数存在する場合には、管理サーバを選択可能にすることにより、各管理サーバに応じた探索結果をユーザに提示することができる。
【図面の簡単な説明】
【図１】情報処理システムの構成を説明するブロック図である。
【図２】情報処理装置の構成を説明するブロック図である。
【図３】ＲＡＭのメモリマップの一例を示す図である。
【図４】ＦＤのメモリマップの一例を示す図である。
【図５】ＦＤドライブ２０３に対して挿入されるＦＤ２０４との関係を示す図である。
【図６】一般的なアプリケーションプログラムから発行された印刷要求が、印刷ジョブ制御システムにおいてどのように処理されるかを示した図である。
【図７】印刷ジョブ制御システムで行われる処理の概要を示す図である。
【図８】汎用印刷ファイルの構成の一例を示した図である。
【図９】機器の探索方法において、クライアントコンピュータ又はサーバコンピュータが実行する処理を示したフローチャートである。
【図１０】探索処理において管理サーバ側が実行する処理を示すフローチャートである。
【図１１】探索処理における機器側の処理を示すフローチャートである。
【図１２】管理サーバから機器情報を取得する処理を示すフローチャートである。
【図１３】表示リストを生成する処理を示すフローチャートである。
【図１４】管理サーバを探索して選択する処理を示すフローチャートである。
【図１５】設定画面の一例を示す図である。
【図１６】設定画面の一例を示す図である。
【図１７】設定画面の一例を示す図である。
【図１８】設定画面の一例を示す図である。
【図１９】設定画面の一例を示す図である。
【図２０】設定画面の一例を示す図である。
【符号の説明】
１０１　サーバコンピュータ
１０２　クライアントコンピュータ
１０３　クライアントコンピュータ
１０４　クライアントコンピュータ
１０５Ａ　ネットワークプリンタ
１０５Ｂ　ネットワークプリンタ
１０５Ｃ　ネットワークプリンタ
１０６　ネットワーク
【図１】
2004005015.tif 000003
【図２】
2004005015.tif 000004
【図３】
2004005015.tif 000005
【図４】
2004005015.tif 000006
【図５】
2004005015.tif 000007
【図６】
2004005015.tif 000008
【図７】
2004005015.tif 000009
【図８】
2004005015.tif 000010
【図９】
2004005015.tif 000011
【図１０】
2004005015.tif 000012
【図１１】
2004005015.tif 000013
【図１２】
2004005015.tif 000014
【図１３】
2004005015.tif 000015
【図１４】
2004005015.tif 000016
【図１５】
2004005015.tif 000017
【図１６】
2004005015.tif 000018
【図１７】
2004005015.tif 000019
【図１８】
2004005015.tif 000020
【図１９】
2004005015.tif 000021
【図２０】
2004005015.tif 000022