JP2006163568A - Port monitor - Google Patents
Port monitor Download PDFInfo
- 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
Links
Images
Abstract
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に開示されている。
しかしながら、従来の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
請求項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
請求項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
次に印刷ジョブの送信側となるホストコンピュータ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
次に、印刷ジョブを受信する側となるプリンタ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
次に、図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
(第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
次に、図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
次に図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
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
201 CPU
202 ROM
203 RAM
204 System Bus 205 Mouse Controller 206
211 disk controller 212
302 ROM
303 RAM
311 Network interface card 312 SNMP control unit 313
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:
ポートを通じて機器の情報を取得する情報取得手段と、
ポートを通じて機器の状態を判別する機器状態判別手段と、
ポートを通じて機器に印刷データを送信する際に、前記情報取得手段と前記機器状態判別手段によりデータの送信を開始するまでの待ち時間の決定ができない場合に、予め決定されているデフォルト値を待ち時間として決定する待ち時間決定手段と、
を備えることを特徴とするポートモニタ。 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:
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)
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 |
-
2004
- 2004-12-03 JP JP2004351033A patent/JP2006163568A/en not_active Withdrawn
Cited By (5)
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 |