JP4143469B2 - Printing apparatus, printing processing method, program, and storage medium - Google Patents
Printing apparatus, printing processing method, program, and storage medium Download PDFInfo
- 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
- 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
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において、上記ステップS603で生成された印刷ポートをクローズする。ここで、ホストコンピュータが印刷データを送信する際、ホストコンピュータからは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
[0021]
Next, the configuration of the
[0022]
As shown in FIG. 2, the
[0023]
The
[0024]
The
[0025]
The
[0026]
A disk controller (DKC) 20 controls access to the
[0027]
Further, when various expansion devices such as the above-described finisher and double-sided device are attached to the
[0028]
Next, a software program configuration in the
[0029]
In the
[0030]
The
[0031]
The TCP / IP
[0032]
Next, a case where the
[0033]
When the
[0034]
When the
[0035]
Next, the operation of the
[0036]
When the
[0037]
Next, in step S604, the
[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
[0039]
After transmitting the CreateJob response, the
[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
[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
[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
[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
FIG. 3 is a block diagram illustrating a software program configuration in the
4 is a diagram illustrating an example of packet data called CreateJob transmitted from the
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
7 is a diagram illustrating an example of a print data transfer packet transmitted from the
8 is a diagram illustrating an example of an HTTP response packet transmitted from the
9 is a diagram illustrating an example of an error response packet transmitted from the
[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.
前記外部装置から送信された印刷要求を受信する印刷要求受信工程と、
前記受信された印刷要求に対応する印刷データを受信するためのポートとして、前記外部装置からの印刷要求を受信する毎に異なるポートを生成するポート生成工程と、
前記受信された印刷要求に対する応答として、前記生成されたポートの情報を含む応答データを前記外部装置に送信する応答工程と、
前記外部装置から前記応答データに応じて送信された印刷データを前記生成されたポートで受信する印刷データ受信工程と、
前記応答工程における応答データの送信から所定時間内に、当該送信された応答データに含まれる情報が示すポートにおいて印刷データの受信が開始されたか否かを判断する判断工程と、
前記判断工程における判断の結果、前記応答工程における応答データの送信から所定時間内に、当該送信された応答データに含まれる情報が示すポートにおいて印刷データの受信が開始されていないと判断された場合に、前記ポート生成工程で生成された複数のポートのうち、前記送信された応答データに含まれる情報が示すポートであって、前記所定時間内に印刷データの受信が開始されなかったポートをクローズする制御工程と、
を有することを特徴とする印刷処理方法。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 .
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)
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 |
-
2003
- 2003-05-14 JP JP2003136149A patent/JP4143469B2/en not_active Expired - Fee Related
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 |