JP2013059931A - Data processing device, server, and data processing method - Google Patents

Data processing device, server, and data processing method Download PDF

Info

Publication number
JP2013059931A
JP2013059931A JP2011200268A JP2011200268A JP2013059931A JP 2013059931 A JP2013059931 A JP 2013059931A JP 2011200268 A JP2011200268 A JP 2011200268A JP 2011200268 A JP2011200268 A JP 2011200268A JP 2013059931 A JP2013059931 A JP 2013059931A
Authority
JP
Japan
Prior art keywords
processing
data
processing data
transmission
server
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2011200268A
Other languages
Japanese (ja)
Inventor
Yasuhiro Oshima
康裕 大島
Yasuhiro Furuta
泰大 古田
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.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2011200268A priority Critical patent/JP2013059931A/en
Priority to CN201210299152.7A priority patent/CN102970320B/en
Priority to US13/597,842 priority patent/US8705074B2/en
Priority to EP12182138.3A priority patent/EP2565777B1/en
Publication of JP2013059931A publication Critical patent/JP2013059931A/en
Withdrawn legal-status Critical Current

Links

Images

Abstract

PROBLEM TO BE SOLVED: To execute proper operation in resuming interrupted post-processing.SOLUTION: A data processing device includes: a requesting section that issues a request to transmit processing data to a server; a receiving section that receives the processing data transmitted from the server in response to the request; and a processing section that sequentially acquires the received processing data and executes processing by using the processing data. When the processing section acquires the processing data again after interrupting the acquisition of the processing data before completing the acquisition of the processing data, the requesting section requests the transmission of data of the entire processing data which have not been acquired by the processing section when the reason for interrupting the acquisition of the processing data is classified into a first group, and requests transmission of the entire processing data when the reason for interrupting the acquisition of the processing data is classified into a second group.

Description

本発明は、データ処理装置、サーバー、データ処理方法に関し、クラウドコンピューティングシステムにおいてユーザーからサーバー経由で取得した要求に応じて処理を実行する技術に関する。   The present invention relates to a data processing device, a server, and a data processing method, and to a technology for executing processing in response to a request acquired from a user via a server in a cloud computing system.

従来、電子メールの送信によって特定のプリンターに印刷を実行させることができるサービスを提供するクラウドコンピューティングシステムが知られている(例えば特許文献1)。このクラウドコンピューティングシステム(以下、単に印刷システムという)は、特定の電子メールを受信すると電子メールに基づいて特定のプリンターに対応した印刷データを生成するサーバーを備え、サーバーに登録されている特定のプリンターはサーバーから印刷データを取得して印刷を実行する。したがって印刷システムの利用者は、PC(Personal Computer)、スマートフォン等のクライアント端末にプリンタードライバーがインストールされていない場合であっても、印刷システムに登録されているプリンターを利用することが可能になる。   2. Description of the Related Art Conventionally, a cloud computing system that provides a service that allows a specific printer to execute printing by sending an e-mail is known (for example, Patent Document 1). This cloud computing system (hereinafter simply referred to as a printing system) includes a server that generates print data corresponding to a specific printer based on an e-mail when a specific e-mail is received, and a specific registered in the server The printer acquires print data from the server and executes printing. Therefore, the user of the printing system can use the printer registered in the printing system even when the printer driver is not installed in a client terminal such as a PC (Personal Computer) or a smartphone.

特開2008−71257号公報JP 2008-71257 A

このような印刷システムにおいては、ユーザーが送信した電子メールに基づいてサーバーが印刷データを生成し、プリンターに対して印刷ジョブの存在を通知し、通知を受けたプリンターはサーバーに対して印刷データの送信要求を行って印刷データを取得しながら印刷を実行している。プリンターが搭載しているメモリサイズにはコストの観点から制限があるので、印刷が終了した部分の印刷データについてはメモリから破棄し次に処理すべき印刷データのためにメモリ領域を確保する。このようにプリンターは、印刷データを取得しながら印刷を行うため、印刷データの取得途中でプリンターにおいてエラーが発生した場合、印刷を続行することができないため印刷データをメモリから破棄することができず、やがて後続して送信された印刷データを受信できない状態となる。   In such a printing system, the server generates print data based on the email sent by the user, notifies the printer of the existence of the print job, and the printer that received the notification sends the print data to the server. Printing is performed while acquiring print data by making a transmission request. Since the memory size installed in the printer is limited from the viewpoint of cost, the print data of the portion where printing has been completed is discarded from the memory, and a memory area is secured for print data to be processed next. Since the printer performs printing while acquiring print data in this way, if an error occurs in the printer during print data acquisition, printing cannot be continued and printing data cannot be discarded from memory. Eventually, the print data transmitted subsequently cannot be received.

このような場合、従来はエラーが発生したため印刷を終了するという動作となっており、エラーで中断した後のエラー復帰後の動作について特に考慮されていなかった。
本発明は上記課題にかんがみてなされたもので、処理が中断した後処理を再開する場合に適切な動作を行う技術の提供を目的とする。
In such a case, conventionally, since an error has occurred, the operation is to end printing, and the operation after error recovery after being interrupted by an error has not been particularly considered.
The present invention has been made in view of the above problems, and an object of the present invention is to provide a technique for performing an appropriate operation when the processing is resumed after the processing is interrupted.

上記目的を達成するためのデータ処理装置は、要求部と、受信部と、処理部と、を備える。要求部は、サーバーに処理データの送信要求を行う。受信部は、送信要求に応じてサーバーから送信された処理データを受信する。処理部は、受信した処理データを順次取得し、当該処理データを用いて処理を行う。そして要求部は、処理部が処理データの取得を完了する前に処理データの取得を中断した後、処理データの取得を再開する場合に、次のように送信要求を行う。すなわち要求部は、処理データの取得を中断した理由が第一のグループに分類される場合にデータ全体のうちの処理部が未取得である部分についての送信要求を行い、処理データの取得を中断した理由が第二のグループに分類される場合にデータ全体についての送信要求を行う。   A data processing apparatus for achieving the above object includes a requesting unit, a receiving unit, and a processing unit. The request unit makes a transmission request for processing data to the server. The receiving unit receives the processing data transmitted from the server in response to the transmission request. The processing unit sequentially acquires the received processing data and performs processing using the processing data. The request unit makes a transmission request as follows when the acquisition of the processing data is resumed after the acquisition of the processing data is interrupted before the processing unit completes the acquisition of the processing data. That is, when the reason for interrupting the acquisition of processing data is classified into the first group, the requesting unit makes a transmission request for a portion of the entire data that has not been acquired by the processing unit, and interrupts the acquisition of processing data If the reason is classified into the second group, a transmission request is made for the entire data.

ここで、第一のグループに分類される理由には、次のような事象の発生が想定される。すなわち、中断した処理を中断の理由となる事象が解消された後にその続きから再開することが望ましい事象の発生である。第二のグループに分類される理由には、次のような事象の発生が想定される。すなわち、中断した処理を中断の理由となる事象が解消された後にもう一度最初から処理しなおすことが望ましい事象の発生である。中断の理由(となる事象)が分類されるグループは、データ処理装置において予め決められている。   Here, the following events are assumed as the reason for classification into the first group. That is, it is an occurrence of an event that it is desirable to resume the interrupted process from the continuation after the event that causes the interruption is resolved. The following events are assumed to be classified as the second group. That is, it is an occurrence of an event that it is desirable to process the interrupted process again from the beginning after the event that causes the interruption is resolved. The group into which the reason for interruption (becoming event) is classified is predetermined in the data processing apparatus.

したがって本発明の構成によると、処理データの取得を再開する場合に、中断の理由に応じて、データ全体を取得しなおすか、未取得の部分のみを取得するかを切り替えることができる。その結果、中断時の続きから処理を再開することが望ましいと予め決められている事象が発生した場合は、処理部が未取得の処理データを取得することができるので、処理済みのデータを含めて全体を取得し直す構成と比較すると処理に要する時間を短縮できる。また、中断後に再開する場合は再度はじめから処理をし直すことが望ましいと予め決められている事象が発生した場合は、処理データの全体を取得しなおすことができるため、再度処理データ全体を対象に処理を行うことができる。   Therefore, according to the configuration of the present invention, when the acquisition of the processing data is resumed, it is possible to switch between acquiring the entire data again or acquiring only the unacquired portion depending on the reason for the interruption. As a result, if an event occurs that it is desirable to resume processing from the point of continuation, the processing unit can acquire unacquired processing data. Compared with a configuration in which the whole is acquired again, the time required for processing can be shortened. In addition, when an event occurs that it is desirable to start processing again from the beginning when restarting after interruption, the entire processing data can be reacquired, so that the entire processing data is again targeted. Can be processed.

さらに、上記目的を達成するためのデータ処理装置において、要求部は、処理部が未取得である部分の処理データについての送信要求を、HTTPのrangeヘッダーを用いて範囲指定することで行ってもよい。
HTTPのrangeヘッダーを用いることで、処理データの部分的な送信要求を実現することができる。
Further, in the data processing apparatus for achieving the above object, the request unit may perform a transmission request for a portion of the processing data that has not been acquired by the processing unit by specifying a range using an HTTP range header. Good.
By using the HTTP range header, a partial transmission request for processing data can be realized.

さらに、上記目的を達成するためのデータ処理装置において、処理データは印刷データであり、処理部は、取得した印刷データに基づいて印刷を行う処理部であってもよい。その場合、第一のグループに分類される理由には、印刷媒体なし、色材なし、印刷媒体タイプの不一致、装置カバーオープンのうちの少なくともいずれかのエラーの発生が含まれ、第二のグループに分類される理由には、印刷媒体詰まり、処理部の機械的異常、停電のうちの少なくともいずれかのエラーの発生が含まれてもよい。
上述のような様々なエラーが発生した後当該エラーが解消された場合に、当該エラーが分類されるグループに応じて、印刷データの全体の送信要求を行うか、印刷データの部分的な送信要求を行うかを切り替えることができる。
Furthermore, in the data processing apparatus for achieving the above object, the processing data may be print data, and the processing unit may be a processing unit that performs printing based on the acquired print data. In that case, the reason for being classified into the first group includes the occurrence of an error of at least one of no print medium, no color material, print medium type mismatch, and device cover open. The reason for the classification may include occurrence of an error of at least one of a print medium jam, a mechanical abnormality of the processing unit, and a power failure.
When the error is resolved after various errors as described above, depending on the group into which the error is classified, the entire print data transmission request is made, or the print data partial transmission request is made. Can be switched.

また、上記目的を達成するためのサーバーは、記憶部と、送信部と、を備える。記憶部は、データ処理装置に処理させる処理データを記憶する。送信部は、データ処理装置に処理データを送信する。そして、送信部が処理データの全体の送信を完了する前に処理データの送信を中断した後処理データを再送信する場合に、送信部は、処理データの送信を中断した理由が第一のグループに分類される場合には処理データの全体のうちの送信部が未送信である部分を含む、処理データの一部分についての送信を行い、処理データの送信を中断した理由が第二のグループに分類される場合に処理データ全体についての送信を行う。   Moreover, the server for achieving the said objective is provided with a memory | storage part and a transmission part. The storage unit stores processing data to be processed by the data processing device. The transmission unit transmits the processing data to the data processing device. When the transmission unit suspends the transmission of the processing data before completing the transmission of the entire processing data, and then retransmits the processing data, the transmission unit determines that the reason for interrupting the transmission of the processing data is the first group If the transmission data is classified into the second group, the reason why the transmission of the processing data is interrupted is transmitted to a part of the processing data including the part where the transmission unit has not been transmitted. If so, the entire processing data is transmitted.

サーバーが以上のような構成を採用していることにより、処理データの送信を中断した理由に応じて、送信再開後にデータ処理装置に送信する処理データの範囲を切り替えることができる。すなわち、未送信部分を含む一部分の印刷データの送信か、または、印刷データ全体の送信か、を切り替えることができる。そしてデータ処理装置は、サーバーから送信された処理データを用いて処理を行うことができる。   By adopting the configuration as described above, the server can switch the range of the processing data to be transmitted to the data processing device after the transmission is resumed, depending on the reason for interrupting the transmission of the processing data. That is, it is possible to switch between transmission of a part of print data including an untransmitted portion or transmission of the entire print data. The data processing apparatus can perform processing using the processing data transmitted from the server.

なお、請求項に記載された各手段の機能は、構成自体で機能が特定されるハードウェア資源、プログラムにより機能が特定されるハードウェア資源、又はそれらの組み合わせにより実現される。また、これら各手段の機能は、各々が物理的に互いに独立したハードウェア資源で実現されるものに限定されない。また、サーバーは1台のコンピューター装置から構成されるものに限らず、複数のコンピューター装置が協働して上述のサーバーとして動作する構成を含む。さらに、本発明は方法としても、コンピュータープログラムとしても、そのプログラムの記録媒体としても成立する。むろん、そのコンピュータープログラムの記録媒体は、磁気記録媒体であってもよいし光磁気記録媒体であってもよいし、今後開発されるいかなる記録媒体であってもよい。   Note that the function of each means described in the claims is realized by hardware resources whose function is specified by the configuration itself, hardware resources whose function is specified by a program, or a combination thereof. The functions of these means are not limited to those realized by hardware resources that are physically independent of each other. Further, the server is not limited to one configured from a single computer device, but includes a configuration in which a plurality of computer devices cooperate to operate as the above-described server. Furthermore, the present invention can be realized as a method, a computer program, and a recording medium for the program. Of course, the recording medium for the computer program may be a magnetic recording medium, a magneto-optical recording medium, or any recording medium developed in the future.

第一実施形態にかかるデータ処理装置のブロック図。1 is a block diagram of a data processing apparatus according to a first embodiment. 第一実施形態にかかるバッファーの構成例を示す模式図。The schematic diagram which shows the structural example of the buffer concerning 1st embodiment. 第一実施形態にかかるエラーの分類を示す図。The figure which shows the classification | category of the error concerning 1st embodiment. 第一実施形態にかかる印刷シーケンスのシーケンスチャート。The sequence chart of the printing sequence concerning a first embodiment. 第一実施形態にかかる印刷データの各部の状態を説明する模式図。FIG. 3 is a schematic diagram illustrating the state of each part of print data according to the first embodiment.

以下、本発明の実施の形態を添付図面を参照しながら説明する。尚、各図において対応する構成要素には同一の符号が付され、重複する説明は省略される。
1.第一実施形態
1−1.構成
図1は、本実施形態におけるプリンター(データ処理装置、印刷装置)3とサーバー2とを含む印刷システム全体の構成を示すブロック図である。図1に示す印刷システムは、サーバー2に登録されたプリンター3に対応付けられた電子メールアドレスを宛先とする電子メールを任意の通信端末1から送信すると、宛先の電子メールアドレスに対応付けられたプリンター3において電子メールの添付ファイルや本文が印刷される機能を実現する。サーバー2、プリンター3、通信端末1はインターネット4に接続される。
Hereinafter, embodiments of the present invention will be described with reference to the accompanying drawings. In addition, the same code | symbol is attached | subjected to the corresponding component in each figure, and the overlapping description is abbreviate | omitted.
1. 1. First embodiment 1-1. Configuration FIG. 1 is a block diagram showing the overall configuration of a printing system including a printer (data processing apparatus, printing apparatus) 3 and a server 2 in this embodiment. In the printing system illustrated in FIG. 1, when an e-mail addressed to an e-mail address associated with the printer 3 registered in the server 2 is transmitted from any communication terminal 1, the e-mail address is associated with the e-mail address of the destination. The printer 3 realizes a function of printing an e-mail attachment file or body text. The server 2, printer 3, and communication terminal 1 are connected to the Internet 4.

サーバー2は1以上のコンピューターによって構成され、アプリケーションサーバー21,SMTPサーバー22,HTTPサーバー23およびXMPPサーバー24を含む。アプリケーションサーバー21,SMTPサーバー22,HTTPサーバー23,XMPPサーバー24のそれぞれは、図示しないCPUとRAMとROMとハードディスク装置と通信部とそれらを接続する内部インターフェースとを備えている。通信部はインターネットからLANを経由して受信する信号をプロトコルに従って変換して内部バスに送出し、内部バスから取り込んだ信号をプロトコルに従って変換してLANを経由してインターネットに送出する。   The server 2 includes one or more computers, and includes an application server 21, an SMTP server 22, an HTTP server 23, and an XMPP server 24. Each of the application server 21, the SMTP server 22, the HTTP server 23, and the XMPP server 24 includes a CPU, a RAM, a ROM, a hard disk device, a communication unit, and an internal interface that connects them (not shown). The communication unit converts a signal received from the Internet via the LAN according to the protocol and transmits the converted signal to the internal bus, converts a signal received from the internal bus according to the protocol and transmits the converted signal to the Internet via the LAN.

SMTPサーバー22は、アプリケーションサーバー21に登録されたプリンター3に割り当てられた電子メールアドレス宛の電子メールをSMTP(Simple Mail Transfer Protocol)に基づいて送受信する機能を有する。HTTPサーバー23はプリンター3とHTTP(Hyper Text Transfer Protocol)に基づいて通信する機能を有し、印刷データをプリンター3に送信する「送信部」として機能する。XMPPサーバー24はプリンター3とXMPP(Extensible Messaging and Presence Protocol)に基づいて通信する機能を有し、プリンター3に印刷ジョブ有り通知を送信する。アプリケーションサーバー21は、SMTPに基づいて電子メールを受信すると、当該電子メールに基づいて対応するプリンター3に応じた印刷データを生成してサーバー2内のメモリに記憶し(「記憶部」に相当)、XMPPに基づいて対応するプリンター3に印刷ジョブ有り通知を送信し、生成した印刷データをプリンター3からのHTTPに基づいた送信要求に応じてプリンター3に送信する機能を有する。   The SMTP server 22 has a function of transmitting and receiving an e-mail addressed to an e-mail address assigned to the printer 3 registered in the application server 21 based on SMTP (Simple Mail Transfer Protocol). The HTTP server 23 has a function of communicating with the printer 3 based on HTTP (Hyper Text Transfer Protocol), and functions as a “transmission unit” that transmits print data to the printer 3. The XMPP server 24 has a function of communicating with the printer 3 based on XMPP (Extensible Messaging and Presence Protocol), and transmits a print job presence notification to the printer 3. When the application server 21 receives the e-mail based on the SMTP, the application server 21 generates print data corresponding to the corresponding printer 3 based on the e-mail and stores the print data in the memory in the server 2 (corresponding to a “storage unit”). And a function of transmitting a print job notification to the corresponding printer 3 based on XMPP and transmitting the generated print data to the printer 3 in response to a transmission request based on HTTP from the printer 3.

プリンター3は、サーバー2とのXMPPを用いた常時接続によってサーバー2から印刷ジョブ有り通知を通知されると、HTTPを用いて印刷データをサーバー2から受信し、印刷を実行する機能を有する。したがってプリンター3は、CPU、ROM、RAM等を備えたコントローラー31、印刷部35等の通常のプリンターの構成要素に加えて、インターネット4を介して各種のデータを送受信するための通信部34を備えている。通信部34はインターネット4からLANを経由して受信する信号をプロトコルに従って変換して内部バスに送出し、内部バスから取り込んだ信号をプロトコルに従って変換してLANを経由してインターネットに送出する。コントローラー31のROMにはRAMに読み込まれCPUによって実行される通信プログラムや印刷プログラムなどの種々のコンピュータープログラムが記憶されている。これらのコンピュータープログラムをCPUが実行することによって、プリンター3の各種の機能が実現される。   The printer 3 has a function of receiving print data from the server 2 using HTTP and executing printing when the server 2 is notified of the presence of a print job through a constant connection with the server 2 using XMPP. Accordingly, the printer 3 includes a communication unit 34 for transmitting and receiving various data via the Internet 4 in addition to the components of a normal printer such as a controller 31 having a CPU, ROM, RAM, and the like, and a printing unit 35. ing. The communication unit 34 converts the signal received from the Internet 4 via the LAN according to the protocol and sends it to the internal bus, and converts the signal received from the internal bus according to the protocol and sends it to the Internet via the LAN. The ROM of the controller 31 stores various computer programs such as a communication program and a printing program that are read into the RAM and executed by the CPU. Various functions of the printer 3 are realized by the CPU executing these computer programs.

通信プログラムは、サーバー2とTCP/IP、HTTP、XMPP等の通信プロトコルに従った通信を行うためのプログラムである。なお、HTTPやXMPPを用いてサーバー2と接続するために必要な情報は予めコントローラー31は取得済みである。受信バッファー32は、通信プログラムを実行するコントローラー31が通信部34を介して外部から受信したデータを記憶するメモリであり、印刷データやなど様々なデータが一旦格納されるメモリである。通信プログラムを実行するコントローラー31および通信部34は、印刷データの送信要求をサーバー2に対して行う「要求部」に相当する。また、通信プログラムを実行するコントローラー31と通信部34と受信バッファー32とは、サーバー2から送信された印刷データを受信する「受信部」に相当する。   The communication program is a program for performing communication with the server 2 according to a communication protocol such as TCP / IP, HTTP, XMPP or the like. Note that the controller 31 has acquired in advance information necessary for connecting to the server 2 using HTTP or XMPP. The reception buffer 32 is a memory that stores data received from the outside by the controller 31 that executes the communication program via the communication unit 34, and is a memory that temporarily stores various data such as print data. The controller 31 and the communication unit 34 that execute the communication program correspond to a “request unit” that makes a print data transmission request to the server 2. The controller 31, the communication unit 34, and the reception buffer 32 that execute the communication program correspond to a “reception unit” that receives print data transmitted from the server 2.

印刷プログラムは、受信バッファー32に記憶されている印刷データを読み出して処理バッファー33に転送し、印刷前処理を施してプリンター3における印刷に適した形式のデータに印刷データを変換し、変換後のデータに基づいて印刷部35を制御して印刷を行う機能を有するプログラムである。印刷プログラムを実行するコントローラー31と、印刷部35と処理バッファー33とは「処理部」に相当する。本実施形態においては、サーバー2が印刷対象をレンダリングして印刷データを生成しプリンター3に送信する。また本実施形態において、印刷前処理は、サーバー2から受信した印刷データに対して施す、解像度変換処理や、色変換処理や、ハーフトーン処理や、並べ替え処理等を指す。処理バッファー33は、受信バッファー32に記憶された様々なデータの中から抽出され読み出された印刷データに対して前述の印刷前処理を施す際に処理前や処理過程や処理後のデータを記憶するためのメモリである。印刷前処理に含まれる前述の各処理のデータ受け渡しのためにそれぞれ設けられたバッファーメモリをまとめて処理バッファー33と呼ぶ。   The print program reads the print data stored in the reception buffer 32, transfers it to the processing buffer 33, performs pre-print processing, converts the print data into data in a format suitable for printing in the printer 3, and converts the converted data. This is a program having a function of controlling the printing unit 35 based on data and performing printing. The controller 31 that executes the printing program, the printing unit 35, and the processing buffer 33 correspond to a “processing unit”. In the present embodiment, the server 2 renders a print target, generates print data, and transmits the print data to the printer 3. In the present embodiment, the pre-printing process refers to a resolution conversion process, a color conversion process, a halftone process, a rearrangement process, and the like performed on the print data received from the server 2. The processing buffer 33 stores pre-processing, processing steps, and post-processing data when the above-described pre-print processing is performed on the print data extracted and read out from various data stored in the reception buffer 32. It is a memory to do. The buffer memories respectively provided for data transfer of the above-described processes included in the pre-printing process are collectively referred to as a processing buffer 33.

図2は各バッファーについて説明するための模式図である。図2に示すように例えば本実施形態では処理バッファー33は、受信バッファー32から読み出した解像度変換処理前の印刷データを記憶する第一の処理バッファー331と、解像度変換後のデータであり色変換処理前のデータを記憶する第二の処理バッファー332と、色変換処理後のデータであってハーフトーン処理前のデータを記憶する第三の処理バッファー333と、ハーフトーン処理後のデータであって並べ替え処理前のデータを記憶する第四の処理バッファー334と、並べ替え処理後のデータを記憶する第五の処理バッファー335とを含んでいる。第五の処理バッファー335に記憶されたデータは印刷部35による印刷に用いられる。「処理部が処理データを取得する」とは、本実施形態では具体的に、印刷処理プログラムを実行するコントローラー31が、受信バッファー32に記憶されている印刷データを受信バッファー32から読み出し、処理バッファー33(第一の処理バッファー331)に転送することに相当する。受信バッファー32から読み出され、処理バッファー33(第一の処理バッファー331)に転送された印刷データは、受信バッファー32からは破棄され、受信する新たなデータのための格納場所に当てられる。印刷プログラムは受信バッファー32から処理バッファー33に印刷データを転送するごとに、転送された印刷データの累積のデータ量をサイズnとして計測する計測機能を有している。   FIG. 2 is a schematic diagram for explaining each buffer. As shown in FIG. 2, for example, in this embodiment, the processing buffer 33 includes a first processing buffer 331 that stores print data read from the reception buffer 32 before resolution conversion processing, and data after resolution conversion that is color conversion processing. The second processing buffer 332 that stores the previous data, the third processing buffer 333 that stores the data after the color conversion processing and before the halftone processing, and the data after the halftone processing are arranged. A fourth processing buffer 334 that stores data before the rearrangement process and a fifth processing buffer 335 that stores data after the rearrangement process are included. The data stored in the fifth processing buffer 335 is used for printing by the printing unit 35. In the present embodiment, “the processing unit obtains the processing data” specifically refers to the controller 31 that executes the print processing program reads the print data stored in the reception buffer 32 from the reception buffer 32, and the processing buffer. 33 (first processing buffer 331). The print data read from the reception buffer 32 and transferred to the processing buffer 33 (first processing buffer 331) is discarded from the reception buffer 32 and applied to a storage location for new data to be received. Each time print data is transferred from the reception buffer 32 to the processing buffer 33, the print program has a measurement function that measures the accumulated data amount of the transferred print data as a size n.

コントローラー31は、第一の処理バッファー331に記憶されている印刷データに対する解像度変換処理を終了すると処理後のデータを第二の処理バッファー332に書き込み、当該印刷データを第一の処理バッファー331から破棄する。そして、後続の印刷データを受信バッファー32から読み出し第一の処理バッファー331に転送する。第二の処理バッファー332〜第五の処理バッファー335についても同様にコントローラー31は、前段のバッファーからデータを読み出して処理し後段のバッファーに書込みが終了すると前段のバッファーからはデータを破棄し後続のデータを前段のバッファーに転送可能な状態とする。印刷部35は、インクジェット方式、レーザー方式など周知の印刷方式で写真用紙・普通紙・OHPシートなどの印刷媒体に印刷を実行するためのアクチュエーターやセンサーや駆動回路や機械部品を備えている。印刷部35によって印刷が完了した部分に相当する印刷データは処理バッファー33(第五の処理バッファー335)から破棄される。   When the resolution conversion processing for the print data stored in the first processing buffer 331 is completed, the controller 31 writes the processed data to the second processing buffer 332 and discards the print data from the first processing buffer 331. To do. The subsequent print data is read from the reception buffer 32 and transferred to the first processing buffer 331. Similarly, for the second processing buffer 332 to the fifth processing buffer 335, the controller 31 reads and processes data from the preceding buffer, and when writing to the succeeding buffer ends, discards the data from the preceding buffer and continues to the subsequent buffer. The data can be transferred to the previous buffer. The printing unit 35 includes an actuator, a sensor, a drive circuit, and mechanical parts for executing printing on a printing medium such as a photographic paper, plain paper, or an OHP sheet by a known printing method such as an inkjet method or a laser method. The print data corresponding to the portion that has been printed by the printing unit 35 is discarded from the processing buffer 33 (fifth processing buffer 335).

図3は、プリンター3において識別されるエラーの内容とエラーコードと各エラーが分類されるグループとの対応関係を例示する図である。コントローラー31のROMには、エラーコードとエラーが分類されるグループとが対応付けて記憶されている。「印刷媒体なし」は所定の印刷媒体がプリンター3にセットされていないため印刷が実行できないエラーである。「色材なし」はインクやトナーなどの印刷に使用する色材(記録剤)がないために印刷が実行できないエラーである。「印刷媒体のタイプ不一致」は、例えば印刷ジョブにおいて指定されている、写真紙や普通紙などのような印刷媒体の種類と、プリンター3にセットされている印刷媒体の種類とが一致していないエラーである。「カバーオープン」は、印刷ヘッドなどの印刷動作を行う機械部品が収容されている筐体を覆う可動式のカバーが開放された状態であるため印刷を実行できないエラーである。以上のエラーは、エラー解消後はエラーによる中断時の続きから印刷を再開することが望ましいエラーである。よって以上のエラーは、続きから印刷を再開するエラーのグループとしての「第一のグループ」に分類されている。   FIG. 3 is a diagram exemplifying a correspondence relationship between the error content identified in the printer 3, the error code, and a group into which each error is classified. The ROM of the controller 31 stores an error code and a group into which errors are classified in association with each other. “No print medium” is an error in which printing cannot be executed because a predetermined print medium is not set in the printer 3. “No color material” is an error in which printing cannot be performed because there is no color material (recording agent) used for printing such as ink or toner. The “print medium type mismatch” is, for example, that the type of print medium such as photographic paper or plain paper specified in the print job does not match the type of print medium set in the printer 3. It is an error. “Cover open” is an error in which printing cannot be performed because the movable cover that covers the casing in which the machine part that performs the printing operation such as the print head is accommodated is opened. The above error is an error that it is desirable to resume printing from the continuation of the interruption due to the error after the error is resolved. Therefore, the above errors are classified into a “first group” as a group of errors in which printing is resumed from the next.

「印刷媒体詰まり」は、印刷媒体の搬送路上で印刷媒体が詰まったために印刷を実行できないエラーである。「機械的異常」は、プリンター3においてなんらかの機械的な異常が発生したため印刷を実行できないエラーである。「停電」は電力が供給されないために印刷を実行できないエラーである。これらのエラーは、エラー解消後は印刷ジョブを最初から再度実行することが望ましいエラーである。よってこれらのエラーは、最初から印刷をし直すエラーのグループとしての「第二のグループ」に分類されている。   The “print medium jam” is an error in which printing cannot be executed because the print medium is jammed on the print medium conveyance path. The “mechanical abnormality” is an error in which printing cannot be executed because some mechanical abnormality has occurred in the printer 3. “Power failure” is an error in which printing cannot be executed because power is not supplied. These errors are errors that desirably execute the print job again from the beginning after the error is resolved. Therefore, these errors are classified into a “second group” as a group of errors for reprinting from the beginning.

1−2.印刷シーケンス
図1に示す印刷システムにおいては、通信端末1からプリンター3に対応付けられた電子メールアドレス宛の電子メールが添付ファイルとともに送信されたとき、プリンター3において添付ファイルの印刷が即座に実行されることが望まれる。また、プリンター3が印刷要求を即時に取得するためにサーバー2をHTTPに基づいたメッセージを使ってポーリングすることはサーバー2の負荷とネットワークトラフィックの観点から望ましくない。そこで、プリンター3はXMPPに基づいた印刷ジョブ有り通知をサーバー2から受信する。XMPPは、双方向にメッセージを送信できる所謂プッシュ型のプロトコルであるため、プリンター3によるサーバー2のポーリングは不要となる。プリンター3の電源がオン状態のとき、通信エラーやその他のエラーが特に発生していなければ、サーバー2とプリンター3とは、XMPP接続が常時確立された状態である。
1-2. Printing Sequence In the printing system shown in FIG. 1, when an e-mail addressed to an e-mail address associated with the printer 3 is transmitted from the communication terminal 1 together with the attached file, the attached file is immediately printed in the printer 3. It is hoped that In addition, it is not desirable from the viewpoint of the load on the server 2 and the network traffic that the printer 3 polls the server 2 using a message based on HTTP in order to immediately obtain a print request. Therefore, the printer 3 receives from the server 2 a print job presence notification based on XMPP. XMPP is a so-called push-type protocol that can send a message in both directions, so that polling of the server 2 by the printer 3 is not necessary. If no communication error or other error has occurred when the printer 3 is turned on, the server 2 and the printer 3 are in a state where the XMPP connection is always established.

図4は、本実施形態における印刷シーケンスのシーケンスチャートであって、さらに詳細には、一つの印刷ジョブに含まれる印刷データをプリンター3が全て取得して処理バッファー33に転送する前にプリンター3にエラーが発生する場合のシーケンスチャートである。なお、図4のシーケンスチャートでは、発明の要部を明確にするため、セッションの確立や切断のシーケンスの詳細や、各通信に応答するACKパケットやFINパケット等の記載を発明に関連する部分を除いて省略している。   FIG. 4 is a sequence chart of the print sequence in the present embodiment. More specifically, the print data included in one print job is acquired by the printer 3 and transferred to the processing buffer 33 before being transferred to the processing buffer 33. It is a sequence chart when an error occurs. In the sequence chart of FIG. 4, in order to clarify the main part of the invention, the details of the session establishment and disconnection sequence, the description of the ACK packet and FIN packet responding to each communication, etc. are related to the invention. It is omitted except.

はじめに、プリンター3に対応付けられた電子メールアドレス宛に通信端末1から送信された電子メールをサーバー2が受信する(S100)と、電子メールに基づいて添付ファイルなどの印刷対象をレンダリングして印刷データを生成し、XMPPを用いてサーバー2は印刷ジョブ有り通知をプリンター3に送信する(S105)。通信部34はサーバー2からXMPPで送信された印刷ジョブ有り通知を受信すると、サーバー2とHTTPセッションを確立し(S110)、HTTPのgetリクエストでコンテンツ情報の送信要求をサーバー2に送信する(S115)。プリンター3から送信されたコンテンツ情報の送信要求を受信したサーバー2は、印刷ジョブのコンテンツ情報をプリンター3に送信する(S120)。ここでコンテンツ情報には、印刷データのダウンロード先URIや、印刷データのドキュメントフォーマット等の印刷ジョブに含まれる印刷データに関する情報が含まれている。コンテンツ情報は通信部34を経て受信バッファー32に記憶される。コントローラー31は受信バッファー32に記憶されているデータを解析しコンテンツ情報を取得する。コンテンツ情報取得後コントローラー31はコンテンツ情報を受信バッファー32から破棄する。   First, when the server 2 receives an e-mail transmitted from the communication terminal 1 to an e-mail address associated with the printer 3 (S100), a print target such as an attached file is rendered and printed based on the e-mail. Data is generated, and the server 2 transmits a print job notification to the printer 3 using XMPP (S105). Upon receiving the print job presence notification transmitted from the server 2 by XMPP, the communication unit 34 establishes an HTTP session with the server 2 (S110), and transmits a content information transmission request to the server 2 with an HTTP get request (S115). ). The server 2 that has received the content information transmission request transmitted from the printer 3 transmits the content information of the print job to the printer 3 (S120). Here, the content information includes information relating to print data included in the print job, such as a print data download destination URI and a print data document format. The content information is stored in the reception buffer 32 via the communication unit 34. The controller 31 analyzes the data stored in the reception buffer 32 and acquires content information. After acquiring the content information, the controller 31 discards the content information from the reception buffer 32.

続いてコントローラー31は、HTTPのgetリクエストで印刷データの送信要求をサーバー2に送信する(S125)。印刷データのダウンロード先URIはS120でプリンター3が取得したコンテンツ情報に含まれている。なおS125においては、S105で通知された印刷ジョブに含まれる印刷データ全体を対象とした送信要求を行う。サーバー2はプリンター3からの印刷データ送信要求を受けて、HTTPを用いて印刷データを先頭から所定サイズずつプリンター3に送信する(S130)。S130で送信される印刷データは、S125のgetリクエストに対応する応答メッセージの中に含まれた形でプリンター3に送信される。応答メッセージに含まれるHTTPヘッダーには、プリンター3に送信する印刷データ全体のサイズ(サイズM)を示す情報が含まれている(Content-Lengthヘッダー)。   Subsequently, the controller 31 transmits a print data transmission request to the server 2 using an HTTP get request (S125). The print data download destination URI is included in the content information acquired by the printer 3 in S120. In S125, a transmission request is made for the entire print data included in the print job notified in S105. The server 2 receives the print data transmission request from the printer 3, and transmits the print data to the printer 3 by a predetermined size from the top using HTTP (S130). The print data transmitted in S130 is transmitted to the printer 3 in a form included in the response message corresponding to the get request in S125. The HTTP header included in the response message includes information indicating the size (size M) of the entire print data transmitted to the printer 3 (Content-Length header).

サーバー2から送信された印刷データは通信部34や通信プログラムを実行するコントローラー31により、受信バッファー32に格納される。前述の印刷データ全体のサイズMも受信バッファー32に格納される。コントローラー31は、受信バッファー32内のデータを解析してサイズMを取得して記憶する。このサイズMの記憶は、コントローラー31により印刷データの印刷完了に応じて消去される。続いてコントローラー31は、受信バッファー32に格納されている印刷データを処理バッファー33(第一の処理バッファー331)に空きがあれば処理バッファー33(第一の処理バッファー331)に転送するとともに、転送した累積の印刷データのデータ量(サイズn)を計測する。また処理バッファー33に転送済みの印刷データは受信バッファー32から破棄される。データ量(サイズn)は1印刷ジョブごとに計測される(一つの印刷ジョブの印刷が終了するとサイズnの値はリセットされる)。コントローラー31は、処理バッファー33に転送した印刷データを対象に印刷前処理を施す。そして、印刷前処理を施されたデータに基づいてコントローラー31は印刷部35を制御して印刷を実行する。印刷が完了した部分に相当する処理バッファー33内のデータは破棄される。   The print data transmitted from the server 2 is stored in the reception buffer 32 by the communication unit 34 and the controller 31 that executes the communication program. The size M of the entire print data is also stored in the reception buffer 32. The controller 31 analyzes the data in the reception buffer 32, acquires the size M, and stores it. The storage of the size M is erased by the controller 31 when the print data is printed. Subsequently, the controller 31 transfers the print data stored in the reception buffer 32 to the processing buffer 33 (first processing buffer 331) if there is a vacancy in the processing buffer 33 (first processing buffer 331). The amount of accumulated print data (size n) is measured. The print data that has been transferred to the processing buffer 33 is discarded from the reception buffer 32. The data amount (size n) is measured for each print job (the value of size n is reset when printing of one print job is completed). The controller 31 performs pre-printing processing on the print data transferred to the processing buffer 33. Then, the controller 31 controls the printing unit 35 based on the data subjected to the pre-printing process to execute printing. Data in the processing buffer 33 corresponding to the portion where printing has been completed is discarded.

コントローラー31が、印刷データの受信、印刷データの受信バッファー32から処理バッファー33への転送、転送されたデータ量の計測、印刷前処理、印刷実行の工程を繰り返している途中で、プリンター3においてエラーが発生した場合のシーケンスについて以降で説明する。プリンター3においてエラーが発生すると、プリンター3では印刷を続行できないため、コントローラー31は印刷動作を中断する。また、コントローラー31は処理バッファー33内のデータを印刷再開に備えて破棄せずに一旦残す。処理バッファー33内に空きが生じないため、コントローラー31は受信バッファー32内の印刷データを処理バッファー33に転送しない。そのため受信バッファー32は、サーバー2から続々と受信した印刷データであってまだ印刷前処理の処理対象でない印刷データを含むデータで満たされ、後続の印刷データを受信できない状態となる。   While the controller 31 is receiving print data, transferring print data from the reception buffer 32 to the processing buffer 33, measuring the amount of transferred data, pre-printing processing, and printing execution, an error occurs in the printer 3. The sequence in the case of occurrence of this will be described below. If an error occurs in the printer 3, the printer 31 cannot continue printing, and the controller 31 interrupts the printing operation. The controller 31 temporarily leaves the data in the processing buffer 33 without discarding it in preparation for resuming printing. Since no space is generated in the processing buffer 33, the controller 31 does not transfer the print data in the reception buffer 32 to the processing buffer 33. Therefore, the reception buffer 32 is filled with data including print data that has been received one after another from the server 2 and that has not yet been subjected to pre-print processing, and the subsequent print data cannot be received.

この状態をサーバー2に通知するため、コントローラー31は、S130のサーバー2からの印刷データの送信に対応するACKパケットにおいてウィンドウサイズを「0」と設定してサーバー2に送信する(S135)。この状態をゼロウィンドウ状態と呼ぶ。サーバー2は、所定の期間(例えば5分間)、ゼロウィンドウ状態が継続していると判断すると、HTTPセッションを切断するためのデータを送信する(S140)。具体的には例えば、サーバー2はRST(Reset)パケットをプリンター3に送信する。この結果、プリンター3とサーバー2との間のセッションは切断される。セッションが切断されると、コントローラー31は受信バッファー32に格納されていた印刷データを破棄する。   In order to notify the server 2 of this state, the controller 31 sets the window size to “0” in the ACK packet corresponding to the transmission of the print data from the server 2 in S130 and transmits it to the server 2 (S135). This state is called a zero window state. When the server 2 determines that the zero window state continues for a predetermined period (for example, 5 minutes), the server 2 transmits data for disconnecting the HTTP session (S140). Specifically, for example, the server 2 transmits an RST (Reset) packet to the printer 3. As a result, the session between the printer 3 and the server 2 is disconnected. When the session is disconnected, the controller 31 discards the print data stored in the reception buffer 32.

エラーが解消され印刷の再開が可能となる時期は未定であり、当該時期までHTTPセッションを維持し続けることは、サーバー2に負荷を与える。具体的には、セッションごとに確保しておくメモリ領域を長期間解放できない状態となり、その結果、他の通信端末から送信された電子メールを受信してから印刷を実行するまでの時間が遅延する。この遅延を防止するために、サーバー2とプリンター3との間のセッションが一旦切断されるのである。   The time when the error is resolved and the printing can be resumed is undecided, and maintaining the HTTP session until this time places a load on the server 2. Specifically, the memory area reserved for each session cannot be released for a long time, and as a result, the time from receipt of an e-mail sent from another communication terminal to execution of printing is delayed. . In order to prevent this delay, the session between the server 2 and the printer 3 is once disconnected.

プリンター3におけるエラーが解消されたことを検出するとコントローラー31は、再びサーバー2とのHTTPセッションを確立し(S145)、サーバー2に印刷データ送信要求を送信する(S150)。S150では、発生していたエラーの内容を判別し、エラーの内容に応じて送信要求の態様を切り替える。具体的には、エラーが第一のグループに分類される場合、エラーによる中断の続きの範囲を指定して送信要求を行い、エラーが第二のグループに分類される場合は、印刷データ全体について再度送信要求を行う。   When it is detected that the error in the printer 3 has been eliminated, the controller 31 establishes an HTTP session with the server 2 again (S145), and transmits a print data transmission request to the server 2 (S150). In S150, the content of the error that has occurred is determined, and the transmission request mode is switched according to the content of the error. Specifically, when an error is classified into the first group, a transmission request is made by specifying the range of continuation due to the error, and when the error is classified into the second group, the entire print data is Request transmission again.

まず、第一のグループのエラーの場合(範囲指定する場合)について説明する。コントローラー31は、エラーが解消されたことを検出すると、処理バッファー33に蓄えられている印刷データを用いて印刷前処理や印刷を再開する。また、コントローラー31は、エラーが発生した時点の印刷データのダウンロード先URIと、処理バッファー33に転送済みのデータ量(サイズn)の値に基づいて既に印刷前処理の処理対象となった印刷データを除く残りの印刷データの部分を示す範囲と、を指定して、送信要求を行う。サーバー2から受信して受信バッファー32に記憶されていた印刷データはセッションの切断にともなって破棄されているので、受信バッファー32に記憶されていた部分の印刷データも再取得の対象とする。具体的にはコントローラー31は、印刷データ全体のサイズMとサイズnとを比較しサイズM>サイズn>0であれば、印刷データの先頭からサイズn分のデータに後続する位置から、印刷データの末尾(サイズMの位置)までの(サイズM−サイズn)分の印刷データを範囲指定する。範囲指定には、HTTPのrangeヘッダーを用いる。   First, the case of an error in the first group (when a range is specified) will be described. When the controller 31 detects that the error has been resolved, the controller 31 resumes pre-printing processing and printing using the print data stored in the processing buffer 33. In addition, the controller 31 print data that has already been subjected to the pre-print processing based on the download destination URI of the print data at the time of the error and the value of the data amount (size n) transferred to the processing buffer 33. A transmission request is made by designating a range indicating the remaining print data portion excluding. Since the print data received from the server 2 and stored in the reception buffer 32 is discarded when the session is disconnected, the portion of the print data stored in the reception buffer 32 is also subject to reacquisition. Specifically, the controller 31 compares the size M and the size n of the entire print data, and if size M> size n> 0, the print data starts from the position following the data for size n from the top of the print data. A range of print data for (size M−size n) up to the end (position of size M) is specified. An HTTP range header is used for range specification.

図5は、一つの印刷ジョブに含まれる印刷データを示す模式図であり、プリンター3におけるエラーが発生した時点の印刷データの状態の一例を説明するための模式図である。この例では、印刷データをその先頭から4つの部分に分け、先頭に近い順からd1、d2、d3、d4と呼ぶ。印刷データはその先頭から順にサーバー2から送信され、順に受信バッファー32に記憶され、処理バッファー33に転送されて印刷前処理を施され、印刷され、破棄される。エラーが発生したとき、印刷データのうち先頭から所定サイズ分の印刷データd1は既に印刷済みで処理バッファー33から破棄されているデータであり、印刷データd1に後続する印刷データd2は処理バッファー33に転送され印刷前処理中のデータおよび印刷中のデータであり、印刷データd2に後続する印刷データd3は受信バッファー32に格納されている状態でまだ処理バッファー33には転送されていない状態のデータであるとする。印刷データd3に後続する印刷データd4についてはプリンター3にまだ受信されていないデータであるとする。この状態の時点でエラーが発生した場合、コントローラー31は印刷データd3と印刷データd4の部分をS150における印刷データの送信要求において指定する範囲とする。   FIG. 5 is a schematic diagram illustrating print data included in one print job, and is a schematic diagram for explaining an example of a state of print data when an error occurs in the printer 3. In this example, the print data is divided into four parts from the head, and are called d1, d2, d3, and d4 in order from the head. The print data is transmitted from the server 2 in order from the top, stored in the reception buffer 32 in order, transferred to the processing buffer 33, subjected to pre-printing processing, printed, and discarded. When an error occurs, the print data d1 of a predetermined size from the top of the print data is already printed and discarded from the processing buffer 33, and the print data d2 subsequent to the print data d1 is stored in the processing buffer 33. Data that has been transferred and is undergoing pre-printing processing and data that is being printed. The print data d3 subsequent to the print data d2 is stored in the reception buffer 32 but not yet transferred to the processing buffer 33. Suppose there is. It is assumed that the print data d4 subsequent to the print data d3 is data that has not been received by the printer 3 yet. If an error occurs at the time of this state, the controller 31 sets the print data d3 and print data d4 in the range specified in the print data transmission request in S150.

サーバー2は上述のように範囲指定された印刷データの送信要求を受信すると、要求された部分の印刷データ(d3とd4)を抽出してプリンター3に送信する(S160)。なお、印刷データd4はサーバー2が未送信の部分の印刷データに相当する。したがって、印刷データd3と印刷データd4とをサーバー2が送信することは、「処理データの全体のうち未送信の部分を含む一部分を送信する」ことに相当する。プリンター3のコントローラー31は印刷データを受信し受信バッファー32に格納すると、上述と同様に、処理バッファー33に転送し印刷前処理を施して印刷を実行する。よって、エラーが解消した後、印刷データd2はそのまま印刷前処理や印刷が再開され、印刷が終了した後に処理バッファー33から破棄される。また、印刷データd3および印刷データd4は、サーバー2からプリンター3に送信され、印刷前処理と印刷とが行われる。   When the server 2 receives the transmission request for the print data whose range is specified as described above, the server 2 extracts the print data (d3 and d4) of the requested portion and transmits it to the printer 3 (S160). The print data d4 corresponds to the print data that has not been transmitted by the server 2. Therefore, the transmission of the print data d3 and the print data d4 by the server 2 corresponds to “transmit a part including the untransmitted portion of the entire processing data”. When the print data is received and stored in the reception buffer 32, the controller 31 of the printer 3 transfers to the processing buffer 33 and performs pre-printing processing to execute printing, as described above. Therefore, after the error is resolved, the print data d2 is directly resumed in the pre-printing process or printing, and is discarded from the processing buffer 33 after the printing is completed. Further, the print data d3 and the print data d4 are transmitted from the server 2 to the printer 3, and pre-printing processing and printing are performed.

次に、第二のグループのエラーの場合(全体を再取得する場合)について説明する。発生したエラーが第二のグループに分類される場合は、コントローラー31は、処理バッファー33に記憶されている印刷前処理前や処理中や処理後のデータを破棄し、S125と同様に印刷ジョブに含まれる印刷データ全体についての送信要求を行う(S150)。すなわち、図5を用いて説明すると、コントローラー31は、印刷データd1,d2,d3,d4に対する送信要求を行う。サーバー2は、プリンター3からの送信要求に応じて印刷ジョブに含まれる印刷データ全体(d1,d2,d3,d4)を順次プリンター3に送信する(S155)。そしてプリンター3のコントローラー31は、サーバー2から送信された印刷データをS130と同様に順次受信バッファー32に格納し、もう一度、印刷ジョブが示す印刷データの先頭部分の印刷データd1の先頭から処理バッファー33に転送し、印刷前処理と印刷を実行する。したがってエラーが解消した後、再度はじめから印刷が実行されることになる。一つの印刷ジョブに対応する印刷が完了するとプリンター3は印刷ジョブステータスとして印刷終了をサーバー2に通知し(S160)、他にプリンター3に対する印刷ジョブが存在しなければサーバー2はプリンター3とのHTTPセッションを切断する(S165)。なお、印刷を再開した後に再びエラーが生じた場合には、S135と同様にサーバー2からの印刷データの送信に対応するACKパケットにおいてウィンドウサイズを「0」と設定してサーバー2に送信し、S140以降の動作が繰り返される。   Next, the case of the second group error (when the whole is reacquired) will be described. When the error that has occurred is classified into the second group, the controller 31 discards the pre-printing process data, the pre-printing process process data, and the post-process data stored in the processing buffer 33, and prints the same as in S125. A transmission request is made for the entire included print data (S150). That is, with reference to FIG. 5, the controller 31 makes a transmission request for the print data d1, d2, d3, d4. In response to the transmission request from the printer 3, the server 2 sequentially transmits the entire print data (d1, d2, d3, d4) included in the print job to the printer 3 (S155). Then, the controller 31 of the printer 3 sequentially stores the print data transmitted from the server 2 in the reception buffer 32 in the same manner as in S130, and again starts the processing buffer 33 from the top of the print data d1 at the top of the print data indicated by the print job. And execute pre-printing processing and printing. Therefore, after the error is resolved, printing is executed again from the beginning. When printing corresponding to one print job is completed, the printer 3 notifies the server 2 of the print end as a print job status (S160). If there is no other print job for the printer 3, the server 2 communicates with the printer 3 using HTTP. The session is disconnected (S165). If an error occurs again after resuming printing, the window size is set to “0” in the ACK packet corresponding to the transmission of print data from the server 2 and transmitted to the server 2 as in S135. The operations after S140 are repeated.

以上説明したように、本実施形態によると、発生したエラーの内容に応じてセッション再接続後の印刷データの送信要求の態様を切り替えることができる。エラーによる中断時の続きから印刷を再開することが望ましいエラーが発生した場合は、処理バッファー33に既に転送済みで印刷前処理の処理対象となっている(処理中あるいは処理済みの)印刷データの送信要求は行わず、処理バッファー33にまだ転送されておらず印刷前処理の処理対象にまだなっていない印刷データの送信要求をサーバーに対して行う。そのため、既に印刷済みの部分や印刷前処理中の部分の印刷データに対して再度印刷前処理を行って印刷を実行することを防止できる。その結果、印刷中断時の続きから印刷を再開することができるため、インクや印刷媒体などの消耗品が無用に消費されることを防止できる。また、続きから印刷再開するため、再度最初から印刷する場合と比較して、印刷に要する時間も短縮することができる。一方、最初から印刷しなおすことが望ましいエラーが発生した場合は、セッション再接続後に、再度印刷データ全体に対する送信要求をサーバーに対して行い、サーバーから印刷データ全体を受信しなおす。そして印刷データの先頭から順に印刷前処理を再度行い、印刷ジョブに含まれる印刷データ全体の印刷をやり直すことができる。   As described above, according to the present embodiment, the mode of the print data transmission request after session reconnection can be switched according to the content of the error that has occurred. If an error occurs, it is desirable to resume printing from the continuation of the interruption due to an error, the print data that has already been transferred to the processing buffer 33 and is the processing target of the pre-printing process (during or has been processed) No transmission request is made, and a transmission request is sent to the server for print data that has not yet been transferred to the processing buffer 33 and has not yet been processed for pre-print processing. Therefore, it is possible to prevent printing from being executed again by performing pre-print processing on the print data of the already printed portion or the portion of the print pre-processing portion. As a result, printing can be resumed from the continuation when printing is interrupted, so that consumables such as ink and print media can be prevented from being consumed unnecessarily. In addition, since printing is resumed from the continuation, the time required for printing can be shortened as compared with the case of printing again from the beginning. On the other hand, if an error occurs that it is desirable to reprint from the beginning, after the session is reconnected, a transmission request for the entire print data is made to the server again, and the entire print data is received from the server again. Then, the pre-printing process is performed again in order from the top of the print data, and the entire print data included in the print job can be printed again.

2.他の実施形態
尚、本発明の技術的範囲は、上述した実施例に限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。例えば、上記実施形態ではデータ処理装置がプリンターに適用される例を説明したが、サーバーに対して処理データを要求し、サーバーから取得した処理データを用いてなんらかの処理を行う様々な装置に適用可能である。例えば、サーバーからゲームデータを受信してゲームを提供するゲーム機に適用し、アクションゲームやシューティングゲームのステージ中のエラーであれば第二のグループに分類し、その他のエラーであれば、第一のグループに分類するようにしても良い。
2. Other Embodiments The technical scope of the present invention is not limited to the above-described embodiments, and it goes without saying that various modifications can be made without departing from the scope of the present invention. For example, in the above embodiment, the example in which the data processing apparatus is applied to the printer has been described. However, the present invention can be applied to various apparatuses that request the processing data from the server and perform some processing using the processing data acquired from the server. It is. For example, it is applied to a game machine that receives game data from a server and provides a game. If an error occurs during an action game or shooting game stage, the error is classified into the second group. You may make it classify | categorize into this group.

また、上記実施形態で例示したエラーとその分類は一例であって、他にも様々なエラーを第一のグループ又は第二のグループに分類することや、上記実施形態で例示したエラーを分類に含めないことや、上記実施形態で例示したエラーの分類を変更することが考えられる。例えば、インクの廃液を貯留する容器において廃液が許容量を超えたため印刷を続行できないエラーである「廃液オーバーフロー」は、第二のグループに分類されるエラーとして想定可能である。また、例えばプリンター3のカバーが印刷中にロックされる場合、印刷中には「カバーオープン」のエラーは検出されない(発生しない)ので、印刷中は「カバーオープン」を第一のグループと第二のグループとのいずれにも分類しなくても良い。さらに、例えば「停電」を第一のグループに分類して、通電後はエラーによる中断時の続きから印刷を再開しても良い。   In addition, the errors exemplified in the above embodiment and their classification are examples, and other various errors are classified into the first group or the second group, and the errors exemplified in the above embodiment are classified. It is conceivable not to include or change the error classification exemplified in the above embodiment. For example, “waste liquid overflow”, which is an error in which printing cannot be continued because the waste liquid exceeds an allowable amount in a container for storing ink waste liquid, can be assumed as an error classified into the second group. For example, when the cover of the printer 3 is locked during printing, an error “open cover” is not detected (does not occur) during printing. Therefore, “open cover” is set to the first group and the second group during printing. It does not have to be classified into any of the groups. Further, for example, “power failure” may be classified into the first group, and after energization, printing may be resumed from the continuation of the interruption due to an error.

また、上記実施形態で説明したバッファーの構成(図2)はあくまでも一例であってこれに限定されるものではない。また、上記実施形態で示した印刷前処理の一部または全てをサーバー2が行っても良い。また、サーバー2は未レンダリングの印刷対象をプリンター3に通知し、プリンター3が印刷対象をレンダリングして印刷データを生成し、当該印刷データに対して印刷前処理を行ってもよい。したがってサーバー2から送信される印刷データの形式も上記実施形態で示した例に限定されない。
また、上記実施形態は、エラーとエラーからの復帰について説明していたがこれに限られず、エラー以外で中断した後に復帰した場合に適用し、中断理由を第一のグループ又は第二のグループに分類しても良い。
Further, the configuration of the buffer described in the above embodiment (FIG. 2) is merely an example, and the present invention is not limited to this. Further, the server 2 may perform part or all of the pre-printing process shown in the above embodiment. Alternatively, the server 2 may notify the printer 3 of an unrendered print target, the printer 3 may render the print target to generate print data, and perform pre-printing processing on the print data. Therefore, the format of the print data transmitted from the server 2 is not limited to the example shown in the above embodiment.
Moreover, although the said embodiment demonstrated the return from an error and an error, it is not restricted to this, It applies when returning after interrupting by other than an error, The reason for interruption is made into the 1st group or the 2nd group. It may be classified.

なお、第一実施形態においては、コンテンツ情報の送信要求〜受信、および、印刷データの送信要求〜受信は、一続きのHTTPセッションで行われているが、コンテンツ情報の送信要求〜受信(図4のS115〜S120)の後にHTTPセッションを切断し、印刷データの送信要求(S125)の前に新たにHTTPセッションを確立するようにして印刷データの送信要求〜受信を行ってもよい。また、第一実施形態において、エラー解消後にHTTPセッションを再び確立(S145)した後、印刷データ全体に対する送信要求を行う(S150)場合に、HTTPセッションを再確立した後、印刷データ全体に対する送信要求を行う前に、S115〜S120と同様に、再びコンテンツ情報の送信要求〜受信を行っても良い。そしてその後、HTTPセッションを一度切断して、再度HTTPセッションを確立してS125にて印刷データ全体の送信要求を行うようにしてもよい。   In the first embodiment, the content information transmission request to reception and the print data transmission request to reception are performed in a series of HTTP sessions. However, the content information transmission request to reception (FIG. 4). (S115 to S120), the HTTP session may be disconnected, and the print data transmission request to reception may be performed so that the HTTP session is newly established before the print data transmission request (S125). Also, in the first embodiment, after re-establishing the HTTP session after error elimination (S145) and then making a transmission request for the entire print data (S150), after re-establishing the HTTP session, the transmission request for the entire print data Before performing S1, the content information transmission request to reception may be performed again in the same manner as S115 to S120. After that, the HTTP session may be disconnected once, the HTTP session may be established again, and a transmission request for the entire print data may be made in S125.

1:通信端末、2:サーバー、3:プリンター、4:インターネット、21:アプリケーションサーバー、22:SMTPサーバー、23:HTTPサーバー、24:XMPPサーバー、31:コントローラー、32:受信バッファー、33:処理バッファー、34:通信部、35:印刷部   1: Communication terminal 2: Server 3: Printer 4: Internet 21: Application server 22: SMTP server 23: HTTP server 24: XMPP server 31: Controller 32: Reception buffer 33: Processing buffer , 34: communication unit, 35: printing unit

Claims (6)

サーバーに処理データの送信要求を行う要求部と、
前記送信要求に応じて前記サーバーから送信された前記処理データを受信する受信部と、
受信した前記処理データを順次取得し、当該処理データを用いて処理を行う処理部と、
を備え、
前記処理部が前記処理データの取得を完了する前に前記処理データの取得を中断した後前記処理データを再取得する場合に、前記要求部は、前記処理データの取得を中断した理由が第一のグループに分類される場合には前記処理データの全体のうちの前記処理部が未取得である部分についての送信要求を行い、前記処理データの取得を中断した理由が第二のグループに分類される場合には前記処理データ全体についての送信要求を行う、
データ処理装置。
A request unit for requesting transmission of processing data to the server;
A receiving unit for receiving the processing data transmitted from the server in response to the transmission request;
A processing unit that sequentially acquires the received processing data and performs processing using the processing data;
With
When the processing unit suspends the acquisition of the processing data before completing the acquisition of the processing data and then re-acquires the processing data, the request unit has the first reason for interrupting the acquisition of the processing data. Of the entire processing data, a request for transmission is made for a portion that has not been acquired by the processing unit, and the reason for interrupting acquisition of the processing data is classified into a second group. A transmission request for the entire processing data,
Data processing device.
前記要求部は、前記処理部が未取得である部分の前記処理データについての送信要求を、HTTPのrangeヘッダーを用いて範囲指定することで行う、
請求項2に記載のデータ処理装置。
The request unit performs a transmission request for the processing data of a portion that is not acquired by the processing unit, by specifying a range using an HTTP range header.
The data processing apparatus according to claim 2.
前記処理データは、印刷データであり、
前記処理部は、取得した前記印刷データに基づいて印刷を行う処理部であり、
前記第一のグループに分類される前記理由には、印刷媒体なし、色材なし、印刷媒体タイプの不一致、装置カバーオープンのうちの少なくともいずれかのエラーの発生が該当し、
前記第二のグループに分類される前記理由には、印刷媒体詰まり、前記処理部の機械的異常、停電のうちの少なくともいずれかのエラーの発生が該当する、
請求項1または請求項2に記載のデータ処理装置。
The processing data is print data,
The processing unit is a processing unit that performs printing based on the acquired print data,
The reason to be classified into the first group corresponds to the occurrence of an error of at least one of no print medium, no color material, print medium type mismatch, and device cover open,
The reason for being classified into the second group corresponds to occurrence of an error of at least one of a print medium jam, a mechanical abnormality of the processing unit, and a power failure.
The data processing apparatus according to claim 1 or 2.
データ処理装置に処理させる処理データを記憶する記憶部と、
前記データ処理装置に前記処理データを送信する送信部と、
を備え、
前記送信部が前記処理データの全体の送信を完了する前に前記処理データの送信を中断した後前記処理データを再送信する場合に、前記送信部は、前記処理データの送信を中断した理由が第一のグループに分類される場合には前記処理データの全体のうちの前記送信部が未送信である部分を含む一部分についての送信を行い、前記処理データの送信を中断した理由が第二のグループに分類される場合には前記処理データの全体についての送信を行う、
サーバー。
A storage unit for storing processing data to be processed by the data processing device;
A transmission unit for transmitting the processing data to the data processing device;
With
When the transmission unit retransmits the processing data after suspending the transmission of the processing data before completing the transmission of the entire processing data, the reason for the transmission unit interrupting the transmission of the processing data is In the case of being classified into the first group, the transmission unit transmits a part including a part that has not been transmitted, and the reason for interrupting the transmission of the processing data is the second reason. When it is classified into a group, the entire processing data is transmitted.
server.
サーバーに処理データの送信要求を行う要求工程と、
前記送信要求に応じて前記サーバーから送信された前記処理データを受信する受信工程と、
受信した前記処理データを順次取得し、当該処理データを用いて処理を行う処理工程と、
を含み、
前記処理工程において前記処理データの取得を完了する前に前記処理データの取得を中断した後前記処理データを再取得する場合に、前記要求工程においては、前記処理データの取得を中断した理由が第一のグループに分類される場合には前記処理データの全体のうちの前記処理部が未取得である部分についての送信要求を行い、前記処理データの取得を中断した理由が第二のグループに分類される場合には前記処理データ全体についての送信要求を行う、
データ処理装置のデータ処理方法。
A request process for requesting transmission of processing data to the server;
A receiving step of receiving the processing data transmitted from the server in response to the transmission request;
A processing step of sequentially obtaining the received processing data and performing processing using the processing data;
Including
The reason why the acquisition of the processing data is interrupted in the requesting step when the processing data is acquired again after the acquisition of the processing data is interrupted before the acquisition of the processing data is completed in the processing step. If it is classified into one group, a transmission request is made for a portion of the whole processing data that has not been acquired by the processing unit, and the reason for interrupting the acquisition of the processing data is classified into a second group If so, a transmission request is made for the entire processing data.
Data processing method of data processing apparatus.
データ処理装置に処理させる処理データを記憶する記憶工程と、
前記データ処理装置に前記処理データを送信する送信工程と、
を含み、
前記送信工程において前記処理データの全体の送信を完了する前に前記処理データの送信を中断した後前記処理データを再送信する場合に、前記送信工程においては、前記処理データの送信を中断した理由が第一のグループに分類される場合には前記処理データの全体のうちの前記送信部が未送信である部分を含む一部分についての送信を行い、前記処理データの送信を中断した理由が第二のグループに分類される場合には前記処理データ全体についての送信を行う、
サーバーのデータ処理方法。
A storage step for storing processing data to be processed by the data processing device;
A transmission step of transmitting the processing data to the data processing device;
Including
The reason why the transmission of the processing data is interrupted in the transmission step when the processing data is retransmitted after the transmission of the processing data is interrupted before the transmission of the entire processing data is completed in the transmission step Is classified into the first group, the transmission unit transmits a part of the entire processing data including a part that has not been transmitted, and the reason for interrupting the transmission of the processing data is the second reason. When the data is classified into the group, the entire processing data is transmitted.
How the server processes data.
JP2011200268A 2011-08-31 2011-09-14 Data processing device, server, and data processing method Withdrawn JP2013059931A (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2011200268A JP2013059931A (en) 2011-09-14 2011-09-14 Data processing device, server, and data processing method
CN201210299152.7A CN102970320B (en) 2011-08-31 2012-08-21 Processing means, processing method
US13/597,842 US8705074B2 (en) 2011-08-31 2012-08-29 Processing device and processing method
EP12182138.3A EP2565777B1 (en) 2011-08-31 2012-08-29 Processing device and processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011200268A JP2013059931A (en) 2011-09-14 2011-09-14 Data processing device, server, and data processing method

Publications (1)

Publication Number Publication Date
JP2013059931A true JP2013059931A (en) 2013-04-04

Family

ID=48185070

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011200268A Withdrawn JP2013059931A (en) 2011-08-31 2011-09-14 Data processing device, server, and data processing method

Country Status (1)

Country Link
JP (1) JP2013059931A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015009483A (en) * 2013-06-28 2015-01-19 キヤノン株式会社 Print control apparatus, print control method, and program
JP2016043480A (en) * 2014-08-19 2016-04-04 株式会社沖データ Image forming device and image forming system

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09231034A (en) * 1996-02-28 1997-09-05 Canon Inc Printer driver and its data transfer method
JPH10214163A (en) * 1997-01-30 1998-08-11 Seiko Epson Corp Network-accessible printing device, and method therefor
JP2000020272A (en) * 1998-06-29 2000-01-21 Nec Software Chugoku Ltd Method and device for print control
JP2003288195A (en) * 2002-03-27 2003-10-10 Brother Ind Ltd Printer, network server, and communication method
JP2005204170A (en) * 2004-01-16 2005-07-28 Ntt Docomo Inc Data receiving apparatus and method
JP2006343917A (en) * 2005-06-08 2006-12-21 Seiko Epson Corp Printer, host device, print system, program and control method for terminal device
JPWO2007074520A1 (en) * 2005-12-27 2009-06-04 三菱電機株式会社 Distribution device and playback device

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09231034A (en) * 1996-02-28 1997-09-05 Canon Inc Printer driver and its data transfer method
JPH10214163A (en) * 1997-01-30 1998-08-11 Seiko Epson Corp Network-accessible printing device, and method therefor
JP2000020272A (en) * 1998-06-29 2000-01-21 Nec Software Chugoku Ltd Method and device for print control
JP2003288195A (en) * 2002-03-27 2003-10-10 Brother Ind Ltd Printer, network server, and communication method
JP2005204170A (en) * 2004-01-16 2005-07-28 Ntt Docomo Inc Data receiving apparatus and method
JP2006343917A (en) * 2005-06-08 2006-12-21 Seiko Epson Corp Printer, host device, print system, program and control method for terminal device
JPWO2007074520A1 (en) * 2005-12-27 2009-06-04 三菱電機株式会社 Distribution device and playback device

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015009483A (en) * 2013-06-28 2015-01-19 キヤノン株式会社 Print control apparatus, print control method, and program
JP2016043480A (en) * 2014-08-19 2016-04-04 株式会社沖データ Image forming device and image forming system

Similar Documents

Publication Publication Date Title
EP2565777B1 (en) Processing device and processing method
US8248645B2 (en) Printing system, printing device, host apparatus, and computer program product
JP5810761B2 (en) Process control server and process control method
US20090066989A1 (en) Image forming apparatus and method, computer program product, and image forming system
JP2016175330A (en) Image forming apparatus, image processing system and method
JP5899713B2 (en) Printing apparatus and printing method
US8941866B2 (en) Print control apparatus, print control method, and storage medium storing program
US8913265B2 (en) Image forming apparatus, method for controlling the image forming apparatus, and program
JP2013061836A (en) Server, data processor, data processing method
JP6289057B2 (en) COMMUNICATION DEVICE AND ITS CONTROL METHOD, PRINTING DEVICE, ITS CONTROL METHOD, AND PROGRAM
JP2013059931A (en) Data processing device, server, and data processing method
JP5899712B2 (en) Printing apparatus and printing method
JP5288040B1 (en) Print management apparatus, image forming system, and program
JP6460905B2 (en) Communication device, control method, program
US9021286B2 (en) Information processing device employing main controller to respond with all received predetermined data packets when the main controller is already in high power mode
JP3958016B2 (en) Network printer device
US9798963B2 (en) Image forming system that reduces load for processing regarding correction of print position displacement, and method for correcting print position displacement
JP6079845B2 (en) System and processing terminal
JP2007065797A (en) Image forming device
JP2009053841A (en) Image forming system and image forming apparatus
JP5741661B2 (en) Printing system, printing device, host device, and program
US20180191923A1 (en) Management device, communication system, and recording medium
JP2006209534A (en) Printing controller and printing system
JP4125147B2 (en) Data processing apparatus and data processing method
JP2010247499A (en) Printer

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140711

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20150107

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150512

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150519

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20150715