以下、本発明の好適な実施形態につき説明する。
<第1の実施形態:構成>
図1は本発明の一実施形態にかかる画像形成装置1のハードウェア構成例を示す図である。
図1において、画像形成装置1は、バス102に接続されたCPU(Central Processing Unit)103、記憶装置104、ネットワークI/F(Interface)105および外部メディアI/F106を含むコントローラ101を備えている。
コントローラ101は画像形成装置1の主たる制御動作を行う部分である。CPU103は、コンピュータプログラムの実行により所定の制御処理を行う部分である。記憶装置104は、RAM(Random Access Memory)、ROM(Read Only Memory)、HDD(Hard Disk Drive)等のデータ記憶媒体である。ネットワークI/F105は、PC(Personal Computer)等の外部機器22との間でデータ通信を行う部分である。外部メディアI/F106は、フラッシュメモリ等の外部メディア23との間でデータの読み書きを行う部分である。
また、画像形成装置1は、コントローラ101のバス102に接続された操作部107、表示部108、プロッタデバイス109、スキャナデバイス110およびFAXデバイス111を備えている。操作部107は、ユーザにより操作されるボタンおよびタッチパネルを含む。表示部108は、液晶パネル等により構成され、画像形成装置1の設定内容や状態を表示する部分である。プロッタデバイス109は、用紙への印字を行う部分である。スキャナデバイス110は、原稿の読み取りを行う部分である。FAXデバイス111は、電話回線を介してFAX専用機等の外部機器21との間でファクシミリ送受信を行う部分である。
図2は本発明の一実施形態にかかる画像形成装置1のソフトウェア構成例を示す図である。
図2において、画像形成装置1は、共通の制御部として、表示制御部121、要求管理部122、実行順制御部123、ジョブ制御部124および出力順制御部125を備えている。
表示制御部121は、操作部107(図1)のキー押下情報を受け、表示部108への画面の表示、画面の遷移、要求管理部122への実行指示を行う機能を有している。
要求管理部122は、ジョブ単位の実行管理を行う部分であり、内部機能の一つとして実行順制御部123を有している。実行順制御部123は、複数のジョブが実行される際の実行順管理を行う機能を有している。
ジョブ制御部124は、入力と出力を組み合わせたジョブの実行制御を行う部分であり、内部機能の一つとして出力順制御部125を有している。出力順制御部125は、複数の出力の順序制御を行う機能を有している。
また、入力群として、FAX受信制御部126、読み取り制御部127、PC受信制御部128および文書読み出し制御部129を有している。
FAX受信制御部126は、外部機器21(図1)より電話回線を利用して送られてくるデータを解析し、画像形成装置1内で取り扱い可能な形の画像データを生成する画像入力機能を提供する。
読み取り制御部127は、画像形成装置1内のスキャナデバイス110を制御することで原稿を読み取り、画像形成装置1内で取り扱い可能な形で画像データを生成する画像入力機能を提供する。
PC受信制御部128は、ネットワークで送られてくるPCからのデータを解析し、画像形成装置1内で取り扱い可能な形の画像データを生成する画像入力機能を提供する。
文書読み出し制御部129は、画像形成装置1内の記憶装置104やSDカード等の外部メディア23に保管文書として記憶されている画像データを、画像形成装置1内で取り扱い可能な形の画像データに変換する画像入力機能を提供する。
また、出力群として、印刷制御部130、FAX送信制御部131、文書蓄積制御部132およびメール送信制御部133を有している。
印刷制御部130は、画像形成装置1内のプロッタデバイス109を制御することで、画像形成装置1内で加工された画像データを紙などの媒体に転写することによって機器外に出力する画像出力機能を提供する。
FAX送信制御部131は、画像形成装置1から電話回線を介して外部機器21に画像データを送出する画像出力機能を提供する。
文書蓄積制御部132は、画像データを画像形成装置1内の記憶装置104やSDカード等の外部メディア23に保管文書として記憶する画像出力機能を提供する。
メール送信制御部133は、画像形成装置1からネットワークに画像データを送出する画像出力機能を提供する。
その他に、画像形成装置1からネットワークを利用して外部機器内のフォルダに対して画像データを保管する画像出力機能を提供するメディア送信制御部等を設けてもよい。
図3は制御動作に用いられるジョブ実行順管理テーブルT1および利用機能テーブルT2の例を示す図である。
図3において、要求管理部122は、ジョブの実行順を管理するためのデータとしてジョブ実行順管理テーブルT1を有し、ジョブ制御部124は、ジョブが利用している機能を管理するためのデータとして利用機能テーブルT2を有している。
ジョブ実行順管理テーブルT1は、要求管理部122が記憶領域上に実行管理処理のために一時的に保存することで保持しているデータである。縦軸にジョブ、横軸にシステム上利用可能な機能の利用の有無が並んでいる。ユーザがジョブの実行要求を行うたびに、投入されたジョブのデータをジョブ実行順管理テーブルT1上に作成し、ジョブが利用している機能が何かを記載する。ジョブのデータは、新規ジョブが作成されるごとにテーブル下部から上部に向かって追加、記載していくが、ジョブの実行状態が変化するたびに最新の実行順にソートされる。
利用機能テーブルT2は、ジョブ制御部124が記憶領域上に実行管理処理のために一時的に保存することで保持しているデータである。このデータはジョブごとに存在し、利用できる機能とその利用状態を入力と出力に分けて記載している。利用状態としては、このジョブを実行する上で不要な機能であることを示す「不使用」、このジョブを実行する上で必要な機能であるか、機能が利用されているか(情報を得ていないので)不明な状態であることを示す「利用予定」、このジョブを実行する上で必要な機能であり、他のジョブで使用されているので順番待ちしている状態を示す「空き待ち」、このジョブを実行する上で必要な機能であり、このジョブ実行で実際に使用している状態を示す「利用中」がある。加えて、出力に関しては、どのようなタイミングで出力動作を開始するかについての設定を記載している。ここでは「一斉実行」が設定されているが、他に「順次実行」がある。
<第1の実施形態:基本的動作>
図4A〜図4Cは上記の実施形態の基本的な処理例を示すシーケンス図である。また、図5A〜図5Cは表示部108(操作部107兼用)に表示される設定画面の例を示す図、図6A〜図6Dは利用機能テーブルT2の例を示す図、図7A、図7Bはジョブ実行順管理テーブルT1の例を示す図である。
以下、ジョブ#1として入力:読み取り、出力:印刷、FAX送信、ジョブ#2として入力:読み取り、出力:印刷、FAX送信を順次に投入する場合を例に、多出力ジョブの予約と実行の処理例について説明する。
先ず、画像形成装置1に実行中のジョブも予約中のジョブもない状態から1ジョブ目の投入を行う場合について説明する。
図4Aにおいて、表示制御部121により表示部108(操作部107兼用)に表示される動作設定画面を利用してユーザは設定を行う(ステップS101)。ここでは、設定内容を動作設定#1とする。
図5Aは動作設定画面の例を示しており、領域141にはステータス等のメッセージ142と受け付けられるジョブ番号143とが表示されている。領域144の領域145には入力として利用可能な機能が表示され、文字列「▽入力」の横には選択中の入力機能146が表示される。領域147の領域148には出力として利用可能な機能が表示される。
ユーザは設定が終わると、操作部107のスタートキー(図示せず)を押下して画像形成装置1に対してジョブの実行を指示する。ユーザが操作部107のスタートキーを押下することにより、操作部107はスタートキーが押下されたことを表示制御部121に通知する。
図4Aに戻り、表示制御部121はスタートキーの押下の通知を受けて、動作設定として画面で設定されているパラメータ郡"動作設定#1"を伴って要求管理部122に対して実行要求の"投入"を指示する(ステップS102)。
表示制御部121から"投入"指示を受けると、要求管理部122は、受け取った"動作設定#1"を伴ってジョブ制御部124に対して"ジョブ生成"を指示する(ステップS103)。"ジョブ生成"指示を受けると、ジョブ制御部124は、受け取った"動作設定#1"の内容を実行するための"ジョブ#1"を生成し、要求元の要求管理部122に返す(ステップS104)。なお、ジョブ制御部124は、"動作設定#1"を解析し、"ジョブ#1"で利用する入力機能、出力機能の使用状態を利用機能テーブルT2に記載する。図6Aはこの時点における利用機能テーブルT2の例を示しており、ジョブ#1は、入力機能として"読み取り"、出力機能として、"印刷"、"FAX送信"を利用するので、それらが"利用予定"になっている。利用しない機能は、"不使用"になっている。
図4Aに戻り、ジョブが生成されると、要求管理部122は、"ジョブ#1"を実行するためのリソースの状況を確認するために、"ジョブ#1"を伴ってジョブ制御部124に対して"問い合わせ"を指示する(ステップS105)。
"問い合わせ"指示を受けると、ジョブ制御部124は、受け取った"ジョブ#1"の利用機能テーブルT2を参照し、"利用予定"になっている機能に対応する制御部(読み取り制御部127、印刷制御部130、FAX送信制御部131)に対して、"ジョブ#1"を伴って"問い合わせ"を実施する(ステップS106、S108、S110)。
"問い合わせ"指示を受けた各制御部は、現在実行されているジョブがあるのかを確認し、ジョブ実行を受け付けることが可能かどうかを返す(ステップS107、S109、S111)。ここでは、何も実行されているものがないので、各制御部からは、"OK"が返答される。すなわち、読み取り:OK、印刷:OK、FAX送信:OKとなる。
ジョブ制御部124は、この結果を、利用機能テーブルT2に記録する。この時点での"ジョブ#1"の利用機能テーブルT2は、図6Bに示すように、以前の"利用予定"が"利用OK"になる。そして、図4Aに戻り、ジョブ制御部124は、この結果を要求管理部122に返答する(ステップS112)。全ての機能が利用可能状態にあるので、"全OK"を返答する。
ジョブ制御部124からの返答を受けると、要求管理部122は、実行順制御部123を使って"実行順判断"を行う(ステップS113)。この際、要求管理部122は、"ジョブ#1"の利用機能テーブルT2を参照して、ジョブ実行順管理テーブルT1にエントリを追加する。基本的に、新規エントリは投入された順番にジョブ実行順管理テーブルT1の下部から上部に積み上がっていく。この時点でのジョブ実行順管理テーブルT1の例を図7Aに示す。
また、図4Aにおいて、実行順制御部123による"実行順判断"は、ジョブ間で利用機能の競合がないので、"ジョブ#1"はすぐに実行可能な状態("実行全OK")にあると判断される(ステップS114)。
続いて、要求管理部122は、先の判断結果に基づき、ジョブ制御部124に対して、実行対象のジョブである"ジョブ#1"と実行を許可する機能の指定である"読み取り:OK、印刷:OK、FAX送信:OK"を指定して"実行"を指示する(ステップS115)。
"実行"指示を受けると、ジョブ制御部124は、出力順制御部125を利用して、出力可否チェックを行う(ステップS116)。出力順制御部125は、出力のタイミングを判断する役割を持っていて、本実施形態では、一斉に実行するためのタイミングを判定している。出力順制御部125は、"ジョブ#1"の利用機能テーブルT2を元に出力を開始してもよいか否か判断する。ここでは、利用出力機能の印刷、FAX送信がどちらも"利用OK"であるので、出力可能である("OK")と判断される(ステップS117)。
そのため、ジョブ制御部124は、要求管理部122から実行を許可された機能、ここでは"読み取り:OK、印刷:OK、FAX送信:OK"であるので、読み取り制御部127、印刷制御部130、FAX送信制御部131に対して、"実行"を指示していく(ステップS118〜S123)。ジョブ制御部124は、この指示の後、利用機能テーブルT2を更新する。更新後の利用機能テーブルT2は、図6Cに示すように、以前の"利用OK"が"利用中"になる。
図4Aに戻り、実行指示が完了してジョブ制御部124から要求管理部122に応答があると(ステップS124)、要求管理部122は生成した"ジョブ#1"を表示制御部121に渡す(ステップS125)。
その後、読み取り制御部127で管理する読み取り動作が完了すると、読み取り制御部127は、対象のジョブである"ジョブ#1"を伴ってジョブ制御部124に対して"実行完了"を伝える(ステップS126)。
これを受け、ジョブ制御部124は、利用機能テーブルT2を更新し(読み取り:利用中→読み取り:利用完了)、要求管理部122に対し、次のジョブを受け付け可能になった("次ジョブOK")ことを伝える(ステップS127)。
これを受け、要求管理部122は、表示制御部121に対して次の要求の受け付けが可能になった("要求受付可")ことを伝える(ステップS128)。表示制御部121から読み取り制御部127へは応答が行われる(ステップS129〜S131)。
これにより、表示制御部121は、動作設定画面に予約キーを表示して、ユーザに対して次のジョブが受付可能になったことを知らせる。図5Bは動作設定画面の例を示しており、画面上方に「新規予約」という見出しの予約キー149が表示されている。
次に、1ジョブ目の実行中における2ジョブ目の実行予約を説明する。基本的には、1ジョブ目の実行と同様の流れになる。
図4Bにおいて、表示制御部121により表示部108(操作部107兼用)に表示される動作設定画面を利用してユーザは設定を行う(ステップS132)。ここでは、設定内容を動作設定#2とする。
設定開始時の動作設定画面は図5Bに示したようなものとなっており、予約キー149を押下することで、図5Cのような動作設定画面となり、ユーザに条件設定を促す。領域141の表示は、図5Aと比べ、メッセージ142が「実行できます。」から「予約できます。」に変更され、ジョブ番号143が"ジョブ#1"から"ジョブ#2"に変更されている。
ユーザは設定が終わると、操作部107のスタートキー(図示せず)を押下して画像形成装置1に対してジョブの実行を指示する。ユーザが操作部107のスタートキーを押下することにより、操作部107はスタートキーが押下されたことを表示制御部121に通知する。
図4Bに戻り、表示制御部121はスタートキーの押下の通知を受けて、動作設定として画面で設定されているパラメータ郡"動作設定#2"を伴って要求管理部122に対して実行要求の"投入"を指示する(ステップS133)。
表示制御部121から"投入"指示を受けると、要求管理部122は、受け取った"動作設定#2"を伴ってジョブ制御部124に対して"ジョブ生成"を指示する(ステップS134)。"ジョブ生成"指示を受けると、ジョブ制御部124は、受け取った"動作設定#2"の内容を実行するための"ジョブ#2"を生成し、要求元の要求管理部122に返す(ステップS135)。なお、ジョブ制御部124は、"動作設定#2"を解析し、"ジョブ#2"で利用する入力機能、出力機能の使用状態を利用機能テーブルT2に記載する。
ジョブが生成されると、要求管理部122は、"ジョブ#2"を実行するためのリソースの状況を確認するために、"ジョブ#2"を伴ってジョブ制御部124に対して"問い合わせ"を指示する(ステップS136)。
"問い合わせ"指示を受けると、ジョブ制御部124は、受け取った"ジョブ#2"の利用機能テーブルT2を参照し、"利用予定"になっている機能に対応する制御部(読み取り制御部127、印刷制御部130、FAX送信制御部131)に対して、"ジョブ#2"を伴って"問い合わせ"を実施する(ステップS137、S139、S141)。
"問い合わせ"指示を受けた各制御部は、現在実行されているジョブがあるのかを確認し、ジョブ実行を受け付けることが可能かどうかを返す(ステップS138、S140、S142)。ここでは、読み取り動作は完了しているため読み取り制御部127からは"OK"が返答されるが、"ジョブ#1"で印刷とFAX送信を利用中であるので、印刷制御部130とFAX送信制御部131からはそれぞれ"NG"が返答される。
ジョブ制御部124は、この結果を、利用機能テーブルT2に記録する。この時点での"ジョブ#2"の利用機能テーブルT2は、図6Dに示すようなものとなる。そして、図4Bに戻り、ジョブ制御部124は、この結果、読み取り:OK、印刷:NG、送信:NGを要求管理部122に返答する(ステップS143)。
ジョブ制御部124からの返答を受けると、要求管理部122は、実行順制御部123を使って"実行順判断"を行う(ステップS144)。この際、要求管理部122は、"ジョブ#2"の利用機能テーブルT2を参照して、ジョブ実行順管理テーブルT1にエントリを追加する。この時点でのジョブ実行順管理テーブルT1の例を図7Bに示す。
また、図4Bにおいて、実行順制御部123による"実行順判断"では、"ジョブ#2"の利用機能テーブルT2から、印刷、FAX送信は空きを待っている状態で、読み取りのみ利用可能な状態であることと、ジョブ実行順管理テーブルT1から"ジョブ#2"が利用予定の出力機能と、"ジョブ#2"の前に実行しているジョブ("ジョブ#1")が利用している機能とが競合していることがわかるため、判断結果は、読み取りのみ実行可能("入力:OK")となる(ステップS145)。
続いて、要求管理部122は、先の判断結果に基づき、ジョブ制御部124に対して、実行対象のジョブである"ジョブ#2"と実行を許可する機能の指定である"読み取り:OK"を指定して"実行"を指示する(ステップS146)。
"実行"指示を受けると、ジョブ制御部124は、出力順制御部125を利用して、出力可否チェックを行う(ステップS147)。出力順制御部125は、"ジョブ#2"の利用機能テーブルT2を元に出力を開始してもよいか否か判断する。ここでは、利用予定の出力機能(印刷、FAX送信)が"空き待ち"であるので、まだ出力を開始できる状況ではないということで、"NG"と判断される(ステップS148)。
そのため、ジョブ制御部124は、要求管理部122から実行を許可された機能、ここでは"読み取り:OK"であるので、読み取り制御部127に対してのみ"実行"を指示する(ステップS149、S150)。ジョブ制御部124は、この指示の後、利用機能テーブルT2を更新し、実行を指示した"読み取り"につき、以前の"利用OK"から"利用中"に変更する。
実行指示が完了してジョブ制御部124から要求管理部122に応答があると(ステップS151)、要求管理部122は生成した"ジョブ#2"を表示制御部121に渡す(ステップS152)。
その後、読み取り制御部127で管理する読み取り動作が完了すると、読み取り制御部127は、対象のジョブである"ジョブ#2"を伴ってジョブ制御部124に対して"実行完了"を伝える(ステップS153)。
これを受け、ジョブ制御部124は、利用機能テーブルT2を更新し(読み取り:利用中→読み取り:利用完了)、要求管理部122に対し、次のジョブを受け付け可能になった("次ジョブOK")ことを伝える(ステップS154)。
これを受け、要求管理部122は、表示制御部121に対して次の要求の受け付けが可能になった("要求受付可")ことを伝える(ステップS155)。表示制御部121から読み取り制御部127へは応答が行われる(ステップS156〜S158)。
次に図4Cにおいて、印刷制御部130で管理する印刷動作が完了すると、印刷制御部130は、対象のジョブである"ジョブ#1"を伴ってジョブ制御部124に対して"実行完了"を伝える(ステップS159)。
これを受け、ジョブ制御部124は、"ジョブ#1"の利用機能テーブルT2を更新し(印刷:利用中→印刷:利用完了)、印刷制御部130に応答を返す(ステップS160)。
次いで、印刷制御部130は、"ジョブ#2"を伴ってジョブ制御部124に対して"実行可能"を伝える(ステップS161)。
これを受け、ジョブ制御部124は、"ジョブ#2"の利用機能テーブルT2を更新し(印刷:空き待ち→印刷:利用OK)、"ジョブ#2"を伴って要求管理部122に"印刷:空き(ジョブ#2)"を伝える(ステップS162)。
これを受け、要求管理部122は、実行順制御部123を使って"実行順判断"を行うが(ステップS163)、このタイミングでは、まだFAX送信が完了していないため、実行順判断はNGとなる(ステップS164)。要求管理部122から印刷制御部130へは応答が行われる(ステップS165、S166)。
その後、FAX送信制御部131で管理するFAX送信動作が完了すると、FAX送信制御部131は、対象のジョブである"ジョブ#1"を伴ってジョブ制御部124に対して"実行完了"を伝える(ステップS167)。
これを受け、ジョブ制御部124は、"ジョブ#1"の利用機能テーブルT2を更新し(FAX送信:利用中→FAX送信:利用完了)、"ジョブ#1"を伴って要求管理部122に"実行完了"を伝える(ステップS168)。
これを受け、要求管理部122は、表示制御部121に"ジョブ#1"を伴って"実行完了"を伝え(ステップS169)、表示制御部121は表示部108に"ジョブ#1"の完了を表示する。表示制御部121からFAX送信制御部131へは応答が行われる(ステップS170〜S172)。
次いで、FAX送信制御部131は、"ジョブ#2"を伴ってジョブ制御部124に対して"実行可能"を伝える(ステップS173)。
これを受け、ジョブ制御部124は、"ジョブ#2"の利用機能テーブルT2を更新し(FAX送信:空き待ち→FAX送信:利用OK)、"ジョブ#2"を伴って要求管理部122に"印刷:空き(ジョブ#2)"を伝える(ステップS174)。
これを受け、要求管理部122は、実行順制御部123を使って"実行順判断"を行い(ステップS175)、このタイミングになると、"ジョブ#2"が利用予定の出力機能が全て利用可能な状態になるので、実行順判断では"全出力OK"となる(ステップS176)。
そのため、要求管理部122は、"ジョブ#2"および"全出力:OK"を伴ってジョブ制御部124に対して"実行"を指示する(ステップS177)。
"実行"指示を受けると、ジョブ制御部124は、印刷制御部130およびFAX送信制御部131に対して"実行"を指示していく(ステップS178〜S181)。ジョブ制御部124からFAX送信制御部131へは応答が返される(ステップS182〜S184)。
その後、印刷制御部130で管理する印刷動作が完了すると、印刷制御部130は、対象のジョブである"ジョブ#2"を伴ってジョブ制御部124に対して"実行完了"を伝える(ステップS185)。
これを受け、ジョブ制御部124は、"ジョブ#2"の利用機能テーブルT2を更新し(印刷:利用中→印刷:利用完了)、印刷制御部130に応答を返す(ステップS186)。
その後、FAX送信制御部131で管理するFAX送信動作が完了すると、FAX送信制御部131は、対象のジョブである"ジョブ#2"を伴ってジョブ制御部124に対して"実行完了"を伝える(ステップS187)。
これを受け、ジョブ制御部124は、"ジョブ#2"の利用機能テーブルT2を更新し(FAX送信:利用中→FAX送信:利用完了)、"ジョブ#2"を伴って要求管理部122に"実行完了"を伝える(ステップS188)。
これを受け、要求管理部122は、表示制御部121に"ジョブ#2"を伴って"実行完了"を伝え(ステップS189)、表示制御部121は表示部108に"ジョブ#2"の完了を表示する。表示制御部121からFAX送信制御部131へは応答が行われる(ステップS190〜S192)。
<第1の実施形態:特徴的動作>
図9A〜図9Dは、ジョブ#1が出力として印刷およびFAX送信、ジョブ#2が印刷およびHDDへの蓄積、ジョブ#3がHDDへの蓄積およびメール送信を行うようなジョブがあるケースについての処理例である。
これらのジョブは各々のジョブの実行に必要な全ての出力デバイスが実行可能な状態にならないとジョブの出力を開始しない特徴を持っている。このような特徴を有するジョブにおいて、ジョブ#1→ジョブ#2→ジョブ#3の順で投入されたジョブの実行順が、ジョブ#1→ジョブ#3→ジョブ#2の順に出力されるように出力順が変更になる例を示している。
図9Aにおいて、先ず、ユーザはジョブ#1の動作設定を行い(ステップS201)、ジョブを投入する(ステップS202)。
その後、要求管理部122は、ジョブ生成(ステップS203、S204)を経て、ジョブ制御部124に対して入出力デバイスが使用可能であるかの問い合わせを行う(ステップS205)。ここではジョブ#1は全ての問い合わせ結果がOKであった場合について示している(ステップS205〜S212)。
ジョブ#1の実行に必要なデバイスが全て実行可能であったため、要求管理部122はジョブ制御部124に対して実行を要求する(ステップS215)。このあと、ジョブ制御部124は出力順制御部125に対して出力可否チェックを行う(ステップS216、S217)。出力可否チェックはジョブの実行に必要な全てのデバイスが実行可能かどうかを監視しており、前述のとおりジョブ#1に関しては全ての出力デバイスがOKであるため、判定結果としてOKを返す。
その後、ジョブ制御部124はジョブ実行に必要な全てのデバイスに対してジョブの実行を要求する(ステップS218〜S223)。
次にジョブ#2のジョブを投入する際の処理について説明する。
ジョブ#2のジョブを投入するためにはジョブ#2のジョブに必要な入力デバイスが空き状態になる必要がある。すなわち、出力デバイスについては使用中であってもよいが、少なくとも入力デバイスについては空き状態である必要がある。
ジョブ#1の入力デバイスであるスキャナの使用が完了後(全ての原稿の読取完了後)(ステップS226〜S231)、ジョブ#2の投入が可能となる。
ジョブ#1の読取処理完了後、図9Bにおいて、ユーザは表示制御部121を使用してジョブ#2の動作設定を行い(ステップS232)、ジョブを投入する(ステップS233)。
ここで、要求管理部122がジョブ制御部124に対して問い合わせを行った際(ステップS236)、印刷デバイスについてはジョブ#1でまだ使用中であるため、結果としては読取OK、印刷NG、蓄積OKを返す(ステップS243)。
実行順制御部123は、印刷がジョブ#1によって使用状態であるため、要求管理部122から実行順判断を要求された際に(ステップS244)、入力のみが実行可能になったことを通知する(ステップS245)。
要求管理部122はジョブ制御部124に対してジョブ#2の実行を要求し(ステップS246)、ジョブ制御部124はジョブ#2の出力デバイスの一部が使用不可の状態であったため、読取のみの開始を行う(ステップS249、S250)。
次にジョブ#3のジョブを投入する際の処理について説明する。
ジョブ#3の前提となるジョブ投入条件はジョブ#2のときと同様であり、入力デバイスが空き状態である必要がある。ジョブ#3の入力デバイスの使用が完了後(全ての原稿の読取完了後)(ステップS253〜S258)、ジョブ#3の投入が可能となる。
ジョブ#2の読取処理完了後、図9Cにおいて、ユーザは表示制御部121を使用してジョブ#3の動作設定を行い(ステップS259)、ジョブを投入する(ステップS260)。
ジョブ#3の実行に必要な出力デバイスは既に投入済みのジョブ#1が使用中のデバイスとは同一ではないため、要求管理部122がジョブ制御部124に対して問い合わせを行った際には全て実行可能であるという判断結果がなされる(ステップS263〜S270)。
そのため、実行順制御部123は要求管理部122からの実行順判断を問われた際には実行可能である旨の応答を行う(ステップS271、S272)。ここでのポイントは、この判断により、ジョブ#3→ジョブ#2の順でジョブが実行されるようにジョブの実行順に変更がなされるという点である。
要求管理部122はジョブ制御部124に対してジョブの実行を要求し、ジョブ制御部124は全てのデバイスに対してジョブの実行を要求する(ステップS273〜S280)。
ジョブ#2の実行に必要な出力デバイスはジョブ#1(印刷)およびジョブ#3(蓄積(HDD))で使用中の状況である。
従って、図9Dにおいて、ジョブ#1の出力(蓄積)が完了しても(ステップS288、S289)、全ての出力デバイスが使用可能の状態ではないため、実行順制御部123による実行順判断は入力のみが実行可能の旨を返す(ステップS292、S293)。しかし、既にジョブ#2の読取処理は実行済みであるため、ジョブ制御部124はこれを無視する。
ジョブ#3の印刷が完了した時点で(ステップS296、S297)、全ての出力デバイスが実行可能の状態になり、実行順制御部123による実行順判断は実行全OKを返す(ステップS300、S301)。これによりジョブ制御部124はジョブ#2の出力デバイスに対して実行要求を行う(ステップS305〜S308)。その後、各々のデバイスが実行完了していく。
<第2の実施形態>
第2の実施形態は、第1の実施形態をベースとしつつ、投入されたジョブの出力に"印刷"が含まれていて、先行する予約ジョブの出力"印刷"と競合する場合、現時点で実行中の先行するジョブとの関係では出力デバイスの全てが空きであることにより待ち状態にある先行する予約ジョブを追い越すことができる場合であっても、最後のジョブのプリントボリュームが大きい場合には追い越しを行わないようにする機能を追加したものである。かかる機能は、図8に示すように、画像形成装置1に新たに設けられる印刷閾値判断部161により提供される。これにより、プリントボリュームが大きいジョブの追い越しをさせないので、追い越されたジョブの待機時間の必要以上の長期化を防ぐことができる。
図10A〜図10Cは、ジョブ#1が出力としてHDDへの蓄積およびFAX送信、ジョブ#2が印刷およびHDDへの蓄積、ジョブ#3が印刷およびメール送信を行うようなジョブがあるケースについての処理例である。
図10Aの処理(ステップS401〜S431)は、問い合わせ(ステップS406〜S411)および実行(ステップS418〜S423)の対象が読み取り制御部127の他にFAX送信制御部131および文書蓄積制御部132となる以外は、図9Aと同様である。
図10Bの処理(ステップS432〜S458)は、問い合わせの結果(ステップS443)が、読み取りOK、印刷:OK、蓄積:NGとなる以外は、図9Bと同様である。
図10Cは、問い合わせまでの処理(ステップS459〜S470)は、問い合わせの対象が読み取り制御部127の他に印刷制御部130およびメール送信制御部133となる以外は図9Cと同様である。
図10Cの「実行順判断(ジョブ#3)」(ステップS471〜)において、ジョブ#3よりも前の実行順待ちをしているジョブ(ここではジョブ#2)と印刷機能の利用が競合しているかどうかをチェックする。
印刷機能が競合しているジョブがある場合は、ジョブ#3のプリントボリュームとして原稿画像のページ数×セット枚数(総出力数)を印刷制御部130から抽出し(ステップS473、S474)、その値がある一定数よりも少ない場合のみジョブ#3の実行(ジョブ#2の追い越し)可と判断する。図10Cでは、ジョブ#3の実行可と判断し、実行を行っている(ステップS477〜S484)。
総出力枚数の閾値については、システムとして固定で持っても良いし、初期設定(図示せず)にてユーザ操作で登録してもよい。一般的には、数枚(一桁)程度の出力であるならば、追い越しを可と判断してよい。
<第3の実施形態>
第3の実施形態は、第1の実施形態をベースとしつつ、投入されたジョブの出力に"蓄積"が含まれていて、先行する予約ジョブの出力"蓄積"と競合する場合、現時点で実行中の先行するジョブとの関係では出力デバイスの全てが空きであることにより待ち状態にある先行する予約ジョブを追い越すことができる場合であっても、追い越した結果、HDD容量不足となって先行する予約ジョブの蓄積が行えなくなる場合には追い越しを行わないようにする機能を追加したものである。かかる機能は、図8に示すように、画像形成装置1に新たに設けられる蓄積容量判断部162により提供される。これにより、出力に蓄積のあるジョブが追い越しを行う際に、追い越しをするジョブの蓄積容量と追い越されるジョブの蓄積容量とHDD容量から、追い越されるジョブの蓄積ができない場合にジョブの追い越しをさせないので、追い越されたジョブの蓄積がHDD容量不足で実行できなくなることを防ぐことができる。
このケースの処理例としては、前述した図9A〜図9Dの一部を変更することで対応することができる。なお、図9A〜図9Dは、ジョブ#1が出力として印刷およびFAX送信、ジョブ#2が印刷およびHDDへの蓄積、ジョブ#3がHDDへの蓄積およびメール送信を行うようなジョブがあるケースについての処理例である。
図9Cの「実行順判断(ジョブ#3)」(ステップS271〜)において、ジョブ#3よりも前の実行順待ちをしているジョブ(ここではジョブ#2)と蓄積機能の利用が競合しているかどうかをチェックする。
蓄積機能が競合しているジョブがある場合は、そのジョブの原稿画像総容量を算出する。蓄積機能が競合している全てのジョブの原稿画像総容量の総数と、ジョブ#3の原稿画像総容量との和が蓄積先の残容量(本体HDDや外部記憶媒体)よりも小さい場合は、ジョブ#3を実行可とする。
<第4の実施形態>
第4の実施形態は、第1の実施形態をベースとしつつ、投入されたジョブの出力に"送信"が含まれていて、先行する予約ジョブの出力"送信"と競合する場合、現時点で実行中の先行するジョブとの関係では出力デバイスの全てが空きであることにより待ち状態にある先行する予約ジョブを追い越すことができる場合であっても、最後のジョブの送信ボリュームが大きい場合には追い越しを行わないようにする機能を追加したものである。かかる機能は、図8に示すように、画像形成装置1に新たに設けられる送信閾値判断部163により提供される。これにより、送信ボリュームが大きいジョブの追い越しをさせないので、追い越されたジョブの待機時間の必要以上の長期化を防ぐことができる。
図11A〜図11Cは、ジョブ#1が出力として印刷およびHDDへの蓄積、ジョブ#2が印刷およびメール送信、ジョブ#3がFAX送信およびメール送信を行うようなジョブがあるケースについての処理例である。
図11Aの処理(ステップS501〜S531)は、問い合わせ(ステップS506〜S511)および実行(ステップS518〜S523)の対象が読み取り制御部127と文書蓄積制御部132の他に印刷制御部130となる以外は、図10Aと同様である。
図11Bの処理(ステップS532〜S558)は、問い合わせ(ステップS537〜S542)の対象が読み取り制御部127と印刷制御部130の他にメール送信制御部133となる以外は、図10Bと同様である。
図11Cは、問い合わせまでの処理(ステップS559〜S570)は、問い合わせの対象が読み取り制御部127とメール送信制御部133の他にFAX送信制御部131となる以外は図10Cと同様である。
図11Cの「実行順判断(ジョブ#3)」(ステップS571〜)において、ジョブ#3よりも前の実行順待ちをしているジョブ(ここではジョブ#2)とメール送信機能の利用が競合しているかどうかをチェックする。
メール送信機能が競合しているジョブがある場合は、ジョブ#3のメール送信ファイルのファイルサイズをFAX送信制御部131から抽出し(ステップS573、S574)、その値がある一定数よりも少ない場合のみジョブ#3の実行(ジョブ#2の追い越し)可と判断する。図11Cでは、ジョブ#3の実行可と判断し、実行を行っている(ステップS577〜S584)。
ファイルサイズの閾値については、ネットワーク環境(転送レート等)等にも依存するため、ここでは初期設定(図示せず)にてユーザ操作で予め登録した値を用いる。
<第5の実施形態>
第5の実施形態は、第1の実施形態をベースとしつつ、投入されたジョブが現時点で実行中の先行するジョブとの関係では出力デバイスの全てが空きであることにより待ち状態にある先行する予約ジョブを追い越すことができる場合に、追い越しできるかどうかをユーザが設定できるようにする機能を追加したものである。かかる機能は、図8に示すように、画像形成装置1に新たに設けられる要求追い越し初期設定入力部164により提供される。これにより、ユーザがジョブの追い越しができるかどうかを設定することができるので、ユーザにとって想定外のジョブの追い越しを防ぐことができる。
図12は初期設定の参照を伴う処理例を示すシーケンス図であり、図9A、図9Bに続く処理である(図9Cに図12を代える)。
図12において、ジョブ#3がジョブ#2を追い越して実行可能と判断された場合(ステップS612)、ジョブ#2で使用する出力機能の内、ジョブ#3で使用する出力機能が予め初期設定で追い越し可能と設定されているかどうか確認する(ステップS616、S617)。
そして、追い越し可能と設定されているとき、ジョブ#3がジョブ#2の予約を追い越して実行する(ステップS613〜S622)。
<第6の実施形態>
第6の実施形態は、第1の実施形態をベースとしつつ、投入されたジョブが現時点で実行中の先行するジョブとの関係では出力デバイスの全てが空きであることにより待ち状態にある先行する予約ジョブを追い越すことができる場合に、追い越しできるかどうかをユーザがジョブ投入時に設定できるようにする機能を追加したものである。かかる機能は、図8に示すように、画像形成装置1に新たに設けられる要求投入時追い越し設定入力部165により提供される。これにより、ユーザがジョブ投入時に投入するジョブが追い越しできるかどうかを設定することができるので、ジョブごとにユーザの期待通りのジョブ追い越しをすることができる。
図13はユーザへの確認を伴う処理例を示すシーケンス図であり、図9A、図9Bに続く処理である(図9Cに図13を代える)。
図13において、ジョブ#3がジョブ#2を追い越して実行可能と判断された場合(ステップS712)、ユーザにジョブを追い越して実行するかどうかを問い合わせる(ステップS716、S717)。ユーザへの問い合わせは、表示制御部121によっても、ジョブを投入したPC等を経由して行ってもよい。
そして、ユーザが追い越しを指示した場合、ジョブ#3がジョブ#2の予約を追い越して実行する(ステップS713〜S722)。
<第7の実施形態>
第7の実施形態は、第1の実施形態をベースとしつつ、投入されたジョブが現時点で実行中の先行するジョブとの関係では出力デバイスの全てが空きであることにより待ち状態にある先行する予約ジョブを追い越すことができる場合に、投入されたジョブの出力が1つのみのときだけ追い越しできるようにする機能を追加したものである。かかる機能は、図8に示すように、画像形成装置1に新たに設けられる多出力追い越し禁止判断部166により提供される。これにより、多出力のジョブを追い越しできないようにすることによって、単出力のジョブの待機時間を最小にすることで単出力のジョブの動作を保証することできる。
図14A〜図14Cは、ジョブ#1が出力としてFAX送信およびメール送信、ジョブ#2が印刷およびメール送信、ジョブ#3が印刷を行うようなジョブがあるケースについての処理例である。
図14Aの処理(ステップS801〜S831)は、問い合わせ(ステップS806〜S811)および実行(ステップS818〜S823)の対象が読み取り制御部127とFAX送信制御部131の他に文書蓄積制御部132となる以外は、図10Aと同様である。
図14Bの処理(ステップS832〜S858)は、問い合わせ(ステップS837〜S842)の対象が読み取り制御部127と印刷制御部130の他にメール送信制御部133となる以外は、図10Bと同様である。
図14Cは、問い合わせまでの処理(ステップS859〜S868)は、問い合わせの対象が読み取り制御部127の他にFAX送信制御部131となる以外は図10Cと同様である。
図14Cの「実行順判断(ジョブ#3)」の出力数チェック(ステップS870)において、ジョブ#3の出力機能が一つである場合は、ジョブ#3を(ジョブ#2を追い越して)実行可と判断する。図14Cでは、ジョブ#3の実行可と判断し、実行を行っている(ステップS872〜S877)。
<総括>
以上、本発明の好適な実施の形態により本発明を説明した。ここでは特定の具体例を示して本発明を説明したが、特許請求の範囲に定義された本発明の広範な趣旨および範囲から逸脱することなく、これら具体例に様々な修正および変更を加えることができることは明らかである。すなわち、具体例の詳細および添付の図面により本発明が限定されるものと解釈してはならない。