JP2010244112A - ジョブ処理装置、ジョブ処理方法、ジョブ処理方法を実現するコンピュータープログラム - Google Patents

ジョブ処理装置、ジョブ処理方法、ジョブ処理方法を実現するコンピュータープログラム Download PDF

Info

Publication number
JP2010244112A
JP2010244112A JP2009089061A JP2009089061A JP2010244112A JP 2010244112 A JP2010244112 A JP 2010244112A JP 2009089061 A JP2009089061 A JP 2009089061A JP 2009089061 A JP2009089061 A JP 2009089061A JP 2010244112 A JP2010244112 A JP 2010244112A
Authority
JP
Japan
Prior art keywords
job
data
processing
external memory
instruction
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2009089061A
Other languages
English (en)
Inventor
Hirotaka Yamada
裕貴 山田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2009089061A priority Critical patent/JP2010244112A/ja
Publication of JP2010244112A publication Critical patent/JP2010244112A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)

Abstract

【課題】ホストやサーバを介さずに、代行印刷や分散印刷が可能な印刷システムを提供する。
【解決手段】外部メモリー3を接続可能なプリンタ装置であって、印刷ジョブデータを受信する入出力I/F11と、受信した印刷ジョブデータをプリンタ装置に接続された外部メモリー3に記憶させる代行/分散印刷制御部131とを備え、代行/分散印刷制御部131は、他のプリンタ装置での印刷ジョブデータの処理方法を記述した指示データを、受信した印刷データと関連付けて外部メモリー3に記憶する。
【選択図】図1

Description

本発明は、ジョブ処理装置、ジョブ処理方法、ジョブ処理方法を実現するコンピュータープログラムに関し、特に、複数のジョブ処理装置を利用して代行処理或いは分散処理を行うための技術に関する。
ジョブ処理装置の一例としてプリンターをとりあげて説明する。従来、例えば通信ネットワークを介して接続された複数のプリンターを利用して、代行印刷或いは分散印刷を行う技術が知られている(例えば、特許文献1,2)。ここで、代行印刷とは、印刷ジョブを受けたプリンターが故障する等して印刷できなくなった場合に、その印刷ジョブを受けたプリンターに代えて他のプリンターに、その印刷ジョブの印刷を行わせる印刷方法のこと(また、上記他のプリンターが行う印刷のこと)をいう。また、分散印刷とは、複数ページからなる印刷ジョブを数ページごとに分割し、分割後の印刷ジョブのそれぞれの印刷を、異なるプリンターに並列的に行わせる印刷方法のこと(また、上記異なるプリンターのそれぞれが行う印刷のこと)をいう。分散印刷により、印刷処理の高速化が図られる。
特開平11−296333号公報 特開2002−215369号公報
上述した特許文献1,2の技術では、代行印刷或いは分散印刷(以下、適宜「代行印刷等」という)に利用される複数のプリンターのそれぞれが、通信ネットワークを介して、或いは、上記複数のプリンターを管理するプリントサーバーを介して、印刷ジョブを発行するホスト装置と接続される。そして、ホスト装置又はプリントサーバーによって、代行印刷等の制御が行われる。即ち、ホスト装置又はプリントサーバーは、印刷ジョブの内容や代行印刷等に利用される複数のプリンターの各状態等に基づいて代行印刷等をさせる最適なプリンターを選択し、その選択されたプリンターに対して代行印刷等の実行を指示する。このような構成における問題点としては、以下のものがある。
まず、通信ネットワーク上の流れるデータ量が増加し、ネットワーク資源を圧迫することが挙げられる。即ち、ホスト装置又はプリントサーバーは、プリンターの状態管理を行うために、複数のプリンターのそれぞれとの間で、状態管理のために必要なデータを送受信する必要がある。また、代行印刷では、ホスト装置又はプリントサーバーが、印刷ジョブデータ(故障する等して印刷できなくなったプリンターに送信した印刷ジョブデータと同じ印刷ジョブデータ)を、再度、代行印刷を行うプリンターへ送信する必要がある。また、分散印刷では、分割された印刷ジョブデータ(その各々にヘッダーが付与されるため、分割前の印刷ジョブデータに比べてデータ量が大きくなる)を、分割後の印刷ジョブを実行させるプリンターの各々に送信する必要がある。従って、上述したように、通信ネットワーク上の流れるデータ量が増加し、ネットワーク資源を圧迫することになる。
また、代行印刷等を制御するホスト装置又はプリントサーバーが、代行印刷等に利用される複数のプリンターの状態管理や、代行印刷等をさせる最適なプリンターの選択処理等を行う必要がある。従って、これらの処理を実行するためのモジュールを、ホスト装置又はプリントサーバーに搭載する必要がある。
更に、代行印刷等を行うプリンターは、通常、ホスト装置又はプリントサーバーによって選択されるので、代行印刷等が可能なプリンターが複数あった場合に、ユーザーは、どのプリンターによって印刷されるのかが容易にわからないといった問題がある。
以上のような問題は、プリンターだけに限らず、複数の装置を利用して代行処理或いは分散処理が行われる様々なジョブ処理装置についても、同様に起こり得る。
従って、本発明の目的は、通信ネットワークに負荷をかけることなく代行処理或いは分散処理を行えるようにすることである。また、他の目的は、代行処理或いは分散処理における、ユーザーの利便性を向上させることである。
本発明の一つの実施態様に従うジョブ処理装置は、外部メモリーと接続可能なジョブ処理装置であって、ジョブデータを受信する受信手段と、受信したジョブデータを前記ジョブ処理装置に接続された外部メモリーに記憶させる記憶制御手段と、を備え、前記記憶制御手段は、前記ジョブ処理装置とは異なる他のジョブ処理装置における、前記受信したジョブデータの処理方法を記述した指示データを、前記受信したジョブデータと関連付けて前記外部メモリーに記憶させる。
上記構成によれば、ジョブデータを受信したジョブ処理装置(指示元の装置)に装着された外部メモリーには、受信したジョブデータ(受信ジョブデータ)と、その受信ジョブデータに関する指示データとが記憶される。指示データは、その指示データに関連付けられたジョブデータの処理方法を記述したものである。従って、例えば指示元の装置が故障する等して受信ジョブデータを処理することができなくなった場合、或いは、例えば受信ジョブデータを処理する際の処理負荷が高く指示元の装置だけでは時間がかかりすぎるために、他のジョブ処理装置(指示先の装置)にも処理を分散させて行わせたい場合に、指示先の装置に受信ジョブデータの処理(即ち、代行処理或いは分散処理)を行わせることができるようになる。即ち、ユーザーが、指示データ及び受信ジョブデータが記憶された外部メモリーを、指示先の装置に装着することで、指示先の装置は、指示データに基づいて、受信ジョブデータの処理(代行処理或いは分散処理)を行うことができる。
また、ユーザーは、外部メモリーを装着した装置を指示先の装置とすることができるので、指示先の装置を任意に定めることができる。従って、ユーザーは、指示先の装置の候補が複数あった場合に、例えばジョブ処理装置の機能や設置場所等を考慮して、指示先の装置を自由に選択することができる。
また、指示先の装置は、外部メモリーを介して指示データ及びジョブデータを受信するため、指示元の装置と指示先の装置とが、データ通信可能なように接続されている必要はない。また、指示元の装置と指示先の装置とが、例えば通信ネットワークを介して接続されている場合であっても、指示元の装置から指示先の装置へ指示データやジョブデータを送信する必要がないので、通信ネットワークに負荷をかけることはない。
本発明に係る好適な実施形態では、前記受信したジョブデータの処理が、複数の単位処理から構成されており、前記記憶制御手段は、前記単位処理が完了するごとに、前記単位処理が完了したことを示す完了データを、前記受信したジョブデータに関する指示データとして前記外部メモリーに記憶させてもよい。
上記構成によれば、指示データには、それに関連付けられたジョブデータについて、どの単位処理までジョブ処理が完了したかといった完了データが含まれる。これにより、指示先の装置によって代行処理が行われる場合、指示先の装置は、完了データを参照することで、完了済みの単位処理については処理を行わずに未完了の単位処理についてだけ処理を行えるようになる。
本発明に係る好適な実施形態では、前記受信したジョブデータの処理が、複数の単位処理から構成されており、分散処理の指示を受け付ける受け付け手段、を更に備え、前記記憶制御手段は、分散処理の指示を受け付けた場合、前記複数の単位処理を、前記ジョブ処理装置に行わせる単位処理と、前記他のジョブ処理装置に行わせる単位処理とに分割し、前記他のジョブ処理装置に行わせる単位処理を示した処理対象表示データを、前記受信したジョブデータに関する前記指示データとして前記外部メモリーに記憶させてもよい。
上記構成によれば、指示先の装置は、指示データを参照することにより、自分に割り当てられた単位処理を知ることができるので、その割り当てられた単位処理についてだけ処理することができる。これにより、指示元の装置と指示先の装置とが、それぞれ自分に割り当てられた単位処理を実行することで、分散処理が可能となる。
本発明に係る好適な実施形態では、前記指示データと、前記指示データに関連付けられているジョブデータとを、前記ジョブ処理装置に接続された外部メモリーから読み出す読み出し手段と、前記読み出された指示データに基づいて、前記読み出されたジョブデータを処理するジョブ処理手段と、を更に備えてもよい。
上記構成によれば、一つのジョブ処理装置が、代行処理或いは分散処理の実行を他の装置に指示する機能、及び、代行処理或いは分散処理の指示を受けた場合にその指示に従い代行処理或いは分散処理を行う機能の両方を実現可能となる。
本発明の別の側面によれば、外部メモリーと接続可能なジョブ処理装置であって、前記外部メモリーに記憶されているジョブデータの処理方法を記述した指示データと、前記指示データに関連付けられているジョブデータとを、前記ジョブ処理装置に接続された外部メモリーから読み出す読み出し手段と、前記読み出された指示データに基づいて、前記読み出されたジョブデータを処理するジョブ処理手段と、を備える。
上記構成によれば、外部メモリーが装着されたジョブ処理装置は、外部メモリーに記憶されている指示データに基づいて、その指示データに関連付けられているジョブデータを処理することができる。即ち、外部メモリーが装着されたジョブ処理装置は、指示先の装置として、代行処理或いは分散処理を行うことができる。
本発明に係る好適な実施形態では、前記指示データに関連付けられているジョブデータの処理が、複数の単位処理から構成されており、前記ジョブ処理手段は、前記複数の単位処理のうちの処理が完了した単位処理を示す完了データが、前記指示データとして前記外部メモリーに記憶されている場合、前記複数の単位処理のうちの前記完了データが示す単位処理以外の単位処理についてだけ処理してもよい。
上記構成によれば、ジョブ処理装置は、完了データを参照することで、完了済みの単位処理については処理を行わずに未完了の単位処理についてだけ処理を行えるようになる。
本発明に係る好適な実施形態では、前記指示データに関連付けられているジョブデータの処理が、複数の単位処理から構成されており、前記ジョブ処理手段は、前記ジョブ処理装置に行わせる単位処理を示した処理対象表示データが、前記指示データとして前記外部メモリーに記憶されている場合、前記複数の単位処理のうちの前記処理対象表示データが示す単位処理についてだけ処理してもよい。
上記構成によれば、ジョブ処理装置は、指示データを参照することにより、自分に割り当てられた単位処理を知ることができるので、その割り当てられた単位処理についてだけ処理することができる。これにより、指示元の装置と指示先の装置とが、それぞれ自分に割り当てられた単位処理を実行することで、分散処理が可能となる。
本実施形態に係るジョブ処理装置の一例としてのプリンターの構成例を示す図である。 代行印刷ヘッダーの一例を示す図である。 分散印刷ヘッダーの一例を示す図である。 指示元プリンターの代行/分散印刷制御部が行う、代行印刷に関する制御処理のフローチャートである。 指示元プリンターが行う印刷処理のフローチャートである。 指示元プリンターの代行/分散印刷制御部が行う、分散印刷に関する制御処理のフローチャートである。 指示先プリンターの代行/分散印刷制御部が行う、代行印刷等に関する制御処理のフローチャートである。
以下、図面を参照しながら、本発明の実施形態を詳細に説明する。
図1は、本実施形態に係るジョブ処理装置の一例としてのプリンター1の構成例を示す図である。
本実施形態に係るプリンター1は、代行印刷等(代行印刷或いは分散印刷)の制御を行うことが可能なプリンターである。即ち、プリンター1は、代行印刷等の実行を他のプリンター1に指示することができ、また、代行印刷等の実行指示を受けた場合は、その指示に従い代行印刷等を行うことができる。また、プリンター1には、着脱可能な外部メモリー3(例えば、USB(Universal Serial Bus)メモリーやSD(Secure Digital)メモリーカード等)を装着することができる。
本実施形態において、図1におけるプリンター1A(即ち、ホスト装置2に接続されているプリンター1)が、代行印刷等を指示する側のプリンターである。一方、図1におけるプリンター1B(即ち、プリンター1Aと外部メモリー3を介して接続されている一以上のプリンター1)が、代行印刷等を指示される側のプリンターである。以下、代行印刷等を指示する側のプリンター1Aを「指示元プリンター」と呼び、代行印刷等を指示される側のプリンター1Bを「指示先プリンター」と呼ぶ。本実施形態では、指示元プリンター1Aと指示先プリンター1Bとの間の、代行印刷等の実行指示の受け渡しは、着脱可能な外部メモリー3を介して行われる。
また、本実施形態では、指示元プリンター1Aは、それがホスト装置2から受信した印刷ジョブ(以下、「受信ジョブ」)を、代行印刷等の対象とする。従って、指示元プリンター1Aは、受信ジョブの印刷が完了する前に指示元プリンター1Aが故障する等して印刷できなくなった場合には、受信ジョブの代行印刷を指示先プリンター1Bへ指示する(より正確には、指示元プリンター1Aは、指示先プリンター1Bが受信ジョブを代行印刷できるように、必要なデータを外部メモリー3に記憶しておく)。また、指示元プリンター1Aは、ユーザーから分散印刷の指示を受けた場合には、受信ジョブの分散印刷を一以上の指示先プリンター1Bへ指示する(より正確には、指示元プリンター1Aは、一以上の指示先プリンター1Bが受信ジョブを分散印刷できるように、必要なデータを外部メモリー3に記憶しておく)。尚、必ずしもホスト装置2から受信した受信ジョブを代行印刷等の対象とする必要はなく、例えば、指示元プリンター1の記憶装置(例えば、不揮発性の記憶装置)に記憶されている印刷ジョブ(例えば、リプリントのために記憶されている印刷ジョブ)が代行印刷等の対象とされてもよい。
また、本実施形態において、指示元プリンター1Aと指示先プリンター1Bとは、実質的に同様の構成を有している。即ち、指示元プリンター1A及び指示先プリンター1Bの両者とも、代行印刷等の実行を他のプリンター1に指示する機能、及び、代行印刷等の指示を受けた場合にその指示に従い代行印刷等を行う機能の両方を実現可能である。尚、指示元プリンター1Aが、両機能のうちの、代行印刷等の実行を他のプリンター1に指示する機能だけを実現し、指示先プリンター1Bが、両機能のうちの、代行印刷等の指示を受けた場合にその指示に従い代行印刷等を行う機能だけを実現するようにしてもよい。
以下、指示元プリンター1Aを例にとって、プリンター1の構成を説明する。
プリンター1は、例えば、入出力I/F(インターフェース)11と、RAM(Random Access Memory)12と、ROM(Read Only Memory)15と、CPU(Central Processing Unit)13と、外部メモリーI/F14と、プリント部16と、ユーザーI/F18とを備える。CPU13、ROM15、RAM12、ユーザI/F部11、外部メモリーI/F14、プリント部16及びユーザーI/F18は、バス17を介して接続される。
ROM15には、例えば、CPU13により実行される各種のコンピュータープログラムが格納される。RAM12は、CPU13が処理するデータ、例えば、ホスト装置2から受信した印刷ジョブデータやその受信した印刷ジョブデータをラスターライズすることで得られたラスターデータ等を、一時的に格納しておくためのバッファとして利用される。
入出力I/F11は、ホスト装置2とデータ通信を行うためのインターフェース装置である。入出力I/F11は、印刷ジョブの内容を示す印刷ジョブデータをホスト装置2から受信し、その受信した印刷ジョブデータ(以下、「受信ジョブデータ」)をRAM12に書き込む。尚、プリンター1は、印刷ジョブデータを、それを構成するセグメント単位で受信する。従って、入出力I/F11は、受信ジョブデータを構成するセグメント(以下、「受信データ」)を受信するごとに、その受信した受信データをRAM12に書き込む。
外部メモリーI/F14は、着脱可能な記憶媒体である外部メモリー3をプリンター1に装着するためのインターフェースである。外部メモリーI/F14は、それを介してプリンター1に装着された外部メモリー3へデータを書き込んだり、その外部メモリー3からデータを読み出したりする。
ユーザーI/F18は、ユーザーの操作を受け付けるとともにユーザーに提示すべき各種画面を表示する装置である。ユーザーI/F18としては、例えば、タッチパネル等が採用される。
プリント部16は、例えば、紙、OHPシート、厚紙、封筒等の画像形成媒体に、指定された画像を出力する装置である。
CPU13は、ROM15に格納されている各種のコンピュータープログラムを実行することにより、例えば、代行/分散印刷制御部131、プリント制御部132として機能する。
プリント制御部132は、プリント部16を制御して、受信ジョブデータに基づく画像を画像形成媒体に出力させる処理部である。具体的には、プリント制御部132は、RAM12に格納されている受信ジョブデータを読み出し、その読み出した受信ジョブデータをラスターライズすることで、受信ジョブデータに対応したラスターデータを生成する。そして、プリント制御部132は、その生成したラスターデータに基づく画像をプリント部16に出力させる。これにより、受信ジョブデータに基づく画像が、画像形成媒体に出力される。本実施形態では、印刷ジョブデータに基づく画像を出力する処理のことを「印刷処理」と呼ぶ。
代行/分散印刷制御部131は、代行印刷等に関する制御を行う処理部であり、上述した、代行印刷等の実行を他のプリンター1に指示する機能、及び、代行印刷等の指示を受けた場合にその指示に従い代行印刷等を行う機能を実現する処理部である。例えば、指示元プリンター1Aにおける代行/分散印刷制御部131は、指示先プリンター1Bに代行印刷等を行わせるために、指示元プリンター1Aに装着されている外部メモリー3に、必要なデータを書き込む(外部メモリーI/F14を制御して、必要なデータを書き込ませる)。具体的には、代行/分散印刷制御部131は、例えば、代行印刷等の対象とされる受信ジョブデータと、その受信ジョブデータに関する、代行印刷等の実行を指示するためのデータ(以下、「指示データ」)とを、対応付けて、外部メモリー3に書き込む。指示データには、例えば、対応する受信ジョブデータについての、指示先プリンター1Bにおける処理方法が記述される。一方、指示先プリンター1Bにおける代行/分散印刷制御部131は、指示先プリンター1Bに装着された外部メモリー3から指示データを読み出して、その指示データに従い、その指示データに対応付けられている受信ジョブデータの印刷処理を行う。
以下、図2及び図3を参照して、指示データの詳細について説明する。図2の符号5は、代行印刷を指示するための指示データ(以下、「代行印刷ヘッダー」)の一例を示しており、図3の符号6は、分散印刷を指示するための指示データ(以下、「分散印刷ヘッダー」)の一例を示している。
図2に示されるように、代行印刷ヘッダー5は、代行印刷の対象とされる一つの印刷ジョブデータ4(本実施形態では、受信ジョブデータ)につき、一つ作成される。代行印刷ヘッダー5には、例えば、代行印刷であることを示すデータ51と、印刷済みページ52と、データポインター53とが含まれる。データポインター53には、対応する印刷ジョブデータ4(この代行印刷ヘッダー5に従って処理されることとなる印刷ジョブデータ4)の外部メモリー3上の記憶位置が設定される。印刷済みページ52には、対応する印刷ジョブデータ4についての印刷済みページのページ番号が記録される。即ち、印刷済みページ52には、対応する印刷ジョブデータ4が示す印刷ジョブが複数のページから構成されている場合に、その複数のページのうちの、指示元プリンター1Aによって既に印刷がなされたページのページ番号が記録される。
図3に示されるように、分散印刷ヘッダー6は、分散印刷の対象とされる一つの印刷ジョブデータ4(本実施形態では、受信ジョブデータ)に対して、その印刷ジョブ(その印刷ジョブデータ4が示す印刷ジョブ)を分割した後の印刷ジョブ(指示元プリンター1Aによって処理されるものを除く)の数だけ作成される。具体的に説明すると、図3の例では、分散印刷の対象とされる印刷ジョブデータ4の印刷ジョブが、四つに分割された場合を示している。この四つの分割後の印刷ジョブのうち、一つが、指示元プリンター1Aによって処理され、他の三つが、指示先プリンター1Bによって処理されることになる。この指示先プリンター1Bによって処理される印刷ジョブのそれぞれについて、分散印刷ヘッダー6が作成される。
分散印刷ヘッダー6には、例えば、分散印刷であることを示すデータ61と、印刷すべきページ62と、データポインター63とが含まれる。代行印刷ヘッダー5の場合と同様に、データポインター63には、対応する印刷ジョブデータ4(この分散印刷ヘッダー6に従って処理されることとなる印刷ジョブデータ4)の外部メモリー3上の記憶位置が設定される。印刷すべきページ62には、その分散印刷ヘッダー6に従って分散印刷を行う指示先プリンター1Bが印刷することとなるページのページ番号が記録される。
以上が、本実施形態に係るプリンター1の構成の説明である。以下、プリンター1のCPU13によって行われる処理の詳細について説明する。尚、図4〜図6の処理は、指示元プリンター1のCPU13によって行われる処理であり、図7の処理は、指示先プリンター1のCPU13によって行われる処理である。以下、図4〜図6の説明における「外部メモリー3」とは、指示元プリンター1に装着されている外部メモリー3のことを意味し、図7の説明における「外部メモリー3」とは、指示先プリンター1に装着されている外部メモリー3のこと意味するものとする。尚、以下の説明では、受信ジョブデータ4が示す印刷ジョブ(受信ジョブ)は、複数のページから構成されているものとする。
図4は、指示元プリンター1Aの代行/分散印刷制御部131が行う、代行印刷に関する制御処理のフローチャートである。この処理は、指示元プリンター1Aがホスト装置2から受信データ(受信ジョブデータ4を構成するセグメント)を受信し、その受信した受信データが入出力I/F11によってRAM12に書き込まれたことを契機として開始される。
まず、代行/分散印刷制御部131は、RAM12に書き込まれた受信データを読み出す(S1)。
次に、代行/分散印刷制御部131は、今回の受信データ(ステップS1で読み出された受信データ)の外部メモリー3への書き込みが、受信ジョブデータ4の外部メモリー3への初回の書き込みとなるか否か(即ち、受信ジョブデータ4(受信ジョブデータ4の一部)が未だ外部メモリー3に書き込まれていないかどうか)を判定する(S2)。
受信ジョブデータ4の外部メモリー3への初回の書き込みとなる場合は(S2:YES)、代行/分散印刷制御部131は、ステップS1で読み出された受信データを外部メモリー3に書き込む(S3)。
そして、代行/分散印刷制御部131は、代行印刷ヘッダー5を作成し、その作成した代行印刷ヘッダー5を外部メモリー3に書き込む(S4)。ここで、代行印刷ヘッダー5のデータポインター53には、ステップS3で書き込まれた受信データの外部メモリー3上の記憶位置が設定される。また、代行印刷ヘッダー5の印刷済みページ52には、空の値(例えば、NULL)が設定される。
一方、受信ジョブデータ4の外部メモリー3への初回の書き込みとならない場合(即ち、既に受信ジョブデータ4(受信ジョブデータ4の一部)が記憶済みである場合)は(S2:NO)、代行/分散印刷制御部131は、ステップS3で書き込まれた、記憶済みの受信ジョブデータ4(受信ジョブデータ4の一部)に、ステップS1で読み出された受信データを追加して書き込む(S5)。このステップS5の処理が、受信ジョブデータ4を構成する全ての受信データ(正確には、初回に書き込まれたもの(ステップS3で書き込まれたもの)を除く)について行われることにより、代行印刷ヘッダー5のデータポインター53が指しているデータが、受信ジョブデータ4として完成する。即ち、受信ジョブデータ4の外部メモリー3への書き込みが完了する。
ステップS6では、後続の受信データがあるかどうかが判定される。
後続の受信データがある場合は(S6:YES)、その後続の受信データについて、再度ステップS1〜S5の処理が行われる。
一方、後続の受信データがない場合(即ち、受信ジョブデータ4を構成する全ての受信データについてステップS1〜S5の処理が終了した場合)は(S6:NO)、代行/分散印刷制御部131は、外部メモリー3に書き込まれた受信ジョブデータ4を有効なもの(即ち、代行印刷等が可能なもの)とする(S7)。具体的には、代行/分散印刷制御部131は、受信ジョブデータ4が有効なものであることを示すデータを、例えばRAM12に記憶する。
以上の処理が行われることにより、外部メモリー3には、受信ジョブデータ4と、その受信ジョブデータに関する代行印刷ヘッダー5とが書き込まれる。従って、この図4の処理が完了した後に、指示元プリンター1Aが故障する等して受信ジョブデータ4を処理することができなくなった場合に、ユーザーは、指示元プリンター1Aに装着されている外部メモリー3を取り外して、その外部メモリー3をユーザーが任意に選択したプリンター1に装着することにより、その外部メモリー3が装着されたプリンター1(これが指示先プリンター1Bとなる)に代行印刷を行わせることができるようになる。尚、指示先プリンター1Bが行う処理(即ち、外部メモリー3に書き込まれたデータに基づいて代行印刷を行う処理)については、後に図7を参照して説明する。
図5は、指示元プリンター1Aが行う印刷処理のフローチャートである。この処理は、図4の処理と同様に、指示元プリンター1Aがホスト装置2から受信データ(受信ジョブデータ4を構成するセグメント)を受信し、その受信した受信データが入出力I/F11によってRAM12に書き込まれたことを契機として開始される。即ち、図4の処理と図5の処理とは、並列的に処理され得る。
まず、プリント制御部132は、所定の一時停止フラグがON(一時停止中であることを示す値)となっているか否かを判定する(S11)。ここで、一時停止フラグとは、印刷処理を一時的に停止するために用いられるフラグである。例えば、ユーザーから分散印刷の指示を受けた場合、指示元プリンター1Aは、印刷ジョブを分割する処理を行う。そして、その分割処理の後は、指示元プリンター1Aは、分割後の印刷ジョブのうちの一つを処理することになる。従って、分散印刷の指示を受けた場合は、指示元プリンター1Aが処理することとなる分割後の印刷ジョブが決定されるまで、印刷処理が一時的に停止される必要がある。そのために、上記の一時停止フラグが利用される。一時停止フラグは、例えばRAM12に記憶される。
一時停止フラグがONの場合(即ち、印刷処理が一時停止中とされている場合)は(S11:YES)、プリント制御部132は、一時停止フラグがOFF(一時停止中ではないことを示す値)になるまで待機する。
一方、一時停止フラグがOFFの場合(即ち、印刷処理が一時停止中とされていない場合)は(S11:NO)、プリント制御部132は、RAM12に書き込まれた受信ジョブデータ4(受信ジョブデータ4の一部)が1ページ分のデータとなっているか否かを判定する(S12)。
RAM12に書き込まれた受信ジョブデータ4が1ページ分のデータとなっていない場合は(S12:NO)、プリント制御部132は、RAM12に書き込まれた受信ジョブデータ4が1ページ分のデータとなるまで待機する。
一方、RAM12に書き込まれた受信ジョブデータ4が1ページ分のデータとなっている場合は(S12:YES)、プリント制御部132は、そのページ(RAM12に書き込まれた受信ジョブデータ4(受信ジョブデータ4の一部)に対応するページであり、以下、「対象ページ」という)が、指示元プリンター1Aに割り当てられているページ(即ち、指示元プリンター1Aが印刷すべきページ)であるか否かを判定する(S13)。
対象ページが指示元プリンター1Aに割り当てられているページでない場合は(S13:NO)、プリント制御部132は、対象ページを印刷することなく、再びステップS11の処理を行う。
一方、対象ページが指示元プリンター1Aに割り当てられているページである場合は(S13:YES)、プリント制御部132は、対象ページを印刷する。即ち、プリント制御部132は、対象ページに対応する受信ジョブデータ4をラスターライズしてラスターデータを生成し(S14)、その生成したラスターデータに基づく画像をプリント部16に出力させる(S15)。
その後、代行/分散印刷制御部131は、指示元プリンター1Aに外部メモリー3が装着されているか否かを判定する(S16)。
指示元プリンター1Aに外部メモリー3が装着されていない場合は(S16:NO)、その後、ステップS18の処理が行われる。
一方、指示元プリンター1Aに外部メモリー3が装着されている場合は(S16:YES)、代行/分散印刷制御部131は、対象ページのページ番号を、代行印刷ヘッダー5の印刷済みページ52に記録する(S17)。その後、ステップS18の処理が行われる。
ステップS18では、受信ジョブデータ4が示す印刷ジョブ(受信ジョブ)の処理が終了したか否かが判定される(S18)。
受信ジョブの処理が未だ終了していない場合は(S6:YES)、再度ステップS11〜S17の処理が行われる。
以上の処理(特にステップS16,S17)が行われることにより、代行印刷ヘッダー5には、それに関連付けられた受信ジョブデータ4について、どのページまで印刷処理が完了したかといったことを示すデータ(即ち、印刷済みページ52)が記録される。これにより、指示先プリンター1Bによって代行印刷が行われる場合、指示先プリンター1Bは、印刷済みページ52を参照することで、完了済みのページについては印刷処理を行わずに未完了のページについてだけ印刷処理を行えるようになる。
図6は、指示元プリンター1Aの代行/分散印刷制御部131が行う、分散印刷に関する制御処理のフローチャートである。この処理は、例えば、指示元プリンター1Aが、ユーザーI/F18を介して、ユーザーから分散印刷の指示を受けた場合に開始される。
ユーザーI/F18を介して、ユーザーから分散印刷の指示を受けた場合(S21:YES)、代行/分散印刷制御部131は、分散印刷の対象とされる印刷ジョブデータ4(即ち、受信ジョブデータ4)が有効なものとされているか否か(即ち、図4の処理が完了し、受信ジョブデータ4が外部メモリー3に記憶済みであるか否か)を判定する(S22)。このステップS22の判定は、例えば、受信ジョブデータ4が有効なものであることを示すデータが、例えばRAM12に記憶されているか否かが判定されることによって行われる。
受信ジョブデータ4が有効なものとされていない場合(即ち、受信ジョブデータ4の外部メモリー3への書き込みが未だ完了していない場合)は(S22:NO)、代行/分散印刷制御部131は、ユーザーI/F18を介してその旨をユーザーに通知する(S23)。
一方、受信ジョブデータ4が有効なものとされている場合は(S22:YES)、代行/分散印刷制御部131は、印刷処理を一時的に停止する(S24)。即ち、代行/分散印刷制御部131は、一時停止フラグをONにする。
その後、指示元プリンター1Aが、分散印刷させるプリンター1の数(以下、「分散数」)の入力を、ユーザーI/F18を介して、ユーザーから受け付ける(S25)。
その後、代行/分散印刷制御部131は、受信ジョブを、ステップS25で入力された分散数個の印刷ジョブに分割する(S26)。そして、代行/分散印刷制御部131は、分割後の印刷ジョブ(指示元プリンター1Aが処理するものを除く)のそれぞれについて分散印刷ヘッダー6を作成し、その作成した分散印刷ヘッダー6を外部メモリー3に書き込む(S27)。各代行印刷ヘッダー5のデータポインター53には、受信ジョブデータ4の外部メモリー3上の記憶位置が設定される。
このステップS26,27の処理を具体的な例を挙げて説明すると、受信ジョブのページ数が13ページであり、分散数が4であった場合は、例えば、代行/分散印刷制御部131は、1〜4ページまでの印刷ジョブと、5〜7ページまでの印刷ジョブと、8〜10ページまでの印刷ジョブと、11〜13ページまでの印刷ジョブとの4つに分割することができる。そして、指示元プリンター1Aは、この四つの分割後の印刷ジョブうちの一つ(ここでは、1〜4ページまでの印刷ジョブとする)を処理することができる。この場合、代行/分散印刷制御部131は、図3に示したような、5〜7ページまでの印刷ジョブ、8〜10ページまでの印刷ジョブ、及び11〜13ページまでの印刷ジョブの三つの印刷ジョブのそれぞれについての分散印刷ヘッダー6を作成することになる。
その後、代行/分散印刷制御部131は、ユーザーI/F18を介して、分散印刷の準備が完了した旨(即ち、外部メモリー3を取り外して他のプリンター1に装着してもよい旨)をユーザーに通知する(S28)。この通知を受けて、ユーザーは、外部メモリー3を指示元プリンター1Aから取り外して、ユーザーが任意に選択したプリンター1に装着することになる。これにより、ユーザーは、その外部メモリー3が装着されたプリンター1(これが指示先プリンター1Bとなる)に分散印刷を行わせることができる。尚、指示元プリンター1Aが処理するものを除いた分割後の印刷ジョブが複数ある場合(即ち、指示先プリンター1Bが複数選択される場合)は、ユーザーは、分散印刷を行わせるプリンター1を複数選択し、その選択したプリンター1のそれぞれに、指示元プリンター1Aから取り外した外部メモリー3を装着することになる。
その後、指示元プリンター1Aは、自分に割り当てられた分割後の印刷ジョブの印刷処理を行う(S30)。
図7は、指示先プリンター1Bの代行/分散印刷制御部131が行う、代行印刷等に関する制御処理のフローチャートである。この処理は、指示先プリンター1Bに外部メモリー3が装着されたことを契機として開始される。
指示先プリンター1Bに外部メモリー3が装着されると(S41:YES)、代行/分散印刷制御部131は、外部メモリー3に分散印刷ヘッダー6が書き込まれているか否かを判定する(S42)。
外部メモリー3に分散印刷ヘッダー6が書き込まれている場合は(S42:YES)、代行/分散印刷制御部131は、この指示先プリンター1Bに実行させる処理内容(代行印刷か分散印刷か)を、ユーザーI/F18を介してユーザーに選択させる(S43)。
ステップS42において外部メモリー3に分散印刷ヘッダー6が書き込まれていないと判定された場合(S42:NO)、又は、ステップS43において代行印刷が選択された場合(S43:代行印刷)は、代行印刷が行われる。
一方、ステップS43において分散印刷が選択された場合(S43:分散印刷)は、分散印刷が行われる。
まず、代行印刷が行われる場合について説明する。
この場合、代行/分散印刷制御部131は、代行印刷ヘッダー5と、その代行印刷ヘッダー5に関連付けられている印刷ジョブデータ4とを外部メモリー3から読み出す(S48)。
その後、代行/分散印刷制御部131は、ステップS48で読み出された代行印刷ヘッダー5に従って、代行印刷を実行する(S49)。具体的には、例えば、代行印刷ヘッダー5が図2で示されたものであった場合、代行/分散印刷制御部131は、印刷済みページ(図2の例では1〜4ページ)以外のページについてだけ印刷するように制御する。即ち、代行/分散印刷制御部131は、ステップS48で読み出された印刷ジョブデータ4のうち、印刷済みページ(図2の例では1〜4ページ)以外のページに対応する部分について、プリント制御部132にラスターライズを行わせ、それにより生成されたラスターデータに基づく画像をプリント部16に出力させる。
次に、分散印刷が行われる場合について説明する。
この場合、代行/分散印刷制御部131は、一つの分散印刷ヘッダー6(複数ある場合は任意に選択した一つ)と、その分散印刷ヘッダー6に関連付けられている印刷ジョブデータ4とを外部メモリー3から読み出す(S44)。そして、代行/分散印刷制御部131は、その読み出した分散印刷ヘッダー6及び印刷ジョブデータ4を、RAM12にコピーする(S45)。
次に、代行/分散印刷制御部131は、ステップS44で読み出した分散印刷ヘッダー6を外部メモリー3から削除する(S46)。
その後、代行/分散印刷制御部131は、ユーザーI/F18を介して、外部メモリー3を取り外してもよい旨をユーザーに通知する(S47)。
その後、代行/分散印刷制御部131は、ステップS44で読み出された分散印刷ヘッダー6に従って、分散印刷を実行する(S49)。具体的には、例えば、分散印刷ヘッダー6が図3における符号6Aで示されたものであった場合、代行/分散印刷制御部131は、印刷すべきページ(図3の例では5〜7ページ)についてだけ印刷するように制御する。即ち、代行/分散印刷制御部131は、ステップS44で読み出された印刷ジョブデータ4のうち、印刷すべきページ(図3の例では5〜7ページ)に対応する部分について、プリント制御部132にラスターライズを行わせ、それにより生成されたラスターデータに基づく画像をプリント部16に出力させる。
以上が、プリンター1のCPU13によって行われる処理の説明である。このような処理が行われることにより、外部メモリー3には、代行印刷等の対象となる印刷ジョブデータ4(本実施形態では、受信ジョブデータ4)と、その印刷ジョブデータ4についての、指示先プリンター1Bにおける処理方法が記述された指示データ(代行印刷ヘッダー5又は分散印刷ヘッダー6)とが記憶される。従って、指示元プリンター1Aが故障する等して受信ジョブデータ4を処理することができなくなった場合、或いは、例えば受信ジョブデータ4を処理する際の処理負荷が高く指示元プリンター1Aだけでは時間がかかりすぎるために、他のプリンター1(指示先プリンター1B)にも処理を分散させて行わせたい場合に、指示先プリンター1Bに受信ジョブデータ4の処理(即ち、代行印刷或いは分散印刷)を行わせることができるようになる。即ち、ユーザーが、指示データ及び受信ジョブデータ4が記憶された外部メモリー3を、指示先プリンター1Bに装着することで、指示先プリンター1Bは、指示データに基づいて、受信ジョブデータ4の処理(代行印刷或いは分散印刷)を行うことができる。
また、ユーザーは、外部メモリー3を装着したプリンター1を指示先プリンター1Bとすることができるので、指示先プリンター1Bを任意に定めることができる。従って、ユーザーは、指示先プリンター1Bの候補が複数あった場合に、例えばその候補とされているプリンター1の機能や設置場所等を考慮して、指示先プリンター1Bを自由に選択することができる。
また、指示先プリンター1Bは、外部メモリー3を介して指示データ及び印刷ジョブデータ4を受信するため、指示元プリンター1Aと指示先プリンター1Bとが、データ通信可能なように接続されている必要はない。また、指示元プリンター1Aと指示先プリンター1Bとが、例えば通信ネットワークを介して接続されている場合であっても、指示元プリンター1Aから指示先プリンター1Bへ指示データや印刷ジョブデータ4を送信する必要がないので、通信ネットワークに負荷をかけることはない。
上述した本発明の実施形態は、本発明の説明のための例示であり、本発明の範囲をそれらの実施形態にのみ限定する趣旨ではない。本発明は、その要旨を逸脱することなく、その他の様々な態様でも実施することができる。
1…プリンター、11…入出力I/F、12…RAM、13…CPU、131…代行/分散印刷制御部、132…プリント制御部、14…外部メモリーI/F、15…ROM、16…プリント部、17…バス、18…ユーザーI/F、2…ホスト装置、3…外部メモリー、4…印刷ジョブデータ、5…代行印刷ヘッダー、6…分散印刷ヘッダー

Claims (9)

  1. 外部メモリーと接続可能なジョブ処理装置であって、
    ジョブデータを受信する受信手段と、
    受信したジョブデータを前記ジョブ処理装置に接続された外部メモリーに記憶させる記憶制御手段と、を備え、
    前記記憶制御手段は、
    前記ジョブ処理装置とは異なる他のジョブ処理装置における、前記受信したジョブデータの処理方法を記述した指示データを、前記受信したジョブデータと関連付けて前記外部メモリーに記憶させる、
    ジョブ処理装置。
  2. 前記受信したジョブデータの処理が、複数の単位処理から構成されており、
    前記記憶制御手段は、前記単位処理が完了するごとに、前記単位処理が完了したことを示す完了データを、前記受信したジョブデータに関する指示データとして前記外部メモリーに記憶させる、
    請求項1記載のジョブ処理装置。
  3. 前記受信したジョブデータの処理が、複数の単位処理から構成されており、
    分散処理の指示を受け付ける受け付け手段、を更に備え、
    前記記憶制御手段は、分散処理の指示を受け付けた場合、前記複数の単位処理を、前記ジョブ処理装置に行わせる単位処理と、前記他のジョブ処理装置に行わせる単位処理とに分割し、前記他のジョブ処理装置に行わせる単位処理を示した処理対象表示データを、前記受信したジョブデータに関する前記指示データとして前記外部メモリーに記憶させる、
    請求項1又は2記載のジョブ処理装置。
  4. 前記指示データと、前記指示データに関連付けられているジョブデータとを、前記ジョブ処理装置に接続された外部メモリーから読み出す読み出し手段と、
    前記読み出された指示データに基づいて、前記読み出されたジョブデータを処理するジョブ処理手段と、を更に備える、
    請求項1〜3のうちのいずれかに記載のジョブ処理装置。
  5. 外部メモリーと接続可能なジョブ処理装置であって、
    前記外部メモリーに記憶されているジョブデータの処理方法を記述した指示データと、前記指示データに関連付けられているジョブデータとを、前記ジョブ処理装置に接続された外部メモリーから読み出す読み出し手段と、
    前記読み出された指示データに基づいて、前記読み出されたジョブデータを処理するジョブ処理手段と、を備える、
    ジョブ処理装置。
  6. 前記指示データに関連付けられているジョブデータの処理が、複数の単位処理から構成されており、
    前記ジョブ処理手段は、前記複数の単位処理のうちの処理が完了した単位処理を示す完了データが、前記指示データとして前記外部メモリーに記憶されている場合、前記複数の単位処理のうちの前記完了データが示す単位処理以外の単位処理についてだけ処理する、
    請求項5記載のジョブ処理装置。
  7. 前記指示データに関連付けられているジョブデータの処理が、複数の単位処理から構成されており、
    前記ジョブ処理手段は、前記ジョブ処理装置に行わせる単位処理を示した処理対象表示データが、前記指示データとして前記外部メモリーに記憶されている場合、前記複数の単位処理のうちの前記処理対象表示データが示す単位処理についてだけ処理する、
    請求項5又は6記載のジョブ処理装置。
  8. 外部メモリーと接続可能なジョブ処理装置が行うジョブ処理方法であって、
    ジョブデータを受信し、
    受信したジョブデータを前記ジョブ処理装置に接続された外部メモリーに記憶し、
    前記ジョブ処理装置とは異なる他のジョブ処理装置における、前記受信したジョブデータの処理方法を記述した指示データを、前記受信したジョブデータと関連付けて前記外部メモリーに記憶する、
    ジョブ処理方法。
  9. 外部メモリーと接続可能なジョブ処理装置が行うジョブ処理方法を実現するコンピュータープログラムであって、
    ジョブデータを受信し、
    受信したジョブデータを前記ジョブ処理装置に接続された外部メモリーに記憶し、
    前記ジョブ処理装置とは異なる他のジョブ処理装置における、前記受信したジョブデータの処理方法を記述した指示データを、前記受信したジョブデータと関連付けて前記外部メモリーに記憶する、
    ジョブ処理方法を実現するコンピュータープログラム。
JP2009089061A 2009-04-01 2009-04-01 ジョブ処理装置、ジョブ処理方法、ジョブ処理方法を実現するコンピュータープログラム Withdrawn JP2010244112A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009089061A JP2010244112A (ja) 2009-04-01 2009-04-01 ジョブ処理装置、ジョブ処理方法、ジョブ処理方法を実現するコンピュータープログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009089061A JP2010244112A (ja) 2009-04-01 2009-04-01 ジョブ処理装置、ジョブ処理方法、ジョブ処理方法を実現するコンピュータープログラム

Publications (1)

Publication Number Publication Date
JP2010244112A true JP2010244112A (ja) 2010-10-28

Family

ID=43097095

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009089061A Withdrawn JP2010244112A (ja) 2009-04-01 2009-04-01 ジョブ処理装置、ジョブ処理方法、ジョブ処理方法を実現するコンピュータープログラム

Country Status (1)

Country Link
JP (1) JP2010244112A (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003108341A (ja) * 2001-09-27 2003-04-11 Canon Inc 情報処理装置、情報処理システム、情報処理方法、記録媒体及びプログラム
JP2006109215A (ja) * 2004-10-07 2006-04-20 Matsushita Electric Ind Co Ltd データ処理装置およびその制御方法
JP2008287608A (ja) * 2007-05-18 2008-11-27 Konica Minolta Business Technologies Inc ワークフロー実行システム及び実行方法、画像処理装置並びにワーク代替処理プログラム
JP2008307745A (ja) * 2007-06-13 2008-12-25 Canon Inc 印刷装置及びその制御方法、並びにプログラム及び記憶媒体

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003108341A (ja) * 2001-09-27 2003-04-11 Canon Inc 情報処理装置、情報処理システム、情報処理方法、記録媒体及びプログラム
JP2006109215A (ja) * 2004-10-07 2006-04-20 Matsushita Electric Ind Co Ltd データ処理装置およびその制御方法
JP2008287608A (ja) * 2007-05-18 2008-11-27 Konica Minolta Business Technologies Inc ワークフロー実行システム及び実行方法、画像処理装置並びにワーク代替処理プログラム
JP2008307745A (ja) * 2007-06-13 2008-12-25 Canon Inc 印刷装置及びその制御方法、並びにプログラム及び記憶媒体

Similar Documents

Publication Publication Date Title
JP4543340B2 (ja) 画像処理装置および画像形成システムとプログラム
US8502995B2 (en) Printing method to load filter dynamically and recordable medium with program to execute the printing method and host apparatus
WO2011138848A1 (en) Information processing apparatus, method for controlling same, and storage medium
CN102591163B (zh) 图像形成装置及作业管理方法
US8767247B2 (en) Print data generation device, print data generation method and computer-readable medium for controlling rasterization processing
JP5099594B2 (ja) 画像処理装置、画像処理システムおよび画像処理プログラム
JP2016210175A (ja) 画像形成装置、画像形成装置の制御方法、および、プログラム
JP2018106222A (ja) 情報処理装置及び通信制御方法
JP5857594B2 (ja) 分散印刷システム及び印刷装置
JP2019164446A (ja) 情報処理装置、情報処理方法、プログラム、及び印刷システム
JP2010244112A (ja) ジョブ処理装置、ジョブ処理方法、ジョブ処理方法を実現するコンピュータープログラム
JP5799968B2 (ja) 印刷システム
JP5589582B2 (ja) 画像処理装置及びプログラム
JP6188464B2 (ja) 画像処理装置、画像処理装置の制御方法、及びプログラム
JP6344145B2 (ja) 画像形成装置および画像形成プログラム
JP4412718B2 (ja) 情報処理装置およびその制御方法
JP2007011694A (ja) 画像記録システム及び画像記録方法並びに画像記録装置
JP7086772B2 (ja) 画像形成装置、画像形成装置の制御方法、及び、プログラム
JP2012165229A (ja) 画像形成方法および画像形成装置
JP2005321886A (ja) プリント支援モジュール、ポートモニタ、記録媒体及びプリントジョブ発行方法
JP2008027217A (ja) 情報処理装置および印刷装置を備える印刷システム
JP2021098300A (ja) 画像形成装置
JP5712676B2 (ja) 画像処理装置、画像処理システム、及び画像処理プログラム
JP2016007848A (ja) 制御装置、処理方法及ぶプログラム
JP2015099475A (ja) 情報処理システム及びその制御方法、並びにプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120402

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130430

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130507

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20130619