JP2004341734A - Printer, print processing method, program and storage medium - Google Patents

Printer, print processing method, program and storage medium Download PDF

Info

Publication number
JP2004341734A
JP2004341734A JP2003136149A JP2003136149A JP2004341734A JP 2004341734 A JP2004341734 A JP 2004341734A JP 2003136149 A JP2003136149 A JP 2003136149A JP 2003136149 A JP2003136149 A JP 2003136149A JP 2004341734 A JP2004341734 A JP 2004341734A
Authority
JP
Japan
Prior art keywords
print
response
print data
port
external device
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.)
Granted
Application number
JP2003136149A
Other languages
Japanese (ja)
Other versions
JP2004341734A5 (en
JP4143469B2 (en
Inventor
Tadahiro Nakamura
忠弘 中村
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 JP2003136149A priority Critical patent/JP4143469B2/en
Publication of JP2004341734A publication Critical patent/JP2004341734A/en
Publication of JP2004341734A5 publication Critical patent/JP2004341734A5/ja
Application granted granted Critical
Publication of JP4143469B2 publication Critical patent/JP4143469B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a printer which performs management to reception of print data in each print request by an easy process. <P>SOLUTION: When this printer 101 receives a Create Job packet transmitted from a host computer on a network 104, the printer 101 analyzes XML data described in a CreateJob, and generates a print data-receiving print port in the absence of an error. In this case, a port number is changed to '10000', '10001', '10002', etc. every time a print request is present. The printer 101 transmits CreateJob response data to the host computer, starts a 30-sec timer corresponding to the generated print port, and closes the generated print port when the timer expires before a reception start of the print data. <P>COPYRIGHT: (C)2005,JPO&NCIPI

Description

【0001】
【発明の属する技術分野】
本発明は、外部装置とネットワークを介して通信可能な印刷装置、印刷処理方法、プログラムおよび記憶媒体に関する。
【0002】
【従来の技術】
近年、インターネットにおいて用いられているWebサービス技術が大きな注目を集めている。Webサービスは、ネットワーク上に分散する各種サービスを緩やかに結合する技術である。Webサービス技術を利用することにより、プログラムが人間の手を介さず動的に適切なサービスを選択することが可能になり、Webサービス技術は、目的とする処理を自動的に行う技術として各産業分野から期待されている。このWebサービスにおいてやり取りされるデータは、XML(eXtensible Markup Language)で記述されており、このXMLで記述されたデータは、SOAP(Simple Object Access Protocol)を使用してネットワーク上で送受信される。このSOAPは、下位層にHTTP(Hyper Text Transfer Protocol)やSMTP(Simple Mail Transfer Protocol)を利用することが規定されているもので、Webブラウジングや電子メールと同様にインターネット上で容易に利用することが可能である。
【0003】
このWebサービス技術をプリンティング技術に適用することによって、これまでになかった様々なメリットを得ることができる。例えば、プリンタにWebサービスを実装すれば、プリントサービスとしてSOAPを使用したプリントジョブ投入やデバイス管理が可能となる。また、ユーザは、このプリントサービスへのアクセスを柔軟にカスタマイズすることが可能になる。例えば、プリントサービスへの接続方法は、WSDL(Web Service Description Language)で記述されるため、このWSDLを解釈し、一定の規則により変換するプログラムを用意することによって、ユーザに対して必要な項目のみが抽出されたUI(ユーザインターフェース)を提供することが可能である。また、WSDLにはプリントジョブ投入の際に指定可能なジョブ情報も記述することが可能であり、例えば両面プリントが可能か否かを、WSDLを参照することで予め知ることもできる。
【0004】
このように、Webサービス技術をプリンタに適用すれば、様々なメリットが得られるので、Webサービス技術を適用したプリンタの開発が今後ますます進められることが想定される。
【0005】
Webサービス技術を適用したプリンタにおける印刷は、例えば以下の手順により行われる。
【0006】
まず、クライアントが印刷要求コマンドをXMLで記述し、プリンタに送信する。プリンタは、印刷要求コマンドを受信すると、印刷データを受信するための(または、印刷データを送信する際の宛先として)URLまたはポート番号をクライアントに応答する。その後、クライアントは指定されたURLまたはポート番号に印刷データを送信し、プリンタは印刷を行う(例えば、特許文献1)。
【0007】
上記データ受信用URLとしては、例えば「http://192.168.0.1/print/job1」という形式のものがあり、この場合は、ポート番号として、httpスキームのデフォルトである80を使用することを意味する。そのため、クライアントはまずプリンタのポート80に対して接続し、HTTPのPOSTメソッドを使用して印刷データを送信する。またプリンタは、次の印刷要求に対しては、URLを例えば「http://192.168.0.1/print/job2」とするなどして、前ジョブのURLと変えて応答し、続けて受信するジョブをこのURLを確認することによって、複数ジョブが同時に投入された場合でも各ジョブを一意に識別することができる。
【0008】
【特許文献1】
特開2002−333958号公報
【0009】
【発明が解決しようとする課題】
上述した手順において、印刷要求と印刷データは、別コネクションでプリンタに送信され、プリンタ側においては、印刷要求に対して、データ受信用のURLが応答される。そのため、ネットワーク障害やクライアントプログラムの障害などの原因により印刷データの送信が開始されないというような状況を考慮する必要がある。その場合、プリンタは、印刷要求に対する応答後、一定時間クライアントから印刷データの送信が開始されないと、タイムアウトとして印刷要求を無効とし、それ以降のクライアントからの印刷データの送信を拒否するように構成する必要がある。しかし、このような構成を実現するためには、ジョブ毎にデータ受信用URLとタイムアウトまでの時間とを関連付けて保持することが必要であるので、管理およびそれに伴う処理が複雑になる。また、全てのジョブについて、その印刷データは、ポート番号80のポートを用いて受信されるため、既にタイムアウトし、無効としたジョブにおいても、一度接続を確立し、受信したデータに対してそのURLを確認した上で、エラーを返すという冗長な処理を行う必要がある。これにより、さらにネットワーク上に不必要なトラフィックが発生することになる。
【0010】
本発明の目的は、印刷要求毎の印刷データの受信に対する管理または印刷データの受信の制限を簡単な処理で行うことができる印刷装置、印刷処理方法、プログラムおよび記憶媒体を提供することにある。
【0011】
【課題を解決するための手段】
本発明は、上記目的を達成するため、外部装置とネットワークを介して通信可能な印刷装置であって、前記外部装置から送信された印刷要求を受信する印刷要求受信手段と、前記受信された印刷要求に対応する印刷データを受信するためのポートを生成するポート生成手段と、前記受信された印刷要求に対する応答として、前記生成されたポートの情報を含む応答データを前記外部装置に送信する応答手段と、前記外部装置から前記応答データに応じて送信された印刷データを前記生成されたポートで受信する印刷データ受信手段とを有し、前記ポート生成手段は、前記外部装置からの印刷要求を受信する毎に異なるポートを生成し、前記印刷データ受信手段は、前記応答データの送信から所定時間内に、前記生成されたポートで印刷データの受信が開始されたか否かを管理することを特徴とする。
【0012】
また、本発明は、上記目的を達成するため、外部装置とネットワークを介して通信可能な印刷装置であって、前記外部装置から送信された印刷要求を受信する印刷要求受信手段と、前記印刷要求受信手段により受信された印刷要求に対応する印刷データの宛先を識別する情報を、前記印刷要求受信手段により受信された印刷要求に対する応答として送信する応答手段と、前記応答手段により送信された情報が示す宛先に対する前記外部装置からの印刷データを受信する印刷データ受信手段とを有し、前記応答手段は、複数の印刷要求のそれぞれに対して異なる宛先を割り当て、前記印刷データ受信手段は、複数の宛先のそれぞれにおいて、前記応答手段により情報が送信されてから所定時間経過後は当該宛先に対する印刷データの受信を制限することを特徴とする。
【0013】
また、本発明は、上記目的を達成するため、外部装置からネットワークを介して送信された印刷ジョブを印刷装置により印刷するための印刷処理方法であって、前記外部装置から送信された印刷要求を受信する印刷要求受信工程と、前記受信された印刷要求に対応する印刷データを受信するためのポートを生成するポート生成工程と、前記受信された印刷要求に対する応答として、前記生成されたポートの情報を含む応答データを前記外部装置に送信する応答工程と、前記外部装置から前記応答データに応じて送信された印刷データを前記生成されたポートで受信する印刷データ受信工程とを有し、前記ポート生成工程では、前記外部装置からの印刷要求を受信する毎に異なるポートを生成し、前記印刷データ受信工程では、前記応答データの送信から所定時間内に前記生成されたポートで印刷データの受信が開始されたか否かを管理することを特徴とする。
【0014】
また、本発明は、上記目的を達成するため、外部装置からネットワークを介して送信された印刷ジョブを印刷装置により印刷するための印刷処理方法であって、前記外部装置から送信された印刷要求を受信する印刷要求受信工程と、前記印刷要求受信工程で受信された印刷要求に対応する印刷データの宛先を識別する情報を、前記印刷要求受信工程で受信された印刷要求に対する応答として送信する応答工程と、前記応答工程で送信された情報が示す宛先に対する前記外部装置からの印刷データを受信する印刷データ受信工程とを有し、前記応答工程では、複数の印刷要求のそれぞれに対して異なる宛先を割り当て、前記印刷データ受信工程では、複数の宛先のそれぞれにおいて、前記応答手段により情報が送信されてから所定時間経過後は当該宛先に対する印刷データの受信を制限することを特徴とする。
【0015】
また、本発明は、上記目的を達成するため、外部装置からネットワークを介して送信された印刷ジョブを印刷する印刷装置上で実行されるプログラムであって、前記外部装置から送信された印刷要求を受信する印刷要求受信モジュールと、前記受信された印刷要求に対応する印刷データを受信するためのポートを生成するポート生成モジュールと、前記受信された印刷要求に対する応答として、前記生成されたポートの情報を含む応答データを前記外部装置に送信する応答モジュールと、前記外部装置から前記応答データに応じて送信された印刷データを前記生成されたポートで受信する印刷データ受信モジュールとを有し、前記ポート生成モジュールは、前記外部装置からの印刷要求を受信する毎に異なるポートを生成し、前記印刷データ受信モジュールは、前記応答データの送信から所定時間内に前記生成されたポートで印刷データの受信が開始されたか否かを管理することを特徴とする。
【0016】
また、本発明は、上記目的を達成するため、外部装置からネットワークを介して送信された印刷ジョブを印刷する印刷装置上で実行されるプログラムであって、前記外部装置から送信された印刷要求を受信する印刷要求受信モジュールと、前記印刷要求受信モジュールによって受信された印刷要求に対応する印刷データの宛先を識別する情報を、前記印刷要求受信モジュールによって受信された印刷要求に対する応答として送信する応答モジュールと、前記応答モジュールによって送信された情報が示す宛先に対する前記外部装置からの印刷データを受信する印刷データ受信モジュールとを有し、前記応答モジュールでは、複数の印刷要求のそれぞれに対して異なる宛先を割り当て、前記印刷データ受信モジュールでは、複数の宛先のそれぞれにおいて、前記応答手段により情報が送信されてから所定時間経過後は当該宛先に対する印刷データの受信を制限することを特徴とする。
【0017】
また、本発明は、上記目的を達成するため、上記いずれかのプログラムをコンピュータ読み取り可能に格納したことを特徴とする記憶媒体を提供する。
【0018】
【発明の実施の形態】
以下、本発明の実施の形態について図面を参照しながら説明する。
【0019】
図1は本発明の一実施の形態に係る印刷装置を含む印刷システムの構成を模式的に示す図である。
【0020】
印刷システムにおいては、図1に示すように、印刷装置101と複数のホストコンピュータ102,103とが、LAN(Local Area Network)などのネットワーク104を介して相互に通信可能に接続される。印刷装置101は、ホストコンピュータ102,103からプリントジョブを受信し、印刷を行う例えばレーザビームプリンタなどからなり、ステープルやソート機能を行うフィニッシャ、両面印刷機能を実現するための両面装置などの各種拡張装置を装着することが可能である。
【0021】
次に、印刷装置101の構成について図2を参照しながら説明する。図2は図1の印刷装置101のハードウェア構成を示すブロック図である。ここでは、印刷装置101としてレーザビームプリンタを例にして説明する。
【0022】
印刷装置101は、図2に示すように、ROM13のプログラム用ROMに記憶されている制御プログラムに基づいてシステムバス15に接続される各種のデバイスとのアクセスを総括的に制御するCPU12を備える。ここで、システムバス15には、各種デバイスとして、ROM13、RAM19、印刷部インターフェース16、ネットワークインターフェース部18、ディスクコントローラ(DKC)20、不揮発性メモリ24、操作パネル201が接続されている。
【0023】
ROM13は、CPU12が実行可能な制御プログラム等を記憶するプログラム用ROMと、印刷部インターフェース16を介してプリンタエンジン17に出力される出力情報を生成する際に使用するフォントデータ(アウトラインフォントデータを含む)等を記憶するフォント用ROMと、ホストコンピュータ102,103上で利用される情報等を記憶するデータ用ROMとを含む。
【0024】
RAM19は、主としてCPU12の主メモリ、ワークエリア等として機能し、図示しない増設ポートに接続されるオプションRAMによりメモリ容量を拡張することが可能である。また、RAM19は、出力情報展開領域、環境データ格納領域等に用いられる。
【0025】
印刷部インターフェース16は、プリンタエンジン17と情報のやり取りをするためのインターフェースであり、CPU12は、印刷部インターフェース16を介してプリンタエンジン17に出力情報としての画像信号を出力する。ネットワークインターフェース部18は、ネットワーク104と接続され、CPU12は、ネットワークインターフェース部18を介してネットワーク104上のホストコンピュータ102,103と通信するための通信処理を行う。
【0026】
ディスクコントローラ(DKC)20は、オプションとして接続される外部記憶装置14に対するアクセスを制御する。外部記憶装置14は、少なくとも1つ以上のハードディスク(HD),ICカード等の外部メモリからなり、フォントデータ、エミュレーションプログラム、フォームデータ等を記憶し、またプリントジョブを一時的にスプールし、スプールされたジョブを外部から制御するためのジョブ格納領域として使用される。不揮発性メモリ24は、操作パネル201からのプリンタモード設定情報をユーザ別、グループ別に記憶するためのものである。操作パネル201は、表示パネル、ハードキーおよびソフトウェアキーを有し、ユーザがこれらのキーを操作することによって、各種情報が入力される。また、操作パネル201の表示パネルには、設定された情報、装置状態情報などが表示される。
【0027】
また、印刷装置101に、オプションとして、上述したフィニッシャ、両面装置などの各種拡張装置が装着されると、それらの動作はCPU12により制御されることになる。
【0028】
次に、印刷装置101におけるソフトウェアプログラム構成について図3を参照しながら説明する。図3は図1の印刷装置101におけるソフトウェアプログラム構成を示すブロック図である。
【0029】
印刷装置101においては、CPU12がROM13のプログラム用ROMに記憶されている制御プログラムを実行することによって、プリンタ制御部301、画像印刷制御部302、XMLパーサ303、SOAP制御部304、HTTPサーバ制御部305、TCP/IPプロトコル制御部306、およびネットワーク通信ドライバ307が構成される。
【0030】
プリンタ制御部301は、印刷部インターフェース16を制御するモジュールであり、プリンタエンジン17に画像データ送信や排紙位置の制御などの操作を行う。画像印刷制御部302は、受信した印刷データを印刷可能なデータ形式に変換するとともに、印刷部数や両面印刷の制御など印刷に関する様々な制御を行う。ネットワーク通信ドライバ307は、ネットワークインターフェース部18を制御し、ネットワーク104とのデータ送受信の制御を行う。
【0031】
TCP/IPプロトコル制御部306は、TCP/IPを制御するモジュールを備え、ネットワーク通信ドライバ307を使用してTCP/IPに従ったデータ送受信制御を行う。HTTPサーバ制御部305は、HTTPの全般を制御するモジュールであり、ホストコンピュータから受信したHTTPリクエストパケットを解析して適切な処理を行い、そのデータをSOAP制御部304や画像印刷制御部302などの上位アプリケーションに渡すと共に、上位アプリケーションの指示によりHTTPレスポンスパケットをホストコンピュータに返送する制御を行う。SOAP制御部304はSOAPを制御するモジュールであり、ホストコンピュータから受信したXML形式のデータを、XMLパーサ303を使用して解析し、それに基づいて画像印刷制御部304の適切なモジュールを呼び出し、またホストコンピュータに返すべきデータをXML形式のデータに変換し、HTTPサーバ制御部305を介してホストコンピュータに返信する制御を行う。XMLパーサ303は、XML形式のデータを入力とし、その解析結果を出力するモジュールである。
【0032】
次に、ネットワーク104上のホストコンピュータ102,103が印刷装置101を用いて印刷を行う場合について図4〜図9を参照しながら説明する。図4は図1のネットワーク104上のホストコンピュータ102,103からHTTP上のSOAPを用いて印刷装置101に送信されるCreateJobと称されるパケットデータの一例を示す図、図5は図4のCreateJobパケットに対する応答パケットデータの一例を示す図、図6は図1のホストコンピュータ102,103が印刷装置101を用いて印刷を行う場合における印刷装置101の動作手順を示すフローチャート、図7は図1のホストコンピュータ102,103からHTTPのPOSTメソッドにより送信される印刷データ転送パケットの一例を示す図、図8は図1の印刷装置101からホストコンピュータ102,103に送信されるHTTPレスポンスパケットの一例を示す図、図9は図1の印刷装置101からホストコンピュータ102,103に送信されるエラーレスポンスパケットの一例を示す図である。
【0033】
ネットワーク104上のホストコンピュータ102,103が印刷装置101を用いて印刷を行う場合、HTTP上のSOAPを用いて、ホストコンピュータ102,103から、CreateJobと称されるパケットデータが印刷装置101に送信される。このCreateJobパケットは、印刷装置101に対してジョブ(印刷)の開始を指示するコマンドであり、XML形式で記述されている。CreateJobパケットには、図4に示すように、要求元のユーザ名(<requesting−user−name>タグ)、ジョブの処理に関する指示(<job−instruction>タグ)等の情報が記述されている。<job−instruction>タグには印刷部数を設定する<copies>タグ、両面印刷を設定する<sides>タグ、印刷の仕上げを設定する<finishing>タグなどが含まれ、印刷装置101は、これらのタグに設定された値に基づいてジョブの処理を行う。さらに、<job−instruction>タグにはオプションとして<notification−instruction>タグを含めることも可能である。この<notification−instruction>タグには、ジョブに関する通知情報が記述される。図4の例においては、通知情報として、通知先を設定する<notification−recipient>タグおよび通知条件を設定する<event>タグが記述されている。印刷装置101は、これらのタグに設定された値に基づいてイベント送信処理を行う。
【0034】
印刷装置101は、ホストコンピュータ102,103からのCreateJobパケットを受信すると、それに対するCreateJob応答パケットをホストコンピュータ102,103へ返信する。このCreateJob応答パケットデータは、図5に示すように、上記CreateJobパケットデータと同様に、XML形式で記述され、HTTP上のSOAPを用いて送信される。CreateJob応答パケットには、CreateJobコマンド対する結果コード(<result−code>タグ)や生成されたジョブの識別子(<job−id>タグ)、印刷データの宛先として印刷用ポートのURI(<data−sink−uri>タグ)等の情報が含まれている。ここで、図5に示す例においては、印刷用ポートとして「http://192.168.0.1:10000/bmlinks/print?job=1」というURLが示されている。上記URLにおいて、符号501で示される「10000」がポート番号に、符号502で示される「job=1」が、印刷装置101がジョブに対して割り当てたジョブ識別子にそれぞれ該当する。
【0035】
次に、ネットワーク104上のホストコンピュータ102,103が印刷装置101を用いて印刷を行う場合における印刷装置101の動作について図6を参照しながら具体的に説明する。この図6に示す動作は、CPU12がROM13の制御プログラムを実行することによって制御されるものである。
【0036】
ネットワーク104上のホストコンピュータ(図1のホストコンピュータ102,103の1つ)から送信された例えば図4に示したようなCreateJobパケットを印刷装置101が受信すると、印刷装置101は、ステップS601において、CreateJobに記述されたXMLデータを解析し、続くステップS602において、上記解析結果に基づいてデータにエラーがあるか否かを判定する。ここで、エラーがなければ、印刷装置101は、ステップS603において、印刷データ受信用の印刷ポートを生成する。ここでは、ポート番号として、80を固定とするのではなく、現在空いているポート番号が使用される。図5に示すCreateJob応答パケットは、ポート番号として「10000」(符号501で示す)が使用された例であり、本実施の形態においては、以降、印刷要求を受信する毎に「10001」、「10002」、…とポート番号が変えられる。また、ジョブ識別子502も、同様に、印刷要求毎に1,2,…と変えられる。
【0037】
次いで、印刷装置101は、ステップS604において、CreateJobパケットに対するレスポンスとしてのXMLデータの生成を行う。このときに、印刷データ受信用に生成したポートのURLが<data−sink−uri>タグの値として設定される。例えば、図5に示すようなURLがXMLデータに埋め込まれる。そして、印刷装置101は、ステップS605において、SOAPを用いて、上記ステップS604で生成されたCreateJobレスポンスデータをホストコンピュータに送信する。
【0038】
ホストコンピュータは、上記CreateJobレスポンスデータを受信すると、<data−sink−uri>タグで指定されたURLに対してHTTPのPOSTメソッドを用いて印刷データを送信する。このHTTPのPOSTメソッドによる印刷データ転送パケットは、例えば図7に示すような構成を有する。図7に示すように、上記ステップS604で生成されたCreateJobレスポンスの<data−sink−uri>タグの値のパス部分がそのままPOSTメソッドの宛先として指定されるため、印刷装置101は、ジョブを一意に識別することが可能である。
【0039】
印刷装置101は、上記CreateJobレスポンスの送信後、ステップS606において、所定時間例えば30秒のタイマーをスタートさせる。このタイマーは、上記ステップS603で生成されたポートに対応して設けられているものである。続いて、印刷装置101は、ステップS607において、30秒のタイマーがタイムアウトする前に、指定された印刷ポート(図5の例ではポート番号「10000」のポート)にホストコンピュータからの印刷データの受信が開始されたか否かを判定する。ここで、タイマーのタイムアウト前に指定された印刷ポートに印刷データの受信が開始された場合は、全てのデータを受信し、適切な処理をしながらプリンタエンジン17により印刷する。印刷データの受信が正常に終了すると、印刷装置101は、ステップS608において、例えば図8に示すようなHTTPレスポンスパケットをホストコンピュータに送信し、印刷ポートを削除(クローズ)して印刷動作を終了する。
【0040】
一方、上記ステップS607において30秒のタイマーがタイムアウトする前に指定された印刷ポートにホストコンピュータからの印刷データの受信が開始されていないと判定された場合、すなわち印刷データの受信開始前にタイマーがタイムアウトした場合、印刷装置101は、ステップS609において、上記ステップ603で生成された印刷ポートをクローズする。ここで、ホストコンピュータが印刷データを送信する際、ホストコンピュータからはTCPレベルでのSYN(シーケンス番号の同期。接続要求を意味する)パケットが送信されるが、タイマーがタイムアウトした後すなわち印刷ポートがクローズされた後において送信されたSYNパケットに対しては、印刷装置101からRST(リセット)パケットがホストコンピュータに返され、ホストコンピュータと印刷装置101との接続を確立することができず、印刷データの送信は不可能となる。
【0041】
なお、ステップS606では、所定時間例えば30秒のタイマーをスタートさせることにしたが、ステップS606においては、ステップS603で生成されたポートに対応付けてタイムアウトの計測開始時刻を記憶し、ステップS607においては、前記計測開始時刻から所定時間が経過したかを判断するようにしてもよい。
【0042】
また、上記ステップS602においてエラーがあると判定された場合、印刷装置101は、ステップS610において、例えば図9に示すようなエラーレスポンスデータを生成する。そして、印刷装置101は、ステップS605において、エラーレスポンスをホストコンピュータに送信する。ホストコンピュータは、上記エラーレスポンスを受信すると、印刷データを送信せずに、処理を終了する。
【0043】
本実施の形態においては、印刷ポート番号が「10000」から「10001」、「10002」…と変えられる例を説明したが、必ずしもポート番号を「10000」から順次増加させる必要はない。また、印刷が終了した際には、印刷装置101がポートをクローズすることにより、一定時間経過後には同じ番号のポートを使用することが可能になる。
【0044】
このように、本実施の形態では、印刷要求毎に印刷ポートを動的に変更し、ポート単位でタイムアウト時間を管理することにより、印刷要求毎の印刷データの受信に対する管理を簡単な処理で行うことができる。また、タイムアウトしたポートをクローズすることにより、それ以降の接続要求をすべて拒否することが可能になり、不要なネットワークトラフィックが発生することを未然に防止することができる。
【0045】
なお、本発明の目的は、前述した実施の形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体(または記録媒体)を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることはいうまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施の形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含まれることはいうまでもない。
【0046】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含まれることはいうまでもない。
【0047】
【発明の効果】
以上説明したように、本発明によれば、外部装置からの印刷要求を受信する毎に異なるポートを生成し、応答データの送信から所定時間内に生成されたポートに外部装置から送信された印刷データの受信が開始されたか否かを管理するので、印刷要求に対する応答後に印刷データの受信を行うことができない場合に対応するための処理を簡素化することができる。
【0048】
また、本発明によれば、外部装置からの印刷要求を受信する毎に異なる宛先を割り当て、複数の宛先のそれぞれにおいて所定時間が経過したかを管理するので、所定時間経過後に送信されてきた印刷データの受信を宛先ごとに制限するための処理を簡素化することができる。
【0049】
また、応答データの送信から所定時間内に生成されたポートに外部装置から送信された印刷データの受信が開始されない場合、生成されたポートをクローズすることにより、それ以降の接続要求をすべて拒否することが可能になり、不要なネットワークトラフィックが発生することを未然に防止することができる。
【図面の簡単な説明】
【図1】本発明の一実施の形態に係る印刷装置を含む印刷システムの構成を模式的に示す図である。
【図2】図1の印刷装置101のハードウェア構成を示すブロック図である。
【図3】図1の印刷装置101におけるソフトウェアプログラム構成を示すブロック図である。
【図4】図1のネットワーク104上のホストコンピュータ102,103からHTTP上のSOAPを用いて印刷装置101に送信されるCreateJobと称されるパケットデータの一例を示す図である。
【図5】図4のCreateJobパケットに対する応答パケットデータの一例を示す図である。
【図6】図1のホストコンピュータ102,103が印刷装置101を用いて印刷を行う場合における印刷装置101の動作手順を示すフローチャートである。
【図7】図1のホストコンピュータ102,103からHTTPのPOSTメソッドにより送信される印刷データ転送パケットの一例を示す図である。
【図8】図1の印刷装置101からホストコンピュータ102,103に送信されるHTTPレスポンスパケットの一例を示す図である。
【図9】図1の印刷装置101からホストコンピュータ102,103に送信されるエラーレスポンスパケットの一例を示す図である。
【符号の説明】
12 CPU
13 ROM
16 印刷部インターフェース
17 プリンタエンジン
18 ネットワークインターフェース部
101 印刷装置
102,103 ホストコンピュータ
104 ネットワーク
301 プリンタ制御部
302 画像印刷制御部
303 XMLパーサ
304 SOAP制御部
305 HTTPサーバ制御部
306 TCP/IPプロトコル制御部
307 ネットワーク通信ドライバ
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a printing device, a printing method, a program, and a storage medium that can communicate with an external device via a network.
[0002]
[Prior art]
2. Description of the Related Art In recent years, Web service technologies used on the Internet have received great attention. The Web service is a technology for loosely combining various services distributed on a network. By using the Web service technology, it becomes possible for a program to dynamically select an appropriate service without human intervention. Expected from the field. The data exchanged in this Web service is described in XML (Extensible Markup Language), and the data described in XML is transmitted and received on a network using SOAP (Simple Object Access Protocol). This SOAP specifies that the lower layer uses HTTP (Hyper Text Transfer Protocol) or SMTP (Simple Mail Transfer Protocol), and can be easily used on the Internet like Web browsing or e-mail. Is possible.
[0003]
By applying this Web service technology to the printing technology, various unprecedented advantages can be obtained. For example, if a Web service is implemented in a printer, it becomes possible to submit a print job using SOAP as a print service and to perform device management. Further, the user can flexibly customize access to the print service. For example, a method for connecting to a print service is described in WSDL (Web Service Description Language). Therefore, by preparing a program that interprets this WSDL and converts it according to a certain rule, only items necessary for the user are provided. It is possible to provide a UI (user interface) from which is extracted. The WSDL can also describe job information that can be specified when a print job is input. For example, whether or not double-sided printing is possible can be known in advance by referring to the WSDL.
[0004]
As described above, since various advantages can be obtained by applying the Web service technology to the printer, it is expected that the development of the printer using the Web service technology will be further promoted in the future.
[0005]
Printing by a printer to which the Web service technology is applied is performed by, for example, the following procedure.
[0006]
First, the client describes a print request command in XML and sends it to the printer. When receiving the print request command, the printer responds to the client with a URL or a port number for receiving the print data (or as a destination when transmitting the print data). Thereafter, the client transmits the print data to the designated URL or port number, and the printer performs printing (for example, Patent Document 1).
[0007]
As the URL for data reception, for example, there is a URL of “http://192.168.0.1/print/job1”. In this case, 80 which is a default of the http scheme is used as a port number. Means to do. Therefore, the client first connects to the port 80 of the printer, and transmits the print data using the HTTP POST method. Further, the printer responds to the next print request by changing the URL to, for example, “http://192.168.0.1/print/job2” instead of the URL of the previous job. By confirming the URL of a job to be received, each job can be uniquely identified even when a plurality of jobs are submitted at the same time.
[0008]
[Patent Document 1]
JP-A-2002-333958
[0009]
[Problems to be solved by the invention]
In the above-described procedure, the print request and the print data are transmitted to the printer through different connections, and the printer responds to the print request with a URL for data reception. Therefore, it is necessary to consider a situation in which transmission of print data is not started due to a network failure or a failure of a client program. In that case, the printer is configured to invalidate the print request as a timeout if the transmission of the print data from the client is not started for a predetermined time after responding to the print request, and to reject the print data transmission from the client thereafter. There is a need. However, in order to realize such a configuration, it is necessary to associate and hold the data reception URL and the time until the timeout for each job, so that the management and the accompanying processing become complicated. In addition, since the print data of all the jobs is received using the port with the port number 80, even if the job has already timed out and has been invalidated, the connection is once established and the URL of the received data is After confirming the above, it is necessary to perform redundant processing of returning an error. As a result, unnecessary traffic is generated on the network.
[0010]
An object of the present invention is to provide a printing apparatus, a printing processing method, a program, and a storage medium that can manage the reception of print data for each print request or limit the reception of print data by simple processing.
[0011]
[Means for Solving the Problems]
In order to achieve the above object, the present invention provides a printing device capable of communicating with an external device via a network, wherein the printing request receiving means receives a print request transmitted from the external device, Port generation means for generating a port for receiving print data corresponding to the request, and response means for transmitting response data including the generated port information to the external device as a response to the received print request And print data receiving means for receiving, at the generated port, print data transmitted from the external device in response to the response data, wherein the port generating means receives a print request from the external device. Each time the print data is received, the print data receiving means outputs print data at the generated port within a predetermined time from the transmission of the response data. And wherein the managing whether reception has been started.
[0012]
According to another aspect of the present invention, there is provided a printing apparatus capable of communicating with an external device via a network, wherein the printing request receiving unit receives a print request transmitted from the external device, A response unit that transmits information for identifying a destination of the print data corresponding to the print request received by the reception unit as a response to the print request received by the print request reception unit, and information transmitted by the response unit is Print data receiving means for receiving print data from the external device for the destination indicated, the response means assigning a different destination to each of a plurality of print requests, the print data receiving means, At each destination, reception of print data for the destination is restricted after a predetermined time has elapsed since the information was transmitted by the response unit. And wherein the Rukoto.
[0013]
According to another aspect of the present invention, there is provided a print processing method for printing, by a printing apparatus, a print job transmitted from an external device via a network, wherein the print request transmitted from the external device is provided. A print request receiving step of receiving, a port generating step of generating a port for receiving print data corresponding to the received print request, and information of the generated port as a response to the received print request. And a print data receiving step of receiving, at the generated port, print data transmitted from the external device in accordance with the response data, wherein the port includes: In the generating step, a different port is generated each time a print request from the external device is received, and in the print data receiving step, the response data is generated. Characterized by managing whether reception of the print data in which said generated from the transmission within a predetermined time port is started.
[0014]
According to another aspect of the present invention, there is provided a print processing method for printing, by a printing apparatus, a print job transmitted from an external device via a network, wherein the print request transmitted from the external device is provided. A print request receiving step of receiving, and a response step of transmitting information identifying a destination of print data corresponding to the print request received in the print request receiving step as a response to the print request received in the print request receiving step And a print data receiving step of receiving print data from the external device with respect to the destination indicated by the information transmitted in the response step. In the response step, a different destination is set for each of the plurality of print requests. In the assigning and the print data receiving step, at each of a plurality of destinations, after a predetermined time elapses after information is transmitted by the response unit, And limits the reception of the print data to the destination.
[0015]
According to another aspect of the present invention, there is provided a program executed on a printing apparatus for printing a print job transmitted from an external apparatus via a network, wherein the program executes a print request transmitted from the external apparatus. A print request receiving module for receiving, a port generating module for generating a port for receiving print data corresponding to the received print request, and information of the generated port as a response to the received print request. A response module that transmits response data to the external device, and a print data reception module that receives print data transmitted from the external device in response to the response data at the generated port, The generation module generates a different port each time a print request is received from the external device, and Shin module is characterized by managing whether reception of print data from the transmission of the response data port said generated within a predetermined time is started.
[0016]
According to another aspect of the present invention, there is provided a program executed on a printing apparatus for printing a print job transmitted from an external apparatus via a network, wherein the program executes a print request transmitted from the external apparatus. A print request receiving module for receiving, and a response module for transmitting, as a response to the print request received by the print request receiving module, information for identifying a destination of print data corresponding to the print request received by the print request receiving module And a print data receiving module that receives print data from the external device for the destination indicated by the information transmitted by the response module, wherein the response module sets different destinations for each of the plurality of print requests. The print data receiving module assigns each of a plurality of destinations. In, after a predetermined time has elapsed from the information is transmitted by said response means is characterized in that to limit the reception of the print data for that destination.
[0017]
The present invention also provides a storage medium in which any of the above programs is stored in a computer-readable manner to achieve the above object.
[0018]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
[0019]
FIG. 1 is a diagram schematically illustrating a configuration of a printing system including a printing apparatus according to an embodiment of the present invention.
[0020]
In the printing system, as shown in FIG. 1, a printing apparatus 101 and a plurality of host computers 102 and 103 are communicably connected to each other via a network 104 such as a LAN (Local Area Network). The printing apparatus 101 is composed of, for example, a laser beam printer or the like that receives a print job from the host computers 102 and 103 and prints the print job. It is possible to mount the device.
[0021]
Next, the configuration of the printing apparatus 101 will be described with reference to FIG. FIG. 2 is a block diagram illustrating a hardware configuration of the printing apparatus 101 in FIG. Here, a laser beam printer will be described as an example of the printing apparatus 101.
[0022]
As shown in FIG. 2, the printing apparatus 101 includes a CPU 12 that comprehensively controls access to various devices connected to a system bus 15 based on a control program stored in a program ROM of a ROM 13. Here, the system bus 15 is connected with various devices such as a ROM 13, a RAM 19, a printing unit interface 16, a network interface unit 18, a disk controller (DKC) 20, a nonvolatile memory 24, and an operation panel 201.
[0023]
The ROM 13 includes a program ROM that stores a control program and the like that can be executed by the CPU 12, and font data (including outline font data) used when generating output information output to the printer engine 17 via the printing unit interface 16. ) And a data ROM for storing information and the like used on the host computers 102 and 103.
[0024]
The RAM 19 mainly functions as a main memory, a work area, and the like for the CPU 12, and the memory capacity can be expanded by an optional RAM connected to an additional port (not shown). The RAM 19 is used for an output information development area, an environment data storage area, and the like.
[0025]
The printing unit interface 16 is an interface for exchanging information with the printer engine 17, and the CPU 12 outputs an image signal as output information to the printer engine 17 via the printing unit interface 16. The network interface unit 18 is connected to the network 104, and the CPU 12 performs communication processing for communicating with the host computers 102 and 103 on the network 104 via the network interface unit 18.
[0026]
The disk controller (DKC) 20 controls access to the external storage device 14 connected as an option. The external storage device 14 includes at least one or more external memories such as a hard disk (HD) and an IC card, stores font data, an emulation program, form data, and the like, and temporarily spools a print job. The job is used as a job storage area for externally controlling the job. The non-volatile memory 24 is for storing printer mode setting information from the operation panel 201 for each user and each group. The operation panel 201 has a display panel, hard keys, and software keys, and various information is input by a user operating these keys. In addition, on the display panel of the operation panel 201, set information, apparatus status information, and the like are displayed.
[0027]
Further, when various expansion devices such as the above-described finisher and double-sided device are attached to the printing device 101 as an option, their operations are controlled by the CPU 12.
[0028]
Next, a software program configuration in the printing apparatus 101 will be described with reference to FIG. FIG. 3 is a block diagram showing a software program configuration in the printing apparatus 101 of FIG.
[0029]
In the printing apparatus 101, the CPU 12 executes a control program stored in the program ROM of the ROM 13, so that the printer control unit 301, the image print control unit 302, the XML parser 303, the SOAP control unit 304, the HTTP server control unit 305, a TCP / IP protocol control unit 306, and a network communication driver 307 are configured.
[0030]
The printer control unit 301 is a module that controls the printing unit interface 16 and performs operations such as transmitting image data to the printer engine 17 and controlling the paper discharge position. The image print control unit 302 converts the received print data into a printable data format and performs various print-related controls such as the number of print copies and double-sided printing. The network communication driver 307 controls the network interface unit 18 and controls data transmission and reception with the network 104.
[0031]
The TCP / IP protocol control unit 306 includes a module for controlling the TCP / IP, and performs data transmission / reception control according to the TCP / IP using the network communication driver 307. The HTTP server control unit 305 is a module that controls the entire HTTP, analyzes an HTTP request packet received from the host computer, performs appropriate processing, and transmits the data to the SOAP control unit 304 and the image print control unit 302. In addition to passing the HTTP response packet to the host application, control is performed to return an HTTP response packet to the host computer according to an instruction from the host application. The SOAP control unit 304 is a module that controls the SOAP. The SOAP control unit 304 analyzes the XML data received from the host computer using the XML parser 303, and calls an appropriate module of the image print control unit 304 based on the analyzed data. Data to be returned to the host computer is converted into XML format data, and control for returning the data to the host computer via the HTTP server control unit 305 is performed. The XML parser 303 is a module that receives data in the XML format and outputs the analysis result.
[0032]
Next, a case where the host computers 102 and 103 on the network 104 perform printing using the printing apparatus 101 will be described with reference to FIGS. FIG. 4 is a diagram showing an example of packet data called CreateJob transmitted from the host computers 102 and 103 on the network 104 in FIG. 1 to the printing apparatus 101 using SOAP over HTTP, and FIG. 5 is a diagram showing CreateJob in FIG. FIG. 6 is a diagram showing an example of response packet data for a packet. FIG. 6 is a flowchart showing an operation procedure of the printing apparatus 101 when the host computers 102 and 103 in FIG. 1 perform printing using the printing apparatus 101. FIG. FIG. 8 shows an example of a print data transfer packet transmitted from the host computers 102 and 103 by the HTTP POST method. FIG. 8 shows an example of an HTTP response packet transmitted from the printing apparatus 101 of FIG. 1 to the host computers 102 and 103. FIG. 9 shows the printing apparatus 10 of FIG. From a diagram showing an example of an error response packet transmitted to the host computer 102 and 103.
[0033]
When the host computers 102 and 103 on the network 104 perform printing using the printing apparatus 101, packet data called CreateJob is transmitted from the host computers 102 and 103 to the printing apparatus 101 using SOAP over HTTP. You. The CreateJob packet is a command for instructing the printing apparatus 101 to start a job (printing), and is described in an XML format. As shown in FIG. 4, the CreateJob packet describes information such as a requesting user name (<requesting-user-name> tag) and an instruction related to job processing (<job-instruction> tag). The <job-instruction> tag includes a <copies> tag for setting the number of copies, a <sides> tag for setting double-sided printing, a <finishing> tag for setting the finishing of printing, and the like. Perform job processing based on the value set in the tag. Further, the <job-instruction> tag can optionally include a <notification-instruction> tag. In the <notification-instruction> tag, notification information about the job is described. In the example of FIG. 4, a <notification-recipient> tag for setting a notification destination and an <event> tag for setting a notification condition are described as the notification information. The printing apparatus 101 performs an event transmission process based on the values set in these tags.
[0034]
Upon receiving the CreateJob packet from the host computers 102 and 103, the printing apparatus 101 returns a CreateJob response packet to the host computer 102 and 103 in response to the CreateJob packet. As shown in FIG. 5, the CreateJob response packet data is described in the XML format similarly to the above-described CreateJob packet data, and is transmitted using SOAP over HTTP. The CreateJob response packet includes the result code (<result-code> tag) for the CreateJob command, the identifier of the generated job (<job-id> tag), and the URI of the printing port (<data-sink) as the destination of the print data. -Uri> tag). Here, in the example shown in FIG. 5, the URL “http://192.168.0.1:10000/bmlinks/print?job=1” is shown as the printing port. In the above URL, “10000” indicated by reference numeral 501 corresponds to the port number, and “job = 1” indicated by reference numeral 502 corresponds to the job identifier assigned to the job by the printing apparatus 101.
[0035]
Next, the operation of the printing apparatus 101 when the host computers 102 and 103 on the network 104 perform printing using the printing apparatus 101 will be specifically described with reference to FIG. The operation shown in FIG. 6 is controlled by the CPU 12 executing the control program in the ROM 13.
[0036]
When the printing apparatus 101 receives, for example, a CreateJob packet as shown in FIG. 4 transmitted from a host computer (one of the host computers 102 and 103 in FIG. 1) on the network 104, the printing apparatus 101 proceeds to step S601. The XML data described in CreateJob is analyzed, and in step S602, it is determined whether or not the data has an error based on the analysis result. If there is no error, the printing apparatus 101 creates a print port for receiving print data in step S603. Here, as the port number, a currently available port number is used instead of fixing 80. The CreateJob response packet shown in FIG. 5 is an example in which “10000” (indicated by reference numeral 501) is used as a port number. In the present embodiment, “10001” and “1000” are used every time a print request is received. 10002 ",... Similarly, the job identifier 502 is changed to 1, 2,... For each print request.
[0037]
Next, in step S604, the printing apparatus 101 generates XML data as a response to the CreateJob packet. At this time, the URL of the port generated for receiving the print data is set as the value of the <data-sink-uri> tag. For example, a URL as shown in FIG. 5 is embedded in the XML data. Then, in step S605, the printing apparatus 101 transmits the CreateJob response data generated in step S604 to the host computer using SOAP.
[0038]
Upon receiving the CreateJob response data, the host computer transmits print data to the URL specified by the <data-sink-uri> tag using the HTTP POST method. The print data transfer packet by the HTTP POST method has, for example, a configuration as shown in FIG. As shown in FIG. 7, since the path portion of the value of the <data-sink-uri> tag of the CreateJob response generated in step S604 is directly specified as the destination of the POST method, the printing apparatus 101 Can be identified.
[0039]
After transmitting the CreateJob response, the printing apparatus 101 starts a timer for a predetermined time, for example, 30 seconds in step S606. This timer is provided corresponding to the port generated in step S603. Subsequently, in step S607, before the 30-second timer times out, the printing apparatus 101 receives print data from the host computer on the designated print port (the port with the port number “10000” in the example of FIG. 5). It is determined whether or not has been started. Here, if the reception of the print data to the designated print port is started before the timeout of the timer, all the data is received, and the printer engine 17 prints while performing appropriate processing. When the reception of the print data ends normally, in step S608, the printing apparatus 101 transmits, for example, an HTTP response packet as shown in FIG. 8 to the host computer, deletes (closes) the print port, and ends the print operation. .
[0040]
On the other hand, if it is determined in step S607 that the reception of the print data from the host computer has not been started at the designated print port before the timer of 30 seconds times out, that is, the timer is started before the reception of the print data starts. If a timeout occurs, the printing apparatus 101 closes the print port generated in step 603 in step S609. Here, when the host computer transmits print data, a SYN (synchronization of sequence number; meaning connection request) packet at the TCP level is transmitted from the host computer. For the SYN packet transmitted after being closed, an RST (reset) packet is returned from the printing apparatus 101 to the host computer, and a connection between the host computer and the printing apparatus 101 cannot be established. Cannot be sent.
[0041]
In step S606, a timer for a predetermined time, for example, 30 seconds, is started. However, in step S606, a time-out measurement start time is stored in association with the port generated in step S603, and in step S607, Alternatively, it may be determined whether a predetermined time has elapsed from the measurement start time.
[0042]
If it is determined in step S602 that there is an error, the printing apparatus 101 generates, for example, error response data as shown in FIG. 9 in step S610. Then, in step S605, the printing apparatus 101 transmits an error response to the host computer. Upon receiving the error response, the host computer ends the process without transmitting the print data.
[0043]
In the present embodiment, an example has been described in which the print port number can be changed from "10000" to "10001", "10002", etc., but it is not always necessary to sequentially increase the port number from "10000". Further, when printing is completed, the printing apparatus 101 closes the port, so that a port with the same number can be used after a certain period of time.
[0044]
As described above, in the present embodiment, the print port is dynamically changed for each print request, and the timeout period is managed for each port, so that the management of the reception of print data for each print request is performed by a simple process. be able to. In addition, by closing the port that has timed out, all subsequent connection requests can be rejected, and unnecessary network traffic can be prevented from occurring.
[0045]
An object of the present invention is to supply a storage medium (or a recording medium) in which a program code of software for realizing the functions of the above-described embodiments is recorded to a system or an apparatus, and to provide a computer (or CPU) And MPU) read out and execute the program code stored in the storage medium. In this case, the program code itself read from the storage medium realizes the functions of the above-described embodiment, and the storage medium storing the program code constitutes the present invention. When the computer executes the readout program code, not only the functions of the above-described embodiments are realized, but also an operating system (OS) running on the computer based on the instruction of the program code. Performs part or all of the actual processing, and the processing realizes the functions of the above-described embodiments.
[0046]
Further, after the program code read from the storage medium is written into a memory provided in a function expansion card inserted into the computer or a function expansion unit connected to the computer, the function expansion is performed based on the instruction of the program code. It goes without saying that the CPU or the like provided in the card or the function expansion unit performs part or all of the actual processing, and the processing realizes the functions of the above-described embodiments.
[0047]
【The invention's effect】
As described above, according to the present invention, each time a print request from an external device is received, a different port is generated, and the print data transmitted from the external device to the port generated within a predetermined time after transmission of the response data is generated. Since it is managed whether or not data reception has been started, it is possible to simplify a process for coping with a case where print data cannot be received after responding to a print request.
[0048]
Further, according to the present invention, a different destination is allocated each time a print request from an external device is received, and it is managed whether a predetermined time has elapsed at each of the plurality of destinations. Processing for restricting data reception for each destination can be simplified.
[0049]
If the reception of the print data transmitted from the external device to the port generated within a predetermined time after the transmission of the response data is not started, the generated port is closed to reject all subsequent connection requests. It is possible to prevent unnecessary network traffic from occurring.
[Brief description of the drawings]
FIG. 1 is a diagram schematically illustrating a configuration of a printing system including a printing apparatus according to an embodiment of the present invention.
FIG. 2 is a block diagram illustrating a hardware configuration of the printing apparatus 101 in FIG.
FIG. 3 is a block diagram illustrating a software program configuration in the printing apparatus 101 of FIG.
4 is a diagram illustrating an example of packet data called “CreateJob” transmitted from the host computers 102 and 103 on the network 104 of FIG. 1 to the printing apparatus 101 using SOAP over HTTP.
FIG. 5 is a diagram showing an example of response packet data for the CreateJob packet of FIG. 4;
6 is a flowchart illustrating an operation procedure of the printing apparatus 101 when the host computers 102 and 103 in FIG. 1 perform printing using the printing apparatus 101.
FIG. 7 is a diagram showing an example of a print data transfer packet transmitted from the host computers 102 and 103 of FIG. 1 by the POST method of HTTP.
8 is a diagram illustrating an example of an HTTP response packet transmitted from the printing apparatus 101 of FIG. 1 to the host computers 102 and 103.
9 is a diagram illustrating an example of an error response packet transmitted from the printing apparatus 101 of FIG. 1 to the host computers 102 and 103.
[Explanation of symbols]
12 CPU
13 ROM
16 Printing interface
17 Printer Engine
18 Network interface
101 printing device
102,103 Host computer
104 Network
301 Printer control unit
302 Image print control unit
303 XML Parser
304 SOAP control unit
305 HTTP server control unit
306 TCP / IP protocol control unit
307 Network Communication Driver

Claims (12)

外部装置とネットワークを介して通信可能な印刷装置であって、
前記外部装置から送信された印刷要求を受信する印刷要求受信手段と、
前記受信された印刷要求に対応する印刷データを受信するためのポートを生成するポート生成手段と、
前記受信された印刷要求に対する応答として、前記生成されたポートの情報を含む応答データを前記外部装置に送信する応答手段と、
前記外部装置から前記応答データに応じて送信された印刷データを前記生成されたポートで受信する印刷データ受信手段とを有し、
前記ポート生成手段は、前記外部装置からの印刷要求を受信する毎に異なるポートを生成し、
前記印刷データ受信手段は、前記応答データの送信から所定時間内に、前記生成されたポートで印刷データの受信が開始されたか否かを管理することを特徴とする印刷装置。
A printing device capable of communicating with an external device via a network,
A print request receiving unit that receives a print request transmitted from the external device,
Port generation means for generating a port for receiving print data corresponding to the received print request,
Response means for transmitting response data including the generated port information to the external device as a response to the received print request,
Having print data receiving means for receiving at the generated port print data transmitted according to the response data from the external device,
The port generating means generates a different port each time a print request is received from the external device,
The printing apparatus, wherein the print data receiving unit manages whether or not reception of print data has been started at the generated port within a predetermined time after transmission of the response data.
前記応答データの送信から所定時間内に前記生成されたポートに前記外部装置から送信された印刷データの受信が開始されない場合、前記生成されたポートをクローズするポートクローズ手段を有することを特徴とする請求項1記載の印刷装置。When the reception of the print data transmitted from the external device to the generated port is not started within a predetermined time after the transmission of the response data, a port closing unit that closes the generated port is provided. The printing device according to claim 1. 前記応答データの送信直後に起動し、前記所定時間を計時するタイマーを有し、前記印刷データ受信手段は、前記タイマーを用いて、前記応答データの送信から所定時間内に前記生成されたポートに前記外部装置から送信された印刷データの受信が開始されたか否かを管理することを特徴とする請求項1また2に記載の印刷装置。The print data receiving unit is activated immediately after the transmission of the response data, and has a timer for measuring the predetermined time. The printing apparatus according to claim 1, wherein the apparatus manages whether reception of print data transmitted from the external apparatus has been started. 前記タイマーは、前記受信された印刷要求の印刷データを受信するためのポートの1つとして生成される複数のポート毎に設けられていることを特徴とする請求項4記載の印刷装置。The printing apparatus according to claim 4, wherein the timer is provided for each of a plurality of ports generated as one of ports for receiving print data of the received print request. 外部装置とネットワークを介して通信可能な印刷装置であって、
前記外部装置から送信された印刷要求を受信する印刷要求受信手段と、
前記印刷要求受信手段により受信された印刷要求に対応する印刷データの宛先を識別する情報を、前記印刷要求受信手段により受信された印刷要求に対する応答として送信する応答手段と、
前記応答手段により送信された情報が示す宛先に対する前記外部装置からの印刷データを受信する印刷データ受信手段とを有し、
前記応答手段は、複数の印刷要求のそれぞれに対して異なる宛先を割り当て、
前記印刷データ受信手段は、複数の宛先のそれぞれにおいて、前記応答手段により情報が送信されてから所定時間経過後は当該宛先に対する印刷データの受信を制限することを特徴とする印刷装置。
A printing device capable of communicating with an external device via a network,
A print request receiving unit that receives a print request transmitted from the external device,
Response means for transmitting information for identifying a destination of print data corresponding to the print request received by the print request reception means as a response to the print request received by the print request reception means,
Having print data receiving means for receiving print data from the external device for the destination indicated by the information transmitted by the response means,
The response unit assigns a different destination to each of the plurality of print requests,
The printing apparatus, wherein the print data receiving unit limits reception of print data to each of the plurality of destinations after a lapse of a predetermined time after information is transmitted by the response unit.
前記応答手段により情報が送信されるのに応じて、当該情報が示す宛先に対応付けて、時間の計測を開始する時間管理手段を有し、
前記印刷データ受信手段は、宛先に対応付けて計測された時間が所定時間に達した後は、当該宛先に対する印刷データの受信を制限することを特徴とする請求項5記載の印刷装置。
In response to the information being transmitted by the response unit, in association with the destination indicated by the information, having a time management unit that starts measuring time,
6. The printing apparatus according to claim 5, wherein the print data receiving unit limits reception of print data to the destination after the time measured in association with the destination reaches a predetermined time.
前記応答手段により情報が送信されるのに応じて、当該情報が示す宛先に対応付けて、時刻を記憶する時間管理手段を有し、
前記印刷データ受信手段は、宛先に対応付けて記憶された時刻から所定時間が経過した後は、当該宛先に対する印刷データの受信を制限することを特徴とする請求項5記載の印刷装置。
In response to the information being transmitted by the response unit, the time management unit has a time management unit that stores a time in association with a destination indicated by the information,
The printing apparatus according to claim 5, wherein the print data receiving unit limits reception of print data to the destination after a predetermined time has elapsed from a time stored in association with the destination.
外部装置からネットワークを介して送信された印刷ジョブを印刷装置により印刷するための印刷処理方法であって、
前記外部装置から送信された印刷要求を受信する印刷要求受信工程と、
前記受信された印刷要求に対応する印刷データを受信するためのポートを生成するポート生成工程と、
前記受信された印刷要求に対する応答として、前記生成されたポートの情報を含む応答データを前記外部装置に送信する応答工程と、
前記外部装置から前記応答データに応じて送信された印刷データを前記生成されたポートで受信する印刷データ受信工程とを有し、
前記ポート生成工程では、前記外部装置からの印刷要求を受信する毎に異なるポートを生成し、
前記印刷データ受信工程では、前記応答データの送信から所定時間内に前記生成されたポートで印刷データの受信が開始されたか否かを管理することを特徴とする印刷処理方法。
A print processing method for printing a print job transmitted from an external device via a network by a printing device,
A print request receiving step of receiving a print request transmitted from the external device,
A port generation step of generating a port for receiving print data corresponding to the received print request;
A response step of transmitting response data including the generated port information to the external device as a response to the received print request,
A print data receiving step of receiving at the generated port print data transmitted according to the response data from the external device,
In the port generation step, each time a print request from the external device is received, a different port is generated,
In the print data receiving step, a print processing method is provided which manages whether reception of print data has been started at the generated port within a predetermined time after transmission of the response data.
外部装置からネットワークを介して送信された印刷ジョブを印刷装置により印刷するための印刷処理方法であって、
前記外部装置から送信された印刷要求を受信する印刷要求受信工程と、
前記印刷要求受信工程で受信された印刷要求に対応する印刷データの宛先を識別する情報を、前記印刷要求受信工程で受信された印刷要求に対する応答として送信する応答工程と、
前記応答工程で送信された情報が示す宛先に対する前記外部装置からの印刷データを受信する印刷データ受信工程とを有し、
前記応答工程では、複数の印刷要求のそれぞれに対して異なる宛先を割り当て、
前記印刷データ受信工程では、複数の宛先のそれぞれにおいて、前記応答手段により情報が送信されてから所定時間経過後は当該宛先に対する印刷データの受信を制限することを特徴とする印刷処理方法。
A print processing method for printing a print job transmitted from an external device via a network by a printing device,
A print request receiving step of receiving a print request transmitted from the external device,
A response step of transmitting information for identifying a destination of print data corresponding to the print request received in the print request receiving step as a response to the print request received in the print request receiving step;
A print data receiving step of receiving print data from the external device for the destination indicated by the information transmitted in the response step,
In the response step, a different destination is assigned to each of the plurality of print requests,
In the print data receiving step, at each of a plurality of destinations, reception of print data to the destination is restricted after a predetermined time has elapsed after information is transmitted by the response unit.
外部装置からネットワークを介して送信された印刷ジョブを印刷する印刷装置上で実行されるプログラムであって、
前記外部装置から送信された印刷要求を受信する印刷要求受信モジュールと、
前記受信された印刷要求に対応する印刷データを受信するためのポートを生成するポート生成モジュールと、
前記受信された印刷要求に対する応答として、前記生成されたポートの情報を含む応答データを前記外部装置に送信する応答モジュールと、
前記外部装置から前記応答データに応じて送信された印刷データを前記生成されたポートで受信する印刷データ受信モジュールとを有し、
前記ポート生成モジュールは、前記外部装置からの印刷要求を受信する毎に異なるポートを生成し、
前記印刷データ受信モジュールは、前記応答データの送信から所定時間内に前記生成されたポートで印刷データの受信が開始されたか否かを管理することを特徴とするプログラム。
A program executed on a printing device for printing a print job transmitted from an external device via a network,
A print request receiving module that receives a print request transmitted from the external device,
A port generation module that generates a port for receiving print data corresponding to the received print request;
A response module for transmitting response data including the generated port information to the external device as a response to the received print request,
A print data receiving module that receives print data transmitted from the external device in response to the response data at the generated port,
The port generation module generates a different port each time a print request from the external device is received,
The print data reception module manages whether or not reception of print data has been started at the generated port within a predetermined time after transmission of the response data.
外部装置からネットワークを介して送信された印刷ジョブを印刷する印刷装置上で実行されるプログラムであって、
前記外部装置から送信された印刷要求を受信する印刷要求受信モジュールと、
前記印刷要求受信モジュールによって受信された印刷要求に対応する印刷データの宛先を識別する情報を、前記印刷要求受信モジュールによって受信された印刷要求に対する応答として送信する応答モジュールと、
前記応答モジュールによって送信された情報が示す宛先に対する前記外部装置からの印刷データを受信する印刷データ受信モジュールとを有し、
前記応答モジュールでは、複数の印刷要求のそれぞれに対して異なる宛先を割り当て、
前記印刷データ受信モジュールでは、複数の宛先のそれぞれにおいて、前記応答手段により情報が送信されてから所定時間経過後は当該宛先に対する印刷データの受信を制限することを特徴とするプログラム。
A program executed on a printing device for printing a print job transmitted from an external device via a network,
A print request receiving module that receives a print request transmitted from the external device,
A response module that transmits information identifying a destination of print data corresponding to the print request received by the print request reception module as a response to the print request received by the print request reception module;
A print data receiving module that receives print data from the external device for the destination indicated by the information transmitted by the response module,
In the response module, a different destination is assigned to each of the plurality of print requests,
In the print data receiving module, at each of a plurality of destinations, reception of print data to the destination is restricted after a predetermined time has elapsed after information is transmitted by the response unit.
請求項10または11記載のプログラムをコンピュータ読み取り可能に格納したことを特徴とする記憶媒体。A storage medium, wherein the program according to claim 10 or 11 is stored in a computer-readable manner.
JP2003136149A 2003-05-14 2003-05-14 Printing apparatus, printing processing method, program, and storage medium Expired - Fee Related JP4143469B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003136149A JP4143469B2 (en) 2003-05-14 2003-05-14 Printing apparatus, printing processing method, program, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003136149A JP4143469B2 (en) 2003-05-14 2003-05-14 Printing apparatus, printing processing method, program, and storage medium

Publications (3)

Publication Number Publication Date
JP2004341734A true JP2004341734A (en) 2004-12-02
JP2004341734A5 JP2004341734A5 (en) 2007-08-02
JP4143469B2 JP4143469B2 (en) 2008-09-03

Family

ID=33526207

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003136149A Expired - Fee Related JP4143469B2 (en) 2003-05-14 2003-05-14 Printing apparatus, printing processing method, program, and storage medium

Country Status (1)

Country Link
JP (1) JP4143469B2 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006185165A (en) * 2004-12-27 2006-07-13 Sharp Corp Output device, transmission device, data output control method, data output control program, and recording medium
JP2010217401A (en) * 2009-03-16 2010-09-30 Konica Minolta Business Technologies Inc Image forming apparatus
US9007614B2 (en) 2011-02-21 2015-04-14 Canon Kabushiki Kaisha Printing system including a printing apparatus and an information processing apparatus which communicates with the printing apparatus
JP2017004190A (en) * 2015-06-09 2017-01-05 スター精密株式会社 Network print system, host terminal and network printer

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006185165A (en) * 2004-12-27 2006-07-13 Sharp Corp Output device, transmission device, data output control method, data output control program, and recording medium
JP4549843B2 (en) * 2004-12-27 2010-09-22 シャープ株式会社 OUTPUT DEVICE, DATA OUTPUT CONTROL METHOD, DATA OUTPUT CONTROL PROGRAM, AND RECORDING MEDIUM
JP2010217401A (en) * 2009-03-16 2010-09-30 Konica Minolta Business Technologies Inc Image forming apparatus
US9007614B2 (en) 2011-02-21 2015-04-14 Canon Kabushiki Kaisha Printing system including a printing apparatus and an information processing apparatus which communicates with the printing apparatus
JP2017004190A (en) * 2015-06-09 2017-01-05 スター精密株式会社 Network print system, host terminal and network printer

Also Published As

Publication number Publication date
JP4143469B2 (en) 2008-09-03

Similar Documents

Publication Publication Date Title
JP3834452B2 (en) Device management system, management server, and computer-readable recording medium
US7283266B2 (en) Information processing apparatus and print control apparatus, data processing method, storage medium and program
JP5203978B2 (en) Printer, client terminal, control method therefor, and program
US8390842B2 (en) Port monitor apparatus, method, and program for performing printing restriction by monitoring printer driver
JP5236958B2 (en) Notification method, management device, and client device
JP4719610B2 (en) Information processing apparatus and data output management system
US20100103453A1 (en) Printing system and control method of the printing system
US8537392B2 (en) Follow-me printer driver
JP2007272778A (en) Device management system, information processing apparatus, management apparatus, and their control methods and program
US20090059284A1 (en) Job-submission-request apparatus and method
JP4125044B2 (en) Information processing apparatus, information processing apparatus control method, program, and storage medium
JP2010224768A (en) Printing system, control method for printing system, print server machine, control method for print server machine, and computer program
JP6292009B2 (en) System and method
JP2005258924A (en) Information processing apparatus, control method therefor, and image forming system
US8270001B2 (en) Printing apparatus and canceling method
JP4143469B2 (en) Printing apparatus, printing processing method, program, and storage medium
US7227664B2 (en) Method of printing application data
JP2005038016A (en) Data processor, method and program, and image forming device
JP2000003258A (en) Printing system
JP2002287931A (en) Information processor, print control device, pull-print system, information processing method, data processing method, storage medium and program
JP2001051813A (en) Device and method for print job output and computer- readable storage medium stored with program
JP2007140663A (en) Image processor
JP2006035456A (en) Image processor and its controlling method and program
JP2000172464A (en) Print system, printer, and print server
JP4262007B2 (en) Network device and data processing system control method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050606

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20060417

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070614

RD05 Notification of revocation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7425

Effective date: 20070626

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080303

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080318

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080519

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080610

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080616

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110620

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120620

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120620

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130620

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees