JP4143469B2 - Printing apparatus, printing processing method, program, and storage medium - Google Patents

Printing apparatus, printing processing method, program, and storage medium Download PDF

Info

Publication number
JP4143469B2
JP4143469B2 JP2003136149A JP2003136149A JP4143469B2 JP 4143469 B2 JP4143469 B2 JP 4143469B2 JP 2003136149 A JP2003136149 A JP 2003136149A JP 2003136149 A JP2003136149 A JP 2003136149A JP 4143469 B2 JP4143469 B2 JP 4143469B2
Authority
JP
Japan
Prior art keywords
port
print
data
response
transmitted
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.)
Expired - Fee Related
Application number
JP2003136149A
Other languages
Japanese (ja)
Other versions
JP2004341734A (en
JP2004341734A5 (en
Inventor
忠弘 中村
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

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】
【課題を解決するための手段】
本発明は、上記目的を達成するため、外部装置とネットワークを介して通信可能な印刷装置であって、前記外部装置から送信された印刷要求を受信する印刷要求受信手段と、前記受信された印刷要求に対応する印刷データを受信するためのポートとして、前記外部装置からの印刷要求を受信する毎に異なるポートを生成するポート生成手段と、前記受信された印刷要求に対する応答として、前記生成されたポートの情報を含む応答データを前記外部装置に送信する応答手段と、前記外部装置から前記応答データに応じて送信された印刷データを前記生成されたポートで受信する印刷データ受信手段と、前記応答手段による応答データの送信から所定時間内に、当該送信された応答データに含まれる情報が示すポートにおいて印刷データの受信が開始されたか否かを判断する判断手段と、前記判断手段による判断の結果、前記応答手段による応答データの送信から所定時間内に、当該送信された応答データに含まれる情報が示すポートにおいて印刷データの受信が開始されていないと判断された場合に、前記ポート生成手段が生成した複数のポートのうち、前記送信された応答データに含まれる情報が示すポートであって、前記所定時間内に印刷データの受信が開始されなかったポートをクローズする制御手段と、を備えることを特徴とする。
【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を使用して解析し、それに基づいて画像印刷制御部302の適切なモジュールを呼び出し、またホストコンピュータに返すべきデータを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】
【発明の効果】
以上説明したように、本発明によれば、外部装置からの印刷要求を受信する毎に異なるポートを生成し、あるポートにおいて所定時間内に印刷データの受信が開始されない場合には、生成した複数のポートのうち、この所定時間内に印刷データの受信が開始されなかったポートをクローズする。即ち、他の印刷要求に対応するポートは維持したままの状態で、所定時間内に印刷データの受信が開始されなかったポートがクローズされるため、クローズしたポートに対して所定時間経過後に印刷データが送信されてきたとしても、それを受信することなく拒否することができ、これにより、不必要な処理を削減することができる。
【図面の簡単な説明】
【図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]
BACKGROUND OF THE INVENTION
The present invention relates to a printing apparatus, a printing processing method, a program, and a storage medium that can communicate with an external apparatus via a network.
[0002]
[Prior art]
In recent years, Web service technology used on the Internet has attracted much attention. Web service is a technology for loosely combining various services distributed on a network. By using the Web service technology, it becomes possible for the program to dynamically select an appropriate service without human intervention, and the Web service technology is a technology for automatically performing a target process. Expected from the field. Data exchanged in this Web service is described in XML (eXtensible Markup Language), and the data described in XML is transmitted and received on the network using SOAP (Simple Object Access Protocol). This SOAP is specified to use HTTP (Hyper Text Transfer Protocol) and SMTP (Simple Mail Transfer Protocol) in the lower layer, and can be easily used on the Internet, like Web browsing and e-mail. Is possible.
[0003]
By applying this Web service technology to the printing technology, various merits that have not been obtained can be obtained. For example, if a web service is installed in a printer, print job submission and device management using SOAP as a print service can be performed. In addition, the user can flexibly customize access to the print service. For example, since the connection method to the print service is described in WSDL (Web Service Description Language), only items necessary for the user are prepared by preparing a program that interprets the WSDL and converts it according to certain rules. It is possible to provide a UI (user interface) extracted from Further, job information that can be specified at the time of submitting a print job can be described in WSDL. For example, whether or not double-sided printing is possible can be known in advance by referring to 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 to which the Web service technology is applied will be further promoted in the future.
[0005]
Printing in a printer to which the Web service technology is applied is performed by the following procedure, for example.
[0006]
First, the client describes a print request command in XML and transmits it to the printer. When the printer receives 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 print data to the designated URL or port number, and the printer performs printing (for example, Patent Document 1).
[0007]
The data reception URL has, for example, a format of “http://192.168.0.1/print/job1”. In this case, it means that 80, which is the default of the http scheme, is used as the port number. To do. Therefore, the client first connects to the printer port 80, and transmits print data using the HTTP POST method. In response to the next print request, the printer responds by changing the URL of the previous job, for example, by changing the URL to “http://192.168.0.1/print/job2,” and the like. By confirming this URL, each job can be uniquely identified even when a plurality of jobs are submitted simultaneously.
[0008]
[Patent Document 1]
JP 2002-333958 A
[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 separate connections, and the printer receives a URL for receiving data in response to the print request. For this reason, it is necessary to consider a situation in which transmission of print data is not started due to a network failure or a client program failure. In this case, the printer is configured to invalidate the print request as a time-out and reject the subsequent print data transmission from the client if the transmission of the print data from the client does not start for a certain period of time after the response to the print request. 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 timeout for each job, which complicates the management and associated processing. For all jobs, the print data is received using the port with port number 80. Therefore, even for a job that has already timed out and has been invalidated, a connection is established once, and the URL for the received data is After confirming the above, it is necessary to perform a redundant process of returning an error. This further generates unnecessary traffic 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 capable of performing management for receiving print data for each print request or restricting reception of print data with simple processing.
[0011]
[Means for Solving the Problems]
  In order to achieve the above object, the present invention provides a printing apparatus capable of communicating with an external apparatus via a network, the print request receiving means for receiving a print request transmitted from the external apparatus, and the received print Port for receiving print data corresponding to the requestDifferent ports each time a print request is received from the external deviceIn response to the received print request, response means for transmitting response data including the generated port information to the external device, and from the external device according to the response data Print data receiving means for receiving transmitted print data at the generated portDetermining means for determining whether or not reception of print data is started at a port indicated by information included in the transmitted response data within a predetermined time from transmission of the response data by the response means; As a result of determination by the above, if it is determined that the reception of print data has not been started at the port indicated by the information included in the transmitted response data within a predetermined time from the transmission of the response data by the response means, Control means for closing a port indicated by information included in the transmitted response data among a plurality of ports generated by the port generation means, which has not started receiving print data within the predetermined time; WithIt is characterized by that.
[0018]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
[0019]
FIG. 1 is a diagram schematically showing 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 connected to each other via a network 104 such as a LAN (Local Area Network). The printing apparatus 101 includes, for example, a laser beam printer that receives print jobs from the host computers 102 and 103 and performs printing, and includes various extensions such as a finisher that performs stapling and sorting functions, and a duplex apparatus that implements a duplex printing function. It is possible to wear 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 the system bus 15 based on a control program stored in a program ROM of the ROM 13. Here, 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 are connected to the system bus 15 as various devices.
[0023]
The ROM 13 includes a program ROM for storing a control program executable by the CPU 12 and font data (including outline font data) used when generating output information to be output to the printer engine 17 via the printing unit interface 16. ) And the like, and a data ROM that stores information used on the host computers 102 and 103.
[0024]
The RAM 19 mainly functions as a main memory, work area, and the like of the CPU 12, and the memory capacity can be expanded by an optional RAM connected to an expansion port (not shown). The RAM 19 is used as an output information expansion 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]
A 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 external memory such as a hard disk (HD) and an IC card, and stores font data, an emulation program, form data, and the like, and temporarily spools and spools a print job. This is used as a job storage area for controlling external jobs. The nonvolatile 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 the user operating these keys. In addition, set information, device status information, and the like are displayed on the display panel of the operation panel 201.
[0027]
Further, when various expansion devices such as the above-described finisher and double-sided device are attached to the printing apparatus 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, thereby causing the printer control unit 301, the image print control unit 302, the XML parser 303, the SOAP control unit 304, and the HTTP server control unit. 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 image data transmission and discharge position control to the printer engine 17. 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 control. The network communication driver 307 controls the network interface unit 18 and controls data transmission / reception with the network 104.
[0031]
  The TCP / IP protocol control unit 306 includes a module that controls TCP / IP, and performs data transmission / reception control according to TCP / IP using the network communication driver 307. The HTTP server control unit 305 is a module that controls the entire HTTP, analyzes the HTTP request packet received from the host computer, performs appropriate processing, and sends the data to the SOAP control unit 304 and the image print control unit.302And an HTTP response packet is returned to the host computer according to an instruction from the upper application. The SOAP control unit 304 is a module that controls SOAP, analyzes data in the XML format received from the host computer using the XML parser 303, calls an appropriate module of the image print control unit 302 based on the analysis, and Data to be returned to the host computer is converted into XML format data and returned to the host computer via the HTTP server control unit 305. The XML parser 303 is a module that receives data in 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. 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. FIG. 5 is a diagram showing CreateJob in FIG. FIG. 6 is a flowchart illustrating an example of response packet data for a packet. FIG. 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. 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 to the host computers 102 and 103 in FIG. FIG. 9 and FIG. 9 show the host computer from the printing apparatus 101 of FIG. 02,103 is a diagram showing an example of an error response packet is sent to.
[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 on HTTP. The This CreateJob packet is a command for instructing the printing apparatus 101 to start a job (printing), and is described in the XML format. In the CreateJob packet, as shown in FIG. 4, information such as a request source user name (<requesting-user-name> tag), an instruction regarding job processing (<job-instruction> tag), and the like are described. The <job-instruction> tag includes a <copies> tag that sets the number of copies to print, a <sides> tag that sets double-sided printing, a <finishing> tag that sets printing finishing, and the like. The job is processed based on the value set in the tag. Furthermore, the <job-instruction> tag can optionally include a <notification-instruction> tag. The <notification-instruction> tag describes notification information related to the job. 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 notification information. The printing apparatus 101 performs event transmission processing based on the values set in these tags.
[0034]
When the printing apparatus 101 receives the CreateJob packet from the host computers 102 and 103, it returns a CreateJob response packet to the host computer 102 and 103. As shown in FIG. 5, the CreateJob response packet data is described in the XML format and transmitted using SOAP on HTTP, as with the CreateJob packet data. The CreateJob response packet includes the result code (<result-code> tag) for the CreateJob command, the generated job identifier (<job-id> tag), and the print port URI (<data-sink -uri> tag) and other information. Here, in the example shown in FIG. 5, the URL “http://192.168.0.1:10000/bmlinks/print?job=1” is shown as the print port. In the 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 a 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 determines in step S601. The XML data described in CreateJob is analyzed, and in subsequent step S602, it is determined whether or not there is an error in the data based on the analysis result. If there is no error, the printing apparatus 101 generates a print port for receiving print data in step S603. Here, the currently available port number is used instead of fixing 80 as the port number. The CreateJob response packet shown in FIG. 5 is an example in which “10000” (indicated by reference numeral 501) is used as the port number. In the present embodiment, each time a print request is received, “10001”, “ The port number can be changed, such as “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 XML data. In step S605, the printing apparatus 101 transmits the CreateJob response data generated in step S604 to the host computer using SOAP.
[0038]
When 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 a configuration as shown in FIG. 7, for example. 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 uniquely identifies the job. 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, the printing apparatus 101 receives print data from the host computer at the designated print port (port number “10000” in the example of FIG. 5) before the 30-second timer times out. It is determined whether or not is started. If reception of print data is started at the designated print port before the timer expires, all data is received and printed by the printer engine 17 while performing appropriate processing. When 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 printing operation. .
[0040]
  On the other hand, if it is determined in step S607 that reception of print data from the host computer has not started before the 30 second timer has timed out, that is, before the start of reception of print data, If the time-out has occurred, the printing apparatus 101 determines in step S609 that the above step is performed.SThe print port generated in 603 is closed. Here, when the host computer transmits the print data, a SYN (sequence number synchronization, meaning connection request) packet at the TCP level is transmitted from the host computer. For a SYN packet transmitted after being closed, an RST (reset) packet is returned from the printing apparatus 101 to the host computer, the connection between the host computer and the printing apparatus 101 cannot be established, and the print data Cannot be sent.
[0041]
In step S606, a timer for a predetermined time, for example, 30 seconds is started. However, in step S606, the time measurement start time is stored in association with the port generated in step S603, and in step S607. 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 error response data as shown in FIG. 9, for example, in step S610. In step S605, the printing apparatus 101 transmits an error response to the host computer. When the host computer receives the error response, the host computer ends the process without transmitting print data.
[0043]
In the present embodiment, an example has been described in which the print port number is changed from “10000” to “10001”, “10002”..., But it is not always necessary to sequentially increase the port number from “10000”. When printing is completed, the printing apparatus 101 closes the port, so that the port with the same number can be used after a predetermined time has elapsed.
[0044]
As described above, in this embodiment, the print port is dynamically changed for each print request, and the timeout time is managed in units of ports, thereby managing the reception of print data for each print request with a simple process. be able to. Further, by closing the port that has timed out, it becomes possible to reject all subsequent connection requests, and it is possible to prevent unnecessary network traffic from occurring.
[0045]
An object of the present invention is to supply a storage medium (or recording medium) in which a program code of software that realizes the functions of the above-described embodiments is recorded to a system or apparatus, and the computer (or CPU) of the system or apparatus Needless to say, this can also be achieved by reading and executing 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. Further, by executing the program code read by the computer, 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 However, it is needless to say that some or all of the actual processing is performed and the functions of the above-described embodiments are realized by the processing.
[0046]
Further, after the program code read from the storage medium is written in 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 functions of the above-described embodiments are realized by the processing.
[0047]
【The invention's effect】
  As described above, according to the present invention, a different port is generated every time a print request from an external device is received,If the reception of print data does not start within a predetermined time at a certain port, the ports that have not started receiving print data within the predetermined time are closed among the generated ports. That is, since the port corresponding to the other print request is maintained and the port for which the reception of the print data has not started within the predetermined time is closed, the print data after the predetermined time elapses with respect to the closed port. Can be rejected without receiving it, which can reduce unnecessary processing.
[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 in FIG. 1 to the printing apparatus 101 using SOAP over HTTP. FIG.
FIG. 5 is a diagram illustrating an example of response packet data for the CreateJob packet in 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 illustrating an example of a print data transfer packet transmitted from the host computers 102 and 103 in FIG. 1 by the HTTP POST method. FIG.
8 is a diagram illustrating an example of an HTTP response packet transmitted from the printing apparatus 101 in FIG. 1 to the host computers 102 and 103. FIG.
9 is a diagram illustrating an example of an error response packet transmitted from the printing apparatus 101 in FIG. 1 to the host computers 102 and 103. FIG.
[Explanation of symbols]
12 CPU
13 ROM
16 Printing section interface
17 Printer Engine
18 Network interface
101 Printing device
102,103 Host computer
104 network
301 Printer control unit
302 Image printing control unit
303 XML parser
304 SOAP control unit
305 HTTP server controller
306 TCP / IP protocol controller
307 Network communication driver

Claims (6)

外部装置とネットワークを介して通信可能な印刷装置であって、
前記外部装置から送信された印刷要求を受信する印刷要求受信手段と、
前記受信された印刷要求に対応する印刷データを受信するためのポートとして、前記外部装置からの印刷要求を受信する毎に異なるポートを生成するポート生成手段と、
前記受信された印刷要求に対する応答として、前記生成されたポートの情報を含む応答データを前記外部装置に送信する応答手段と、
前記外部装置から前記応答データに応じて送信された印刷データを前記生成されたポートで受信する印刷データ受信手段と、
前記応答手段による応答データの送信から所定時間内に、当該送信された応答データに含まれる情報が示すポートにおいて印刷データの受信が開始されたか否かを判断する判断手段と、
前記判断手段による判断の結果、前記応答手段による応答データの送信から所定時間内に、当該送信された応答データに含まれる情報が示すポートにおいて印刷データの受信が開始されていないと判断された場合に、前記ポート生成手段が生成した複数のポートのうち、前記送信された応答データに含まれる情報が示すポートであって、前記所定時間内に印刷データの受信が開始されなかったポートをクローズする制御手段と、
を備えることを特徴とする印刷装置。
A printing device capable of communicating with an external device via a network,
Print request receiving means for receiving a print request transmitted from the external device;
Port generation means for generating a different port each time a print request is received from the external device as 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;
Print data receiving means for receiving print data transmitted from the external device according to the response data at the generated port ;
Determination means for determining whether or not reception of print data is started at a port indicated by information included in the transmitted response data within a predetermined time from transmission of response data by the response means;
When it is determined as a result of the determination by the determination means that reception of print data is not started at a port indicated by information included in the transmitted response data within a predetermined time from transmission of response data by the response means In addition, among the plurality of ports generated by the port generation means, the port indicated by the information included in the transmitted response data, and the port for which reception of print data has not been started within the predetermined time is closed. Control means;
Printing apparatus comprising: a.
前記応答データの送信とともに起動し、前記所定時間を計時するタイマーを有し、前記判断手段は、前記タイマーを用いて、前記判断を行うことを特徴とする請求項1記載の印刷装置。Start with the transmission of the response data includes a timer for measuring a predetermined time, before Symbol decisions means it uses the timer, according to claim 1 Symbol placement of the printing apparatus and performs the determination . 前記タイマーは、前記受信された印刷要求の印刷データを受信するためのポートの1つとして生成される複数のポート毎にそれぞれ計時することを特徴とする請求項記載の印刷装置。The printing apparatus according to claim 2 , wherein the timer measures each of a plurality of ports generated as one of the ports for receiving the print data of the received print request. 外部装置からネットワークを介して送信された印刷ジョブを印刷装置により印刷するための印刷処理方法であって、
前記外部装置から送信された印刷要求を受信する印刷要求受信工程と、
前記受信された印刷要求に対応する印刷データを受信するためのポートとして、前記外部装置からの印刷要求を受信する毎に異なるポートを生成するポート生成工程と、
前記受信された印刷要求に対する応答として、前記生成されたポートの情報を含む応答データを前記外部装置に送信する応答工程と、
前記外部装置から前記応答データに応じて送信された印刷データを前記生成されたポートで受信する印刷データ受信工程と、
前記応答工程における応答データの送信から所定時間内に、当該送信された応答データに含まれる情報が示すポートにおいて印刷データの受信が開始されたか否かを判断する判断工程と、
前記判断工程における判断の結果、前記応答工程における応答データの送信から所定時間内に、当該送信された応答データに含まれる情報が示すポートにおいて印刷データの受信が開始されていないと判断された場合に、前記ポート生成工程で生成された複数のポートのうち、前記送信された応答データに含まれる情報が示すポートであって、前記所定時間内に印刷データの受信が開始されなかったポートをクローズする制御工程と、
を有することを特徴とする印刷処理方法。
A print processing method for printing a print job transmitted from an external device via a network using 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 different port each time a print request is received from the external device as 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 ;
A determination step of determining whether or not reception of print data is started at a port indicated by information included in the transmitted response data within a predetermined time from transmission of the response data in the response step;
As a result of determination in the determination step, when it is determined that reception of print data has not started at a port indicated by information included in the transmitted response data within a predetermined time from transmission of response data in the response step In addition, among the plurality of ports generated in the port generation step, the port indicated by the information included in the transmitted response data, and the port for which reception of print data has not started within the predetermined time is closed. A control process,
Print processing method characterized in that it comprises a.
外部装置からネットワークを介して送信された印刷ジョブを印刷する印刷装置上で実行されるプログラムであって、
前記外部装置から送信された印刷要求を受信する印刷要求受信モジュールと、
前記受信された印刷要求に対応する印刷データを受信するためのポートとして、前記外部装置からの印刷要求を受信する毎に異なるポートを生成するポート生成モジュールと、
前記受信された印刷要求に対する応答として、前記生成されたポートの情報を含む応答データを前記外部装置に送信する応答モジュールと、
前記外部装置から前記応答データに応じて送信された印刷データを前記生成されたポートで受信する印刷データ受信モジュールと、
前記応答モジュールによる応答データの送信から所定時間内に、当該送信された応答データに含まれる情報が示すポートにおいて印刷データの受信が開始されたか否かを判断する判断モジュールと、
前記判断モジュールによる判断の結果、前記応答モジュールによる応答データの送信から所定時間内に、当該送信された応答データに含まれる情報が示すポートにおいて印刷データの受信が開始されていないと判断された場合に、前記ポート生成モジュールが生成した複数のポートのうち、前記送信された応答データに含まれる情報が示すポートであって、前記所定時間内に印刷データの受信が開始されなかったポートをクローズする制御モジュールと、
を有することを特徴とするプログラム。
A program executed on a printing apparatus that prints a print job transmitted from an external apparatus via a network,
A print request receiving module for receiving a print request transmitted from the external device;
As a port for receiving the print data corresponding to the received print request, and the port generation module for generating different port each time a print request is received from said external device,
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 according to the response data at the generated port ;
A determination module for determining whether or not reception of print data is started at a port indicated by information included in the transmitted response data within a predetermined time from transmission of response data by the response module;
As a result of determination by the determination module, when it is determined that reception of print data has not started at a port indicated by information included in the transmitted response data within a predetermined time from transmission of response data by the response module In addition, among the plurality of ports generated by the port generation module, the port indicated by the information included in the transmitted response data, and the port for which reception of print data has not started within the predetermined time is closed. A control module;
The program characterized by having .
請求項記載のプログラムをコンピュータ読み取り可能に格納したことを特徴とする記憶媒体。6. A storage medium storing the program according to claim 5 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 JP2004341734A (en) 2004-12-02
JP2004341734A5 JP2004341734A5 (en) 2007-08-02
JP4143469B2 true 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)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4549843B2 (en) * 2004-12-27 2010-09-22 シャープ株式会社 OUTPUT DEVICE, DATA OUTPUT CONTROL METHOD, DATA OUTPUT CONTROL PROGRAM, AND RECORDING MEDIUM
JP5277460B2 (en) * 2009-03-16 2013-08-28 コニカミノルタ株式会社 Image forming apparatus management method
JP5728246B2 (en) 2011-02-21 2015-06-03 キヤノン株式会社 Printing system, printing apparatus, control method therefor, and program
JP6458652B2 (en) * 2015-06-09 2019-01-30 スター精密株式会社 Network printing system, host terminal and network printer

Also Published As

Publication number Publication date
JP2004341734A (en) 2004-12-02

Similar Documents

Publication Publication Date Title
US7719703B2 (en) Print control program and medium and information processing apparatus
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
JP5236958B2 (en) Notification method, management device, and client device
US20100208298A1 (en) Image forming apparatus
JP4719610B2 (en) Information processing apparatus and data output management system
US8493591B2 (en) Job-submission-request apparatus and method for making a request from a plurality of apparatuses
WO2001073558A1 (en) System for managing device connected to network
JP2010224768A (en) Printing system, control method for printing system, print server machine, control method for print server machine, and computer program
US8537392B2 (en) Follow-me printer driver
JP4125044B2 (en) Information processing apparatus, information processing apparatus control method, program, and storage medium
US8400666B2 (en) Information processing apparatus and information processing method
EP1830250A2 (en) Non-postscript printer description file generating tool
JP2007011469A (en) Job state monitoring system, job state monitoring method, program and storage medium
US7746493B2 (en) Job management apparatus and method of recognizing job completion, and control program used therewith
JP2003271354A (en) Substitute print processor, substitute print processing method, its program and storage medium
US8270001B2 (en) Printing apparatus and canceling method
JP4143469B2 (en) Printing apparatus, printing processing method, program, and storage medium
JP2005038016A (en) Data processor, method and program, and image forming device
JP2005182486A (en) Print management system, print management method and program for print management
US7352484B2 (en) Printing system and management method therefor
JP2000003258A (en) Printing system
JP2007140663A (en) Image processor
JP4110021B2 (en) Print processing program, information processing apparatus, information processing method, and storage medium for performing print processing with department management
JP4350343B2 (en) PRINT CONTROL DEVICE, PRINT CONTROL METHOD, PROGRAM, AND STORAGE MEDIUM

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