JP6015438B2 - 印刷装置 - Google Patents

印刷装置 Download PDF

Info

Publication number
JP6015438B2
JP6015438B2 JP2012287136A JP2012287136A JP6015438B2 JP 6015438 B2 JP6015438 B2 JP 6015438B2 JP 2012287136 A JP2012287136 A JP 2012287136A JP 2012287136 A JP2012287136 A JP 2012287136A JP 6015438 B2 JP6015438 B2 JP 6015438B2
Authority
JP
Japan
Prior art keywords
print data
data
printing
request
print
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.)
Active
Application number
JP2012287136A
Other languages
English (en)
Other versions
JP2014128899A (ja
Inventor
寛之 林
寛之 林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Brother Industries Ltd
Original Assignee
Brother Industries Ltd
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 Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2012287136A priority Critical patent/JP6015438B2/ja
Priority to US14/038,103 priority patent/US9542131B2/en
Publication of JP2014128899A publication Critical patent/JP2014128899A/ja
Application granted granted Critical
Publication of JP6015438B2 publication Critical patent/JP6015438B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1218Reducing or saving of used resources, e.g. avoiding waste of consumables or improving usage of hardware resources
    • G06F3/122Reducing or saving of used resources, e.g. avoiding waste of consumables or improving usage of hardware resources with regard to computing resources, e.g. memory, CPU
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1236Connection management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1268Job submission, e.g. submitting print job order or request not the print data itself
    • G06F3/1271Job submission at the printing node, e.g. creating a job from a data stored locally or remotely
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • G06F3/1288Remote printer device, e.g. being remote from client or server in client-server-printer device configuration

Description

本明細書によって開示される技術は、印刷データを格納する格納装置とインターネットを用いて通信する印刷装置に関する。
特許文献1には、印刷装置が開示されている。印刷装置は、サーバ装置から印刷用データを取得する。サーバ装置は、印刷用データを分割して印刷装置に送信する。
特開2002−14780号公報
従来技術では、印刷装置が、複数部の印刷を実行すべき場合が想定されていない。本明細書では、複数部の印刷を適切に実行するための技術を提供する。
本明細書によって開示される技術は、データを提供する提供装置と、インターネットを用いて通信する印刷装置に関する。印刷装置は、データを用いて印刷を実行する印刷機構を備える。印刷装置は、受付部と取得部と供給部とを備える。受付部は、印刷を実行すべき印刷部数を受け付ける。取得部は、印刷データを、印刷装置が取得するためのデータ要求を、提供装置に送信する要求処理と、データ要求に応じて提供装置から印刷データを受信する受信処理と、を実行することによって、提供装置から印刷データを取得する。供給部は、取得された印刷データを、印刷機構に供給する。取得部は、N部(Nは2以上の整数)の印刷を実行すべき場合に、1部毎に要求処理と受信処理とを実行することによって、提供装置から印刷データを取得し、M−1部目(Mは2以上N以下の整数)の印刷データの受信処理が終了した後に、M部目の印刷データの要求処理を実行する。
この構成では、1部毎に印刷データを取得し、取得された印刷データを、印刷機構に供給する。この構成によれば、印刷装置は、N部の印刷が実行されている間、印刷データを、印刷装置に格納し続けなくても、N部の印刷を適切に実行することができる。
供給部は、M部目の印刷データの受信処理が完了する前に、M−1部目の印刷データの受信処理によって取得された印刷データの印刷機構への供給を開始してもよい。
取得部は、M―1部目の印刷データの印刷機構への供給が完了した後に、M部目の印刷データの要求処理を実行してもよい。
印刷装置は、さらに、印刷装置のメモリに印刷データを格納する格納部を備えていてもよい。取得部は、提供装置から、印刷データを構成する複数個の部分データのそれぞれを、順次受信することによって、印刷データを取得してもよい。格納部は、複数個の部分データのうちの受信された第1の部分データを、メモリに格納させてもよい。供給部は、メモリに格納されている第1の部分データを、印刷機構に供給してもよい。格納部は、複数個の部分データのうちの第2の部分データが受信される場合に、既に印刷機構に供給された第1の部分データが格納されていたメモリ内の領域に、第2の部分データを格納してもよい。この構成によれば、印刷データ全体を、メモリに格納しなくて済む。この結果、メモリの容量を小さく抑えることができる。
データ要求は、印刷データのインターネット上の位置を示すアドレス情報を含んでいてもよい。取得部は、N部の印刷を実行すべき場合に、1部毎にアドレス情報を取得する取得処理と要求処理と受信処理とを実行してもよい。
印刷装置は、さらに、提供装置に、予め決められている格納期間を越えて、印刷データを格納させるための格納要求を、提供装置に送信する送信部を備えていてもよい。この構成によれば、印刷装置が、N部の印刷データを取得するまでに、印刷データが提供装置から消去されることを抑制することができる。
送信部は、1部の印刷データが取得される毎に、格納要求を送信してもよい。この構成によれば、1部の印刷データが取得される毎に、印刷データが格納される期間を延長することができる。
送信部は、印刷を実行すべき部数を用いて、印刷データが提供装置に格納されるべき特定の格納期間を決定し、決定された特定の格納期間を含む格納要求を、提供装置に送信してもよい。この構成によれば、印刷部数に応じて、適切な格納期間を決定することができる。これにより、N部の印刷データの受信処理が完了しているにも関わらず、印刷データが提供装置に長期間格納され続ける事態を抑制することができる。
取得部は、N部の印刷を実行すべき場合に、受信処理が完了する毎に、N部目の印刷に用いられる印刷データが取得されたのか否かを判断する判断処理をさらに実行してもよい。N部目の印刷に用いられる印刷データが取得されていないと判断する場合に、要求処理を実行し、N部目の印刷に用いられる印刷データが取得されたと判断する場合に、印刷データの取得が完了したことを示す完了情報を、提供装置に送信してもよい。この構成によれば、印刷装置は、提供装置に、N部の印刷データの受信が完了したことを知らせることができる。
印刷データを提供する提供装置と、提供装置と、インターネットを用いて通信する印刷装置と、を備える通信システムも新規で有用である。印刷装置は、データを用いた印刷を実行する印刷機構を備える。印刷装置は、受付部と取得部と供給部とを備える。受付部は、印刷を実行すべき印刷部数を受け付ける。取得部は、印刷データを、印刷装置が取得するためのデータ要求を、提供装置に送信する要求処理と、データ要求に応じて提供装置から印刷データを受信する受信処理と、を実行することによって、提供装置から印刷データを取得する。供給部は、取得された印刷データを、印刷機構に供給する。取得部は、N部(Nは2以上の整数)の印刷を実行すべき場合に、1部毎に要求処理と受信処理とを実行することによって、提供装置から印刷データを取得し、M−1部目(Mは2以上N以下の整数)の前記印刷データの受信処理が終了した後に、M部目の前記印刷データの要求処理を実行する。
この構成では、1部毎に印刷データを取得し、取得された印刷データを、印刷機構に供給する。この構成によれば、印刷装置は、N部の印刷が実行されている間、印刷データを、印刷装置に格納し続けなくても、N部の印刷を適切に実行することができる。
提供装置は、印刷装置から印刷データ要求を受信する要求受信部と、印刷データ要求に応じて、印刷装置に印刷データを送信するデータ送信部と、を備えていてもよい。
提供装置は、提供装置に格納されている期間が、予め決められた格納期間を越える印刷データを、提供装置から消去する消去部を、さらに備えていてもよい。この構成によれば、提供装置に印刷データが蓄積されることを抑制することができる。
提供装置は、印刷データを格納する格納装置と、印刷装置が格納装置から印刷データを取得するための通信を中継する中継装置と、を備えていてもよい。中継装置は、印刷装置から印刷部数を示す部数情報を受信する部数受信部と、部数情報を用いて、格納装置に格納されている印刷データが、格納装置内に格納されるべき格納期間を特定する特定部と、格納期間を、格納装置に送信する期間送信部と、を備えていてもよい。この構成によれば、印刷装置が、N部の印刷データを取得するまでに、印刷データが提供装置から消去されることを抑制することができる。
なお、上記の印刷装置のための制御方法、コンピュータプログラム、及び、当該コンピュータプログラムを格納するコンピュータ読取可能記録媒体も、新規で有用である。また、上記の提供装置のための制御方法、コンピュータプログラム、及び、当該コンピュータプログラムを格納するコンピュータ読取可能記録媒体も、新規で有用である。
通信システムの構成の一例を示す。 MFPが実行する処理のフローチャートを示す。 通信システムの各装置が実行する処理のシーケンス図を示す。 第1実施例のMFPが実行する印刷処理のフローチャートを示す。 変換サーバが実行する処理のフローチャートを示す。 印刷処理の実行中にMFPがエラー状態に移行するケースの通信システムの各装置が実行する処理のシーケンス図を示す。 MFPがエラー状態から通常状態に移行した後に、セッション確立処理を試行する場合の通信システムの各装置が実行する処理のシーケンス図を示す。 第2実施例のMFPが実行する印刷処理のフローチャートを示す。 第3実施例のMFPが実行する印刷処理のフローチャートを示す。 第4実施例の中継サーバが実行するデータ変換指示処理のフローチャートを示す。
(第1実施例)
(通信システムの構成)
図1に示されるように、通信システム2は、多機能機(以下では、MFP(Multi-Function Peripheralの略)と呼ぶ)10と、中継サーバ100と、変換サーバ200と、格納サーバ300と、を備える。MFP10と、中継サーバ100と、変換サーバ200と、格納サーバ300とは、インターネット4を用いて、相互に通信可能である。
(MFP10の構成)
MFP10は、操作部12と、表示部14と、印刷機構16と、ネットワークインターフェイス20と、制御部30と、を備える。MFP10は、印刷機能、スキャン機能、FAX機能等を備える。上記の各部12〜30は、バス線(符号省略)に接続されている。操作部12は、複数のキーによって構成される。ユーザは、操作部12を操作することによって、様々な指示をMFP10に与えることができる。表示部14は、様々な情報を表示するためのディスプレイである。印刷機構16は、インクジェット方式、レーザ方式等の印刷機構を備え、制御部30からの指示に従って印刷を実行する。ネットワークインターフェイス20は、インターネット4に接続されている。
制御部30は、CPU32と、RAM34と、ROM40と、を備える。CPU32は、ROM40に格納されているプログラム42に従って、様々な処理を実行することによって、各部50〜62の機能が実現される。
ROM40は、プログラム42を格納する。RAM34は、データ格納領域36を備える。データ格納領域36は、外部装置(例えば変換サーバ200)から受信されるデータを一時的に格納するための領域である。
(中継サーバ100の構成)
中継サーバ100は、MFP10が、外部装置(例えば格納サーバ300)から、印刷対象のデータを取得する際に、MFP10と外部装置との通信を仲介する。中継サーバ100は、ネットワークインターフェイス120と、制御部130と、を備える。上記の各部120,130は、バス線(符号省略)に接続されている。ネットワークインターフェイス120は、インターネット4に接続されている。通信システム2内の各デバイス間の通信は、インターネット4を用いて実行される。
制御部130は、CPU132と、ROM140と、を備える。CPU132は、ROM140に格納されているプログラム142に従って、様々な処理を実行することによって、各部150〜152の機能が実現される。ROM140は、プログラム142を格納する。なお、特定部152及び期間送信部154は、第4実施例の中継サーバ100が備える構成であり、第1実施例の中継サーバ100は、各部152,154を備えていなくてもよい。
(変換サーバ200の構成)
変換サーバ200は、MFP10が、外部装置(例えば格納サーバ300)から、印刷対象のデータを取得する際に、印刷対象のデータを、MFP10が解釈可能な形式(例えばjpeg(Joint Photographic Experts Groupの略))の印刷データに変換するためのサーバである。変換サーバ200は、ネットワークインターフェイス220と、制御部230と、格納装置260とを備える。上記の各部220,230,260は、バス線(符号省略)に接続されている。ネットワークインターフェイス220は、インターネット4に接続されている。
制御部230は、CPU232と、ROM240と、を備える。CPU232は、ROM240に格納されているプログラム242に従って、様々な処理を実行することによって、各部250〜254の機能が実現される。ROM240は、プログラム242を格納する。中継サーバ100及び変換サーバ200は、MFP10のベンダによって設置されるサーバである。
格納装置260は、印刷データを格納する。格納装置260は、HDD(Hard Disk Driveの略)を備える。格納装置260は、さらに、印刷データが格納装置260に格納されてからの期間を計測するタイマを備える。タイマの計測時間が、予め決められた格納期間(例えば1時間)を越えると、計測対象の印刷データは、格納装置260から消去される。これにより、格納装置260に、多数のデータが蓄積されることを防止することができる。
(格納サーバ300の構成)
格納サーバ300は、外部装置(例えばMFP10)からアップロードされるデータを格納する機能と、格納サーバ300に格納されているデータを、外部装置に提供する機能とを、備える。格納サーバ300は、例えば、「Evernote(登録商標)」、「Google(登録商標) Docs」、「PICASA(登録商標)」、「FACEBOOK(登録商標)」等の公知のクラウドサーバである。
(MFP10が実行する処理)
図2を参照して、MFP10が実行する処理について説明する。MFP10のユーザが、操作部12に、予め決められた画面取得操作を実行すると、受付部50は、中継サーバ100に、印刷設定画面を表す画面データを送信させるための画面要求を、インターネット4を介して、中継サーバ100に送信する。画面取得操作は、例えば、画面データのURL(Uniform Resource Locatorの略)の入力する操作である。画面要求は、画面データのURLを含む。図2の処理は、画面要求が送信されると開始される。S10では、受付部50は、中継サーバ100から、画面データを受信する。受付部50は、画面データを受信すると、ROM40に格納されているブラウザプログラム(図示省略)に従って、画面データによって表される印刷設定画面を、表示部14に表示させる。
ユーザは、操作部12を操作することによって、印刷設定画面に、印刷設定を入力することができる。印刷設定は、印刷対象の元データのURL、印刷部数及び印刷用紙サイズを含む。ユーザは、印刷設定の入力が完了すると、操作部12を操作することによって、予め決められた設定完了操作(例えば、印刷設定画面中の「設定完了」ボタンの操作)を実行する。これにより、受付部50は、印刷部数を含む印刷設定を受け付ける。
S12では、受付部50は、設定完了操作が実行されることを監視している。制御部30は、設定完了操作が実行されると、印刷設定が完了したと判断して(S12でYES)、S14に進む。S14では、制御部30は、S12において入力された印刷設定を、中継サーバ100に送信する。印刷設定は、印刷部数を示す部数情報を含む。中継サーバ100の部数受信部150は、MFP10から、部数情報を含む印刷設定を受信する。
次いで、S16では、取得部52は、中継サーバ100から、印刷データのダウンロード実行命令が受信されることを監視する。ダウンロード実行命令が受信されると(S16でYES)、S18において、制御部30は、印刷処理(図4参照)を実行する。印刷処理が終了すると、S20において、制御部30は、S18の印刷処理において、中継サーバ100に送付した完了通知の応答として、中継サーバ100から完了確認通知を受信することを監視する。完了確認通知が受信されると(S20でYES)、S22において、制御部30は、印刷完了画面を、表示部14に表示させて、処理を終了する。
(MFP10が実行するエラー検出処理)
MFP10は、図2の処理とは別に、MFP10が電源ONである間、制御部30は、MFP10が通常状態からエラー状態になることを監視するエラー検出処理を実行する。即ち、エラー検出処理は、図2の処理と並行して実行される場合がある。エラー状態とは、MFP10が、外部装置(例えば変換サーバ200)からデータを受信することができない状態である。
例えば、印刷機構16が、印刷用紙切れ、トナー切れ、印刷機構16のカバーが開いている等、印刷を実行することができない状態において、印刷すべきデータが受信されると、データ格納領域36に、印刷されていないデータが蓄積される。この場合、データ格納領域36の空き容量が十分でなく、データを受信することができなくなる。あるいは、MFP10が、外部装置と通信を実行することができない状態である。制御部30は、MFP10がデータを受信可能な通常状態から、エラー状態に移行する場合、RAM34内のエラーフラグを、OFFからONに切り替える。なお、通常状態は、エラー状態ではない状態である。
なお、変形例では、制御部30は、印刷機構16が印刷を実行することができない状態である場合に、データ格納領域36の空き容量に関わらず、MFP10が通常状態からエラー状態に移行したと判断し、エラーフラグをOFFからONに切り替えてもよい。
(印刷処理が実行される前の通信システム内の処理)
次いで、図3を参照して、図2のS12において、MFP10が印刷設定を送信してから、図2のS18の印刷処理が実行されるまでの通信システム2の各デバイス10,100,200,300の処理を説明する。MFP10が印刷設定を送信すると(図2のS12)、中継サーバ100は、印刷設定を受信する。印刷設定には、印刷部数を示す情報と、印刷対象の元データのURLが含まれる。中継サーバ100は、中継サーバ100が元データを取得するための元データ要求を、格納サーバ300に送信する。元データ要求は、元データのURLを含む。格納サーバ300は、元データ要求を受信すると、元データのURLによって特定させる元データを、中継サーバ100に送信する。
中継サーバ100は、格納サーバ300から元データを受信すると、元データ100を、変換サーバ200に送信する。変換サーバ200は、受信された元データが、MFP10が解釈可能な形式のデータであるのか否かを判断する。元データが、MFP10が解釈可能な形式のデータであると判断される場合、変換サーバ200は、元データを、格納装置260に格納する。一方、元データが、MFP10が解釈可能な形式のデータでないと判断される場合、変換サーバ200は、元データを、MFP10が解釈可能な形式のデータに変換して、格納装置260に格納する。以下では、格納装置260に格納されるデータを、印刷データと呼ぶ。変換サーバ200は、印刷データを識別するために、印刷データIDを決定する。変換サーバ200は、決定された印刷データIDを、中継サーバ100に送信する。
中継サーバ100は、変換サーバ200から印刷データIDを受信すると、印刷データをダウンロードすることができるのか否かを確認するための可否確認信号を、後述する可能通知を受信するまで、定期的に変換サーバ200に送信する。変換サーバ200は、変換処理が完了していない場合、可否確認信号の応答として、ダウンロード不可能であることを示す不可通知を、中継サーバ100に送信する。一方、変換サーバ200は、変換処理が完了している場合、可否確認信号の応答として、ダウンロード可能であることを示す可能通知を、中継サーバ100に送信する。なお、変換サーバ200は、変換処理が実行されない場合、即ち、元データが、MFP10が解釈可能な形式のデータである場合、可否確認信号の応答として、可能通知を、中継サーバ100に送信する。
中継サーバ100は、可能通知を受信すると、ダウンロード実行命令を、MFP10に送信し、MFP10は、当該ダウンロード実行命令を受信する(図2のS16でYES)。これにより、MFP10は、印刷処理(図2のS18)を開始する。
(MFP10が実行する印刷処理)
次いで、図4を参照して、MFP10が実行する印刷処理について説明する。MFP10は、図2のS12で受け付けた印刷部数が、2部以上である場合、1部毎に印刷データを受信し、印刷する。例えば、MFP10は、印刷すべき部数がN部(Nは2以上の整数)である場合、印刷データを受信するための処理を、N回実行する。
S50では、制御部30は、MFP10が印刷データを取得した回数が、図2のS12で受け付けた印刷部数(以下ではN)未満であるのか否かを判断する。具体的には、制御部30は、印刷データを1回取得する毎に(即ち、後述する複数の部分データを取得することによって、印刷データの全体を1回取得する毎に)、RAM34内の取得済みカウンタを、「1」増加する。制御部30は、取得済みカウンタの値が、N未満であるのか否かを判断する。印刷データの取得回数がN以上である場合(S50でNO)、S96において、制御部30は、印刷処理を完了することを示す完了通知を、中継サーバ100に送信して、印刷処理を終了する。この構成によれば、MFP10は、中継サーバ100に、N部分の印刷データの取得が完了したことを知らせることができる。これにより、中継サーバ100は、中継サーバ100に格納されている印刷データID等を消去することができる。
印刷データの取得回数がN未満である場合(S50でYES)、S52において、取得部52は、格納装置260に格納されている印刷データを指定可能なURLを、MFP10が取得するためのURL要求を、中継サーバ100に送信する。次いで、S54において、取得部52は、印刷データのURLを、中継サーバ100から受信する。印刷データのURLは、変換サーバ200のURL(例えば「http://server1/path1」)と、印刷データID(例えば「conv_id=printdata1」)と、を組み合わせて構成される(例えば「http://server1/path1?conv_id=printdata1」)。
次いで、S56において、確立部56は、MFP10と変換サーバ200との間に、TCPセッションを確立するための確立処理を実行する。具体的には、確立部56は、まず、SYNパケットを、S54で受信された変換サーバ200のURLを送信先に指定して、送信する。変換サーバ200は、SYNパケットを受信すると、SYN/ACKパケットを、SYNパケットの送信元のMFP10に送信する。確立部56は、変換サーバ200からSYN/ACKパケットを受信すると、ACKパケットを、変換サーバ200に送信する。これにより、MFP10と変換サーバ200との間に、TCPセッションが確立される。
次いで、S58では、取得部52は、印刷データの一部である部分データを、MFP10が受信するための部分データ要求を、変換サーバ200に送信する。取得部52は、S56で確立されたTCPセッションを利用して、部分データ要求を、変換サーバ200に送信する。部分データ要求は、印刷データのURLと、印刷データ中の部分データの始点を示す始点情報と、部分データのデータサイズを示すサイズ情報と、を含む。具体的には、部分データ要求は、印刷データのURL(例えば「http://server1/path1?conv_id=printdata1」と、始点情報(例えば「first=0k」)と、サイズ情報(例えば「size=100k」)と、を組み合わせて構成される(例えば「http://server1/path1?conv_id=printdata1?first=0&size=100k」)。なお、始点情報「first=0k」は、部分データの始点が、印刷データのうち、0kバイト目のデータであることを示す。また、サイズ情報「size=100k」は、要求する部分データのデータサイズが100kバイトであることを示す。この構成によれば、変換サーバ200は、部分データを、適切に特定することができる。
なお、本実施例では、部分データのデータサイズは、Xkバイト(Xは、1以上の整数)である場合について説明する。なお、変形例では、部分データ要求は、部分データの終点を示す終点情報(例えば「end=100k」)を含んでいてもよい。本変形例では、始点情報及び終点情報が部分データのデータサイズを示すサイズ情報である。
次いで、S60では、取得部52は、部分データ要求に対する応答を、変換サーバ200から受信することを監視する。変換サーバ200は、S56で確立されたTCPセッションを利用して、部分データ要求に対する応答を、MFP10に送信する。変換サーバ200の制御部230は、部分データ要求に含まれるサイズ情報が、変換サーバ200が送信すべきデータサイズと一致している場合、部分データを送信するための処理を実行する。具体的には、制御部230は、要求された部分データを、予め決められたYkバイト(例えばY=8)毎に分割して、MFP10に送信する。一方、制御部230は、部分データ要求に含まれるサイズ情報が、変換サーバ200が送信すべきデータサイズと一致していない場合、部分データとして要求すべきデータサイズを示すサイズ情報を、MFP10に送信する。
取得部52は、部分データ要求に対する応答として、サイズ情報が受信される場合(S60でYES)、S62に進む。一方、取得部52は、部分データ要求に対する応答として、部分データの一部が受信される場合(S60でNO)、S64に進む。S62では、終了部58は、S56で確立されたTCPセッションを終了するための終了処理を実行する。
具体的には、終了部58は、まず、FINパケットを、S56で確立されたTCPセッションを利用して、変換サーバ200に送信する。変換サーバ200は、FINパケットを受信すると、FIN/ACKパケットを、S56で確立されたTCPセッションを利用して、MFP10に送信する。終了部58は、変換サーバ200からFIN/ACKパケットを受信すると、ACKパケットを、S56で確立されたTCPセッションを利用して、変換サーバ200に送信する。これにより、MFP10と変換サーバ200との間に、TCPセッションが切断され、TCPセッションが終了する。MFP10と変換サーバ200との間のTCPセッションが終了する状態を、MFP10と変換サーバ200との間のTCPセッションが閉じていると言うこともできる。S62が終了すると、S56に戻る。S62が実行された後のS56では、確立部56は、新たにTCPセッションを確立する。S58では、S60で受信されたサイズ情報を含む新たに部分データ要求を、変換サーバ200に送信する。なお、変形例では、S62の処理をスキップしてもよい。即ち、S56で確立されたTCPセッションを終了せずに、S58において、S60で受信されたサイズ情報を含む新たな部分データ要求を、変換サーバ200に送信してもよい。
S64では、取得部52は、S56で確立されたセッションを利用して、Ykバイトのデータを、変換サーバ200から受信する。格納部62は、受信されたYkバイトのデータを、データ格納領域36に格納する。次いで、S66では、取得部52は、変換サーバ200から受信されたデータのデータサイズZバイトを算出する。次いで、S68では、供給部54は、1枚の印刷用紙の印刷に利用すべきデータが、データ格納領域36に格納されているのか否かを判断する。1枚の印刷用紙の印刷に利用すべきデータが、データ格納領域36に格納されている場合(S68でYES)、S70において、供給部54は、データ格納領域36に格納されているデータを、印刷機構16に供給して、S72に進む。なお、変形例では、S68において、供給部54は、1バンドを印刷可能なデータが、データ格納領域36に格納されているのか否かを判断してもよい。特に、印刷機構16が、レーザ方式の印刷機構であれば、1枚の印刷用紙の印刷に利用すべきデータが、データ格納領域36に格納されているのか否かを判断してもよいし、印刷機構16が、インクジェット方式の印刷機構であれば、1バンドを印刷可能なデータが、データ格納領域36に格納されているのか否かを判断してもよい。
S70の処理の後、供給部54は、印刷機構16に供給されたデータを、データ格納領域36から消去する。これにより、格納部62は、次に、S64で受信されるデータを、データ格納領域36内の印刷機構16に供給されたデータが格納されていた領域に、格納することができる。この構成によれば、印刷データ全体を、データ格納領域36に格納しなくて済む。この結果、RAM34の容量を小さく抑えることができる。
一方、1枚の印刷用紙に利用すべきデータが、データ格納領域36に格納されていない場合(S68でNO)、S70の処理をスキップし、S72に進む。S72では、制御部30は、エラーフラグがONであるのか否かを判断する。エラーフラグがOFF、即ち、MFP10が通常状態である場合(S72でNO)、S74に進む。一方、エラーフラグがON、即ち、MFP10がエラー状態である場合(S72でYES)、S82に進む。
MFP10が通常状態である場合(S72でNO)、S74では、取得部52は、S58で要求した部分データの受信が完了したのか否かを判断する。具体的には、取得部52は、S66で算出された値Zが、X未満であるのか否かを判断する。ZがX未満である場合、取得部52は、部分データの受信が完了していない(S74でNO)と判断し、S64に戻る。取得部52は、S56で確立されたTCPセッションを利用して、部分データを、変換サーバ200から取得する処理を実行する。
一方、ZがX未満でない場合、取得部52は、部分データの受信が完了している(S74でYES)と判断し、S76において、終了部58は、S56で確立されたTCPセッションを終了する。S76の処理は、S62と同じ処理である。続くS78では、取得部52は、印刷データの取得を完了したのか否かを判断する。具体的には、取得部52は、印刷データの終了を示す情報を、変換サーバ200から受信する場合、印刷データの受信を完了したと判断し(S78でYES)、S80において、送信部60は、格納期間リセット命令を、変換サーバ200に送信する。格納期間リセット命令は、印刷データが格納装置260に格納されている期間を計測するタイマを、変換サーバ200にリセットさせるための命令である。これにより、印刷データが格納装置260に格納されている期間を延長することができる。この構成によれば、1部の印刷データがMFP10に取得される毎に、印刷データが、格納装置260に格納される期間を延長することができる。一方、取得部52は、印刷データの終了を示す情報を、変換サーバ200から受信していない場合、印刷データの受信を完了していないと判断し(S78でNO)、S56に戻る。
S80の処理の後、S50に戻ると、制御部30は、新たに、印刷データを変換サーバ200から取得するために、S52〜S94の処理を実行する。制御部30は、図2のS12で受け付けられた印刷部数と同じ回数だけ、S52〜S94の処理を実行する。即ち、制御部30は、N部(Nは2以上の整数)の印刷を実行すべき場合に、1部毎に印刷データを取得し(S78でYES)、M−1部目(Mは2以上N以下の整数)の印刷データを取得した後に(S78でYES)、M部目の印刷データを取得するための部分データ要求を送信する(S58)。
また、供給部54は、M部目の印刷データの取得が完了する前に、M−1部目の印刷データを、印刷機構16に供給する。取得部52は、供給部54がM―1部目の印刷データを、印刷機構16に供給した後に、M部目の印刷データを取得する。
また、取得部52は、1部の印刷データを取得し終える(S78でYES)と、新たに、格納装置260に格納されている印刷データを指定可能なURLを、MFP10が取得するためのURL要求を、中継サーバ100に送信する。即ち、取得部52は、1部の印刷データを取得する毎に、当該印刷データを指定可能なURLを、MFP10が取得するためのURL要求を、中継サーバ100に送信する。例えば、印刷データのURLに、タイムスタンプのように、経時的に変化する文字列が含まれている場合、印刷データの取得中に、印刷データのURLが変化する場合がある。この場合、一旦、S54で取得された印刷データのURLを用いて、印刷データを繰り返し取得することができない。本実施例の構成によれば、印刷データを取得する毎に、新たに、印刷データのURLを受信する。このため、MFP10は、印刷データのURLが変化する場合でも、印刷データを取得することができる。
一方、MFP10がエラー状態である場合(S72でYES)、S82では、制御部30は、エラーフラグがOFFであるのか否かを判断する。なお、S82における判断は、MFP10がエラー状態になってから、予め決められた期間(例えば1分)が経過した後に、実行される。エラーフラグがOFF、即ち、MFP10が通常状態である場合(S82でYES)、S88に進む。一方、エラーフラグがON、即ち、MFP10がエラー状態である場合(S82でNO)、S84に進む。S84では、確立部56は、ハートビート信号の送信(S86参照)に利用されるTCPセッションを確立する確立処理を実行する。S84の確立処理は、S56の確立処理と同様である。なお、S84では、確立部56は、S56で確立されたTCPセッションが、維持されているのか否かに関わらず、別のTCPセッションを確立する。次いで、S86において、送信部60は、S84で確立されたTCPセッションを利用して、ハートビート信号を、変換サーバ200に送信して、S82に戻る。
一方、MFP10が通常状態である場合(S82でYES)、S88では、制御部30は、S56で確立されたTCPセッションを利用して、データを受信可能であるのか否かを判断する。具体的には、制御部30は、MFP10がエラー状態から通常状態に移行した後であって、データ格納領域36に、データを格納するための空き領域が確保される場合に、S56で確立されたTCPセッションを利用して、データを受信可能である旨の受信可能信号を、変換サーバ200に送信する。変換サーバ200は、受信可能信号を受信すると、S58で要求された部分データのうち、MFP10に未だ送信されていないデータを送信する。この場合、S64において、取得部52は、データを受信する。
一方、受信可能信号を、変換サーバ200に送信しても、部分データが受信されない場合(S88でNO)、S90において、確立部56は、S56と同様の確立処理を試行する。なお、S88でNOの場合には、S56で確立されたTCPセッションが終了されている場合と、既にMFP10が部分データの受信を完了している場合とが含まれる。
次いで、S92では、制御部30は、S90において、TCPセッションを確立することができたのか否かを判断する。例えば、MFP10がエラー状態に移行してから通常状態に移行するまでの間、即ち、S82からS86の処理が繰り返し実行されている間に、変換サーバ200が通信を実行することができない状態になった場合、TCPセッションを確立することができない。
具体的には、S92では、S90の確立処理において、MFP10が、SYNパケットに対する応答を受信することができない場合、制御部30は、TCPセッションを確立することができなかったと判断して(S92でNO)、印刷処理を終了する。一方、S90の確立処理が完了された場合、制御部30は、TCPセッションを確立することができたと判断して(S92でYES)、S94に進む。
S94では、取得部52は、S90で確立されたTCPセッションを利用して、Xkバイトの部分データのうち、未だ受信されていないデータ、即ちX−Zkバイトの部分データを、MFP10が受信するための部分データ要求を、変換サーバ200に送信する。なお、X−Z=0である場合、S76に進む。
制御部30は、部分データの一部のデータを受信する受信処理(S64〜S74)と、を繰り返し実行することによって、部分データを受信する。また、取得部52は、部分データを要求する要求処理(S58)と、部分データの受信処理(S56〜S78)と、を繰り返し実行することによって、印刷データを取得する。
(変換サーバ200が実行する処理)
次いで、図5を参照して、変換サーバ200が実行する処理について説明する。本処理は、中継サーバ100から、元データが受信されると開始される。S100では、制御部230は、元データに基づく印刷データを、格納装置260に格納する。
次いで、S102では、要求受信部252は、例えばMFP10等の外部装置から、部分データ要求を受信することを監視する。部分データ要求を受信する場合(S102でYES)、S104において、データ送信部254は、部分データを送信する送信処理を開始して、S106に進む。なお、S102では、データ送信部254は、受信された部分データ要求に含まれるサイズ情報が、変換サーバ200が送信すべきデータサイズと一致していない場合、部分データとして要求すべきデータサイズを示すサイズ情報を、部分データ要求の送信元の外部装置に送信する。そして、S102において、要求受信部252は、外部装置から、新たに部分データ要求を受信することを監視する。即ち、S102では、要求受信部252は、変換サーバ200が送信すべきデータサイズを示すサイズ情報を含む部分データ要求が受信される場合に、YESと判断する。S104では、図4のS64からS78に対応する処理が実行される。一方、部分データ要求を受信しない場合(S102でNO)、S104をスキップして、S106に進む。
S106〜S110は、S104で開始された送信処理と並行して実行される。S106では、制御部230は、印刷データが格納装置260に格納されている期間が、格納期間を変更して格納すべきであるのか否かを判断する。具体的には、制御部230は、MFP10から、ハートビート信号(図4のS86参照)、又は、格納期間リセット命令(図4のS80)を受信すると、格納期間を変更すべきである(S106でYES)と判断して、S108に進む。S108では、制御部230は、印刷データが格納されている期間を計測するタイマをリセットすることによって、格納期間を変更して、S110に進む。
一方、制御部230は、MFP10から、ハートビート信号(図4のS86参照)、又は、格納期間リセット命令(図4のS80)が受信されない場合、格納期間を変更すべきでない(S106でNO)と判断して、S110に進む。S110では、消去部250は、タイマが、格納期間を越えているのか否かを判断する。タイマが格納期間を越えていない場合(S110でNO)、S102に戻る。一方、タイマが格納期間を越えている場合(S110でYES)、S112において、消去部250は、印刷データを、格納装置260から消去して、処理を終了する。この構成によれば、変換サーバ200に、印刷データが蓄積されることを抑制することができる。
(MFP10がエラー状態に移行するケース)
次いで、図6を参照して、部分データの受信中に、MFP10が通常状態からエラー状態に移行するケースにおける各デバイス10,100,200,300の処理を説明する。MFP10がURL要求を送信する(図4のS52)と、中継サーバ100は、URL要求を受信する。中継サーバ100は、URL要求の応答として、変換サーバ200のURLと、印刷データIDとを含む印刷データのURLを、MFP10に送信する。
MFP10は、印刷データのURLを受信する(図4のS54)と、MFP10と変換サーバ200との間に、TCPセッションであるセッションSE1を確立する(図4のS56)。次いで、MFP10は、セッションSE1を利用して、変換サーバ200に、部分データ要求を送信する(図4の58)。部分データ要求は、50kバイトを示すサイズ情報を含む。部分データ要求に含まれるサイズ情報で示されるデータサイズである50kバイトは、変換サーバ200が送信すべき部分データのデータサイズである100kバイトと異なる。変換サーバ200は、100kバイトを示すサイズ情報を、MFP10に送信する。なお、変形例では、MFP10は、部分データ要求を送信する前に、要求すべき部分データのデータサイズを、変換サーバ200から取得してもよい。
MFP10は、変換サーバ200からサイズ情報を受信すると(図4のS60でYES)、セッションSE1を終了する(図4のS62)。この構成によれば、MFP10は、セッションSE1を適切に終了させることができる。そして、MFP10は、新たに、MFP10と変換サーバ200との間に、TCPセッションであるセッションSE2を確立する(図4のS56)。次いで、MFP10は、セッションSE2を利用して、変換サーバ200に、部分データ要求を送信する(図4のS58)。この構成によれば、MFP10は、部分データ要求を送信する際に、セッションSE2を適切に確立することができる。
部分データ要求は、100kバイトを示すサイズ情報を含む。この構成によれば、MFP10は、変換サーバ200が送信すべきデータサイズの部分データを、変換サーバ200に要求することができる。この結果、部分データのデータサイズが小さすぎるために、印刷データが取得されるまでに、MFP10は、多数の部分データを要求し、受信しなくて済む。また、部分データのデータサイズが大きすぎるために、MFP10が1個の部分データを受信するまでに、多くの時間が掛かることを抑制することができる。
変換サーバ200は、部分データ要求に応じて、部分データを送信する。変換サーバ200は、100kバイトの部分データを、8kバイト毎に分割して送信する。MFP10は、8kバイトのデータを受信する毎に、データ格納領域36に格納する(図4のS64)。なお、MFP10は、8kバイトのデータを格納する毎に、データ格納領域36の空き容量を確認し、8kバイトのデータが受信可能であることを示す信号である受信可能信号を、変換サーバ200に送信する。変換サーバ200は、受信可能信号をMFP10から受信する場合に、新たに、8kバイトのデータを、MFP10に送信する。
MFP10は、エラーフラグがOFFからONに変更されると(図4のS72でYES)、新たなTCPセッションであるセッションSE3を、MFP10と変換サーバ200との間に確立する(図4のS84)。これにより、MFP10と変換サーバ200との間には、セッションSE2とセッションSE3とが確立される。次いで、MFP10は、セッションSE3を利用して、ハートビート信号を、変換サーバ200に送信する(図4のS86)。この構成によれば、ハートビート信号を送信するためのセッションSE3を確立することができる。変換サーバ200は、ハートビート信号を受信すると(図5のS106)、タイマをリセットする(図5のS108)。これにより、MFP10がエラー状態である間に、印刷データが、変換サーバ200から消去される事態を回避することができる。MFP10は、MFP10がエラー状態から通常状態に移行されるまで、ハートビート信号を繰り返し送信する。
MFP10は、エラーフラグがONからOFFに変更されると(図4のS82でYES)、セッションSE3を終了する終了処理を実行する。次いで、MFP10は、セッションSE2を利用して、受信可能信号を、変換サーバ200に送信する。変換サーバ200は、受信可能信号を受信すると、セッションSE2を利用して、部分データのうちの未送信のデータを、8kバイトのデータに分割して、MFP10に送信する。MFP10は、既に確立されているセッションSE2を利用して、データを受信することができるため、新たにTCPセッションを確立せずに済む。セッションSE2が維持されているために、MFP10は、新たに部分データ要求を送信せずに、部分データのうち、未だ受信されていないデータを受信することができる。
なお、MFP10は、印刷用紙1枚分のデータがデータ格納領域36に格納されると(図4のS68でYES)、印刷機構16にデータを供給する(図4のS70)。また、MFP10は、8kバイトのデータを受信する毎に、データ格納領域36に格納することを(図4のS64)何度も繰り返すことにより、部分データの受信が完了すると(S74でYES)、セッションSE2を終了する。次いで、MFP10は、印刷データの受信を完了していないと判断すると(図4のS78でNO)、新たに、TCPセッションであるセッションSE4を、MFP10と変換サーバ200との間に確立する(図4のS56)。そして、MFP10は、セッションSE4を利用して、部分データ要求を、変換サーバ200に送信する。MFP10は、変換サーバ200から受信されたサイズ情報を含む部分データ要求を送信する。この構成によれば、印刷データを受信している間に、MFP10が通常状態からエラー状態に移行した場合であっても、MFP10は、エラー状態から通常状態に移行した後に、印刷データを適切に取得することができる。
MFP10は、1部の印刷データを全て取得すると(図4のS78でYES)、格納期間リセット命令を、変換サーバ200に送信する(図4のS80)。変換サーバ200は、格納期間リセット命令を受信すると、印刷データが格納装置260に格納されている期間を計測するタイマをリセットする(図5のS108)。
MFP10は、1部の印刷データの受信が完了した後に、印刷データの取得回数がN未満であると判断すると(図4のS50でYES)、中継サーバ100に、URL要求を送信し(図4のS52)、中継サーバ100から、印刷データのURLを受信する。MFP10、中継サーバ100及び変換サーバ200は、N部の印刷データがMFP10に受信されるまで、処理を繰り返し実行する。この構成によれば、印刷データを受信している間に、印刷装置が通常状態からエラー状態に移行した場合であっても、印刷装置は、エラー状態から通常状態に移行した後に、印刷データを適切に取得することができる。MFP10は、N部の印刷データの受信が完了すると(図4のS50でNO)、完了通知を、中継サーバ100に送信する。中継サーバ100は、完了通知を受信すると、完了確認通知を、MFP10に送信する。
図6では、MFP10は、エラーフラグがONからOFFに切り替わった後(図4のS82でYES)に、セッションSE2を利用して、受信可能信号を変換サーバ200に送信することによって、部分データのうちの未受信のデータを受信する。
一方、MFP10が通常状態からエラー状態に移行してから、通常状態に戻るまでの間に、セッションSE2が、強制的に終了されている場合がある。例えば、MFP10と変換サーバ200との間に介在するルータ等の通信機器が、セッションSE2を切断する場合がある。この場合、図7に示すように、MFP10は、エラーフラグがONからOFFに切り替わった後(図4のS82でYES)に、セッションSE2を利用して、受信可能信号を変換サーバ200に送信することができない(図4のS88でNO)。この場合、MFP10は、新たに、MFP10と変換サーバ200との間に、TCPセッションを確立するための確立処理を試行する(図4のS90)。MFP10は、確立処理の結果、セッションSE5が確立される場合(図4のS92でYES)、部分データのうち、未だ受信されていないデータを要求するための部分データ要求を、セッションSE5を利用して、変換サーバ200に送信する(図4のS94)。この結果、MFP10は、部分データを適切に受信することができる。なお、MFP10は、既に要求されている部分データのうちの未だ受信されていないデータを、変換サーバ200に要求する一方、既に要求されている部分データ以外のデータを要求しない。
また、MFP10は、通常状態からエラー状態に移行した後、通常状態に戻るまで、部分データ要求を、変換サーバ200に送信しない。この構成によれば、MFP10は、エラー状態であるにも関わらず、変換サーバ200から部分データが受信される状況を回避することができる。
一方で、変換サーバ200が、通信不可能な状態(例えばネットワーク障害)であるために、セッションSE2が、強制的に終了されている場合がある。この場合、図7に示すように、MFP10は、エラーフラグがONからOFFに切り替わった後(図4のS82でYES)に、セッションSE2を利用して、受信可能信号を変換サーバ200に送信することができない(図4のS88でNO)。さらに、MFP10は、新たに、MFP10と変換サーバ200との間に、TCPセッションを確立するための確立処理を試行しても(図4のS90)、TCPセッションを確立することができない(図4のS92でNO)。この場合、MFP10は、2回目の確立処理を実行せず、かつ、部分データ要求を送信せずに、処理を終了する。変換サーバ200が通信不可能な状態である場合、MFP10は、確立処理を繰り返し実行しても、TCPセッションを確立することはできない。上記の構成では、MFP10は、1回の確立処理を試行して、TCPセッションを確立することができない場合、新たに確立処理を実行せず、部分データ要求を送信しない。この構成によれば、MFP10と変換サーバ200との間に、TCPセッションを確立することができない状況であるにも関わらず、MFP10が、確立処理を繰り返し実行することを回避することができる。また、MFP10が、TCPセッションが確立されていないにも関わらず、部分データ要求を送信するための処理を実行することを回避することができる。
(本実施例の効果)
本実施例の構成によれば、MFP10がエラー状態に移行したために、受信することができなくなった部分データを、MFP10がエラー状態から通常状態に移行した後に、変換サーバ200から受信することできる。これにより、MFP10が印刷データを受信している間に、データを受信できなくなる場合に、印刷データを適切に取得することができる。
また、本実施例の構成では、1部毎に印刷データを順次取得し、取得された印刷データを、印刷機構16に供給する。この構成によれば、MFP10は、N部の印刷が実行されている間、印刷データを、データ格納領域36に格納し続けなくても、N部の印刷を適切に実行することができる。
(対応関係)
中継サーバ100と変換サーバ200とが、「提供装置」の一例であり、MFP10が「印刷装置」の一例である。図4のS58で送信される部分データ要求が「第1の部分データ要求」の一例であり、図4のS58の処理が「要求処理」の一例である。図4のS94で送信される部分データ要求が「第2の部分データ要求」の一例である。図4のS64からS78までの処理が「受信処理」の一例である。図4のS54の処理が、「取得処理」の一例である。ハートビート信号と格納期間リセット命令と格納要求のそれぞれが、「格納要求」の一例である。
(第2実施例)
第1実施例と異なる点を説明する。本実施例では、MFP10が、部分データの受信中に、通常状態からエラー状態に移行する場合のMFP10の処理が、第1実施例と異なる。
(MFP10が実行する印刷処理)
図8を参照して、本実施例のMFP10が実行する印刷処理について説明する。第1実施例と同じ処理には、図4と同じ符号を付している。
エラーフラグがOFF、即ち、MFP10が通常状態である場合(S82でYES)、S288において、終了部58は、S56で確立されたTCPセッションを終了するための終了処理を実行する。S288の処理は、S62の処理と同様である。なお、S288の処理が実行される時点で、既に、S56で確立されたTCPセッションが終了されている場合がある。この場合、終了部58は、S56で確立されたTCPセッションを利用して、FINパケットを、変換サーバ200に送信することを試行する。終了処理は、TCPセッションが既に終了されているにも関わらず、実行される上記の処理を含む。次いで、確立部56は、S90の処理、即ち、新たなTCPセッションの確立処理を試行する。
本実施例では、第1実施例とは異なり、MFP10がエラー状態から通常状態に移行すると(S82でYES)、終了部58は、S56で確立されたTCPセッションを終了するための終了処理を、必ず実行する。即ち、本実施例では、MFP10がエラー状態から通常状態に移行する場合に、必ずTCPセッションが終了され(S288)、新たなTCPセッションが確立される(S92)。
(第3実施例)
第1実施例と異なる点を説明する。本実施例では、MFP10が実行する印刷処理の内容が、第1実施例と異なる。
(MFP10が実行する印刷処理)
図9を参照して、本実施例のMFP10が実行する印刷処理について説明する。第1実施例と同じ処理には、図4と同じ符号を付している。S56において、MFP10と変換サーバ200との間に、TCPセッションが確立されると、S300において、送信部60は、S56で確立されたTCPセッションを利用して、格納要求を、変換サーバ200に送信する。詳細には、制御部30は、まず、図2のS12で受け付けた印刷部数を用いて、印刷データが格納装置260に格納されてから消去されるまでの格納期間を算出する。具体的には、制御部30は、予め決められた期間(例えば10分)に、印刷部数を乗算することによって、格納期間を算出する。次いで、送信部60は、算出された格納期間を含む格納要求を、変換サーバ200に送信する。本実施例では、制御部30は、図4のS80の処理を実行しない。
変換サーバ200の制御部230は、MFP10から格納要求を受信すると、図5のS106で、格納期間を変更すべきであると判断する(S106でYES)。次いで、制御部230は、格納要求に含まれる格納期間を、格納装置260のタイマに設定する。これにより、格納期間が変更される。消去部250は、タイマの計測時間が、受信された格納期間を経過する場合に、印刷データを消去する(図5のS112)。この構成によれば、印刷部数に応じて、適切な格納期間を設定することができる。これにより、MFP10がN部分の印刷データを取得したにも関わらず、印刷データが格納装置260に長期間格納され続ける事態を抑制することができる。
(第4実施例)
第1実施例と異なる点を説明する。本実施例では、MFP10が実行する印刷処理の内容と、中継サーバ100が実行する処理の内容が、第1実施例と異なる。
MFP10は、印刷処理において、図4のS80の処理を実行しない。その他の内容については、第1実施例の印刷処理と同様である。
(中継サーバが実行するデータ変換指示処理)
図10を参照して、本実施例の中継サーバ100が実行するデータ変換指示処理について説明する。S402では、部数受信部150は、MFP10から印刷設定を受信する。印刷設定は、MFP10が受け付けた印刷部数を示す部数情報が含まれる。次いで、S404では、制御部130は、印刷設定に含まれる印刷対象の元データのURLを用いて、格納サーバ300に、元データを送信させるための要求を送信する。次いで、S406では、制御部130は、格納サーバ300から、元データを受信する。S408では、制御部130は、元データを、変換サーバ200に送信する。
次いで、S410において、特定部152は、S402で受信された印刷設定に含まれる印刷部数を用いて、格納期間を特定する。詳細には、特定部152は、予め決められた期間(例えば10分)に、S402で受信された印刷部数を乗算することによって、格納期間を算出する。次いで、S412では、期間送信部154は、特定された格納期間を含む格納要求を、変換サーバ200に送信する。
変換サーバ200の制御部230は、中継サーバ100から格納要求を受信すると、図5のS106で、格納期間を変更すべきであると判断し(S106でYES)、格納要求に含まれる格納期間を、格納装置260のタイマに設定する。これにより、格納期間が変更される。なお、消去部250は、タイマの計測時間が、受信された格納期間を経過する場合に、印刷データを消去する(図5のS112)。この構成によれば、N部の印刷データを取得するまでに、印刷データが変換サーバ200から消去されることを抑制することができる。
格納要求の送信後、S414では、制御部130は、変換サーバ200から、印刷データを識別する印刷データIDを受信する。次いで、S416では、制御部130は、印刷データをダウンロードすることができるのか否かを確認するための可否確認信号を、変換サーバ200に送信する。S418では、可否確認信号の応答として、ダウンロード可能であることを示す可能通知を、変換サーバ200から受信することを監視している。可能通知を受信する場合(S418でYES)、S420に進む。一方、ダウンロード不可能であることを示す不可通知を受信する場合(S418でNO)、S416に戻る。S420では、ダウンロード実行命令を、MFP10に送信して、変換指示処理を終了する。
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。例えば、以下の変形例が含まれる。
(変形例)
(1)上記の各実施例では、変換サーバ200は、部分データ要求を受信すると、MFP10に部分データを送信する。しかしながら、MFP10は、変換サーバ200から、部分データを取得してもよい。即ち、MFP10が、変換サーバ200の格納装置260から、部分データを特定し、特定した部分データを、MFP10のデータ格納領域36に格納してもよい。本変形例の構成も、変換サーバ200が「データを提供する」構成に含まれる。
(2)上記の各実施理例では、MFP10は、部分データを、変換サーバ200から分割して受信している。即ち、MFP10は、部分データの一部を受信する毎に、受信可能信号を、変換サーバ200に送信している。しかしながら、MFP10は、部分データ要求を送信した後、受信可能信号を、変換サーバ200に送信せずに、部分データを、変換サーバ200から受信してもよい。
(3)上記の各実施例では、供給部54は、印刷用紙1枚分のデータが、データ格納領域36に格納されると、データを、印刷機構16に供給する。しかしながら、印刷機構16にデータを供給するタイミングは、これに限られない。例えば、供給部54は、データ格納領域36の空き容量が予め決められた閾値よりも小さくなる場合に、データを、印刷機構16に供給してもよい。
本変形例の場合、供給部54は、M(Mは、2以上の整数)部目の印刷データの取得が完了する前に、M−1部目の印刷データの印刷機構16への供給を開始してもよい。また、取得部52は、M―1部目の印刷データの印刷機構16への供給が完了した後に、M部目の印刷データを取得するための部分データ要求を送信してもよい。
(4)上記の各実施例では、S94において、取得部52は、未だ受信されていないデータ、即ちX−Zkバイトの部分データを、MFP10が受信するための部分データ要求を、変換サーバ200に送信する。しかしながら、取得部52は、未だ受信されていないデータと、当該データ以外のデータを含む部分データを、MFP10が受信するための部分データ要求を、変換サーバ200に送信してもよい。
(5)上記の各実施例では、制御部30は、印刷機構16にデータが供給されると、当該データをデータ格納領域36から消去する。しかしながら、制御部30は、印刷機構16にデータが供給されても、当該データをデータ格納領域36から消去しなくてもよい。この場合、格納部62は、データが受信される場合に、印刷機構16に既に供給されたデータに上書きすることによって、データをデータ格納領域36に格納してもよい。
(6)「印刷装置」は、印刷機能とスキャン機能とFAX機能とを実行可能であるMFP10に限られず、印刷機能のみを実行可能であるプリンタであってもよい。
(7)変換サーバ200は、格納装置260と別体で構成されていてもよい。この場合、変換サーバ200は、格納装置260と通信可能に接続されていてもよい。
(8)上記の各実施例では、MFP10のCPU32がプログラム42に従って処理を実行することによって、各部50〜62の機能が実現される。これに代えて、各部50〜62の機能のうちの少なくとも一部は、論理回路等のハードウェアによって実現されてもよい。同様に、中継サーバ100のCPU132がプログラム142に従って処理を実行することによって、各部150〜154の機能が実現される。これに代えて、各部150〜154の機能のうちの少なくとも一部は、論理回路等のハードウェアによって実現されてもよい。また、変換サーバ200のCPU232がプログラム242に従って処理を実行することによって、各部250〜254の機能が実現される。これに代えて、各部250〜254の機能のうちの少なくとも一部は、論理回路等のハードウェアによって実現されてもよい。
(9)上記の各実施例では、MFP10は、エラー状態である間、ハートビート信号を、変換サーバ200に送信する。しかしながら、MFP10は、エラー状態である間、ハートビート信号を、変換サーバ200に送信しなくてもよい。
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
2:通信システム、4:インターネット、10:MFP、16:印刷機構、30:制御部、36:データ格納領域、50:受付部、52:取得部、54:供給部、56:確立部、58:終了部、60:送信部、62:格納部、100:中継サーバ、150:部数受信部、152:特定部、154:期間送信部、200:変換サーバ、250:消去部、252:要求受信部、260:格納装置、300:格納サーバ

Claims (16)

  1. データを提供する提供装置と、インターネットを用いて通信する印刷装置であって、
    データを用いて印刷を実行する印刷機構と、
    印刷を実行すべき印刷部数を受け付ける受付部と、
    印刷データを、前記印刷装置が取得するためのデータ要求を、前記提供装置に送信する要求処理と、前記データ要求に応じて前記提供装置から前記印刷データを受信する受信処理と、を実行することによって、前記提供装置から前記印刷データを取得する取得部であって、前記データ要求は、前記印刷データのインターネット上の位置を示すアドレス情報を含む、前記取得部と、
    取得された前記印刷データを、前記印刷機構に供給する供給部と、
    を備え、
    前記取得部は、N部(Nは2以上の整数)の印刷を実行すべき場合に、1部毎に前記提供装置から前記アドレス情報を取得する取得処理と前記要求処理と前記受信処理とを実行することによって、前記提供装置から前記印刷データを取得し、M−1部目(Mは2以上N以下の整数)の前記印刷データのための前記取得処理と前記要求処理と前記受信処理が終了した後に、M部目の前記印刷データのための前記取得処理と前記要求処理と前記受信処理とを実行する、印刷装置。
  2. 前記M−1部目の前記印刷データのための前記取得処理で取得される前記アドレス情報と、前記M部目の前記印刷データのための前記取得処理で取得される前記アドレス情報と、は異なる文字列を含む、請求項1に記載の印刷装置。
  3. 前記供給部は、前記M部目の前記印刷データの受信処理が完了する前に、前記M−1部目の印刷データの前記受信処理によって取得された前記印刷データの前記印刷機構への供給を開始する、請求項1又は2に記載の印刷装置。
  4. 前記取得部は、前記M―1部目の前記印刷データの前記印刷機構への供給が完了した後に、前記M部目の印刷データの前記要求処理を実行する、請求項1〜3のいずれか一項に記載の印刷装置。
  5. 前記印刷装置は、さらに、
    印刷装置のメモリに前記印刷データを格納する格納部を備え、
    前記取得部は、前記提供装置から、前記印刷データを構成する複数個の部分データのそれぞれを、順次受信することによって、前記印刷データを取得し、
    前記格納部は、前記複数個の部分データのうちの受信された第1の部分データを、前記メモリに格納させ、
    前記供給部は、前記メモリに格納されている前記第1の部分データを、前記印刷機構に供給し、
    前記格納部は、前記複数個の部分データのうちの第2の部分データが受信される場合に、既に前記印刷機構に供給された前記第1の部分データが格納されていた前記メモリ内の領域に、前記第2の部分データを格納する、請求項1からのいずれか一項に記載の印刷装置。
  6. 前記提供装置は、
    前記印刷データを格納する場合に、前記印刷データを格納してから所定期間後のタイミングである消去タイミングを決定し、
    決定済みの消去タイミングが到来する前に、前記印刷装置から格納要求を受信する場合に、前記格納要求を格納してから前記所定期間後のタイミングである新たな消去タイミングを決定し、
    決定済みの消去タイミングが到来する場合に、前記印刷データを消去し、
    前記印刷装置は、さらに、
    前記格納要求を前記提供装置に送信する送信部を備える、請求項1から5のいずれか一項に記載の印刷装置。
  7. 前記送信部は、前記1部分の印刷データが取得される毎に、前記格納要求を送信する、請求項6に記載の印刷装置。
  8. 前記送信部は、印刷を実行すべき部数を用いて、前記印刷データが前記提供装置に格納されるべき特定の格納期間を決定し、決定された前記特定の格納期間を含む前記格納要求を、前記提供装置に送信する、請求項6に記載の印刷装置。
  9. 前記取得部は、前記N部の印刷を実行すべき場合に、
    前記受信処理が完了する毎に、N部目の印刷に用いられる印刷データが取得されたのか否かを判断する判断処理をさらに実行し、
    前記N部目の印刷に用いられる印刷データが取得されていないと判断する場合に、前記要求処理を実行し、
    前記N部目の印刷に用いられる印刷データが取得されたと判断する場合に、前記印刷データの取得が完了したことを示す完了情報を、前記提供装置に送信する、請求項1から8のいずれか一項に記載の印刷装置。
  10. 印刷データを提供する提供装置と、
    前記提供装置と、インターネットを用いて通信する印刷装置と、
    を備える通信システムであって、
    前記印刷装置は、
    データを用いた印刷を実行する印刷機構と、
    印刷を実行すべき印刷部数を受け付ける受付部と、
    印刷データを、前記印刷装置が取得するためのデータ要求を、前記提供装置に送信する要求処理と、前記データ要求に応じて前記提供装置から前記印刷データを受信する受信処理と、を実行することによって、前記提供装置から前記印刷データを取得する取得部であって、前記データ要求は、前記印刷データのインターネット上の位置を示すアドレス情報を含む、前記取得部と、
    取得された前記印刷データを、前記印刷機構に供給する供給部と、
    を備え、
    前記取得部は、N部(Nは2以上の整数)の印刷を実行すべき場合に、1部毎に前記提供装置から前記アドレス情報を取得する取得処理と前記要求処理と前記受信処理とを実行することによって、前記提供装置から前記印刷データを取得し、M−1部目(Mは2以上N以下の整数)の前記印刷データのための前記取得処理と前記要求処理と前記受信処理が終了した後に、M部目の前記印刷データのための前記取得処理と前記要求処理と前記受信処理とを実行する、通信システム。
  11. 前記M−1部目の前記印刷データのための前記取得処理で取得される前記アドレス情報と、前記M部目の前記印刷データのための前記取得処理で取得される前記アドレス情報と、は異なる文字列を含む、請求項10に記載の通信システム。
  12. 前記印刷装置は、さらに、
    印刷装置のメモリに前記印刷データを格納する格納部を備え、
    前記取得部は、前記提供装置から、前記印刷データを構成する複数個の部分データのそれぞれを、順次受信することによって、前記印刷データを取得し、
    前記格納部は、前記複数個の部分データのうちの受信された第1の部分データを、前記メモリに格納させ、
    前記供給部は、前記メモリに格納されている前記第1の部分データを、前記印刷機構に供給し、
    前記格納部は、前記複数個の部分データのうちの第2の部分データが受信される場合に、既に前記印刷機構に供給された前記第1の部分データが格納されていた前記メモリ内の領域に、前記第2の部分データを格納する、請求項10又は11に記載の通信システム。
  13. 前記提供装置は、
    前記印刷装置から前記印刷データ要求を受信する要求受信部と、
    前記印刷データ要求に応じて、前記印刷装置に前記印刷データを送信するデータ送信部と、を備える、請求項10から12のいずれか一項に記載の通信システム。
  14. 前記提供装置は、
    前記提供装置に格納されている期間が、予め決められた格納期間を越える前記印刷データを、前記提供装置から消去する消去部を、さらに備える、請求項10から13のいずれか一項に記載の通信システム。
  15. 前記提供装置は、
    前記印刷データを格納する格納装置と、
    前記印刷装置が前記格納装置から前記印刷データを取得するための通信を中継する中継装置と、を備え、
    前記中継装置は、
    前記印刷装置から前記印刷部数を示す部数情報を受信する部数受信部と、
    前記部数情報を用いて、前記格納装置に格納されている前記印刷データが、前記格納装置内に格納されるべき格納期間を特定する特定部と、
    前記格納期間を、前記格納装置に送信する期間送信部と、を備える、請求項10から14のいずれか一項に記載の通信システム。
  16. データを提供する提供装置と、インターネットを用いて通信する印刷装置ためのコンピュータプログラムであって、
    前記印刷装置は、印刷データを用いて印刷を実行する印刷機構を備え、
    前記コンピュータプログラムは、前記印刷装置に搭載されているコンピュータに、以下の処理、即ち、
    印刷を実行すべき印刷部数を受け付ける受付処理と、
    印刷データを、前記印刷装置が取得するためのデータ要求を、前記提供装置に送信する要求処理と、前記データ要求に応じて前記提供装置から前記印刷データを受信する受信処理と、を実行することによって、前記提供装置から前記印刷データを取得する取得処理であって、前記データ要求は、前記印刷データのインターネット上の位置を示すアドレス情報を含む、前記取得処理と、
    取得された前記印刷データを、前記印刷機構に供給する供給処理と、
    を備え、
    N部(Nは2以上の整数)の印刷を実行すべき場合に、1部毎に前記提供装置から前記アドレス情報を取得する処理と前記要求処理と前記受信処理とを実行させることによって、前記提供装置から前記印刷データを受信し、M−1部目(Mは2以上N以下の整数)の前記印刷データの受信処理が終了した後に、M部目の前記印刷データの要求処理を実行させる、コンピュータプログラム。
JP2012287136A 2012-12-28 2012-12-28 印刷装置 Active JP6015438B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2012287136A JP6015438B2 (ja) 2012-12-28 2012-12-28 印刷装置
US14/038,103 US9542131B2 (en) 2012-12-28 2013-09-26 Image forming apparatus for retrieving print data using an address of the stored print data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012287136A JP6015438B2 (ja) 2012-12-28 2012-12-28 印刷装置

Publications (2)

Publication Number Publication Date
JP2014128899A JP2014128899A (ja) 2014-07-10
JP6015438B2 true JP6015438B2 (ja) 2016-10-26

Family

ID=51016896

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012287136A Active JP6015438B2 (ja) 2012-12-28 2012-12-28 印刷装置

Country Status (2)

Country Link
US (1) US9542131B2 (ja)
JP (1) JP6015438B2 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5348166B2 (ja) 2011-03-30 2013-11-20 ブラザー工業株式会社 中継装置、通信方法、および通信システム
JP5927950B2 (ja) * 2012-02-03 2016-06-01 ブラザー工業株式会社 制御装置
JP6190207B2 (ja) * 2013-08-12 2017-08-30 キヤノン株式会社 システム、情報処理方法、処理装置、処理方法、及びプログラム
JP6428054B2 (ja) * 2014-08-27 2018-11-28 ブラザー工業株式会社 中継サーバ、および通信プログラム
JP6537390B2 (ja) * 2015-07-30 2019-07-03 キヤノン株式会社 画像形成装置、制御方法、およびプログラム
JP6631248B2 (ja) 2015-12-25 2020-01-15 ブラザー工業株式会社 プリンタ
JP2017174038A (ja) * 2016-03-23 2017-09-28 富士通株式会社 情報処理システム、情報処理方法およびプログラム
US10073654B1 (en) * 2017-12-08 2018-09-11 Kyocera Document Solutions Inc. Image forming operation monitoring systems and methods

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09325654A (ja) 1996-05-31 1997-12-16 Ricoh Co Ltd 画像形成装置管理システム
JP3411843B2 (ja) * 1998-12-28 2003-06-03 パナソニック コミュニケーションズ株式会社 複合機
JP2001101091A (ja) * 1999-09-30 2001-04-13 Fuji Xerox Co Ltd 画像処理システム、画像処理装置及びプロキシサーバ装置
US6970263B2 (en) 2000-06-30 2005-11-29 Canon Kabushiki Kaisha Print system, printing method, and server
JP2002014780A (ja) 2000-06-30 2002-01-18 Canon Inc 印刷システム、印刷方法、印刷装置、端末装置およびサーバ装置
EP1424627A3 (en) * 2002-11-29 2008-04-23 Seiko Epson Corporation Printing system for redistributing print jobs
JP2005078490A (ja) * 2003-09-02 2005-03-24 Canon Inc 画像処理装置
JP2005169838A (ja) * 2003-12-11 2005-06-30 Canon Inc 画像出力装置
JP4189595B2 (ja) * 2004-08-25 2008-12-03 コニカミノルタビジネステクノロジーズ株式会社 ファイル管理装置
JP4229065B2 (ja) * 2004-12-28 2009-02-25 ブラザー工業株式会社 画像形成装置及び画像形成システム
JP4712639B2 (ja) 2005-09-13 2011-06-29 株式会社リコー ネットワーク印刷システム、印刷装置、印刷データ生成装置、ネットワーク印刷方法、印刷方法、印刷データ生成方法およびプログラム
US7937393B2 (en) * 2005-11-28 2011-05-03 Commvault Systems, Inc. Systems and methods for classifying and transferring information in a storage network
JP2010224826A (ja) 2009-03-23 2010-10-07 Seiko Epson Corp プリンタードライバー、印刷制御プログラム及び印刷システム
CN102298512B (zh) * 2010-06-28 2014-07-16 株式会社东芝 服务器装置、图像形成系统及图像形成数据的管理方法
JP5618773B2 (ja) * 2010-11-11 2014-11-05 キヤノン株式会社 画像形成システムと画像形成装置及び画像形成装置における方法

Also Published As

Publication number Publication date
JP2014128899A (ja) 2014-07-10
US9542131B2 (en) 2017-01-10
US20140185087A1 (en) 2014-07-03

Similar Documents

Publication Publication Date Title
JP6015438B2 (ja) 印刷装置
JP6210130B2 (ja) 中継装置、中継システム、及び、中継方法
JP6690439B2 (ja) 画像処理装置
JP6547717B2 (ja) 電子機器及びアプリケーション制御プログラム
JP2008178066A (ja) データ処理装置
JP2020181573A (ja) 画像形成システム、画像形成装置、及び画像形成方法
JP6641928B2 (ja) プログラム
JP2010081011A (ja) 電子機器、管理システム及び管理プログラム
US20100110494A1 (en) Image forming method and apparatus using portable storage medium
JP2018205995A (ja) プログラム及び携帯端末
JP5847120B2 (ja) インターネットファクシミリ装置
JP5978991B2 (ja) 印刷装置
US8854696B2 (en) Facsimile apparatus capable of transmitting converted fax data to transmission source apparatus based on identifcation of the transmission source apparatus
JP2011155392A (ja) 画像形成装置、出力システム、出力方法、プログラム
US9900462B2 (en) File transmission apparatus, control method of file transmission apparatus, and storage medium
JP2007151007A (ja) 画像形成装置、履歴管理方法、記憶媒体、プログラム
JP6102345B2 (ja) 通信装置
JP2005184379A (ja) リモートコピー処理方法及びリモートコピー処理制御プログラム
JP6544163B2 (ja) 携帯端末及びプログラム
US8743409B2 (en) Information processing apparatus and method of processing information
JP5656798B2 (ja) 画像形成装置
US11563870B1 (en) Information processing apparatus, non-transitory computer readable medium, and information processing method to transmit and receive a facsimile including registering correspondence information
JP6436066B2 (ja) 画像形成装置および同期プログラム
JP6631548B2 (ja) ファクシミリ送信システム及び画像形成装置
JP6769217B2 (ja) コンピュータプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150318

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20151217

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160105

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160304

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: 20160830

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160912

R150 Certificate of patent or registration of utility model

Ref document number: 6015438

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150