IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 富士ゼロックス株式会社の特許一覧

<>
  • 特開-情報処理装置及びプログラム 図1
  • 特開-情報処理装置及びプログラム 図2
  • 特開-情報処理装置及びプログラム 図3
  • 特開-情報処理装置及びプログラム 図4
  • 特開-情報処理装置及びプログラム 図5
  • 特開-情報処理装置及びプログラム 図6
  • 特開-情報処理装置及びプログラム 図7
  • 特開-情報処理装置及びプログラム 図8
  • 特開-情報処理装置及びプログラム 図9
  • 特開-情報処理装置及びプログラム 図10
  • 特開-情報処理装置及びプログラム 図11
  • 特開-情報処理装置及びプログラム 図12
  • 特開-情報処理装置及びプログラム 図13
  • 特開-情報処理装置及びプログラム 図14
  • 特開-情報処理装置及びプログラム 図15
  • 特開-情報処理装置及びプログラム 図16
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024030636
(43)【公開日】2024-03-07
(54)【発明の名称】情報処理装置及びプログラム
(51)【国際特許分類】
   G06Q 10/109 20230101AFI20240229BHJP
【FI】
G06Q10/10 340
【審査請求】未請求
【請求項の数】11
【出願形態】OL
(21)【出願番号】P 2022133642
(22)【出願日】2022-08-24
(71)【出願人】
【識別番号】000005496
【氏名又は名称】富士フイルムビジネスイノベーション株式会社
(74)【代理人】
【識別番号】110001210
【氏名又は名称】弁理士法人YKI国際特許事務所
(72)【発明者】
【氏名】西川 真史
【テーマコード(参考)】
5L049
【Fターム(参考)】
5L049AA13
(57)【要約】
【課題】印刷機の給紙が他の印刷機の給紙を遅らせる事態が生じることを防ぐ。
【解決手段】
ジョブ受付モジュール102は、複数のジョブを受け付ける。状況検知モジュール104は、各印刷機200の用紙残量を検知する。ジョブ選択モジュール106は、各ジョブの用紙使用量、及び、各ジョブを各印刷機200で印刷する場合の印刷レート又は印刷時間を計算する。ジョブ選択モジュール106は、例えば、各印刷機200へのジョブの割り当てパターンをランダムに生成し、そのパターンを用いた場合の各印刷機200の給紙タイミングを計算する。ジョブ選択モジュール106は、給紙タイミング同士の互いに適切にずれる割り当てパターンが見つかるまで、割り当てパターンのランダム生成を繰り返す。
【選択図】図1
【特許請求の範囲】
【請求項1】
プロセッサを備え、
前記プロセッサは、
複数の印刷機の給紙タイミングが互いにずれるように、前記複数の印刷機に対するジョブの割り当てを実行する、
ことを特徴とする情報処理装置。
【請求項2】
前記プロセッサは、
前記複数の印刷機の給紙タイミング同士の間隔が閾値以上となるように、前記ジョブの割り当てを実行する、
ことを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記プロセッサは、
前記複数の印刷機の各々の用紙残量と各ジョブについての用紙消費速度とに基づき、前記複数の印刷機へのジョブの割り当てパターンのうち、前記複数の印刷機の給紙タイミングが互いにずれる割り当てパターンを求め、求めた割り当てパターンに従って前記複数の印刷機に対するジョブの割り当てを実行する、
ことを特徴とする請求項1に記載の情報処理装置。
【請求項4】
前記プロセッサは、
前記複数の印刷機の各々について、当該印刷機の用紙残量が0に達しない範囲で所定の割り当てポリシーに従って当該印刷機に割り当てるジョブを選択する第1選択処理を実行し、
前記第1選択処理の後で前記複数の印刷機のいずれにも割り当てられずに残ったジョブの中から、前記複数の印刷機の給紙タイミングが互いにずれるように、前記複数の印刷機の各々に割り当てるジョブを選択する、
ことを特徴とする請求項1に記載の情報処理装置。
【請求項5】
前記プロセッサは、
前記複数の印刷機の給紙順序を規定する情報を取得し、
前記各印刷機の前記給紙タイミングが前記給紙順序の順に到来するよう前記複数の印刷機に対するジョブの割り当てを実行する、
ことを特徴とする請求項1に記載の情報処理装置。
【請求項6】
前記プロセッサは、
前記複数の印刷機において印刷を実行している時点で、前記複数の印刷機それぞれの給紙タイミングまでの残り時間、又は当該印刷機のその時点での用紙残量を表示装置に表示するための表示処理を実行する、
ことを特徴とする請求項1に記載の情報処理装置。
【請求項7】
前記表示処理は、前記複数の印刷機に対してジョブを割り当てながら印刷を実行している時点で実行される、
ことを特徴とする請求項6に記載の情報処理装置。
【請求項8】
前記表示処理では、前記複数の印刷機の配置を示すマップ上に、前記複数の印刷機の各々に対応付けて、当該印刷機についての前記残り時間又は前記用紙残量を表示する、
ことを特徴とする請求項6に記載の情報処理装置。
【請求項9】
前記プロセッサは、
1つのジョブを複数に分割し、
分割後の複数のジョブを対象として、複数の印刷機の給紙タイミングが互いにずれるようにジョブの割り当てを実行する、
ことを特徴とする請求項1に記載の情報処理装置。
【請求項10】
前記プロセッサは、
前記複数の印刷機に対するジョブの割り当てパターンの入力をユーザから受け付け、
受け付けた前記割り当てパターンにより、前記複数の印刷機の給紙タイミングが互いにずれたものとなる場合には、その割り当てパターンに従って前記複数の印刷機に対するジョブの割り当てを実行する、
ことを特徴とする請求項1に記載の情報処理装置。
【請求項11】
コンピュータに、
複数の印刷機の給紙タイミングが互いにずれるように、前記複数の印刷機に対するジョブの割り当てを実行する、
処理を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置及びプログラムに関する。
【背景技術】
【0002】
複数の印刷機を運用している場合の、印刷機に対する給紙タイミングを決定する方法として、特許文献1に開示されるものがある。
【0003】
特許文献1には、印刷速度と用紙残量に基づいて用紙補充の推奨タイミングを決定する方法が開示されている。1つの方法では、まず全てのプリンタの印刷速度と用紙残量を求める。次に、全てのプリンタに関して、少なくとも1つの給紙トレイに用紙切れが生じる時刻T1を求める。また少なくとも1つのプリンタに関して、全ての給紙トレイで用紙切れが発生する時刻T2を求める。そして、T1<T2のとき、T1を用紙補充推奨時刻に決定する。またT2≦T1のとき、T2よりも早く到来する用紙切れ発生時刻のうち最も遅く到来する用紙切れ発生時刻をT3として用紙補充推奨時刻に決定する。特許文献1には、その方法により、あるプリンタの全ての給紙トレイに用紙切れが生じてそのプリンタの印刷動作が中断してしまうこと、が回避ないし抑制される旨が記載されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2013-3995号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
作業員がある印刷機に対して給紙を行っている間に別の印刷機の用紙が切れると、前者の印刷機の給紙が終わるまでその作業員は後者の印刷機の給紙ができない。このため、後者の印刷機の給紙は、前者の給紙の完了待ちの分だけ遅れてしまい、後者の不稼働時間が長くなる。
【0006】
本発明は、印刷機の給紙が他の印刷機の給紙を遅らせる事態が生じることを防ぐことを目的とする。
【課題を解決するための手段】
【0007】
請求項1に係る発明は、プロセッサを備え、前記プロセッサは、複数の印刷機の給紙タイミングが互いにずれるように、前記複数の印刷機に対するジョブの割り当てを実行する、ことを特徴とする情報処理装置である。
【0008】
請求項2に係る発明は、前記プロセッサは、前記複数の印刷機の給紙タイミング同士の間隔が閾値以上となるように、前記ジョブの割り当てを実行する、ことを特徴とする請求項1に記載の情報処理装置である。
【0009】
請求項3に係る発明は、前記プロセッサは、前記複数の印刷機の各々の用紙残量と各ジョブについての用紙消費速度とに基づき、前記複数の印刷機へのジョブの割り当てパターンのうち、前記複数の印刷機の給紙タイミングが互いにずれる割り当てパターンを求め、求めた割り当てパターンに従って前記複数の印刷機に対するジョブの割り当てを実行する、ことを特徴とする請求項1に記載の情報処理装置である。
【0010】
請求項4に係る発明は、前記プロセッサは、前記複数の印刷機の各々について、当該印刷機の前記用紙残量が0に達しない範囲で所定の割り当てポリシーに従って当該印刷機に割り当てるジョブを選択する第1選択処理を実行し、前記第1選択処理の後で前記複数の印刷機のいずれにも割り当てられずに残ったジョブの中から、前記複数の印刷機の給紙タイミングが互いにずれるように、前記複数の印刷機の各々に割り当てるジョブを選択する、ことを特徴とする請求項1に記載の情報処理装置である。
【0011】
請求項5に係る発明は、前記プロセッサは、前記複数の印刷機の給紙順序を規定する情報を取得し、前記各印刷機の前記給紙タイミングが前記給紙順序の順に到来するよう前記複数の印刷機に対するジョブの割り当てを実行する、ことを特徴とする請求項1に記載の情報処理装置である。
【0012】
請求項6に係る発明は、前記プロセッサは、前記複数の印刷機において印刷を実行している時点で、前記複数の印刷機それぞれの給紙タイミングまでの残り時間、又は当該印刷機のその時点での用紙残量を表示装置に表示するための表示処理を実行する、ことを特徴とする請求項1に記載の情報処理装置である。
【0013】
請求項7に係る発明は、前記表示処理は、前記複数の印刷機に対してジョブを割り当てながら印刷を実行している時点で実行される、ことを特徴とする請求項6に記載の情報処理装置である。
【0014】
請求項8に係る発明は、前記表示処理では、前記複数の印刷機の配置を示すマップ上に、前記複数の印刷機の各々に対応付けて、当該印刷機についての前記残り時間又は前記用紙残量を表示する、ことを特徴とする請求項6に記載の情報処理装置である。
【0015】
請求項9に係る発明は、前記プロセッサは、1つのジョブを複数に分割し、分割後の複数のジョブを対象として、複数の印刷機の給紙タイミングが互いにずれるようにジョブの割り当てを実行する、ことを特徴とする請求項1に記載の情報処理装置である。
【0016】
請求項10に係る発明は、前記プロセッサは、前記複数の印刷機に対するジョブの割り当てパターンの入力をユーザから受け付け、受け付けた前記割り当てパターンにより、前記複数の印刷機の給紙タイミングが互いにずれたものとなる場合には、その割り当てパターンに従って前記複数の印刷機に対するジョブの割り当てを実行する、ことを特徴とする請求項1に記載の情報処理装置である。
【0017】
請求項11に係る発明は、コンピュータに、複数の印刷機の給紙タイミングが互いにずれるように、前記複数の印刷機に対するジョブの割り当てを実行する、処理を実行させるためのプログラムである。
【発明の効果】
【0018】
請求項1、2、3又は11に係る発明によれば、印刷機の給紙が他の印刷機の給紙を遅らせる事態が生じることを防ぐことができる。
【0019】
請求項4に係る発明によれば、大部分のジョブを割り当てポリシーに従って各印刷機に割り当てつつも、印刷機の給紙が他の印刷機の給紙を遅らせる事態が生じることを防ぐことができる。
【0020】
請求項5に係る発明によれば、印刷機の給紙順序を満たしつつも、印刷機の給紙が他の印刷機の給紙を遅らせる事態が生じることを防ぐことができる。
【0021】
請求項6に係る発明によれば、各印刷機の給紙タイミングの判断に資する情報をユーザに提供することができる。
【0022】
請求項7に係る発明によれば、印刷の実行中に、印刷機の給紙タイミングの判断に資する情報をユーザに提供することができる。
【0023】
請求項8に係る発明によれば、印刷機の配置を表すマップ上で各印刷機の給紙タイミングの判断に資する情報をユーザに提供することができる。
【0024】
請求項9に係る発明によれば、印刷機の数がジョブの数に比して少ない場合に、ジョブを分割しない場合と比べて多くの印刷機を利用して印刷処理を高速化しつつも、印刷機の給紙が他の印刷機の給紙を遅らせる事態が生じることを防ぐことができる。
【0025】
請求項10に係る発明によれば、ユーザから受け付けた割り当てパターンでは印刷機の給紙タイミング同士が重なる場合に、給紙タイミングがずれる用に割り当てを変更することができる。
【図面の簡単な説明】
【0026】
図1】実施形態の印刷制御装置の機能的な構成を例示する図である。
図2】印刷制御装置が実行する処理手順を例示する図である。
図3】印刷制御装置が求めた印刷機とジョブの情報の具体例を示す図である。
図4図2の手順におけるS18の詳細な処理手順の一例を示す図である。
図5図2の手順におけるS18の詳細な処理手順の別の例を示す図である。
図6】具体例における判定用マトリクスの図5の手順での初期状態を例示する図である。
図7】判定用マトリクスの次の状態を例示する図である。
図8】判定用マトリクスの更に次の状態を例示する図である。
図9】判定用マトリクスの次の状態を例示する図である。
図10図2の手順におけるS18の詳細な処理手順の更に別の例を示す図である。
図11図10の手順における判定用マトリクスのある時点状態を例示する図である。
図12図10の手順における判定用マトリクスの次の状態を例示する図である。
図13】マップ画面の例を示す図である。
図14】大きいジョブを複数に分割して複数の印刷機に割り当てる変形例の処理手順を例示する図である。
図15】ユーザから割り当てパターンの入力を受け付ける変形例の処理手順を例示する図である。
図16】コンピュータのハードウエア構成を例示する図である。
【発明を実施するための形態】
【0027】
図1を参照して、本発明に係る情報処理装置の一実施形態である印刷制御装置100の機能的な構成を説明する。
【0028】
印刷制御装置100は、複数の印刷機200に接続されており、それら複数の印刷機200を制御して印刷を実行させる。印刷制御装置100は、ユーザから受け付けた印刷ジョブをそれら複数の印刷機200のいずれかに割り当てて実行させる。印刷ジョブは、印刷機で実行される印刷処理の単位のことであり、印刷する文書の画像をページ記述言語等で記述した印刷データを含んでいる。以下では、印刷ジョブのことを単にジョブと呼ぶ。
【0029】
図示は省略したが、各ユーザは、それぞれ自分の端末からローカルエリアネットワーク等のネットワークを経由して印刷制御装置100にアクセス可能である。ユーザは、例えばネットワーク経由でジョブを印刷制御装置100に登録する。
【0030】
印刷制御装置100は、ジョブ受付モジュール102、状況検知モジュール104、ジョブ選択モジュール106、状況予測モジュール108、及び印刷機通信モジュール110を含む。
【0031】
ジョブ受付モジュール102は、ユーザからジョブの登録を受け付ける。例えば、ジョブ受付モジュール102は、ユーザが操作するコンピュータから、ローカルエリアネットワーク等のネットワーク経由で、ジョブを受け付ける。またジョブ受付モジュール102は、印刷制御装置100が備える記録媒体読取り装置に投入された記録媒体(例えば光学ディスクやフラッシュメモリ)に記録されたファイル群の中から、印刷対象となるジョブのファイルの指定を受け付けてもよい。
【0032】
状況検知モジュール104は、印刷機通信モジュール110を介して、各印刷機200の状況を検知する。状況検知モジュール104が検知する状況には、例えば、印刷機200の給紙部に保持されている用紙の残量がある。
【0033】
ジョブ選択モジュール106は、各印刷機200に実行させるジョブを選択する。このジョブ選択モジュール106が行う処理については,後で詳しく説明する。
【0034】
状況予測モジュール108は、ジョブ選択モジュール106による各印刷機200に割り当てるジョブの選択に応じて、それら各印刷機200の状況がどのように変化するかを計算により予測する。例えば、状況予測モジュール108は、各印刷機200の用紙残量が、ジョブ選択モジュール106が割り当てたジョブによりどのように変化するかを計算する。
【0035】
印刷機通信モジュール110は、例えばネットワークを経由して、各印刷機200とデータ通信を行う。印刷機通信モジュール110は、例えば、状況検知モジュール104が各印刷機200の状況を検知する際の通信や、最終決定されたジョブの割り当てに応じて各印刷機200にジョブのデータを渡すための通信を実行する。
【0036】
次に、図2を参照して、印刷制御装置100が実行する処理の手順の例を説明する。この例では、まずジョブ受付モジュール102が、ユーザからジョブの登録を受け付ける(S10)。これにより、ジョブのデータが印刷制御装置100の記憶装置内に記憶される。この例では、S10にて、ジョブ受付モジュール102にて複数のジョブを受け付けた後、S12以降の処理に進む。S12以降に進むトリガは、例えばユーザから指示される。あるいは、所定の条件が達成された場合に、自動的にS12以降の処理に進む。この場合の条件としては、例えば、S10で受け付けたジョブの数又は印刷量(例えば印刷するページ数)が所定の閾値に達することや、所定の時刻になること等がある。また、条件の別の例として、印刷制御装置100に接続された複数の印刷機200で実行中のジョブがすべて完了するまでの残り時間が閾値以下になることがある。
【0037】
S12では、状況検知モジュール104が、各印刷機200の現在の状況、例えば現在の用紙の残量を検知する。
【0038】
次にジョブ選択モジュール106が、S10で受け付けた各ジョブのデータから、そのジョブの用紙使用量を算出する(S14)。ジョブの用紙使用量は、例えば、そのジョブの印刷データが表す文書のページ数、そのジョブの印刷属性における面付けの指示、印刷部数の指示等に基づいて計算すればよい。
【0039】
またジョブ選択モジュール106は、各印刷機200について、S10で受け付けた各ジョブを当該印刷機200で印刷すると仮定した場合の印刷時間又は印刷レートを算出する(S16)。ここで、印刷レートとは、そのジョブを当該印刷機200で印刷する場合の、単位時間(例えば1分)当たりの印刷枚数のことである。言い換えれば、印刷レートとは、単位時間における用紙の使用量、すなわち用紙消費速度、のことである。印刷レートは、ジョブの印刷属性(例えばカラー/モノクロの区別、使用する用紙の種類、光沢加工などの特殊な加工の有無)と、その印刷機200の性能を表す情報とに基づいて、公知の計算方法により計算される。また印刷時間は、そのジョブを当該印刷機で印刷する場合に要する時間であり、例えばそのジョブの用紙使用量を上述の印刷レートで割ることにより計算される。
【0040】
ジョブ選択モジュール106は、S14及びS16で計算した値を、例えば図3に例示するテーブルとして記憶する。図3に例示するテーブルでは、各行がそれぞれ印刷制御装置100の管理下にある印刷機200を示し、各列がそれぞれ各ジョブを示す。そして、行と列が交差する位置にあるセルには、印刷時間、用紙使用量及び印刷レートの3つの値の組がセットされる。このうち印刷時間は、そのセルの列に対応するジョブをそのセルの行に対応する印刷機200で印刷するのに要する時間である。また用紙使用量は、そのジョブの用紙使用量である。同じ列内の各セルではジョブが共通なので、用紙使用量の値は同じである。そして印刷レートは、そのジョブをその印刷機200が印刷する場合の単位時間当たりの印刷枚数である。セル内の印刷レートに印刷時間を乗じると、そのセル内の用紙使用量となる。図3の例では、ジョブ1、2、3、4、5、6の用紙使用量は、それぞれ400、200、100、300、300、400枚である。また、S12で検知した時点での、印刷機1、2、3の用紙残量は、それぞれ600、500、400枚である。
【0041】
次にジョブ選択モジュール106は、S16で求めた各印刷機200の各ジョブについての印刷レート又は印刷時間に基づき、それら複数の印刷機200の給紙タイミングが互いにずれるよう、各印刷機200にジョブを割り当てる(S18)。
【0042】
ここで、印刷機200の給紙タイミングとは、例えば、その印刷機200に対して給紙が行われる時刻のことである。印刷機200で用紙切れが発生すると給紙作業が実行されるので、以下では、用紙切れの発生時刻を給紙タイミングとする。
【0043】
また「複数の印刷機200の給紙タイミングが互いにずれる」とは、例えば、それら複数の印刷機200の各々で給紙作業が行われる期間同士が互いに重ならないことである。例えば、各印刷機200の給紙作業に要する時間の長さは同じ一定の長さであると仮定する。この時間の長さのことを「給紙時間長」と呼ぶこととする。この場合、印刷機200で給紙作業が行われる期間は、その印刷機200での用紙切れの発生時刻から始まる、給紙時間長の期間である。
【0044】
この例では、複数の印刷機200の各々の給紙作業の期間同士が互いに重ならないためには、印刷機200同士の用紙切れの発生時刻、すなわち給紙タイミング同士の間隔が、その給紙時間長以上であればよい。より厳密には、それら複数の印刷機200のどの2つをとっても、それら2つの印刷機200の給紙タイミング同士の間隔が給紙時間長以上であればよい。なお、実際の現場では、用紙切れの発生した印刷機200のところまで作業員が移動するのにある程度の時間を要する。このため、給紙時間長を、作業員の移動時間を含む長さに調整しておいてもよい。
【0045】
S18では、ジョブ選択モジュール106は、S10で受け付けた複数のジョブを各印刷機200に対してどのように割り当てたら、印刷機200同士の給紙タイミングが互いにずれたものになるかを計算する。そして、そのような割り当て方が見つかれば、その割り当て方に従って各印刷機200にジョブを割り当てる。
【0046】
図2のS18の詳細な処理の例を、図4に示す。この手順では、ジョブ選択モジュール106は、複数の印刷機200の各々の用紙残量と各ジョブについての用紙消費速度とに基づき、各印刷機200の給紙タイミングが互いにずれる割り当てパターンを求める。そして、求めた割り当てパターンに従って各印刷機200に対するジョブの割り当てを実行する。
【0047】
ここで、ジョブの割り当てパターンとは、複数のジョブの各々を複数の印刷機200のうちのどれに割り当てるかを表すパターンである。例えば、4つのジョブa,b,c,dを2つの印刷機A,Bで印刷する場合、印刷機Aにジョブaとbを、印刷機Bにジョブcとdを割り当てるというのが、割り当てパターンの一例である。
【0048】
この例では、ジョブ選択モジュール106は、複数の印刷機200へのジョブの割り当てパターンをランダムに生成する(S20)。すなわち、S10で受け付けた複数のジョブを複数の印刷機200に対してランダムにマッピングすることにより、割り当てパターンを生成する。このとき、1つの印刷機200に対して複数のジョブがマッピングされる場合もある。
【0049】
次にジョブ選択モジュール106は、状況予測モジュール108を用いて、S20で生成した割り当てパターンに従ってジョブを割り当てたと仮定した場合の各印刷機200の給紙タイミングを計算する(S22)。この計算は、印刷機200ごとに、S12で検知されたその印刷機200の用紙残量と、S20でその印刷機200に割り当てた各ジョブの用紙使用量と、それら各ジョブについてのその印刷機200の印刷レート又は印刷時間とを用いて行われる。
【0050】
この計算では、割り当てパターンに従って印刷機200にジョブを割り当てていった場合の状況の変化を状況予測モジュール108が予測する。この予測の処理は、例えば以下に示すものである。すなわち、この例では、状況予測モジュール108は、印刷機200に対して割り当てられたジョブの順に、そのジョブの用紙使用量がその印刷機200の用紙残量以上であるかどうかを判定する。この判定の結果がNo、すなわち用紙使用量が用紙残量未満、であれば、現在時刻に対してそのジョブについてのその印刷機200の印刷時間を足すことにより、現在時刻をそのジョブの印刷完了時点の時刻へと更新する。このとき、用紙残量からその用紙使用量を減算することにより、用紙残量の値をそのジョブの印刷完了時点の値へと更新する。そして、次のジョブについて上述の判定を繰り返す。この判定の結果がNoであれば、上述と同様、現在時刻と用紙残量の更新を行う。更新後の現在時刻及び用紙残量は、次のジョブを開始する時刻及びその時刻での用紙残量である。
【0051】
これらの処理を繰り返す中で、あるジョブの用紙使用量が用紙残量以上になった場合、その印刷機200がそのジョブの実行している間又はその実行の終了時に用紙切れが発生することとなる。この場合、ジョブ選択モジュール106は、そのジョブについてのその印刷機200の印刷レートでその用紙残量を使い切るのに要する時間を計算する。そして、ジョブ選択モジュール106は、その計算により求めた時間を現在時刻に足すことにより、その印刷機200に用紙切れが発生する時刻を求める。この時刻が、その印刷機200の給紙タイミングである。
【0052】
なお、以上に説明した状況予測モジュール108による各印刷機200の給紙タイミングの計算は、印刷機200ごとに、その印刷機200の用紙残量を割り当てられたジョブの実行により使い切るのに要する時間の長さを求める計算と捉えることもできる。
【0053】
次にジョブ選択モジュール106は、S22で計算した各印刷機200の給紙タイミング同士の間隔が、すべて所定の閾値以上であるかどうかを判定する(S24)。なお、印刷機200の給紙タイミングは、その印刷機200が用紙残量を使い切るのに要する時間を、印刷開始の時刻に足したものである。したがって、S24の判定は、各印刷機200が各々の用紙残量を使い切るのに要する時間同士の間隔が所定の閾値以上であるか否かを判定することと等価である。
【0054】
S24で用いる閾値は前述の給紙時間長であってもよい。また、その閾値は、例えば給紙時間長に所定値を加算するなど、給紙時間長に基づいて定めてもよい。印刷機200の給紙タイミング同士の間隔の中に1つでも閾値未満のものがあれば、S24の判定結果はNoとなる。印刷機200の給紙タイミング同士の間隔の中に閾値未満のものが1つもなければ、S24の判定結果やYesとなる。
【0055】
S24の判定の結果がNoの場合、ジョブ選択モジュール106は、S20に戻り、複数の印刷機200に対するジョブの割り当てパターンをランダムに生成し、その後S22以降のステップの処理を繰り返す。
【0056】
S24の判定結果がYesの場合、ジョブ選択モジュール106は、S24の判定結果がYesとなった割り当てパターンに従って、印刷機通信モジュール110を介して各印刷機200に対して実際にジョブを送信する(S26)。各印刷機200は、印刷機通信モジュール110から受信したジョブを実行する。これにより、ジョブの印刷結果が得られる。
【0057】
図4の手順により各印刷機200にジョブを割り当てることで、印刷機200同士で給紙タイミングが重なることがなくなる。したがって、作業員が同時に複数の印刷機200の給紙に対処する必要がなくなる。
【0058】
次に、図2のS18の処理手順の更に別の例を、図5図9を参照して説明する。
【0059】
概略的に言えば、この手順では、まず第1選択処理が実行される。この第1選択処理では、ジョブ選択モジュール106は、複数の印刷機200の各々について、当該印刷機200の用紙残量が0に達しない範囲で所定の割り当てポリシーに従って当該印刷機200に割り当てるジョブを選択する。この第1選択処理の後で、ジョブ選択モジュール106は、第1選択処理で複数の印刷機200のいずれにも割り当てられずに残ったジョブの中から、複数の印刷機200の給紙タイミングが互いにずれるように、複数の印刷機200の各々に割り当てるジョブを選択する。第1選択処理、及びその後の選択により、各印刷機200への各ジョブの割り当てパターンが求められる。
【0060】
ここで割り当てポリシーとは、印刷機200に対して割り当てるジョブを決めるための方針である。例えば、図5に例示する手順では、印刷機200に対して、その印刷機200での印刷レートが高いジョブから順に割り当てているが、これは割り当てポリシーの一例である。更に図5の手順では、指定されたソート順序に従って印刷機200を一つずつ選び、選んだ印刷機200に対してジョブを割り当てている。割り当てポリシーは、このような印刷機200を選ぶ順序(すなわち上述の例ではソート順)を含むものとしてもよい。
【0061】
以下、図5の手順について説明する。図5に示す手順のうち、S30からS44までのステップ群は、上述の第1選択処理の手順の一例である。そして、ステップS46及びS48は、その第1選択処理の後に実行される選択処理の例である。
【0062】
図5の手順では、まずジョブ選択モジュール106は、各印刷機200による各ジョブの印刷時間及び用紙使用量の値を取得する(S30)。これらの値は、図2の手順のS14及びS16で求めたものである。次にジョブ選択モジュール106は、複数の印刷機200を、ユーザから指定されたソート順序に従ってソートする(S32)。ソート順序には、例えば、用紙残量の多い順又は少ない順、印刷速度が高い順又は低い順、用紙置き場に近い順又は遠い順、作業員の待機場所から近い順又は遠い順、等がある。印刷制御装置100は、それらソート順序の選択肢のリストをユーザに提示し、ユーザから選択を受け付ける。また、デフォルトのソート順を定めておき、ユーザからソート順序の明示的な選択がない場合には、そのデフォルトのソート順序を採用することとしてもよい。
【0063】
次にジョブ選択モジュール106は、複数の印刷機200の中から、S36~S42の処理にて注目する印刷機200(以下、注目印刷機200と呼ぶ)を選択する(S34)。ここでは、まだ選択されていない印刷機200のうち、ソート順序において先頭の印刷機200を注目印刷機200に選択する。
【0064】
次にジョブ選択モジュール106は、まだ選択されていないジョブの中に、注目印刷機200の用紙残量を使い切るジョブ、すなわち用紙使用量がその用紙残量以上であるジョブ、があるかどうかを判定する(S36)。この判定は、図6に例示する判定用マトリクスを更新可能かどうか判定することと等価である。
【0065】
図6に示すように、判定用マトリクスは、個々の印刷機200に対応する行と、個々のジョブに対応する列とから構成される二次元のマトリクスである。行と列が交差する位置にあるセルには、その列のジョブの用紙使用量がその行の印刷機200の用紙残量以上である場合に、値がセットされる。セットされる値は、その印刷機200がその用紙残量をそのジョブの印刷で消費するのに要する時間である。また、その列のジョブの用紙使用量がその行の印刷機200の用紙残量未満である場合には、そのセルには値はセットされない。なお、ジョブが既にいずれかの印刷機200に対して割り当てるものと決定されている場合には、そのジョブの列の各セルには、割り当て済みを示す値がセットされる。
【0066】
S36の判定結果が肯定(すなわちYes)の場合、ジョブ選択モジュール106は、判定用マトリクスを更新する。すなわち、この場合、注目印刷機200の用紙残量以上の用紙使用量のジョブが1以上あるので、そのようなジョブのそれぞれについて、判定用マトリクスにおける、そのジョブの列と注目印刷機200の行と交差するセル内に値をセットする。そして、ジョブ選択モジュール106はS42に進む。S36の判定結果が否定(すなわちNo)の場合、ジョブ選択モジュール106はS38に進む。
【0067】
S38では、ジョブ選択モジュール106は、その注目印刷機200に割り当てるジョブを選択する。ここでは、まだ選択されていないジョブのうち、印刷レートが最も高いものを選択する。
【0068】
次にジョブ選択モジュール106は、S38で選択したジョブを注目印刷機200に割り当てて実行させたと仮定した場合の、その印刷の後の注目印刷機200の用紙残量を算出する(S40)。この計算は、S40を実行する直前の注目印刷機200の用紙残量から、そのジョブの用紙使用量を減算することにより達成される。
【0069】
S40の後、ジョブ選択モジュール106は、S36に戻る。S36では、まだ選択されていないジョブの中に、S40で算出した用紙残量を使い切るジョブ、すなわち用紙使用量がその用紙残量以上であるジョブ、があるかどうかを判定する。
【0070】
S36の判定結果が否定(すなわちNo)の場合、ジョブ選択モジュール106は、S38に戻り、注目印刷機200に対して次に割り当てるジョブを選択する。そして、選択したジョブについて、S40及びS36の処理を実行する。
【0071】
このように、ジョブ選択モジュール106は、S36の判定結果が肯定(すなわちYes)となるまで、S36~S40の処理を繰り返す。
【0072】
S36の判定結果がYesとなった場合、ジョブ選択モジュール106は、S36~S40のループの繰り返しの中で選択されたジョブからなるグループジョブを生成しそのグループジョブを注目印刷機200に対して割り当てる(S42)。S42では、ジョブ選択モジュール106は、作成中の割り当てパターンのデータにそのグループジョブを注目印刷機200に割り当てる旨を示す情報を追加する。S36で注目印刷機200の用紙残量を使い切ると判定されたジョブは、S38で選択されたジョブではないので、注目印刷機200に割り当てられるグループジョブには含まれない。注目印刷機200は、グループジョブに含まれるジョブをすべて印刷しても用紙切れを起こさないが、S36で用紙残量を使い切ると判定したいずれかのジョブを更に印刷すると用紙切れを起こす。このように、グループジョブは、注目印刷機200を用紙切れのいわば一歩手前までに至らせる分量の用紙を使用するものである。
【0073】
S42の後、ジョブ選択モジュール106は、すべての印刷機200に対してグループジョブの割り当てが終わったか否かを判定する(S44)。この判定の結果がNoの場合、ジョブ選択モジュール106は、S34に戻り、いままで選択されたことのない印刷機200を注目印刷機に選択し、S36~S44の処理を繰り返す。
【0074】
S44の判定の結果がYesとなった時点では、すべての印刷機200に対してグループジョブが割り当て済みとなっている。また、この時点では、判定用マトリクス(図6参照)の印刷機200の行とジョブの列が交わる位置のセルには、以下の情報が保持されている。すなわち、そのジョブがいずれかの印刷機200に割り当てられたグループジョブに属する場合には、そのセルには、そのジョブがグループジョブの含まれる形で印刷機200に割り当て済みである旨を示す値がセットされている。また、そのジョブがいずれの印刷機200に割り当てられたグループジョブにも属さない場合には、そのセルに保持される情報は次の2通りのうちのいずれかである。すなわち、その印刷機200に対して、対応するグループジョブを割り当てた上で更にそのジョブを追加で割り当てるとその印刷機200の用紙残量を使い切ってしまう場合には、そのセルには、時間を示す値がセットされている。この時間は、その印刷機200が、そのグループジョブを実行した後に残った用紙残量を、その追加のジョブの実行で使い切るまでの時間である。また、そのジョブを更に追加で割り当ててもその印刷機200の用紙残量を使い切らない場合には、そのセルは空欄のままである(あるいは用紙残量を使い切らないことを示す所定の値がセットされている)。
【0075】
S44の判定の結果がYesとなった場合、ジョブ選択モジュール106は、各印刷機200に割り当てたグループジョブの印刷時間をそれぞれ算出する(S46)。グループジョブの印刷時間は、そのグループジョブに含まれる各ジョブの印刷時間の合計である。
【0076】
そして、ジョブ選択モジュール106は、いずれのグループジョブにも属さないジョブの中から、各印刷機200に対して割り当てるべきジョブを求める(S48)。
【0077】
S48を開始する時点では、各印刷機200に対して、それぞれ対応するグループジョブが割り当て済みの状況である。S48では、ジョブ選択モジュール106は、各印刷機200の給紙タイミング同士の間隔が全て閾値以上となるように、個々の印刷機200に対して、いずれのグループジョブにも属さないジョブを追加で割り当てる。S48で印刷機200に対して追加で割り当てるジョブは、判定用マトリクス(例えば図6参照)におけるその印刷機200の行内のセルのうち、時間の値がセットされているセルに対応するジョブの中から選べばよい。そのように選んだジョブは、必ずその印刷機200のグループジョブ実行後の用紙残量を使い切るものなので、その印刷機200に用紙切れを起こさせる。ある印刷機200に着目すると、その印刷機200に割り当てられたグループジョブの印刷時間(これはS46で計算済み)に、判定用マトリクス内のその印刷機200の行のセルの値を足せば、その印刷機200の用紙切れが生じるまでの時間が求められる。この時間を現在時刻に足せば、その印刷機200の用紙切れの発生時刻、すなわち給紙タイミングが得られる。
【0078】
S48では、ジョブ選択モジュール106は、各印刷機200に対して、判定用マトリクス上でその印刷機200の行内の、時間の値のセットされたセルに対応するジョブをランダムに割り当てる。この割り当てでは、同じジョブを複数の印刷機200に重複して割り当てることはしない。ジョブ選択モジュール106は、このように割り当てた場合の各印刷機200の給紙タイミングを計算し、それら給紙タイミング同士の間隔がすべて閾値以上であるか判定する。この判定の結果が否定、すなわち印刷機200の給紙タイミング同士の間隔の中に閾値未満であるものがある場合には、ジョブ選択モジュール106は、各印刷機200へのジョブのランダムな割り当てを再試行する。この再試行を、給紙タイミング同士の間隔がすべて閾値以上であると判定されるまで繰り返す。その判定の結果が肯定、すなわち、すべて閾値以上となった場合に、ジョブ選択モジュール106は、そのときの各印刷機200へのジョブの割り当てを採用する。
【0079】
そして、ジョブ選択モジュール106は、印刷機200ごとに、その印刷機200に対して、対応するグループジョブに属するジョブ群と、S48で追加で割り当てたジョブとを送信し、印刷を実行させる。
【0080】
図5の手順の処理の流れを、具体例を用いて更に詳しく説明する。ここでは、図3に例示する3台の印刷機1、2、3に6つのジョブ1、2、3、4、5、6を処理させる具体例を取り上げる。この具体例では、図5の手順を開始する時点では、印刷機1、2、3の用紙残量がそれぞれ600、500、400枚であり、ジョブ1、2、3、4、5、6の用紙使用量がそれぞれ400、200、100、300、300、400枚である。
【0081】
図6は、この具体例における判定用マトリクスの初期状態、すなわち図5の処理を開始する時点での判定用マトリクスの状態、を示す。この時点では、ジョブの用紙使用量の最大値はジョブ1及び6の400枚であり、この用紙使用量では印刷機1及び2の用紙残量を使い切らないが、印刷機3の用紙残量400枚は使い切る。したがって、図6に示すように、判定用マトリクスのジョブ1、6の列と印刷機3の行が交わる位置のセルには、印刷機3の用紙残量400枚をジョブ1、6でそれぞれ使い切るのに要する時間26.67秒及び40秒がセットされる。これら以外のジョブと印刷機の組合せに対応するセルについては、そのジョブの用紙使用量がその印刷機の用紙残量を使い切らないので、そのセルは空欄のままである。
【0082】
この後、図5の手順を実行していき、まずS34で印刷機1が最初の注目印刷機に選ばれたとする。S38では、未選択のジョブのうち印刷機1での印刷レートが最も高いのはジョブ1及び2である。ここでは、一例として印刷レートが同じジョブが複数ある場合には番号が最も若いジョブを選ぶというサブルールがあるものとし、S38ではそのサブルールに従いジョブ1が選択されるものとする。S40では、印刷機1がそのジョブ1を印刷した後の用紙残量が計算される。印刷機1の用紙残量は現在の600枚であり、ジョブ1の用紙使用量400枚なので、S40で求められる印刷機1の用紙残量は200枚である。次のS36では、これまで未選択のジョブの中から、この印刷機1の新たな用紙残量200枚を使い切るジョブが探索される。この例では、未選択のジョブ2~6のうち、用紙残量が200枚以上であるものとして、ジョブ2、4、5、6が見つかる。印刷機1のジョブ2、4、5、6に対する印刷レート40、30、20、20でそれぞれその用紙残量200枚を使い切る時間は5、6.67、10、10分である。S36ではこのような計算の結果に従い、判定用マトリクスが図7に示すものへと更新される。
【0083】
図7に示す判定用マトリクスでは、今回選択されたジョブ1の列の各セルに選択済みであることを示す値(図では「済み」と示す)がセットされている。また、印刷機1の行のジョブ2、4、5、6に対応する各セルには、用紙残量200枚を使い切る時間5、6.67、10、10分がセットされている。
【0084】
S36の判定結果はYesとなるので、次のS42で、これまでに印刷機1に対して選択したジョブ1からなるグループジョブが生成され、このグループジョブ1が印刷機1に対して割り当てられる。その次のS44では、まだグループジョブの割り当てが済んでいない印刷機200が残っているので、処理はS34に戻る。
【0085】
このS34では、ソート順に従って印刷機2が注目印刷機に選ばれたとする。S38では、未選択のジョブのうち印刷機2での印刷レートが最も高いジョブ4が選択される。S40では、印刷機2のこの時点での用紙残量500枚からジョブ4の用紙使用量300枚が減算されることにより、ジョブ4を印刷した後の印刷機2の用紙残量が200枚と計算される。S36では、これまで未選択のジョブの中から、印刷機2の新たな用紙残量200枚を使い切るジョブとしてジョブ2、5、6が見つかる。印刷機2のジョブ2、5、6に対する印刷レート25、15、15でそれぞれその用紙残量200枚を使い切る時間は8、13.33、13.33分である。S36ではこのような計算の結果に従い、判定用マトリクスが図8に示すものへと更新される。
【0086】
図8に示す判定用マトリクスでは、今回選択されたジョブ4の列の各セルに選択済みであることを示す値がセットされている。また、印刷機2の行のジョブ2、5、6に対応する各セルには、用紙残量200枚を使い切る時間8、13.33、13.33分がセットされている。
【0087】
この後、S36の判定結果はYesとなるので、次のS42で、これまでに印刷機2に対して選択したジョブ4からなるグループジョブが生成され、このグループジョブが印刷機2に対して割り当てられる。その次のS44では、まだグループジョブの割り当てが済んでいない印刷機200が残っているので、処理はS34に戻る。
【0088】
S34では、ソート順に従って印刷機3が注目印刷機に選ばれる。S38では、未選択のジョブのうち印刷機3での印刷レートが最も高いジョブ3が選択される。S40では、印刷機3のこの時点での用紙残量400枚からジョブ3の用紙使用量100枚が減算されることにより、ジョブ3を印刷した後の印刷機3の用紙残量が300枚と計算される。S36では、これまで未選択のジョブの中から、印刷機3の新たな用紙残量300枚を使い切るジョブとしてジョブ5、6が見つかる。印刷機3のジョブ5、6に対する印刷レート15、10でそれぞれその用紙残量300枚を使い切る時間は20、30分である。S36ではこのような計算の結果に従い、判定用マトリクスが図9に示すものへと更新される。
【0089】
図9に示す判定用マトリクスでは、今回選択されたジョブ3の列の各セルに選択済みであることを示す値がセットされている。また、印刷機3の行のジョブ5、6に対応する各セルには、用紙残量300枚を使い切る時間は20、30分がセットされている。
【0090】
以上の処理により、3つの印刷機1、2、3に対してそれぞれグループジョブが割り当てられた状態となる。この時点での判定用マトリクスは、図9に示した状態である。この時点では、ジョブ2、5、6が、印刷機1、2、3のいずれにも割り当てられていない。この時点でS44の判定結果がYesとなる。S46では、印刷機1、2、3にそれぞれ割り当てられたグループジョブの印刷時間が計算される。印刷機1に割り当てられたグループジョブはジョブ1のみを含むので、その印刷時間は10分である。また印刷機2に割り当てられたグループジョブはジョブ4のみを含むので、その印刷時間は10分であり、印刷機3に割り当てられたグループジョブはジョブ3のみを含むので、その印刷時間は4分である。
【0091】
次にS48では、例えばジョブ2、5、6の印刷機1、2、3へのランダムな割り当てが繰り返し試行されることにより、印刷機1、2、3の給紙タイミング同士の間隔が閾値以上になる割り当てが探索される。例えば、印刷機1、2、3に対してジョブ2、5、6をこの順に割り当てると、印刷機1、2、3の総印刷時間がそれぞれ15、23.33、34分となる。この総印刷時間は、S46で求めた印刷機1、2、3におけるグループジョブの印刷時間10、10、4分に対して、判定用マトリクス(図9参照)内の印刷機1とジョブ2の交差するセルの値5分、印刷機2とジョブ5の交差するセルの値13.33分、印刷機3とジョブ6の交差するセルの値30分を足すことにより求められる。仮に閾値が5分であるとすると、印刷機1、2、3の総印刷時間15、23.33、34分は、互いの差がその閾値以上なので、印刷機1、2、3の給紙タイミング同士の間隔が閾値以上になるという条件を満たす。したがって、印刷機1、2、3に対してジョブ2、5、6をこの順に割り当てるパターンは採用可能である。グループジョブを考え合わせると、印刷機1にジョブ1及び2を、印刷機2にジョブ4及び5を、印刷機3にジョブ3及び6をそれぞれ割り当てる割り当てパターンが最終的に採用される。ジョブ選択モジュール106がこの割り当てパターンに従って印刷機1、2、3に対してジョブを割り当てて実行させる。
【0092】
次に、図10図12を参照して、図2のS18の処理手順の更に別の例を説明する。
【0093】
この例では、ジョブ選択モジュール106は図10に例示する手順を実行する。図10の手順では、図5に示した手順と同様、まず第1選択処理が実行され、その後で、いずれにも割り当てられずに残ったジョブの中から、複数の印刷機200の給紙タイミングが互いにずれるように、複数の印刷機200の各々に割り当てるジョブが選択される。この例が、図5の例と異なるのは、第1選択処理における割り当てポリシーである。この例での割り当てポリシーは、用紙残量が多い印刷機200から順に、用紙使用量が多いジョブを割り当てる、というものである。
【0094】
図10の手順では、まずジョブ選択モジュール106は、各印刷機200による各ジョブの印刷時間及び用紙使用量の値を取得する(S50)。次にジョブ選択モジュール106は、いままで注目印刷機200に選ばれたことがない印刷機200のうち、用紙残量が最も多いものを注目印刷機に選択する(S52)。
【0095】
次にジョブ選択モジュール106は、まだ選択されていないジョブの中に、注目印刷機の用紙残量を使い切るジョブがあるかどうかを判定する(S54)。この判定の結果がYesの場合、判定用マトリクスを更新する。
【0096】
S54の判定の結果がNoの場合、ジョブ選択モジュール106は、いままで選択されたことがないジョブのうち用紙使用量が最も多いジョブを、その注目印刷機200に割り当てるジョブに選択する(S56)。
【0097】
次にジョブ選択モジュール106は、S56で選択したジョブを注目印刷機200に割り当てて実行させたと仮定した場合の、その印刷の後の注目印刷機200の用紙残量を算出する(S58)。
【0098】
次にジョブ選択モジュール106は、まだ選択されていないジョブの中に、S58で算出した用紙残量を使い切るジョブがあるかどうかを判定する(S54)。
【0099】
ジョブ選択モジュール106は、S54の判定結果がYesとなるまで、S54~S58の処理を繰り返す。
【0100】
S54の判定結果がYesとなった場合、ジョブ選択モジュール106は、S54~S58のループの繰り返しの中で選択されたジョブからなるグループジョブを生成しそのグループジョブを注目印刷機200に対して割り当てる(S60)。
【0101】
次にジョブ選択モジュール106は、すべての印刷機200に対してグループジョブの割り当てが終わったか否かを判定する(S62)。この判定の結果がNoの場合、ジョブ選択モジュール106は、S52に戻り、いままで選択されたことのない印刷機200を注目印刷機に選択し、S54~S62の処理を繰り返す。
【0102】
S62の判定の結果がYesとなった場合、ジョブ選択モジュール106は、各印刷機200に割り当てたグループジョブの印刷時間をそれぞれ算出する(S64)。そしてジョブ選択モジュール106は、各印刷機200の給紙タイミング同士の間隔が全て閾値以上となるように、個々の印刷機200に対して、いずれのグループジョブにも属さないジョブを追加で割り当てる(S66)。そして、ジョブ選択モジュール106は、印刷機200ごとに、その印刷機200に対して、対応するグループジョブに属するジョブ群と、S66で追加で割り当てたジョブとを送信し、印刷を実行させる。
【0103】
図10の手順の処理の流れを、具体例を用いて更に詳しく説明する。具体例としては、図5の手順の場合と同様、図3に示した印刷機1、2、3とジョブ1~6を用いる。
【0104】
この具体例での図10の手順の開始時点での判定用マトリクスの状態は、図6に示したものと同じである。
【0105】
この後、図10の手順のS52では、最大の用紙残量600枚を有する印刷機1が注目印刷機に選択される。S56の時点では、未選択のジョブのうち用紙使用量が最大なのはジョブ1及び6(ともに用紙残量400枚)である。ここでは、一例として用紙残量が最大のジョブが複数ある場合には番号が最も若いジョブを選ぶというサブルールに従い、ジョブ1が選択されたとする。S58及びS54は、図5の手順のS40及びS36と同様の処理であり、印刷機1に対してジョブ1が選択されたという状況は、同じ図3に示す具体例に対して図5の手順で最初にS40及びS36を実行した場合と同じである。したがって、S54を実行した時点では、判定用マトリクスは図7に示したものと同じになる。
【0106】
S54の判定結果はYesとなるので、次のS60で、これまでに印刷機1に対して選択したジョブ1からなるグループジョブが生成され、このグループジョブ1が印刷機1に対して割り当てられる。その次のS62では、まだグループジョブの割り当てが済んでいない印刷機200が残っているので、処理はS52に戻る。
【0107】
このS52では、未選択の印刷機2、3のうち、用紙残量が最大である印刷機2が新たに注目印刷機に選ばれる。S56では、未選択のジョブ2~6のうち用紙使用量が最大であるジョブ6が選択される。S58では、印刷機2のこの時点での用紙残量500枚からジョブ6の用紙使用量400枚が減算されることにより、ジョブ6を印刷した後の印刷機2の用紙残量が100枚と計算される。S54では、これまで未選択のジョブの中から、印刷機2の新たな用紙残量100枚を使い切るジョブとして、ジョブ2、3、4、5が見つかる。印刷機2のジョブ2、3、4、5に対する印刷レート25、20、30、15でそれぞれその用紙残量100枚を使い切る時間は4、5、3.33、6.66分である。S54ではこのような計算の結果に従い、判定用マトリクスが図11に示すものへと更新される。
【0108】
この後、S54の判定結果はYesとなるので、次のS60で、これまでに印刷機2に対して選択したジョブ6からなるグループジョブが生成され、このグループジョブが印刷機2に対して割り当てられる。その次のS62では、まだグループジョブの割り当てが済んでいない印刷機200が残っているので、処理はS52に戻る。
【0109】
S52では、残っている唯一の印刷機3が注目印刷機に選ばれる。S56では、未選択であり用紙使用量が最大のジョブ4及び5のうち、上述のサブルールに従いジョブ4が選択される。S58では、印刷機3のこの時点での用紙残量400枚からジョブ4の用紙使用量300枚が減算されることにより、ジョブ4を印刷した後の印刷機3の用紙残量が100枚と計算される。S54では、これまで未選択のジョブの中から、印刷機3の新たな用紙残量100枚を使い切るジョブとしてジョブ2、3、5が見つかる。印刷機3のジョブ2、3、5に対する印刷レート20、25、15でそれぞれその用紙残量100枚を使い切る時間は5、4、6.66分である。S54ではこのような計算の結果に従い、判定用マトリクスが図12に示すものへと更新される。
【0110】
この時点でS62の判定結果がYesとなる。次のS64では、印刷機1、2、3にそれぞれ割り当てられたグループジョブの印刷時間が計算される。印刷機1に割り当てられたグループジョブはジョブ1のみを含むので、その印刷時間は10分である。また印刷機2に割り当てられたグループジョブはジョブ6のみを含むので、その印刷時間は26.66分であり、印刷機3に割り当てられたグループジョブはジョブ4のみを含むので、その印刷時間は15分である。
【0111】
次にS66では、残ったジョブ2、3、5の印刷機1、2、3へのランダムな割り当てが繰り返し試行されることにより、印刷機1、2、3の給紙タイミング同士の間隔が閾値以上になる割り当てが探索される。例えば、印刷機1、2、3に対してジョブ2、3、5をこの順に割り当てると、印刷機1、2、3の総印刷時間がそれぞれ15、31.66、21.66分となる。この総印刷時間は、S64で求めた印刷機1、2、3におけるグループジョブの印刷時間10、26.66、15分に対して、判定用マトリクス(図12参照)内の印刷機1とジョブ2の交差するセルの値5分、印刷機2とジョブ3の交差するセルの値5分、印刷機3とジョブ5の交差するセルの値6.66分を足すことにより求められる。仮に閾値が5分であるとすると、印刷機1、2、3の総印刷時間15、31.66、21.66分は、互いの差がその閾値以上なので、印刷機1、2、3の給紙タイミング同士の間隔が閾値以上になるという条件を満たす。したがって、印刷機1、2、3に対してジョブ2、3、5をこの順に割り当てるパターンは採用可能である。グループジョブを考え合わせると、印刷機1にジョブ1及び2を、印刷機2にジョブ6及び3を、印刷機3にジョブ4及び5をそれぞれ割り当てる割り当てパターンが最終的に採用される。ジョブ選択モジュール106がこの割り当てパターンに従って印刷機1、2、3に対してジョブを割り当てて実行させる。
【0112】
以上、いくつかの割り当てポリシーについて、ジョブの割り当てパターンの決定処理の手順の例を説明した。
【0113】
これまでに説明した割り当てポリシーはあくまで例示的なものに過ぎない。印刷制御装置100は、他の割り当てポリシーを第1選択処理で用いてもよい。印刷制御装置100は、例えば割り当てポリシーの選択肢の一覧をユーザに提示し、その中からユーザの選択を受け付けてもよい。印刷制御装置100は、選択された割り当てポリシーに従って第1選択処理を実行し、その後、第1選択処理でいずれの印刷機200に割り当てられずに残ったジョブを、各印刷機200の給紙タイミング同士の差が閾値以上となるよう、いずれかの印刷機200に割り当てる。
【0114】
次に、第1の変形例について説明する。この変形例では、印刷制御装置100は、給紙順序を規定する情報を取得し、各印刷機200の給紙タイミングがその給紙順序の順に到来するように、ジョブの割り当てパターンを計算する。
【0115】
給紙順序は、各印刷機200に対して給紙を行う順序である。
【0116】
給紙順序を規定する情報は、例えば、ユーザからの明示的な給紙順序の指定の内容を示す情報である。例えば、印刷制御装置100は、印刷機200の一覧を表示する画面を提示し、その画面上でユーザから各印刷機200の印刷順序の指定を受け付けてもよい。その画面は、例えば、各印刷機200の設置位置を示すマップを表示したものであってもよい。
【0117】
また給紙順序を規定する情報は、上述のマップそのものであってもよい。マップが示す各印刷機200の位置同士の関係から、公知のアルゴリズムにより各印刷機200を巡回する最短の経路を計算することができる。印刷制御装置100は、マップからそのような経路を計算し、その経路に沿った各印刷機200の並び順を給紙順序として用いてもよい。また、マップに用紙置き場の位置の情報が含まれている場合、印刷制御装置100は、その用紙置き場を起点として各印刷機200を巡回する最短の経路を求め、その経路に従って給紙順序を定めてもよい。
【0118】
この変形例では、印刷制御装置100は、図2の処理手順のS18にて、各印刷機200の給紙タイミングの順序がその給紙順序の同じになるよう、かつ各印刷機200の給紙タイミング同士が互いにずれるよう、各印刷機200に割り当てるジョブを決定する。
【0119】
また、図4に例示した手順の場合は、印刷制御装置100は、S22で計算した各印刷機200の給紙タイミングの順序が、給紙順序を規定する情報が示す給紙順序と同じであるか否かを判定する。給紙タイミングの順序がその給紙順序と同じである場合には、印刷制御装置100は、S24以降の処理を実行する。同じでない場合には、S20に戻って再度割り当てパターンをランダムに生成する。
【0120】
また、図5及び図10に例示する手順では、例えば、S48及びS66にて、各印刷機200の給紙タイミングの順序が上述の給紙順序と同じになるよう、残りのジョブを各印刷機200に割り当てればよい。
【0121】
また、この変形例では、印刷制御装置100は、各印刷機200の位置を示すマップをユーザに対して表示してもよい。このマップを表示したマップ画面の例を図13に示す。
【0122】
図13に示したマップ画面500上には、5台の印刷機1~5を表すアイコン502(これは印刷機の形状を表す画像である)がそれぞれの設置位置に該当する位置に表示される。この例では、印刷機1~5が図示の位置関係で並んでいるため、給紙のために印刷機1~5をそれぞれ1回訪れる最短の経路は、印刷機1、2、3、4、5をこの順に訪れる経路である。マップ画面500のアイコン502同士の間の矢印は、給紙の際の順路を示す。
【0123】
また、マップ画面500上には、各印刷機1~5のアイコン502の左隣には、1本又は2本の用紙残量スケール504が示される。用紙残量スケール504は、用紙収容部内の用紙残量を示すものであり、用紙収容部の全容量を100%としたときの現在の用紙残量のパーセンテージを棒グラフで示している。印刷機1及び2には、用紙残量スケール504が2本示されているが、これは印刷機1及び2がそれぞれ2つの用紙収容部を有していることを表している。カーソルを印刷機のアイコン502に合わせると、その印刷機の各用紙収容部内の用紙の種類を表す用紙種類情報506が表示される。
【0124】
また、マップ画面500上には、各印刷機1~5のアイコン502に対応付けて、それぞれ当該印刷機の用紙切れの発生(すなわち給紙タイミング)までの残り時間508が表示される。印刷制御装置100は、印刷機1~5の各々について、図2図4図5又は図10の手順で当該印刷機に割り当てたジョブ群により当該印刷機の用紙残量を使い切るのに要する時間を計算し、印刷が開始されるまではその時間を残り時間508の初期値として当該印刷機のアイコン502の近くに表示する。そして、印刷制御装置100は、印刷機1~5に対して実際にジョブを割り当てて印刷を実行させている時点では、印刷開始からの経過時間をその初期値から減算した値を残り時間508として表示する。
【0125】
マップ画面500の表示は、印刷制御装置100に付属する表示装置に行ってもよいし、ネットワーク経由で印刷制御装置100にアクセスしているユーザのPC(パーソナルコンピュータ)の画面に表示してもよい。
【0126】
次に第2の変形例について説明する。上記実施形態では、印刷制御装置100に対して複数のジョブが投入された場合のジョブ割り当てについて説明した。これに対して、この変形例は、印刷制御装置100に対して、用紙使用量が多い単一のジョブが投入された場合の例である。
【0127】
この変形例において印刷制御装置100が実行する処理手順の例を図14に示す。この手順は、用紙使用量の多い単一のジョブを受け付けた(S10a)場合に実行される。例えば、ジョブの用紙使用量が所定の閾値より多い場合に、そのジョブを要し使用量の多いジョブと判定すればよい。ここで用いる閾値は、固定値であってもよいし、印刷制御装置100の管理下にある複数の印刷機200の用紙残量に基づいて定められる値であってもよい。
【0128】
次に印刷制御装置100は、S10aで受け付けたジョブを分割し、複数のジョブにする(S11)。ここではジョブを、例えば所定の数のジョブへと分割する。または、ジョブを、所定の用紙使用量以下の複数のジョブへと分割する。またジョブの分割は、用紙使用量がほぼ均等になるように分割するものであってもよいし、予め定めたパターンに従って用紙使用量がばらつくように分割するものであってもよい。
【0129】
その後、印刷制御装置100は、図2の手順と同様、S12~S18の処理を実行する。このうちS18の処理として、印刷制御装置100は、図4図5又は図10に例示した手順を実行してもよい。
【0130】
以上に説明した第2の変形例は、用紙使用量が多い単一のジョブが投入された場合の例であったが、同様の手法は、投入された複数のジョブの中に用紙使用量が多いジョブが含まれる場合にも適用可能である。この場合、印刷制御装置100は、投入された複数のジョブのうち用紙使用量が多いジョブを分割する。印刷制御装置100は、分割により生成されたジョブと分割しなかったジョブとからなるジョブ群を、図2図4図5又は図10に例示した手順に従って各印刷機200に割り当てる。
【0131】
次に第3の変形例について説明する。この変形例の印刷制御装置100が実行する処理手順を図15に例示する。図15の手順のステップのうち、図2の手順のステップと同様のステップについては同一符号を付した。
【0132】
図15の手順では、印刷制御装置100は、ユーザから、複数のジョブを受け付ける(S10)と共に、それら複数のジョブを複数の印刷機200に対する割り当てパターンの入力を受け付ける(S70)。S70では、印刷制御装置100は、例えば、各ジョブの割当先とする印刷機200の指定をユーザから受け付ける。
【0133】
次に印刷制御装置100は、S70で受け付けた割り当てパターンに従って、各印刷機200の印刷時間を計算する(S72)。この計算は、図2の手順のS16の処理、及び図3の手順のS22と同様に行えばよい。S72では、各印刷機200の印刷時間として、図3の手順で計算した印刷機200の用紙切れが発生するまでの時間を計算すればよい。
【0134】
次に印刷制御装置100は、S70で受け付けた割り当てパターンにしたがった場合の各印刷機200の給紙タイミング同士の間隔が閾値以上であるか否かを、S72の計算結果を用いて判定する(S74)。印刷機200の給紙タイミング同士の間隔は、S72で計算した印刷機200の印刷時間同士の差と等しいので、S72では、それら印刷時間同士の差が全て閾値以上かどうかを判定する。この判定の結果がYesの場合は、印刷制御装置100は、S70で受け付けた割り当てパターンに従って各印刷機200にジョブを割り当てて印刷を実行させる(S76)。
【0135】
S74の判定結果がNoの場合、印刷制御装置100は、警告メッセージを表示した上で、入力した割り当てパターンでこのまま印刷を実行するか否か、ユーザに対して問い合わせる(S78)。表示する警告メッセージは、例えば、給紙作業の時間が複数の印刷機200で重なる可能性があることを示すものでよい。
【0136】
印刷制御装置100は、S78の問合せに対するユーザの回答を受け付け、その回答が「入力した割り当てパターンでこのまま印刷を実行する」であるか否かを判定する(S80)。S80の判定結果がYesの場合、印刷制御装置は、その割り当てパターンに従って各印刷機200にジョブを割り当てて印刷を実行させる(S76)。
【0137】
S80の判定結果がNoの場合、印刷制御装置100は、S72で求めた各印刷機200の各ジョブについての印刷レート又は印刷時間に基づき、それら複数の印刷機200の給紙タイミングが互いにずれるよう、各印刷機200にジョブを割り当てる(S18)。この処理は、図2のS18の処理と同様であり、より具体的には例えば図4図5図10に示す処理であってよい。
【0138】
以上に説明したように、この変形例では、ユーザが入力した割り当てパターンでは複数の印刷機200の給紙作業が重なる可能性がある場合に、印刷制御装置100が、印刷機200の給紙作業が重ならないような割り当てパターンを計算する。
【0139】
以上、本発明の実施形態及び変形例を説明した。これら実施形態及び変形例はあくまで例示的なものにすぎず、本発明の範囲内で様々な変形や改良が可能である。
【0140】
以上に説明した実施形態及び変形例における印刷制御装置100は、例えば、汎用のコンピュータを用いて構成される。このコンピュータは、例えば、図16に例示するように、プロセッサ1002、ランダムアクセスメモリ(RAM)等のメモリ(主記憶装置)1004、フラッシュメモリやSSD(ソリッドステートドライブ)、HDD(ハードディスクドライブ)等の不揮発性記憶装置である補助記憶装置1006を制御するコントローラ、各種の入出力装置1008とのインタフェース、ローカルエリアネットワークなどのネットワークとの接続のための制御を行うネットワークインタフェース1010等が、例えばバス1012等のデータ伝送路を介して接続された回路構成を有する。上記実施形態の処理の内容が記述されたプログラムが、ネットワーク等を経由してそのコンピュータにインストールされ、補助記憶装置1006に記憶される。補助記憶装置1006に記憶されたプログラムが、プロセッサ1002によりメモリ1004を用いて実行されることにより、本実施形態の情報処理装置が構成される。
【0141】
上記各実施形態において、プロセッサとは広義的なプロセッサを指し、汎用的なプロセッサ(例えばCPU:Central Processing Unit、等)や、専用のプロセッサ(例えばGPU:Graphics Processing Unit、ASIC:Application Specific Integrated Circuit、FPGA:Field Programmable Gate Array、プログラマブル論理デバイス、等)を含むものである。
【0142】
また上記各実施形態におけるプロセッサの動作は、1つのプロセッサによって成すのみでなく、物理的に離れた位置に存在する複数のプロセッサが協働して成すものであってもよい。また、プロセッサの各動作の順序は上記各実施形態において記載した順序のみに限定されるものではなく、適宜に変更してもよい。
【0143】
(付記)
(((1)))
プロセッサを備え、
前記プロセッサは、
複数の印刷機の給紙タイミングが互いにずれるように、前記複数の印刷機に対するジョブの割り当てを実行する、
ことを特徴とする情報処理装置。
(((2)))
前記プロセッサは、
前記複数の印刷機の給紙タイミング同士の間隔が閾値以上となるように、前記ジョブの割り当てを実行する、
ことを特徴とする(((1)))に記載の情報処理装置。
(((3)))
前記プロセッサは、
前記複数の印刷機の各々の用紙残量と各ジョブについての用紙消費速度とに基づき、前記複数の印刷機へのジョブの割り当てパターンのうち、前記複数の印刷機の給紙タイミングが互いにずれる割り当てパターンを求め、求めた割り当てパターンに従って前記複数の印刷機に対するジョブの割り当てを実行する、
ことを特徴とする(((1)))に記載の情報処理装置。
(((4)))
前記プロセッサは、
前記複数の印刷機の各々について、当該印刷機の前記用紙残量が0に達しない範囲で所定の割り当てポリシーに従って当該印刷機に割り当てるジョブを選択する第1選択処理を実行し、
前記第1選択処理の後で前記複数の印刷機のいずれにも割り当てられずに残ったジョブの中から、前記複数の印刷機の給紙タイミングが互いにずれるように、前記複数の印刷機の各々に割り当てるジョブを選択する、
ことを特徴とする(((1)))~(((3)))のいずれか1項に記載の情報処理装置。
(((5)))
前記プロセッサは、
前記複数の印刷機の給紙順序を規定する情報を取得し、
前記各印刷機の前記給紙タイミングが前記給紙順序の順に到来するよう前記複数の印刷機に対するジョブの割り当てを実行する、
ことを特徴とする(((1)))~(((4)))のいずれか1項に記載の情報処理装置。
(((6)))
前記プロセッサは、
前記複数の印刷機において印刷を実行している時点で、前記複数の印刷機それぞれの給紙タイミングまでの残り時間、又は当該印刷機のその時点での用紙残量を表示装置に表示するための表示処理を実行する、
ことを特徴とする(((1)))~(((5)))のいずれか1項に記載の情報処理装置。
(((7)))
前記表示処理は、前記複数の印刷機に対してジョブを割り当てながら印刷を実行している時点で実行される、
ことを特徴とする(((6)))に記載の情報処理装置。
(((8)))
前記表示処理では、前記複数の印刷機の配置を示すマップ上に、前記複数の印刷機の各々に対応付けて、当該印刷機についての前記残り時間又は前記用紙残量を表示する、
ことを特徴とする(((6)))に記載の情報処理装置。
(((9)))
前記プロセッサは、
1つのジョブを複数に分割し、
分割後の複数のジョブを対象として、複数の印刷機の給紙タイミングが互いにずれるようにジョブの割り当てを実行する、
ことを特徴とする(((1)))~(((8)))のいずれか1項に記載の情報処理装置。
(((10)))
前記プロセッサは、
前記複数の印刷機に対するジョブの割り当てパターンの入力をユーザから受け付け、
受け付けた前記割り当てパターンにより、前記複数の印刷機の給紙タイミングが互いにずれたものとなる場合には、その割り当てパターンに従って前記複数の印刷機に対するジョブの割り当てを実行する、
ことを特徴とする(((1)))~(((9)))のいずれか1項に記載の情報処理装置。
(((11)))
コンピュータに、
複数の印刷機の給紙タイミングが互いにずれるように、前記複数の印刷機に対するジョブの割り当てを実行する、
処理を実行させるためのプログラム。
【0144】
(((1)))、(((2)))、(((3)))又は(((11)))によれば、印刷機の給紙が他の印刷機の給紙を遅らせる事態が生じることを防ぐことができる。
(((4)))によれば、大部分のジョブを割り当てポリシーに従って各印刷機に割り当てつつも、印刷機の給紙が他の印刷機の給紙を遅らせる事態が生じることを防ぐことができる。
(((5)))によれば、印刷機の給紙順序を満たしつつも、印刷機の給紙が他の印刷機の給紙を遅らせる事態が生じることを防ぐことができる。
(((6)))によれば、各印刷機の給紙タイミングの判断に資する情報をユーザに提供することができる。
(((7)))に係る発明によれば、印刷の実行中に、印刷機の給紙タイミングの判断に資する情報をユーザに提供することができる。
(((8)))に係る発明によれば、印刷機の配置を表すマップ上で各印刷機の給紙タイミングの判断に資する情報をユーザに提供することができる。
(((9)))に係る発明によれば、印刷機の数がジョブの数に比して少ない場合に、ジョブを分割しない場合と比べて多くの印刷機を利用して印刷処理を高速化しつつも、印刷機の給紙が他の印刷機の給紙を遅らせる事態が生じることを防ぐことができる。
(((10)))に係る発明によれば、ユーザから受け付けた割り当てパターンでは印刷機の給紙タイミング同士が重なる場合に、給紙タイミングがずれる用に割り当てを変更することができる。
【符号の説明】
【0145】
100 印刷制御装置、102 ジョブ受付モジュール、104 状況検知モジュール、106 ジョブ選択モジュール、108 状況予測モジュール、110 印刷機通信モジュール、200 印刷機。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16