JP2006163568A - Port monitor - Google Patents

Port monitor Download PDF

Info

Publication number
JP2006163568A
JP2006163568A JP2004351033A JP2004351033A JP2006163568A JP 2006163568 A JP2006163568 A JP 2006163568A JP 2004351033 A JP2004351033 A JP 2004351033A JP 2004351033 A JP2004351033 A JP 2004351033A JP 2006163568 A JP2006163568 A JP 2006163568A
Authority
JP
Japan
Prior art keywords
printer
port
port monitor
state
data
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.)
Withdrawn
Application number
JP2004351033A
Other languages
Japanese (ja)
Inventor
Hiroki Shono
広希 庄野
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 JP2004351033A priority Critical patent/JP2006163568A/en
Publication of JP2006163568A publication Critical patent/JP2006163568A/en
Withdrawn legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To allow print equipment to receive print data reliably under a printable state, and to avoid the occurrence of timeout at a port monitor side by receiving the print data when the print equipment is in a sleep mode. <P>SOLUTION: The port monitor has a wait time determining means for determining wait time until data start to be transmitted by an information acquisition means and an equipment state discrimination means, when transmitting print data to the equipment through a port. <P>COPYRIGHT: (C)2006,JPO&NCIPI

Description

本発明は、プリンタとパーソナルコンピュータの情報の送受信に関し、プリンタへの印刷データの送信と一連の情報の送受信の方法に関する。   The present invention relates to transmission / reception of information between a printer and a personal computer, and relates to a method of transmitting print data to a printer and a series of information transmission / reception.

従来、パーソナルコンピュータ上のアプリケーションでオープンしているデータをネットワーク上の印刷機器に送信する場合、オペレーティングシステムはポートという概念を用いて送信先の機器を識別している。ポートモニタは、そのようなポートの作成やデータをポートに対して送信したり、またポートを通じて機器から情報を取得したりといった、パーソナルコンピュータのオペレーティングシステムと印刷機器とを接続する役割を果たしている。ポートを通じた通信プロトコルは一般的な印刷プロトコルであったりベンダ固有のプロトコルであったりと制限は存在しないが、現在のネットワーク環境で幅広く使用されているIPプロトコル(Internet Protocol)上で動作するものが一般的である。たとえばLPRプロトコル(Line Printer Daemonプロトコル)やSMBプロトコル(Server Message Blockプロトコル)といったプロトコルが挙げられる。それらのプロトコルはTCP/IP(Transmission Control Protocol/Internet Protocol)上で動作し、TCPプロトコルとしての通信を確立した後で、それら上位層のプロトコルが情報の送受信を行う。これら従来から知られている技術が例えば特許文献1に開示されている。
特開平9−30079
Conventionally, when data opened by an application on a personal computer is transmitted to a printing device on a network, the operating system uses a concept of a port to identify a destination device. The port monitor serves to connect the operating system of the personal computer and the printing device, such as creating such a port, transmitting data to the port, and acquiring information from the device through the port. There is no restriction whether the communication protocol through the port is a general printing protocol or a vendor-specific protocol, but there are those that operate on the IP protocol (Internet Protocol) widely used in the current network environment. It is common. For example, protocols such as LPR protocol (Line Printer Daemon protocol) and SMB protocol (Server Message Block protocol) can be mentioned. These protocols operate on TCP / IP (Transmission Control Protocol / Internet Protocol), and after establishing communication as the TCP protocol, these higher-layer protocols transmit and receive information. These conventionally known techniques are disclosed in Patent Document 1, for example.
JP-A-9-30079

しかしながら、従来のIPプロトコルに対応したポートモニタでは、印刷機器との通信の際に、印刷機器へ通信の確立を行った場合に印刷機器から応答がない場合、または応答が遅延している場合に、印刷機器の種別に関係なく一定時間が経過した時点でタイムアウト処理が行われてしまうという問題があった。例えば印刷機器がスリープモードや省電力モード状態にある場合、印刷機器がポートモニタから通信接続要求を受信したとしても即座に応答できないことがある。印刷機器はスリープモードや省電力モードから通常状態に復帰した後で応答するため、復帰に費やされる時間は応答を行うことができない。この復帰に必要な時間は印刷装置によって異なるため、従来のポートモニタでは、印刷機器から一定の時間に応答がなかった場合にタイムアウトしてしまい結果として印刷が行われないという不具合があった。たとえば特開平9−30079では、印刷データ作成時間Pt、印刷データ転送時間Tt、ページバッファへの描画時間Rt、ウォームアップ時間Wtを予測しウォームアップ開始を指示するまでの時間Pt+Tt+Rt−Wtのタイミングでプリンタのウォームアップを開始させるための立ち上げコマンドを送出するという処理について記載されているが、印刷機器がスリープ状態や省電力モード状態であるか否かの判断は行われていないため、ウォームアップ時間Wtは常に考慮される結果となり、印刷機器が通常状態においてもウォームアップ時間Wtを待つ結果となっていた。   However, in the case of a port monitor that supports the conventional IP protocol, when communication is established with the printing device when communication is established with the printing device, there is no response from the printing device, or when the response is delayed. However, there is a problem that the timeout process is performed when a certain time has elapsed regardless of the type of printing device. For example, when the printing device is in the sleep mode or the power saving mode, the printing device may not be able to respond immediately even if it receives a communication connection request from the port monitor. Since the printing device responds after returning from the sleep mode or the power saving mode to the normal state, the time spent for the return cannot respond. Since the time required for the return varies depending on the printing apparatus, the conventional port monitor has a problem that when a response is not received from the printing device for a certain time, it times out and printing is not performed as a result. For example, in Japanese Patent Laid-Open No. 9-30079, the print data creation time Pt, print data transfer time Tt, drawing time Rt to the page buffer, warm-up time Wt is predicted, and the time Pt + Tt + Rt−Wt is given until the warm-up start is instructed. Although it describes the process of sending a startup command to start the printer warm-up, it is not determined whether the printing device is in the sleep state or the power saving mode. The time Wt has always been taken into consideration, and the printing apparatus waits for the warm-up time Wt even in the normal state.

上述した問題を解決するために、請求項1の発明は、パーソナルコンピュータ上で動作し、プリンタに印刷ジョブデータの送信と一連の情報の送受信を行うポートモニタであって、ポートを通じて機器の情報を取得する情報取得手段と、ポートを通じて機器の状態を判別する機器状態判別手段と、ポートを通じて機器に印刷データを送信する際に、前記情報取得手段と前記機器状態判別手段によりデータの送信を開始するまでの待ち時間を決定する待ち時間決定手段と、を備えることを特徴とする。   In order to solve the above-described problem, the invention of claim 1 is a port monitor that operates on a personal computer and transmits print job data and a series of information to a printer. The information acquisition unit, the device state determination unit that determines the state of the device through the port, and the transmission of data by the information acquisition unit and the device state determination unit when the print data is transmitted to the device through the port. Waiting time determining means for determining the waiting time until the first time.

請求項2の発明は、前記情報取得手段によってポートモニタが取得する機器情報には、製品の名称または製品の名称に順ずる値が含まれていることを特徴とする。   The invention of claim 2 is characterized in that the device information acquired by the port monitor by the information acquisition means includes a product name or a value corresponding to the product name.

請求項3の発明は、前記機器状態判別手段は、機器が正常状態、またはスリープ状態(省電力状態)、または電源断状態のいずれかであるかの判別を行うことを特徴とする。   The invention of claim 3 is characterized in that the device state determination means determines whether the device is in a normal state, a sleep state (power saving state), or a power-off state.

請求項4の発明は、プリンタに印刷ジョブデータの送信と一連の情報の送受信を行うポートモニタであって、ポートを通じて機器の情報を取得する情報取得手段と、ポートを通じて機器の状態を判別する機器状態判別手段と、ポートを通じて機器に印刷データを送信する際に、前記情報取得手段と前記機器状態判別手段によりデータの送信を開始するまでの待ち時間の決定ができない場合に、予め決定されているデフォルト値を待ち時間として決定する待ち時間決定手段と、を備えることを特徴とする。   According to a fourth aspect of the present invention, there is provided a port monitor for transmitting print job data and a series of information to a printer, information acquisition means for acquiring device information through the port, and device for determining the state of the device through the port. When print data is transmitted to the device through the state determination unit and the port, the determination is made in advance when the information acquisition unit and the device state determination unit cannot determine the waiting time until data transmission is started. A waiting time determining means for determining a default value as a waiting time.

請求項5の発明は、前記情報取得手段によってポートモニタが取得する機器情報には、製品の名称または製品の名称に順ずる値が含まれていることを特徴とする。   The invention according to claim 5 is characterized in that the device information acquired by the port monitor by the information acquisition means includes a product name or a value corresponding to the product name.

請求項6の発明は、前記機器状態判別手段は、機器が正常状態、またはスリープ状態(省電力状態)、または電源断状態のいずれかであるかの判別を行うことを特徴とする。   According to a sixth aspect of the present invention, the device state determining means determines whether the device is in a normal state, a sleep state (power saving state), or a power-off state.

本発明によって、印刷機器は印刷可能状態下において確実に印刷データを受信することが可能であり、印刷機器がスリープモードであった場合に印刷データを受信することによるポートモニタ側のタイムアウトの発生を回避することが可能である。   According to the present invention, the printing device can reliably receive the print data in a printable state, and when the printing device is in the sleep mode, the occurrence of a timeout on the port monitor side due to the reception of the print data is prevented. It is possible to avoid it.

(第1の実施例)
以下、図面を参照して本発明の第一の実施の形態について説明する。まず、本実施の形態において想定しているポートモニタの全体構成について説明する。本実施の形態において印刷ジョブの送信側でありポートモニタがインストールされているホストコンピュータ101は、図1に示す様に、ローカルエリアネットワーク(LAN)103に接続されている。また、本実施の形態において、印刷ジョブの受信側としては、プリンタ102が想定されている。受信側のプリンタ102は、レーザープリンタやデジタル複合機などであり、ネットワーク経由で印刷ジョブを受信したり、ホストコンピュータ101と通信を行うことにより、プリンタ102の情報をホストコンピュータ101に送信したり、ホストコンピュータ101から受信したコマンドによってプリンタ102の各種設定が可能である。プリンタ102は、送信側のホストコンピュータ101と同様に、LAN103に接続される構成となっている。LAN103は一般的にいわれるところのLAN(Local Area Network)であり、イーサネット(登録商標)(Ethernet(登録商標))であるものとする。LAN103に接続される各端末や各印刷装置はイーサネット(登録商標)ケーブルやハブ(HUB)などを介して接続される。なお、ここでのLANの種別はイーサネット(登録商標)であるが、これは限定されるものではなく、一般的にLANを形成するものであればよい。たとえばトークンリング(TokenRing)などであってもよい。また、LAN103には上述のホストコンピュータ101とプリンタ102に加えて、各種の一般的なネットワーク機器が接続されるものとする。たとえばネットワークルータや電子メールサーバ、ファイルサーバであるものとする。
(First embodiment)
The first embodiment of the present invention will be described below with reference to the drawings. First, the overall configuration of the port monitor assumed in this embodiment will be described. In this embodiment, the host computer 101 on the print job transmission side and installed with the port monitor is connected to a local area network (LAN) 103 as shown in FIG. In the present embodiment, the printer 102 is assumed as the print job receiving side. The printer 102 on the receiving side is a laser printer, a digital multi-function peripheral, or the like, receives a print job via a network, transmits information of the printer 102 to the host computer 101 by communicating with the host computer 101, Various settings of the printer 102 can be made by commands received from the host computer 101. The printer 102 is configured to be connected to the LAN 103 in the same manner as the host computer 101 on the transmission side. The LAN 103 is a so-called LAN (Local Area Network), and is assumed to be Ethernet (registered trademark) (Ethernet (registered trademark)). Each terminal and each printing apparatus connected to the LAN 103 are connected via an Ethernet (registered trademark) cable or a hub (HUB). Note that the type of LAN here is Ethernet (registered trademark), but this is not limited, and any LAN that generally forms a LAN may be used. For example, a token ring may be used. In addition to the host computer 101 and printer 102 described above, various general network devices are connected to the LAN 103. For example, a network router, an e-mail server, or a file server is assumed.

次に印刷ジョブの送信側となるホストコンピュータ101の構成について説明する。上述のようなホストコンピュータ101は、例えば図2に示すような構成となっている。図2で示されるホストコンピュータ101は、ホストコンピュータ全体の動作制御を司るCPU201と、CPU201での動作制御のための各種プログラムやデータなどが格納されるROM202と、CPU201の主メモリや作業エリアなどを含むRAM203と、マウス206と、マウス206からの指示入力を制御するマウスコントローラ205と、キーボード208と、キーボード208やポインティングデバイス(図示せず)からの指示入力を制御するキーボードコントローラ207と、CRTディスプレイ210と、CRTディスプレイ210の表示を制御するCRTコントローラ209と、各種プログラムやデータ(ブートプログラム、種々のアプリケーション、プリンタドライバ、ポートモニタ、など)を記憶するためのハードディスクドライブ212及びフロッピー(登録商標)ディスクドライブ213と、ハードディスクドライブ212及びフロッピー(登録商標)ディスクドライブ213とのアクセスを制御するディスクコントローラ211と、LAN103を介してプリンタ102と双方向にデータをやりとりするためのネットワークインタフェイスカード214とを備えており、これらの各構成部は、システムバス204を介して互いに通信可能なように接続されている。   Next, the configuration of the host computer 101 on the print job transmission side will be described. The host computer 101 as described above has a configuration as shown in FIG. 2, for example. The host computer 101 shown in FIG. 2 includes a CPU 201 that controls the operation of the entire host computer, a ROM 202 that stores various programs and data for controlling the operation of the CPU 201, a main memory and a work area of the CPU 201, and the like. RAM 203 including, mouse controller 205, mouse controller 205 for controlling instruction input from mouse 206, keyboard 208, keyboard controller 207 for controlling instruction input from keyboard 208 and pointing device (not shown), and CRT display 210, a CRT controller 209 for controlling the display on the CRT display 210, and a hard disk drive for storing various programs and data (boot program, various applications, printer driver, port monitor, etc.) In order to exchange data with the printer 102 via the LAN 103 and the disk controller 211 that controls access to the hard disk drive 212 and the floppy® disk drive 213, and the printer 102. The network interface card 214 is connected to each other via a system bus 204 so that they can communicate with each other.

次に、印刷ジョブを受信する側となるプリンタ102の構成について説明する。上述のようなプリンタ102の主なる構成は、例えば、図3に示すように、デバイス全体の動作制御を司るCPU301と、CPU301での動作制御のための各種プログラムやデータ等が格納されるROM302と、CPU301の主メモリや作業用エリア等を含むRAM303と、デバイス機能(プリンタ機能やコピー機能等)のエンジン304と、エンジン304の駆動を制御するエンジンコントローラ305と、ユーザから各種操作指示を受け付けたり種々の情報を表示するパネル306と、パネル306での入出力をコントロールしたりパネル306を管理するパネルコントローラ307と、各種プログラムやデータ(機器情報データベース)を記憶するためのハードディスクドライブ308と、ハードディスクドライブ308とのアクセスを制御するディスクコントローラ309と、不揮発性RAM310と、LAN104を介してメールサーバ103と双方向にデータをやりとりするためのネットワークインタフェイスカード311とを備えている。SNMP制御部312はプリンタ102上でアプリケーション層プロトコルであるSNMP(Simple Network Management Protocol)が動作するのに必要がソフトウェアであり、デバイスのデータベースであるMIB314とのアクセスを行い、ホストコンピュータ101へデータを送ったりまた制御コマンドを受信して所定の処理を行う。MIB314は、SNMPで使用される機器情報データベースであるMIB(Machine Information Base)である。これらの各構成部は、システムバス313を介して互いに通信可能なように接続されている。   Next, the configuration of the printer 102 that receives the print job will be described. The main configuration of the printer 102 as described above is, for example, as shown in FIG. 3, a CPU 301 that controls operation of the entire device, and a ROM 302 that stores various programs and data for operation control in the CPU 301. The RAM 303 including the main memory and work area of the CPU 301, the engine 304 for device functions (printer function, copy function, etc.), the engine controller 305 for controlling the driving of the engine 304, and various operation instructions from the user. Panel 306 for displaying various information, panel controller 307 for controlling input / output on panel 306 and managing panel 306, hard disk drive 308 for storing various programs and data (device information database), hard disk With drive 308 A disk controller 309 for controlling access, and a non-volatile RAM 310, a network interface card 311 for exchanging data to the mail server 103 bidirectionally via the LAN 104. The SNMP control unit 312 is software necessary for the SNMP (Simple Network Management Protocol), which is an application layer protocol, to operate on the printer 102, accesses the MIB 314, which is a device database, and sends data to the host computer 101. Sends or receives control commands and performs predetermined processing. The MIB 314 is an MIB (Machine Information Base) that is a device information database used in SNMP. These components are connected to each other via a system bus 313 so that they can communicate with each other.

次に、図4のフロー図を用いて本発明のポートモニタを使用してのポートの作成の流れを説明していく。ホストコンピュータ101のユーザはホストコピュータ101上で動作しているオペレーティングシステムを操作して、プリンタのポートの新規登録を行う。ポートの新規登録はオペレーティングシステムが標準で備えているポートを使用する場合と、任意のポートモニタソフトウェアをインストールし、ポートを作成する場合とがある。本実施の形態においては、ポートの追加方法は後者となる。ユーザは予めホストコンピュータ101にインストールされた本実施の形態で使用されるポートモニタを使用して新規にポートを追加する。本実施の形態においては、ユーザはプリンタ102のポートを作成するものとする。Step401において、ユーザはプリンタのネットワーク識別子を入力する。ユーザはポートモニタのポートの追加を支持する操作を、オペレーティングシステムのGUI(Graphical User Interface)から行う。ネットワーク識別子とは、ネットワーク上でプリンタ102を識別するための情報であり、ここではIPアドレス(Internet Protocolアドレス)またはホスト名であるものとする。ユーザによってプリンタ102のIPアドレスまたはホスト名が入力されたならば、次にStep402においてプリンタ102の情報の取得を行う。ポートモニタはプリンタ102にSNMPプロトコルで通信を行うことによってプリンタ102の製品名称情報を取得する。SNMPはLANやインターネットに接続されるデバイスを管理することを目的としたプロトコルで、デバイスの状況や構成、及びエラー情報等といった情報の取得が可能である。SNMPはそのプロトコルの仕様として、ネットワーク上のデバイスはManagerとAgentの2種に分割して構成されている。ManagerはAgentのデバイス情報の取得と設定を行う側であり、AgentはManagerからの問い合わせ(要求)に対して応答を行う側となる。本発明の実施の形態においてはホストコンピュータ101がManagerとしての機能を担うものとし、プリンタ102はAgentとしての機能を担うものとする。ここではポートモニタはGetRequestメッセージを用いて問い合わせを行う。GetRequestメッセージとは、Agentから一つ以上の変数値の取り出しを行うメッセージである。ポートモニタはSNMPパケットの編集を行う。まずSNMPのPDUタイプは0(GetRequest)である。要求IDはポートモニタによって動的に決定される。ここでは、製品名称を意味するオブジェクトを指定するものとする。エラー情報フィールドは0である。問い合わせるMIBは1.3.6.1.4.1下の値であり、つまりベンダ独自に拡張可能なOID(Object-ID)が格納される。本発明の実施の形態においては製品名称を意味するObjectが予め定義されているものとし、それらのOIDが格納されているものとする。ここで、GetRequestメッセージの送信先となるプリンタ102のIPアドレスは、Step401において取得できているものとする。ポートモニタは上記の構成をもってUDPパケットを編集し、プリンタ102に対してSNMPプロトコルの送出を行う。次にプリンタ102はSNMPパケットを受信して応答に備える処理を行う。まずプリンタ102のネットワークインタフェイスカード311がSNMPパケットを受信する。SNMPのアプリケーションデータはハードディスクドライブ308に格納されている解析ソフトウェアに渡される。次にプリンタ102は受信したGetRequestメッセージの内容の解析(デコード)を行う。解析ソフトウェアは、受信したSNMPパケットのPDU-Typeフィールドの値が0であることから、それがGetRequestであることを認識する。次にOIDの解析を行う。OIDはエラー情報の詳細状況を意味するObjectとジョブオーナーを一意に特定する意味を持つObjectであるため、解析ソフトウェアはその応答メッセージを用意する。ここでは受信したOIDは製品名称を意味するものであることから、プリンタ102はプリンタ102の製品名称を含めた内容をホストコンピュータ101に送信する。ホストコンピュータ101はこのメッセージを受信してプリンタ102の製品名称を認識する。次にStep403において、ポートモニタはプリンタ102のポートにデータを送出する際の待ち時間の設定を行う。ポートモニタはポートモニタの構成ファイルとして所有しているテーブルファイルを参照することによりプリンタ102にデータを送出する場合の待ち時間を取得する。テーブルファイルの一例を図5として例示する。図5は、ポートモニタがプリンタやMFPから取得した製品名称と、それらの機器にデータを送信する際の待ち時間との対応表である。本実施の形態においては、Step402でプリンタ102から取得した製品名称は"Printer102"であるものとする。図5の情報501から、"Printer102"に対応する待ち時間は50であることが分かる。ここでは50とは待ち時間が50秒であることを示す。この処理により、ポートモニタがプリンタ102のポートにデータを送出する場合の待ち時間は50秒と決定される。次に図6のフロー図を用いて、ホストコンピュータ101を操作するユーザがプリンタ102に印刷指示を行う場合の処理の流れについて示す。Step601において、ユーザは印刷指示を行う。ここでユーザはホストコンピュータ101上で任意のアプリケーションソフトウェアを動作させているものとする。ユーザはアプリケーションソフトウェア上でデータを編集等を行い、そのデータの印刷指示をかける。印刷指示を行った場合のホストコンピュータ101内のソフトウェア群の連係動作は次のようになる。ポートモニタがアプリケーションデータをプリンタ102に送信する際の動作は、例えば図7に示される構成である。オペレーティングシステム701はホストコンピュータ101上で動作している。アプリケーションソフトウェア702はユーザが任意でインストール及び起動を行うソフトウェアで、例えば文書編集ソフトウェアや表計算ソフトウェアなどが存在する。ユーザがアプリケーションソフトウェ702で編集を行っているデータの印刷を行う場合は、プリントドライバ703がアプリケーションソフトウェア702からある単位のデータを受け取り、順次ある単位毎にPDLイメージ(Page Description Langageイメージ)を生成し、ホストコンピュータ101内のスプーラ704に渡す。ポートモニタ705はスプーラ704から順次、PDLイメージ化されたプリントジョブを受信し、それらをプリンタ102にデータを送信するためのポートに所定のプロトコルで送信する。ポートモニタ705がスプーラ704からデータを受信したら、次にポートモニタ705はプリンタ102と通信を行う(Step602)。ポートモニタ705は、ICMPプロトコル(Internet Control Message Protocol)のPingコマンド(Packet INternet Groper)をプリンタ102に送出する。PingとはインターネットやイントラネットなどのTCP/IPネットワークを診断するプログラム。接続されているかどうか調べたいコンピュータのIPアドレスまたはホスト名を指定すると、ICMPプロトコルを使って通常32バイト程度のデータを送信し、相手のコンピュータから返信があるかどうか、返信がある場合はどのくらい時間がかかっているか、などのデータを元にネットワークを診断する。ポートモニタ705はPingコマンドをプリンタ102に送出することによって、プリンタ102がスリープモード(省電力モード)であるか、または電源断状態であるか、または印刷可能状態であるかを判断する。ここでポートモニタ705が送出したPingコマンドに対して即座に応答があった場合には、プリンタ102は印刷可能状態であると判断できる。反対に、ポートモニタ705が送出したPingコマンドに対して即座に応答がなく遅延した場合にはプリンタ102はスリープモードであると判断する(Step603)。ポートモニタ705はプリンタ102からの応答時間を計測するために、Pingコマンドを送出したあとでソフトウェアタイマを起動する(Step606)。プリンタ102がスリープモードであった場合には、プリンタ102はPingコマンドを受信したことによって印刷可能状態に移行する。移行には有限の時間が必要であるがその時間は機器によって異なるものである。本実施の形態においてはプリンタ102が印刷可能状態に移行するのに必要な時間は50秒よりわずかに少ない数値である。Step603においてプリンタ102から即座に応答があった場合にはプリンタ102は印刷可能状態であるため、ポートモニタ705はジョブ送信処理に移行する(Step605)。Step603においてプリンタ102から即座に応答がなかった場合には、プリンタ102はスリープモード下または電源断状態にあると判断できるため、ポートモニタ705は50秒のカウントモードに移行する(Step604)。ここでの50秒とはStep403によって決定された値である。ポートモニタ705は、Step606において起動したソフトウェアタイマを用いて50秒の測定を行う。この測定状態では、ポートモニタ705はプリンタ102から応答がない限りは自発的にデータを送信することは行わない。ここで50秒のタイムアウトが発生する前にプリンタ102から応答があった場合には、プリンタ102はスリープモード下であったものであり且つスリープモードから復帰したと判断できるため、ポートモニタ705はジョブ送信処理に移行する(Step605)。プリンタ102から応答がないまま50秒が経過した場合には、プリンタ102は電源断状態であると判断して印刷ジョブを削除する(Step707)。次にStep605において、ポートモニタ705は印刷ジョブの送信を行う。ポートモニタ705はスプーラ704から受信した印刷データを所定のプロトコルを用いてプリンタ102へ送信する。これら一連の処理により、プリンタ102は印刷可能状態下で確実に印刷データを受信することが可能であり、プリンタ102がスリープモード時に印刷データを受信することによるポートモニタのタイムアウトが発生する問題を回避することが可能である。   Next, the flow of creating a port using the port monitor of the present invention will be described with reference to the flowchart of FIG. A user of the host computer 101 operates an operating system running on the host computer 101 to newly register a printer port. New registration of a port may be performed using a port provided as a standard in the operating system, or may be performed by installing arbitrary port monitor software. In this embodiment, the method for adding a port is the latter. The user adds a new port by using the port monitor used in the present embodiment installed in the host computer 101 in advance. In the present embodiment, it is assumed that the user creates a port for the printer 102. In Step 401, the user inputs the network identifier of the printer. The user performs an operation supporting the addition of the port of the port monitor from a GUI (Graphical User Interface) of the operating system. The network identifier is information for identifying the printer 102 on the network, and here it is assumed to be an IP address (Internet Protocol address) or a host name. If the IP address or host name of the printer 102 is input by the user, then in step 402, information on the printer 102 is acquired. The port monitor acquires product name information of the printer 102 by communicating with the printer 102 using the SNMP protocol. SNMP is a protocol for managing devices connected to a LAN or the Internet, and can acquire information such as device status and configuration, and error information. As a specification of the protocol of SNMP, devices on the network are divided into two types, Manager and Agent. Manager is the side that acquires and sets Agent device information, and Agent is the side that responds to inquiries (requests) from the Manager. In the embodiment of the present invention, the host computer 101 assumes a function as a manager, and the printer 102 assumes a function as an agent. Here, the port monitor makes an inquiry using a GetRequest message. A GetRequest message is a message for extracting one or more variable values from an Agent. The port monitor edits the SNMP packet. First, the PDU type of SNMP is 0 (GetRequest). The request ID is dynamically determined by the port monitor. Here, an object meaning a product name is designated. The error information field is 0. The MIB to be inquired is a value below 1.3.6.1.4.1, that is, an OID (Object-ID) that can be expanded independently by the vendor is stored. In the embodiment of the present invention, it is assumed that an object meaning a product name is defined in advance, and that OID is stored. Here, it is assumed that the IP address of the printer 102 that is the transmission destination of the GetRequest message has been acquired in Step 401. The port monitor edits the UDP packet with the above configuration and sends the SNMP protocol to the printer 102. Next, the printer 102 receives the SNMP packet and performs a process for preparing a response. First, the network interface card 311 of the printer 102 receives an SNMP packet. SNMP application data is passed to analysis software stored in the hard disk drive 308. Next, the printer 102 analyzes (decodes) the content of the received GetRequest message. The analysis software recognizes that it is a GetRequest because the value of the PDU-Type field of the received SNMP packet is 0. Next, OID analysis is performed. Since the OID is an object that indicates the detailed status of the error information and an object that uniquely identifies the job owner, the analysis software prepares a response message. Here, since the received OID means a product name, the printer 102 transmits the contents including the product name of the printer 102 to the host computer 101. The host computer 101 receives this message and recognizes the product name of the printer 102. In step 403, the port monitor sets a waiting time when data is sent to the port of the printer 102. The port monitor acquires a waiting time when data is sent to the printer 102 by referring to a table file owned as a port monitor configuration file. An example of the table file is illustrated in FIG. FIG. 5 is a correspondence table between product names acquired from the printer or MFP by the port monitor and waiting times when data is transmitted to these devices. In the present embodiment, it is assumed that the product name acquired from the printer 102 in Step 402 is “Printer102”. It can be seen from the information 501 in FIG. 5 that the waiting time corresponding to “Printer 102” is 50. Here, 50 indicates that the waiting time is 50 seconds. With this process, the waiting time when the port monitor sends data to the port of the printer 102 is determined to be 50 seconds. Next, the flow of processing when the user operating the host computer 101 issues a print instruction to the printer 102 will be described with reference to the flowchart of FIG. In Step 601, the user issues a print instruction. Here, it is assumed that the user is operating arbitrary application software on the host computer 101. The user edits the data on the application software and issues a print instruction for the data. When the print instruction is given, the software group linkage operation in the host computer 101 is as follows. The operation when the port monitor transmits application data to the printer 102 has, for example, the configuration shown in FIG. An operating system 701 operates on the host computer 101. Application software 702 is software that the user arbitrarily installs and activates, and includes, for example, document editing software and spreadsheet software. When printing data edited by the user with the application software 702, the print driver 703 receives a unit of data from the application software 702, and sequentially generates a PDL image (Page Description Language image) for each unit. To the spooler 704 in the host computer 101. The port monitor 705 sequentially receives print jobs converted into PDL images from the spooler 704 and transmits them to a port for transmitting data to the printer 102 using a predetermined protocol. When the port monitor 705 receives data from the spooler 704, the port monitor 705 communicates with the printer 102 (Step 602). The port monitor 705 sends a Ping command (Packet Internet Grouper) of the ICMP protocol (Internet Control Message Protocol) to the printer 102. Ping is a program that diagnoses TCP / IP networks such as the Internet and intranets. If you specify the IP address or host name of the computer that you want to check if it is connected, you will send data of about 32 bytes using the ICMP protocol, and if there is a reply from the other computer, how long it takes Diagnose the network based on data such as The port monitor 705 determines whether the printer 102 is in the sleep mode (power saving mode), in the power-off state, or in the printable state by sending a Ping command to the printer 102. If there is an immediate response to the Ping command sent by the port monitor 705, it can be determined that the printer 102 is in a printable state. On the other hand, if there is no immediate response to the Ping command sent from the port monitor 705 and there is a delay, the printer 102 is determined to be in the sleep mode (Step 603). The port monitor 705 activates a software timer after sending a Ping command in order to measure the response time from the printer 102 (Step 606). When the printer 102 is in the sleep mode, the printer 102 shifts to a printable state upon receiving the Ping command. Migration requires a finite amount of time, but the time varies from device to device. In this embodiment, the time required for the printer 102 to shift to the printable state is a numerical value slightly less than 50 seconds. If there is an immediate response from the printer 102 in step 603, the printer 102 is ready for printing, and the port monitor 705 proceeds to job transmission processing (step 605). If there is no immediate response from the printer 102 in Step 603, it can be determined that the printer 102 is in the sleep mode or in a power-off state, and therefore the port monitor 705 shifts to the 50-second count mode (Step 604). Here, 50 seconds is a value determined in Step 403. The port monitor 705 performs the measurement for 50 seconds using the software timer started in Step 606. In this measurement state, the port monitor 705 does not spontaneously transmit data unless there is a response from the printer 102. If there is a response from the printer 102 before the timeout of 50 seconds occurs, it can be determined that the printer 102 is in the sleep mode and has returned from the sleep mode. The process proceeds to transmission processing (Step 605). If 50 seconds have passed without any response from the printer 102, the printer 102 determines that the power is off and deletes the print job (Step 707). In step 605, the port monitor 705 transmits a print job. The port monitor 705 transmits the print data received from the spooler 704 to the printer 102 using a predetermined protocol. With this series of processing, the printer 102 can reliably receive print data in a printable state, and avoids a problem that a port monitor timeout occurs due to the printer 102 receiving print data in the sleep mode. Is possible.

(第2の実施例)
本発明の第二の実施の形態について説明する。
(Second embodiment)
A second embodiment of the present invention will be described.

第二の実施例では、ポートモニタのポート作成時に、機器との通信ができない場合、または通信を行った結果として待ち時間のマッピングができなかった場合の待ち時間の設定方法について説明していく。ここで、プリンタ、ホストコンピュータ及びそれらが接続される環境は図1に示されるものである。また、ホストコンピュータ101及びプリンタ102の詳細な構成も、それぞれ図2及び図3で示されるものとする。   In the second embodiment, a method of setting a waiting time when communication with a device cannot be performed at the time of creating a port monitor or when mapping of waiting time cannot be performed as a result of communication will be described. Here, the printer, the host computer, and the environment to which they are connected are shown in FIG. The detailed configurations of the host computer 101 and the printer 102 are also shown in FIGS. 2 and 3, respectively.

次に、図8のフロー図を用いて本発明のポートモニタを使用してのポートの作成の流れを説明していく。ホストコンピュータ101のユーザはホストコピュータ101上で動作しているオペレーティングシステムを操作して、プリンタのポートの新規登録を行う。ポートの新規登録はオペレーティングシステムが標準で備えているポートを使用する場合と、任意のポートモニタソフトウェアをインストールし、ポートを作成する場合とがある。本実施の形態においては、ポートの追加方法は後者となる。ユーザは予めホストコンピュータ101にインストールされた本実施の形態で使用されるポートモニタを使用して新規にポートを追加する。本実施の形態においては、ユーザはプリンタ102のポートを作成するものとする。Step801において、ユーザはプリンタのネットワーク識別子を入力する。ユーザはポートモニタのポートの追加を支持する操作を、オペレーティングシステムのGUI(Graphical User Interface)から行う。ネットワーク識別子とは、ネットワーク上でプリンタ102を識別するための情報であり、ここではIPアドレス(Internet Protocolアドレス)またはホスト名であるものとする。ユーザによってプリンタ102のIPアドレスまたはホスト名が入力されたならば、次にStep802においてプリンタ102の情報の取得を行う。ポートモニタはプリンタ102にSNMPプロトコルで通信を行うことによってプリンタ102の製品名称情報を取得する。SNMPはLANやインターネットに接続されるデバイスを管理することを目的としたプロトコルで、デバイスの状況や構成、及びエラー情報等といった情報の取得が可能である。SNMPはそのプロトコルの仕様として、ネットワーク上のデバイスはManagerとAgentの2種に分割して構成されている。ManagerはAgentのデバイス情報の取得と設定を行う側であり、AgentはManagerからの問い合わせ(要求)に対して応答を行う側となる。本発明の実施の形態においてはホストコンピュータ101がManagerとしての機能を担うものとし、プリンタ102はAgentとしての機能を担うものとする。ここではポートモニタはGetRequestメッセージを用いて問い合わせを行う。GetRequestメッセージとは、Agentから一つ以上の変数値の取り出しを行うメッセージである。ポートモニタはSNMPパケットの編集を行う。まずSNMPのPDUタイプは0(GetRequest)である。要求IDはポートモニタによって動的に決定される。ここでは、製品名称を意味するオブジェクトを指定するものとする。エラー情報フィールドは0である。問い合わせるMIBは1.3.6.1.4.1下の値であり、つまりベンダ独自に拡張可能なOID(Object-ID)が格納される。本発明の実施の形態においては製品名称を意味するObjectが予め定義されているものとし、それらのOIDが格納されているものとする。ここで、GetRequestメッセージの送信先となるプリンタ102のIPアドレスは、Step401において取得できているものとする。ポートモニタは上記の構成をもってUDPパケットを編集し、プリンタ102に対してSNMPプロトコルの送出を行う。次にプリンタ102はSNMPパケットを受信して応答に備える処理を行う。まずプリンタ102のネットワークインタフェイスカード311がSNMPパケットを受信する。SNMPのアプリケーションデータはハードディスクドライブ308に格納されている解析ソフトウェアに渡される。次にプリンタ102は受信したGetRequestメッセージの内容の解析(デコード)を行う。解析ソフトウェアは、受信したSNMPパケットのPDU-Typeフィールドの値が0であることから、それがGetRequestであることを認識する。次にOIDの解析を行う。OIDはエラー情報の詳細状況を意味するObjectとジョブオーナーを一意に特定する意味を持つObjectであるため、解析ソフトウェアはその応答メッセージを用意する。ここでは受信したOIDは製品名称を意味するものであることから、プリンタ102はプリンタ102の製品名称を含めた内容をホストコンピュータ101に送信する。このプリンタ102側の処理において、たとえばプリンタ102の電源が入っていなかったり、またプリンタ102内で何らかのエラーが発生していてネットワークを使用した通信を行うことができない場合にはホストコンピュータ101へ応答することができない。この場合は、Step807の処理に移行する。ホストコンピュータ101がこのメッセージを受信してプリンタ102の製品名称を認識した場合には、Step804に移行して、ポートモニタはテーブルファイルを用いてプリンタ102のポートにデータを送出する際の待ち時間の設定を行う(Step803)。ポートモニタはポートモニタの構成ファイルとして所有しているテーブルファイルを参照することによりプリンタ102にデータを送出する場合の待ち時間を取得する。テーブルファイルの一例を図5として例示する。図5は、ポートモニタがプリンタやMFPから取得した製品名称と、それらの機器にデータを送信する際の待ち時間との対応表である。左列は製品名称を意味し、右列は待ち時間を意味している。ここで、Step802で取得した製品名称がテーブルファイルに存在しなかった場合には、Step807の処理に移行する。製品名称と待ち時間のマッピングを行うことができたならば、ポートモニタがプリンタ102のポートにデータを送出する場合の待ち時間はテーブル中の値に決定される(Step806)。Step803でプリンタ102からの応答がなかった場合、またはStep805でテーブルファイル中にプリンタ102の製品名称が存在しなかった場合には、待ち時間は予め決定されている固定のデフォルト値に設定される(Step807)。   Next, the flow of creating a port using the port monitor of the present invention will be described with reference to the flowchart of FIG. A user of the host computer 101 operates an operating system running on the host computer 101 to newly register a printer port. New registration of a port may be performed using a port provided as a standard in the operating system, or may be performed by installing arbitrary port monitor software. In this embodiment, the method for adding a port is the latter. The user adds a new port by using the port monitor used in the present embodiment installed in the host computer 101 in advance. In the present embodiment, it is assumed that the user creates a port for the printer 102. In Step 801, the user inputs the network identifier of the printer. The user performs an operation supporting the addition of the port of the port monitor from a GUI (Graphical User Interface) of the operating system. The network identifier is information for identifying the printer 102 on the network, and here it is assumed to be an IP address (Internet Protocol address) or a host name. If the IP address or host name of the printer 102 is input by the user, next, in step 802, information on the printer 102 is acquired. The port monitor acquires product name information of the printer 102 by communicating with the printer 102 using the SNMP protocol. SNMP is a protocol for managing devices connected to a LAN or the Internet, and can acquire information such as device status and configuration, and error information. As a specification of the protocol of SNMP, devices on the network are divided into two types, Manager and Agent. Manager is the side that acquires and sets Agent device information, and Agent is the side that responds to inquiries (requests) from the Manager. In the embodiment of the present invention, the host computer 101 assumes a function as a manager, and the printer 102 assumes a function as an agent. Here, the port monitor makes an inquiry using a GetRequest message. A GetRequest message is a message for extracting one or more variable values from an Agent. The port monitor edits the SNMP packet. First, the PDU type of SNMP is 0 (GetRequest). The request ID is dynamically determined by the port monitor. Here, an object meaning a product name is designated. The error information field is 0. The MIB to be inquired is a value below 1.3.6.1.4.1, that is, an OID (Object-ID) that can be expanded independently by the vendor is stored. In the embodiment of the present invention, it is assumed that an object meaning a product name is defined in advance, and that OID is stored. Here, it is assumed that the IP address of the printer 102 that is the transmission destination of the GetRequest message has been acquired in Step 401. The port monitor edits the UDP packet with the above configuration and sends the SNMP protocol to the printer 102. Next, the printer 102 receives the SNMP packet and performs a process for preparing a response. First, the network interface card 311 of the printer 102 receives an SNMP packet. SNMP application data is passed to analysis software stored in the hard disk drive 308. Next, the printer 102 analyzes (decodes) the content of the received GetRequest message. The analysis software recognizes that it is a GetRequest because the value of the PDU-Type field of the received SNMP packet is 0. Next, OID analysis is performed. Since the OID is an object that indicates the detailed status of the error information and an object that uniquely identifies the job owner, the analysis software prepares a response message. Here, since the received OID means a product name, the printer 102 transmits the contents including the product name of the printer 102 to the host computer 101. In this processing on the printer 102 side, for example, if the printer 102 is not turned on, or if an error has occurred in the printer 102 and communication using the network cannot be performed, a response to the host computer 101 is made. I can't. In this case, the process proceeds to Step 807. When the host computer 101 receives this message and recognizes the product name of the printer 102, the process proceeds to Step 804, where the port monitor waits for sending data to the port of the printer 102 using the table file. Setting is performed (Step 803). The port monitor acquires a waiting time when data is sent to the printer 102 by referring to a table file owned as a port monitor configuration file. An example of the table file is illustrated in FIG. FIG. 5 is a correspondence table between product names acquired from the printer or MFP by the port monitor and waiting times when data is transmitted to these devices. The left column means the product name, and the right column means the waiting time. If the product name acquired in Step 802 does not exist in the table file, the process proceeds to Step 807. If the product name and the waiting time can be mapped, the waiting time when the port monitor sends data to the port of the printer 102 is determined as a value in the table (Step 806). When there is no response from the printer 102 at Step 803, or when the product name of the printer 102 does not exist in the table file at Step 805, the waiting time is set to a predetermined fixed default value ( Step 807).

次に図6のフロー図を用いて、ホストコンピュータ101を操作するユーザがプリンタ102に印刷指示を行う場合の処理の流れについて示す。Step601において、ユーザは印刷指示を行う。ここでユーザはホストコンピュータ101上で任意のアプリケーションソフトウェアを動作させているものとする。ユーザはアプリケーションソフトウェア上でデータを編集等を行い、そのデータの印刷指示をかける。印刷指示を行った場合のホストコンピュータ101内のソフトウェア群の連係動作は次のようになる。ポートモニタがアプリケーションデータをプリンタ102に送信する際の動作は、例えば図7に示される構成である。オペレーティングシステム701はホストコンピュータ101上で動作している。アプリケーションソフトウェア702はユーザが任意でインストール及び起動を行うソフトウェアで、例えば文書編集ソフトウェアや表計算ソフトウェアなどが存在する。ユーザがアプリケーションソフトウェ702で編集を行っているデータの印刷を行う場合は、プリントドライバ703がアプリケーションソフトウェア702からある単位のデータを受け取り、順次ある単位毎にPDLイメージ(Page Description Langageイメージ)を生成し、ホストコンピュータ101内のスプーラ704に渡す。ポートモニタ705はスプーラ704から順次、PDLイメージ化されたプリントジョブを受信し、それらをプリンタ102にデータを送信するためのポートに所定のプロトコルで送信する。ポートモニタ705がスプーラ704からデータを受信したら、次にポートモニタ705はプリンタ102と通信を行う(Step602)。ポートモニタ705は、ICMPプロトコル(Internet Control Message Protocol)のPingコマンド(Packet INternet Groper)をプリンタ102に送出する。PingとはインターネットやイントラネットなどのTCP/IPネットワークを診断するプログラム。接続されているかどうか調べたいコンピュータのIPアドレスまたはホスト名を指定すると、ICMPプロトコルを使って通常32バイト程度のデータを送信し、相手のコンピュータから返信があるかどうか、返信がある場合はどのくらい時間がかかっているか、などのデータを元にネットワークを診断する。ポートモニタ705はPingコマンドをプリンタ102に送出することによって、プリンタ102がスリープモード(省電力モード)であるか、または電源断状態であるか、または印刷可能状態であるかを判断する。ここでポートモニタ705が送出したPingコマンドに対して即座に応答があった場合には、プリンタ102は印刷可能状態であると判断できる。反対に、ポートモニタ705が送出したPingコマンドに対して即座に応答がなく遅延した場合にはプリンタ102はスリープモードであると判断する(Step603)。ポートモニタ705はプリンタ102からの応答時間を計測するために、Pingコマンドを送出したあとでソフトウェアタイマを起動する(Step606)。プリンタ102がスリープモードであった場合には、プリンタ102はPingコマンドを受信したことによって印刷可能状態に移行する。移行には有限の時間が必要であるがその時間は機器によって異なるものである。本実施の形態においてはプリンタ102が印刷可能状態に移行するのに必要な時間はStep806によって決定された待ち時間値よりわずかに少ない数値である。Step603においてプリンタ102から即座に応答があった場合にはプリンタ102は印刷可能状態であるため、ポートモニタ705はジョブ送信処理に移行する(Step605)。Step603においてプリンタ102から即座に応答がなかった場合には、プリンタ102はスリープモード下または電源断状態にあると判断できるため、ポートモニタ705は待ち時間のカウントモードに移行する(Step604)。ここでの待ち時間はStep806またはStep807により決定された値である。ポートモニタ705は、Step606において起動したソフトウェアタイマを用いて待ち時間の測定を行う。この測定状態では、ポートモニタ705はプリンタ102から応答がない限りは自発的にデータを送信することは行わない。ここで待ち時間のタイムアウトが発生する前にプリンタ102から応答があった場合には、プリンタ102はスリープモード下であったものであり且つスリープモードから復帰したと判断できるため、ポートモニタ705はジョブ送信処理に移行する(Step605)。プリンタ102から応答がないまま待ち時間が経過した場合には、プリンタ102は電源断状態であると判断して印刷ジョブを削除する(Step707)。次にStep605において、ポートモニタ705は印刷ジョブの送信を行う。ポートモニタ705はスプーラ704から受信した印刷データを所定のプロトコルを用いてプリンタ102へ送信する。これら一連の処理により、ポート作成時の危機の状態により待ち時間を変更することができ、機器へデータを送信する際の信頼度を向上することが可能になる。   Next, the flow of processing when the user operating the host computer 101 issues a print instruction to the printer 102 will be described with reference to the flowchart of FIG. In Step 601, the user issues a print instruction. Here, it is assumed that the user is operating arbitrary application software on the host computer 101. The user edits the data on the application software and issues a print instruction for the data. When the print instruction is given, the software group linkage operation in the host computer 101 is as follows. The operation when the port monitor transmits application data to the printer 102 has, for example, the configuration shown in FIG. An operating system 701 operates on the host computer 101. Application software 702 is software that the user arbitrarily installs and activates, and includes, for example, document editing software and spreadsheet software. When printing data edited by the user with the application software 702, the print driver 703 receives a unit of data from the application software 702, and sequentially generates a PDL image (Page Description Language image) for each unit. To the spooler 704 in the host computer 101. The port monitor 705 sequentially receives print jobs converted into PDL images from the spooler 704 and transmits them to a port for transmitting data to the printer 102 using a predetermined protocol. When the port monitor 705 receives data from the spooler 704, the port monitor 705 communicates with the printer 102 (Step 602). The port monitor 705 sends a Ping command (Packet Internet Grouper) of the ICMP protocol (Internet Control Message Protocol) to the printer 102. Ping is a program that diagnoses TCP / IP networks such as the Internet and intranets. If you specify the IP address or host name of the computer that you want to check if it is connected, you will send data of about 32 bytes using the ICMP protocol, and if there is a reply from the other computer, how long it takes Diagnose the network based on data such as The port monitor 705 determines whether the printer 102 is in the sleep mode (power saving mode), in the power-off state, or in the printable state by sending a Ping command to the printer 102. If there is an immediate response to the Ping command sent by the port monitor 705, it can be determined that the printer 102 is in a printable state. On the other hand, if there is no immediate response to the Ping command sent from the port monitor 705 and there is a delay, the printer 102 is determined to be in the sleep mode (Step 603). The port monitor 705 activates a software timer after sending a Ping command in order to measure the response time from the printer 102 (Step 606). When the printer 102 is in the sleep mode, the printer 102 shifts to a printable state upon receiving the Ping command. Migration requires a finite amount of time, but the time varies from device to device. In the present embodiment, the time required for the printer 102 to shift to the printable state is a numerical value slightly smaller than the waiting time value determined in Step 806. If there is an immediate response from the printer 102 in step 603, the printer 102 is ready for printing, and the port monitor 705 proceeds to job transmission processing (step 605). If there is no immediate response from the printer 102 in Step 603, it can be determined that the printer 102 is in the sleep mode or in the power-off state, and therefore the port monitor 705 shifts to the waiting time count mode (Step 604). The waiting time here is a value determined by Step 806 or Step 807. The port monitor 705 measures the waiting time using the software timer started in Step 606. In this measurement state, the port monitor 705 does not spontaneously transmit data unless there is a response from the printer 102. If there is a response from the printer 102 before the waiting time-out occurs, it can be determined that the printer 102 is in the sleep mode and has returned from the sleep mode. The process proceeds to transmission processing (Step 605). If the waiting time elapses without a response from the printer 102, the printer 102 determines that the power is off and deletes the print job (Step 707). In step 605, the port monitor 705 transmits a print job. The port monitor 705 transmits the print data received from the spooler 704 to the printer 102 using a predetermined protocol. Through this series of processing, the waiting time can be changed depending on the state of crisis at the time of port creation, and the reliability when data is transmitted to the device can be improved.

本発明の実施の形態を例示したブロック図である。1 is a block diagram illustrating an embodiment of the present invention. 印刷装置の内部構造を示すブロック図である。2 is a block diagram illustrating an internal structure of the printing apparatus. FIG. パーソナルコンピュータの内部構造を示すブロック図である。It is a block diagram which shows the internal structure of a personal computer. 論理ポート作成時の一例を示すフロー図である。It is a flowchart which shows an example at the time of logical port creation. 印刷装置の種別と送信待ち時間との対応を示す図である。FIG. 6 is a diagram illustrating a correspondence between a type of printing apparatus and a transmission waiting time. 印刷ジョブ送信時のフロー図である。FIG. 6 is a flowchart when a print job is transmitted. ホストコンピュータのソフトウェア階層を表すブロック図である。It is a block diagram showing the software hierarchy of a host computer. 印刷ジョブ送信時のフロー図である。FIG. 6 is a flowchart when a print job is transmitted.

符号の説明Explanation of symbols

101 ホストコンピュータ
102 プリンタ
103 LAN
201 CPU
202 ROM
203 RAM
204 システムバス
205 マウスコントローラ
206 マウス
207 キーボードコントローラ
208 キーボード
209 CRTコントローラ
210 CRT
211 ディスクコントローラ
212 ハードディスクドライブ
213 フロッピー(登録商標)ディスクドライブ
214 ネットワークインタフェイスカード
301 CPU
302 ROM
303 RAM
304 エンジン
305 エンジンコントローラ
306 パネル
307 パネルコントローラ
308 ハードディスクドライブ
309 ディスクコントローラ
310 NVRAM
311 ネットワークインタフェイスカード
312 SNMP制御部
313 システムバス
314 MIB
101 Host computer 102 Printer 103 LAN
201 CPU
202 ROM
203 RAM
204 System Bus 205 Mouse Controller 206 Mouse 207 Keyboard Controller 208 Keyboard 209 CRT Controller 210 CRT
211 disk controller 212 hard disk drive 213 floppy (registered trademark) disk drive 214 network interface card 301 CPU
302 ROM
303 RAM
304 Engine 305 Engine Controller 306 Panel 307 Panel Controller 308 Hard Disk Drive 309 Disk Controller 310 NVRAM
311 Network interface card 312 SNMP control unit 313 System bus 314 MIB

Claims (6)

パーソナルコンピュータ上で動作し、プリンタに印刷ジョブデータの送信と一連の情報の送受信を行うポートモニタであって、
ポートを通じて機器の情報を取得する情報取得手段と、
ポートを通じて機器の状態を判別する機器状態判別手段と、
ポートを通じて機器に印刷データを送信する際に、前記情報取得手段と前記機器状態判別手段によりデータの送信を開始するまでの待ち時間を決定する待ち時間決定手段と、
を備えることを特徴とするポートモニタ。
A port monitor that operates on a personal computer and transmits print job data and a series of information to a printer.
Information acquisition means for acquiring device information through the port;
Device status determination means for determining the status of the device through the port;
A waiting time determining means for determining a waiting time until transmission of data is started by the information acquisition means and the device status determination means when transmitting print data to a device through a port;
A port monitor comprising:
請求項1のポートモニタに於いて、前記情報取得手段によってポートモニタが取得する機器情報には、製品の名称または製品の名称に順ずる値が含まれていることを特徴としたポートモニタ。   2. The port monitor according to claim 1, wherein the device information acquired by the information acquisition means includes a product name or a value corresponding to the product name. 請求項1のポートモニタに於いて、前記機器状態判別手段は、機器が正常状態、またはスリープ状態(省電力状態)、または電源断状態のいずれかであるかの判別を行うことを特徴としたポートモニタ。   2. The port monitor according to claim 1, wherein the device state determining means determines whether the device is in a normal state, a sleep state (power saving state), or a power-off state. Port monitor. パーソナルコンピュータ上で動作し、プリンタに印刷ジョブデータの送信と一連の情報の送受信を行うポートモニタであって、
ポートを通じて機器の情報を取得する情報取得手段と、
ポートを通じて機器の状態を判別する機器状態判別手段と、
ポートを通じて機器に印刷データを送信する際に、前記情報取得手段と前記機器状態判別手段によりデータの送信を開始するまでの待ち時間の決定ができない場合に、予め決定されているデフォルト値を待ち時間として決定する待ち時間決定手段と、
を備えることを特徴とするポートモニタ。
A port monitor that operates on a personal computer and transmits print job data and a series of information to a printer.
Information acquisition means for acquiring device information through the port;
Device status determination means for determining the status of the device through the port;
When transmitting print data to a device through a port, if the waiting time until data transmission starts by the information acquisition unit and the device state determination unit cannot be determined, a predetermined default value is set as the waiting time. Waiting time determining means to determine as,
A port monitor comprising:
請求項4のポートモニタに於いて、前記情報取得手段によってポートモニタが取得する機器情報には、製品の名称または製品の名称に順ずる値が含まれていることを特徴としたポートモニタ。   5. The port monitor according to claim 4, wherein the device information acquired by the port monitor by the information acquisition means includes a product name or a value corresponding to the product name. 請求項4のポートモニタに於いて、前記機器状態判別手段は、機器が正常状態、またはスリープ状態(省電力状態)、または電源断状態のいずれかであるかの判別を行うことを特徴としたポートモニタ。   5. The port monitor according to claim 4, wherein the device state determining means determines whether the device is in a normal state, a sleep state (power saving state), or a power-off state. Port monitor.
JP2004351033A 2004-12-03 2004-12-03 Port monitor Withdrawn JP2006163568A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004351033A JP2006163568A (en) 2004-12-03 2004-12-03 Port monitor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004351033A JP2006163568A (en) 2004-12-03 2004-12-03 Port monitor

Publications (1)

Publication Number Publication Date
JP2006163568A true JP2006163568A (en) 2006-06-22

Family

ID=36665546

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004351033A Withdrawn JP2006163568A (en) 2004-12-03 2004-12-03 Port monitor

Country Status (1)

Country Link
JP (1) JP2006163568A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010225060A (en) * 2009-03-25 2010-10-07 Fuji Xerox Co Ltd Power control device, system and program
EP2416240A2 (en) 2010-08-06 2012-02-08 Brother Kogyo Kabushiki Kaisha Terminal device
JP2013033437A (en) * 2011-06-29 2013-02-14 Canon Inc Print control device, print control method, information processing system, information processor, information processing method, and computer program
JP2015100012A (en) * 2013-11-19 2015-05-28 西日本電信電話株式会社 Program, end terminal, and method for determining end terminal state

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010225060A (en) * 2009-03-25 2010-10-07 Fuji Xerox Co Ltd Power control device, system and program
EP2416240A2 (en) 2010-08-06 2012-02-08 Brother Kogyo Kabushiki Kaisha Terminal device
US8797577B2 (en) 2010-08-06 2014-08-05 Brother Kogyo Kabushiki Kaisha Terminal device configured to control the transmission of data according to the data type
JP2013033437A (en) * 2011-06-29 2013-02-14 Canon Inc Print control device, print control method, information processing system, information processor, information processing method, and computer program
JP2015100012A (en) * 2013-11-19 2015-05-28 西日本電信電話株式会社 Program, end terminal, and method for determining end terminal state

Similar Documents

Publication Publication Date Title
US8289540B2 (en) Output management device setting apparatus and setting method
JP5439941B2 (en) Information processing system, information processing apparatus, and signal transmission apparatus
JP5417980B2 (en) Information processing apparatus and program
US8619290B2 (en) Image forming apparatus, image forming system, and image forming method
JP4045798B2 (en) Printing system
US20040130747A1 (en) Image forming apparatus and print process method
US7970866B2 (en) Print system including application server to select printer driver for client specific print information
JP2000347975A (en) Equipment management system, management server and computer readable recording medium
JP2008140243A (en) Information processor, information processing method and print control system
JP2010009318A (en) Image processing system, its control method, computer program and storage medium
JP2000330742A (en) Network printer system
KR100611172B1 (en) Controlling system for network printer and controlling method of data-receiving thereof
US20100332681A1 (en) Communication apparatus capable of selecting a proper source address from a plurality of source addresses assigned thereto, method of controlling the same, and storage medium
JP2017105057A (en) Image formation device, energy saving state managing method, program, and image formation system
US20040064812A1 (en) System and method for updating software versions
JP4045800B2 (en) Printing system and method
US8645968B2 (en) Information processing system, information processing method, program, and storage medium
JP4045801B2 (en) How to print application data
JP2001309104A (en) Status monitor
JP2006163568A (en) Port monitor
US8300244B2 (en) Automatic discovery of networked raster image processing engines
JP2005346739A (en) Printer and printer job data transfer method
JP3829798B2 (en) Image forming apparatus and program
JP2005038011A (en) Network system and its control method
JP2003022172A (en) Print server device and its control method

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20080205