JP6190207B2 - システム、情報処理方法、処理装置、処理方法、及びプログラム - Google Patents

システム、情報処理方法、処理装置、処理方法、及びプログラム Download PDF

Info

Publication number
JP6190207B2
JP6190207B2 JP2013167846A JP2013167846A JP6190207B2 JP 6190207 B2 JP6190207 B2 JP 6190207B2 JP 2013167846 A JP2013167846 A JP 2013167846A JP 2013167846 A JP2013167846 A JP 2013167846A JP 6190207 B2 JP6190207 B2 JP 6190207B2
Authority
JP
Japan
Prior art keywords
data
location information
predetermined
information
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
JP2013167846A
Other languages
English (en)
Other versions
JP2015036859A (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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2013167846A priority Critical patent/JP6190207B2/ja
Priority to US14/338,147 priority patent/US9239885B2/en
Priority to EP14002557.8A priority patent/EP2838010B1/en
Priority to RU2014133029A priority patent/RU2609751C2/ru
Priority to KR1020140103238A priority patent/KR101700481B1/ko
Priority to CN201410394672.5A priority patent/CN104375821B/zh
Publication of JP2015036859A publication Critical patent/JP2015036859A/ja
Application granted granted Critical
Publication of JP6190207B2 publication Critical patent/JP6190207B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • 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/1211Improving printing performance
    • G06F3/1212Improving printing performance achieving reduced delay between job submission and print start
    • 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/1237Print job management
    • G06F3/1241Dividing a job according to job requirements, e.g. black/white and colour pages, covers and body of books, tabs
    • 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/1244Job translation or job parsing, e.g. page banding
    • 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/1265Printing by reference, e.g. retrieving document/image data for a job from a source mentioned in the job
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2206/00Indexing scheme related to dedicated interfaces for computers
    • G06F2206/15Indexing scheme related to printer interfaces for computers, indexing schema related to group G06F3/12
    • G06F2206/1514Sub-job
    • 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
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/18Conditioning data for presenting it to the physical printing elements
    • G06K15/1827Accessing generic data, e.g. fonts

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)
  • Facsimiles In General (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Information Transfer Between Computers (AREA)

Description

本発明は処理対象のデータの所在情報に基づいて当該データに対する処理を行う技術に関する。
近年、印刷装置は、機能の一つとして、例えば、ネットワーク経由でサーバから印刷ジョブがあることの通知を受けて、印刷ジョブをサーバから取得して印刷する機能を有する。このとき、印刷ジョブは、例えば、印刷装置と離れた場所にある端末装置からインターネット経由でサーバに通知され、その後、サーバから印刷装置に通知される。そして、最後に、通知を受けた印刷装置がサーバから印刷用データを取得して印刷を実行する。特許文献1には、デジタルテレビから印刷ジョブの通知を受けて、通知の中にある印刷用のコンテンツデータ(印刷用データ)の所在を示すURLを用いて、印刷用データを取得する印刷装置が記載されている。
特開2012−018528号公報
しかしながら、低価格の印刷装置など、RAMのメモリ容量が少ない印刷装置では、印刷用データの所在などを含む関連情報を受信するためのバッファの容量が制限されている場合がある。このため、印刷用データの関連情報が印刷装置のバッファ容量より大きなサイズを有する場合、印刷装置のバッファ容量をオーバーし、全ての情報を受信することができない場合があるという課題があった。
本発明は上記課題に鑑みなされたものであり、処理装置のバッファ容量が少ない場合であっても、処理対象のデータを適切に処理させることを可能とする技術を提供することを目的とする。
上記目的を達成するため、本発明によるシステムは、所定の処理の対象となるデータの少なくとも一部についての所在に関するデータ所在情報と、前記データ所在情報の所在に関する所定の所在情報とを生成する生成手段と、前記生成手段により生成されたデータ所在情報と前記所定の所在情報とを、前記データに前記所定の処理を実行する処理装置へ向けて送信する送信手段と、を有し、前記生成手段は、前記所定の処理の対象となるデータの一部についての所在に関する第1のデータ所在情報、当該一部とは別の複数の部分に対応する複数の第2のデータ所在情報の所在に関する前記所定の所在情報を生成し、前記送信手段は、当該生成された当該第1のデータ所在情報と当該所定の所在情報を、前記処理装置に送信する、ことを特徴とする。

本発明によれば、処理装置のバッファ容量が少ない場合であっても、処理対象のデータを適切に処理させることができる。
印刷システムの構成例を示す図。 MFPの構成例を示すブロック図。 ジョブサーバ及び印刷データ変換サーバの構成例を示すブロック図。 印刷情報の例を示す図。 印刷システムで実行される処理の概要を示すシーケンス図。 データ変換処理および印刷情報生成処理の動作例を示すフローチャート。 印刷処理の動作例を示すシーケンス図。 印刷情報の一例を示す概略図。
以下、添付図面を参照して本発明の実施の形態を詳細に説明する。
(システム構成)
図1は、本実施形態に係る印刷システムの構成例を示す図である。この印刷システムは、例えば、インターネット又はイントラネットなどの通信ネットワーク400に接続される、MFP100、ジョブサーバ200及び印刷データ変換サーバ300を含む。ここで、MFP100は、印刷処理を実行する印刷装置を含み、印刷データ変換サーバ300は、印刷の対象のデータをMFP100が印刷可能な形式の印刷用データに変換する情報処理装置を含む。
MFP100は、通信ネットワーク400に初めて接続されると、ジョブサーバ200との間で通信を行い、MFP100をジョブサーバ200に登録する。登録することによって、MFP100とジョブサーバ200が関連付けられた状態となり、MFP100とジョブサーバ200とが相互に通信可能な状態となる。また、登録の際に、ジョブサーバ200は、MFP100のデフォルトアカウントを作成して、MFP100に通知する。デフォルトアカウントは、MFP100が不図示のアプリケーションサーバを利用して印刷ジョブを発行する時に使用する。
MFP100とジョブサーバ200と印刷データ変換サーバ300との間の通信では、HTTP又はXMPPなどの通信プロトコルが用いられるものとし、詳細な説明は省略する。なお、ジョブサーバ200と印刷データ変換サーバ300とアプリケーションサーバとでは、提供する機能が異なるため別のサーバとして説明するが、1つのサーバにこれらのような複数の機能が含まれてもよい。
(MFP100の構成)
図2は、本実施形態のMFP100の概略的な構成例を示すブロック図である。
図2において、CPU101は、システムを制御する制御部であり、MFP100の全体を制御する。ROM102は、CPU101が実行する制御プログラムやデータテーブル、組み込みオペレーティングシステム(OS)プログラム等の固定データを格納する。本実施形態では、ROM102に格納されている各制御プログラムによって、ROM102に格納されている組み込みOSの管理下で、スケジューリングやタスクスイッチ、割り込み処理等のソフトウェア実行制御が行われる。
RAM103は、バックアップ電源を伴うSRAM(Static Random Access Memory)等で構成され、不図示のデータバックアップ用の1次電池によってデータが保持される。RAM103には、データが消去されるべきでないプログラム制御変数等が格納される。また、RAM103には、オペレータが登録した設定値やMFP100の管理データ等を格納するメモリエリアも設けられる。画像メモリ104は、DRAM(Dynamic Random Access Memory)等により構成され、画像データを蓄積する。また、画像メモリ104では、一部の領域が、ソフトウェア処理の実行のためのワークエリアとして確保される。
データ変換部105は、ページ記述言語(PDL:Page Description Language)等の解析や、キャラクタデータのCG(Computer Graphics)展開等の画像データの変換を行う。
読取制御部106は、読取部107から入力された画像信号に、不図示の画像処理制御部を介して2値化処理や中間調処理等の各種画像処理を施し、高精細な画像データを出力する。読取部107は、CISイメージセンサによって原稿を光学的に読み取り、その読み取った結果を電気的な画像データに変換して画像信号を生成する。なお、読取制御部106及び読取部107は、原稿を搬送しながら、固定されたCISイメージセンサで読み取るシート読取制御方式と、原稿台に固定された原稿を、移動するCISイメージセンサでスキャンするブック読取制御方式とのいずれを用いてもよい。
表示操作部108は、数値入力キー、モード設定キー、決定キー、取り消しキー等のキーと、LED(発光ダイオード)や7seg表示部などによって構成され、ユーザによる複合機としての各種機能の起動操作を受け付ける。また、表示操作部108は、ブラウザ機能も備え、一般的な組込ブラウザとして動作することができる。
通信制御部109は、通信ネットワーク400に接続し、インターネットプロバイダへの接続や、ジョブサーバ200又は印刷データ変換サーバ300との間でのデータや画像情報等の通信を行う。
解像度変換処理部110は、ミリ系の画像データとインチ系の画像データの相互変換等の解像度変換制御を行う。なお、解像度変換処理部110は、画像データの拡大縮小処理を実行してもよい。符復号化処理部111は、MFP100で扱う画像データ(非圧縮、MH、MR、MMR、JBIG、JPEG等)を相互に符復号化処理し、又は拡大縮小処理を実行する。
記録制御部112は、印刷される画像データに対して、不図示の画像処理制御部を介して、スムージング処理や記録濃度補正処理、色補正等の各種画像処理を施して、高精細な画像データに変換し、記録部113に出力する。また、記録制御部112は、USBファンクション制御部114を制御することにより、定期的に記録部113の状態情報データを取得する。記録部113は、レーザビームプリンタやインクジェットプリンタ等からなる記録部であり、記録制御部112で生成したカラー画像データまたはモノクロ画像データの、印刷部材への印刷処理を実行する。
USBファンクション制御部114は、USBインターフェースの通信制御を行う機能部であり、USB通信規格に基づくプロトコル制御を行う。USBファンクション制御部114は、例えば、CPU101が実行するUSBファンクション制御タスクからのデータをパケットに変換し、不図示の外部のPCにUSBパケットを送信する。また、USBファンクション制御部114は、例えば、逆に、外部のPCからのUSBパケットを受信して、データに変換してCPU101に対して送信する。USBホスト制御部115は、USB通信規格で定められたプロトコルで通信を行うための制御部である。USB通信規格は、双方向のデータ通信を高速に行うことができる規格であり、規格においては、1台のホスト(マスター)に対し、複数のハブまたはファンクション(スレーブ)を接続することができる。USBホスト制御部115は、USB通信におけるホストの機能を有する。上述の各機能部は、CPU101が管理するCPUバス121を介して相互に接続される。
(サーバの構成)
図3は、本実施形態のジョブサーバ200と印刷データ変換サーバ300の概略的な構成例を示すブロック図である。ジョブサーバ200及び印刷データ変換サーバ300は、一例として、図3に示すような、同様の構成を有する。
図3において、CPU201は、ROM202、RAM203、内部記憶装置204、又は外部記憶装置205により外部記憶媒体206から、読み出されたプログラムに従って、システムバスを介してサーバ全体の動作を制御する。ROM202は、CPU201の制御プログラム等を格納する。RAM203は、一時的にプログラムや画像データを記憶し、サーバの処理を高速に動作させるための記憶装置である。内部記憶装置204には、オペレーティングシステム、各種アプリケーションプログラムや画像データ等が格納される。内部記憶装置204には、例えば、他の装置(例えばMFP100及び他のサーバ)に対する各種制御命令やデータの送受信を行うための、アプリケーションソフト等がインストールされる。これらのアプリケーションソフトは、通常、これらが記憶された他のコンピュータ可読媒体から外部記憶ディスク206(CD/DVDメディアなど)によりデータを受け取り、外部記憶装置205を制御して内部記憶装置204にインストールされる。
操作部207は、オペレータからの指示入力部としてのキーボードやマウス(不図示)を制御する。表示部208は、オペレータに対して各種表示を行う。通信部209は、通信ネットワーク400に接続し、インターネットプロバイダへの接続や、MFP100や他のサーバとの間での、データや画像情報等の通信を行う。
(印刷システムの動作)
本実施形態では、印刷データ変換サーバ300が、印刷の対象となるデータの印刷用データへの変換を行い、その印刷用データを、印刷が実行されるときのページ単位で、印刷データ変換サーバ300内の記憶部に記憶しておく。印刷データ変換サーバ300は、その際に、印刷が実行されるときのページのそれぞれに対応する印刷用データが、どこにあるかの所在の情報を含む印刷情報を生成し、これも印刷データ変換サーバ300内の記憶部に記憶しておく。
このとき、印刷データ変換サーバ300は、印刷が実行されるときのページの全ての印刷用データの所在の情報を含む1つの印刷情報を生成するか、印刷が実行されるときのページの全てのうちの一部の印刷用データの所在の情報をそれぞれが含む、複数の印刷情報を生成するかを決定する。この決定は、例えば、MFP100における印刷情報を記憶しておくための記憶容量(バッファ容量)などに応じて、実行される。例えば、MFP100において印刷情報を記憶するための記憶容量が、予め印刷データ変換サーバ300に登録されており、その登録されている記憶容量に応じてこの決定が行われる。また、MFP100から印刷データ変換サーバ300に、記憶容量に関する情報が通知され、印刷データ変換サーバ300が通知された情報を用いてこの決定を行ってもよい。MFP100から印刷変換サーバ300に通知される情報としては、記憶容量を示す情報であってもよいし、又はMFP100の機種を示す機種情報が通知され、印刷データ変換サーバ300においてその機種に応じた記憶容量が特定されてもよい。
本実施形態では、印刷対象のページが複数ある場合に、この決定に従ってその複数ページが複数のグループに分割され、分割されたグループに含まれる1または複数のページに対応する印刷情報(印刷対象のデータの所在情報等)が作成されることがある。このようにグループに分割された1または複数のページに対する印刷情報を生成する場合、それぞれのグループの印刷情報は、印刷が実行されるときの最後のページに関する情報を含む印刷情報を除き、他のグループの印刷情報に関する情報を含む。すなわち、その印刷情報が対応するページの後のページに対応する、別の印刷情報に関する情報を含む。なお、ここでの「分割」は、印刷対象の全ページに対する印刷情報の作成が完了した後に実行される分割と、印刷対象の全ページの一部に対する印刷情報を順次作成することによって結果として分割されることとを含む。
なお、別のグループの印刷情報に関する情報とは、例えば、その別のグループの印刷情報が印刷データ変換サーバ300内でどこにあるかを示す所在情報である。この別の印刷情報に関する情報が含まれることで、そのグループの印刷情報と、そのグループとは別のグループの印刷情報とがリンクされる。そして、MFP100は、その印刷対象となっているグループの印刷情報に対応する印刷用データと、その別のグループの印刷情報に対応する印刷用データとがリンクされるため、一連のデータであることを特定することができる。
このようにして生成される印刷情報の例を、図4に示す。901は、上述のような分割を行わず、印刷が実行されるときのページの全てに対して1つの印刷情報を生成した場合の印刷情報である。この場合、印刷情報は、「1ページ目の印刷用データの情報」から「Nページ目の印刷用データの情報」までを含む1つのXMLファイルとして生成される。ただし、この場合、印刷情報のファイルサイズが大きくなってしまい、MFP100が受信できない場合がある。
一方、902は、上述のような分割を行い、分割後のグループのそれぞれに対して印刷情報を生成した場合の、印刷情報である。なお、各グループに対応する印刷情報のそれぞれは、XMLファイルとして生成される。そして、1または複数のページに対応する各グループのXMLファイルには、その1または複数のページのそれぞれに対応する印刷情報(印刷データの所在情報等)が含まれる。
例えば、図4における1番目の印刷情報903には「1ページ目の印刷用データの情報」「2ページ目の印刷用データの情報」「3ページ目の印刷用データの情報」「次の印刷情報に関する情報」が含まれる。なお、印刷情報903の「次の印刷情報の情報」は、印刷情報903が対応する印刷が実行されるときのページ1〜3に続く、4ページ目に対応する情報を有する印刷情報904を指し示す情報である。具体的には、「次の印刷情報の情報」は、印刷情報904がネットワーク上のどこに格納されているのかを示す所在情報を含む。よってMFP100が印刷情報903を取得した場合、1〜3ページ目に対応する情報に従って、1〜3ページまでの印刷データを取得できるとともに、「次の印刷情報の情報」を用いて、4ページ目以降の印刷データの所在情報を取得することができる。
2番目の印刷情報904には「4ページ目の印刷用データの情報」「5ページ目の印刷用データの情報」「6ページ目の印刷用データの情報」「次の印刷情報に関する情報」が含まれる。また、印刷情報999は、印刷が実行されるときの最後のページ(Nページ目)の情報を含むため、「次の印刷情報に関する情報」は含まれない。
このように、印刷対象の複数ページが分割されたグループごとに印刷情報が生成され、MFP100に提供される場合、MFP100に一度に送信される印刷情報のファイルサイズが小さく抑えられる。このため、仮に印刷対象の全ページに対応する印刷情報のデータサイズがMFP100のバッファ容量を超える場合であっても、MFP100はこれを受信可能となる。
なお、各ページの印刷データを取得するための印刷情報と、次の印刷情報を取得するための「次の印刷情報の情報」は、異なる形式で記述されてもよいし、例えばURL(Uniform Resource Locator)等、共通の形式で記述されてもよい。印刷情報と「次の印刷情報の情報」が共通の形式で記述される場合、MFP100は、それらの情報それぞれに対する別個の処理を行わなくても、同様の処理によりそれらの情報を取得することができる。
また、図4の例では、1つのページの印刷用データの情報が1つの印刷情報(903/904/999)に含まれているが、1つのページの印刷用データの情報が2つ以上の印刷情報に含まれていてもよい。個々の印刷情報の具体例は図8を参照して後述する。
次に、MFP100が印刷情報により印刷データを受信する処理について説明する。
MFP100は、まず、印刷情報の所在の情報を特定して、印刷データ変換サーバ300からその印刷情報を受信する。そして、MFP100は、その印刷情報に含まれる印刷用データの所在の情報に従って、印刷用データを、例えばジョブサーバ200を介して、印刷データ変換サーバ300から取得する。
このとき、例えばMFP100における印刷情報を記憶するための記憶容量などに応じて、MFP100のバッファが保持しておけるサイズを有するように、1つ又は複数の印刷情報が生成される。このため、MFP100は、仮に印刷対象の全ページに対する印刷情報のデータサイズが、上記記憶容量を超える場合でも、この印刷情報を取得することができる。また、複数の印刷情報が分割されて生成されている場合、印刷が実行されるときの最後のページに関する情報を含む印刷情報以外は、別の印刷情報に関する情報を含む。このため、MFP100は、このような印刷情報を受信すると、この印刷情報には続きが存在することを認識することができる。したがって、MFP100は、例えば1つの印刷情報が対応する印刷用データを全て取得した後に、続きの印刷情報を取得し、続きのページの印刷用データを取得することができる。
また、MFP100は、別の印刷情報が含まれない印刷情報が対応する印刷用データの印刷処理を終了するまでは、他の印刷処理を実行しないようにする。すなわち、印刷対象の全ページに対応する印刷処理が完了するまで他の印刷処理を実行しないようにすることで、1つの印刷対象のデータの印刷処理の間に他の印刷処理が割り込むことを防ぐことができる。
以下では、図5〜図7を用いて、MFP100、ジョブサーバ200、及び印刷データ変換サーバ300が実行する処理の具体例について、詳細に説明する。図5は、印刷システムで実行される処理の概要を示すシーケンス図である。
なお、図5〜図7におけるMFP100、ジョブサーバ200/印刷データ変換サーバ300による処理に対応するプログラムが、それぞれROM102、ROM202に格納されている。そして、CPU101、CPU201のそれぞれが上記のプログラムをRAM103、RAM203に読み出して実行することにより、図5〜図7における処理を実現することができる。
図5の処理では、まず、ユーザがMFP100の表示操作部108を操作し、MFP100上で動作するブラウザを立ち上げる(S501)。ブラウザは、デフォルトアカウントを用いて、不図示のアプリケーションサーバとの間で通信を行い、ブラウザ上で各種Webアプリケーションを動作させる。このとき、ブラウザが、自動的にデフォルトアカウントを用いてアプリケーションサーバと認証を行うため、ユーザはデフォルトアカウントをブラウザ上で入力しなくてよい。
続いて、例えばユーザがブラウザ上でWebアプリケーションを選択して起動し、画像や文書などの印刷対象のデータを選択し、印刷する用紙サイズ、用紙種類、部数、品位、及び両面設定などの印刷設定を選択する(S502)。その後、S502で選択された印刷対象のデータのURLと印刷設定とをまとめて印刷ジョブを生成し、印刷処理を実行するプリンタをMFP100として、その印刷ジョブをジョブサーバ200に送信する(S503)。この時、デフォルトアカウントを用いているため、ユーザが印刷処理を実行するプリンタを指定しなくても、印刷対象のプリンタがMFP100であることを特定することができる。
S501〜S503における、MFP100上で動作するブラウザ、及びブラウザ上で動作するWebアプリケーションについては、一般的なWeb技術に関するものを用いるものとし、説明は省略する。また、S501〜S503では、MFP100上のブラウザが動作しているが、これに限定されない。例えば、PCやスマートフォンで動作するブラウザを用いて、印刷ジョブをジョブサーバ200に送信してもよい。この場合、ブラウザがMFP100ではない他の装置において動作しているものであるため、デフォルトアカウントを用いることができない。このため、この場合は、例えば、ユーザを別途特定するユーザアカウントが用いられる。この場合、ユーザアカウントを作成する際に、ユーザアカウントとMFP100とを関連付けておく。これにより、ユーザがPCやスマートフォンで動作するブラウザ上でユーザアカウントを入力してアプリケーションサーバと認証を行うことで、他の装置のブラウザ上で各種Webアプリケーションを動作させてMFP100に印刷処理を実行させることができる。具体的には、他の装置のブラウザ上で動作する各種Webアプリケーションが、印刷ジョブを印刷対象のプリンタをMFP100として、ジョブサーバ200に送信することが可能となる。
続いて、ジョブサーバ200が、MFP100からの印刷ジョブを受け付ける(S504)。そして、ジョブサーバ200は、印刷データ変換サーバ300に対して、印刷用データの生成依頼を発行する(S505)。この時、ジョブサーバ200は、MFP100から受信した印刷ジョブに含まれている印刷設定及び印刷対象データのURLなども、まとめて、印刷用データの生成依頼に含めるものとする。印刷用データの生成依頼は、MFP100の性能(印刷可能なファイルフォーマットや解像度等)や印刷する元データ(写真か文書か等)によって、生成すべき印刷用データのフォーマットが異なるため、MFP100に適した印刷用データを得るために行われる。
印刷データ変換サーバ300は、ジョブサーバ200からの印刷用データの生成依頼を受け付ける(S506)。続いて、印刷データ変換サーバ300は、ジョブサーバ200に対して、印刷が実行されるときのページごとの印刷用データが印刷データ変換サーバ300のどこにあるかに関する所在情報を含む、印刷情報を生成する。なお、印刷情報においては、例えば、URL又はURIなどによって、印刷用データの所在に関する情報がページごとに1つ又は複数記述される。なお、この印刷情報に含まれるURL又はURIなどの印刷用データの所在に関する情報は、例えば、印刷が進んで印刷情報が削除されるまでの間のみ、一時的に有効な情報である。なお、この印刷情報は、S507で生成されてもよいし、後述する図6のS602の前に生成されてもよい。生成される印刷情報については、図8を用いて後述する。続いて、印刷データ変換サーバ300は、印刷対象データの印刷用データへの変換を開始し、順次、印刷情報を生成する(S508)。S508で実行される処理の詳細については、図6を用いて後述する。
続いて、ジョブサーバ200は、印刷データ変換サーバ300から、印刷情報の所在に関する情報(例えばURL)を受信する(S509)。続いて、ジョブサーバ200は、印刷対象のMFP100に対して、印刷情報のURLを送信する(S510)。
なお、本実施形態では、図4を用いて上述したように、印刷対象が複数のページである場合、その複数のページが複数のグループに分割され、分割されたグループごとに印刷情報が生成される場合がある。そしてこの場合、S510では、複数のグループのそれぞれに対応する印刷情報が、順次MFP100に送信される。このとき、S509においてジョブサーバ200が複数のグループのそれぞれに対応する印刷情報を順次受信し、S510で順次送信を行ってもよいし、S509において複数のグループに対応する印刷情報を全て受信して、S510において順次送信処理を行うようにしてもよい。
そして、MFP100は、ジョブサーバ200から、印刷情報の所在に関する情報としてURLを受信する(S511)。ここで、MFP100は、URLを受信して取得すると、一連の印刷処理を開始するにあたり、この一連の印刷処理と同時に実行できない他の印刷処理(例えば、MFP100とUSBインターフェースで接続された不図示のPCからの印刷)を禁止する。その後、MFP100は、受信した印刷情報に関するURLを用いて、印刷情報を取得し、印刷を開始する(S512)。S512で実行される処理については、図7を用いて後述する。
MFP100は、全ての印刷が終了すると、ジョブサーバ200に対して、印刷ジョブ完了通知を発行する(S513)。MFP100は、一連の印刷処理が終了したため、この後、禁止していた一連の印刷処理と同時に実行できない他の印刷処理(例えば、MFP100とUSBインターフェースで接続された不図示のPCからの印刷)を許可する。
ジョブサーバ200は、MFP100から印刷完了通知を受信し、S504で受け付けた印刷ジョブを完了させる(S514)。そして、ジョブサーバ200は、印刷データ変換サーバ300に対して、印刷用データの生成依頼の完了通知を発行する(S515)。最後に、印刷データ変換サーバ300は、ジョブサーバ200から印刷用データの生成依頼の完了通知を受信し、S506で受け付けた印刷用データ生成依頼を完了させる(S516)。
(データ変換処理および印刷情報生成処理)
図6は、図5のS508における、印刷データ変換サーバ300が実行するデータ変換処理および印刷情報生成処理の動作例を示すフローチャートである。まず、印刷データ変換サーバ300は、印刷対象のデータを印刷時に1ページ目として印刷される印刷用データを生成する(S601)。例えば、印刷データ変換サーバ300は、S506で取得した印刷用データの生成依頼に含まれている、印刷対象のデータに関するURLから、印刷対象データを取得する。そして、印刷データ変換サーバ300は、この印刷対象データを、MFP100が印刷可能なフォーマットを有する印刷用データに変換し、内部記憶装置304又は外部記憶装置305などの記憶部に、この印刷用データを一時的に記憶させる。また、印刷データ変換サーバ300は、印刷用データの所在を特定するための情報としてURL又はURIなどの情報を決定する。
続いて、印刷データ変換サーバ300は、印刷情報に、S601で生成した1ページ目の印刷用データに関するURLと、S506で取得した印刷用データの生成依頼に含まれている印刷設定とを書き込む(S602)。そして、この印刷情報を、内部記憶装置304又は外部記憶装置305などの記憶部に一時的に記憶させる。印刷データ変換サーバ300は、その後、印刷情報に1つ以上のURLと印刷設定とを書き込んでいて、かつ、MFP100から印刷情報の取得要求が来ているか否かを判定する(S603)。1つ以上のURLと印刷設定とが書き込まれており、MFP100から印刷情報の取得要求を受信している場合(S603でYES)、処理はS604に進む。一方、1つ以上のURLと印刷設定とが書き込まれていない場合と、MFP100から印刷情報の取得要求を受信していない場合との、少なくともいずれかの場合(S603でNO)には、処理はS606に進む。
S604では、印刷データ変換サーバ300は、次のページの印刷用データに関する情報を含む次の印刷情報を生成し、生成した印刷情報の所在を特定するためのURL又はURIなどの情報を決定する。その後、印刷データ変換サーバ300は、現在生成中の印刷情報に、S604で生成した次の印刷情報に関するURLを書き込み、その印刷情報を完成させる(S605)。印刷情報を完成させておくことで、後述する図7のS704において、MFP100に印刷情報を送信することができるようになる。このように、MFP100から印刷情報の取得要求が来た時に、URL等の印刷用データに関する情報を1つ以上書き込んでいる場合、即座に印刷情報を完成させて、MFP100に送ることにより、MFP100を待たせずに印刷処理を開始させることができる。印刷情報を完成させた後に、処理はS603に戻る。
S606では、S506で取得した印刷用データの生成依頼を確認して、次のページの印刷用データがあるかどうかを判定する。すなわち、印刷対象データに、すでに変換されたデータに続く、未変換のデータが存在するかを判定する。そして、未変換のデータが存在する場合は、次のページの印刷用データが存在すると判定し、未変換のデータがない場合は次のページの印刷用データが存在しないと判定する。次のページの印刷用データがある場合、処理はS607に進む。一方、次のページの印刷用データがない場合、処理はS613に進む。S613では、次のページの印刷用データがないため、印刷情報を完成させる。印刷情報を完成させておくことで、後述する図7のS704において、MFP100に印刷情報を送信できるようになる。
一方、S607では、次のページの印刷用データについて、S601と同様の処理を行う。この時、以前に変換して一時的に保存してあった印刷用データを、後述するS707において既にMFP100が取得しているかどうかを判定し、取得されていなければ、変換処理を一時的に停止するようにしてもよい。複数の印刷用データを印刷データ変換サーバ300が一時的に保存することを防ぐことによって、印刷データ変換サーバ300の記憶容量を減らすことができる。また、S604や、後述するS610で生成した新しい印刷情報を、後述するS701においてMFP100が取得しに来るまで、変換処理を一時的に停止してもよい。新しい印刷情報を取得されるまで、そのファイルで必要となる変換した印刷用データを印刷データ変換サーバ300で一時的に保存しないようにすることで、印刷データ変換サーバ300の記憶容量を減らすことができる。
続いて、印刷データ変換サーバ300は、印刷情報を分割する条件を満たすか否かを判定する(S608)。すなわち、現在生成している印刷情報を次の印刷用データの情報を含ませずに完成させ、次の印刷用データの情報を含む別の印刷情報の生成を開始するかを判定する。なお、便宜上「分割」という文言を用いているが、ここでは、既に完成された印刷情報を分割することでなく、現在生成中の印刷情報とは別の印刷情報を新たに生成し始めることを含めて「分割」としている。印刷情報を分割する条件が満たされる場合、処理はS610へ進む。一方、分割する条件が満たされていない場合、処理はS609へ進む。
ここで、印刷情報を分割する条件は、例えば、印刷情報のファイルサイズが所定のサイズより大きくなることであり、次のページの印刷用データに関する情報を含めると、この所定のサイズを印刷情報のサイズが超えてしまう場合である。この場合、所定のサイズを超えないように、次のページの印刷用データに関する情報を次の印刷情報に含めるようにする。この場合、所定のサイズを超えない複数の印刷情報が生成されることとなり、所定のサイズをMFP100が記憶することができる容量以下とすることで、MFP100がこの印刷情報を受信できるようになる。なお、MFP100は、この所定のサイズを決定して印刷データ変換サーバ300に通知してもよく、また、印刷情報を記憶することができる記憶容量の情報を印刷データ変換サーバ300に通知してもよい。また、この通知は、S506の印刷用データの生成依頼に含まれていてもよい。印刷データ変換サーバ300は、例えば、記憶容量の情報を取得した場合、この記憶容量を超えないように、所定のサイズを決定してもよい。また、印刷データ変換サーバ300が、この所定のサイズの情報を固定値として保持していてもよい。また、ジョブサーバ200が、この所定のサイズを決定して印刷データ変換サーバ300に通知するようにしてもよい。
また、印刷情報を分割する別の条件は、例えば、印刷情報に含まれる情報に対応する印刷用データのページ数が、所定のページ数分を超えることである。例えば、現在している印刷情報に3ページ分の印刷用データに関する情報が含まれている場合、次の印刷用データに関する情報が含まれると、この印刷情報に含まれる情報に対応する印刷用データのページ数が「4」となる。ここで、所定のページ数が「3」であった場合、印刷情報に含まれる情報に対応する印刷用データのページ数が所定のページ数を超えることとなる。このため、印刷データ変換サーバ300は、現在生成している印刷情報に次のページの印刷用データに関する情報を含めずに、別の印刷情報の生成を開始し、その別の印刷情報に、次のページの印刷用データに関する情報を含めるようにする。この場合、所定のページ数を超えないページ数の印刷用データに関する情報を含む複数の印刷情報が生成されることとなる。そして、この所定のページ数が、MFP100が記憶することができる容量に応じて調節されることで、MFP100は、複数の印刷情報のいずれをも受信できるようになる。なお、MFP100は、この所定のページ数を決定して印刷データ変換サーバ300に通知してもよい。また、この通知は、S506の印刷用データの生成依頼に含まれていてもよい。また、印刷データ変換サーバ300が、この所定のページ数の情報を固定値として保持していてもよい。また、ジョブサーバ200が、この所定のページ数を決定して印刷データ変換サーバ300に通知するようにしてもよい。
また、印刷情報を分割するさらに別の条件は、例えば、印刷情報の生成を開始してから、その印刷情報の生成が終了していないまま、所定時間経過したことである。これによれば、印刷情報の生成が開始されてから、所定時間経過する以前に、その1つの印刷情報が完成することとなる。例えば、MFP100が印刷情報の取得要求を出す周期が一定である場合など、この取得要求があるタイミングにおいて1つの印刷情報が完成しているように、印刷データ変換サーバ300は、所定時間経過を契機として印刷情報を完成させる。なお、MFP100は、この印刷情報の生成が終了すべき所定時間を決定して印刷データ変換サーバ300に通知してもよいし、例えば、上述の周期の情報を印刷データ変換サーバ300に通知してもよい。また、この通知は、S506の印刷用データの生成依頼に含まれていてもよい。印刷データ変換サーバ300は、周期の情報を取得した場合、この周期に基づいて、所定時間を決定してもよい。また、印刷データ変換サーバ300が、この所定時間の情報を固定値として保持していてもよい。また、ジョブサーバ200が、この所定時間を決定して印刷データ変換サーバ300に通知するようにしてもよい。
S609では、印刷データ変換サーバ300は、S602と同様の処理により、印刷情報に、次のページの印刷用データに関する情報の書き込みを行う。その後、処理はS603に戻る。一方、S610では、印刷データ変換サーバ300は、S604と同様の処理により、次のページの印刷用データに関する情報を含む次の印刷情報を生成し、生成した印刷情報に関するURL又はURIなどの所在の情報を決定する。そして、印刷データ変換サーバ300は、現在生成中の印刷情報に、S610で生成した次の印刷情報に関するURLを書き込み、その印刷情報を完成させる(S611)。印刷データ変換サーバ300は、次にMFP100から印刷情報の取得要求を受信した際に、この完成した印刷情報をMFP100に送信する。続いて、印刷データ変換サーバ300は、新たに生成を開始した印刷情報に、次のページの印刷用データに関する情報の書き込みを行う(S612)。その後、処理はS603に戻る。
このようにして、印刷データ変換サーバ300は、MFP100が受信できる印刷情報を1つ又は複数生成し、併せてMFP100が印刷可能な形式の印刷用データを生成する。また、印刷情報を複数生成する場合は、印刷情報に次のページの印刷用データに関する情報が含まれる次の印刷情報の情報を含める。これにより、印刷情報が大きすぎてMFP100が受信できないという事態を防ぎ、さらに、MFP100に対して、続きのページに関する印刷情報が別に存在することを通知することが可能となる。
(印刷処理)
図7は、図5のS512で実行される印刷処理の動作例を示すシーケンス図である。なお、図5では、S512の処理を、MFP100が単体で実行するように示されているが、印刷処理は、図7に示すように、MFP100と印刷データ変換サーバ300との間のデータの送受信を伴う。すなわち、MFP100は、印刷データ変換サーバ300に対して印刷情報又は印刷用データの取得要求を送信し、印刷データ変換サーバ300は、この取得要求に応じて、印刷情報又は印刷用データのMFP100に対する送信を行う。
印刷処理が開始されると、MFP100は、S511で取得したURLを用いて、印刷情報の所在を特定して、印刷データ変換サーバ300に対して印刷情報の取得要求を送信する(S701)。印刷データ変換サーバ300は、要求された印刷情報の準備が終わっているか否かを判定する(S702)。準備が終わっていない場合(S702でNO)、一定期間待ち(S703)、印刷情報の準備が終了するのを待つ。
印刷情報の準備が終わっている場合(S702でYES)、印刷データ変換サーバ300は、MFP100に対して要求された印刷情報を送信する(S704)。この時、印刷データ変換サーバ300は、要求された印刷情報より古い印刷情報が存在する場合、又は要求された印刷情報が対応する印刷用データのページより前のページに対応する印刷情報が存在する場合、この印刷情報を削除してもよい。このように不要な印刷情報を削除することによって、印刷データ変換サーバ300の記憶容量を節約することができる。MFP100は、取得した印刷情報を解析し、未印刷の印刷用データの所在を特定するURLが、その印刷情報に含まれているか否かを判定する(S705)。
未印刷の印刷用データに関するURLが含まれている場合(S705でYES)、MFP100は、そのURLを用いて、印刷データ変換サーバ300に対して、その未印刷の印刷用データの取得要求を発行する(S706)。そして、印刷データ変換サーバ300は、この取得要求に応じて、MFP100に対して、要求された印刷用データを送信する(S707)。この時、印刷データ変換サーバ300は、S704と同様に、要求された印刷用データより古い、すでに送信された印刷用データが存在する場合、これを削除してもよい。このように不要な印刷用データを削除することによって、印刷データ変換サーバ300の記憶容量を節約することができる。続いて、MFP100は、記録制御部112や記録部113を用いて、印刷データ変換サーバ300から受信して取得した印刷用データの印刷処理を実行する。その後、処理はS706に戻る。
一方、未印刷の印刷用データに関するURLが含まれていない場合(S705でNO)、MFP100は、取得した印刷情報を解析し、印刷情報に、次の印刷情報に関するURLが含まれているか否かを判定する(S709)。印刷情報に、次の印刷情報に関するURLが含まれている場合(S709でYES)、処理をS701に戻して、S701〜S708の処理を再度実行する。一方、印刷情報に、次の印刷情報に関するURLが含まれていない場合(S709でNO)、印刷処理を終了する。
このように、MFP100は、印刷情報に、別の印刷情報が含まれているか否かによって、印刷処理が、その印刷情報だけで完結するのか、他の印刷情報を含めて一連の印刷処理として行われるべきなのかを判断することが可能となる。また、印刷情報が複数に分けて取得されるため、印刷情報のサイズが大きいことにより保持することができなくなることがない。このため、印刷対象データが大きく、印刷後のページ数が膨大となる場合であっても、MFP100は、これに対処することができ、一連の印刷処理を実行することが可能となる。
また、印刷用データの所在情報と次の印刷情報の所在情報が共にURLで記述されている場合、MFP100は、上記2種類の情報のそれぞれに個別に対応するデータの取得方法を用いなくても、共通の取得方法により上記2種類の情報を取得することができる。
(印刷情報の例)
最後に、印刷情報の構成について説明する。図8は、印刷データ変換サーバ300が生成する印刷情報の例である。この例に示す印刷情報では、3ページの印刷用データに関する情報(後述の801/802/803)と、次の印刷情報に関する情報(後述の804)を含む。
図6のS605又はS611において印刷情報が完成した場合、図8に示す印刷情報のように、また、例えば図4の印刷情報903及び904のように、印刷用データに関する情報と、次の印刷情報に関する情報とを含む。一方で、図6のS613で印刷情報が完成した場合は、例えば図4の印刷情報999のように、次の印刷情報に関する情報(後述の804)が含まれず、印刷用データに関する情報(後述の801/802/803)のみが含まれる印刷情報が生成される。
図8において、801は、1ページ目の印刷用データに関する情報を示している。この情報には、印刷設定として、用紙サイズ(A4)、用紙種類(plain(普通紙))、部数(1(部))が含まれている。また、この情報には、1ページ目の表面の印刷用データのURL(http://www.XXX.com/YYY_1pagefront.jpg)、ファイルサイズ(44444)が含まれている。801については、裏面に関する情報がないため、表面のみ印刷される。802は、2ページ目の印刷用データに関する情報を示している。802についても、801と同様に、裏面に関する情報がないため、表面のみが印刷される。
803は、3ページ目の印刷用データに関する情報を示している。この情報には、3ページ目の表面の印刷用データのURL(http://www.XXX.com/YYY_3pagefront.jpg)、ファイルサイズ(33333)が含まれている。また、この情報には、表面の印刷用データのURL(http://www.XXX.com/ YYY_3pageback.jpg)、ファイルサイズ(77777)が含まれている。このため、3ページ目については、両面印刷される。
804は、次の印刷情報に関する情報を示している。この情報には、次の印刷情報に関する情報として、次の印刷情報の所在を特定するURL(http://www.XXX.com/YYY_2contentslist.xml)、ファイルサイズ(2222)が含まれている。
なお、図8では、3つの印刷用データに関する情報を含む印刷情報の一例が示されているが、これに限定されるものではない。すなわち、印刷情報は、1つ以上の印刷用データに関する情報を含む情報であればよい。例えば、図6のS603において、1つの印刷用データに関する情報を書き込んだ段階で、MFP100からの印刷情報の取得要求を受信した場合、S605で、印刷用データに関する情報を1つと次の印刷情報に関する情報とを有する印刷情報が生成される。
MFP100は、図7のS705で印刷情報を解析し、1ページ目の印刷用データに関する情報が含まれていると判定して、S706〜S708の処理を実行し、1ページ目の印刷を実行する。続いて、MFP100は、再度、S705で印刷情報を解析し、2ページ目の印刷用データに関する情報が含まれていると判定して、S706〜S708の処理を実行し、2ページ目の印刷を実行する。続いて、MFP100は、再度、S705で印刷情報を解析し、3ページ目の表面の印刷用データに関する情報が含まれていると判定して、S706〜S708の処理を実行し、3ページ目の表面の印刷を実行する。さらに、MFP100は、再度、S705で印刷情報を解析し、3ページ目の裏面の印刷用データに関する情報が含まれていると判定して、S706〜S708の処理を実行し、3ページ目の裏面の印刷を実行する。その後、MFP100は、再度、S705で印刷情報を解析し、印刷用データのURLが含まれていないと判定し、S709で、次の印刷情報のURLがあると判定して、S701に処理を戻し、印刷処理を継続する。
なお、図8に示すように、次の印刷情報のURLに対してタグ「<next_contentslist>」が記述されている。MFP100はこの記述を参照することで、このURLが印刷データの所在情報ではなく、次の印刷情報の所在情報であることを認識することができる。
ただし、MFP100が上記認識を行う方法はこれに限らず、例えばURL内のファイル識別子が「.jpg」であるのか、「.xml」であるのかに応じて、このURLが上記2種類の所在情報のいずれであるのか判定してもよい。また印刷対象のファイル識別子「.jpg」はあくまで一例であり、種々のファイルを印刷対象とすることができ、またその種々のファイルそれぞれに対応する識別子が、印刷対象のデータの所在情報であるURLに記述される。
以上のように、サーバとMFPと双方でジョブ情報を分割して制御することで、MFPが限られたバッファ容量しか持っていなくても、ページ数や部数に制限のない印刷が可能となる。具体的には、MFPは、印刷情報のためのバッファ容量が制限される場合でも、そのバッファ容量で記憶できるサイズの印刷情報が生成され、さらにその印刷情報が他の印刷情報とリンクするため、大量の印刷用データを一連の印刷処理で処理することができる。また、MFPは、ページごとに印刷用データを取得するため、印刷用データの容量が制限されている場合であっても、逐次的に印刷用データを取得して印刷処理を実行することができる。また、MFPは、サーバで全てのジョブ情報の生成が完了する前に印刷を開始できる。さらに、サーバは、全てのページの印刷用データを保持せずに済むため、備えるべき記憶容量を削減することができる。
また、上述の手法で生成された印刷情報は、ページ順で次の印刷情報を取得することができるように、その印刷情報が対応するページに続くページに対応する別の印刷情報を含んでいる。したがって、印刷のページ順がユーザの意図の通りに出力されることとなる。また、次のページに対応する別の印刷情報が含まれている場合は、MFPは、一連の印刷処理が終了していないと判断できるため、他の機能(例えば、ローカルPCによる印刷)による割り込みを防ぐことが可能となる。
なお、以上の実施形態では、MFP100が印刷情報に含まれる所在情報に従って印刷対象のデータを受信して、そのデータを印刷する例を示した。しかしこれに限らず、例えばPCやスマートフォン、カメラ等、種々の装置がデータを受信するのであってもよい。この場合、受信されたデータに対する所定の処理として、表示、メモリへの格納、外部装置への送信など、種々の処理を適用することができる。例えばスマートフォンにおいてサーバから受信した画像を表示する場合に、サーバからスマートフォンに画像の所在情報が送信され、スマートフォンがその所在情報に従って画像を受信する場合であってもよい。この場合、複数の画像それぞれに対応する所在情報がサーバからスマートフォンに送信されてもよい。すると、以上の実施形態において説明したように、表示対象の全ての画像に対応する所在情報のデータサイズが、スマートフォンにおける所定のバッファ容量を超える場合がある。そこで、本実施形態で説明したように所在情報を分割して、分割された所在情報と、次の所在情報を取得するための所在情報をスマートフォンに送信することで、スマートフォンは表示対象の画像を適切に取得することができる。
<<その他の実施形態>>
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
また、本実施形態の機能を実現するためのプログラムコードを、1つのコンピュータ(CPU、MPU)で実行する場合であってもよいし、複数のコンピュータが協働することによって実行する場合であってもよい。さらに、プログラムコードをコンピュータが実行する場合であってもよいし、プログラムコードの機能を実現するための回路等のハードウェアを設けてもよい。またはプログラムコードの一部をハードウェアで実現し、残りの部分をコンピュータが実行する場合であってもよい。

Claims (29)

  1. 所定の処理の対象となるデータの少なくとも一部についての所在に関するデータ所在情報と、前記データ所在情報の所在に関する所定の所在情報とを生成する生成手段と、
    前記生成手段により生成されたデータ所在情報と前記所定の所在情報とを、前記データに前記所定の処理を実行する処理装置へ向けて送信する送信手段と、
    を有し、
    前記生成手段は、前記所定の処理の対象となるデータの一部についての所在に関する第1のデータ所在情報、当該一部とは別の複数の部分に対応する複数の第2のデータ所在情報の所在に関する前記所定の所在情報を生成し、
    前記送信手段は、当該生成された当該第1のデータ所在情報と当該所定の所在情報を、前記処理装置に送信する、
    ことを特徴とするシステム
  2. 前記生成手段は、前記第1のデータ所在情報と前記所定の所在情報とを含むファイルを生成し、前記送信手段は、当該生成されたファイルを送信する、
    ことを特徴とする請求項1に記載のシステム
  3. 前記生成手段は、前記データの所在に関する複数のデータ所在情報の一部を含むファイルを生成する場合で、当該複数のデータ所在情報のうち前記送信手段により未だ送信されず且つ前記ファイルに含まれないデータ所在情報が存在しない場合、当該複数のデータ所在情報の当該一部を含むと共に、前記所定の所在情報を含まないファイルを生成する、
    ことを特徴とする請求項2に記載のシステム
  4. 前記所定の処理は、前記処理装置としての印刷装置による印刷であり、
    前記第1のデータ所在情報は、前記印刷装置による印刷対象の複数のページのうちの、一部のページに対応する印刷用データの所在を示し、且つ、前記複数の第2のデータ所在情報のそれぞれが、前記複数のページのうちの、当該一部のページとは別の一部のページに対応する印刷用データの所在を示す、
    ことを特徴とする請求項1から3のいずれか1項に記載のシステム
  5. 前記印刷の対象となるデータを前記印刷用データに変換する変換手段をさらに有する、
    ことを特徴とする請求項4に記載のシステム
  6. 前記生成手段により生成された前記第1のデータ所在情報で特定される印刷用データが前記処理装置へ向けて送信されたかを判定する判定手段をさらに有し、
    前記変換手段は、前記第1のデータ所在情報で特定される印刷用データが前記処理装置へ向けて送信されたことが前記判定手段により判定されたことに応じて、前記別の複数の部分に対応するデータに対する前記変換を実行する、
    ことを特徴とする請求項5に記載のシステム
  7. 前記変換手段は、前記一部のデータに対応する前記第1のデータ所在情報の取得要求を前記印刷装置から受信したことに応じて、当該一部のデータに対する前記変換を実行する
    ことを特徴とする請求項5または6に記載のシステム
  8. 前記生成手段は、前記印刷用データの所在に関する情報に加えて印刷設定の情報を生成する、
    ことを特徴とする請求項4から7のいずれか1項に記載のシステム
  9. 前記送信手段により前記所定の所在情報を送信するかを決定する決定手段をさらに有する、
    ことを特徴とする請求項1から8のいずれか1項に記載のシステム
  10. 前記決定手段は、前記所定の処理の対象となるデータに対応するデータ所在情報のサイズが、所定のサイズより大きい場合、前記所定の所在情報を送信することを決定する、
    ことを特徴とする請求項9に記載のシステム
  11. 前記処理装置から前記所定のサイズを特定するための情報を取得する取得手段をさらに有し、
    前記決定手段は、前記取得手段により取得された前記情報により特定される前記所定のサイズを用いて、前記決定を実行する、
    ことを特徴とする請求項10に記載のシステム
  12. 前記決定手段は、前記処理装置から前記データ所在情報の取得要求があった際に、前記生成手段が当該データ所在情報の生成を終了していなかった場合、前記所定の所在情報を送信することを決定する、
    ことを特徴とする請求項9に記載のシステム
  13. 前記所定の処理は、前記処理装置としての印刷装置による印刷であり、
    前記決定手段は、前記印刷装置による印刷の対象となるデータに対応する複数のページの数が所定のページ数よりも多い場合、前記所定の所在情報を送信することを決定する、
    ことを特徴とすることを特徴とする請求項9に記載のシステム。
  14. 前記所定のページ数は、固定値であることを特徴とする請求項13に記載のシステム。
  15. 前記処理装置から前記所定のページ数を特定するための情報を取得する取得手段をさらに有し、
    前記決定手段は、前記取得手段により取得された前記情報により特定される前記所定のページ数を用いて、前記決定を実行する、
    ことを特徴とする請求項14に記載のシステム。
  16. 前記生成手段は、前記決定手段により前記所定の所在情報を送信することが決定された場合に、前記所定の所在情報を生成する
    ことを特徴とする請求項9から15のいずれか1項に記載のシステム。
  17. 前記システムは、前記処理装置とインターネットで接続されるサーバであることを特徴とする請求項1から16のいずれか1項に記載のシステム。
  18. 前記システムは、前記処理装置を含み、
    前記処理装置は、前記第1のデータ所在情報に従って前記データの前記一部を取得し、取得された当該一部に対して前記所定の処理を実行し、且つ、前記所定の所在情報に従って前記複数の第2のデータ所在情報を取得し、当該取得された複数の第2のデータ所在情報に従って取得された前記データの前記別の複数の部分に対して前記所定の処理を実行する
    ことを特徴とする請求項1から17のいずれか1項に記載のシステム。
  19. 前記送信手段は、前記第1のデータ所在情報と、前記所定の所在情報と、前記第1のデータ所在情報と前記所定の所在情報を区別するための情報を前記処理装置に送信する
    ことを特徴とする請求項1から18のいずれか1項に記載のシステム。
  20. 前記データ所在情報と前記所定の所在情報は、共通の形式で記述されることを特徴とする請求項1から19のいずれか1項に記載のシステム。
  21. 所定の処理の対象となるデータの少なくとも一部についての所在に関するデータ所在情報と、前記データ所在情報の所在に関する所定の所在情報とを生成する生成工程と、
    前記生成工程において生成されたデータ所在情報と前記所定の所在情報とを、前記データに前記所定の処理を実行する処理装置へ向けて送信する送信工程と、
    を有し、
    前記生成工程では、前記所定の処理の対象となるデータの一部についての所在に関する第1のデータ所在情報、当該一部とは別の複数の部分に対応する複数の第2のデータ所在情報の所在に関する前記所定の所在情報を生成し、前記送信工程では、当該生成された当該第1のデータ所在情報と当該所定の所在情報を、前記処理装置に送信する
    ことを特徴とする情報処理方法。
  22. 所定の処理を実行する処理装置であって、
    ータの所在に関する所在情報他の装置から取得し、かつ、取得された前記所在情報に従って前記データを取得する取得手段と、
    前記取得手段により取得された情報に前記所定の処理の対象となる処理対象データが含まれていた場合、当該処理対象データに前記所定の処理を実行する実行手段と、
    を有し、
    前記取得手段により、複数の前記処理対象データの所在に関する複数のデータ所在情報の所在に関する所定の所在情報が取得された場合、前記取得手段は、前記所定の所在情報に従って前記複数のデータ所在情報を取得し、前記実行手段は、当該取得された複数のデータ所在情報に従って前記取得手段により取得された前記複数の処理対象データに対して前記所定の処理を実行する、
    ことを特徴とする処理装置。
  23. 前記取得手段により取得された所在情報が、前記データ所在情報であるか、前記所定の所在情報であるかを判定する判定手段をさらに有し、
    前記取得手段は、前記判定手段により前記所定の所在情報が取得されたことが判定された場合に、前記所定の所在情報に従って前記複数のデータ所在情報を取得し、当該取得された複数のデータ所在情報に従って前記複数の処理対象データを取得する、
    ことを特徴とする請求項22に記載の処理装置。
  24. 前記実行手段は、前記取得手段により取得された情報に前記所定の所在情報が含まれている場合、当該所定の所在情報に対応する複数のデータ所在情報に対応する複数の処理対象データへの前記所定の処理が終了するまで、他のデータに前記所定の処理を実行しない、
    ことを特徴とする請求項22または23に記載の処理装置。
  25. 前記データ所在情報と前記所定の所在情報は、共通の形式で記述されることを特徴とする請求項22から24のいずれか1項に記載の処理装置。
  26. 前記取得手段による1つの処理対象データの取得と、前記実行手段による当該取得された1つの処理対象データに対する前記所定の処理の実行とが、前記複数の処理対象データに対して繰り返し行われる、
    ことを特徴とする請求項22から25のいずれか1項に記載の処理装置。
  27. 所定の処理を実行する処理方法であって、
    ータの所在に関する所在情報他の装置から取得し、かつ、取得された前記所在情報に従って前記データを取得する取得工程と、
    前記取得工程において取得された情報に前記所定の処理の対象となる処理対象データが含まれていた場合、当該処理対象データに前記所定の処理を実行する実行工程と、
    を有し、
    前記取得工程により、複数の前記処理対象データの所在に関する複数のデータ所在情報の所在に関する所定の所在情報が取得された場合、前記取得工程では、前記所定の所在情報に従って前記複数のデータ所在情報が取得され、前記実行工程では、当該取得された複数のデータ所在情報に従って前記取得工程において取得された前記複数の処理対象データに対して前記所定の処理が実行される、
    ことを特徴とする処理方法。
  28. コンピュータを請求項1から20のいずれか1項に記載のシステムが備える各手段として機能させるためのプログラム。
  29. コンピュータを請求項22から26のいずれか1項に記載の処理装置が備える各手段として機能させるためのプログラム。
JP2013167846A 2013-08-12 2013-08-12 システム、情報処理方法、処理装置、処理方法、及びプログラム Active JP6190207B2 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2013167846A JP6190207B2 (ja) 2013-08-12 2013-08-12 システム、情報処理方法、処理装置、処理方法、及びプログラム
US14/338,147 US9239885B2 (en) 2013-08-12 2014-07-22 Acquiring data for processing using location information
EP14002557.8A EP2838010B1 (en) 2013-08-12 2014-07-23 Information processing apparatus, information processing method, and processing apparatus
RU2014133029A RU2609751C2 (ru) 2013-08-12 2014-08-11 Устройство обработки информации, способ обработки информации, устройство обработки и носитель информации
KR1020140103238A KR101700481B1 (ko) 2013-08-12 2014-08-11 정보 처리 장치, 정보 처리 방법, 및 정보 처리 시스템
CN201410394672.5A CN104375821B (zh) 2013-08-12 2014-08-12 信息处理设备、信息处理方法和处理设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013167846A JP6190207B2 (ja) 2013-08-12 2013-08-12 システム、情報処理方法、処理装置、処理方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2015036859A JP2015036859A (ja) 2015-02-23
JP6190207B2 true JP6190207B2 (ja) 2017-08-30

Family

ID=51260549

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013167846A Active JP6190207B2 (ja) 2013-08-12 2013-08-12 システム、情報処理方法、処理装置、処理方法、及びプログラム

Country Status (6)

Country Link
US (1) US9239885B2 (ja)
EP (1) EP2838010B1 (ja)
JP (1) JP6190207B2 (ja)
KR (1) KR101700481B1 (ja)
CN (1) CN104375821B (ja)
RU (1) RU2609751C2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6521743B2 (ja) * 2015-05-28 2019-05-29 キヤノン株式会社 情報処理システム、情報処理方法、サーバ、情報処理装置、およびプログラム
US20180067709A1 (en) * 2016-09-05 2018-03-08 Atsushi Sakaue Control device, image forming system, and non-transitory recording medium
JP6801470B2 (ja) * 2017-01-20 2020-12-16 セイコーエプソン株式会社 印刷処理システム、サーバーおよび印刷装置
JP7229680B2 (ja) 2018-06-29 2023-02-28 キヤノン株式会社 情報処理装置、制御方法及びプログラム

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2307970A1 (en) 1999-05-10 2000-11-10 Nortel Networks Limited Dynamic resource modification and applications for using same in a communication network
JP2003167693A (ja) * 2001-12-04 2003-06-13 Canon Inc 印刷方法、印刷システム、印刷システムの制御プログラム及び記憶媒体
JP4311738B2 (ja) * 2004-09-15 2009-08-12 キヤノン株式会社 画像形成装置およびその制御方法、並びにコンピュータプログラム
GB0707492D0 (en) * 2007-04-18 2007-05-23 Canon Europa Nv A print apparatus, a method of controlling printing, and a program
JP4881219B2 (ja) * 2007-05-10 2012-02-22 キヤノン株式会社 情報処理装置、情報処理方法
US9792381B2 (en) 2010-06-28 2017-10-17 Here Global B.V. Method and apparatus for a paged update protocol
JP2012018528A (ja) 2010-07-07 2012-01-26 Canon Inc 印刷装置、印刷方法及び印刷システム
JP2012033113A (ja) 2010-08-02 2012-02-16 Canon Inc 印刷システム、印刷装置、制御方法及びプログラム
JP5924883B2 (ja) * 2011-08-19 2016-05-25 キヤノン株式会社 情報処理システム、情報処理方法、情報処理装置
JP5870679B2 (ja) * 2011-12-22 2016-03-01 ブラザー工業株式会社 プリンタ
JP6079205B2 (ja) * 2012-12-18 2017-02-15 ブラザー工業株式会社 画像形成システム,画像形成装置,およびサーバ
JP6015438B2 (ja) * 2012-12-28 2016-10-26 ブラザー工業株式会社 印刷装置

Also Published As

Publication number Publication date
KR101700481B1 (ko) 2017-01-26
EP2838010A3 (en) 2015-07-08
US9239885B2 (en) 2016-01-19
RU2014133029A (ru) 2016-02-27
US20150043038A1 (en) 2015-02-12
CN104375821B (zh) 2018-01-05
KR20150020089A (ko) 2015-02-25
JP2015036859A (ja) 2015-02-23
EP2838010A2 (en) 2015-02-18
CN104375821A (zh) 2015-02-25
EP2838010B1 (en) 2019-11-13
RU2609751C2 (ru) 2017-02-02

Similar Documents

Publication Publication Date Title
JP5763904B2 (ja) プリントシステム、印刷方法、プリントサーバおよびその制御方法、並びにプログラム
US8582162B2 (en) Information processing apparatus, output method, and storage medium
US9542141B2 (en) Printing apparatus and printing system including transmission of job log and log image
JP6634744B2 (ja) 情報処理システム、情報処理装置、機器、情報処理方法、プログラム
JP2012103966A (ja) 画像形成システムと画像形成方法及びサーバと画像形成装置
JP2016200934A (ja) 画像出力システム、画像処理装置、画像出力装置、これらにおける方法及びプログラム
US9036171B2 (en) Relaying device, image processing device, and system comprising image processing device and relaying device
JP6190207B2 (ja) システム、情報処理方法、処理装置、処理方法、及びプログラム
US20150277837A1 (en) Data supplying device and image processing system
US9036170B2 (en) Relaying device, image processing device, and system comprising image processing device and relaying device
US9830541B2 (en) Image output system, image output method, document server, and non-transitory computer readable recording medium
JP2016083870A (ja) 画像形成装置及びその制御方法、システム
JP2008003954A (ja) 印刷システム及び画像形成装置ならびに再印刷制御方法及び再印刷制御プログラム
US8810840B2 (en) Image forming system, output management method, and program product, configured to determine type of PDL in output data
US20130107302A1 (en) Image processing apparatus, image processing method and memory medium
JP2018118426A (ja) 画像形成システム、及び画像形成方法
JP2006164152A (ja) 印刷処理方法及びシステム
JP2021026707A (ja) クラウドプリントサービスの提供方法及びサーバ
JP5104446B2 (ja) 印刷制御装置、プログラム、及びシステム
JP2014029633A (ja) 情報処理装置および印刷システム
JP7255277B2 (ja) 画像処理装置および画像処理システム
US20240146850A1 (en) Information processing apparatus, method of controlling information processing apparatus, and storage medium
JP2007182021A (ja) 画像保存装置、画像保存方法、及びプログラム
JP2010218325A (ja) 印刷制御装置および印刷システム
JP2016018226A (ja) ユーザ端末、画像形成装置、サーバ装置、印刷システム、ユーザ端末の制御方法、画像形成装置の制御方法、サーバ装置の制御方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160729

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170413

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170421

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170620

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170804

R151 Written notification of patent or utility model registration

Ref document number: 6190207

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151