JP2004005015A - Search method, search program and information processor - Google Patents

Search method, search program and information processor Download PDF

Info

Publication number
JP2004005015A
JP2004005015A JP2002157527A JP2002157527A JP2004005015A JP 2004005015 A JP2004005015 A JP 2004005015A JP 2002157527 A JP2002157527 A JP 2002157527A JP 2002157527 A JP2002157527 A JP 2002157527A JP 2004005015 A JP2004005015 A JP 2004005015A
Authority
JP
Japan
Prior art keywords
search
setting
network
response data
device information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2002157527A
Other languages
Japanese (ja)
Inventor
Akiko Hirahara
平原 晶子
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2002157527A priority Critical patent/JP2004005015A/en
Publication of JP2004005015A publication Critical patent/JP2004005015A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Computer And Data Communications (AREA)
  • Small-Scale Networks (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To reduce the time needed for a search process in searching the equipment connected to a network. <P>SOLUTION: Search data for searching for the equipment are transmitted to the network and response data to the search data are received from the network to search for the equipment. Further, it is made possible to set the number of response data received, so that when the number of response data received has reached or exceeded the set number, reception of the response data is terminated. <P>COPYRIGHT: (C)2004,JPO

Description

【0001】
【発明の属する技術分野】
本発明は、ネットワークに接続されたネットワーク機器(ネットワークデバイス)を探索する探索方法、及びこの探索を行うシステム、装置、プログラムに関するものである。
【0002】
【従来の技術】
従来のネットワーク機器管理システムにおける機器の探索方法では、ネットワーク管理プロトコルを用いて機器探索が行われていた。例えば、簡易ネットワーク管理プロトコル(通称SNMP。Simple Network Management Protocolの略)を用いた場合では、まず、コンピュータが、指定されたIP(Internet Protocol)アドレスまたはIPブロードキャストアドレスに対して、SNMPのGet−requestコマンドを送信する。一方、ネットワーク機器がこれを受信して、Get−responseコマンドを応答する。すると、コンピュータは、Get−responseコマンドに付随するアドレス情報を抽出することにより、どのネットワーク機器から応答があったかを特定することができる。これによって、ネットワーク機器を探索して、ネットワークに現在接続されているネットワーク機器を見つける(ネットワーク機器のアドレス情報を取得する)ことができる。
【0003】
また、探索時間をユーザが指定可能な場合には、その探索時間を応答を待つ時間とし、探索時間内に応答があったネットワーク機器に関する情報を探索結果として表示していた。
【0004】
【発明が解決しようとする課題】
しかしながら、上記の従来例では、探索時間が満了するまで探索処理が終了されない。そのため、ユーザ(ネットワークの管理者など)がネットワーク上に接続されているネットワーク機器の台数を把握している場合などでも、探索時間が満了するのを待たなければならない。例えば、ネットワーク機器の数が少量で、その台数分の応答が返ってきた時点で本来の探索が終了するにもかかわらず、ユーザは探索時間が経過するのを待たなくてはならないため、ユーザに対する応答性が悪くなる恐れがあった。
【0005】
また、機器の使用を設定するために探索結果を流用する場合、たとえ探索でみつかった機器であっても、すでに設定済みの機器に関しては、その機器に関する情報は表示しない方が、ユーザの認識のしやすさは向上する。しかし、従来の機器の探索機能をそのまま使用した場合には、探索結果をそのまま表示するしかなかった。
【0006】
従って、本発明は、上記の問題点を解決するためになされたものであり、探索待ち時間の削減、ユーザにとって不要な機器情報の非表示を行うことで、ユーザの処理効率のよい、ユーザにとって使いやすい探索方法、または当該探索方法を実行するシステム、装置、プログラムを提供することを目的とする。
【0007】
【課題を解決するための手段】
上記課題を解決するために、本発明では、機器を探索するための探索データをネットワークに送信して、探索データに対する応答データをネットワークから受信する受信して機器の探索を行い、さらに、受け付ける応答データの数を設定可能にすることにより、受信された応答データの数が、設定された数に達したとき、または設定された数を超えたとき、応答データの受信を終了させることを特徴とする。
【0008】
また、探索範囲を設定することを可能とし、設定された探索範囲に属するネットワークアドレスに対して、探索データを送信することを特徴とする。
【0009】
また、受信された応答データの数が、設定された数に達したとき、または設定された数を超えたとき、取得された機器情報を表示することを特徴とする。
【0010】
また、表示する機器を指定する条件または表示する機器情報の種類を指定する条件を設定することを可能とし、設定された条件に従って、機器情報を表示することを特徴とする。
【0011】
また、ネットワークアドレスの範囲を設定可能であり、設定された範囲に属するネットワークアドレスを有する機器に関する機器情報のみを表示することを特徴とする。
【0012】
また、ネットワークに接続されている機器を管理する管理サーバに登録されている機器に関する機器情報を取得して、探索によって取得された機器情報と、管理サーバから取得された機器情報とを比較して、管理サーバに登録されていない機器に関する機器情報のみを表示することを特徴とする。
【0013】
また、管理サーバを探索することを可能とし、探索により検出された管理サーバに関するサーバ情報を表示して、表示された管理サーバのうち、ユーザにより選択された管理サーバから機器情報を取得することを特徴とする。
【0014】
【発明の実施の形態】
以下、本発明を適用するのに好適である実施形態について説明を行う。
【0015】
図1は、本発明を適用可能な情報処理システムの構成を説明するブロック図である。なお、本システムにおけるクライアントコンピュータは、1台、または複数台接続されていることを仮定している。
【0016】
図1において、102、103、104はクライアントコンピュータ(クライアント)としての情報処理装置である。これらのクライアントコンピュータはイーサネット(登録商標)などのネットワークケーブルによってネットワーク106に接続され、アプリケーションプログラム等の各種のプログラムを実行可能である。また、印刷データをプリンタに対応するプリンタ言語に変換する機能を有するプリンタドライバを搭載している。なお、プリンタドライバは複数のプリンタまたは複数のプリンタ言語をサポートするものとする。
【0017】
なお、プリンタとしては、電子写真方式を採用したレーザービームプリンタ、インクジェット方式を採用したインクジェットプリンタ、熱転写方式を利用したプリンタ等様々な方式の印刷装置が想定される。
【0018】
101は、サーバコンピュータとしての情報処理装置である。サーバコンピュータ101は、ネットワークケーブルによってネットワーク106に接続され、ネットワークで共有されるファイルを蓄積したり、ネットワーク106またはネットワーク106に接続されているネットワーク機器の使用状態を監視し、管理する。
【0019】
クライアントコンピュータ102〜104とサーバコンピュータ101は、一般的な情報処理装置であり、クライアントコンピュータとサーバコンピュータには、それぞれ異なる制御を行う印刷制御プログラムが実行可能に格納されている。
【0020】
また、サーバコンピュータ101は、一般的な情報処理装置であり、クライアントコンピュータ102〜104の機能を同時に持つこともできる。
【0021】
本実施形態におけるサーバコンピュータ101は、さらにクライアントコンピュータ102、103、104から印刷要求が出された印字データを含む印刷ジョブを格納して、当該印刷ジョブをプリンタに転送したりする。または、クライアントコンピュータ102、103、104から印字データを含まない印刷ジョブ情報のみを受け取り、クライアントコンピュータ102、103、104間での印刷順序を管理して、印刷順序が回ってきたクライアントコンピュータに対して印字データを含む印刷ジョブの送信許可を通知する。さらに、ネットワークプリンタ105A〜105Cのステータスに関する情報やネットワークプリンタ105A〜105Cに保持されている印刷ジョブに関する情報など様々な情報を取得し、クライアントコンピュータ102、103、104に通知したりする機能を揃えている。
【0022】
105A〜105Cは、ネットワーク機器としての一例であるネットワークプリンタである。ネットワーク機器はネットワークインタフェースを介してネットワーク106と接続可能な機器であり、ネットワークプリンタの他には、複写機、FAX装置、スキャナ、家電製品などがある。一例としてのネットワークプリンタ105A〜105Cは、クライアントコンピュータから送信される印字データを含む印刷ジョブを受信・解析して、1ページ毎のドットイメージデータを生成し、そのドットイメージデータに基づいて1ページ毎に記録用紙に印刷する。
【0023】
106は、ネットワークであり、クライントコンピュータ102、103、104、サーバコンピュータ101、ネットワークプリンタ105A〜105C等とをそれぞれ通信可能に接続している。
【0024】
図2は、本実施の形態における情報処理装置の構成を説明するブロック図である。図1においては、クライントコンピュータ102、103、104も同じ構成であり、さらにサーバコンピュータ101も同様あるいは同等のハードウエア構成となっている。
【0025】
図2において、200は、情報処理装置の制御手段であるCPUであり、ハードディスク(HD)205に格納されているアプリケーションプログラム、プリンタドライバプログラム、OSや本発明のネットワークプリンタ制御プログラム等を実行し、RAM202にプログラムの実行に必要な情報、ファイル等を一時的に格納する制御を行う。
【0026】
201は、記憶手段としてのROMであり、内部には、基本I/Oプログラム等のプログラム、文書処理の際に使用するフォントデータ、テンプレート用データ等の各種データを記憶する。202は一時記憶手段としてのRAMであり、CPU200の主メモリ、ワークエリア等として機能する。
【0027】
203は記憶媒体読み込み手段としてのフロッピー(登録商標)ディスク(FD)ドライブであり、後述する図5に示すように、記憶媒体としてのFD(フロッピー(R)ディスク)204に記憶されたプログラム等を装置内にロードすることができる。なお、記憶媒体は、FDに限らず、CD−ROM、CD−R、CD−RW、PCカード、DVD、ICメモリカード、MO、メモリスティック等であってもよい。
【0028】
204は、記憶媒体としてのフロッピー(R)ディスク(FD)であり、コンピュータが読み取り可能なプログラムが格納された記憶媒体である。
【0029】
205は、外部記憶手段の一つであり、大容量メモリとして機能するハードディスク(HD)である。ハードディスク205は、アプリケーションプログラム、プリンタドライバプログラム、OS、ネットワークプリンタ制御プログラム、関連プログラム等を格納している。さらにスプール手段としてのスプーラの記憶領域はここに確保される。
【0030】
スプール手段は、クライアントコンピュータにおいてはクライアントスプーラのことであり、サーバコンピュータにおいてはサーバスプーラのことである。また、サーバコンピュータでは、クライアントコンピュータから受けたジョブ情報を格納し、順序制御を行うためのテーブルもこの外部記憶手段に格納される。
【0031】
206は、指示入力手段としてのキーボードであり、ユーザがクライアントコンピュータに対して、また、オペレータや管理者がサーバコンピュータに対して、機器の制御コマンドの命令等を入力するためのものである。
【0032】
207は、表示手段としてのディスプレイであり、キーボード206から入力されたコマンドや、プリンタの状態等を表示したりするものである。
【0033】
208は、システムバスであり、クライアントコンピュータやサーバコンピュータであるコンピュータ内のデータの流れを司るものである。
【0034】
209は、入出力手段としてのインタフェースであり、情報処理装置はインタフェース209を介してネットワーク106とのデータのやり取りを行う。
【0035】
図3は、図2に示したRAM202のメモリマップの一例を示す図であり、FD204からロードされるネットワークプリンタ制御プログラムが、RAM202にロードされて実行可能となった状態のメモリマップである。
【0036】
本実施形態では、FD204からネットワークプリンタ制御プログラムおよび関連データを直接RAM202にロードして実行させる例を示すが、これ以外にも、FD204からネットワークプリンタ制御プログラムを動作させる度に、既にネットワークプリンタ制御プログラムがインストールされているHD205からRAM202にロードするようにしてもよい。
【0037】
また、本ネットワークプリンタ制御プログラムを記憶する媒体は、FD以外にCD−ROM、CD−R、PCカード、DVD、ICメモリカードであってもよい。さらに、本ネットワークプリンタ制御プログラムをROM201に記憶しておき、これをメモリマップの一部となすように構成し、直接CPU200で実行することも可能である。
【0038】
また、以上の各装置と同等の機能を実現するソフトウェアをもって、ハードウェア装置の代替として構成することもできる。
【0039】
また、本ネットワークプリンタ制御プログラムのことを、簡単に印刷制御プログラムと呼ぶこともある。印刷制御プログラムは、クライアントコンピュータにおいて印刷ジョブの印刷先の変更を指示したり、印刷順序を変更する指示をするための制御を行うプログラムを含む。また、サーバコンピュータにおいては、印刷ジョブの順序制御を行ったり、印刷ジョブの印刷終了や印刷先変更要求などを通知するためのプログラムを含んでいる。また、このような制御を行う本発明の印刷制御プログラムは、クライアントにインストールされるモジュールと、サーバコンピュータにインストールされるモジュールを別々に分けてもよいし、ひとつの印刷制御プログラムが、実行される環境によりクライアント用として機能したり、またはサーバコンピュータ用として機能するようにしてもよい。あるいは一台のコンピュータに、クライアント用の機能を持つモジュールと、サーバコンピュータ用として機能するモジュールをともにインストールし、同時に、あるいは時分割で擬似的に平行動作させる構成も可能である。
【0040】
301は基本I/Oプログラムであり、本制御装置の電源がONされたときに、HD205からOSがRAM202に読み込まれ、OSの動作を開始させるIPL(イニシャルプログラムローデイング)機能などを有しているプログラムが入っている領域である。
【0041】
302はオペレーティングシステム(OS)であり、303はネットワークプリンタ制御プログラムで、RAM202上に確保される領域に記憶される。304は関連データで、RAM202上に確保される領域に記憶される。305はワークエリアで、CPU200が本プリンタ制御プログラムを実行する領域が確保されている。
【0042】
図4は、図2に示したFD204のメモリマップの一例を示す図である。図4において、400は前記FD204のデータ内容であり、401はデータの情報を示すボリューム情報であり、402はディレクトリ情報、403は本実施形態で説明する印刷制御プログラムであるネットワークプリンタ制御プログラム、404はその関連データである。403のネットワークプリンタ制御プログラムは、実施形態で説明するフローチャートに基づいてプログラム化したものであり、本実施例では、クライアントコンピュータ、サーバコンピュータ共、同様の構成をとっている。
【0043】
図5は、図2に示したFDドライブ203に対して挿入されるFD204との関係を示す図であり、図2と同一のものには同一の符号を付してある。図5において、FD204には、本実施形態で説明するネットワークプリンタ制御プログラムおよび関連データを格納している。
【0044】
次に、ネットワークプリンタを複数台使用した印刷ジョブ制御システムについて説明する。
【0045】
なお、本実施の形態では、複数のネットワークプリンタのそれぞれに対応する個々のプリンタドライバに対して一元的に印刷設定を指示可能である。さらに、グループプリンタドライバは、De−spooler(後述にて詳しく説明)が各プリンタドライバに描画命令を通知するための汎用印刷ファイルを生成するための基データ(汎用ドキュメントデータ)を生成する。また、ネットワークプリンタに依存した個々のプリンタドライバをメンバプリンタドライバと呼ぶ。
【0046】
図6は、一般的なアプリケーションプログラムから発行された印刷要求が、印刷ジョブ制御システムにおいてどのように処理されるかを示した図である。
【0047】
図6において、600はクライアントコンピュータで、印刷ジョブ制御システムのクライアントモジュールが動作するコンピュータを指す。
【0048】
通常、アプリケーションプログラムは、ユーザにより印刷の指示がされると、OSのグラフィック機能を介して一連の描画命令を生成させ、それをプリンタドライバを介してスプーラに渡す。スプーラは、ユーザが選択したポートモニタにプリントジョブデータを渡してプリンタに送信させる手順をとる。
【0049】
それでは、図6を用いて具体的に説明する。本実施の形態では、ユーザはあらかじめ印刷ジョブ制御システム用のポートモニタ621(以降、本実施例ではジョブ制御ポートモニタと略記)を指定して印刷を指示する。
【0050】
従って、アプリケーションプログラム601は、OSのグラフィック機能を使って一連の描画命令を生成させ、それをグループプリンタドライバ(グループプリンタDriver)603に渡す。
【0051】
描画命令を受け取ったグループプリンタドライバ603は、汎用印刷ファイルを生成するための汎用ドキュメントデータを生成し、それをジョブ制御ポートモニタ621にプリントジョブデータとして送信する。
【0052】
ジョブ制御ポートモニタ621は、プリントジョブデータをネットワークプリンタ650Aやネットワークプリンタ650Bに送信するのではなく、印刷ジョブ制御システム用プリントサービス622(以降、本実施例ではジョブ制御プリントサービスと略記)に送信する。
【0053】
ジョブ制御プリントサービス622は、ジョブ制御サーバ630の管理するジョブ/機器の状態を管理する機能を備える。更に、ネットワークプリンタとクライアントコンピュータ600とがピアツーピア(Peer To Peer)接続の環境で互いに動作するような場合には、ジョブ制御プリントサービス622はネットワークプリンタ650A〜650Bから通知される機器状態やジョブの状態などの情報を管理したり、また、ネットワークプリンタ650A〜650Bに対して所定の命令をする機能も備える。これは、複数のネットワークプリンタの機器情報やジョブ情報を管理する機能に相当する。
【0054】
印刷ジョブ制御システム用プリントマネージャ623(以降、本実施例ではジョブ制御プリントマネージャと略記)は、ユーザがジョブ制御プリントサービス622内部でプリントジョブがどのような状態にあるかを調べたり、プリントジョブを操作したりするためのユーザインタフェース(UI)を提供するプログラムである。
【0055】
ジョブ制御プリントマネージャ623はジョブ制御プリントサービス622のソフトウェアのインタフェース(API)を介して、ジョブ制御プリントサービス622と情報の送受信を実行し、主に、ジョブ制御プリントサービス622が管理する外部のネットワークプリンタの状態情報をイベントとして取得する機能を備える。イベントの通知の種別としては、トナー残量が少なくなった警告、クライアントと機器との通信障害、メモリ不足、排紙トレー満載などのエラー/警告情報の通知や、エラー状態から正常状態に復帰した正常情報の通知などが想定される。
【0056】
印刷ジョブ制御システム用サーバ630(以降、本実施例ではジョブ制御サーバと略記)は、個々のクライアント600上のジョブ制御プリントサービス622がネットワークプリンタにプリントジョブデータを送信するタイミングを集中制御(スケジューリング)している。また、印刷ジョブ制御システム用サーバ630はネットワークを介して通信可能な各機器(印刷装置)の印刷実行中、電力制御状態、障害情報(紙ジャム)等のステータスを監視し、ジョブ制御プリントサービス622にイベントを通知する機能を備える。ここで、プリンタステータスの状態変化の監視について、ジョブ制御プリントサービス622は直接的に状態の変化の通知(イベント)をネットワークプリンタから取得することもできる。
【0057】
印刷ジョブ制御システム用マネージメントコンソール633(以降、本実施例ではジョブ制御マネージメントコンソールと略記)は、ジョブ制御サーバ630が持つソフトウェアがアクセスするためのAPIを介してジョブ制御サーバ630と情報・指示をやり取りすることで、印刷ジョブ制御システム全体を監視することができる。
【0058】
また、ジョブ制御サーバ630は機器情報コントロールモジュール631を用いて各ネットワークプリンタ650A〜650Bと通信を行い、各プリンタ内の印刷ジョブや動作状態に関する情報を入手したり、操作を行ったりする。入手した情報はクライアント600側のジョブ制御プリントサービス622に渡すことができる。
【0059】
次に本実施の形態におけるグループプリンタドライバ603からの印刷について説明する。
【0060】
概要を説明すると、グループプリンタドライバ603は、このシステムを使用するためのプリンタドライバであり、ジョブ制御プリントサービス622がジョブ制御を行うのに適したデータを生成する。ジョブ制御プリントサービス622は、グループプリンタドライバ603からのデータに基づいて、複数のPDLドライバ602を制御する。例えば、複数のネットワークプリンタで分散印刷を行いたい場合には、分割したデータを複数のPDLドライバのそれぞれに送信する。すると、複数のネットワークプリンタのそれぞれが処理可能なデータが各PDLドライバによって生成されるため、アプリケーションプログラム601からの印刷要求に対して、複数の異種のネットワークプリンタに印刷を行わせることができる。
【0061】
それでは、より詳細に説明する。グループプリンタドライバ603はアプリケーションプログラムが生成した一連の描画コマンドから、上に説明した汎用ドキュメントデータを生成する。この汎用ドキュメントデータはジョブ制御プリントサービス622によってネットワークプリンタの種類に依存しない中間フォーマットのファイルである汎用印刷ファイルに変換される。この汎用印刷ファイルの構成については後述する。
【0062】
この汎用印刷ファイルは前述したようにWindows(R)スプーラ604からジョブ制御ポートモニタ621を経て(a)、ジョブ制御プリントサービス622に導かれる(b)。ジョブ制御プリントサービス622はこのプリントジョブに対して行うジョブ制御の種類に応じて、汎用印刷ファイルをもとに描画コマンドを生成し(c)、続いてPDLドライバ602がその描画コマンドをネットワークプリンタが解釈可能なPDLファイルにする。
【0063】
図6は、ジョブ制御プリントサービス622において1つのプリントジョブを二つのプリントジョブに分けられるジョブ制御が行われる例で、2つのメンバジョブが生成されたことが2つの矢印(c)で示されている。PDLドライバ602で生成されたPDLファイルはWindows(R)スプーラ604、ジョブ制御ポートモニタ621を経て(d)、再びジョブ制御プリントサービス622に渡される(e)。ジョブ制御プリントサービス622は、ジョブ制御サーバ630の指示に従ってPDLで記述されたプリントジョブデータをネットワークプリンタ650A〜650Bに送信する(f)。
【0064】
ジョブ制御プリントサービス622は、汎用印刷ファイル中の印刷指示書の指示にしたがって、一つの汎用印刷ファイルを複数のプリントジョブに論理的に分割してそれぞれ別のネットワークプリンタに送信したり、一度送信したプリントジョブデータを別のネットワークプリンタに送信し直したりする。図A中の(c)(d)(e)(f)はそのような場合のプリントジョブデータの経路を示している。
【0065】
一方、汎用印刷ファイルをアプリケーションソフトウェアが作成し、そのアプリケーションソフトウェアが直接汎用印刷ファイルを印刷ジョブとして投入する場合、一般のアプリケーションとはグループプリンタドライバ603への情報の渡し方や、グループプリンタドライバ603での処理内容が異なる。前述のように、一般のアプリケーションの場合、アプリケーションはグループプリンタドライバ603に描画情報を渡す際、通常のプリンタドライバと同じようにWindowS(R)のGDI関数を呼び出し、グループプリンタドライバ603がそれに応じて汎用ドキュメントデータを生成し、該生成された汎用ドキュメントデータがジョブ制御プリントサービス622によって汎用印刷ファイルに生成される。これに対して汎用印刷ファイルを直接作成するアプリケーションの場合は、アプリケーションが汎用印刷ファイルをすでに持ち、それをグループプリンタドライバ603に供給する。グループプリンタドライバ603は必要に応じてあらかじめ設定された印刷方法にもとづいて汎用印刷ファイル内部の印刷指示書を書き換えてWindows(R)スプーラ604に送る。
【0066】
図8は、汎用印刷ファイルの構成の一例を示した図である。本実施の形態で使用される汎用印刷ファイルは、印刷指示部と、ドキュメントデータ部から構成される。印刷指示部は、ドキュメントの情報と印刷指示を記述した部分である。また、ドキュメントデータは、アプリケーションのデータを汎用的な形式のデータに変換したものであり、プリンタ言語に依存しないデータフォーマットとなっている。
【0067】
印刷指示部はヘッダ部、ページ情報部、印刷体裁指示部、出力方法指定部、グループプリンタドライバ設定情報部、メンバプリンタ数、メンバプリンタドライバ名、メンバプリンタドライバ設定情報部などから構成されている。
【0068】
ヘッダ部は本ファイルのバージョン識別やファイル情報などの情報を格納する部分である。
【0069】
ページ情報部は、ドキュメントデータ部のドキュメントデータのページ数、各ページのサイズなどの情報を格納する部分である。
【0070】
印刷体裁指示部は、印刷ページ範囲、印刷部数、ドキュメントデータの面付け情報(N−UPや製本印刷など)、ステイプル指示やパンチ指示など、出力体裁に関する情報を格納する部分である。
【0071】
出力方法指定部は、出力方法として、分散印刷、カラーモノクロ分散印刷、代行印刷、同報印刷などの情報を格納する部分である。
【0072】
グループプリンタドライバ設定情報部は、後述するグループプリンタドライバのUIの設定情報を格納する部分である。
【0073】
メンバプリンタ数はグループプリンタドライバが関連付けているメンバプリンタの数を格納する部分である。
【0074】
メンバプリンタドライバ名は、メンバプリンタのプリンタドライバ名を格納する部分である。
【0075】
メンバプリンタドライバ設定情報部はメンバプリンタのドライバUIの設定情報として例えばDEVMODE情報を格納する部分である。
【0076】
このメンバプリンタドライバ名とメンバプリンタドライバ設定情報部は、前述のメンバプリンタ数に格納された数だけの格納エリアを持っている。
【0077】
前述の図6で説明したグループプリンタドライバ603では、汎用印刷ファイルを生成する際、グループプリンタドライバGUI上の設定を印刷指示部へ記録する。さらに、グループプリンタドライバ603はGDIで受け取ったデータを汎用的なデータに変換し、ドキュメントデータを本汎用印刷ファイルのドキュメントデータ部に記録することとなる。
【0078】
次に図7でOSが提供するPrintSyStemと印刷ジョブ制御システムにおける印刷ジョブの関係と処理概要をさらに詳しく述べる。
【0079】
図7中で印刷ジョブ制御システム700は、サーバとクライアントの制御プログラムが動作する物理的なマシンをまたいだ、印刷ジョブ制御システムの範囲を示している。また、サーバが管理している出力ポート(Output Port)711は、クライアントのジョブ制御プリントサービス622のプロキシ出力ポート(Proxy OutputPort)712と関連付けられ、ひとつのポートに関連づけられた各クライアント上のプロキシ出力ポート全てを統一的に管理している。本実施例では、実際のプリントジョブデータはおのおののクライアントのプロキシ出力ポート712に保持される。ジョブ制御サーバ630は、プリントジョブデータ自体の送信処理は行わず、ジョブ制御プリントサービス622に対して印刷ジョブの送信指示のみを行う。その指示に応じてクライアントコンピュータのジョブ制御プリントサービス622はプリントジョブデータをネットワークプリンタ650A〜650Bに送信する。
【0080】
次に、印刷ジョブ制御システム700が、代行印刷、分散印刷、同報印刷などの付加価値的な印刷を行う場合の処理を説明する。
【0081】
印刷ジョブ制御システム700が、代行印刷、分散印刷、同報印刷などの付加価値的な印刷を行う場合には、前述のようにユーザまたはアプリケーション601はグループプリンタドライバ603に印刷ジョブを発行しなければならない。ジョブ制御プリントサービス622は、グループプリンタドライバ603によって処理されたジョブデータをジョブ制御ポートモニタ621を介して汎用印刷ファイルとして受け取る。
【0082】
ジョブ制御プリントサービス622はこのジョブデータを受け取り、De−spooler701を介して、別のPDLドライバにジョブ(メンバジョブ)を発行して、そのPDLドライバに対応するネットワークプリンタ650A〜650Bに印刷を行わせる。
【0083】
この時、De−spooler701は、前述の図8で説明した汎用印刷ファイルの印刷指示部を解釈し、ドキュメントデータ部のドキュメントデータを加工して、OSのGDIに変換し、各プリンタドライバに対して印刷指示を行い印刷ジョブを発行する。
【0084】
例えば印刷体裁指定部に、2−UPの指示が記録されていた場合、用紙1枚に2ページ分のドキュメントデータを縮小レイアウトする。また分散印刷あるいは同報印刷の場合には、それらの設定に応じて印刷指示部に記述されている複数のメンバプリンタにジョブを発行する。代行印刷の場合は、代行する条件が満たされた時に、自動代行では事前の設定に応じて、手動代行ではユーザの操作に応じて、メンバジョブを発行する。
【0085】
また、上に説明したDe−spoolerとは別のモジュールに印各メンバプリンタドライバに対応する指示情報を刷指示部から抽出させ、該抽出された各メンバプリンタドライバに対する印刷指示をDe−spoolerに解釈させるような形態も想定される。
【0086】
また、De−spooler701は各メンバプリンタにジョブを発行する際、メンバプリンタドライバに対応する印刷指示として、各メンバプリンタのDEVMODEを作成する必要があるが、このDEVMODEは印刷指示部に記載された内容を適宜各メンバプリンタのDEVMODEに反映させて生成する。
【0087】
クライアントコンピュータ側のジョブ制御プリントサービス622は、PDLドライバ602によってレンダリングされた、それぞれのメンバジョブのPDLデータをジョブ制御ポートモニタ621を介して受け取り、受け取ったジョブに関する情報をサーバ側に知らせ、ジョブデータは自身のプロキシ出力キュー(Proxy Output Port)712で一時保持する。その後、ジョブ制御サーバ630からの送信指示を受けた後にネットワークプリンタ650A〜650Bに送信する。
【0088】
このように、複数のネットワーク機器を使用したシステムにおいては、ネットワーク機器を使用するための設定を行う。例えば、図6または図7の印刷システムにおいては、ネットワークプリンタ650Aとネットワークプリンタ650Bとのそれぞれに適したPDLドライバをクライアントコンピュータにインストールし、さらに、各PDLドライバとネットワークプリンタとを対応付けるために、ネットワークプリンタのネットワークアドレスなどを設定する。また、ジョブ制御サーバ630が、ステータスやジョブの処理状況に関する情報を各ネットワークプリンタから取得するためには、各ネットワークプリンタのネットワークアドレスなどが設定されていなければならない。
【0089】
そして、ネットワーク機器を使用するための設定を行うためには、ネットワークに接続されているネットワーク機器を探索し、各ネットワーク機器に関する情報を取得しなければならない。
【0090】
図9は、機器の探索方法において、クライアントコンピュータ又はサーバコンピュータが実行する処理を示したフローチャートである。以下、フローチャートに従い、本実施例の機器の探索処理を説明する。
【0091】
本実施例では、ジョブ制御マネージメントコンソール633やジョブ制御プリントマネージャ623等が以下の機能を実装する。
【0092】
まず、以下の機能を処理するプログラムの起動に際し、必要な初期化処理を行う(ステップS901)。以降、処理ループに入る。まず、機器の探索要求が検出されたかどうかを判定する(ステップS902)。探索要求は、ユーザが図17のような設定画面上の「探索」ボタンを押下すること等で発行される。
探索要求が検出された場合(ステップS902でyes)、ユーザが指定した探索範囲を取得する(ステップS903)。探索範囲は、図16のような設定画面においてユーザにより設定される。図16では、ネットワークアドレスとサブネットマスクが指定される方法(1601)と、IPアドレスが直接指定される方法(1602)がある。なお、IPブロードキャストアドレスが直接指定されることも可能である。
【0093】
次に、図15のような設定画面でユーザが指定した探索時間T1を取得し、探索要求を受け付けた時刻として受付時刻T2を取得する(ステップ904)。なお、探索時間は、図15の1501で指定可能である。
【0094】
更に機器の探索を行った際に機器からの応答を受け付けるが、受け付ける応答の最大数を示す最大応答受付機器数Nmaxを取得する(ステップS905)。これはプログラム内部の初期値値か、ユーザから指定された値のいずれかであり、指定されない場合はその旨を表す数値(DWORD型で0xFFFFFFFF等、あらかじめ定義された数値)が指定される。ユーザが指定したい場合は、図15の1502で指定可能である。
【0095】
次に、実際に探索によって見つかった機器の数を示す検出機器数Nを0(ゼロ)で初期化し、探索機器情報を保持する機器情報リストLを初期化する(ステップS906)。
【0096】
そして、機器の探索を行う探索パケットを生成し、ステップS903で取得した探索範囲に向けてに送信し(ステップS907)、最後にステップS902に戻る。なお、この探索パケットは、機器のネットワークアドレスを要求するコマンドや、機器の所定の情報を要求するコマンド、機器に対して返事をするように指示するコマンドであってもよい。
【0097】
一方、ステップ902でNoの場合は、探索パケットに対する応答パケットをネットワーク機器から受信したか否かを判定する(ステップS908)。応答パケットを受けた場合(ステップS908でYes)場合は、応答パケットから、機器のネットワークアドレス等の機器情報を取得する(ステップS909)。そして、取得した機器情報を機器情報リストに登録する(ステップ910)。
【0098】
さらに、検出機器数Nを1増加して(ステップS911)、検出機器数Nが最大応答受付機器数Nmaxより小さいか判定する(ステップ912)。なお、ここでは、より小さいかどうかを判定したか、以下であるかどうかを判定してもよい。
【0099】
小さい場合は(ステップS912でYes)、探索処理を続行するためにステップS902に戻る。また、ステップS912でNoの場合には、ステップS914に進む。
【0100】
ステップS908でNoの場合は、現在の時刻を取得し、探索要求受付時刻T2から探索時間T1が経過したかどうかを判定する(ステップS913)。
【0101】
見つかった機器の数が最大応答受付機器数Nmaxに達した場合(ステップS912でNo)、または、探索時間T1が経過した場合(ステップS913でYes)には、機器からの応答パケットの受付けを終了する(ステップS914)。
【0102】
そして、機器情報の表示条件を取得する(S915)。この表示条件とは、探索によって見つかったネットワーク機器全部について機器情報を表示するのか、または、フィルタをかけて一部のネットワーク機器についてのみ機器情報を表示するのかを指定するものである。または、それぞれのネットワーク機器に関して、取得した機器情報の全てを表示するのか、フィルタをかけて一部の機器情報のみを表示するのかを指定するものである。表示条件は、ユーザによって指定される場合もあれば、プログラムの内部で決定されている場合もある。
【0103】
つぎに、表示条件に適合したネットワーク機器または表示条件に適合した機器情報を、機器情報リストから抽出し、表示リストを生成する(ステップS916)。
【0104】
表示条件が「全機器を表示する」である場合は、表示リストと機器情報リストは等価である。「特定のIPアドレス範囲に属する機器のみを表示する」である場合は、図13のフローチャートが示す処理を実行する。
【0105】
図13が示す処理では、まず、ユーザが設定画面で指定したアドレス範囲を取得し(ステップS1301)、各ネットワーク機器のIPアドレスと指定されたアドレス範囲とを比較して、機器情報リストから、指定されたアドレス範囲に属するネットワーク機器を抽出し、それを表示リストにする(ステップS1302)。また、指定されたアドレス範囲に属さない機器を機器情報リストから削除して、それを表示リストとしてもよい。
【0106】
図9のステップ917に説明を戻す。ここでは、表示リストに基づいて、図17のような画面を表示する(ステップS917)。図17においては、1701には、見つかったネットワーク機器のIPアドレスと機器名が表示されている。また、1702では、表示条件の一つとして、表示対象となるネットワーク機器のアドレス範囲を指定することができる。
【0107】
なお、ステップ1302での表示は、ウェブブラウザを用いてもよい。この場合、表示リストに基づいて、図17のような画面が記述されたHTML(Hyper Text Marukup Language)データを生成し、そのHTMLデータを外部装置のウェブブラウザに送信することにより、外部装置のウェブブラウザで図17のような画面が表示される。
【0108】
図9のステップS913に説明を戻す。ステップS913でNoの場合には、プログラムの終了要求が検出されたかを判定する(ステップS918)。プログラムの終了要求が検出された場合には、プログラムの終了処理を行い(ステップS919)、プログラムを終了する。ステップS918でNoの場合は、その他の処理を適宜行う(ステップS920)。
【0109】
ここで、機器情報をユーザが追加登録する機能について説明する。この登録機能では、図17の1701に表示された機器のいずれかをユーザが選択すると、図18の設定画面が表示される。図18の画面では「IPアドレスまたはホスト名」は探索結果に基づいて自動で設定される。その他の「ポート名」や「製品名」の欄は、ユーザが値を入力して「OK」ボタンを押下することにより、登録される。
【0110】
そして、探索によって取得された機器情報と、図18の設定画面で入力された情報により、図20のような画面が閲覧可能になる。
【0111】
つぎに、ネットワーク機器の動作について説明する。図11は、探索処理における機器側の処理を示すフローチャートである。ここでは、ネットワーク機器として、プリンタ等の印刷機能を持つ印刷機器を例に説明する。まず、機器をリセットし、初期化処理を行う(ステップS1101)。
【0112】
次に、ネットワークからのデータの受信があるか判定し(ステップS1102)。データの受信があった場合には(ステップS1102でYes)、探索パケットであるかどうかを判定する(ステップS1103)。ここでは、探索パケットとして、SNMP(Simple Network Management Protocol)のGet−requestコマンドが使われている。よって、Get−requestコマンドであった場合には(ステップS1103でYes)には、応答パケットとしてGet−responseコマンドを生成し、それをRAMに書きこむ(ステップS1104)。これにより、機器の送信手段が、RAMに書き込まれたGet−responseコマンドをGet−requestコマンドの送信元に向けて送信する。
【0113】
一方、ステップS1103でNoの場合には、印刷要求であるかどうかを判定する(ステップS1105)。印刷要求の場合は(ステップS1105でYes)、印刷要求とともに送信されてくる印刷データに基づいて印刷処理を行う(ステップS1106)。
【0114】
さらに、ステップS1103でもNoの場合には、終了コマンドを受信したか否かを判定する(ステップS1107)。終了コマンドであった場合には、機器の電源を切断して動作を終了する。
【0115】
ステップS1107でもNoの場合はその他の処理を適宜行う(ステップS1109)。印刷機器では機器の構成情報取得やジョブ情報取得コマンドの処理等があるが、これは本発明の本質とは関係ないので説明を省略する。
【0116】
また、ステップS1102でNoの場合は機器の電源ボタンが押下されるなどの終了指示があったかどうかを判定し(ステップS1108)、あった場合は動作を終了する。
【0117】
上記の探索処理では、管理サーバがネットワークに存在することを必要としない。しかし、表示条件が、管理サーバから取得した情報に関係するものであってもよい。ここでは、図9のステップS915で取得された表示条件が「管理サーバに登録されていない機器」である場合について説明する。
【0118】
図12は、図9のステップS915の処理の詳細を表したフローチャートである。まず、管理サーバ名及び管理サーバのネットワークアドレスを取得する(ステップS1201)。これは、管理サーバが一台の場合はプログラム内で自動的に決定することも可能であるし、ユーザの指定により決定することも可能である。また、管理サーバ名からアドレスを決定することも可能である。
【0119】
次に、管理サーバに対し,管理機器情報リストの取得要求を送信する(ステップS1202)。そして、管理サーバからの応答を受信するまで待機する(ステップS1203)。応答を受信したら(ステップS1203でYes)、取得した管理機器情報リストと機器情報リストとを比較して、表示リストを生成する(ステップS1204)。表示条件が「管理サーバに登録されていない機器」である場合は、機器情報リストに載っていて、管理機器情報リストに載っていない情報を、表示リストに追加していく。これにより、管理サーバで管理されていないで、探索によって見つかったネットワーク機器を抽出してユーザに提示することができる。
【0120】
また、この場合の管理サーバの動作について説明する。図10は、探索処理において管理サーバ側が実行する処理を示すフローチャートである。なお、管理サーバ機能はジョブ制御サーバ630などに実装されることが考えられる。
【0121】
まず、必要な初期化処理を行う(ステップS1001)。管理機器情報リストの取得要求が外部装置から受信されたかどうかを判定する(ステップS1002)。管理機器情報リストの取得要求があった場合には、管理している機器の機器情報から管理機器情報リストを生成し、それを外部装置に返信する(ステップS1003)。
【0122】
管理機器情報リストの取得要求でなかった場合には、つぎに、管理サーバ情報の取得要求を外部装置から受信したかどうかを判定する(ステップS1004)。管理サーバ情報の取得要求を受信した場合には、自分に関する情報を外部装置に返信する(ステップ1005)。
【0123】
最後に、プログラム終了要求を検出したか判定し(ステップS1006)Yesの場合はプログラムの終了処理を行い(ステップS1007)、プログラムを終了する。Noの場合は、その他の処理を適宜実行する(ステップS1008)。この部分は本発明および実施例の本質とは無関係であるので、説明を省略する。
【0124】
管理サーバが複数存在し得る場合には、管理サーバを探索する必要がある。図14は、管理サーバを探索して選択する処理を示すフローチャートであり、図9の920で実行される。
【0125】
まず、管理サーバの探索要求がユーザによりなされたかどうかを判定する(ステップS1401)。管理サーバの探索要求があった場合には(ステップS1401でYes)、サーバ情報の取得要求をネットワークに対してブロードキャストする(ステップS1402)。
【0126】
そして、管理サーバからの応答を待つ時間を示す応答待機時間Twを取得する(ステップS1430)応答待機時間Twはプログラムの内部で決定されているか、または初期化ファイルなどで変更できるものとする。
【0127】
その後は、管理サーバからの応答を受信したか判定し(ステップS1404)、応答を受信した場合は受信したサーバ情報を管理サーバリストに登録し(ステップS1405)、応答を受信していない場合には応答待機時間Twが経過したか判定する(ステップS1406)。
【0128】
応答待機時間Twが経過していない場合には、ステップS1404とS1405を実行してサーバ情報を随時取得し、応答待機時間Twが経過した場合には(ステップS1406でYes)、管理サーバリストを図19のよう画面において表示する(ステップS1407)。ユーザは、1901において、管理サーバを選択することができる(ステップS1408)。
【0129】
【発明の効果】
以上説明したように、本発明によれば、探索によって見つけたい機器の台数を指定可能にし、探索によって見つかった機器の台数が指定された台数に達したか、または指定された台数を超えたかを判定することにより、探索処理に費やす時間を短縮することができ、ユーザに対する応答性をよくすることができる。
【0130】
また、探索によって見つかった機器の台数が所定数に達するか、探索時間が経過するかのいずれかが成立した時点で探索処理を終了することにより、探索処理に費やす時間を制限し、探索処理が一向に終わらないのを防止することができる。
【0131】
また、探索範囲を設定することにより、または、表示する機器を指定する条件または表示する機器情報の種類を指定する条件を設定することにより、探索によって見つかった全ての機器に関する機器情報を表示するのを防止し、ユーザが探索結果を理解しやすいようにすることができる。
【0132】
また、ネットワークに接続されている機器を管理する管理サーバに登録されている機器に関する機器情報を取得して、探索によって取得された機器情報と、管理サーバから取得された機器情報とを比較して、管理サーバに登録されていない機器に関する機器情報のみを表示することにより、管理サーバに登録されていない機器に関する機器情報のみを表示することができ、管理サーバへの機器の登録を容易にする。
【0133】
また、管理サーバが複数存在する場合には、管理サーバを選択可能にすることにより、各管理サーバに応じた探索結果をユーザに提示することができる。
【図面の簡単な説明】
【図1】情報処理システムの構成を説明するブロック図である。
【図2】情報処理装置の構成を説明するブロック図である。
【図3】RAMのメモリマップの一例を示す図である。
【図4】FDのメモリマップの一例を示す図である。
【図5】FDドライブ203に対して挿入されるFD204との関係を示す図である。
【図6】一般的なアプリケーションプログラムから発行された印刷要求が、印刷ジョブ制御システムにおいてどのように処理されるかを示した図である。
【図7】印刷ジョブ制御システムで行われる処理の概要を示す図である。
【図8】汎用印刷ファイルの構成の一例を示した図である。
【図9】機器の探索方法において、クライアントコンピュータ又はサーバコンピュータが実行する処理を示したフローチャートである。
【図10】探索処理において管理サーバ側が実行する処理を示すフローチャートである。
【図11】探索処理における機器側の処理を示すフローチャートである。
【図12】管理サーバから機器情報を取得する処理を示すフローチャートである。
【図13】表示リストを生成する処理を示すフローチャートである。
【図14】管理サーバを探索して選択する処理を示すフローチャートである。
【図15】設定画面の一例を示す図である。
【図16】設定画面の一例を示す図である。
【図17】設定画面の一例を示す図である。
【図18】設定画面の一例を示す図である。
【図19】設定画面の一例を示す図である。
【図20】設定画面の一例を示す図である。
【符号の説明】
101 サーバコンピュータ
102 クライアントコンピュータ
103 クライアントコンピュータ
104 クライアントコンピュータ
105A ネットワークプリンタ
105B ネットワークプリンタ
105C ネットワークプリンタ
106 ネットワーク
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a search method for searching for network devices (network devices) connected to a network, and a system, apparatus, and program for performing the search.
[0002]
[Prior art]
In a device search method in a conventional network device management system, device search is performed using a network management protocol. For example, in the case of using a simple network management protocol (commonly known as SNMP; abbreviation for Simple Network Management Protocol), first, a computer sends an SNMP Get-request to a specified IP (Internet Protocol) address or an IP broadcast address. Send a command. On the other hand, the network device receives this and responds with a Get-response command. Then, the computer can specify from which network device a response has been received by extracting the address information accompanying the Get-response command. This makes it possible to search for a network device and find a network device currently connected to the network (obtain address information of the network device).
[0003]
Further, when the search time can be specified by the user, the search time is set as the time to wait for a response, and information on the network device that has responded within the search time is displayed as a search result.
[0004]
[Problems to be solved by the invention]
However, in the above conventional example, the search process is not completed until the search time expires. Therefore, even when a user (such as a network administrator) knows the number of network devices connected to the network, the user must wait for the search time to expire. For example, the number of network devices is small, and the user must wait for the search time to elapse, even though the original search ends when a response corresponding to the number of network devices is returned. There was a risk that the response would be poor.
[0005]
In addition, when diverting search results to set the use of devices, it is better not to display information on devices that have already been set, even if they have been found in the search. Ease of use is improved. However, when the search function of the conventional device is used as it is, the search result has to be displayed as it is.
[0006]
Therefore, the present invention has been made in order to solve the above-described problems, and by reducing the search waiting time and hiding the device information unnecessary for the user, the processing efficiency of the user is improved. It is an object to provide an easy-to-use search method, or a system, an apparatus, and a program for executing the search method.
[0007]
[Means for Solving the Problems]
In order to solve the above-mentioned problem, in the present invention, search data for searching for a device is transmitted to a network, response data for the search data is received from the network, reception is performed, and a device search is performed. By allowing the number of data to be set, when the number of received response data reaches a set number or exceeds a set number, the reception of the response data is terminated. I do.
[0008]
Further, a search range can be set, and search data is transmitted to a network address belonging to the set search range.
[0009]
When the number of received response data reaches a set number or exceeds a set number, the acquired device information is displayed.
[0010]
Also, a condition for specifying a device to be displayed or a condition for specifying the type of device information to be displayed can be set, and the device information is displayed according to the set condition.
[0011]
Further, a range of a network address can be set, and only device information relating to a device having a network address belonging to the set range is displayed.
[0012]
Also, the device information about the device registered in the management server that manages the device connected to the network is obtained, and the device information obtained by the search is compared with the device information obtained from the management server. It is characterized by displaying only device information on devices not registered in the management server.
[0013]
Also, it is possible to search for a management server, display server information relating to the management server detected by the search, and obtain device information from a management server selected by the user among the displayed management servers. Features.
[0014]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, an embodiment suitable for applying the present invention will be described.
[0015]
FIG. 1 is a block diagram illustrating a configuration of an information processing system to which the present invention can be applied. It is assumed that one or a plurality of client computers in this system are connected.
[0016]
In FIG. 1, reference numerals 102, 103, and 104 denote information processing apparatuses as client computers (clients). These client computers are connected to the network 106 by a network cable such as Ethernet (registered trademark), and can execute various programs such as application programs. Further, a printer driver having a function of converting print data into a printer language corresponding to the printer is installed. It is assumed that the printer driver supports a plurality of printers or a plurality of printer languages.
[0017]
As the printer, various types of printing apparatuses such as a laser beam printer using an electrophotographic system, an ink jet printer using an ink jet system, and a printer using a thermal transfer system are assumed.
[0018]
101 is an information processing device as a server computer. The server computer 101 is connected to the network 106 by a network cable, accumulates files shared on the network, and monitors and manages the use state of the network 106 or network devices connected to the network 106.
[0019]
The client computers 102 to 104 and the server computer 101 are general information processing apparatuses, and the client computer and the server computer store print control programs for performing different controls, respectively.
[0020]
The server computer 101 is a general information processing apparatus, and can have the functions of the client computers 102 to 104 at the same time.
[0021]
The server computer 101 in this embodiment further stores a print job including print data for which a print request has been issued from the client computers 102, 103, and 104, and transfers the print job to a printer. Alternatively, it receives only print job information that does not include print data from the client computers 102, 103, and 104, manages the printing order among the client computers 102, 103, and 104, and Notification of transmission permission of a print job including print data is given. Further, a function for acquiring various information such as information on the status of the network printers 105A to 105C and information on print jobs held in the network printers 105A to 105C and notifying the client computers 102, 103, and 104 is provided. I have.
[0022]
105A to 105C are network printers as an example of network devices. The network device is a device that can be connected to the network 106 via a network interface. In addition to a network printer, there are a copier, a facsimile device, a scanner, a home appliance, and the like. Each of the network printers 105A to 105C receives and analyzes a print job including print data transmitted from a client computer, generates dot image data for each page, and generates dot image data for each page based on the dot image data. To print on recording paper.
[0023]
A network 106 communicably connects the client computers 102, 103, 104, the server computer 101, the network printers 105A to 105C, and the like.
[0024]
FIG. 2 is a block diagram illustrating a configuration of the information processing apparatus according to the present embodiment. In FIG. 1, the client computers 102, 103, and 104 have the same configuration, and the server computer 101 has a similar or equivalent hardware configuration.
[0025]
In FIG. 2, reference numeral 200 denotes a CPU that is a control unit of the information processing apparatus, and executes an application program, a printer driver program, an OS, a network printer control program of the present invention, and the like stored in a hard disk (HD) 205. Control is performed to temporarily store information, files, and the like necessary for executing the program in the RAM 202.
[0026]
Reference numeral 201 denotes a ROM serving as a storage unit, which internally stores programs such as a basic I / O program and various data such as font data and template data used in document processing. Reference numeral 202 denotes a RAM as a temporary storage unit, which functions as a main memory, a work area, and the like of the CPU 200.
[0027]
Reference numeral 203 denotes a floppy (registered trademark) disk (FD) drive as a storage medium reading unit, which stores programs and the like stored in an FD (floppy (R) disk) 204 as a storage medium, as shown in FIG. Can be loaded into the device. The storage medium is not limited to the FD, but may be a CD-ROM, CD-R, CD-RW, PC card, DVD, IC memory card, MO, memory stick, or the like.
[0028]
Reference numeral 204 denotes a floppy (R) disk (FD) as a storage medium, which is a storage medium storing a computer-readable program.
[0029]
A hard disk (HD) 205 is one of the external storage units and functions as a large-capacity memory. The hard disk 205 stores an application program, a printer driver program, an OS, a network printer control program, related programs, and the like. Further, a storage area of a spooler as a spool means is secured here.
[0030]
The spool means is a client spooler in a client computer, and is a server spooler in a server computer. In the server computer, a table for storing the job information received from the client computer and controlling the order is also stored in the external storage means.
[0031]
Reference numeral 206 denotes a keyboard as an instruction input unit, which is used by a user to input a command of a device control command to a client computer, and an operator or an administrator to input a command to a server computer.
[0032]
A display 207 displays a command input from the keyboard 206, a printer status, and the like.
[0033]
Reference numeral 208 denotes a system bus that controls the flow of data in a computer that is a client computer or a server computer.
[0034]
Reference numeral 209 denotes an interface as input / output means, and the information processing device exchanges data with the network 106 via the interface 209.
[0035]
FIG. 3 is a diagram illustrating an example of a memory map of the RAM 202 illustrated in FIG. 2, in which the network printer control program loaded from the FD 204 is loaded into the RAM 202 and is executable.
[0036]
In the present embodiment, an example is shown in which the network printer control program and related data are directly loaded from the FD 204 to the RAM 202 and executed. However, each time the network printer control program is operated from the FD 204, the network printer control program is already executed. May be loaded into the RAM 202 from the HD 205 in which is installed.
[0037]
The medium storing the network printer control program may be a CD-ROM, a CD-R, a PC card, a DVD, or an IC memory card other than the FD. Further, the present network printer control program may be stored in the ROM 201, configured to be a part of the memory map, and directly executed by the CPU 200.
[0038]
Further, software that realizes the same functions as those of the above devices may be configured as an alternative to a hardware device.
[0039]
Further, the network printer control program may be simply referred to as a print control program. The print control program includes a program that controls the client computer to change the print destination of the print job or change the print order. Further, the server computer includes a program for controlling the order of print jobs, and for notifying the end of printing of a print job and a request for changing a printing destination. Further, in the print control program of the present invention that performs such control, a module installed in the client and a module installed in the server computer may be separately divided, or one print control program is executed. Depending on the environment, it may function for a client or may function for a server computer. Alternatively, a configuration is also possible in which a module having a function for a client and a module having a function for a server computer are both installed in one computer, and the parallel operation is performed simultaneously or in a time-division manner.
[0040]
Reference numeral 301 denotes a basic I / O program, which has an IPL (initial program loading) function for starting the operation of the OS by reading the OS from the HD 205 into the RAM 202 when the control device is turned on. This is the area that contains the program.
[0041]
302, an operating system (OS); 303, a network printer control program, which is stored in an area secured on the RAM 202; Reference numeral 304 denotes related data, which is stored in an area secured on the RAM 202. Reference numeral 305 denotes a work area, which secures an area where the CPU 200 executes the printer control program.
[0042]
FIG. 4 is a diagram illustrating an example of a memory map of the FD 204 illustrated in FIG. 4, reference numeral 400 denotes the data content of the FD 204; 401, volume information indicating data information; 402, directory information; 403, a network printer control program, which is a print control program described in the present embodiment; Is the relevant data. The network printer control program 403 is programmed based on the flowchart described in the embodiment. In this embodiment, the client computer and the server computer have the same configuration.
[0043]
FIG. 5 is a diagram showing the relationship between the FD drive 203 shown in FIG. 2 and the FD 204 inserted, and the same components as those in FIG. 2 are denoted by the same reference numerals. In FIG. 5, the FD 204 stores a network printer control program and related data described in the present embodiment.
[0044]
Next, a print job control system using a plurality of network printers will be described.
[0045]
In the present embodiment, print settings can be centrally instructed to individual printer drivers corresponding to a plurality of network printers. Further, the group printer driver generates base data (general-purpose document data) for a De-spooler (described in detail below) to generate a general-purpose print file for notifying each printer driver of a drawing command. Further, individual printer drivers depending on the network printer are called member printer drivers.
[0046]
FIG. 6 is a diagram illustrating how a print request issued from a general application program is processed in the print job control system.
[0047]
In FIG. 6, reference numeral 600 denotes a client computer, which indicates a computer on which a client module of the print job control system operates.
[0048]
Normally, when a user instructs printing, the application program causes a series of drawing commands to be generated via a graphic function of the OS, and passes the generated drawing commands to a spooler via a printer driver. The spooler takes a procedure of passing the print job data to the port monitor selected by the user and transmitting the print job data to the printer.
[0049]
Now, a specific description will be given with reference to FIG. In the present embodiment, the user designates a port monitor 621 for the print job control system (hereinafter, abbreviated as a job control port monitor in the present embodiment) in advance and instructs printing.
[0050]
Accordingly, the application program 601 generates a series of drawing commands using the graphic function of the OS, and passes the drawing commands to the group printer driver (group printer driver) 603.
[0051]
The group printer driver 603 that has received the drawing command generates general-purpose document data for generating a general-purpose print file, and transmits the general-purpose document data to the job control port monitor 621 as print job data.
[0052]
The job control port monitor 621 does not transmit the print job data to the network printer 650A or 650B, but transmits the print job data to the print job control system print service 622 (hereinafter abbreviated as job control print service in this embodiment). .
[0053]
The job control print service 622 has a function of managing the status of jobs / devices managed by the job control server 630. Furthermore, when the network printer and the client computer 600 operate in a peer-to-peer (Peer To Peer) connection environment, the job control print service 622 transmits the device status and job status notified from the network printers 650A to 650B. And the like, and a function of giving a predetermined command to the network printers 650A to 650B. This corresponds to a function of managing device information and job information of a plurality of network printers.
[0054]
A print manager 623 for the print job control system (hereinafter, abbreviated as “job control print manager” in the present embodiment) allows a user to check the state of the print job inside the job control print service 622 or to manage the print job. It is a program that provides a user interface (UI) for performing operations.
[0055]
The job control print manager 623 transmits and receives information to and from the job control print service 622 via a software interface (API) of the job control print service 622, and mainly executes an external network printer managed by the job control print service 622. It has a function to acquire the status information of an event as an event. The types of event notifications include error / warning information such as a warning that the toner level is low, communication failure between the client and the device, lack of memory, and a full output tray, and a return from the error state to the normal state. Notification of normal information is assumed.
[0056]
The print job control system server 630 (hereinafter abbreviated as a job control server in the present embodiment) centrally controls (scheduling) the timing at which the job control print service 622 on each client 600 transmits print job data to the network printer. are doing. Also, the print job control system server 630 monitors the status of power control status, failure information (paper jam) and the like during printing of each device (printing device) communicable via the network, and executes a job control print service 622. It has a function to notify an event. Here, regarding the monitoring of the status change of the printer status, the job control print service 622 can directly acquire the notification (event) of the status change from the network printer.
[0057]
The print job control system management console 633 (hereinafter, abbreviated as “job control management console” in the present embodiment) exchanges information and instructions with the job control server 630 via an API to be accessed by software of the job control server 630. By doing so, the entire print job control system can be monitored.
[0058]
The job control server 630 communicates with each of the network printers 650A to 650B by using the device information control module 631, and obtains information regarding a print job and an operation state in each printer, and performs an operation. The obtained information can be passed to the job control print service 622 on the client 600 side.
[0059]
Next, printing from the group printer driver 603 according to the present embodiment will be described.
[0060]
In brief, the group printer driver 603 is a printer driver for using this system, and generates data suitable for the job control print service 622 to perform job control. The job control print service 622 controls a plurality of PDL drivers 602 based on data from the group printer driver 603. For example, when distributed printing is to be performed by a plurality of network printers, the divided data is transmitted to each of a plurality of PDL drivers. Then, since data that can be processed by each of the plurality of network printers is generated by each PDL driver, a plurality of different network printers can perform printing in response to a print request from the application program 601.
[0061]
Now, a more detailed description will be given. The group printer driver 603 generates the above-described general-purpose document data from a series of drawing commands generated by the application program. The general-purpose document data is converted by the job control print service 622 into a general-purpose print file that is an intermediate format file independent of the type of the network printer. The configuration of the general-purpose print file will be described later.
[0062]
This general-purpose print file is guided from the Windows (R) spooler 604 through the job control port monitor 621 (a) to the job control print service 622 (b) as described above. The job control print service 622 generates a drawing command based on the general-purpose print file in accordance with the type of job control performed on the print job (c), and then the PDL driver 602 sends the drawing command to the network printer. Convert to a PDL file that can be interpreted.
[0063]
FIG. 6 shows an example in which job control for dividing one print job into two print jobs is performed in the job control print service 622. Two arrows (c) indicate that two member jobs have been generated. I have. The PDL file generated by the PDL driver 602 passes through the Windows (R) spooler 604 and the job control port monitor 621 (d), and is passed again to the job control print service 622 (e). The job control print service 622 transmits print job data described in PDL to the network printers 650A to 650B according to the instruction of the job control server 630 (f).
[0064]
The job control print service 622 logically divides one general-purpose print file into a plurality of print jobs according to the instruction of the print instruction in the general-purpose print file, and transmits each to a different network printer or transmits once. For example, retransmit print job data to another network printer. (C), (d), (e), and (f) in FIG. A show the path of the print job data in such a case.
[0065]
On the other hand, when the application software creates a general-purpose print file and the application software directly submits the general-purpose print file as a print job, a general application is defined as a method of passing information to the group printer driver 603 or a method of passing information to the group printer driver 603. Is different. As described above, in the case of a general application, when passing drawing information to the group printer driver 603, the application calls the WindowS (R) GDI function in the same manner as a normal printer driver, and the group printer driver 603 responds accordingly. General-purpose document data is generated, and the generated general-purpose document data is generated by the job control print service 622 into a general-purpose print file. On the other hand, in the case of an application that directly creates a general-purpose print file, the application already has a general-purpose print file and supplies it to the group printer driver 603. The group printer driver 603 rewrites the print instruction in the general-purpose print file and sends it to the Windows (R) spooler 604 as necessary based on a preset printing method.
[0066]
FIG. 8 is a diagram illustrating an example of the configuration of a general-purpose print file. The general-purpose print file used in the present embodiment includes a print instruction section and a document data section. The print instruction section is a portion in which document information and a print instruction are described. The document data is obtained by converting application data into general-purpose format data, and has a data format independent of a printer language.
[0067]
The print instruction section includes a header section, a page information section, a print format instruction section, an output method designation section, a group printer driver setting information section, the number of member printers, a member printer driver name, a member printer driver setting information section, and the like.
[0068]
The header section is a section for storing information such as the version identification of this file and file information.
[0069]
The page information section is a section for storing information such as the number of pages of the document data in the document data section and the size of each page.
[0070]
The print format instructing unit is a portion for storing information on output format such as a print page range, the number of copies, imposition information of document data (N-UP, bookbinding printing, etc.), a staple instruction, a punch instruction, and the like.
[0071]
The output method designating section is a section for storing information such as distributed printing, color / monochrome distributed printing, proxy printing, and broadcast printing as output methods.
[0072]
The group printer driver setting information section is a section for storing UI printer setting information of a group printer driver described later.
[0073]
The number of member printers stores the number of member printers associated with the group printer driver.
[0074]
The member printer driver name is a part for storing the printer driver name of the member printer.
[0075]
The member printer driver setting information section stores, for example, DEVMODE information as setting information of the driver UI of the member printer.
[0076]
The member printer driver name and the member printer driver setting information section have the same number of storage areas as the number of member printers.
[0077]
In the group printer driver 603 described with reference to FIG. 6, when generating a general-purpose print file, the settings on the group printer driver GUI are recorded in the print instruction unit. Further, the group printer driver 603 converts the data received by the GDI into general-purpose data, and records the document data in the document data section of the general-purpose print file.
[0078]
Next, referring to FIG. 7, the relationship between PrintSystem provided by the OS and the print job in the print job control system and the processing outline will be described in further detail.
[0079]
In FIG. 7, a print job control system 700 indicates a range of the print job control system across physical machines on which control programs of a server and a client operate. An output port (Output Port) 711 managed by the server is associated with a proxy output port (Proxy Output Port) 712 of the job control print service 622 of the client, and a proxy output port on each client associated with one port. All ports are managed in a unified manner. In this embodiment, the actual print job data is held in the proxy output port 712 of each client. The job control server 630 does not transmit the print job data itself, but only issues a print job transmission instruction to the job control print service 622. In response to the instruction, the job control print service 622 of the client computer transmits the print job data to the network printers 650A to 650B.
[0080]
Next, processing in a case where the print job control system 700 performs value-added printing such as proxy printing, distributed printing, or broadcast printing will be described.
[0081]
When the print job control system 700 performs value-added printing such as proxy printing, distributed printing, or broadcast printing, the user or application 601 must issue a print job to the group printer driver 603 as described above. No. The job control print service 622 receives the job data processed by the group printer driver 603 as a general-purpose print file via the job control port monitor 621.
[0082]
The job control print service 622 receives the job data, issues a job (member job) to another PDL driver via the De-spooler 701, and causes the network printers 650A to 650B corresponding to the PDL driver to perform printing. .
[0083]
At this time, the De-spooler 701 interprets the print instruction section of the general-purpose print file described with reference to FIG. 8, processes the document data in the document data section, converts the document data into GDI of the OS, Issue a print instruction and issue a print job.
[0084]
For example, when a 2-UP instruction is recorded in the print format designation unit, the document data of two pages is reduced and laid out on one sheet of paper. In the case of distributed printing or broadcast printing, a job is issued to a plurality of member printers described in the print instruction unit according to these settings. In the case of proxy printing, when a proxy condition is satisfied, a member job is issued according to a preset setting in the automatic proxy and according to a user operation in the manual proxy.
[0085]
Further, the instruction information corresponding to each member printer driver is extracted from the printing instruction section by a module different from the above-described De-spooler, and the extracted printing instruction for each member printer driver is interpreted by the De-spooler. It is also assumed that such a configuration is adopted.
[0086]
Also, when the De-spooler 701 issues a job to each member printer, it is necessary to create a DEVMODE of each member printer as a print instruction corresponding to the member printer driver, and this DEVMODE is the content described in the print instruction section. Is appropriately reflected in the DEVMODE of each member printer.
[0087]
The job control print service 622 on the client computer receives the PDL data of each member job rendered by the PDL driver 602 via the job control port monitor 621, notifies the server of information on the received job, and sends the job data to the server. Is temporarily stored in its own proxy output queue (Proxy Output Port) 712. Thereafter, after receiving a transmission instruction from the job control server 630, the job is transmitted to the network printers 650A to 650B.
[0088]
As described above, in a system using a plurality of network devices, settings for using the network devices are performed. For example, in the printing system of FIG. 6 or FIG. 7, a PDL driver suitable for each of the network printer 650A and the network printer 650B is installed on a client computer, and further, a network is connected to associate each PDL driver with the network printer. Set the printer's network address, etc. Further, in order for the job control server 630 to obtain information on the status and the processing status of a job from each network printer, the network address of each network printer must be set.
[0089]
Then, in order to make settings for using the network devices, it is necessary to search for network devices connected to the network and obtain information on each network device.
[0090]
FIG. 9 is a flowchart illustrating a process executed by the client computer or the server computer in the device search method. Hereinafter, the device search processing of the present embodiment will be described with reference to a flowchart.
[0091]
In this embodiment, the job control management console 633, the job control print manager 623, and the like implement the following functions.
[0092]
First, when starting a program for processing the following functions, necessary initialization processing is performed (step S901). Thereafter, a processing loop is entered. First, it is determined whether a device search request has been detected (step S902). The search request is issued when the user presses a “search” button on a setting screen as shown in FIG.
If a search request has been detected (yes in step S902), a search range specified by the user is acquired (step S903). The search range is set by the user on a setting screen as shown in FIG. In FIG. 16, there are a method of specifying a network address and a subnet mask (1601) and a method of directly specifying an IP address (1602). Note that the IP broadcast address can be directly specified.
[0093]
Next, the search time T1 specified by the user on the setting screen as shown in FIG. 15 is obtained, and the reception time T2 is obtained as the time at which the search request was received (step 904). The search time can be designated by reference numeral 1501 in FIG.
[0094]
Further, when a search for a device is performed, a response from the device is received, and a maximum response receiving device number Nmax indicating the maximum number of responses to be received is obtained (step S905). This is either an initial value in the program or a value specified by the user. If not specified, a numerical value (a predetermined numerical value such as 0xFFFFFFFF in the DWORD type) indicating that is specified. If the user wants to specify, it can be specified by 1502 in FIG.
[0095]
Next, the number of detected devices N indicating the number of devices actually found by the search is initialized to 0 (zero), and a device information list L holding searched device information is initialized (step S906).
[0096]
Then, a search packet for searching for a device is generated, transmitted toward the search range acquired in step S903 (step S907), and finally returns to step S902. The search packet may be a command requesting the network address of the device, a command requesting predetermined information of the device, or a command instructing the device to reply.
[0097]
On the other hand, if No in step 902, it is determined whether a response packet to the search packet has been received from the network device (step S908). If a response packet has been received (Yes in step S908), device information such as a network address of the device is acquired from the response packet (step S909). Then, the acquired device information is registered in the device information list (step 910).
[0098]
Further, the number N of detected devices is increased by 1 (step S911), and it is determined whether the number N of detected devices is smaller than the maximum number Nmax of response receiving devices (step 912). Here, it may be determined whether it is smaller than or not.
[0099]
If it is smaller (Yes in step S912), the process returns to step S902 to continue the search processing. If No in step S912, the process proceeds to step S914.
[0100]
If No in step S908, the current time is acquired, and it is determined whether the search time T1 has elapsed from the search request reception time T2 (step S913).
[0101]
If the number of found devices has reached the maximum response accepting device number Nmax (No in step S912), or if the search time T1 has elapsed (Yes in step S913), the reception of the response packet from the device ends. (Step S914).
[0102]
Then, the display condition of the device information is acquired (S915). The display condition specifies whether to display the device information for all the network devices found by the search or to display the device information for only some of the network devices after filtering. Alternatively, for each network device, whether to display all of the obtained device information or to display only a part of the device information by applying a filter is designated. The display condition may be specified by the user, or may be determined inside the program.
[0103]
Next, network devices that match the display conditions or device information that matches the display conditions are extracted from the device information list, and a display list is generated (step S916).
[0104]
When the display condition is “display all devices”, the display list and the device information list are equivalent. In the case of “display only devices belonging to a specific IP address range”, the processing shown in the flowchart of FIG. 13 is executed.
[0105]
In the processing shown in FIG. 13, first, an address range specified by the user on the setting screen is acquired (step S1301), the IP address of each network device is compared with the specified address range, and the specified address range is specified from the device information list. Network devices belonging to the specified address range are extracted and displayed as a display list (step S1302). In addition, devices that do not belong to the specified address range may be deleted from the device information list and used as the display list.
[0106]
The description returns to step 917 in FIG. Here, a screen as shown in FIG. 17 is displayed based on the display list (step S917). In FIG. 17, 1701 displays the IP address and device name of the found network device. In 1702, an address range of a network device to be displayed can be designated as one of the display conditions.
[0107]
The display in step 1302 may use a web browser. In this case, HTML (Hyper Text Markup Language) data in which a screen as shown in FIG. 17 is described is generated based on the display list, and the HTML data is transmitted to a web browser of the external device. A screen as shown in FIG. 17 is displayed on the browser.
[0108]
The description returns to step S913 in FIG. If No in step S913, it is determined whether a program termination request has been detected (step S918). If a program termination request is detected, the program termination processing is performed (step S919), and the program is terminated. If No in step S918, other processing is performed as appropriate (step S920).
[0109]
Here, a function of additionally registering device information by a user will be described. In the registration function, when the user selects any of the devices displayed in 1701 in FIG. 17, the setting screen in FIG. 18 is displayed. In the screen of FIG. 18, “IP address or host name” is automatically set based on the search result. Other "port name" and "product name" fields are registered when the user inputs values and presses the "OK" button.
[0110]
Then, the screen as shown in FIG. 20 can be browsed based on the device information obtained by the search and the information input on the setting screen in FIG.
[0111]
Next, the operation of the network device will be described. FIG. 11 is a flowchart illustrating processing on the device side in the search processing. Here, a printing device having a printing function such as a printer will be described as an example of the network device. First, the device is reset and an initialization process is performed (step S1101).
[0112]
Next, it is determined whether data has been received from the network (step S1102). If data has been received (Yes in step S1102), it is determined whether the packet is a search packet (step S1103). Here, a Get-request command of SNMP (Simple Network Management Protocol) is used as the search packet. Therefore, if the command is a Get-request command (Yes in step S1103), a Get-response command is generated as a response packet, and the command is written in the RAM (step S1104). As a result, the transmission unit of the device transmits the Get-response command written in the RAM to the source of the Get-request command.
[0113]
On the other hand, if No in step S1103, it is determined whether the request is a print request (step S1105). In the case of a print request (Yes in step S1105), print processing is performed based on the print data transmitted together with the print request (step S1106).
[0114]
Further, if No in step S1103, it is determined whether an end command has been received (step S1107). If it is an end command, the power of the device is turned off and the operation ends.
[0115]
If No in step S1107, other processing is performed as appropriate (step S1109). In the printing device, there are processes such as device configuration information acquisition and job information acquisition command processing, but this is not related to the essence of the present invention, and a description thereof is omitted.
[0116]
If No in step S1102, it is determined whether an end instruction has been issued, such as pressing the power button of the device (step S1108), and if so, the operation ends.
[0117]
The above search processing does not require that the management server exist in the network. However, the display condition may be related to the information acquired from the management server. Here, a case where the display condition acquired in step S915 in FIG. 9 is “device not registered in the management server” will be described.
[0118]
FIG. 12 is a flowchart showing details of the processing in step S915 in FIG. First, the management server name and the network address of the management server are acquired (step S1201). This can be determined automatically in the program if there is only one management server, or can be determined by the user. It is also possible to determine the address from the management server name.
[0119]
Next, a management device information list acquisition request is transmitted to the management server (step S1202). Then, it waits until a response from the management server is received (step S1203). When the response is received (Yes in step S1203), the obtained management device information list is compared with the device information list to generate a display list (step S1204). When the display condition is “device not registered in the management server”, information that is included in the device information list and not included in the managed device information list is added to the display list. As a result, network devices that are not managed by the management server and are found by the search can be extracted and presented to the user.
[0120]
The operation of the management server in this case will be described. FIG. 10 is a flowchart illustrating a process executed by the management server in the search process. The management server function may be implemented in the job control server 630 or the like.
[0121]
First, necessary initialization processing is performed (step S1001). It is determined whether a management device information list acquisition request has been received from an external device (step S1002). If there is a management device information list acquisition request, a management device information list is generated from the device information of the managed device, and the list is returned to the external device (step S1003).
[0122]
If the request is not a request for acquiring the management device information list, it is determined whether a request for acquiring management server information has been received from an external device (step S1004). When the management server information acquisition request is received, information about the server is returned to the external device (step 1005).
[0123]
Finally, it is determined whether a program termination request has been detected (step S1006). If Yes, the program is terminated (step S1007), and the program is terminated. In the case of No, other processing is executed appropriately (step S1008). This part is irrelevant to the essence of the present invention and the embodiment, and the description is omitted.
[0124]
If there is a plurality of management servers, it is necessary to search for the management server. FIG. 14 is a flowchart showing a process of searching for and selecting a management server, which is executed at 920 in FIG.
[0125]
First, it is determined whether a search request for the management server has been made by the user (step S1401). If there is a management server search request (Yes in step S1401), a server information acquisition request is broadcast to the network (step S1402).
[0126]
Then, a response waiting time Tw indicating a time to wait for a response from the management server is acquired (step S1430). It is assumed that the response waiting time Tw is determined inside the program or can be changed by an initialization file or the like.
[0127]
Thereafter, it is determined whether a response from the management server has been received (step S1404). If a response has been received, the received server information is registered in the management server list (step S1405). If a response has not been received, It is determined whether the response waiting time Tw has elapsed (step S1406).
[0128]
If the response waiting time Tw has not elapsed, steps S1404 and S1405 are executed to obtain server information as needed. If the response waiting time Tw has elapsed (Yes in step S1406), the management server list is displayed. The image is displayed on the screen as in step 19 (step S1407). In 1901, the user can select a management server (step S1408).
[0129]
【The invention's effect】
As described above, according to the present invention, it is possible to specify the number of devices to be found by searching, and to determine whether the number of devices found by searching has reached the specified number or has exceeded the specified number. By making the determination, the time spent in the search process can be reduced, and the responsiveness to the user can be improved.
[0130]
In addition, by terminating the search process when the number of devices found by the search reaches a predetermined number or when the search time has elapsed, the time spent in the search process is limited, and the search process is stopped. It can be prevented that it does not end at all.
[0131]
In addition, by setting a search range, or by setting a condition for specifying a device to be displayed or a condition for specifying the type of device information to be displayed, device information on all devices found by the search is displayed. Can be prevented, and the user can easily understand the search result.
[0132]
Also, the device information about the device registered in the management server that manages the device connected to the network is obtained, and the device information obtained by the search is compared with the device information obtained from the management server. By displaying only the device information on the devices not registered on the management server, only the device information on the devices not registered on the management server can be displayed, thereby facilitating the registration of the device on the management server.
[0133]
Further, when there are a plurality of management servers, by making the management servers selectable, it is possible to present a search result corresponding to each management server to the user.
[Brief description of the drawings]
FIG. 1 is a block diagram illustrating a configuration of an information processing system.
FIG. 2 is a block diagram illustrating a configuration of an information processing device.
FIG. 3 is a diagram illustrating an example of a memory map of a RAM.
FIG. 4 is a diagram illustrating an example of a memory map of an FD.
FIG. 5 is a diagram showing a relationship between an FD drive 203 and an FD 204 inserted.
FIG. 6 is a diagram illustrating how a print request issued from a general application program is processed in a print job control system.
FIG. 7 is a diagram illustrating an outline of a process performed in the print job control system.
FIG. 8 is a diagram illustrating an example of a configuration of a general-purpose print file.
FIG. 9 is a flowchart illustrating processing executed by a client computer or a server computer in the device search method.
FIG. 10 is a flowchart illustrating a process executed by the management server in the search process.
FIG. 11 is a flowchart showing processing on the device side in search processing.
FIG. 12 is a flowchart illustrating a process of acquiring device information from a management server.
FIG. 13 is a flowchart illustrating a process of generating a display list.
FIG. 14 is a flowchart illustrating a process of searching for and selecting a management server.
FIG. 15 is a diagram showing an example of a setting screen.
FIG. 16 is a diagram showing an example of a setting screen.
FIG. 17 is a diagram illustrating an example of a setting screen.
FIG. 18 is a diagram illustrating an example of a setting screen.
FIG. 19 is a diagram illustrating an example of a setting screen.
FIG. 20 is a diagram showing an example of a setting screen.
[Explanation of symbols]
101 server computer
102 Client computer
103 Client computer
104 client computer
105A Network Printer
105B Network Printer
105C network printer
106 network

Claims (16)

ネットワークに接続された機器を探索する探索方法であって、
機器を探索するための探索データをネットワークに送信する送信ステップと、
前記探索データに対する応答データをネットワークから受信する受信ステップと、
前記応答データから、応答データを送信した機器に関する機器情報を取得する取得ステップと、
受け付ける応答データの数を設定する設定ステップと、
前記受信ステップで受信された応答データの数が、前記設定ステップで設定された数に達したか否か、または前記設定ステップで設定された数を超えたか否かを判定する判定ステップとを有し、
前記受信ステップで受信された応答データの数が、前記設定ステップで設定された数に達したとき、または前記設定ステップで設定された数を超えたとき、応答データの受信を終了させることを特徴とする探索方法。
A search method for searching for a device connected to a network,
A transmitting step of transmitting search data for searching for a device to a network,
A receiving step of receiving response data to the search data from a network;
From the response data, an acquisition step of acquiring device information about the device that transmitted the response data,
A setting step for setting the number of response data to be accepted;
A determining step of determining whether the number of response data received in the receiving step has reached the number set in the setting step or has exceeded the number set in the setting step. And
When the number of response data received in the receiving step reaches the number set in the setting step, or when the number exceeds the number set in the setting step, the reception of the response data is terminated. Search method.
探索を行う時間を設定する時間設定ステップと、
前記時間設定ステップで設定された時間が経過したか否かを判定する時間判定ステップとを有し、
前記時間設定ステップで設定された時間が経過したとき、応答データの受信を終了させることを特徴とする請求項1に記載の探索方法。
A time setting step for setting a time for performing the search;
Having a time determination step to determine whether the time set in the time setting step has elapsed,
The search method according to claim 1, wherein when the time set in the time setting step has elapsed, the reception of the response data is terminated.
探索範囲を設定する範囲設定ステップを有し、
前記送信ステップでは、前記範囲設定ステップで設定された探索範囲に属するネットワークアドレスに対して、探索データを送信することを特徴とする請求項1或いは2に記載の探索方法。
Having a range setting step of setting a search range,
The search method according to claim 1, wherein, in the transmitting step, search data is transmitted to a network address belonging to a search range set in the range setting step.
前記前記受信ステップで受信された応答データの数が、前記設定ステップで設定された数に達したとき、または前記設定ステップで設定された数を超えたとき、前記取得ステップで取得された機器情報を表示する表示ステップとを有することを特徴とする請求項1乃至3のいずれかに記載の探索方法。When the number of response data received in the receiving step reaches the number set in the setting step, or exceeds the number set in the setting step, the device information obtained in the obtaining step 4. A display method according to claim 1, further comprising: a display step of displaying a search result. 表示する機器を指定する条件または表示する機器情報の種類を指定する条件を設定する条件設定ステップを有し、
前記表示ステップでは、前記条件設定ステップで設定された条件に従って、機器情報を表示することを特徴とする請求項4に記載の探索方法。
A condition setting step of setting a condition for specifying a device to be displayed or a condition for specifying a type of device information to be displayed,
The search method according to claim 4, wherein in the displaying step, device information is displayed according to the condition set in the condition setting step.
前記条件設定ステップでは、ネットワークアドレスの範囲を設定可能であり、
前記表示ステップでは、前記条件設定ステップで設定された範囲に属するネットワークアドレスを有する機器に関する機器情報のみを表示することを特徴とする請求項5に記載の探索方法。
In the condition setting step, a network address range can be set,
6. The search method according to claim 5, wherein in the displaying step, only device information relating to a device having a network address belonging to the range set in the condition setting step is displayed.
ネットワークに接続されている機器を管理する管理サーバに登録されている機器に関する機器情報を取得する管理機器情報取得ステップを有し、
前記表示ステップでは、前記取得ステップで取得された機器情報と、前記管理機器情報取得ステップで取得された機器情報とを比較して、前記管理サーバに登録されていない機器に関する機器情報のみを表示することを特徴とする請求項4に記載の探索方法。
Having a management device information acquisition step of acquiring device information on a device registered in a management server that manages devices connected to the network,
In the displaying step, the device information obtained in the obtaining step is compared with the device information obtained in the management device information obtaining step, and only the device information relating to the devices not registered in the management server is displayed. The search method according to claim 4, wherein:
管理サーバを探索する探索ステップと、
前記探索ステップによる探索により検出された管理サーバに関するサーバ情報を表示するサーバ表示ステップとを有し、
前記管理機器情報取得手段は、前記サーバ表示ステップで表示された管理サーバのうち、ユーザにより選択された管理サーバから機器情報を取得することを特徴とする請求項7に記載の探索方法。
A search step of searching for a management server;
A server display step of displaying server information on the management server detected by the search in the search step,
8. The search method according to claim 7, wherein the management device information obtaining unit obtains device information from a management server selected by a user among the management servers displayed in the server display step.
ネットワークに接続された機器を探索する探索プログラムであって、
機器を探索するための探索データをネットワークに送信する送信ステップと、
前記探索データに対する応答データをネットワークから受信する受信ステップと、
前記応答データから、応答データを送信した機器に関する機器情報を取得する取得ステップと、
受け付ける応答データの数を設定する設定ステップと、
前記受信ステップで受信された応答データの数が、前記設定ステップで設定された数に達したか否か、または前記設定ステップで設定された数を超えたか否かを判定する判定ステップとをコンピュータに実行させ、
前記受信ステップで受信された応答データの数が、前記設定ステップで設定された数に達したとき、または前記設定ステップで設定された数を超えたとき、応答データの受信を終了させることを特徴とする探索プログラム。
A search program for searching for a device connected to a network,
A transmitting step of transmitting search data for searching for a device to a network,
A receiving step of receiving response data to the search data from a network;
From the response data, an acquisition step of acquiring device information about the device that transmitted the response data,
A setting step for setting the number of response data to be accepted;
A determining step of determining whether the number of response data received in the receiving step has reached the number set in the setting step or whether the number exceeds the number set in the setting step; Let it run
When the number of response data received in the receiving step reaches the number set in the setting step, or when the number exceeds the number set in the setting step, the reception of the response data is terminated. And a search program.
探索を行う時間を設定する時間設定ステップと、
前記時間設定ステップで設定された時間が経過したか否かを判定する時間判定ステップとをコンピュータに実行させ、
前記時間設定ステップで設定された時間が経過したとき、応答データの受信を終了させることを特徴とする請求項9に記載の探索プログラム。
A time setting step for setting a time for performing the search;
Time determination step to determine whether the time set in the time setting step has elapsed, and the computer to execute,
10. The search program according to claim 9, wherein when the time set in the time setting step has elapsed, the reception of the response data is terminated.
探索範囲を設定する範囲設定ステップをコンピュータに実行させ、
前記送信ステップでは、前記範囲設定ステップで設定された探索範囲に属するネットワークアドレスに対して、探索データを送信することを特徴とする請求項9或いは10に記載の探索プログラム。
Causing the computer to execute a range setting step of setting a search range,
11. The search program according to claim 9, wherein in the transmitting step, search data is transmitted to a network address belonging to a search range set in the range setting step. 12.
前記前記受信ステップで受信された応答データの数が、前記設定ステップで設定された数に達したとき、前記取得ステップで取得された機器情報を表示する表示ステップとをコンピュータに実行させることを特徴とする請求項9乃至11のいずれかに記載の探索プログラム。When the number of response data received in the receiving step has reached the number set in the setting step, a display step of displaying the device information obtained in the obtaining step is performed by a computer. The search program according to any one of claims 9 to 11, wherein 表示する機器を指定する条件または表示する機器情報の種類を指定する条件を設定する条件設定ステップをコンピュータに実行させ、
前記表示ステップでは、前記条件設定ステップで設定された条件に従って、機器情報を表示することを特徴とする請求項12に記載の探索プログラム。
Causing the computer to execute a condition setting step of setting a condition for specifying a device to be displayed or a condition for specifying a type of device information to be displayed;
13. The search program according to claim 12, wherein in the displaying step, device information is displayed according to the condition set in the condition setting step.
前記条件設定ステップでは、ネットワークアドレスの範囲を設定可能であり、
前記表示ステップでは、前記条件設定ステップで設定された範囲に属するネットワークアドレスを有する機器に関する機器情報のみを表示することを特徴とする請求項13に記載の探索プログラム。
In the condition setting step, a network address range can be set,
14. The search program according to claim 13, wherein, in the displaying step, only device information relating to a device having a network address belonging to the range set in the condition setting step is displayed.
ネットワークに接続された機器を探索する情報処理装置であって、
機器を探索するための探索データをネットワークに送信する送信手段と、
前記探索データに対する応答データをネットワークから受信する受信手段と、
前記応答データから、応答データを送信した機器に関する機器情報を取得する取得手段と、
受け付ける応答データの数を設定する設定手段と、
前記受信手段で受信された応答データの数が、前記設定手段で設定された数に達したか否か、または前記設定手段で設定された数を超えたか否かを判定する判定手段とを有し、
前記受信手段で受信された応答データの数が、前記設定手段で設定された数に達したとき、または前記設定手段で設定された数を超えたとき、応答データの受信を終了することを特徴とする情報処理装置。
An information processing device for searching for a device connected to a network,
Transmitting means for transmitting search data for searching for a device to the network,
Receiving means for receiving response data to the search data from a network,
Acquisition means for acquiring device information on the device that transmitted the response data from the response data,
Setting means for setting the number of response data to be accepted;
Determining means for determining whether the number of response data received by the receiving means has reached the number set by the setting means or has exceeded the number set by the setting means; And
When the number of response data received by the receiving means reaches the number set by the setting means, or when the number exceeds the number set by the setting means, the reception of the response data is terminated. Information processing device.
ネットワークに接続された機器を探索する探索方法であって、
機器を探索するための探索データをネットワークに送信する送信ステップと、
前記探索データに対する応答データをネットワークから受信する受信ステップと、
前記応答データから、応答データを送信した機器に関する機器情報を取得する取得ステップと、
受け付ける応答データの数を設定する設定ステップと、
前記受信ステップで受信された応答データの数が、前記設定ステップで設定された数に達したか否か、または前記設定ステップで設定された数を超えたか否かを判定する判定ステップとを有することを特徴とする探索方法。
A search method for searching for a device connected to a network,
A transmitting step of transmitting search data for searching for a device to a network,
A receiving step of receiving response data to the search data from a network;
From the response data, an acquisition step of acquiring device information about the device that transmitted the response data,
A setting step for setting the number of response data to be accepted;
A determining step of determining whether the number of response data received in the receiving step has reached the number set in the setting step or whether the number has exceeded the number set in the setting step. A search method characterized in that:
JP2002157527A 2002-05-30 2002-05-30 Search method, search program and information processor Pending JP2004005015A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002157527A JP2004005015A (en) 2002-05-30 2002-05-30 Search method, search program and information processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002157527A JP2004005015A (en) 2002-05-30 2002-05-30 Search method, search program and information processor

Publications (1)

Publication Number Publication Date
JP2004005015A true JP2004005015A (en) 2004-01-08

Family

ID=30428448

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002157527A Pending JP2004005015A (en) 2002-05-30 2002-05-30 Search method, search program and information processor

Country Status (1)

Country Link
JP (1) JP2004005015A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006099360A (en) * 2004-09-29 2006-04-13 Brother Ind Ltd Network system, server, and program for server
JP2008227884A (en) * 2007-03-13 2008-09-25 Ricoh Co Ltd Image processor

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0424872A (en) * 1990-05-19 1992-01-28 Ricoh Co Ltd Electronic filing device
JPH05128161A (en) * 1991-11-05 1993-05-25 Pfu Ltd Database retrieval output processing system
JPH10200582A (en) * 1998-02-16 1998-07-31 Toshiba Corp Communication-band limiting method, communication-band reserving method and network node device
JPH11353328A (en) * 1998-06-10 1999-12-24 Matsushita Electric Ind Co Ltd Method and device for retrieving target object
JP2000250832A (en) * 1999-02-26 2000-09-14 Oki Electric Ind Co Ltd Distributed directory management system
JP2000353136A (en) * 1999-06-11 2000-12-19 Canon Inc Network device search device and its method, and storage medium
JP2001273220A (en) * 2000-01-18 2001-10-05 Canon Inc Device and method for processing information, storage medium and computer program

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0424872A (en) * 1990-05-19 1992-01-28 Ricoh Co Ltd Electronic filing device
JPH05128161A (en) * 1991-11-05 1993-05-25 Pfu Ltd Database retrieval output processing system
JPH10200582A (en) * 1998-02-16 1998-07-31 Toshiba Corp Communication-band limiting method, communication-band reserving method and network node device
JPH11353328A (en) * 1998-06-10 1999-12-24 Matsushita Electric Ind Co Ltd Method and device for retrieving target object
JP2000250832A (en) * 1999-02-26 2000-09-14 Oki Electric Ind Co Ltd Distributed directory management system
JP2000353136A (en) * 1999-06-11 2000-12-19 Canon Inc Network device search device and its method, and storage medium
JP2001273220A (en) * 2000-01-18 2001-10-05 Canon Inc Device and method for processing information, storage medium and computer program

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006099360A (en) * 2004-09-29 2006-04-13 Brother Ind Ltd Network system, server, and program for server
JP4725064B2 (en) * 2004-09-29 2011-07-13 ブラザー工業株式会社 Network system, server, and server program
JP2008227884A (en) * 2007-03-13 2008-09-25 Ricoh Co Ltd Image processor

Similar Documents

Publication Publication Date Title
US7312886B2 (en) Printer control method, information processing apparatus, program, and storage medium
JP4240690B2 (en) Information processing apparatus, information processing method, information processing system, and recording medium
US8958095B2 (en) Relay server, relay server control method, and storage medium
US9069504B2 (en) Printing apparatus and method for increasing storage area
JP4125044B2 (en) Information processing apparatus, information processing apparatus control method, program, and storage medium
EP1830250B1 (en) Non-postscript printer description file generating tool
JP5692294B2 (en) Information processing apparatus, print control program, recording medium, and image processing system
US8994970B2 (en) Information processing apparatus, control method, and storage medium
US8605316B2 (en) Information processing apparatus and control method thereof, and storage medium
US20090091791A1 (en) Methods and systems for third-party administrative control of remote imaging jobs and imaging devices
JP2007317195A (en) Method and medium for execution of print job
JP2011164854A (en) Print setting management device, application device, print setting management method, print control method, and program
JP7186815B2 (en) Information processing device, program and method
US20120170071A1 (en) Information processing apparatus, device information display method, and computer-readable storage medium
JP5711518B2 (en) Information processing apparatus, control method thereof, and program
KR20130004155A (en) Job processing apparatus, control method, and computer readable storage medium
JP5786439B2 (en) PRINT CONTROL DEVICE, PRINT CONTROL SYSTEM, PRINT CONTROL PROGRAM, AND RECORDING MEDIUM CONTAINING THE PROGRAM
JP4467955B2 (en) Information processing device, peripheral device control system, peripheral device control method applied to information processing device, and program thereof
JP2006209309A (en) Print system
JP7175693B2 (en) PRINTING DEVICE, PRINTING DEVICE CONTROL METHOD, AND PROGRAM
JP2008084312A (en) Method and system for third-party to control remote image processing job
JP2016083870A (en) Image formation device, and control method and system therefor
JP2002373064A (en) Printer and information processor
JP2023018114A (en) Program, information processing device, and method for controlling information processing device
JP2004005015A (en) Search method, search program and information processor

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040527

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050603

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050607

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050808

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20051220

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060220

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20060411