(57)【要約】【課題】  処理装置のバッファ容量が少ない場合であっても、処理対象のデータを適切に処理させること。【解決手段】  情報処理装置は、所定の処理の対象となるデータの少なくとも一部についての所在に関する所在情報を生成し、生成された所在情報を、データに所定の処理を実行する処理装置へ向けて送信する。情報処理装置は、所在情報の生成において、所定の処理の対象となるデータの一部についての所在に関する第１の所在情報を生成する場合、その一部とは別の一部に対応する所在情報の所在に関する第２の所在情報を生成する。そして、情報処理装置は、生成された第１の所在情報と第２の所在情報とを、処理装置に送信する。【選択図】  図５
2015036859.tif 000002
【特許請求の範囲】
【請求項１】
所定の処理の対象となるデータの少なくとも一部についての所在に関する所在情報を生成する生成手段と、
前記生成手段により生成された所在情報を、前記データに前記所定の処理を実行する処理装置へ向けて送信する送信手段と、
を有し、
前記生成手段は、前記所定の処理の対象となるデータの一部についての所在に関する第１の所在情報を生成する場合、当該一部とは別の一部に対応する所在情報の所在に関する第２の所在情報を生成し、
前記送信手段は、当該生成された当該第１の所在情報と当該第２の所在情報を、前記処理装置に送信する、
ことを特徴とする情報処理装置。
【請求項２】
前記生成手段は、前記第１の所在情報と前記第２の所在情報とを含むファイルを生成し、前記送信手段は、当該生成されたファイルを送信する、
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記生成手段は、前記データの所在に関する複数の所在情報を生成すると決定した場合で、当該複数の所在情報のうち前記送信手段により未だ送信されていない所在情報が存在しない場合、前記一部についての第１の所在情報を含むと共に、前記第２の所在情報を含まないファイルを生成する、
ことを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記所定の処理は、前記処理装置としての印刷装置による印刷であり、
前記第１の所在情報は、前記印刷装置による印刷対象の複数のページのうちの、一部のページに対応する印刷用データの所在を示す、
ことを特徴とする請求項１から３のいずれか１項に記載の情報処理装置。
【請求項５】
前記印刷の対象となるデータを前記印刷用データに変換する変換手段をさらに有する、
ことを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記生成手段により生成された前記第１の所在情報で特定される印刷用データが前記処理装置へ向けて送信されたかを判定する判定手段をさらに有し、
前記変換手段は、前記第１の所在情報で特定される印刷用データが前記処理装置へ向けて送信されたことが前記判定手段により判定されたことに応じて、前記別の一部に対応するデータに対する前記変換を実行する、
ことを特徴とする請求項５に記載の情報処理装置。
【請求項７】
前記変換手段は、前記一部のデータに対応する前記第１の所在情報の取得要求を前記印刷装置から受信したことに応じて、当該一部のデータに対する前記変換を実行する
ことを特徴とする請求項５または６に記載の情報処理装置。
【請求項８】
前記生成手段は、前記印刷用データの所在に関する情報に加えて印刷設定の情報を生成する、
ことを特徴とする請求項４から７のいずれか１項に記載の情報処理装置。
【請求項９】
前記所定の処理の対象となるデータに対応する所在を示す所在情報を生成するか、当該データが分割された複数のデータのそれぞれの所在に関する複数の所在情報を生成するかを決定する決定手段をさらに有する、
ことを特徴とする請求項１から８のいずれか１項に記載の情報処理装置。
【請求項１０】
前記決定手段は、前記所定の処理の対象となるデータに対応する所在を示す所在情報のサイズが、所定のサイズより大きい場合、前記複数の所在情報を生成することを決定する、
ことを特徴とする請求項９に記載の情報処理装置。
【請求項１１】
前記処理装置から前記所定のサイズを特定するための情報を取得する取得手段をさらに有し、
前記決定手段は、前記取得手段により取得された前記情報により特定される前記所定のサイズを用いて、前記決定を実行する、
ことを特徴とする請求項１０に記載の情報処理装置。
【請求項１２】
前記決定手段は、前記処理装置から前記データの所在に関する所在情報の取得要求があった際に、前記生成手段が当該所在情報の生成を終了していなかった場合、前記複数の所在情報を生成することを決定する、
ことを特徴とする請求項９に記載の情報処理装置。
【請求項１３】
所定の処理の対象となるデータの少なくとも一部についての所在に関する所在情報を生成する生成工程と、
前記生成工程において生成された所在情報を、前記データに前記所定の処理を実行する処理装置へ向けて送信する送信工程と、
を有し、
前記生成工程では、前記所定の処理の対象となるデータの一部についての所在に関する第１の所在情報を生成する場合、当該一部とは別の一部に対応する所在情報の所在に関する第２の所在情報を生成し、前記送信工程では、当該生成された当該第１の所在情報と当該第２の所在情報を、前記処理装置に送信する
ことを特徴とする情報処理方法。
【請求項１４】
所定の処理を実行する処理装置であって、
前記所定の処理の対象となるデータの所在に関する所在情報を含む情報を他の装置から取得する取得手段と、
前記取得手段により取得された情報に、前記所定の処理の対象となるデータの所在に関する第１の所在情報に加え、別の所在情報の所在に関する第２の所在情報が含まれているかを判定する判定手段と、
前記取得手段により取得された情報に含まれている前記第１の所在情報に基づいて前記データを取得し、取得された当該データに前記所定の処理を実行する実行手段と、
を有し、
前記取得手段は、前記判定手段により前記第２の所在情報が含まれていると判定された場合、当該第２の所在情報に基づいて、前記別の所在情報を前記他の装置から取得する、
ことを特徴とする処理装置。
【請求項１５】
前記実行手段は、前記取得手段により取得された情報に前記第２の所在情報が含まれている場合、当該第２の所在情報に対応する前記別の所在情報に基づくデータへの前記所定の処理が終了するまで、他のデータに前記所定の処理を実行しない、
ことを特徴とする請求項１４に記載の処理装置。
【請求項１６】
所定の処理を実行する処理方法であって、
前記所定の処理の対象となるデータの所在に関する所在情報を含む情報を他の装置から取得する取得工程と、
前記取得工程において取得された情報に、前記所定の処理の対象となるデータの所在に関する第１の所在情報に加え、別の所在情報の所在に関する第２の所在情報が含まれているか判定する判定工程と、
前記取得工程において取得された情報に含まれている前記第１の所在情報に基づいて前記データを取得し、取得された当該データに前記所定の処理を実行する実行工程と、
を有し、
前記取得工程は、前記判定工程において前記第２の所在情報が含まれていると判定された場合、当該第２の所在情報に基づいて、前記別の所在情報を前記他の装置から取得する、
ことを特徴とする処理方法。
【請求項１７】
コンピュータを請求項１から１２のいずれか１項に記載の情報処理装置が備える各手段として機能させるためのプログラム。
【請求項１８】
コンピュータを請求項１４または１５に記載の処理装置が備える各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は処理対象のデータの所在情報に基づいて当該データに対する処理を行う技術に関する。
【背景技術】
【０００２】
近年、印刷装置は、機能の一つとして、例えば、ネットワーク経由でサーバから印刷ジョブがあることの通知を受けて、印刷ジョブをサーバから取得して印刷する機能を有する。このとき、印刷ジョブは、例えば、印刷装置と離れた場所にある端末装置からインターネット経由でサーバに通知され、その後、サーバから印刷装置に通知される。そして、最後に、通知を受けた印刷装置がサーバから印刷用データを取得して印刷を実行する。特許文献１には、デジタルテレビから印刷ジョブの通知を受けて、通知の中にある印刷用のコンテンツデータ（印刷用データ）の所在を示すＵＲＬを用いて、印刷用データを取得する印刷装置が記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−０１８５２８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、低価格の印刷装置など、ＲＡＭのメモリ容量が少ない印刷装置では、印刷用データの所在などを含む関連情報を受信するためのバッファの容量が制限されている場合がある。このため、印刷用データの関連情報が印刷装置のバッファ容量より大きなサイズを有する場合、印刷装置のバッファ容量をオーバーし、全ての情報を受信することができない場合があるという課題があった。
【０００５】
本発明は上記課題に鑑みなされたものであり、処理装置のバッファ容量が少ない場合であっても、処理対象のデータを適切に処理させることを可能とする技術を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、本発明による情報処理装置は、所定の処理の対象となるデータの少なくとも一部についての所在に関する所在情報を生成する生成手段と、前記生成手段により生成された所在情報を、前記データに前記所定の処理を実行する処理装置へ向けて送信する送信手段と、を有し、前記生成手段は、前記所定の処理の対象となるデータの一部についての所在に関する第１の所在情報を生成する場合、当該一部とは別の一部に対応する所在情報の所在に関する第２の所在情報を生成し、前記送信手段は、当該生成された当該第１の所在情報と当該第２の所在情報を、前記処理装置に送信する、ことを特徴とする。
【発明の効果】
【０００７】
本発明によれば、処理装置のバッファ容量が少ない場合であっても、処理対象のデータを適切に処理させることができる。
【図面の簡単な説明】
【０００８】
【図１】印刷システムの構成例を示す図。
【図２】ＭＦＰの構成例を示すブロック図。
【図３】ジョブサーバ及び印刷データ変換サーバの構成例を示すブロック図。
【図４】印刷情報の例を示す図。
【図５】印刷システムで実行される処理の概要を示すシーケンス図。
【図６】データ変換処理および印刷情報生成処理の動作例を示すフローチャート。
【図７】印刷処理の動作例を示すシーケンス図。
【図８】印刷情報の一例を示す概略図。
【発明を実施するための形態】
【０００９】
以下、添付図面を参照して本発明の実施の形態を詳細に説明する。
【００１０】
（システム構成）
図１は、本実施形態に係る印刷システムの構成例を示す図である。この印刷システムは、例えば、インターネット又はイントラネットなどの通信ネットワーク４００に接続される、ＭＦＰ１００、ジョブサーバ２００及び印刷データ変換サーバ３００を含む。ここで、ＭＦＰ１００は、印刷処理を実行する印刷装置を含み、印刷データ変換サーバ３００は、印刷の対象のデータをＭＦＰ１００が印刷可能な形式の印刷用データに変換する情報処理装置を含む。
【００１１】
ＭＦＰ１００は、通信ネットワーク４００に初めて接続されると、ジョブサーバ２００との間で通信を行い、ＭＦＰ１００をジョブサーバ２００に登録する。登録することによって、ＭＦＰ１００とジョブサーバ２００が関連付けられた状態となり、ＭＦＰ１００とジョブサーバ２００とが相互に通信可能な状態となる。また、登録の際に、ジョブサーバ２００は、ＭＦＰ１００のデフォルトアカウントを作成して、ＭＦＰ１００に通知する。デフォルトアカウントは、ＭＦＰ１００が不図示のアプリケーションサーバを利用して印刷ジョブを発行する時に使用する。
【００１２】
ＭＦＰ１００とジョブサーバ２００と印刷データ変換サーバ３００との間の通信では、ＨＴＴＰ又はＸＭＰＰなどの通信プロトコルが用いられるものとし、詳細な説明は省略する。なお、ジョブサーバ２００と印刷データ変換サーバ３００とアプリケーションサーバとでは、提供する機能が異なるため別のサーバとして説明するが、１つのサーバにこれらのような複数の機能が含まれてもよい。
【００１３】
（ＭＦＰ１００の構成）
図２は、本実施形態のＭＦＰ１００の概略的な構成例を示すブロック図である。
【００１４】
図２において、ＣＰＵ１０１は、システムを制御する制御部であり、ＭＦＰ１００の全体を制御する。ＲＯＭ１０２は、ＣＰＵ１０１が実行する制御プログラムやデータテーブル、組み込みオペレーティングシステム（ＯＳ）プログラム等の固定データを格納する。本実施形態では、ＲＯＭ１０２に格納されている各制御プログラムによって、ＲＯＭ１０２に格納されている組み込みＯＳの管理下で、スケジューリングやタスクスイッチ、割り込み処理等のソフトウェア実行制御が行われる。
【００１５】
ＲＡＭ１０３は、バックアップ電源を伴うＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等で構成され、不図示のデータバックアップ用の１次電池によってデータが保持される。ＲＡＭ１０３には、データが消去されるべきでないプログラム制御変数等が格納される。また、ＲＡＭ１０３には、オペレータが登録した設定値やＭＦＰ１００の管理データ等を格納するメモリエリアも設けられる。画像メモリ１０４は、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等により構成され、画像データを蓄積する。また、画像メモリ１０４では、一部の領域が、ソフトウェア処理の実行のためのワークエリアとして確保される。
【００１６】
データ変換部１０５は、ページ記述言語（ＰＤＬ：Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）等の解析や、キャラクタデータのＣＧ（Ｃｏｍｐｕｔｅｒ  Ｇｒａｐｈｉｃｓ）展開等の画像データの変換を行う。
【００１７】
読取制御部１０６は、読取部１０７から入力された画像信号に、不図示の画像処理制御部を介して２値化処理や中間調処理等の各種画像処理を施し、高精細な画像データを出力する。読取部１０７は、ＣＩＳイメージセンサによって原稿を光学的に読み取り、その読み取った結果を電気的な画像データに変換して画像信号を生成する。なお、読取制御部１０６及び読取部１０７は、原稿を搬送しながら、固定されたＣＩＳイメージセンサで読み取るシート読取制御方式と、原稿台に固定された原稿を、移動するＣＩＳイメージセンサでスキャンするブック読取制御方式とのいずれを用いてもよい。
【００１８】
表示操作部１０８は、数値入力キー、モード設定キー、決定キー、取り消しキー等のキーと、ＬＥＤ（発光ダイオード）や７ｓｅｇ表示部などによって構成され、ユーザによる複合機としての各種機能の起動操作を受け付ける。また、表示操作部１０８は、ブラウザ機能も備え、一般的な組込ブラウザとして動作することができる。
【００１９】
通信制御部１０９は、通信ネットワーク４００に接続し、インターネットプロバイダへの接続や、ジョブサーバ２００又は印刷データ変換サーバ３００との間でのデータや画像情報等の通信を行う。
【００２０】
解像度変換処理部１１０は、ミリ系の画像データとインチ系の画像データの相互変換等の解像度変換制御を行う。なお、解像度変換処理部１１０は、画像データの拡大縮小処理を実行してもよい。符復号化処理部１１１は、ＭＦＰ１００で扱う画像データ（非圧縮、ＭＨ、ＭＲ、ＭＭＲ、ＪＢＩＧ、ＪＰＥＧ等）を相互に符復号化処理し、又は拡大縮小処理を実行する。
【００２１】
記録制御部１１２は、印刷される画像データに対して、不図示の画像処理制御部を介して、スムージング処理や記録濃度補正処理、色補正等の各種画像処理を施して、高精細な画像データに変換し、記録部１１３に出力する。また、記録制御部１１２は、ＵＳＢファンクション制御部１１４を制御することにより、定期的に記録部１１３の状態情報データを取得する。記録部１１３は、レーザビームプリンタやインクジェットプリンタ等からなる記録部であり、記録制御部１１２で生成したカラー画像データまたはモノクロ画像データの、印刷部材への印刷処理を実行する。
【００２２】
ＵＳＢファンクション制御部１１４は、ＵＳＢインターフェースの通信制御を行う機能部であり、ＵＳＢ通信規格に基づくプロトコル制御を行う。ＵＳＢファンクション制御部１１４は、例えば、ＣＰＵ１０１が実行するＵＳＢファンクション制御タスクからのデータをパケットに変換し、不図示の外部のＰＣにＵＳＢパケットを送信する。また、ＵＳＢファンクション制御部１１４は、例えば、逆に、外部のＰＣからのＵＳＢパケットを受信して、データに変換してＣＰＵ１０１に対して送信する。ＵＳＢホスト制御部１１５は、ＵＳＢ通信規格で定められたプロトコルで通信を行うための制御部である。ＵＳＢ通信規格は、双方向のデータ通信を高速に行うことができる規格であり、規格においては、１台のホスト（マスター）に対し、複数のハブまたはファンクション（スレーブ）を接続することができる。ＵＳＢホスト制御部１１５は、ＵＳＢ通信におけるホストの機能を有する。上述の各機能部は、ＣＰＵ１０１が管理するＣＰＵバス１２１を介して相互に接続される。
【００２３】
（サーバの構成）
図３は、本実施形態のジョブサーバ２００と印刷データ変換サーバ３００の概略的な構成例を示すブロック図である。ジョブサーバ２００及び印刷データ変換サーバ３００は、一例として、図３に示すような、同様の構成を有する。
【００２４】
図３において、ＣＰＵ２０１は、ＲＯＭ２０２、ＲＡＭ２０３、内部記憶装置２０４、又は外部記憶装置２０５により外部記憶媒体２０６から、読み出されたプログラムに従って、システムバスを介してサーバ全体の動作を制御する。ＲＯＭ２０２は、ＣＰＵ２０１の制御プログラム等を格納する。ＲＡＭ２０３は、一時的にプログラムや画像データを記憶し、サーバの処理を高速に動作させるための記憶装置である。内部記憶装置２０４には、オペレーティングシステム、各種アプリケーションプログラムや画像データ等が格納される。内部記憶装置２０４には、例えば、他の装置（例えばＭＦＰ１００及び他のサーバ）に対する各種制御命令やデータの送受信を行うための、アプリケーションソフト等がインストールされる。これらのアプリケーションソフトは、通常、これらが記憶された他のコンピュータ可読媒体から外部記憶ディスク２０６（ＣＤ／ＤＶＤメディアなど）によりデータを受け取り、外部記憶装置２０５を制御して内部記憶装置２０４にインストールされる。
【００２５】
操作部２０７は、オペレータからの指示入力部としてのキーボードやマウス（不図示）を制御する。表示部２０８は、オペレータに対して各種表示を行う。通信部２０９は、通信ネットワーク４００に接続し、インターネットプロバイダへの接続や、ＭＦＰ１００や他のサーバとの間での、データや画像情報等の通信を行う。
【００２６】
（印刷システムの動作）
本実施形態では、印刷データ変換サーバ３００が、印刷の対象となるデータの印刷用データへの変換を行い、その印刷用データを、印刷が実行されるときのページ単位で、印刷データ変換サーバ３００内の記憶部に記憶しておく。印刷データ変換サーバ３００は、その際に、印刷が実行されるときのページのそれぞれに対応する印刷用データが、どこにあるかの所在の情報を含む印刷情報を生成し、これも印刷データ変換サーバ３００内の記憶部に記憶しておく。
【００２７】
このとき、印刷データ変換サーバ３００は、印刷が実行されるときのページの全ての印刷用データの所在の情報を含む１つの印刷情報を生成するか、印刷が実行されるときのページの全てのうちの一部の印刷用データの所在の情報をそれぞれが含む、複数の印刷情報を生成するかを決定する。この決定は、例えば、ＭＦＰ１００における印刷情報を記憶しておくための記憶容量（バッファ容量）などに応じて、実行される。例えば、ＭＦＰ１００において印刷情報を記憶するための記憶容量が、予め印刷データ変換サーバ３００に登録されており、その登録されている記憶容量に応じてこの決定が行われる。また、ＭＦＰ１００から印刷データ変換サーバ３００に、記憶容量に関する情報が通知され、印刷データ変換サーバ３００が通知された情報を用いてこの決定を行ってもよい。ＭＦＰ１００から印刷変換サーバ３００に通知される情報としては、記憶容量を示す情報であってもよいし、又はＭＦＰ１００の機種を示す機種情報が通知され、印刷データ変換サーバ３００においてその機種に応じた記憶容量が特定されてもよい。
【００２８】
本実施形態では、印刷対象のページが複数ある場合に、この決定に従ってその複数ページが複数のグループに分割され、分割されたグループに含まれる１または複数のページに対応する印刷情報（印刷対象のデータの所在情報等）が作成されることがある。このようにグループに分割された１または複数のページに対する印刷情報を生成する場合、それぞれのグループの印刷情報は、印刷が実行されるときの最後のページに関する情報を含む印刷情報を除き、他のグループの印刷情報に関する情報を含む。すなわち、その印刷情報が対応するページの後のページに対応する、別の印刷情報に関する情報を含む。なお、ここでの「分割」は、印刷対象の全ページに対する印刷情報の作成が完了した後に実行される分割と、印刷対象の全ページの一部に対する印刷情報を順次作成することによって結果として分割されることとを含む。
【００２９】
なお、別のグループの印刷情報に関する情報とは、例えば、その別のグループの印刷情報が印刷データ変換サーバ３００内でどこにあるかを示す所在情報である。この別の印刷情報に関する情報が含まれることで、そのグループの印刷情報と、そのグループとは別のグループの印刷情報とがリンクされる。そして、ＭＦＰ１００は、その印刷対象となっているグループの印刷情報に対応する印刷用データと、その別のグループの印刷情報に対応する印刷用データとがリンクされるため、一連のデータであることを特定することができる。
【００３０】
このようにして生成される印刷情報の例を、図４に示す。９０１は、上述のような分割を行わず、印刷が実行されるときのページの全てに対して１つの印刷情報を生成した場合の印刷情報である。この場合、印刷情報は、「１ページ目の印刷用データの情報」から「Ｎページ目の印刷用データの情報」までを含む１つのＸＭＬファイルとして生成される。ただし、この場合、印刷情報のファイルサイズが大きくなってしまい、ＭＦＰ１００が受信できない場合がある。
【００３１】
一方、９０２は、上述のような分割を行い、分割後のグループのそれぞれに対して印刷情報を生成した場合の、印刷情報である。なお、各グループに対応する印刷情報のそれぞれは、ＸＭＬファイルとして生成される。そして、１または複数のページに対応する各グループのＸＭＬファイルには、その１または複数のページのそれぞれに対応する印刷情報（印刷データの所在情報等）が含まれる。
【００３２】
例えば、図４における１番目の印刷情報９０３には「１ページ目の印刷用データの情報」「２ページ目の印刷用データの情報」「３ページ目の印刷用データの情報」「次の印刷情報に関する情報」が含まれる。なお、印刷情報９０３の「次の印刷情報の情報」は、印刷情報９０３が対応する印刷が実行されるときのページ１〜３に続く、４ページ目に対応する情報を有する印刷情報９０４を指し示す情報である。具体的には、「次の印刷情報の情報」は、印刷情報９０４がネットワーク上のどこに格納されているのかを示す所在情報を含む。よってＭＦＰ１００が印刷情報９０３を取得した場合、１〜３ページ目に対応する情報に従って、１〜３ページまでの印刷データを取得できるとともに、「次の印刷情報の情報」を用いて、４ページ目以降の印刷データの所在情報を取得することができる。
【００３３】
２番目の印刷情報９０４には「４ページ目の印刷用データの情報」「５ページ目の印刷用データの情報」「６ページ目の印刷用データの情報」「次の印刷情報に関する情報」が含まれる。また、印刷情報９９９は、印刷が実行されるときの最後のページ（Ｎページ目）の情報を含むため、「次の印刷情報に関する情報」は含まれない。
【００３４】
このように、印刷対象の複数ページが分割されたグループごとに印刷情報が生成され、ＭＦＰ１００に提供される場合、ＭＦＰ１００に一度に送信される印刷情報のファイルサイズが小さく抑えられる。このため、仮に印刷対象の全ページに対応する印刷情報のデータサイズがＭＦＰ１００のバッファ容量を超える場合であっても、ＭＦＰ１００はこれを受信可能となる。
【００３５】
なお、各ページの印刷データを取得するための印刷情報と、次の印刷情報を取得するための「次の印刷情報の情報」は、異なる形式で記述されてもよいし、例えばＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）等、共通の形式で記述されてもよい。印刷情報と「次の印刷情報の情報」が共通の形式で記述される場合、ＭＦＰ１００は、それらの情報それぞれに対する別個の処理を行わなくても、同様の処理によりそれらの情報を取得することができる。
【００３６】
また、図４の例では、１つのページの印刷用データの情報が１つの印刷情報（９０３／９０４／９９９）に含まれているが、１つのページの印刷用データの情報が２つ以上の印刷情報に含まれていてもよい。個々の印刷情報の具体例は図８を参照して後述する。
【００３７】
次に、ＭＦＰ１００が印刷情報により印刷データを受信する処理について説明する。
【００３８】
ＭＦＰ１００は、まず、印刷情報の所在の情報を特定して、印刷データ変換サーバ３００からその印刷情報を受信する。そして、ＭＦＰ１００は、その印刷情報に含まれる印刷用データの所在の情報に従って、印刷用データを、例えばジョブサーバ２００を介して、印刷データ変換サーバ３００から取得する。
【００３９】
このとき、例えばＭＦＰ１００における印刷情報を記憶するための記憶容量などに応じて、ＭＦＰ１００のバッファが保持しておけるサイズを有するように、１つ又は複数の印刷情報が生成される。このため、ＭＦＰ１００は、仮に印刷対象の全ページに対する印刷情報のデータサイズが、上記記憶容量を超える場合でも、この印刷情報を取得することができる。また、複数の印刷情報が分割されて生成されている場合、印刷が実行されるときの最後のページに関する情報を含む印刷情報以外は、別の印刷情報に関する情報を含む。このため、ＭＦＰ１００は、このような印刷情報を受信すると、この印刷情報には続きが存在することを認識することができる。したがって、ＭＦＰ１００は、例えば１つの印刷情報が対応する印刷用データを全て取得した後に、続きの印刷情報を取得し、続きのページの印刷用データを取得することができる。
【００４０】
また、ＭＦＰ１００は、別の印刷情報が含まれない印刷情報が対応する印刷用データの印刷処理を終了するまでは、他の印刷処理を実行しないようにする。すなわち、印刷対象の全ページに対応する印刷処理が完了するまで他の印刷処理を実行しないようにすることで、１つの印刷対象のデータの印刷処理の間に他の印刷処理が割り込むことを防ぐことができる。
【００４１】
以下では、図５〜図７を用いて、ＭＦＰ１００、ジョブサーバ２００、及び印刷データ変換サーバ３００が実行する処理の具体例について、詳細に説明する。図５は、印刷システムで実行される処理の概要を示すシーケンス図である。
【００４２】
なお、図５〜図７におけるＭＦＰ１００、ジョブサーバ２００／印刷データ変換サーバ３００による処理に対応するプログラムが、それぞれＲＯＭ１０２、ＲＯＭ２０２に格納されている。そして、ＣＰＵ１０１、ＣＰＵ２０１のそれぞれが上記のプログラムをＲＡＭ１０３、ＲＡＭ２０３に読み出して実行することにより、図５〜図７における処理を実現することができる。
【００４３】
図５の処理では、まず、ユーザがＭＦＰ１００の表示操作部１０８を操作し、ＭＦＰ１００上で動作するブラウザを立ち上げる（Ｓ５０１）。ブラウザは、デフォルトアカウントを用いて、不図示のアプリケーションサーバとの間で通信を行い、ブラウザ上で各種Ｗｅｂアプリケーションを動作させる。このとき、ブラウザが、自動的にデフォルトアカウントを用いてアプリケーションサーバと認証を行うため、ユーザはデフォルトアカウントをブラウザ上で入力しなくてよい。
【００４４】
続いて、例えばユーザがブラウザ上でＷｅｂアプリケーションを選択して起動し、画像や文書などの印刷対象のデータを選択し、印刷する用紙サイズ、用紙種類、部数、品位、及び両面設定などの印刷設定を選択する（Ｓ５０２）。その後、Ｓ５０２で選択された印刷対象のデータのＵＲＬと印刷設定とをまとめて印刷ジョブを生成し、印刷処理を実行するプリンタをＭＦＰ１００として、その印刷ジョブをジョブサーバ２００に送信する（Ｓ５０３）。この時、デフォルトアカウントを用いているため、ユーザが印刷処理を実行するプリンタを指定しなくても、印刷対象のプリンタがＭＦＰ１００であることを特定することができる。
【００４５】
Ｓ５０１〜Ｓ５０３における、ＭＦＰ１００上で動作するブラウザ、及びブラウザ上で動作するＷｅｂアプリケーションについては、一般的なＷｅｂ技術に関するものを用いるものとし、説明は省略する。また、Ｓ５０１〜Ｓ５０３では、ＭＦＰ１００上のブラウザが動作しているが、これに限定されない。例えば、ＰＣやスマートフォンで動作するブラウザを用いて、印刷ジョブをジョブサーバ２００に送信してもよい。この場合、ブラウザがＭＦＰ１００ではない他の装置において動作しているものであるため、デフォルトアカウントを用いることができない。このため、この場合は、例えば、ユーザを別途特定するユーザアカウントが用いられる。この場合、ユーザアカウントを作成する際に、ユーザアカウントとＭＦＰ１００とを関連付けておく。これにより、ユーザがＰＣやスマートフォンで動作するブラウザ上でユーザアカウントを入力してアプリケーションサーバと認証を行うことで、他の装置のブラウザ上で各種Ｗｅｂアプリケーションを動作させてＭＦＰ１００に印刷処理を実行させることができる。具体的には、他の装置のブラウザ上で動作する各種Ｗｅｂアプリケーションが、印刷ジョブを印刷対象のプリンタをＭＦＰ１００として、ジョブサーバ２００に送信することが可能となる。
【００４６】
続いて、ジョブサーバ２００が、ＭＦＰ１００からの印刷ジョブを受け付ける（Ｓ５０４）。そして、ジョブサーバ２００は、印刷データ変換サーバ３００に対して、印刷用データの生成依頼を発行する（Ｓ５０５）。この時、ジョブサーバ２００は、ＭＦＰ１００から受信した印刷ジョブに含まれている印刷設定及び印刷対象データのＵＲＬなども、まとめて、印刷用データの生成依頼に含めるものとする。印刷用データの生成依頼は、ＭＦＰ１００の性能（印刷可能なファイルフォーマットや解像度等）や印刷する元データ（写真か文書か等）によって、生成すべき印刷用データのフォーマットが異なるため、ＭＦＰ１００に適した印刷用データを得るために行われる。
【００４７】
印刷データ変換サーバ３００は、ジョブサーバ２００からの印刷用データの生成依頼を受け付ける（Ｓ５０６）。続いて、印刷データ変換サーバ３００は、ジョブサーバ２００に対して、印刷が実行されるときのページごとの印刷用データが印刷データ変換サーバ３００のどこにあるかに関する所在情報を含む、印刷情報を生成する。なお、印刷情報においては、例えば、ＵＲＬ又はＵＲＩなどによって、印刷用データの所在に関する情報がページごとに１つ又は複数記述される。なお、この印刷情報に含まれるＵＲＬ又はＵＲＩなどの印刷用データの所在に関する情報は、例えば、印刷が進んで印刷情報が削除されるまでの間のみ、一時的に有効な情報である。なお、この印刷情報は、Ｓ５０７で生成されてもよいし、後述する図６のＳ６０２の前に生成されてもよい。生成される印刷情報については、図８を用いて後述する。続いて、印刷データ変換サーバ３００は、印刷対象データの印刷用データへの変換を開始し、順次、印刷情報を生成する（Ｓ５０８）。Ｓ５０８で実行される処理の詳細については、図６を用いて後述する。
【００４８】
続いて、ジョブサーバ２００は、印刷データ変換サーバ３００から、印刷情報の所在に関する情報（例えばＵＲＬ）を受信する（Ｓ５０９）。続いて、ジョブサーバ２００は、印刷対象のＭＦＰ１００に対して、印刷情報のＵＲＬを送信する（Ｓ５１０）。
【００４９】
なお、本実施形態では、図４を用いて上述したように、印刷対象が複数のページである場合、その複数のページが複数のグループに分割され、分割されたグループごとに印刷情報が生成される場合がある。そしてこの場合、Ｓ５１０では、複数のグループのそれぞれに対応する印刷情報が、順次ＭＦＰ１００に送信される。このとき、Ｓ５０９においてジョブサーバ２００が複数のグループのそれぞれに対応する印刷情報を順次受信し、Ｓ５１０で順次送信を行ってもよいし、Ｓ５０９において複数のグループに対応する印刷情報を全て受信して、Ｓ５１０において順次送信処理を行うようにしてもよい。
【００５０】
そして、ＭＦＰ１００は、ジョブサーバ２００から、印刷情報の所在に関する情報としてＵＲＬを受信する（Ｓ５１１）。ここで、ＭＦＰ１００は、ＵＲＬを受信して取得すると、一連の印刷処理を開始するにあたり、この一連の印刷処理と同時に実行できない他の印刷処理（例えば、ＭＦＰ１００とＵＳＢインターフェースで接続された不図示のＰＣからの印刷）を禁止する。その後、ＭＦＰ１００は、受信した印刷情報に関するＵＲＬを用いて、印刷情報を取得し、印刷を開始する（Ｓ５１２）。Ｓ５１２で実行される処理については、図７を用いて後述する。
【００５１】
ＭＦＰ１００は、全ての印刷が終了すると、ジョブサーバ２００に対して、印刷ジョブ完了通知を発行する（Ｓ５１３）。ＭＦＰ１００は、一連の印刷処理が終了したため、この後、禁止していた一連の印刷処理と同時に実行できない他の印刷処理（例えば、ＭＦＰ１００とＵＳＢインターフェースで接続された不図示のＰＣからの印刷）を許可する。
【００５２】
ジョブサーバ２００は、ＭＦＰ１００から印刷完了通知を受信し、Ｓ５０４で受け付けた印刷ジョブを完了させる（Ｓ５１４）。そして、ジョブサーバ２００は、印刷データ変換サーバ３００に対して、印刷用データの生成依頼の完了通知を発行する（Ｓ５１５）。最後に、印刷データ変換サーバ３００は、ジョブサーバ２００から印刷用データの生成依頼の完了通知を受信し、Ｓ５０６で受け付けた印刷用データ生成依頼を完了させる（Ｓ５１６）。
【００５３】
（データ変換処理および印刷情報生成処理）
図６は、図５のＳ５０８における、印刷データ変換サーバ３００が実行するデータ変換処理および印刷情報生成処理の動作例を示すフローチャートである。まず、印刷データ変換サーバ３００は、印刷対象のデータを印刷時に１ページ目として印刷される印刷用データを生成する（Ｓ６０１）。例えば、印刷データ変換サーバ３００は、Ｓ５０６で取得した印刷用データの生成依頼に含まれている、印刷対象のデータに関するＵＲＬから、印刷対象データを取得する。そして、印刷データ変換サーバ３００は、この印刷対象データを、ＭＦＰ１００が印刷可能なフォーマットを有する印刷用データに変換し、内部記憶装置３０４又は外部記憶装置３０５などの記憶部に、この印刷用データを一時的に記憶させる。また、印刷データ変換サーバ３００は、印刷用データの所在を特定するための情報としてＵＲＬ又はＵＲＩなどの情報を決定する。
【００５４】
続いて、印刷データ変換サーバ３００は、印刷情報に、Ｓ６０１で生成した１ページ目の印刷用データに関するＵＲＬと、Ｓ５０６で取得した印刷用データの生成依頼に含まれている印刷設定とを書き込む（Ｓ６０２）。そして、この印刷情報を、内部記憶装置３０４又は外部記憶装置３０５などの記憶部に一時的に記憶させる。印刷データ変換サーバ３００は、その後、印刷情報に１つ以上のＵＲＬと印刷設定とを書き込んでいて、かつ、ＭＦＰ１００から印刷情報の取得要求が来ているか否かを判定する（Ｓ６０３）。１つ以上のＵＲＬと印刷設定とが書き込まれており、ＭＦＰ１００から印刷情報の取得要求を受信している場合（Ｓ６０３でＹＥＳ）、処理はＳ６０４に進む。一方、１つ以上のＵＲＬと印刷設定とが書き込まれていない場合と、ＭＦＰ１００から印刷情報の取得要求を受信していない場合との、少なくともいずれかの場合（Ｓ６０３でＮＯ）には、処理はＳ６０６に進む。
【００５５】
Ｓ６０４では、印刷データ変換サーバ３００は、次のページの印刷用データに関する情報を含む次の印刷情報を生成し、生成した印刷情報の所在を特定するためのＵＲＬ又はＵＲＩなどの情報を決定する。その後、印刷データ変換サーバ３００は、現在生成中の印刷情報に、Ｓ６０４で生成した次の印刷情報に関するＵＲＬを書き込み、その印刷情報を完成させる（Ｓ６０５）。印刷情報を完成させておくことで、後述する図７のＳ７０４において、ＭＦＰ１００に印刷情報を送信することができるようになる。このように、ＭＦＰ１００から印刷情報の取得要求が来た時に、ＵＲＬ等の印刷用データに関する情報を１つ以上書き込んでいる場合、即座に印刷情報を完成させて、ＭＦＰ１００に送ることにより、ＭＦＰ１００を待たせずに印刷処理を開始させることができる。印刷情報を完成させた後に、処理はＳ６０３に戻る。
【００５６】
Ｓ６０６では、Ｓ５０６で取得した印刷用データの生成依頼を確認して、次のページの印刷用データがあるかどうかを判定する。すなわち、印刷対象データに、すでに変換されたデータに続く、未変換のデータが存在するかを判定する。そして、未変換のデータが存在する場合は、次のページの印刷用データが存在すると判定し、未変換のデータがない場合は次のページの印刷用データが存在しないと判定する。次のページの印刷用データがある場合、処理はＳ６０７に進む。一方、次のページの印刷用データがない場合、処理はＳ６１３に進む。Ｓ６１３では、次のページの印刷用データがないため、印刷情報を完成させる。印刷情報を完成させておくことで、後述する図７のＳ７０４において、ＭＦＰ１００に印刷情報を送信できるようになる。
【００５７】
一方、Ｓ６０７では、次のページの印刷用データについて、Ｓ６０１と同様の処理を行う。この時、以前に変換して一時的に保存してあった印刷用データを、後述するＳ７０７において既にＭＦＰ１００が取得しているかどうかを判定し、取得されていなければ、変換処理を一時的に停止するようにしてもよい。複数の印刷用データを印刷データ変換サーバ３００が一時的に保存することを防ぐことによって、印刷データ変換サーバ３００の記憶容量を減らすことができる。また、Ｓ６０４や、後述するＳ６１０で生成した新しい印刷情報を、後述するＳ７０１においてＭＦＰ１００が取得しに来るまで、変換処理を一時的に停止してもよい。新しい印刷情報を取得されるまで、そのファイルで必要となる変換した印刷用データを印刷データ変換サーバ３００で一時的に保存しないようにすることで、印刷データ変換サーバ３００の記憶容量を減らすことができる。
【００５８】
続いて、印刷データ変換サーバ３００は、印刷情報を分割する条件を満たすか否かを判定する（Ｓ６０８）。すなわち、現在生成している印刷情報を次の印刷用データの情報を含ませずに完成させ、次の印刷用データの情報を含む別の印刷情報の生成を開始するかを判定する。なお、便宜上「分割」という文言を用いているが、ここでは、既に完成された印刷情報を分割することでなく、現在生成中の印刷情報とは別の印刷情報を新たに生成し始めることを含めて「分割」としている。印刷情報を分割する条件が満たされる場合、処理はＳ６１０へ進む。一方、分割する条件が満たされていない場合、処理はＳ６０９へ進む。
【００５９】
ここで、印刷情報を分割する条件は、例えば、印刷情報のファイルサイズが所定のサイズより大きくなることであり、次のページの印刷用データに関する情報を含めると、この所定のサイズを印刷情報のサイズが超えてしまう場合である。この場合、所定のサイズを超えないように、次のページの印刷用データに関する情報を次の印刷情報に含めるようにする。この場合、所定のサイズを超えない複数の印刷情報が生成されることとなり、所定のサイズをＭＦＰ１００が記憶することができる容量以下とすることで、ＭＦＰ１００がこの印刷情報を受信できるようになる。なお、ＭＦＰ１００は、この所定のサイズを決定して印刷データ変換サーバ３００に通知してもよく、また、印刷情報を記憶することができる記憶容量の情報を印刷データ変換サーバ３００に通知してもよい。また、この通知は、Ｓ５０６の印刷用データの生成依頼に含まれていてもよい。印刷データ変換サーバ３００は、例えば、記憶容量の情報を取得した場合、この記憶容量を超えないように、所定のサイズを決定してもよい。また、印刷データ変換サーバ３００が、この所定のサイズの情報を固定値として保持していてもよい。また、ジョブサーバ２００が、この所定のサイズを決定して印刷データ変換サーバ３００に通知するようにしてもよい。
【００６０】
また、印刷情報を分割する別の条件は、例えば、印刷情報に含まれる情報に対応する印刷用データのページ数が、所定のページ数分を超えることである。例えば、現在している印刷情報に３ページ分の印刷用データに関する情報が含まれている場合、次の印刷用データに関する情報が含まれると、この印刷情報に含まれる情報に対応する印刷用データのページ数が「４」となる。ここで、所定のページ数が「３」であった場合、印刷情報に含まれる情報に対応する印刷用データのページ数が所定のページ数を超えることとなる。このため、印刷データ変換サーバ３００は、現在生成している印刷情報に次のページの印刷用データに関する情報を含めずに、別の印刷情報の生成を開始し、その別の印刷情報に、次のページの印刷用データに関する情報を含めるようにする。この場合、所定のページ数を超えないページ数の印刷用データに関する情報を含む複数の印刷情報が生成されることとなる。そして、この所定のページ数が、ＭＦＰ１００が記憶することができる容量に応じて調節されることで、ＭＦＰ１００は、複数の印刷情報のいずれをも受信できるようになる。なお、ＭＦＰ１００は、この所定のページ数を決定して印刷データ変換サーバ３００に通知してもよい。また、この通知は、Ｓ５０６の印刷用データの生成依頼に含まれていてもよい。また、印刷データ変換サーバ３００が、この所定のページ数の情報を固定値として保持していてもよい。また、ジョブサーバ２００が、この所定のページ数を決定して印刷データ変換サーバ３００に通知するようにしてもよい。
【００６１】
また、印刷情報を分割するさらに別の条件は、例えば、印刷情報の生成を開始してから、その印刷情報の生成が終了していないまま、所定時間経過したことである。これによれば、印刷情報の生成が開始されてから、所定時間経過する以前に、その１つの印刷情報が完成することとなる。例えば、ＭＦＰ１００が印刷情報の取得要求を出す周期が一定である場合など、この取得要求があるタイミングにおいて１つの印刷情報が完成しているように、印刷データ変換サーバ３００は、所定時間経過を契機として印刷情報を完成させる。なお、ＭＦＰ１００は、この印刷情報の生成が終了すべき所定時間を決定して印刷データ変換サーバ３００に通知してもよいし、例えば、上述の周期の情報を印刷データ変換サーバ３００に通知してもよい。また、この通知は、Ｓ５０６の印刷用データの生成依頼に含まれていてもよい。印刷データ変換サーバ３００は、周期の情報を取得した場合、この周期に基づいて、所定時間を決定してもよい。また、印刷データ変換サーバ３００が、この所定時間の情報を固定値として保持していてもよい。また、ジョブサーバ２００が、この所定時間を決定して印刷データ変換サーバ３００に通知するようにしてもよい。
【００６２】
Ｓ６０９では、印刷データ変換サーバ３００は、Ｓ６０２と同様の処理により、印刷情報に、次のページの印刷用データに関する情報の書き込みを行う。その後、処理はＳ６０３に戻る。一方、Ｓ６１０では、印刷データ変換サーバ３００は、Ｓ６０４と同様の処理により、次のページの印刷用データに関する情報を含む次の印刷情報を生成し、生成した印刷情報に関するＵＲＬ又はＵＲＩなどの所在の情報を決定する。そして、印刷データ変換サーバ３００は、現在生成中の印刷情報に、Ｓ６１０で生成した次の印刷情報に関するＵＲＬを書き込み、その印刷情報を完成させる（Ｓ６１１）。印刷データ変換サーバ３００は、次にＭＦＰ１００から印刷情報の取得要求を受信した際に、この完成した印刷情報をＭＦＰ１００に送信する。続いて、印刷データ変換サーバ３００は、新たに生成を開始した印刷情報に、次のページの印刷用データに関する情報の書き込みを行う（Ｓ６１２）。その後、処理はＳ６０３に戻る。
【００６３】
このようにして、印刷データ変換サーバ３００は、ＭＦＰ１００が受信できる印刷情報を１つ又は複数生成し、併せてＭＦＰ１００が印刷可能な形式の印刷用データを生成する。また、印刷情報を複数生成する場合は、印刷情報に次のページの印刷用データに関する情報が含まれる次の印刷情報の情報を含める。これにより、印刷情報が大きすぎてＭＦＰ１００が受信できないという事態を防ぎ、さらに、ＭＦＰ１００に対して、続きのページに関する印刷情報が別に存在することを通知することが可能となる。
【００６４】
（印刷処理）
図７は、図５のＳ５１２で実行される印刷処理の動作例を示すシーケンス図である。なお、図５では、Ｓ５１２の処理を、ＭＦＰ１００が単体で実行するように示されているが、印刷処理は、図７に示すように、ＭＦＰ１００と印刷データ変換サーバ３００との間のデータの送受信を伴う。すなわち、ＭＦＰ１００は、印刷データ変換サーバ３００に対して印刷情報又は印刷用データの取得要求を送信し、印刷データ変換サーバ３００は、この取得要求に応じて、印刷情報又は印刷用データのＭＦＰ１００に対する送信を行う。
【００６５】
印刷処理が開始されると、ＭＦＰ１００は、Ｓ５１１で取得したＵＲＬを用いて、印刷情報の所在を特定して、印刷データ変換サーバ３００に対して印刷情報の取得要求を送信する（Ｓ７０１）。印刷データ変換サーバ３００は、要求された印刷情報の準備が終わっているか否かを判定する（Ｓ７０２）。準備が終わっていない場合（Ｓ７０２でＮＯ）、一定期間待ち（Ｓ７０３）、印刷情報の準備が終了するのを待つ。
【００６６】
印刷情報の準備が終わっている場合（Ｓ７０２でＹＥＳ）、印刷データ変換サーバ３００は、ＭＦＰ１００に対して要求された印刷情報を送信する（Ｓ７０４）。この時、印刷データ変換サーバ３００は、要求された印刷情報より古い印刷情報が存在する場合、又は要求された印刷情報が対応する印刷用データのページより前のページに対応する印刷情報が存在する場合、この印刷情報を削除してもよい。このように不要な印刷情報を削除することによって、印刷データ変換サーバ３００の記憶容量を節約することができる。ＭＦＰ１００は、取得した印刷情報を解析し、未印刷の印刷用データの所在を特定するＵＲＬが、その印刷情報に含まれているか否かを判定する（Ｓ７０５）。
【００６７】
未印刷の印刷用データに関するＵＲＬが含まれている場合（Ｓ７０５でＹＥＳ）、ＭＦＰ１００は、そのＵＲＬを用いて、印刷データ変換サーバ３００に対して、その未印刷の印刷用データの取得要求を発行する（Ｓ７０６）。そして、印刷データ変換サーバ３００は、この取得要求に応じて、ＭＦＰ１００に対して、要求された印刷用データを送信する（Ｓ７０７）。この時、印刷データ変換サーバ３００は、Ｓ７０４と同様に、要求された印刷用データより古い、すでに送信された印刷用データが存在する場合、これを削除してもよい。このように不要な印刷用データを削除することによって、印刷データ変換サーバ３００の記憶容量を節約することができる。続いて、ＭＦＰ１００は、記録制御部１１２や記録部１１３を用いて、印刷データ変換サーバ３００から受信して取得した印刷用データの印刷処理を実行する。その後、処理はＳ７０６に戻る。
【００６８】
一方、未印刷の印刷用データに関するＵＲＬが含まれていない場合（Ｓ７０５でＮＯ）、ＭＦＰ１００は、取得した印刷情報を解析し、印刷情報に、次の印刷情報に関するＵＲＬが含まれているか否かを判定する（Ｓ７０９）。印刷情報に、次の印刷情報に関するＵＲＬが含まれている場合（Ｓ７０９でＹＥＳ）、処理をＳ７０１に戻して、Ｓ７０１〜Ｓ７０８の処理を再度実行する。一方、印刷情報に、次の印刷情報に関するＵＲＬが含まれていない場合（Ｓ７０９でＮＯ）、印刷処理を終了する。
【００６９】
このように、ＭＦＰ１００は、印刷情報に、別の印刷情報が含まれているか否かによって、印刷処理が、その印刷情報だけで完結するのか、他の印刷情報を含めて一連の印刷処理として行われるべきなのかを判断することが可能となる。また、印刷情報が複数に分けて取得されるため、印刷情報のサイズが大きいことにより保持することができなくなることがない。このため、印刷対象データが大きく、印刷後のページ数が膨大となる場合であっても、ＭＦＰ１００は、これに対処することができ、一連の印刷処理を実行することが可能となる。
【００７０】
また、印刷用データの所在情報と次の印刷情報の所在情報が共にＵＲＬで記述されている場合、ＭＦＰ１００は、上記２種類の情報のそれぞれに個別に対応するデータの取得方法を用いなくても、共通の取得方法により上記2種類の情報を取得することができる。
【００７１】
（印刷情報の例）
最後に、印刷情報の構成について説明する。図８は、印刷データ変換サーバ３００が生成する印刷情報の例である。この例に示す印刷情報では、３ページの印刷用データに関する情報（後述の８０１／８０２／８０３）と、次の印刷情報に関する情報（後述の８０４）を含む。
【００７２】
図６のＳ６０５又はＳ６１１において印刷情報が完成した場合、図８に示す印刷情報のように、また、例えば図４の印刷情報９０３及び９０４のように、印刷用データに関する情報と、次の印刷情報に関する情報とを含む。一方で、図６のＳ６１３で印刷情報が完成した場合は、例えば図４の印刷情報９９９のように、次の印刷情報に関する情報（後述の８０４）が含まれず、印刷用データに関する情報（後述の８０１／８０２／８０３）のみが含まれる印刷情報が生成される。
【００７３】
図８において、８０１は、１ページ目の印刷用データに関する情報を示している。この情報には、印刷設定として、用紙サイズ（Ａ４）、用紙種類（ｐｌａｉｎ（普通紙））、部数（１（部））が含まれている。また、この情報には、１ページ目の表面の印刷用データのＵＲＬ（ｈｔｔｐ：／／ｗｗｗ．ＸＸＸ．ｃｏｍ／ＹＹＹ＿１ｐａｇｅｆｒｏｎｔ．ｊｐｇ）、ファイルサイズ（４４４４４）が含まれている。８０１については、裏面に関する情報がないため、表面のみ印刷される。８０２は、２ページ目の印刷用データに関する情報を示している。８０２についても、８０１と同様に、裏面に関する情報がないため、表面のみが印刷される。
【００７４】
８０３は、３ページ目の印刷用データに関する情報を示している。この情報には、３ページ目の表面の印刷用データのＵＲＬ（ｈｔｔｐ：／／ｗｗｗ．ＸＸＸ．ｃｏｍ／ＹＹＹ＿３ｐａｇｅｆｒｏｎｔ．ｊｐｇ）、ファイルサイズ（３３３３３）が含まれている。また、この情報には、表面の印刷用データのＵＲＬ（ｈｔｔｐ：／／ｗｗｗ．ＸＸＸ．ｃｏｍ／  ＹＹＹ＿３ｐａｇｅｂａｃｋ．ｊｐｇ）、ファイルサイズ（７７７７７）が含まれている。このため、３ページ目については、両面印刷される。
【００７５】
８０４は、次の印刷情報に関する情報を示している。この情報には、次の印刷情報に関する情報として、次の印刷情報の所在を特定するＵＲＬ（ｈｔｔｐ：／／ｗｗｗ．ＸＸＸ．ｃｏｍ／ＹＹＹ＿２ｃｏｎｔｅｎｔｓｌｉｓｔ．ｘｍｌ）、ファイルサイズ（２２２２）が含まれている。
【００７６】
なお、図８では、３つの印刷用データに関する情報を含む印刷情報の一例が示されているが、これに限定されるものではない。すなわち、印刷情報は、１つ以上の印刷用データに関する情報を含む情報であればよい。例えば、図６のＳ６０３において、１つの印刷用データに関する情報を書き込んだ段階で、ＭＦＰ１００からの印刷情報の取得要求を受信した場合、Ｓ６０５で、印刷用データに関する情報を１つと次の印刷情報に関する情報とを有する印刷情報が生成される。
【００７７】
ＭＦＰ１００は、図７のＳ７０５で印刷情報を解析し、１ページ目の印刷用データに関する情報が含まれていると判定して、Ｓ７０６〜Ｓ７０８の処理を実行し、１ページ目の印刷を実行する。続いて、ＭＦＰ１００は、再度、Ｓ７０５で印刷情報を解析し、２ページ目の印刷用データに関する情報が含まれていると判定して、Ｓ７０６〜Ｓ７０８の処理を実行し、２ページ目の印刷を実行する。続いて、ＭＦＰ１００は、再度、Ｓ７０５で印刷情報を解析し、３ページ目の表面の印刷用データに関する情報が含まれていると判定して、Ｓ７０６〜Ｓ７０８の処理を実行し、３ページ目の表面の印刷を実行する。さらに、ＭＦＰ１００は、再度、Ｓ７０５で印刷情報を解析し、３ページ目の裏面の印刷用データに関する情報が含まれていると判定して、Ｓ７０６〜Ｓ７０８の処理を実行し、３ページ目の裏面の印刷を実行する。その後、ＭＦＰ１００は、再度、Ｓ７０５で印刷情報を解析し、印刷用データのＵＲＬが含まれていないと判定し、Ｓ７０９で、次の印刷情報のＵＲＬがあると判定して、Ｓ７０１に処理を戻し、印刷処理を継続する。
【００７８】
なお、図８に示すように、次の印刷情報のＵＲＬに対してタグ「＜ｎｅｘｔ＿ｃｏｎｔｅｎｔｓｌｉｓｔ＞」が記述されている。ＭＦＰ１００はこの記述を参照することで、このＵＲＬが印刷データの所在情報ではなく、次の印刷情報の所在情報であることを認識することができる。
【００７９】
ただし、ＭＦＰ１００が上記認識を行う方法はこれに限らず、例えばＵＲＬ内のファイル識別子が「.jpg」であるのか、「.xml」であるのかに応じて、このＵＲＬが上記２種類の所在情報のいずれであるのか判定してもよい。また印刷対象のファイル識別子「.jpg」はあくまで一例であり、種々のファイルを印刷対象とすることができ、またその種々のファイルそれぞれに対応する識別子が、印刷対象のデータの所在情報であるＵＲＬに記述される。
【００８０】
以上のように、サーバとＭＦＰと双方でジョブ情報を分割して制御することで、ＭＦＰが限られたバッファ容量しか持っていなくても、ページ数や部数に制限のない印刷が可能となる。具体的には、ＭＦＰは、印刷情報のためのバッファ容量が制限される場合でも、そのバッファ容量で記憶できるサイズの印刷情報が生成され、さらにその印刷情報が他の印刷情報とリンクするため、大量の印刷用データを一連の印刷処理で処理することができる。また、ＭＦＰは、ページごとに印刷用データを取得するため、印刷用データの容量が制限されている場合であっても、逐次的に印刷用データを取得して印刷処理を実行することができる。また、ＭＦＰは、サーバで全てのジョブ情報の生成が完了する前に印刷を開始できる。さらに、サーバは、全てのページの印刷用データを保持せずに済むため、備えるべき記憶容量を削減することができる。
【００８１】
また、上述の手法で生成された印刷情報は、ページ順で次の印刷情報を取得することができるように、その印刷情報が対応するページに続くページに対応する別の印刷情報を含んでいる。したがって、印刷のページ順がユーザの意図の通りに出力されることとなる。また、次のページに対応する別の印刷情報が含まれている場合は、ＭＦＰは、一連の印刷処理が終了していないと判断できるため、他の機能（例えば、ローカルＰＣによる印刷）による割り込みを防ぐことが可能となる。
【００８２】
なお、以上の実施形態では、ＭＦＰ１００が印刷情報に含まれる所在情報に従って印刷対象のデータを受信して、そのデータを印刷する例を示した。しかしこれに限らず、例えばＰＣやスマートフォン、カメラ等、種々の装置がデータを受信するのであってもよい。この場合、受信されたデータに対する所定の処理として、表示、メモリへの格納、外部装置への送信など、種々の処理を適用することができる。例えばスマートフォンにおいてサーバから受信した画像を表示する場合に、サーバからスマートフォンに画像の所在情報が送信され、スマートフォンがその所在情報に従って画像を受信する場合であってもよい。この場合、複数の画像それぞれに対応する所在情報がサーバからスマートフォンに送信されてもよい。すると、以上の実施形態において説明したように、表示対象の全ての画像に対応する所在情報のデータサイズが、スマートフォンにおける所定のバッファ容量を超える場合がある。そこで、本実施形態で説明したように所在情報を分割して、分割された所在情報と、次の所在情報を取得するための所在情報をスマートフォンに送信することで、スマートフォンは表示対象の画像を適切に取得することができる。
【００８３】
＜＜その他の実施形態＞＞
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【００８４】
また、本実施形態の機能を実現するためのプログラムコードを、１つのコンピュータ（ＣＰＵ、ＭＰＵ）で実行する場合であってもよいし、複数のコンピュータが協働することによって実行する場合であってもよい。さらに、プログラムコードをコンピュータが実行する場合であってもよいし、プログラムコードの機能を実現するための回路等のハードウェアを設けてもよい。またはプログラムコードの一部をハードウェアで実現し、残りの部分をコンピュータが実行する場合であってもよい。
【図１】
2015036859.tif 000003
【図２】
2015036859.tif 000004
【図３】
2015036859.tif 000005
【図４】
2015036859.tif 000006
【図５】
2015036859.tif 000007
【図６】
2015036859.tif 000008
【図７】
2015036859.tif 000009
【図８】
2015036859.tif 000010