(57)【特許請求の範囲】
【請求項１】
ジョブを受け付ける受付手段と、
受け付けたｎ（ｎは２以上の自然数）個のジョブのそれぞれについて、前記ジョブのうち情報を生成する前処理の実行に要する時間である前処理時間と、前記前処理により生成された情報を出力手段に出力させる後処理の実行に要する時間である後処理時間と、を算出する算出手段と、
前記受付手段により受け付けられたジョブであって、前処理用ジョブキューに登録されたジョブの前記前処理を順番に実行する前処理実行手段と、
前記前処理の実行終了後に後処理用ジョブキューに登録されたジョブの前記後処理を順番に実行する後処理実行手段と、
前記算出手段により算出されたｉ（１≦ｉ＜ｎ）番目のジョブの前記後処理時間と、ｉ＋１番目以降の各ジョブの前記前処理時間との差の絶対値を求め、前記絶対値の小さい順に、前記前処理用ジョブキューに登録されているｉ＋１番目以降のジョブを並び替える並替手段と、
を有するジョブ実行装置。
【請求項２】
前記制御手段は、前記絶対値が予め決められた閾値を超える場合には、その閾値を超えたジョブを前記前処理用ジョブキューから削除すると共に、その閾値を超えたジョブの前処理の実行を外部のジョブ実行装置に指示し、
その閾値を超えたジョブの実行終了通知を前記外部のジョブ実行装置から受信すると、その閾値を超えたジョブの後処理を前記後処理用ジョブキューに登録する、
ことを特徴とする請求項１に記載のジョブ実行装置。
【請求項３】
請求項１又は２に記載のジョブ実行装置を搭載し、
前記出力手段は、搭載された画像出力装置であり、
前記前処理は、搭載された画像処理装置又は外部の画像処理装置の少なくとも一方を用いて実行される画像処理であり、
前記後処理は、前記画像出力装置を用いて実行される印刷処理である、
ことを特徴とする画像形成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ジョブ実行装置、画像形成装置、プログラム及びジョブ実行システムに関する。
【背景技術】
【０００２】
特許文献１には、複数のジョブを最適な順で実行するために、ジョブを受け取った順ではなく中間コードの蓄積完了時期又は蓄積開始時期の早い順に従ってジョブの優先度を変えることによってジョブを最適な順番で処理する技術が開示されている。
【０００３】
特許文献２には、画像処理を迅速かつ効率的に実行するために、優先度が予め指定されたジョブが入力された際に、その入力されたジョブより処理中のジョブの優先度が低ければ、処理中のジョブを中断し、その入力されたジョブを実行することが開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平１０−６７１４６号公報
【特許文献２】特開平１０−２４０４６７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明は、情報を生成する前処理と、前処理により生成された情報を出力手段に出力させる後処理とを含むジョブを実行する際に出力手段の稼働率を従来に比して向上させることを目的とする。
【課題を解決するための手段】
【０００８】
本発明に係るジョブ実行装置は、ジョブを受け付ける受付手段と、受け付けたｎ（ｎは２以上の自然数）個のジョブのそれぞれについて、前記ジョブのうち情報を生成する前処理の実行に要する時間である前処理時間と、前記前処理により生成された情報を出力手段に出力させる後処理の実行に要する時間である後処理時間と、を算出する算出手段と、前記受付手段により受け付けられたジョブであって、前処理用ジョブキューに登録されたジョブの前記前処理を順番に実行する前処理実行手段と、前記前処理の実行終了後に後処理用ジョブキューに登録されたジョブの前記後処理を順番に実行する後処理実行手段と、前記算出手段により算出されたｉ（１≦ｉ＜ｎ）番目のジョブの前記後処理時間と、ｉ＋１番目以降の各ジョブの前記前処理時間との差の絶対値を求め、前記絶対値の小さい順に、前記前処理用ジョブキューに登録されているｉ＋１番目以降のジョブを並び替える並替手段と、を有する。
【０００９】
また、前記制御手段は、前記絶対値が予め決められた閾値を超える場合には、その閾値を超えたジョブを前記前処理用ジョブキューから削除すると共に、その閾値を超えたジョブの前処理の実行を外部のジョブ実行装置に指示し、その閾値を超えたジョブの実行終了通知を前記外部のジョブ実行装置から受信すると、その閾値を超えたジョブの後処理を前記後処理用ジョブキューに登録する、ことを特徴とする。
【００１０】
本発明に係る画像形成装置は、上記いずれかの発明のジョブ実行装置を搭載し、前記出力手段は、搭載された画像出力装置であり、前記前処理は、搭載された画像処理装置又は外部の画像処理装置の少なくとも一方を用いて実行される画像処理であり、前記後処理は、前記画像出力装置を用いて実行される印刷処理である、ことを特徴とする。
【発明の効果】
【００１３】
請求項１記載の発明によれば、情報を生成する前処理と、前処理により生成された情報を出力手段に出力させる後処理とを含むジョブを実行する際に出力手段の稼働率を従来に比して向上させることができる。
【００１５】
請求項１記載の発明によれば、情報を生成する前処理と、前処理により生成された情報を出力手段に出力させる後処理とを含むジョブを実行する際に出力手段の稼働率を従来に比して向上させることができる。
【００１６】
請求項２記載の発明によれば、出力手段の稼働率の低下を招く原因となりうるジョブの前処理を外部のジョブ実行装置に依頼することができる。
【００１７】
請求項３記載の発明によれば、情報を生成する前処理と、前処理により生成された情報を出力手段に出力させる後処理とを含むジョブを実行する際に出力手段の稼働率を従来に比して向上させることができる。
【図面の簡単な説明】
【００２０】
【図１】本発明に係る画像形成装置を有するジョブ実行システムの一実施の形態を示した全体構成図である。
【図２】本実施の形態における画像形成装置１０のハードウェア構成の一例を示した図である。
【図３】本実施の形態における画像形成装置１０及びクラウド６の機能ブロック構成の一例を示した図である。
【図４】本実施の形態におけるジョブ実行処理を示したフローチャートである。
【図５】本実施の形態におけるジョブ実行処理に含まれる画像処理を示したフローチャートである。
【図６】本実施の形態におけるジョブ実行処理に含まれる印刷処理を示したフローチャートである。
【図７】本実施の形態において受け付けたジョブのリストの一例を示した図である。
【図８Ａ】図７に示した各ジョブの予測画像処理時間Ｐ１〜Ｐ４及び予測印刷処理時間Ｏ１〜Ｏ４の長さの関係を時系列に並べて示した概念図である。
【図８Ｂ】図８Ａに示した各ジョブの各ジョブキューへの登録状況を示した図である。
【図９Ａ】図８Ａに対し、ジョブＪＰ２がクラウドを利用して実行することが決定された場合について各ジョブを時系列に並べて示した概念図である。
【図９Ｂ】図９Ａに示した各ジョブの各ジョブキューへの登録状況を示した図である。
【図１０Ａ】図９Ａにおいて、ジョブＪＰ１の実行が終了したときの各ジョブを時系列に並べて示した概念図である。
【図１０Ｂ】図１０Ａに示した各ジョブの各ジョブキューへの登録状況を示した図である。
【図１１Ａ】図１０Ａにおいて、ジョブＪＰ１，ＪＯ１，ＪＰ３が終了したときの各ジョブを時系列に並べて示した概念図である。
【図１１Ｂ】図１１Ａに示した各ジョブの各ジョブキューへの登録状況を示した図である。
【発明を実施するための形態】
【００２１】
以下、図面に基づいて、本発明の好適な実施の形態について説明する。
【００２２】
実施の形態１．
図１は、本発明に係る画像形成装置を有するジョブ実行システムの一実施の形態を示した全体構成図である。図１には、ＰＣ（パーソナルコンピュータ）２と画像形成装置１０とクラウド６とがネットワーク４を介して接続された構成が示されている。ＰＣ２と画像形成装置１０は、本発明のジョブ実行装置の一例として示されている。本実施の形態においては、画像形成装置１０をジョブ実行装置の一例として説明する。本実施の形態における画像形成装置１０は、スキャナ機能、印刷機能等複数の機能を有する装置であり、ＰＣ２から送られてきたジョブ又は画像形成装置１０のユーザインタフェースから入力された指示に基づくジョブを受け付け、画像処理や印刷処理等を実行する。クラウド６は、クラウド・コンピューティングを省略した呼称であり、本発明のジョブ実行装置からのジョブの実行依頼に従ってジョブを実行し、その実行結果を返す。なお、クラウド６は、外部のジョブ実行装置に相当する。クラウド６は、本発明のジョブ実行装置と同等の機能を有する必要はない。
【００２３】
なお、図１には、２台のＰＣ２と１台の画像形成装置１０を示したが、本発明は、ネットワーク４に直接又は間接的に接続される装置の種類、台数あるいは接続形態等はこれに限定されるものではない。また、ネットワーク４も便宜的に１つで構成しているが、画像形成装置１０がクラウド６にアクセス可能であれば、ネットワーク４の接続形態も図１に示した例に限定されるものではない。
【００２４】
図２は、本実施の形態における画像形成装置１０のハードウェア構成の一例を示した図である。画像形成装置１０は、上記の通り各種機能を搭載した装置であり、コンピュータを内蔵した装置である。図２において、ＣＰＵ１１は、ＲＯＭ１６に格納されたプログラムにしたがってＩＩＴ（Ｉｍａｇｅ  Ｉｎｐｕｔ  Ｔｅｒｍｉｎａｌ）１３やＩＯＴ（Ｉｍａｇｅ  Ｏｕｔｐｕｔ  Ｔｅｒｍｉｎａｌ）１４等本装置に搭載された各種機構の動作制御を行う。ＩＩＴ１３は、画像入力装置のことをいい、ユーザがセットした原稿を読み取り、電子データとしてＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）１８等に蓄積する。ＩＩＴ１３は、例えばスキャナにより実現してもよい。ＩＯＴ１４は、画像出力装置のことをいい、ＣＰＵ１１で実行される制御プログラムからの指示に従い出力用紙上に画像を印字する。ＩＯＴ１４は、例えばプリンタにより実現してもよい。アドレスデータバス２０は、ＣＰＵ１１の制御対象となる各種機構と接続してデータの通信を行う。操作パネル１２は、ユーザからの指示の受け付け、情報の表示を行う。本実施の形態では、操作パネル１２からの入力に応じてジョブが生成される。ＩＰＳ（Ｉｍａｇｅ  Ｐｒｏｃｅｓｓｉｎｇ  Ｓｙｓｔｅｍ）１５は、画像処理装置のことをいい、受け付けられたジョブに含まれる画像処理を実行する。ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１６は、本装置の制御や電子データの暗号、電子データの送受信に関する各種プログラムが格納されている。各種プログラムが実行されることで後述する各構成要素が所定の処理機能を発揮する。ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１７は、プログラム実行時のワークメモリや電子データ送受信時の通信バッファとして利用される。本実施の形態では、ジョブキューとして利用してもよい。ＨＤＤ１８は、ＩＩＴ１３を使用して読み取った電子文書などを格納する。ネットワークインタフェース（Ｉ／Ｆ）１９は、ネットワーク４を接続し、本装置が生成した電子データの送信、本装置宛に送信されてきた電子メールの受信、またブラウザ経由による本装置へのアクセスなどに利用される。本実施の形態では、ＰＣ２やクラウド６との間で情報交換を行う際に用いられる。
【００２５】
本実施の形態におけるＰＣ２は、ＣＰＵ、ＲＯＭ、ＲＡＭ、ＨＤＤ、マウスやキーボードなどの入力手段、ディスプレイ、ネットワークコントローラ等を搭載した汎用的なコンピュータにより実現されるため、本実施の形態では特に図示しない。
【００２６】
図３は、本実施の形態における画像形成装置１０及びクラウド６の機能ブロック構成の一例を示した図である。
【００２７】
本実施の形態における画像形成装置１０は、ジョブ受付部２１、ジョブ管理部２２、予測処理時間算出部２３、ジョブ実行部２４、ジョブ実行要求送信部２５、終了通知受信部２６、印刷部２７、制御部２８、ＩＰＳジョブキュー３１、ＩＯＴジョブキュー３２及びクラウドジョブキュー３３を有している。
【００２８】
ジョブ受付部２１は、操作パネル１２からのユーザ指示に従い生成されたジョブを受け付ける。あるいは、ＰＣ２から送信されてくるジョブを受け付けるようにしてもよい。制御部２８は、プログラムにより実現されうる各構成要素２１〜２７の全体制御を行う。
【００２９】
ところで、本実施の形態においては、情報を生成する前処理と、当該前処理により生成された情報を出力手段に出力させる後処理とが含まれているジョブを取り扱うものとする。この前処理と後処理との双方が含まれていない場合には、従前と同様に処理すればよい。本実施の形態の場合、画像処理が前処理に相当し、印刷処理が後処理に相当する。後処理は、出力手段として設けられたＩＯＴ１４を用いて実行されることを前提としている。前処理は、基本的にはＩＰＳ１５を用いて実行されるが、クラウド６などの外部の装置やシステムを用いて実行されてもよい。
【００３０】
ジョブ実行部２４は、ジョブキュー３１，３２に登録されているジョブを順番に実行する。本実施の形態の場合、ジョブ実行部２４に含まれる画像処理実行部３５は、ＩＰＳジョブキュー３１に登録されているジョブの画像処理を順番に実行し、ジョブ実行部２４に含まれる印刷処理実行部３６は、ＩＯＴジョブキュー３２に登録されているジョブの印刷処理を順番に実行する。印刷部２７は、印刷処理が実行されることにより画像処理にて生成された画像を印刷する。ジョブ管理部２２は、ジョブ受付部２１により受け付けられ、いずれかのジョブキュー３１〜３３に登録されたジョブの管理を行う。具体的な処理としては、ジョブ受付部２１により受け付けられたジョブに含まれる画像処理を実行させるためにジョブをＩＰＳジョブキュー３１に登録し、画像処理の実行終了後に当該ジョブに含まれる印刷処理を実行させるために当該ジョブをＩＯＴジョブキュー３２に登録する。更に、制御部２８からの指示に従い、クラウド６にて画像処理が実行されたジョブに含まれる印刷処理を実行させるために当該ジョブをＩＯＴジョブキュー３２に登録する。本発明の制御手段は、ジョブ管理部２２と制御部２８との連携により実現される。
【００３１】
予測処理時間算出部２３は、制御部２８からの指示に従い、ジョブ受付部２１により受け付けられたｎ（ｎは２以上の自然数）個のジョブについてそれぞれ、各ジョブにおいて実行されるべき処理を、ＩＰＳ１５を用いて実行される画像処理と、ＩＯＴ１４を用いて実行される印刷処理とに分解したときに、画像処理及び印刷処理それぞれの実行に要する予測処理時間を算出する。このように画像処理及び印刷処理それぞれの実行に要する負荷を表す指標値の一例として、本実施の形態においては、予測処理時間算出部２３に各処理の実行に要する（予測の）処理時間を算出させる。
【００３２】
制御部２８は、前述したように各構成要素２１〜２７の全体制御を行うが、更に予測処理時間算出部２３により算出された画像処理及び印刷処理の各予測処理時間を参照することにより、現時点において画像処理が実行されているｉ（１≦ｉ＜ｎ）番目のジョブの印刷処理の予測印刷処理時間と、ｉ番目以降のジョブの画像処理の予測画像処理時間との比較結果に応じてＩＰＳジョブキュー３１の登録内容を変更することで画像処理実行部３５におけるジョブの実行順序を制御する。なお、ＩＰＳジョブキュー３１の登録内容は、ジョブ管理部２２に指示することで変更される。ＩＰＳジョブキュー３１の登録内容の変更の一例として、ｉ番目のジョブの印刷処理より、ｉ＋１番目のジョブの画像処理の予測画像処理時間が長い場合に、ｉ＋１番目のジョブの画像処理の負荷が大きいものとして、ｉ＋１番目のジョブをＩＰＳジョブキュー３１から削除すると共に、ｉ＋１番目のジョブの画像処理の実行をクラウドジョブキュー３３に登録する。なお、ｉ＋１番目のジョブの画像処理の負荷が大きいというのは、ｉ番目のジョブの印刷処理により、ｉ＋１番目のジョブの画像処理の予測処理時間が長い場合という相対的なことであり、予測処理時間の絶対量の大小で判断されるものではない。
【００３３】
ジョブ実行要求送信部２５は、制御部２８からの指示に従い、クラウドジョブキュー３３に登録された画像処理の実行要求を送信することで、当該画像処理の実行を外部のジョブ実行装置の一例として設けられたクラウド６に指示する。終了通知受信部２６は、ジョブ実行要求送信部２５による実行要求に応じて実行した画像処理が終了したことを知らせるために、クラウド６が送信した終了通知を受信する。
【００３４】
ＩＰＳジョブキュー３１には、ジョブに含まれる処理のうち画像処理を実行するためのジョブが蓄積される。ＩＯＴジョブキュー３２には、ジョブに含まれる処理のうち印刷処理を実行するためのジョブが蓄積される。クラウドジョブキュー３３には、ＩＰＳジョブキュー３１と同様にジョブの画像処理部分が蓄積される。ジョブの画像処理は、ＩＰＳジョブキュー３１又はクラウドジョブキュー３３のいずれか一方に蓄積され、画像処理実行部３５又はクラウド６のいずれかにより処理が実行される。
【００３５】
画像形成装置１０における各構成要素２１〜２８は、画像形成装置１０内蔵のコンピュータに搭載されたＣＰＵ１１で動作するプログラム、画像形成装置１０に搭載された装置、あるいはプログラムと画像形成装置１０に搭載された各装置との協調動作により実現される。例えば、ジョブ受付部２１は、ジョブを受け付けるためのプログラムと操作パネル１２又はネットワークＩＦ１９などとの協調動作により実現してもよい。画像処理実行部３５は、ＩＩＴ１３に組み込まれた回路又は画像処理プログラムとＩＩＴ１３との協調動作により実現してもよい。印刷処理実行部３６は、ＩＯＴ１４に組み込まれた回路又は印刷処理プログラムとＩＯＴ１４との協調動作により実現してもよい。ジョブ実行要求送信部２５は、ネットワークＩＦ１９に組み込まれた回路又は送信処理プログラムとネットワークＩＦ１９との協調動作により実現してもよい。終了通知受信部２６は、ネットワークＩＦ１９に組み込まれた回路又は受信処理プログラムとネットワークＩＦ１９との協調動作により実現してもよい。
【００３６】
また、ＩＰＳジョブキュー３１、ＩＯＴジョブキュー３２及びクラウドジョブキュー３３は、ＲＡＭ１７又はＨＤＤ１８の記憶手段にて実現してもよい。
【００３７】
また、本実施の形態で用いるプログラムは、通信手段により提供することはもちろん、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭ等のコンピュータ読み取り可能な記録媒体に格納して提供することも可能である。通信手段や記録媒体から提供されたプログラムはコンピュータにインストールされ、コンピュータのＣＰＵがインストールプログラムを順次実行することで各種処理が実現される。
【００３８】
次に、本実施の形態におけるジョブ実行処理について図４〜図６に示したフローチャートを用いて説明する。
【００３９】
ジョブ受付部２１がｎ個のジョブをまとめて受け付けると（ステップ１０１）、ジョブ管理部２２は、これらのジョブを受け付けた順にＩＰＳジョブキュー３１に登録する（ステップ１０２）。受け付けたジョブがＩＰＳジョブキュー３１に登録されると、予測処理時間算出部２３は、制御部２８からの指示に従い、各ジョブを画像処理と印刷処理とに分解し、画像処理及び印刷処理それぞれの実行に要する予測処理時間を算出する（ステップ１０３）。本実施の形態では、画像処理の実行に要する予測画像処理時間と印刷処理の実行に要する予測印刷処理時間とを予測処理時間と総称する。なお、本実施の形態では、処理時間の長短は、処理の実行に要する負荷の大小に依存することを前提にしている。
【００４０】
図７には、本実施の形態において受け付けたジョブのリストの一例が示されている。ジョブ受付部２１が受け付けたジョブＪ１〜Ｊ４は、図７に示した順番１〜４でＩＰＳジョブキュー３１に登録される。図７には、各ジョブにおいて処理対象となる電子文書のファイル名、当該文書の印刷部数、各文書のページ数、文書の種類が示されている。これらの文書の情報に加えて、図７には、予測処理時間算出部２３により算出された各ジョブにおける画像処理に要する予測画像処理時間Ｐ１〜Ｐ４と印刷処理に要する予測印刷処理時間Ｏ１〜Ｏ４とが示されている。つまり、ジョブＪ１の予測画像処理時間はＰ１、ジョブＪ１の予測印刷処理時間はＯ１ということになる。なお、各予測処理時間は、図７に示した部数やページ数などの他に、出力用紙サイズ、解像度、原稿サイズ、画像処理種別等のジョブに関する属性値を参照して算出してもよい。
【００４１】
ところで、本実施の形態においては、ＩＰＳ１５を用いて画像処理を実行するためのジョブキューとしてＩＰＳジョブキュー３１と、ＩＯＴ１４を用いて印刷処理を実行するためのジョブキューとしてＩＯＴジョブキュー３２と、を別個に設けている。更に、外部のクラウド６を用いて画像処理を実行するためのジョブキューとしてクラウドジョブキュー３３を設けている。本実施の形態においては、ＩＰＳジョブキュー３１のジョブリストをＪＬ＿Ｐと、ＩＯＴジョブキュー３２のジョブリストをＪＬ＿Ｏと、クラウドジョブキュー３３のジョブリストをＪＬ＿Ｃと、それぞれ表すことにする。そして、いずれかのジョブキュー３１〜３３に登録されるジョブＪｉ（１≦ｉ≦ｎ）の画像処理部分をＪＰｉ、印刷処理部分をＪＯｉと表すことにする。但し、説明を簡略するために、Ｊｉの画像処理部分を「ジョブＪＰｉ」と、ジョブＪｉの印刷処理部分を「ジョブＪＯｉ」と称する場合もありうる。
【００４２】
図８Ａは、図７に示した各ジョブの予測画像処理時間Ｐ１〜Ｐ４及び予測印刷処理時間Ｏ１〜Ｏ４の長さの関係を時系列に並べて示した概念図である。また、図８Ｂは、図８Ａに示した各ジョブの各ジョブキューへの登録状況を示した図である。図８Ｂを参照すると、ＩＰＳジョブキュー３１には、ジョブの画像処理ＪＰ１〜ＪＰ４がこの順番に登録され、この時点では、先頭のジョブＪＰ１に対する処理は終了していないことがわかる。ジョブの印刷処理ＪＯｉは、当該ジョブの画像処理ＪＰｉの実行結果を印刷する処理であるから、いずれのジョブの画像処理も終了していないこの時点（Ｔ０〜Ｔ１の間のいずれかの時点）では、ＩＯＴジョブキュー３２にはジョブが何ら蓄積されていない。また、以降の処理で画像処理の実行先を決定するまでは、ジョブの画像処理ＪＰｉはＩＰＳジョブキュー３１に蓄積されるので、この時点では、クラウドジョブキュー３３にはジョブが何ら蓄積されていない。このジョブが蓄積されていない状態を図８Ｂでは“ＮＵＬＬ”と図示している。以降の図においても同様に図示する。なお、図８Ｂにおいて、ジョブリストには、ジョブに加えて予測処理時間を括弧内に示すことにする。
【００４３】
図８Ａには次のことが示されている。すなわち、画像処理の実行に用いられるＩＰＳ１５は、ＩＰＳジョブキュー３１に登録されている１番目のジョブＪ１の画像処理ＪＰ１（予測画像処理時間Ｐ１）の実行後、続けて２番目のジョブＪ２の画像処理ＪＰ２（予測画像処理時間Ｐ２）を実行する。そして、続けて３番目のジョブＪ３の画像処理ＪＰ３（予測画像処理時間Ｐ３）及び４番目のジョブＪ４の画像処理ＪＰ４（予測画像処理時間Ｐ４）を実行する。この画像処理の実行の際、ＩＰＳ１５の待ち時間はない。
【００４４】
一方、処理の実行に用いられるＩＯＴ１４も同様に、１番目のジョブＪ１の印刷処理ＪＯ１（予測印刷処理時間Ｏ１）から４番目のジョブＪ４の印刷処理ＪＯ４（予測印刷処理時間Ｏ４）まで順番にジョブを実行する。しかしながら、この例の印刷処理の場合、２番目のジョブＪＯ２の予測印刷処理時間Ｏ２が直前の１番目のジョブの予測画像処理時間Ｏ１より長いため、１番目のジョブの印刷処理ＪＯ１を実行してから２番目のジョブの印刷処理ＪＯ２を実行するまでの間にＩＯＴ１４に待ち時間ＷＴ（＝Ｔ３−Ｔ１＋Ｏ１）が発生してしまう。すなわち、ジョブの受付順にジョブを処理していくと、各ジョブの画像処理及び印刷処理の各時間長によってＩＯＴ１４に待ち時間が発生してしまい、ＩＯＴ１４の稼働率の低下につながりかねない。特に、ＩＯＴ１４の稼働率は、ｉ（１≦ｉ＜ｎ）番目のジョブの印刷処理の予測印刷処理時間と、直後のｉ＋１番目のジョブの画像処理の予測画像処理時間との長さの関係に影響を受けやすい。そこで、本実施の形態においては、ステップ１０３において算出した予測処理時間を参照して、ＩＯＴ１４における待ち時間の発生の有無を事前に検証し、その検証結果に基づいてＩＰＳジョブキュー３１にいったん登録されたジョブについて画像処理の実行先を改めて決定するようにした（ステップ１０４）。この処理について、更に詳述する。
【００４５】
すなわち、制御部２８は、ＩＰＳジョブキュー３１の先頭に登録されているｉ（１≦ｉ＜ｎ）番目のジョブの予測画像処理時間と、ｉ＋１番目のジョブの画像処理の予測画像処理時間とを比較する。なお、ＩＰＳジョブキュー３１の先頭に登録されているジョブＪｉは、現時点において画像処理の実行がすでに開始されているとも言える。図８に示した例だと、ジョブＪ１の予測印刷処理時間Ｏ１と、ジョブＪ２の予測画像処理時間Ｐ２とを比較する。その比較の結果、Ｏ１≧Ｐ２であれば、ＩＯＴ１４の待ち時間は発生しないので、ジョブＪＰ２をＩＰＳジョブキュー３１に登録したままとし、ＩＰＳ１５に実行させる。すなわち、画像処理の実行先をＩＰＳ１５と決定する。
【００４６】
一方、予測処理時間の比較の結果、Ｏ１＜Ｐ２であれば、ＩＯＴ１４の待ち時間は、図８Ａに例示したように発生することになる。つまり、ジョブＪＰ２をＩＰＳ１５に実行させると、ＩＯＴ１４の待ち時間が発生するので、この場合、ジョブＪＰ２をクラウド６に実行させる。すなわち、画像処理の実行先をクラウド６と決定する。この場合、ジョブＪＰ２は、後述するようにＩＰＳジョブキュー３１からクラウドジョブキュー３３へ移動される。より詳細には、ＩＰＳジョブキュー３１から削除され、クラウドジョブキュー３３に登録されることになる。なお、このジョブの移動は、制御部２８からの指示に従いジョブ管理部２２により行われる。
【００４７】
本実施の形態では、以上のようにｉ番目の印刷処理の予測印刷処理時間と、ｉ＋１番目のジョブの画像処理の予測画像処理時間との比較結果に応じて画像処理の実行先を決定する。この決定内容は、追って説明する画像処理の実行時に使用するので、ＲＡＭ１７等に一時保存しておく。なお、以降の説明では、受け付けたジョブＪ１〜Ｊ４のうちジョブＪ２の画像処理ＪＰ２のみが直前のジョブＪ１の印刷処理ＪＯ１の処理時間より長いために画像処理の実行先がクラウド６と決定されたものとして説明する。ＩＰＳジョブキュー３１の登録内容は、ジョブＪＰ２が削除されたことで変更され、画像処理実行部３５は、ＩＰＳジョブキュー３１において変更された並び順でジョブＪＰｉを実行することになる。このときの状態を図９Ａに示す。
【００４８】
以上のようにして、受け付けたジョブＪ１〜Ｊ４に対し、画像処理の実行先が決定されると、ジョブ実行部２４は、制御部２８からの指示に従い、画像処理及び印刷処理の実行を開始する（ステップ１０５，１０６）。ただ、画像処理の実行結果を印刷する印刷処理は、実行が開始されても、ＩＯＴジョブキュー３２にジョブが登録されるまでは待機状態である。なお、各処理の実行開始は、どちらが先でもよい。
【００４９】
次に、本実施の形態における画像処理について図５に示したフローチャートを用いて説明する。
【００５０】
まず、制御部２８は、ジョブを識別するための変数ｉを０に初期化する（ステップ２０１）。続いて、変数ｉに１を加算して、処理対象とするジョブを特定する（ステップ２０２）。次に、前述したステップ１０４において決定した画像処理の実行先を参照し、当該ジョブＪＰｉの実行先がＩＰＳ１５の場合（ステップ２０３でＮ）、画像処理実行部３５は、ＩＰＳジョブキュー３１のジョブリストの先頭に登録されているジョブＪｉの画像処理ＪＰｉを実行する（ステップ２０４）。そして、画像処理ＪＰｉが終了すると、ジョブ管理部２２は、ジョブＪｉの画像処理ＪＰｉをＩＰＳジョブキュー３１のジョブリストから削除すると共に、ジョブＪｉの印刷処理ＪＯｉをＩＯＴジョブキュー３２のリストに登録する（ステップ２０５）。図９Ａの設定例に従うと、ジョブＪＰ１は、ＩＰＳ１５を用いて実行される。
【００５１】
続いて、ＩＰＳジョブキュー３１は空“ＮＵＬＬ”ではないので（ステップ２０６でＮ）、ステップ２０２に戻り、変数ｉに１を加算して、処理対象とするジョブＪ２を特定する（ステップ２０２）。次に、前述したステップ１０４において決定した画像処理の実行先を参照する。本実施の形態の設定例では、ジョブＪＰ２の実行先はクラウド６と決定されている。よって、ジョブＪＰ２の実行先がクラウド６の場合（ステップ２０３でＹ）、制御部２８は、画像処理ＪＰ２の実行をクラウド６に指示することになるが、そのために、ジョブ管理部２２は、制御部２８からの指示に従い、ジョブＪＰ２をＩＰＳジョブキュー３１のジョブリストから削除し、クラウドジョブキュー３３のジョブリストに登録する（ステップ２０７）。続いて、ジョブ実行要求送信部２５は、制御部２８からの指示に従い、ジョブ実行要求をクラウド６へ向けて送信することでジョブＪＰ２の実行を指示する（ステップ２０８）。ジョブ実行要求には、ジョブＪＰ２の実行内容を特定する情報、画像形成装置１０のＩＰアドレスやメールアドレスなどジョブ実行の依頼元を特定する情報、ジョブの実行結果の返信方法等、ジョブＪＰ２の実行及び実行結果の返信に必要な情報が含まれている。
【００５２】
クラウド６において、要求受付部６１が画像形成装置１０からのジョブ実行要求を受信すると、ジョブ実行部６２がその要求に応じてジョブＪＰ２を実行する。そして、終了通知送信部６３は、ジョブＪＰ２の実行の終了をジョブ実行依頼元の画像形成装置１０へ通知する。この通知に関しては、ジョブの実行結果を返すことで、これを終了通知としてもよい。あるいは、終了通知のみを返し、実行結果は、画像形成装置１０からの送信要求に応じて別途返すようにしてもよい。この終了通知と実行結果とのやり取りは、画像形成装置１０とクラウド６との間で予め決めておいてもよいし、画像形成装置１０がクラウド６にジョブ実行要求時に指定してもよい。
【００５３】
続いて、ＩＰＳジョブキュー３１は空“ＮＵＬＬ”ではないので（ステップ２０６でＮ）、ステップ２０２に戻り、変数ｉに１を加算して、処理対象とするジョブＪ３を特定する（ステップ２０２）。本実施の形態では、ジョブＪＰ３、更にはジョブＪＰ４もＩＰＳ１５を用いて実行されるものとしている。つまり、ジョブＪＰ３，ジョブＪＰ４に関しては、ジョブＪＰ１と同じ処理内容となるので、説明を省略する。
【００５４】
このようにして、ＩＰＳジョブキュー３１が空“ＮＵＬＬ”になると（ステップ２０６でＹ）、画像処理は終了する。
【００５５】
図９Ａは、図８Ａに対し、ジョブＪＰ２がクラウド６を利用して実行することが決定された場合について各ジョブを時系列に並べて示した概念図である。図８Ａと比較すると理解できるように、ジョブＪＰ２の実行にクラウド６を利用するようにしたためＩＯＴ待ち時間ＷＴが消失する。図９Ｂは、ジョブＪＰ２の実行にクラウド６を利用する場合のＩＰＳジョブキュー３１とクラウドジョブキュー３３の各ジョブリストを示した。図９Ｂに示したように、ジョブＪＰ２は、ＩＰＳジョブキュー３１からクラウドジョブキュー３３に移されたようになる。
【００５６】
図１０Ａは、図９Ａにおいて、ジョブＪ１の画像処理ＪＰ１の実行が終了したときの各ジョブを時系列に並べて示した概念図である。図１０Ａにおいては、ジョブＪＰ１（予測画像処理時間Ｐ１）が終了したことを示すために破線で図示している。そして、図１０Ｂは、ジョブＪ１の画像処理ＪＰ１がＩＰＳジョブキュー３１から削除され、当該ジョブＪ１の印刷処理ＪＯ１がＩＯＴジョブキュー３２のジョブリストに登録された状態を示した図である。これは、ｉ＝１のときのステップ２０５が終了し、更にｉ＝２のときのステップ２０７が終了した時点の各ジョブキュー３１〜３３の登録状態を示している。
【００５７】
次に、本実施の形態における印刷処理について図６に示したフローチャートを用いて説明する。
【００５８】
まず、制御部２８は、ジョブを識別するための変数ｉを０に初期化する（ステップ３０１）。続いて、変数ｉに１を加算して、処理対象とするジョブを特定する（ステップ３０２）。次に、印刷処理ＪＯｉがＩＯＴジョブキュー３２に存在しているかを確認し、存在していれば（ステップ３０３でＹ）、印刷処理実行部３６は、ＩＯＴジョブキュー３２のジョブリストの先頭に登録されているジョブＪｉの印刷処理ＪＯｉを実行する（ステップ３０４）。そして、印刷処理ＪＯｉが終了すると、ジョブ管理部２２は、ジョブＪｉの印刷処理ＪＯｉをＩＯＴジョブキュー３２のジョブリストから削除する（ステップ３０５）。ｉ＝１の場合、すなわちジョブＪＯ１は、以上のようにして印刷処理が実行される。
【００５９】
ステップ３０２に戻り、変数ｉに１を加算して、処理対象とするジョブを特定する（ステップ３０２）。ｉ＝２の場合、ＪＯ２がＩＯＴジョブキュー３２に存在されているかを確認する。なお、この時点では、まだジョブＪＰ２の終了通知を確認できていないためにジョブＪＯ２がＩＯＴジョブキュー３２に登録されていないことにする（ステップ３０３でＮ）。続いて、ジョブＪＰ２がクラウドジョブキュー３３に存在しているかを確認する。これは、前述したように、印刷処理ＪＰ２の実行をクラウド６に依頼し、また前述したジョブＪＰ２が終了していないという条件のもとでは、ジョブＪＰ２はクラウドジョブキュー３３に存在しているはずである。この場合（ステップ３０６でＹ）、制御部２８は、続いてジョブＪＰ２の実行が終了しているのか確認する。これは、終了通知受信部２６が終了通知送信部６３から送信された終了通知をすでに受信していれば、終了していたことになる。なお、終了通知受信部２６がこの時点で、ジョブＪＰ２の実行が終了しているのかをクラウド６に問い合わせるようにしてもよい。
【００６０】
終了通知受信部２６からの終了通知を受けていないことで、ジョブＪＰ２の実行が終了していない場合（ステップ３０７でＮ）、ステップ３０２に戻る。
【００６１】
一方、終了通知受信部２６からの終了通知を受けたことで、ジョブＪＰ２の実行が終了していたことを確認した場合（ステップ３０７でＹ）、ジョブ管理部２２は、ジョブＪ２の画像処理ＪＰ２をクラウドジョブキュー３３から削除すると共に、ジョブＪ２の印刷処理ＪＯ２をＩＯＴジョブキュー３２に登録する（ステップ３０８）。その後は、ＪＯ１の場合と同様に、印刷処理実行部３６は、ＩＯＴジョブキュー３２のジョブリストの先頭に登録されているジョブＪ２の印刷処理ＪＯ２を実行し（ステップ３０４）、その印刷処理ＪＯ２が終了すると、ジョブ管理部２２は、ジョブＪ２の印刷処理ＪＯ２をＩＯＴジョブキュー３２のジョブリストから削除する（ステップ３０５）。
【００６２】
ステップ３０２に戻り、変数ｉに１を加算して、処理対象とするジョブを特定する（ステップ３０２）。ｉ＝３の場合、ジョブＪ３の画像処理ＪＰ３が終了し、ジョブＪ３の印刷処理ＪＯ３がＩＯＴジョブキュー３２の先頭に登録されていれば、前述したジョブＪＯ１と同様に処理される（ステップ３０３でＹ，３０４，３０５）。あるいは、ジョブＪ３の画像処理ＪＰ３がまだ終了していなければ、ジョブＪ３の印刷処理ＪＯ３は、ＩＯＴジョブキュー３２に登録されていないし（ステップ３０３でＮ）、クラウドジョブキュー３３にも登録されていない（ステップ３０６でＮ）。更に、受け付けたジョブの数（ｎ＝４）にも達していないので（ステップ３０９でＮ）、ジョブＪ３に関しては、ＩＯＴ１４による印刷処理はまだ実行できる状態にない。よって、処理はステップ３０２に戻る。
【００６３】
続いて、変数ｉに１を加算して、処理対象とするジョブを特定する（ステップ３０２）。ｉ＝４の場合、ジョブＪＰ３が終了していないので、ジョブＪＰ４も終了しておらず、よって印刷処理はまだ実行できる状態にない。ここで、ｉとＮは、共に４で等しい値である（ステップ３０９でＹ）。ＪＬ＿Ｏが空“ＮＵＬＬ”でない場合には（ステップ３１０でＮ）、ステップ３０１に戻り、前述した処理を繰り返し実行する。
【００６４】
図１１Ａは、図１０Ａにおいて、ジョブＪ１の画像処理ＪＰ１及び印刷処理ＪＯ１、ジョブＪ３の画像処理ＪＰ３が終了したときの各ジョブを時系列に並べて示した概念図である。なお、図１１Ａにおいても、図１０Ａと同様、終了した画像処理又は印刷処理は破線で図示している。まず、図１１Ａによると、画像処理ＪＰ１，ＪＰ３が終了しているので、図１１Ｂに示したように、ＩＰＳジョブキュー３１には、ジョブＪＰ４だけが存在している。そして、印刷処理ＪＯ１が終了しているので、図１１Ｂに示したように、ＩＯＴジョブキュー３２にはＪＯ１が登録されていない。一方、ジョブＪＯ３は終了していないので、ＩＯＴジョブキュー３２にはジョブＪＯ３が存在する。なお、図１１Ｂには、ジョブＪＰ３の後にジョブＪＰ２が終了したので、ＩＯＴジョブキュー３２には、ジョブＪＯ３がジョブＪＯ２より前に登録されているが、本来の並び順になるように、ジョブＪＰ３の後にジョブＪＰ２が終了した場合でも、ジョブＪＯ２をジョブＪＯ３の前に登録するようにしてもよい。
【００６５】
更に、図１１Ａでは、図１０Ａと異なり、まだ処理が終了していないジョブＪＯ２（予測印刷処理時間Ｏ２）が示されていることから、現時点では、クラウド６によるジョブＪＰ２の実行が終了していることも把握できる。また、ジョブＪＯ２はまだ終了していないので、ジョブＪＯ３と同様、ＩＯＴジョブキュー３２に存在している。なお、図１１Ａ，図１１Ｂに示されているように、クラウド６によるジョブＪＰ２は、ＩＰＳ１５によるジョブＪＰ３の実行終了後に終了したことが把握できる。
【００６６】
実施の形態２．
上記実施の形態１においては、ジョブがＩＰＳジョブキュー３１に登録された順番に実行されることを前提としつつ、ジョブＪｉ（ｉは自然数）の印刷処理ＪＯｉよりジョブＪｋ（ｋ＝ｉ＋１）の画像処理ＪＰｋの方が直前の予測処理時間が長い場合には、ジョブＪｋの画像処理ＪＰｋの実行をクラウド６に依頼するようにした。
【００６７】
本実施の形態では、上記前提を前提とはせずに、受け付けたジョブを画像処理の実行先を決定する前に並び替えるようにしたことを特徴としている。具体的には、図４におけるステップ１０３とステップ１０４の間に次の処理を行う。
【００６８】
まず、受け付けたジョブＪ１〜Ｊ４のうち先頭のジョブＪ１の画像処理ＪＰ１に関しては、実行が開始されているなどによって最初にＩＰＳ１５において実行されることにすると、制御部２８は、このＪ１の印刷処理ＪＯ１と、まだ実行されていない残りのジョブ２，３，４の画像処理ＪＰ２，ＪＰ３，ＪＰ４との差分を求め、更に各差分の絶対値を求める。そして、絶対値が最小値となるジョブを、ジョブＪ１に続いて実行するジョブとして決定する。つまり、印刷処理ＪＯ１の予測印刷処理時間と最も近い予測画像処理時間となるジョブが次に実行するジョブとして選択される。なお、この選択されたジョブを例えばＪ３とする。
【００６９】
次に、制御部２８は、上記と同様に、このＪ３の印刷処理ＪＯ３と、ジョブＪ１とＪ３を除くまだ実行されていない残りのジョブＪ２，Ｊ４の各画像処理との差分を求め、更に各差分の絶対値を求める。そして、絶対値が最小値となるジョブを、Ｊ３に続いて実行するジョブとして決定する。つまり、印刷処理ＪＯ３の予測印刷処理時間と最も近い予測画像処理時間となるジョブが選択される。
【００７０】
以上の処理を残りが１つになるまで繰り返し行う。そして、残った１つのジョブは最後に実行されるジョブとして決定される。
【００７１】
以上のようにして、実行されるジョブの順番が決定されると、続いて、画像処理の実行先を決定する。本実施の形態では、実施の形態１と異なり、上記処理にて算出した絶対値が予め決められた閾値より大きい値となったときには後段のジョブの画像処理の実行先をクラウド６と決定する。つまり、｜ＪＯｊ−ＪＰｋ｜＞ｔｈとなる場合に、Ｊｋの画像処理ＪＰｋの実行先をクラウド６とする。但し、ｊとｋは自然数であり、ｔｈは閾値である。画像処理及び印刷処理に関しては、実施の形態１と同じなので説明を省略する。
【００７２】
前述したように、本実施の形態において、画像処理の結果を印刷する印刷処理は、ジョブを受け付けた画像形成装置１０のＩＯＴ１４を用いて実行することを前提としている。従って、画像処理をクラウド６に依頼したジョブＪ２の印刷処理ＪＯ２を含めて全ての印刷処理ＪＯ１〜ＪＯ４は、ＩＯＴジョブキュー３２に登録され、ＩＯＴ１４によって処理される。ただ、本実施の形態は、ジョブの印刷処理（後処理）を実行する出力手段としてのＩＯＴ１４の稼働率の向上を図るためのものである。本実施の形態では、出力手段を複数設けることは前提としていないが、出力手段が画像形成装置１０に内蔵されていることは必須ではない。
【００７３】
また、本実施の形態では、ジョブ実行装置として画像形成装置１０を例にして説明した。従って、ジョブに含まれる処理は、画像データの生成、加工、変換等画像データを取り扱う画像処理と、生成した画像データを印刷する印刷処理とが基本的には含まれている。従って、本実施の形態においては、画像形成装置１０において取り扱うジョブに含まれる処理を、画像処理と印刷処理に大別し、画像処理を前処理として、印刷処理を後処理として取り扱うようにした。但し、本実施の形態においては、後処理において用いる出力手段の稼働率の向上を図るものなので、出力手段を用いない前処理は、更に複数に分解されていてもよい。
【００７４】
また、前処理及び後処理それぞれの実行に要する負荷を表す指標値として時間という指標を用いたが、これに限定するものではなく負荷の度合いを表現しうる指標であれば、他のデータを用いてもよい。
【００７５】
また、本実施の形態では、実行中の処理はそのまま継続して実行されることにしたが、予測処理時間を比較した結果、画像処理の実行途中でも、中断してでもクラウド６に当該画像処理の実行を依頼した方がよいと判断したときには、クラウド６に当該画像処理の実行を指示する。この際、処理効率を判断材料として、途中まで行った画像処理の途中結果をクラウド６に送ってもよいし、クラウド６側において最初からやり直してもよい。
【００７６】
また、上記説明では、ジョブ受付部２１がまとめて受け付けたジョブを対象に説明をしたが、ジョブの実行中に他のジョブを追加して受け付けた場合には、それらのジョブも前述しジョブ実行処理の対象に付け加えてもよい。
【００７７】
また、出力手段の出力形態としては、印刷部２７による印刷物を例にしたが、例えば電子ファイルなどの電子データを後処理の結果得られるものとしてもよい。
【符号の説明】
【００７８】
２  ＰＣ（パーソナルコンピュータ）、４  ネットワーク、６  クラウド、１０  画像形成装置、１１  ＣＰＵ、１２  操作パネル、１３  ＩＩＴ、１４  ＩＯＴ、１５  ＩＰＳ、１６  ＲＯＭ、１７  ＲＡＭ、１８  ＨＤＤ、１９  ネットワークインタフェース（Ｉ／Ｆ）、２０  アドレスデータバス、２１  ジョブ受付部、２２  ジョブ管理部、２３  予測処理時間算出部、２４  ジョブ実行部、２５  ジョブ実行要求送信部、２６  終了通知受信部、２７  印刷部、２８  制御部、３１  ＩＰＳジョブキュー、３２  ＩＯＴジョブキュー、３３  クラウドジョブキュー、３５  画像処理実行部、３６  印刷処理実行部、６１  要求受付部、６２  ジョブ実行部、６３  終了通知送信部。
【図１】
0005716316.tif 000002
【図２】
0005716316.tif 000003
【図３】
0005716316.tif 000004
【図４】
0005716316.tif 000005
【図５】
0005716316.tif 000006
【図６】
0005716316.tif 000007
【図７】
0005716316.tif 000008
【図８Ａ】
0005716316.tif 000009
【図８Ｂ】
0005716316.tif 000010
【図９Ａ】
0005716316.tif 000011
【図９Ｂ】
0005716316.tif 000012
【図１０Ａ】
0005716316.tif 000013
【図１０Ｂ】
0005716316.tif 000014
【図１１Ａ】
0005716316.tif 000015
【図１１Ｂ】
0005716316.tif 000016