(57)【要約】【課題】  本明細書では、複数部の印刷を適切に実行するための技術を提供する。【解決手段】  ＭＦＰ１０は、Ｎ部（Ｎは２以上の整数）の印刷を実行すべき場合に、１部毎に、変換サーバ２００から印刷データを取得し、Ｍ−１部目（Ｍは２以上Ｎ以下の整数）の印刷データが取得された後に（Ｓ７８）、Ｍ部目の印刷データのうちの一部である部分データを要求するための部分データ要求を送信する（Ｓ５８）。【選択図】図４
2014128899.tif 000002
【特許請求の範囲】
【請求項１】
データを提供する提供装置と、インターネットを用いて通信する印刷装置であって、
データを用いて印刷を実行する印刷機構と、
印刷を実行すべき印刷部数を受け付ける受付部と、
印刷データを、前記印刷装置が取得するためのデータ要求を、前記提供装置に送信する要求処理と、前記データ要求に応じて前記提供装置から前記印刷データを受信する受信処理と、を実行することによって、前記提供装置から前記印刷データを取得する取得部と、
取得された前記印刷データを、前記印刷機構に供給する供給部と、
を備え、
前記取得部は、Ｎ部（Ｎは２以上の整数）の印刷を実行すべき場合に、１部毎に前記要求処理と前記受信処理とを実行することによって、前記提供装置から前記印刷データを取得し、Ｍ−１部目（Ｍは２以上Ｎ以下の整数）の前記印刷データの受信処理が終了した後に、Ｍ部目の前記印刷データの要求処理を実行する、印刷装置。
【請求項２】
前記供給部は、前記Ｍ部目の前記印刷データの受信処理が完了する前に、前記Ｍ−１部目の印刷データの前記受信処理によって取得された前記印刷データの前記印刷機構への供給を開始する、請求項１に記載の印刷装置。
【請求項３】
前記取得部は、前記Ｍ―１部目の前記印刷データの前記印刷機構への供給が完了した後に、前記Ｍ部目の印刷データの前記要求処理を実行する、請求項１又は２に記載の印刷装置。
【請求項４】
前記印刷装置は、さらに、
印刷装置のメモリに前記印刷データを格納する格納部を備え、
前記取得部は、前記提供装置から、前記印刷データを構成する複数個の部分データのそれぞれを、順次受信することによって、前記印刷データを取得し、
前記格納部は、前記複数個の部分データのうちの受信された第１の部分データを、前記メモリに格納させ、
前記供給部は、前記メモリに格納されている前記第１の部分データを、前記印刷機構に供給し、
前記格納部は、前記複数個の部分データのうちの第２の部分データが受信される場合に、既に前記印刷機構に供給された前記第１の部分データが格納されていた前記メモリ内の領域に、前記第２の部分データを格納する、請求項１から３のいずれか一項に記載の印刷装置。
【請求項５】
前記データ要求は、前記印刷データのインターネット上の位置を示すアドレス情報を含み、
前記取得部は、前記Ｎ部の印刷を実行すべき場合に、１部毎に前記アドレス情報を取得する取得処理と前記要求処理と前記受信処理とを実行する、請求項１から４のいずれか一項に記載の印刷装置。
【請求項６】
前記印刷装置は、さらに、
前記提供装置に、予め決められている格納期間を越えて、前記印刷データを格納させるための格納要求を、前記提供装置に送信する送信部を備える、請求項１から５のいずれか一項に記載の印刷装置。
【請求項７】
前記送信部は、前記１部分の印刷データが取得される毎に、前記格納要求を送信する、請求項６に記載の印刷装置。
【請求項８】
前記送信部は、印刷を実行すべき部数を用いて、前記印刷データが前記提供装置に格納されるべき特定の格納期間を決定し、決定された前記特定の格納期間を含む前記格納要求を、前記提供装置に送信する、請求項６に記載の印刷装置。
【請求項９】
前記取得部は、前記Ｎ部の印刷を実行すべき場合に、
前記受信処理が完了する毎に、Ｎ部目の印刷に用いられる印刷データが取得されたのか否かを判断する判断処理をさらに実行し、
前記Ｎ部目の印刷に用いられる印刷データが取得されていないと判断する場合に、前記要求処理を実行し、
前記Ｎ部目の印刷に用いられる印刷データが取得されたと判断する場合に、前記印刷データの取得が完了したことを示す完了情報を、前記提供装置に送信する、請求項１から８のいずれか一項に記載の印刷装置。
【請求項１０】
印刷データを提供する提供装置と、
前記提供装置と、インターネットを用いて通信する印刷装置と、
を備える通信システムであって、
前記印刷装置は、
データを用いた印刷を実行する印刷機構と、
印刷を実行すべき印刷部数を受け付ける受付部と、
印刷データを、前記印刷装置が取得するためのデータ要求を、前記提供装置に送信する要求処理と、前記データ要求に応じて前記提供装置から前記印刷データを受信する受信処理と、を実行することによって、前記提供装置から前記印刷データを取得する取得部と、
取得された前記印刷データを、前記印刷機構に供給する供給部と、
を備え、
前記取得部は、Ｎ部（Ｎは２以上の整数）の印刷を実行すべき場合に、１部毎に前記要求処理と前記受信処理とを実行することによって、前記提供装置から前記印刷データを取得し、Ｍ−１部目（Ｍは２以上Ｎ以下の整数）の前記印刷データの受信処理が終了した後に、Ｍ部目の前記印刷データの要求処理を実行する、通信システム。
【請求項１１】
前記提供装置は、
前記印刷装置から前記印刷データ要求を受信する要求受信部と、
前記印刷データ要求に応じて、前記印刷装置に前記印刷データを送信するデータ送信部と、を備える、請求項１０に記載の通信システム。
【請求項１２】
前記提供装置は、
前記提供装置に格納されている期間が、予め決められた格納期間を越える前記印刷データを、前記提供装置から消去する消去部を、さらに備える、請求項１０又は１１に記載の通信システム。
【請求項１３】
前記提供装置は、
前記印刷データを格納する格納装置と、
前記印刷装置が前記格納装置から前記印刷データを取得するための通信を中継する中継装置と、を備え、
前記中継装置は、
前記印刷装置から前記印刷部数を示す部数情報を受信する部数受信部と、
前記部数情報を用いて、前記格納装置に格納されている前記印刷データが、前記格納装置内に格納されるべき格納期間を特定する特定部と、
前記格納期間を、前記格納装置に送信する期間送信部と、を備える、請求項１０から１２のいずれか一項に記載の通信システム。
【請求項１４】
データを提供する提供装置と、インターネットを用いて通信する印刷装置ためのコンピュータプログラムであって、
前記印刷装置は、印刷データを用いて印刷を実行する印刷機構を備え、
前記コンピュータプログラムは、前記印刷装置に搭載されているコンピュータに、以下の処理、即ち、
印刷を実行すべき印刷部数を受け付ける受付処理と、
印刷データを、前記印刷装置が取得するためのデータ要求を、前記提供装置に送信する要求処理と、前記データ要求に応じて前記提供装置から前記印刷データを受信する受信処理と、を実行することによって、前記提供装置から前記印刷データを取得する取得処理と、
取得された前記印刷データを、前記印刷機構に供給する供給処理と、
を備え、
Ｎ部（Ｎは２以上の整数）の印刷を実行すべき場合に、１部毎に前記要求処理と前記受信処理とを実行させることによって、前記提供装置から前記印刷データを受信し、Ｍ−１部目（Ｍは２以上Ｎ以下の整数）の前記印刷データの受信処理が終了した後に、Ｍ部目の前記印刷データの要求処理を実行させる、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書によって開示される技術は、印刷データを格納する格納装置とインターネットを用いて通信する印刷装置に関する。
【背景技術】
【０００２】
特許文献１には、印刷装置が開示されている。印刷装置は、サーバ装置から印刷用データを取得する。サーバ装置は、印刷用データを分割して印刷装置に送信する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００２−１４７８０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来技術では、印刷装置が、複数部の印刷を実行すべき場合が想定されていない。本明細書では、複数部の印刷を適切に実行するための技術を提供する。
【課題を解決するための手段】
【０００５】
本明細書によって開示される技術は、データを提供する提供装置と、インターネットを用いて通信する印刷装置に関する。印刷装置は、データを用いて印刷を実行する印刷機構を備える。印刷装置は、受付部と取得部と供給部とを備える。受付部は、印刷を実行すべき印刷部数を受け付ける。取得部は、印刷データを、印刷装置が取得するためのデータ要求を、提供装置に送信する要求処理と、データ要求に応じて提供装置から印刷データを受信する受信処理と、を実行することによって、提供装置から印刷データを取得する。供給部は、取得された印刷データを、印刷機構に供給する。取得部は、Ｎ部（Ｎは２以上の整数）の印刷を実行すべき場合に、１部毎に要求処理と受信処理とを実行することによって、提供装置から印刷データを取得し、Ｍ−１部目（Ｍは２以上Ｎ以下の整数）の印刷データの受信処理が終了した後に、Ｍ部目の印刷データの要求処理を実行する。
【０００６】
この構成では、１部毎に印刷データを取得し、取得された印刷データを、印刷機構に供給する。この構成によれば、印刷装置は、Ｎ部の印刷が実行されている間、印刷データを、印刷装置に格納し続けなくても、Ｎ部の印刷を適切に実行することができる。
【０００７】
供給部は、Ｍ部目の印刷データの受信処理が完了する前に、Ｍ−１部目の印刷データの受信処理によって取得された印刷データの印刷機構への供給を開始してもよい。
【０００８】
取得部は、Ｍ―１部目の印刷データの印刷機構への供給が完了した後に、Ｍ部目の印刷データの要求処理を実行してもよい。
【０００９】
印刷装置は、さらに、印刷装置のメモリに印刷データを格納する格納部を備えていてもよい。取得部は、提供装置から、印刷データを構成する複数個の部分データのそれぞれを、順次受信することによって、印刷データを取得してもよい。格納部は、複数個の部分データのうちの受信された第１の部分データを、メモリに格納させてもよい。供給部は、メモリに格納されている第１の部分データを、印刷機構に供給してもよい。格納部は、複数個の部分データのうちの第２の部分データが受信される場合に、既に印刷機構に供給された第１の部分データが格納されていたメモリ内の領域に、第２の部分データを格納してもよい。この構成によれば、印刷データ全体を、メモリに格納しなくて済む。この結果、メモリの容量を小さく抑えることができる。
【００１０】
データ要求は、印刷データのインターネット上の位置を示すアドレス情報を含んでいてもよい。取得部は、Ｎ部の印刷を実行すべき場合に、１部毎にアドレス情報を取得する取得処理と要求処理と受信処理とを実行してもよい。
【００１１】
印刷装置は、さらに、提供装置に、予め決められている格納期間を越えて、印刷データを格納させるための格納要求を、提供装置に送信する送信部を備えていてもよい。この構成によれば、印刷装置が、Ｎ部の印刷データを取得するまでに、印刷データが提供装置から消去されることを抑制することができる。
【００１２】
送信部は、１部の印刷データが取得される毎に、格納要求を送信してもよい。この構成によれば、１部の印刷データが取得される毎に、印刷データが格納される期間を延長することができる。
【００１３】
送信部は、印刷を実行すべき部数を用いて、印刷データが提供装置に格納されるべき特定の格納期間を決定し、決定された特定の格納期間を含む格納要求を、提供装置に送信してもよい。この構成によれば、印刷部数に応じて、適切な格納期間を決定することができる。これにより、Ｎ部の印刷データの受信処理が完了しているにも関わらず、印刷データが提供装置に長期間格納され続ける事態を抑制することができる。
【００１４】
取得部は、Ｎ部の印刷を実行すべき場合に、受信処理が完了する毎に、Ｎ部目の印刷に用いられる印刷データが取得されたのか否かを判断する判断処理をさらに実行してもよい。Ｎ部目の印刷に用いられる印刷データが取得されていないと判断する場合に、要求処理を実行し、Ｎ部目の印刷に用いられる印刷データが取得されたと判断する場合に、印刷データの取得が完了したことを示す完了情報を、提供装置に送信してもよい。この構成によれば、印刷装置は、提供装置に、Ｎ部の印刷データの受信が完了したことを知らせることができる。
【００１５】
印刷データを提供する提供装置と、提供装置と、インターネットを用いて通信する印刷装置と、を備える通信システムも新規で有用である。印刷装置は、データを用いた印刷を実行する印刷機構を備える。印刷装置は、受付部と取得部と供給部とを備える。受付部は、印刷を実行すべき印刷部数を受け付ける。取得部は、印刷データを、印刷装置が取得するためのデータ要求を、提供装置に送信する要求処理と、データ要求に応じて提供装置から印刷データを受信する受信処理と、を実行することによって、提供装置から印刷データを取得する。供給部は、取得された印刷データを、印刷機構に供給する。取得部は、Ｎ部（Ｎは２以上の整数）の印刷を実行すべき場合に、１部毎に要求処理と受信処理とを実行することによって、提供装置から印刷データを取得し、Ｍ−１部目（Ｍは２以上Ｎ以下の整数）の前記印刷データの受信処理が終了した後に、Ｍ部目の前記印刷データの要求処理を実行する。
【００１６】
この構成では、１部毎に印刷データを取得し、取得された印刷データを、印刷機構に供給する。この構成によれば、印刷装置は、Ｎ部の印刷が実行されている間、印刷データを、印刷装置に格納し続けなくても、Ｎ部の印刷を適切に実行することができる。
【００１７】
提供装置は、印刷装置から印刷データ要求を受信する要求受信部と、印刷データ要求に応じて、印刷装置に印刷データを送信するデータ送信部と、を備えていてもよい。
【００１８】
提供装置は、提供装置に格納されている期間が、予め決められた格納期間を越える印刷データを、提供装置から消去する消去部を、さらに備えていてもよい。この構成によれば、提供装置に印刷データが蓄積されることを抑制することができる。
【００１９】
提供装置は、印刷データを格納する格納装置と、印刷装置が格納装置から印刷データを取得するための通信を中継する中継装置と、を備えていてもよい。中継装置は、印刷装置から印刷部数を示す部数情報を受信する部数受信部と、部数情報を用いて、格納装置に格納されている印刷データが、格納装置内に格納されるべき格納期間を特定する特定部と、格納期間を、格納装置に送信する期間送信部と、を備えていてもよい。この構成によれば、印刷装置が、Ｎ部の印刷データを取得するまでに、印刷データが提供装置から消去されることを抑制することができる。
【００２０】
なお、上記の印刷装置のための制御方法、コンピュータプログラム、及び、当該コンピュータプログラムを格納するコンピュータ読取可能記録媒体も、新規で有用である。また、上記の提供装置のための制御方法、コンピュータプログラム、及び、当該コンピュータプログラムを格納するコンピュータ読取可能記録媒体も、新規で有用である。
【図面の簡単な説明】
【００２１】
【図１】通信システムの構成の一例を示す。
【図２】ＭＦＰが実行する処理のフローチャートを示す。
【図３】通信システムの各装置が実行する処理のシーケンス図を示す。
【図４】第１実施例のＭＦＰが実行する印刷処理のフローチャートを示す。
【図５】変換サーバが実行する処理のフローチャートを示す。
【図６】印刷処理の実行中にＭＦＰがエラー状態に移行するケースの通信システムの各装置が実行する処理のシーケンス図を示す。
【図７】ＭＦＰがエラー状態から通常状態に移行した後に、セッション確立処理を試行する場合の通信システムの各装置が実行する処理のシーケンス図を示す。
【図８】第２実施例のＭＦＰが実行する印刷処理のフローチャートを示す。
【図９】第３実施例のＭＦＰが実行する印刷処理のフローチャートを示す。
【図１０】第４実施例の中継サーバが実行するデータ変換指示処理のフローチャートを示す。
【発明を実施するための形態】
【００２２】
（第１実施例）
（通信システムの構成）
図１に示されるように、通信システム２は、多機能機（以下では、ＭＦＰ（Multi-Function Peripheralの略）と呼ぶ）１０と、中継サーバ１００と、変換サーバ２００と、格納サーバ３００と、を備える。ＭＦＰ１０と、中継サーバ１００と、変換サーバ２００と、格納サーバ３００とは、インターネット４を用いて、相互に通信可能である。
【００２３】
（ＭＦＰ１０の構成）
ＭＦＰ１０は、操作部１２と、表示部１４と、印刷機構１６と、ネットワークインターフェイス２０と、制御部３０と、を備える。ＭＦＰ１０は、印刷機能、スキャン機能、ＦＡＸ機能等を備える。上記の各部１２〜３０は、バス線（符号省略）に接続されている。操作部１２は、複数のキーによって構成される。ユーザは、操作部１２を操作することによって、様々な指示をＭＦＰ１０に与えることができる。表示部１４は、様々な情報を表示するためのディスプレイである。印刷機構１６は、インクジェット方式、レーザ方式等の印刷機構を備え、制御部３０からの指示に従って印刷を実行する。ネットワークインターフェイス２０は、インターネット４に接続されている。
【００２４】
制御部３０は、ＣＰＵ３２と、ＲＡＭ３４と、ＲＯＭ４０と、を備える。ＣＰＵ３２は、ＲＯＭ４０に格納されているプログラム４２に従って、様々な処理を実行することによって、各部５０〜６２の機能が実現される。
【００２５】
ＲＯＭ４０は、プログラム４２を格納する。ＲＡＭ３４は、データ格納領域３６を備える。データ格納領域３６は、外部装置（例えば変換サーバ２００）から受信されるデータを一時的に格納するための領域である。
【００２６】
（中継サーバ１００の構成）
中継サーバ１００は、ＭＦＰ１０が、外部装置（例えば格納サーバ３００）から、印刷対象のデータを取得する際に、ＭＦＰ１０と外部装置との通信を仲介する。中継サーバ１００は、ネットワークインターフェイス１２０と、制御部１３０と、を備える。上記の各部１２０，１３０は、バス線（符号省略）に接続されている。ネットワークインターフェイス１２０は、インターネット４に接続されている。通信システム２内の各デバイス間の通信は、インターネット４を用いて実行される。
【００２７】
制御部１３０は、ＣＰＵ１３２と、ＲＯＭ１４０と、を備える。ＣＰＵ１３２は、ＲＯＭ１４０に格納されているプログラム１４２に従って、様々な処理を実行することによって、各部１５０〜１５２の機能が実現される。ＲＯＭ１４０は、プログラム１４２を格納する。なお、特定部１５２及び期間送信部１５４は、第４実施例の中継サーバ１００が備える構成であり、第１実施例の中継サーバ１００は、各部１５２，１５４を備えていなくてもよい。
【００２８】
（変換サーバ２００の構成）
変換サーバ２００は、ＭＦＰ１０が、外部装置（例えば格納サーバ３００）から、印刷対象のデータを取得する際に、印刷対象のデータを、ＭＦＰ１０が解釈可能な形式（例えばｊｐｅｇ（Joint Photographic Experts Groupの略））の印刷データに変換するためのサーバである。変換サーバ２００は、ネットワークインターフェイス２２０と、制御部２３０と、格納装置２６０とを備える。上記の各部２２０，２３０，２６０は、バス線（符号省略）に接続されている。ネットワークインターフェイス２２０は、インターネット４に接続されている。
【００２９】
制御部２３０は、ＣＰＵ２３２と、ＲＯＭ２４０と、を備える。ＣＰＵ２３２は、ＲＯＭ２４０に格納されているプログラム２４２に従って、様々な処理を実行することによって、各部２５０〜２５４の機能が実現される。ＲＯＭ２４０は、プログラム２４２を格納する。中継サーバ１００及び変換サーバ２００は、ＭＦＰ１０のベンダによって設置されるサーバである。
【００３０】
格納装置２６０は、印刷データを格納する。格納装置２６０は、ＨＤＤ（Hard Disk Driveの略）を備える。格納装置２６０は、さらに、印刷データが格納装置２６０に格納されてからの期間を計測するタイマを備える。タイマの計測時間が、予め決められた格納期間（例えば１時間）を越えると、計測対象の印刷データは、格納装置２６０から消去される。これにより、格納装置２６０に、多数のデータが蓄積されることを防止することができる。
【００３１】
（格納サーバ３００の構成）
格納サーバ３００は、外部装置（例えばＭＦＰ１０）からアップロードされるデータを格納する機能と、格納サーバ３００に格納されているデータを、外部装置に提供する機能とを、備える。格納サーバ３００は、例えば、「Ｅｖｅｒｎｏｔｅ（登録商標）」、「Ｇｏｏｇｌｅ（登録商標）  Ｄｏｃｓ」、「ＰＩＣＡＳＡ（登録商標）」、「ＦＡＣＥＢＯＯＫ（登録商標）」等の公知のクラウドサーバである。
【００３２】
（ＭＦＰ１０が実行する処理）
図２を参照して、ＭＦＰ１０が実行する処理について説明する。ＭＦＰ１０のユーザが、操作部１２に、予め決められた画面取得操作を実行すると、受付部５０は、中継サーバ１００に、印刷設定画面を表す画面データを送信させるための画面要求を、インターネット４を介して、中継サーバ１００に送信する。画面取得操作は、例えば、画面データのＵＲＬ（Uniform Resource Locatorの略）の入力する操作である。画面要求は、画面データのＵＲＬを含む。図２の処理は、画面要求が送信されると開始される。Ｓ１０では、受付部５０は、中継サーバ１００から、画面データを受信する。受付部５０は、画面データを受信すると、ＲＯＭ４０に格納されているブラウザプログラム（図示省略）に従って、画面データによって表される印刷設定画面を、表示部１４に表示させる。
【００３３】
ユーザは、操作部１２を操作することによって、印刷設定画面に、印刷設定を入力することができる。印刷設定は、印刷対象の元データのＵＲＬ、印刷部数及び印刷用紙サイズを含む。ユーザは、印刷設定の入力が完了すると、操作部１２を操作することによって、予め決められた設定完了操作（例えば、印刷設定画面中の「設定完了」ボタンの操作）を実行する。これにより、受付部５０は、印刷部数を含む印刷設定を受け付ける。
【００３４】
Ｓ１２では、受付部５０は、設定完了操作が実行されることを監視している。制御部３０は、設定完了操作が実行されると、印刷設定が完了したと判断して（Ｓ１２でＹＥＳ）、Ｓ１４に進む。Ｓ１４では、制御部３０は、Ｓ１２において入力された印刷設定を、中継サーバ１００に送信する。印刷設定は、印刷部数を示す部数情報を含む。中継サーバ１００の部数受信部１５０は、ＭＦＰ１０から、部数情報を含む印刷設定を受信する。
【００３５】
次いで、Ｓ１６では、取得部５２は、中継サーバ１００から、印刷データのダウンロード実行命令が受信されることを監視する。ダウンロード実行命令が受信されると（Ｓ１６でＹＥＳ）、Ｓ１８において、制御部３０は、印刷処理（図４参照）を実行する。印刷処理が終了すると、Ｓ２０において、制御部３０は、Ｓ１８の印刷処理において、中継サーバ１００に送付した完了通知の応答として、中継サーバ１００から完了確認通知を受信することを監視する。完了確認通知が受信されると（Ｓ２０でＹＥＳ）、Ｓ２２において、制御部３０は、印刷完了画面を、表示部１４に表示させて、処理を終了する。
【００３６】
（ＭＦＰ１０が実行するエラー検出処理）
ＭＦＰ１０は、図２の処理とは別に、ＭＦＰ１０が電源ＯＮである間、制御部３０は、ＭＦＰ１０が通常状態からエラー状態になることを監視するエラー検出処理を実行する。即ち、エラー検出処理は、図２の処理と並行して実行される場合がある。エラー状態とは、ＭＦＰ１０が、外部装置（例えば変換サーバ２００）からデータを受信することができない状態である。
【００３７】
例えば、印刷機構１６が、印刷用紙切れ、トナー切れ、印刷機構１６のカバーが開いている等、印刷を実行することができない状態において、印刷すべきデータが受信されると、データ格納領域３６に、印刷されていないデータが蓄積される。この場合、データ格納領域３６の空き容量が十分でなく、データを受信することができなくなる。あるいは、ＭＦＰ１０が、外部装置と通信を実行することができない状態である。制御部３０は、ＭＦＰ１０がデータを受信可能な通常状態から、エラー状態に移行する場合、ＲＡＭ３４内のエラーフラグを、ＯＦＦからＯＮに切り替える。なお、通常状態は、エラー状態ではない状態である。
【００３８】
なお、変形例では、制御部３０は、印刷機構１６が印刷を実行することができない状態である場合に、データ格納領域３６の空き容量に関わらず、ＭＦＰ１０が通常状態からエラー状態に移行したと判断し、エラーフラグをＯＦＦからＯＮに切り替えてもよい。
【００３９】
（印刷処理が実行される前の通信システム内の処理）
次いで、図３を参照して、図２のＳ１２において、ＭＦＰ１０が印刷設定を送信してから、図２のＳ１８の印刷処理が実行されるまでの通信システム２の各デバイス１０，１００，２００，３００の処理を説明する。ＭＦＰ１０が印刷設定を送信すると（図２のＳ１２）、中継サーバ１００は、印刷設定を受信する。印刷設定には、印刷部数を示す情報と、印刷対象の元データのＵＲＬが含まれる。中継サーバ１００は、中継サーバ１００が元データを取得するための元データ要求を、格納サーバ３００に送信する。元データ要求は、元データのＵＲＬを含む。格納サーバ３００は、元データ要求を受信すると、元データのＵＲＬによって特定させる元データを、中継サーバ１００に送信する。
【００４０】
中継サーバ１００は、格納サーバ３００から元データを受信すると、元データ１００を、変換サーバ２００に送信する。変換サーバ２００は、受信された元データが、ＭＦＰ１０が解釈可能な形式のデータであるのか否かを判断する。元データが、ＭＦＰ１０が解釈可能な形式のデータであると判断される場合、変換サーバ２００は、元データを、格納装置２６０に格納する。一方、元データが、ＭＦＰ１０が解釈可能な形式のデータでないと判断される場合、変換サーバ２００は、元データを、ＭＦＰ１０が解釈可能な形式のデータに変換して、格納装置２６０に格納する。以下では、格納装置２６０に格納されるデータを、印刷データと呼ぶ。変換サーバ２００は、印刷データを識別するために、印刷データＩＤを決定する。変換サーバ２００は、決定された印刷データＩＤを、中継サーバ１００に送信する。
【００４１】
中継サーバ１００は、変換サーバ２００から印刷データＩＤを受信すると、印刷データをダウンロードすることができるのか否かを確認するための可否確認信号を、後述する可能通知を受信するまで、定期的に変換サーバ２００に送信する。変換サーバ２００は、変換処理が完了していない場合、可否確認信号の応答として、ダウンロード不可能であることを示す不可通知を、中継サーバ１００に送信する。一方、変換サーバ２００は、変換処理が完了している場合、可否確認信号の応答として、ダウンロード可能であることを示す可能通知を、中継サーバ１００に送信する。なお、変換サーバ２００は、変換処理が実行されない場合、即ち、元データが、ＭＦＰ１０が解釈可能な形式のデータである場合、可否確認信号の応答として、可能通知を、中継サーバ１００に送信する。
【００４２】
中継サーバ１００は、可能通知を受信すると、ダウンロード実行命令を、ＭＦＰ１０に送信し、ＭＦＰ１０は、当該ダウンロード実行命令を受信する（図２のＳ１６でＹＥＳ）。これにより、ＭＦＰ１０は、印刷処理（図２のＳ１８）を開始する。
【００４３】
（ＭＦＰ１０が実行する印刷処理）
次いで、図４を参照して、ＭＦＰ１０が実行する印刷処理について説明する。ＭＦＰ１０は、図２のＳ１２で受け付けた印刷部数が、２部以上である場合、１部毎に印刷データを受信し、印刷する。例えば、ＭＦＰ１０は、印刷すべき部数がＮ部（Ｎは２以上の整数）である場合、印刷データを受信するための処理を、Ｎ回実行する。
【００４４】
Ｓ５０では、制御部３０は、ＭＦＰ１０が印刷データを取得した回数が、図２のＳ１２で受け付けた印刷部数（以下ではＮ）未満であるのか否かを判断する。具体的には、制御部３０は、印刷データを１回取得する毎に（即ち、後述する複数の部分データを取得することによって、印刷データの全体を１回取得する毎に）、ＲＡＭ３４内の取得済みカウンタを、「１」増加する。制御部３０は、取得済みカウンタの値が、Ｎ未満であるのか否かを判断する。印刷データの取得回数がＮ以上である場合（Ｓ５０でＮＯ）、Ｓ９６において、制御部３０は、印刷処理を完了することを示す完了通知を、中継サーバ１００に送信して、印刷処理を終了する。この構成によれば、ＭＦＰ１０は、中継サーバ１００に、Ｎ部分の印刷データの取得が完了したことを知らせることができる。これにより、中継サーバ１００は、中継サーバ１００に格納されている印刷データＩＤ等を消去することができる。
【００４５】
印刷データの取得回数がＮ未満である場合（Ｓ５０でＹＥＳ）、Ｓ５２において、取得部５２は、格納装置２６０に格納されている印刷データを指定可能なＵＲＬを、ＭＦＰ１０が取得するためのＵＲＬ要求を、中継サーバ１００に送信する。次いで、Ｓ５４において、取得部５２は、印刷データのＵＲＬを、中継サーバ１００から受信する。印刷データのＵＲＬは、変換サーバ２００のＵＲＬ（例えば「http://server1/path1」）と、印刷データＩＤ（例えば「conv_id=printdata1」）と、を組み合わせて構成される（例えば「http://server1/path1?conv_id=printdata1」）。
【００４６】
次いで、Ｓ５６において、確立部５６は、ＭＦＰ１０と変換サーバ２００との間に、ＴＣＰセッションを確立するための確立処理を実行する。具体的には、確立部５６は、まず、ＳＹＮパケットを、Ｓ５４で受信された変換サーバ２００のＵＲＬを送信先に指定して、送信する。変換サーバ２００は、ＳＹＮパケットを受信すると、ＳＹＮ／ＡＣＫパケットを、ＳＹＮパケットの送信元のＭＦＰ１０に送信する。確立部５６は、変換サーバ２００からＳＹＮ／ＡＣＫパケットを受信すると、ＡＣＫパケットを、変換サーバ２００に送信する。これにより、ＭＦＰ１０と変換サーバ２００との間に、ＴＣＰセッションが確立される。
【００４７】
次いで、Ｓ５８では、取得部５２は、印刷データの一部である部分データを、ＭＦＰ１０が受信するための部分データ要求を、変換サーバ２００に送信する。取得部５２は、Ｓ５６で確立されたＴＣＰセッションを利用して、部分データ要求を、変換サーバ２００に送信する。部分データ要求は、印刷データのＵＲＬと、印刷データ中の部分データの始点を示す始点情報と、部分データのデータサイズを示すサイズ情報と、を含む。具体的には、部分データ要求は、印刷データのＵＲＬ（例えば「http://server1/path1?conv_id=printdata1」と、始点情報（例えば「first=0k」）と、サイズ情報（例えば「size=100k」）と、を組み合わせて構成される（例えば「http://server1/path1?conv_id=printdata1?first=0&size=100k」）。なお、始点情報「first=0k」は、部分データの始点が、印刷データのうち、０ｋバイト目のデータであることを示す。また、サイズ情報「size=100k」は、要求する部分データのデータサイズが１００ｋバイトであることを示す。この構成によれば、変換サーバ２００は、部分データを、適切に特定することができる。
【００４８】
なお、本実施例では、部分データのデータサイズは、Ｘｋバイト（Ｘは、１以上の整数）である場合について説明する。なお、変形例では、部分データ要求は、部分データの終点を示す終点情報（例えば「end=100k」）を含んでいてもよい。本変形例では、始点情報及び終点情報が部分データのデータサイズを示すサイズ情報である。
【００４９】
次いで、Ｓ６０では、取得部５２は、部分データ要求に対する応答を、変換サーバ２００から受信することを監視する。変換サーバ２００は、Ｓ５６で確立されたＴＣＰセッションを利用して、部分データ要求に対する応答を、ＭＦＰ１０に送信する。変換サーバ２００の制御部２３０は、部分データ要求に含まれるサイズ情報が、変換サーバ２００が送信すべきデータサイズと一致している場合、部分データを送信するための処理を実行する。具体的には、制御部２３０は、要求された部分データを、予め決められたＹｋバイト（例えばＹ＝８）毎に分割して、ＭＦＰ１０に送信する。一方、制御部２３０は、部分データ要求に含まれるサイズ情報が、変換サーバ２００が送信すべきデータサイズと一致していない場合、部分データとして要求すべきデータサイズを示すサイズ情報を、ＭＦＰ１０に送信する。
【００５０】
取得部５２は、部分データ要求に対する応答として、サイズ情報が受信される場合（Ｓ６０でＹＥＳ）、Ｓ６２に進む。一方、取得部５２は、部分データ要求に対する応答として、部分データの一部が受信される場合（Ｓ６０でＮＯ）、Ｓ６４に進む。Ｓ６２では、終了部５８は、Ｓ５６で確立されたＴＣＰセッションを終了するための終了処理を実行する。
【００５１】
具体的には、終了部５８は、まず、ＦＩＮパケットを、Ｓ５６で確立されたＴＣＰセッションを利用して、変換サーバ２００に送信する。変換サーバ２００は、ＦＩＮパケットを受信すると、ＦＩＮ／ＡＣＫパケットを、Ｓ５６で確立されたＴＣＰセッションを利用して、ＭＦＰ１０に送信する。終了部５８は、変換サーバ２００からＦＩＮ／ＡＣＫパケットを受信すると、ＡＣＫパケットを、Ｓ５６で確立されたＴＣＰセッションを利用して、変換サーバ２００に送信する。これにより、ＭＦＰ１０と変換サーバ２００との間に、ＴＣＰセッションが切断され、ＴＣＰセッションが終了する。ＭＦＰ１０と変換サーバ２００との間のＴＣＰセッションが終了する状態を、ＭＦＰ１０と変換サーバ２００との間のＴＣＰセッションが閉じていると言うこともできる。Ｓ６２が終了すると、Ｓ５６に戻る。Ｓ６２が実行された後のＳ５６では、確立部５６は、新たにＴＣＰセッションを確立する。Ｓ５８では、Ｓ６０で受信されたサイズ情報を含む新たに部分データ要求を、変換サーバ２００に送信する。なお、変形例では、Ｓ６２の処理をスキップしてもよい。即ち、Ｓ５６で確立されたＴＣＰセッションを終了せずに、Ｓ５８において、Ｓ６０で受信されたサイズ情報を含む新たな部分データ要求を、変換サーバ２００に送信してもよい。
【００５２】
Ｓ６４では、取得部５２は、Ｓ５６で確立されたセッションを利用して、Ｙｋバイトのデータを、変換サーバ２００から受信する。格納部６２は、受信されたＹｋバイトのデータを、データ格納領域３６に格納する。次いで、Ｓ６６では、取得部５２は、変換サーバ２００から受信されたデータのデータサイズＺバイトを算出する。次いで、Ｓ６８では、供給部５４は、１枚の印刷用紙の印刷に利用すべきデータが、データ格納領域３６に格納されているのか否かを判断する。１枚の印刷用紙の印刷に利用すべきデータが、データ格納領域３６に格納されている場合（Ｓ６８でＹＥＳ）、Ｓ７０において、供給部５４は、データ格納領域３６に格納されているデータを、印刷機構１６に供給して、Ｓ７２に進む。なお、変形例では、Ｓ６８において、供給部５４は、１バンドを印刷可能なデータが、データ格納領域３６に格納されているのか否かを判断してもよい。特に、印刷機構１６が、レーザ方式の印刷機構であれば、１枚の印刷用紙の印刷に利用すべきデータが、データ格納領域３６に格納されているのか否かを判断してもよいし、印刷機構１６が、インクジェット方式の印刷機構であれば、１バンドを印刷可能なデータが、データ格納領域３６に格納されているのか否かを判断してもよい。
【００５３】
Ｓ７０の処理の後、供給部５４は、印刷機構１６に供給されたデータを、データ格納領域３６から消去する。これにより、格納部６２は、次に、Ｓ６４で受信されるデータを、データ格納領域３６内の印刷機構１６に供給されたデータが格納されていた領域に、格納することができる。この構成によれば、印刷データ全体を、データ格納領域３６に格納しなくて済む。この結果、ＲＡＭ３４の容量を小さく抑えることができる。
【００５４】
一方、１枚の印刷用紙に利用すべきデータが、データ格納領域３６に格納されていない場合（Ｓ６８でＮＯ）、Ｓ７０の処理をスキップし、Ｓ７２に進む。Ｓ７２では、制御部３０は、エラーフラグがＯＮであるのか否かを判断する。エラーフラグがＯＦＦ、即ち、ＭＦＰ１０が通常状態である場合（Ｓ７２でＮＯ）、Ｓ７４に進む。一方、エラーフラグがＯＮ、即ち、ＭＦＰ１０がエラー状態である場合（Ｓ７２でＹＥＳ）、Ｓ８２に進む。
【００５５】
ＭＦＰ１０が通常状態である場合（Ｓ７２でＮＯ）、Ｓ７４では、取得部５２は、Ｓ５８で要求した部分データの受信が完了したのか否かを判断する。具体的には、取得部５２は、Ｓ６６で算出された値Ｚが、Ｘ未満であるのか否かを判断する。ＺがＸ未満である場合、取得部５２は、部分データの受信が完了していない（Ｓ７４でＮＯ）と判断し、Ｓ６４に戻る。取得部５２は、Ｓ５６で確立されたＴＣＰセッションを利用して、部分データを、変換サーバ２００から取得する処理を実行する。
【００５６】
一方、ＺがＸ未満でない場合、取得部５２は、部分データの受信が完了している（Ｓ７４でＹＥＳ）と判断し、Ｓ７６において、終了部５８は、Ｓ５６で確立されたＴＣＰセッションを終了する。Ｓ７６の処理は、Ｓ６２と同じ処理である。続くＳ７８では、取得部５２は、印刷データの取得を完了したのか否かを判断する。具体的には、取得部５２は、印刷データの終了を示す情報を、変換サーバ２００から受信する場合、印刷データの受信を完了したと判断し（Ｓ７８でＹＥＳ）、Ｓ８０において、送信部６０は、格納期間リセット命令を、変換サーバ２００に送信する。格納期間リセット命令は、印刷データが格納装置２６０に格納されている期間を計測するタイマを、変換サーバ２００にリセットさせるための命令である。これにより、印刷データが格納装置２６０に格納されている期間を延長することができる。この構成によれば、１部の印刷データがＭＦＰ１０に取得される毎に、印刷データが、格納装置２６０に格納される期間を延長することができる。一方、取得部５２は、印刷データの終了を示す情報を、変換サーバ２００から受信していない場合、印刷データの受信を完了していないと判断し（Ｓ７８でＮＯ）、Ｓ５６に戻る。
【００５７】
Ｓ８０の処理の後、Ｓ５０に戻ると、制御部３０は、新たに、印刷データを変換サーバ２００から取得するために、Ｓ５２〜Ｓ９４の処理を実行する。制御部３０は、図２のＳ１２で受け付けられた印刷部数と同じ回数だけ、Ｓ５２〜Ｓ９４の処理を実行する。即ち、制御部３０は、Ｎ部（Ｎは２以上の整数）の印刷を実行すべき場合に、１部毎に印刷データを取得し（Ｓ７８でＹＥＳ）、Ｍ−１部目（Ｍは２以上Ｎ以下の整数）の印刷データを取得した後に（Ｓ７８でＹＥＳ）、Ｍ部目の印刷データを取得するための部分データ要求を送信する（Ｓ５８）。
【００５８】
また、供給部５４は、Ｍ部目の印刷データの取得が完了する前に、Ｍ−１部目の印刷データを、印刷機構１６に供給する。取得部５２は、供給部５４がＭ―１部目の印刷データを、印刷機構１６に供給した後に、Ｍ部目の印刷データを取得する。
【００５９】
また、取得部５２は、１部の印刷データを取得し終える（Ｓ７８でＹＥＳ）と、新たに、格納装置２６０に格納されている印刷データを指定可能なＵＲＬを、ＭＦＰ１０が取得するためのＵＲＬ要求を、中継サーバ１００に送信する。即ち、取得部５２は、１部の印刷データを取得する毎に、当該印刷データを指定可能なＵＲＬを、ＭＦＰ１０が取得するためのＵＲＬ要求を、中継サーバ１００に送信する。例えば、印刷データのＵＲＬに、タイムスタンプのように、経時的に変化する文字列が含まれている場合、印刷データの取得中に、印刷データのＵＲＬが変化する場合がある。この場合、一旦、Ｓ５４で取得された印刷データのＵＲＬを用いて、印刷データを繰り返し取得することができない。本実施例の構成によれば、印刷データを取得する毎に、新たに、印刷データのＵＲＬを受信する。このため、ＭＦＰ１０は、印刷データのＵＲＬが変化する場合でも、印刷データを取得することができる。
【００６０】
一方、ＭＦＰ１０がエラー状態である場合（Ｓ７２でＹＥＳ）、Ｓ８２では、制御部３０は、エラーフラグがＯＦＦであるのか否かを判断する。なお、Ｓ８２における判断は、ＭＦＰ１０がエラー状態になってから、予め決められた期間（例えば1分）が経過した後に、実行される。エラーフラグがＯＦＦ、即ち、ＭＦＰ１０が通常状態である場合（Ｓ８２でＹＥＳ）、Ｓ８８に進む。一方、エラーフラグがＯＮ、即ち、ＭＦＰ１０がエラー状態である場合（Ｓ８２でＮＯ）、Ｓ８４に進む。Ｓ８４では、確立部５６は、ハートビート信号の送信（Ｓ８６参照）に利用されるＴＣＰセッションを確立する確立処理を実行する。Ｓ８４の確立処理は、Ｓ５６の確立処理と同様である。なお、Ｓ８４では、確立部５６は、Ｓ５６で確立されたＴＣＰセッションが、維持されているのか否かに関わらず、別のＴＣＰセッションを確立する。次いで、Ｓ８６において、送信部６０は、Ｓ８４で確立されたＴＣＰセッションを利用して、ハートビート信号を、変換サーバ２００に送信して、Ｓ８２に戻る。
【００６１】
一方、ＭＦＰ１０が通常状態である場合（Ｓ８２でＹＥＳ）、Ｓ８８では、制御部３０は、Ｓ５６で確立されたＴＣＰセッションを利用して、データを受信可能であるのか否かを判断する。具体的には、制御部３０は、ＭＦＰ１０がエラー状態から通常状態に移行した後であって、データ格納領域３６に、データを格納するための空き領域が確保される場合に、Ｓ５６で確立されたＴＣＰセッションを利用して、データを受信可能である旨の受信可能信号を、変換サーバ２００に送信する。変換サーバ２００は、受信可能信号を受信すると、Ｓ５８で要求された部分データのうち、ＭＦＰ１０に未だ送信されていないデータを送信する。この場合、Ｓ６４において、取得部５２は、データを受信する。
【００６２】
一方、受信可能信号を、変換サーバ２００に送信しても、部分データが受信されない場合（Ｓ８８でＮＯ）、Ｓ９０において、確立部５６は、Ｓ５６と同様の確立処理を試行する。なお、Ｓ８８でＮＯの場合には、Ｓ５６で確立されたＴＣＰセッションが終了されている場合と、既にＭＦＰ１０が部分データの受信を完了している場合とが含まれる。
【００６３】
次いで、Ｓ９２では、制御部３０は、Ｓ９０において、ＴＣＰセッションを確立することができたのか否かを判断する。例えば、ＭＦＰ１０がエラー状態に移行してから通常状態に移行するまでの間、即ち、Ｓ８２からＳ８６の処理が繰り返し実行されている間に、変換サーバ２００が通信を実行することができない状態になった場合、ＴＣＰセッションを確立することができない。
【００６４】
具体的には、Ｓ９２では、Ｓ９０の確立処理において、ＭＦＰ１０が、ＳＹＮパケットに対する応答を受信することができない場合、制御部３０は、ＴＣＰセッションを確立することができなかったと判断して（Ｓ９２でＮＯ）、印刷処理を終了する。一方、Ｓ９０の確立処理が完了された場合、制御部３０は、ＴＣＰセッションを確立することができたと判断して（Ｓ９２でＹＥＳ）、Ｓ９４に進む。
【００６５】
Ｓ９４では、取得部５２は、Ｓ９０で確立されたＴＣＰセッションを利用して、Ｘｋバイトの部分データのうち、未だ受信されていないデータ、即ちＸ−Ｚｋバイトの部分データを、ＭＦＰ１０が受信するための部分データ要求を、変換サーバ２００に送信する。なお、Ｘ−Ｚ＝０である場合、Ｓ７６に進む。
【００６６】
制御部３０は、部分データの一部のデータを受信する受信処理（Ｓ６４〜Ｓ７４）と、を繰り返し実行することによって、部分データを受信する。また、取得部５２は、部分データを要求する要求処理（Ｓ５８）と、部分データの受信処理（Ｓ５６〜Ｓ７８）と、を繰り返し実行することによって、印刷データを取得する。
【００６７】
（変換サーバ２００が実行する処理）
次いで、図５を参照して、変換サーバ２００が実行する処理について説明する。本処理は、中継サーバ１００から、元データが受信されると開始される。Ｓ１００では、制御部２３０は、元データに基づく印刷データを、格納装置２６０に格納する。
【００６８】
次いで、Ｓ１０２では、要求受信部２５２は、例えばＭＦＰ１０等の外部装置から、部分データ要求を受信することを監視する。部分データ要求を受信する場合（Ｓ１０２でＹＥＳ）、Ｓ１０４において、データ送信部２５４は、部分データを送信する送信処理を開始して、Ｓ１０６に進む。なお、Ｓ１０２では、データ送信部２５４は、受信された部分データ要求に含まれるサイズ情報が、変換サーバ２００が送信すべきデータサイズと一致していない場合、部分データとして要求すべきデータサイズを示すサイズ情報を、部分データ要求の送信元の外部装置に送信する。そして、Ｓ１０２において、要求受信部２５２は、外部装置から、新たに部分データ要求を受信することを監視する。即ち、Ｓ１０２では、要求受信部２５２は、変換サーバ２００が送信すべきデータサイズを示すサイズ情報を含む部分データ要求が受信される場合に、ＹＥＳと判断する。Ｓ１０４では、図４のＳ６４からＳ７８に対応する処理が実行される。一方、部分データ要求を受信しない場合（Ｓ１０２でＮＯ）、Ｓ１０４をスキップして、Ｓ１０６に進む。
【００６９】
Ｓ１０６〜Ｓ１１０は、Ｓ１０４で開始された送信処理と並行して実行される。Ｓ１０６では、制御部２３０は、印刷データが格納装置２６０に格納されている期間が、格納期間を変更して格納すべきであるのか否かを判断する。具体的には、制御部２３０は、ＭＦＰ１０から、ハートビート信号（図４のＳ８６参照）、又は、格納期間リセット命令（図４のＳ８０）を受信すると、格納期間を変更すべきである（Ｓ１０６でＹＥＳ）と判断して、Ｓ１０８に進む。Ｓ１０８では、制御部２３０は、印刷データが格納されている期間を計測するタイマをリセットすることによって、格納期間を変更して、Ｓ１１０に進む。
【００７０】
一方、制御部２３０は、ＭＦＰ１０から、ハートビート信号（図４のＳ８６参照）、又は、格納期間リセット命令（図４のＳ８０）が受信されない場合、格納期間を変更すべきでない（Ｓ１０６でＮＯ）と判断して、Ｓ１１０に進む。Ｓ１１０では、消去部２５０は、タイマが、格納期間を越えているのか否かを判断する。タイマが格納期間を越えていない場合（Ｓ１１０でＮＯ）、Ｓ１０２に戻る。一方、タイマが格納期間を越えている場合（Ｓ１１０でＹＥＳ）、Ｓ１１２において、消去部２５０は、印刷データを、格納装置２６０から消去して、処理を終了する。この構成によれば、変換サーバ２００に、印刷データが蓄積されることを抑制することができる。
【００７１】
（ＭＦＰ１０がエラー状態に移行するケース）
次いで、図６を参照して、部分データの受信中に、ＭＦＰ１０が通常状態からエラー状態に移行するケースにおける各デバイス１０，１００，２００，３００の処理を説明する。ＭＦＰ１０がＵＲＬ要求を送信する（図４のＳ５２）と、中継サーバ１００は、ＵＲＬ要求を受信する。中継サーバ１００は、ＵＲＬ要求の応答として、変換サーバ２００のＵＲＬと、印刷データＩＤとを含む印刷データのＵＲＬを、ＭＦＰ１０に送信する。
【００７２】
ＭＦＰ１０は、印刷データのＵＲＬを受信する（図４のＳ５４）と、ＭＦＰ１０と変換サーバ２００との間に、ＴＣＰセッションであるセッションＳＥ１を確立する（図４のＳ５６）。次いで、ＭＦＰ１０は、セッションＳＥ１を利用して、変換サーバ２００に、部分データ要求を送信する（図４の５８）。部分データ要求は、５０ｋバイトを示すサイズ情報を含む。部分データ要求に含まれるサイズ情報で示されるデータサイズである５０ｋバイトは、変換サーバ２００が送信すべき部分データのデータサイズである１００ｋバイトと異なる。変換サーバ２００は、１００ｋバイトを示すサイズ情報を、ＭＦＰ１０に送信する。なお、変形例では、ＭＦＰ１０は、部分データ要求を送信する前に、要求すべき部分データのデータサイズを、変換サーバ２００から取得してもよい。
【００７３】
ＭＦＰ１０は、変換サーバ２００からサイズ情報を受信すると（図４のＳ６０でＹＥＳ）、セッションＳＥ１を終了する（図４のＳ６２）。この構成によれば、ＭＦＰ１０は、セッションＳＥ１を適切に終了させることができる。そして、ＭＦＰ１０は、新たに、ＭＦＰ１０と変換サーバ２００との間に、ＴＣＰセッションであるセッションＳＥ２を確立する（図４のＳ５６）。次いで、ＭＦＰ１０は、セッションＳＥ２を利用して、変換サーバ２００に、部分データ要求を送信する（図４のＳ５８）。この構成によれば、ＭＦＰ１０は、部分データ要求を送信する際に、セッションＳＥ２を適切に確立することができる。
【００７４】
部分データ要求は、１００ｋバイトを示すサイズ情報を含む。この構成によれば、ＭＦＰ１０は、変換サーバ２００が送信すべきデータサイズの部分データを、変換サーバ２００に要求することができる。この結果、部分データのデータサイズが小さすぎるために、印刷データが取得されるまでに、ＭＦＰ１０は、多数の部分データを要求し、受信しなくて済む。また、部分データのデータサイズが大きすぎるために、ＭＦＰ１０が１個の部分データを受信するまでに、多くの時間が掛かることを抑制することができる。
【００７５】
変換サーバ２００は、部分データ要求に応じて、部分データを送信する。変換サーバ２００は、１００ｋバイトの部分データを、８ｋバイト毎に分割して送信する。ＭＦＰ１０は、８ｋバイトのデータを受信する毎に、データ格納領域３６に格納する（図４のＳ６４）。なお、ＭＦＰ１０は、８ｋバイトのデータを格納する毎に、データ格納領域３６の空き容量を確認し、８ｋバイトのデータが受信可能であることを示す信号である受信可能信号を、変換サーバ２００に送信する。変換サーバ２００は、受信可能信号をＭＦＰ１０から受信する場合に、新たに、８ｋバイトのデータを、ＭＦＰ１０に送信する。
【００７６】
ＭＦＰ１０は、エラーフラグがＯＦＦからＯＮに変更されると（図４のＳ７２でＹＥＳ）、新たなＴＣＰセッションであるセッションＳＥ３を、ＭＦＰ１０と変換サーバ２００との間に確立する（図４のＳ８４）。これにより、ＭＦＰ１０と変換サーバ２００との間には、セッションＳＥ２とセッションＳＥ３とが確立される。次いで、ＭＦＰ１０は、セッションＳＥ３を利用して、ハートビート信号を、変換サーバ２００に送信する（図４のＳ８６）。この構成によれば、ハートビート信号を送信するためのセッションＳＥ３を確立することができる。変換サーバ２００は、ハートビート信号を受信すると（図５のＳ１０６）、タイマをリセットする（図５のＳ１０８）。これにより、ＭＦＰ１０がエラー状態である間に、印刷データが、変換サーバ２００から消去される事態を回避することができる。ＭＦＰ１０は、ＭＦＰ１０がエラー状態から通常状態に移行されるまで、ハートビート信号を繰り返し送信する。
【００７７】
ＭＦＰ１０は、エラーフラグがＯＮからＯＦＦに変更されると（図４のＳ８２でＹＥＳ）、セッションＳＥ３を終了する終了処理を実行する。次いで、ＭＦＰ１０は、セッションＳＥ２を利用して、受信可能信号を、変換サーバ２００に送信する。変換サーバ２００は、受信可能信号を受信すると、セッションＳＥ２を利用して、部分データのうちの未送信のデータを、８ｋバイトのデータに分割して、ＭＦＰ１０に送信する。ＭＦＰ１０は、既に確立されているセッションＳＥ２を利用して、データを受信することができるため、新たにＴＣＰセッションを確立せずに済む。セッションＳＥ２が維持されているために、ＭＦＰ１０は、新たに部分データ要求を送信せずに、部分データのうち、未だ受信されていないデータを受信することができる。
【００７８】
なお、ＭＦＰ１０は、印刷用紙１枚分のデータがデータ格納領域３６に格納されると（図４のＳ６８でＹＥＳ）、印刷機構１６にデータを供給する（図４のＳ７０）。また、ＭＦＰ１０は、８ｋバイトのデータを受信する毎に、データ格納領域３６に格納することを（図４のＳ６４）何度も繰り返すことにより、部分データの受信が完了すると（Ｓ７４でＹＥＳ）、セッションＳＥ２を終了する。次いで、ＭＦＰ１０は、印刷データの受信を完了していないと判断すると（図４のＳ７８でＮＯ）、新たに、ＴＣＰセッションであるセッションＳＥ４を、ＭＦＰ１０と変換サーバ２００との間に確立する（図４のＳ５６）。そして、ＭＦＰ１０は、セッションＳＥ４を利用して、部分データ要求を、変換サーバ２００に送信する。ＭＦＰ１０は、変換サーバ２００から受信されたサイズ情報を含む部分データ要求を送信する。この構成によれば、印刷データを受信している間に、ＭＦＰ１０が通常状態からエラー状態に移行した場合であっても、ＭＦＰ１０は、エラー状態から通常状態に移行した後に、印刷データを適切に取得することができる。
【００７９】
ＭＦＰ１０は、１部の印刷データを全て取得すると（図４のＳ７８でＹＥＳ）、格納期間リセット命令を、変換サーバ２００に送信する（図４のＳ８０）。変換サーバ２００は、格納期間リセット命令を受信すると、印刷データが格納装置２６０に格納されている期間を計測するタイマをリセットする（図５のＳ１０８）。
【００８０】
ＭＦＰ１０は、１部の印刷データの受信が完了した後に、印刷データの取得回数がＮ未満であると判断すると（図４のＳ５０でＹＥＳ）、中継サーバ１００に、ＵＲＬ要求を送信し（図４のＳ５２）、中継サーバ１００から、印刷データのＵＲＬを受信する。ＭＦＰ１０、中継サーバ１００及び変換サーバ２００は、Ｎ部の印刷データがＭＦＰ１０に受信されるまで、処理を繰り返し実行する。この構成によれば、印刷データを受信している間に、印刷装置が通常状態からエラー状態に移行した場合であっても、印刷装置は、エラー状態から通常状態に移行した後に、印刷データを適切に取得することができる。ＭＦＰ１０は、Ｎ部の印刷データの受信が完了すると（図４のＳ５０でＮＯ）、完了通知を、中継サーバ１００に送信する。中継サーバ１００は、完了通知を受信すると、完了確認通知を、ＭＦＰ１０に送信する。
【００８１】
図６では、ＭＦＰ１０は、エラーフラグがＯＮからＯＦＦに切り替わった後（図４のＳ８２でＹＥＳ）に、セッションＳＥ２を利用して、受信可能信号を変換サーバ２００に送信することによって、部分データのうちの未受信のデータを受信する。
【００８２】
一方、ＭＦＰ１０が通常状態からエラー状態に移行してから、通常状態に戻るまでの間に、セッションＳＥ２が、強制的に終了されている場合がある。例えば、ＭＦＰ１０と変換サーバ２００との間に介在するルータ等の通信機器が、セッションＳＥ２を切断する場合がある。この場合、図７に示すように、ＭＦＰ１０は、エラーフラグがＯＮからＯＦＦに切り替わった後（図４のＳ８２でＹＥＳ）に、セッションＳＥ２を利用して、受信可能信号を変換サーバ２００に送信することができない（図４のＳ８８でＮＯ）。この場合、ＭＦＰ１０は、新たに、ＭＦＰ１０と変換サーバ２００との間に、ＴＣＰセッションを確立するための確立処理を試行する（図４のＳ９０）。ＭＦＰ１０は、確立処理の結果、セッションＳＥ５が確立される場合（図４のＳ９２でＹＥＳ）、部分データのうち、未だ受信されていないデータを要求するための部分データ要求を、セッションＳＥ５を利用して、変換サーバ２００に送信する（図４のＳ９４）。この結果、ＭＦＰ１０は、部分データを適切に受信することができる。なお、ＭＦＰ１０は、既に要求されている部分データのうちの未だ受信されていないデータを、変換サーバ２００に要求する一方、既に要求されている部分データ以外のデータを要求しない。
【００８３】
また、ＭＦＰ１０は、通常状態からエラー状態に移行した後、通常状態に戻るまで、部分データ要求を、変換サーバ２００に送信しない。この構成によれば、ＭＦＰ１０は、エラー状態であるにも関わらず、変換サーバ２００から部分データが受信される状況を回避することができる。
【００８４】
一方で、変換サーバ２００が、通信不可能な状態（例えばネットワーク障害）であるために、セッションＳＥ２が、強制的に終了されている場合がある。この場合、図７に示すように、ＭＦＰ１０は、エラーフラグがＯＮからＯＦＦに切り替わった後（図４のＳ８２でＹＥＳ）に、セッションＳＥ２を利用して、受信可能信号を変換サーバ２００に送信することができない（図４のＳ８８でＮＯ）。さらに、ＭＦＰ１０は、新たに、ＭＦＰ１０と変換サーバ２００との間に、ＴＣＰセッションを確立するための確立処理を試行しても（図４のＳ９０）、ＴＣＰセッションを確立することができない（図４のＳ９２でＮＯ）。この場合、ＭＦＰ１０は、２回目の確立処理を実行せず、かつ、部分データ要求を送信せずに、処理を終了する。変換サーバ２００が通信不可能な状態である場合、ＭＦＰ１０は、確立処理を繰り返し実行しても、ＴＣＰセッションを確立することはできない。上記の構成では、ＭＦＰ１０は、１回の確立処理を試行して、ＴＣＰセッションを確立することができない場合、新たに確立処理を実行せず、部分データ要求を送信しない。この構成によれば、ＭＦＰ１０と変換サーバ２００との間に、ＴＣＰセッションを確立することができない状況であるにも関わらず、ＭＦＰ１０が、確立処理を繰り返し実行することを回避することができる。また、ＭＦＰ１０が、ＴＣＰセッションが確立されていないにも関わらず、部分データ要求を送信するための処理を実行することを回避することができる。
【００８５】
（本実施例の効果）
本実施例の構成によれば、ＭＦＰ１０がエラー状態に移行したために、受信することができなくなった部分データを、ＭＦＰ１０がエラー状態から通常状態に移行した後に、変換サーバ２００から受信することできる。これにより、ＭＦＰ１０が印刷データを受信している間に、データを受信できなくなる場合に、印刷データを適切に取得することができる。
【００８６】
また、本実施例の構成では、１部毎に印刷データを順次取得し、取得された印刷データを、印刷機構１６に供給する。この構成によれば、ＭＦＰ１０は、Ｎ部の印刷が実行されている間、印刷データを、データ格納領域３６に格納し続けなくても、Ｎ部の印刷を適切に実行することができる。
【００８７】
（対応関係）
中継サーバ１００と変換サーバ２００とが、「提供装置」の一例であり、ＭＦＰ１０が「印刷装置」の一例である。図４のＳ５８で送信される部分データ要求が「第１の部分データ要求」の一例であり、図４のＳ５８の処理が「要求処理」の一例である。図４のＳ９４で送信される部分データ要求が「第２の部分データ要求」の一例である。図４のＳ６４からＳ７８までの処理が「受信処理」の一例である。図４のＳ５４の処理が、「取得処理」の一例である。ハートビート信号と格納期間リセット命令と格納要求のそれぞれが、「格納要求」の一例である。
【００８８】
（第２実施例）
第１実施例と異なる点を説明する。本実施例では、ＭＦＰ１０が、部分データの受信中に、通常状態からエラー状態に移行する場合のＭＦＰ１０の処理が、第１実施例と異なる。
【００８９】
（ＭＦＰ１０が実行する印刷処理）
図８を参照して、本実施例のＭＦＰ１０が実行する印刷処理について説明する。第１実施例と同じ処理には、図４と同じ符号を付している。
【００９０】
エラーフラグがＯＦＦ、即ち、ＭＦＰ１０が通常状態である場合（Ｓ８２でＹＥＳ）、Ｓ２８８において、終了部５８は、Ｓ５６で確立されたＴＣＰセッションを終了するための終了処理を実行する。Ｓ２８８の処理は、Ｓ６２の処理と同様である。なお、Ｓ２８８の処理が実行される時点で、既に、Ｓ５６で確立されたＴＣＰセッションが終了されている場合がある。この場合、終了部５８は、Ｓ５６で確立されたＴＣＰセッションを利用して、ＦＩＮパケットを、変換サーバ２００に送信することを試行する。終了処理は、ＴＣＰセッションが既に終了されているにも関わらず、実行される上記の処理を含む。次いで、確立部５６は、Ｓ９０の処理、即ち、新たなＴＣＰセッションの確立処理を試行する。
【００９１】
本実施例では、第１実施例とは異なり、ＭＦＰ１０がエラー状態から通常状態に移行すると（Ｓ８２でＹＥＳ）、終了部５８は、Ｓ５６で確立されたＴＣＰセッションを終了するための終了処理を、必ず実行する。即ち、本実施例では、ＭＦＰ１０がエラー状態から通常状態に移行する場合に、必ずＴＣＰセッションが終了され（Ｓ２８８）、新たなＴＣＰセッションが確立される（Ｓ９２）。
【００９２】
（第３実施例）
第１実施例と異なる点を説明する。本実施例では、ＭＦＰ１０が実行する印刷処理の内容が、第１実施例と異なる。
【００９３】
（ＭＦＰ１０が実行する印刷処理）
図９を参照して、本実施例のＭＦＰ１０が実行する印刷処理について説明する。第１実施例と同じ処理には、図４と同じ符号を付している。Ｓ５６において、ＭＦＰ１０と変換サーバ２００との間に、ＴＣＰセッションが確立されると、Ｓ３００において、送信部６０は、Ｓ５６で確立されたＴＣＰセッションを利用して、格納要求を、変換サーバ２００に送信する。詳細には、制御部３０は、まず、図２のＳ１２で受け付けた印刷部数を用いて、印刷データが格納装置２６０に格納されてから消去されるまでの格納期間を算出する。具体的には、制御部３０は、予め決められた期間（例えば１０分）に、印刷部数を乗算することによって、格納期間を算出する。次いで、送信部６０は、算出された格納期間を含む格納要求を、変換サーバ２００に送信する。本実施例では、制御部３０は、図４のＳ８０の処理を実行しない。
【００９４】
変換サーバ２００の制御部２３０は、ＭＦＰ１０から格納要求を受信すると、図５のＳ１０６で、格納期間を変更すべきであると判断する（Ｓ１０６でＹＥＳ）。次いで、制御部２３０は、格納要求に含まれる格納期間を、格納装置２６０のタイマに設定する。これにより、格納期間が変更される。消去部２５０は、タイマの計測時間が、受信された格納期間を経過する場合に、印刷データを消去する（図５のＳ１１２）。この構成によれば、印刷部数に応じて、適切な格納期間を設定することができる。これにより、ＭＦＰ１０がＮ部分の印刷データを取得したにも関わらず、印刷データが格納装置２６０に長期間格納され続ける事態を抑制することができる。
【００９５】
（第４実施例）
第１実施例と異なる点を説明する。本実施例では、ＭＦＰ１０が実行する印刷処理の内容と、中継サーバ１００が実行する処理の内容が、第１実施例と異なる。
【００９６】
ＭＦＰ１０は、印刷処理において、図４のＳ８０の処理を実行しない。その他の内容については、第１実施例の印刷処理と同様である。
【００９７】
（中継サーバが実行するデータ変換指示処理）
図１０を参照して、本実施例の中継サーバ１００が実行するデータ変換指示処理について説明する。Ｓ４０２では、部数受信部１５０は、ＭＦＰ１０から印刷設定を受信する。印刷設定は、ＭＦＰ１０が受け付けた印刷部数を示す部数情報が含まれる。次いで、Ｓ４０４では、制御部１３０は、印刷設定に含まれる印刷対象の元データのＵＲＬを用いて、格納サーバ３００に、元データを送信させるための要求を送信する。次いで、Ｓ４０６では、制御部１３０は、格納サーバ３００から、元データを受信する。Ｓ４０８では、制御部１３０は、元データを、変換サーバ２００に送信する。
【００９８】
次いで、Ｓ４１０において、特定部１５２は、Ｓ４０２で受信された印刷設定に含まれる印刷部数を用いて、格納期間を特定する。詳細には、特定部１５２は、予め決められた期間（例えば１０分）に、Ｓ４０２で受信された印刷部数を乗算することによって、格納期間を算出する。次いで、Ｓ４１２では、期間送信部１５４は、特定された格納期間を含む格納要求を、変換サーバ２００に送信する。
【００９９】
変換サーバ２００の制御部２３０は、中継サーバ１００から格納要求を受信すると、図５のＳ１０６で、格納期間を変更すべきであると判断し（Ｓ１０６でＹＥＳ）、格納要求に含まれる格納期間を、格納装置２６０のタイマに設定する。これにより、格納期間が変更される。なお、消去部２５０は、タイマの計測時間が、受信された格納期間を経過する場合に、印刷データを消去する（図５のＳ１１２）。この構成によれば、Ｎ部の印刷データを取得するまでに、印刷データが変換サーバ２００から消去されることを抑制することができる。
【０１００】
格納要求の送信後、Ｓ４１４では、制御部１３０は、変換サーバ２００から、印刷データを識別する印刷データＩＤを受信する。次いで、Ｓ４１６では、制御部１３０は、印刷データをダウンロードすることができるのか否かを確認するための可否確認信号を、変換サーバ２００に送信する。Ｓ４１８では、可否確認信号の応答として、ダウンロード可能であることを示す可能通知を、変換サーバ２００から受信することを監視している。可能通知を受信する場合（Ｓ４１８でＹＥＳ）、Ｓ４２０に進む。一方、ダウンロード不可能であることを示す不可通知を受信する場合（Ｓ４１８でＮＯ）、Ｓ４１６に戻る。Ｓ４２０では、ダウンロード実行命令を、ＭＦＰ１０に送信して、変換指示処理を終了する。
【０１０１】
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。例えば、以下の変形例が含まれる。
【０１０２】
（変形例）
（１）上記の各実施例では、変換サーバ２００は、部分データ要求を受信すると、ＭＦＰ１０に部分データを送信する。しかしながら、ＭＦＰ１０は、変換サーバ２００から、部分データを取得してもよい。即ち、ＭＦＰ１０が、変換サーバ２００の格納装置２６０から、部分データを特定し、特定した部分データを、ＭＦＰ１０のデータ格納領域３６に格納してもよい。本変形例の構成も、変換サーバ２００が「データを提供する」構成に含まれる。
【０１０３】
（２）上記の各実施理例では、ＭＦＰ１０は、部分データを、変換サーバ２００から分割して受信している。即ち、ＭＦＰ１０は、部分データの一部を受信する毎に、受信可能信号を、変換サーバ２００に送信している。しかしながら、ＭＦＰ１０は、部分データ要求を送信した後、受信可能信号を、変換サーバ２００に送信せずに、部分データを、変換サーバ２００から受信してもよい。
【０１０４】
（３）上記の各実施例では、供給部５４は、印刷用紙１枚分のデータが、データ格納領域３６に格納されると、データを、印刷機構１６に供給する。しかしながら、印刷機構１６にデータを供給するタイミングは、これに限られない。例えば、供給部５４は、データ格納領域３６の空き容量が予め決められた閾値よりも小さくなる場合に、データを、印刷機構１６に供給してもよい。
【０１０５】
本変形例の場合、供給部５４は、Ｍ（Ｍは、２以上の整数）部目の印刷データの取得が完了する前に、Ｍ−１部目の印刷データの印刷機構１６への供給を開始してもよい。また、取得部５２は、Ｍ―１部目の印刷データの印刷機構１６への供給が完了した後に、Ｍ部目の印刷データを取得するための部分データ要求を送信してもよい。
【０１０６】
（４）上記の各実施例では、Ｓ９４において、取得部５２は、未だ受信されていないデータ、即ちＸ−Ｚｋバイトの部分データを、ＭＦＰ１０が受信するための部分データ要求を、変換サーバ２００に送信する。しかしながら、取得部５２は、未だ受信されていないデータと、当該データ以外のデータを含む部分データを、ＭＦＰ１０が受信するための部分データ要求を、変換サーバ２００に送信してもよい。
【０１０７】
（５）上記の各実施例では、制御部３０は、印刷機構１６にデータが供給されると、当該データをデータ格納領域３６から消去する。しかしながら、制御部３０は、印刷機構１６にデータが供給されても、当該データをデータ格納領域３６から消去しなくてもよい。この場合、格納部６２は、データが受信される場合に、印刷機構１６に既に供給されたデータに上書きすることによって、データをデータ格納領域３６に格納してもよい。
【０１０８】
（６）「印刷装置」は、印刷機能とスキャン機能とＦＡＸ機能とを実行可能であるＭＦＰ１０に限られず、印刷機能のみを実行可能であるプリンタであってもよい。
【０１０９】
（７）変換サーバ２００は、格納装置２６０と別体で構成されていてもよい。この場合、変換サーバ２００は、格納装置２６０と通信可能に接続されていてもよい。
【０１１０】
（８）上記の各実施例では、ＭＦＰ１０のＣＰＵ３２がプログラム４２に従って処理を実行することによって、各部５０〜６２の機能が実現される。これに代えて、各部５０〜６２の機能のうちの少なくとも一部は、論理回路等のハードウェアによって実現されてもよい。同様に、中継サーバ１００のＣＰＵ１３２がプログラム１４２に従って処理を実行することによって、各部１５０〜１５４の機能が実現される。これに代えて、各部１５０〜１５４の機能のうちの少なくとも一部は、論理回路等のハードウェアによって実現されてもよい。また、変換サーバ２００のＣＰＵ２３２がプログラム２４２に従って処理を実行することによって、各部２５０〜２５４の機能が実現される。これに代えて、各部２５０〜２５４の機能のうちの少なくとも一部は、論理回路等のハードウェアによって実現されてもよい。
【０１１１】
（９）上記の各実施例では、ＭＦＰ１０は、エラー状態である間、ハートビート信号を、変換サーバ２００に送信する。しかしながら、ＭＦＰ１０は、エラー状態である間、ハートビート信号を、変換サーバ２００に送信しなくてもよい。
【０１１２】
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【符号の説明】
【０１１３】
２：通信システム、４：インターネット、１０：ＭＦＰ、１６：印刷機構、３０：制御部、３６：データ格納領域、５０：受付部、５２：取得部、５４：供給部、５６：確立部、５８：終了部、６０：送信部、６２：格納部、１００：中継サーバ、１５０：部数受信部、１５２：特定部、１５４：期間送信部、２００：変換サーバ、２５０：消去部、２５２：要求受信部、２６０：格納装置、３００：格納サーバ
【図１】
2014128899.tif 000003
【図２】
2014128899.tif 000004
【図３】
2014128899.tif 000005
【図４】
2014128899.tif 000006
【図５】
2014128899.tif 000007
【図６】
2014128899.tif 000008
【図７】
2014128899.tif 000009
【図８】
2014128899.tif 000010
【図９】
2014128899.tif 000011
【図１０】
2014128899.tif 000012