(57)【要約】【課題】用紙交換を行う担当者の数を越える数の給紙部で同時に用紙交換を行う必要が生じないよう予定を立てる。【解決手段】パターン生成部１３２は、用紙交換時間の長さのブロック毎に時間を区切り、各ブロックに対してそれぞれ各プリンタ２００の各給紙部の状態の組合せを割り当てることで用紙交換パターンを生成する。状態には、印刷、用紙交換、待機がある。パターン生成部１３２は、同一ブロック内で２以上の給紙部の状態が用紙交換とならないよう、用紙交換パターンを生成する。不適パターン除去部１３６は、パターン生成部１３２が生成した用紙交換パターンのうち、印刷中に給紙部の用紙残量が０未満となるものを除去する。交換パターン選択受付部１５０は、残った用紙交換パターンを候補としてユーザに提示し、選択を受け付ける。【選択図】図１
2016057823.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータを、
各プリンタが有する各給紙部の状態を用紙交換時間の長さのブロック毎に割り当てた予定パターンを生成するパターン生成手段であって、割り当て可能な前記状態には給紙中及び用紙交換中が含まれ、同一ブロック内で給紙中の給紙部の数が用紙交換担当者の人数よりも多くならないよう前記予定パターンを生成するパターン生成手段、
前記パターン生成手段が生成した複数の予定パターンから、前記各給紙部の用紙容量及び前記各プリンタの印刷速度からみていずれかの給紙部にて用紙残量が０未満となるブロックを含んだ予定パターンを除去する除去手段、
前記パターン生成手段が生成した予定パターンのうち前記除去手段で除去されたものを除いた残りの予定パターンを候補としてユーザに表示し、それら候補の中から採用する予定パターンの選択を受け付ける選択受付手段、
として機能させるためのプログラム。
【請求項２】
前記選択受付手段は、前記候補の予定パターンを前記ユーザから指定された表示順序に従い上位のものから順に表示した選択用画面をユーザに提供する、ことを特徴とする請求項１に記載のプログラム。
【請求項３】
用紙交換時間の長さのブロック毎に各プリンタが有する各給紙部の状態を割り当てた予定パターンを生成するパターン生成手段であって、割り当て可能な前記状態には給紙中及び用紙交換中が含まれ、同一ブロック内で給紙中の給紙部の数が用紙交換担当者の人数よりも多くならないよう前記予定パターンを生成するパターン生成手段と、
前記パターン生成手段が生成した複数の予定パターンから、前記各給紙部の用紙容量及び前記各プリンタの印刷速度からみていずれかの給紙部にて用紙残量が０未満となるブロックを含んだ予定パターンを除去する除去手段と、
前記パターン生成手段が生成した予定パターンのうち前記除去手段で除去されたものを除いた残りの予定パターンを候補としてユーザに表示し、それら候補の中から採用する予定パターンの選択を受け付ける選択受付手段と、
を有する印刷制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム及び印刷制御装置に関する。
【背景技術】
【０００２】
特許文献１に記載された印刷装置では、ネットワークプリンタの給紙手段に収容された記録用紙の用紙枚数は、用紙枚数入力手段により入力され、プリントサーバの用紙枚数格納手段に送られ、そこで格納される。印刷必要枚数算出手段は、ホストコンピュータ等から印刷指示がなされる毎に、その印刷指示されたジョブを解析し、印刷に必要となる印刷必要枚数を算出する。使用可能枚数算出手段は、用紙枚数格納手段に格納されている用紙枚数と印刷必要枚数とから、ジョブ終了後の使用可能枚数を算出する。そして、使用可能枚数が０以下の場合には、用紙切れ予告手段が、用紙切れを起こすジョブの印刷指示を出したホストコンピュータに対して、用紙切れの予告を行う。
【０００３】
特許文献２に記載されたシステムでは、プリンタサーバが、ネットワーク上の全プリンタにつき、用紙残量が閾値以下になっているかどうか監視する。そして、ＰＣ（パーソナルコンピュータ）からプリント準備指令が来た場合、プリンタサーバは、ＰＣに提供するプリンタ選択ダイアログにおいて、用紙残量が閾値以下のプリンタについては警告表示を行う。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平１０−１８１１６３号公報
【特許文献２】特開平１１−３３８３２０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明は、用紙交換を行う担当者の数を越える数の給紙部で同時に用紙交換を行う必要が生じないよう予定を立てることができるプログラム及び装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
請求項１に係る発明は、コンピュータを、各プリンタが有する各給紙部の状態を用紙交換時間の長さのブロック毎に割り当てた予定パターンを生成するパターン生成手段であって、割り当て可能な前記状態には給紙中及び用紙交換中が含まれ、同一ブロック内で給紙中の給紙部の数が用紙交換担当者の人数よりも多くならないよう前記予定パターンを生成するパターン生成手段、前記パターン生成手段が生成した複数の予定パターンから、前記各給紙部の用紙容量及び前記各プリンタの印刷速度からみていずれかの給紙部にて用紙残量が０未満となるブロックを含んだ予定パターンを除去する除去手段、前記パターン生成手段が生成した予定パターンのうち前記除去手段で除去されたものを除いた残りの予定パターンを候補としてユーザに表示し、それら候補の中から採用する予定パターンの選択を受け付ける選択受付手段、として機能させるためのプログラムである。
【０００７】
請求項２に係る発明は、前記選択受付手段は、前記候補の予定パターンを前記ユーザから指定された表示順序に従い上位のものから順に表示した選択用画面をユーザに提供する、ことを特徴とする請求項１に記載のプログラムである。
【０００８】
請求項３に係る発明は、各プリンタが有する各給紙部の状態を用紙交換時間の長さのブロック毎に割り当てた予定パターンを生成するパターン生成手段であって、割り当て可能な前記状態には給紙中及び用紙交換中が含まれ、同一ブロック内で給紙中の給紙部の数が用紙交換担当者の人数よりも多くならないよう前記予定パターンを生成するパターン生成手段と、前記パターン生成手段が生成した複数の予定パターンから、前記各給紙部の用紙容量及び前記各プリンタの印刷速度からみていずれかの給紙部にて用紙残量が０未満となるブロックを含んだ予定パターンを除去する除去手段と、前記パターン生成手段が生成した予定パターンのうち前記除去手段で除去されたものを除いた残りの予定パターンを候補としてユーザに表示し、それら候補の中から採用する予定パターンの選択を受け付ける選択受付手段と、を有する印刷制御装置である。
【発明の効果】
【０００９】
請求項１又は３に係る発明によれば、用紙交換を行う担当者の数を越える数の給紙部で同時に用紙交換を行う必要が生じない予定パターンの中から選択を受け付けることができる。
【００１０】
請求項２に係る発明によれば、ユーザが重視する点から見て上位の予定パターンを選択しやすくすることができる。
【図面の簡単な説明】
【００１１】
【図１】実施形態の装置の構成の一例を示す図である。
【図２】具体例においてパターン生成部が生成する用紙交換パターンの例を示す図である。
【図３】具体例において不適パターン除去部により除去されない（許容可能な）用紙交換パターンの一例を示す図である。
【図４】具体例において不適パターン除去部により除去される用紙交換パターンの一例を示す図である。
【図５】具体例においてプリンタＢでの印刷が多い順という条件に従って選ばれた最上位の用紙交換パターンを示す図である。
【図６】具体例において用紙交換の回数が少ない順という条件に従って選ばれた最上位の用紙交換パターンを示す図である。
【発明を実施するための形態】
【００１２】
図１を参照して、本実施形態に係る印刷制御装置１００の構成の例について説明する。
【００１３】
図１に示す印刷制御装置１００は、パーソナルコンピュータ等のクライアント装置から印刷指示を受け取り、プリンタ２００を制御してその印刷指示に応じた印刷を実現する。印刷制御装置１００は、複数のプリンタ２００を制御する。各プリンタ２００の性能は同一でなくてよい。印刷制御装置１００は、ジョブスプール部１１０、ジョブ発行部１２０、交換パターン算出部１３０、プリンタ情報保持部１４０、交換パターン選択受付部１５０、を有する。
【００１４】
ジョブスプール部１１０は、クライアント装置から受け取った印刷指示をジョブとして蓄積する。ジョブとは、受け取った印刷指示に応じて印刷制御装置１００が実行する印刷処理のことであり、印刷指示を印刷制御装置１００の実行すべき「仕事」と捉えたものである。クライアント装置からの印刷指示のデータ（例えば印刷対象の文書データや印刷プロパティ）や、そのデータから印刷制御装置１００が生成したデータ（例えばその文書データをプリンタ２００が処理可能な形式に変換したもの）が、その印刷指示に対応するジョブのデータとしてジョブスプール部１１０に蓄積される。
【００１５】
ジョブ発行部１２０は、ジョブスプール部１１０に蓄積されたジョブを実行順に取り出し、プリンタ２００に対して発行（すなわち処理させるために送信）する。ジョブ発行部１２０は、ジョブスプール部１１０に蓄積された各ジョブをそれぞれどのプリンタ２００にどの順で割り当てて実行させるかを示すジョブスケジュールを、公知のジョブスケジューリング方法により求める。そして、そのジョブスケジュールに従ってジョブを各プリンタ２００に発行する。
【００１６】
プリンタ情報保持部１４０は、各プリンタ２００の性能情報を保持している。プリンタ２００の性能情報には、そのプリンタ２００のスループット（印刷処理速度。例えば１分間当たりの印刷可能枚数）、そのプリンタ２００が有する各給紙部に収容された用紙のサイズ及び最大収容枚数等が含まれる。これらの性能情報は、例えばユーザがプリンタ情報保持部１４０に登録しておけばよい。また、別の例として、各プリンタ２００がそれぞれそれら性能情報を保持しており、印刷制御装置１００が各プリンタ２００からそれら性能情報を取得してプリンタ情報保持部１４０に登録してもよい。
【００１７】
本実施形態では、ジョブ発行部１２０は、このような公知のジョブスケジュール作成及びジョブ発行の機能に加え、交換パターン算出部１３０及び交換パターン選択受付部１５０により求められた用紙交換パターンに従ってジョブ実行の制御する機能を有する。
【００１８】
交換パターン算出部１３０は、用紙交換パターンの候補を算出する。用紙交換パターンとは、印刷制御装置１００の管理下にある各プリンタ２００の時間を印刷や用紙交換等の動作にどのように割り振るかを示すパターンである。
【００１９】
本実施形態では、時間を用紙交換所要時間の長さ毎のブロック（時間枠）に区切り、それら各ブロックに対し、それぞれ各プリンタ２００の各給紙部（給紙トレイなど）の動作状態として「印刷」、「用紙交換」、「待機」などの状態を割り当てることで、用紙交換パターンを形成する。
【００２０】
ここで、ブロックの長さを定める用紙交換の所要時間は、印刷制御装置１００のユーザが経験的に把握している、複数のプリンタ２００の用紙交換に要する平均的な時間である。例えば、個々のプリンタ２００ごとの用紙交換の平均的な所要時間をそれら複数のプリンタ２００全体にわたって平均したものをブロックの長さとしてもよいし、個々のプリンタ２００ごとの用紙交換の平均的な所要時間のうち最も長いものをブロックの長さとしてもよい。ユーザは、自らの経験知に従って定めた用紙交換所要時間（すなわちブロックの時間幅）を印刷制御装置１００に設定する。ブロックの長さは、例えば数十秒から数分程度である。
【００２１】
給紙部の動作状態における「印刷」とは、プリンタ２００がその給紙部から給紙される用紙に対して印刷を行っている状態である。すなわち、「印刷」という状態は、給紙部が「給紙中」である状態といえる。また「用紙交換」（以下単に「交換」と表記する場合もある）という状態は、その給紙部の用紙交換（すなわち用紙の補充）が行われていることを示す。そして「待機」はその給紙部からの印刷のための給紙が行われず、かつ用紙交換も行われていないことを示す。
【００２２】
交換パターン算出部１３０は、パターン生成部１３２と不適パターン除去部１３６とを有する。パターン生成部１３２は、各ブロックに対してそれぞれ複数のプリンタ２００の給紙部の動作状態の可能な組合せを総当たりで割り当てることで、可能な用紙交換パターンをすべて生成する。
【００２３】
パターン生成部１３２は、用紙交換パターンの生成にあたり、不可組合せ判定ルール１３４に規定される、認められない組合せは、ブロックに割り当てない。認められない組合せを規定するルールには、例えば以下のものがある。
（１）同一ブロック内の２以上の給紙部の状態が「交換」である。
（２）同一ブロック内の同一プリンタ２００内の２以上の給紙部の状態が「印刷」である。
（３）同一ブロック内に「印刷」状態の給紙部が１つもない（すべての給紙部が「交換」か「待機」のいずれか）。
【００２４】
ルール（１）は、印刷制御装置１００の管理下にある複数のプリンタ２００に対する用紙交換を担当する担当者が１人しかいない場合の条件である。担当者が１人しかいなければ、同時（同じブロック）で複数の給紙部の用紙を交換することはできない。なお、担当者がｎ人（ｎは自然数）いる場合に一般化すると、ルール（２）は「同一ブロック内の（ｎ＋１）以上の給紙部の状態が「交換」である。」となる。
【００２５】
ルール（２）は、１台のプリンタ２００は一般に印刷機構を１つしか持たないので、同時に複数の給紙部からの用紙に対して印刷することができないことを表す条件である。
【００２６】
ルール（３）が満たされるブロックでは、印刷を行っているプリンタ２００が１つもなく、印刷処理がまったく進まない。このようなブロックが存在すると、印刷に要する時間が長くなってしまう。そこでルール（３）を設けることで、印刷に要する時間が無駄に長くなることを防ぐ。
【００２７】
パターン生成部１３２は、これら３つの条件のいずれか１つでも満たす組合せは、ブロックに割り当てない。言い換えれば、パターン生成部１３２は、不可組合せ判定ルール１３４に含まれる条件を１つも満たさない組合せを、許容可能な組合せとして各ブロックに割り当てる。
【００２８】
許容可能な組合せの数がＭ、ブロックの数がＮ（Ｎは自然数）である場合、パターン生成部１３２は、Ｎ個のブロックのそれぞれに対してＭ通りの組合せを割り当て可能なので、合計ＭのＮ乗個の用紙交換パターンを生成することとなる。
【００２９】
不適パターン除去部１３６は、パターン生成部１３２が生成した用紙交換パターンの中から不適当な用紙交換パターンを削除する。不適当なパターンは、以下のいずれかの条件を満たすものである。
（Ａ）プリンタ内の用紙が０を下回るブロックがある。
（Ｂ）状態が「交換」であるブロックが連続する。
【００３０】
条件（Ａ）を満たす用紙交換パターンを用いると、印刷の途中で用紙切れを起こしてしまうおそれが高い。また、条件（Ｂ）を満たす用紙交換パターンの場合、１つの給紙部に対して用紙交換を２ブロック続けて行うことになるが、用紙交換は１ブロックの時間で足りるので、２ブロック続けて行う必要はない。
【００３１】
パターン生成部１３２が生成した用紙交換パターンのうち、不適パターン除去部１３６により不適当な用紙交換パターンを除いて残ったパターンが、選択可能な用紙交換パターンの候補となる。交換パターン選択受付部１５０は、それら候補パターンをユーザに提示し、採用するパターンをユーザに選択させる。
【００３２】
ここで、交換パターン選択受付部１５０は、提示する候補パターンの表示順位を以下のいずれかのルールに従って定めてもよい。
（ア）特定のプリンタに優先的に処理させるパターンほど表示順位を高くする。
（イ）用紙交換回数が少ないパターンほど表示順位を高くする。
（ウ）印刷所要時間が短いパターンほど表示順位を高くする。
（エ）最初の用紙交換が遅いパターンほど表示順位を高くする。
（オ）特定の時間帯に含まれる用紙交換（「交換」ブロック）が少ないパターンほど表示順位を高くする。
【００３３】
ここで、ルール（ア）は、何らかの理由で特定のプリンタでなるべく印刷を進めたいが、その特定プリンタが用紙交換を行っている間は他のプリンタを利用することで、印刷の所要時間を短くしたい、といったユーザのニーズを考慮したルールである。このルールを用いる場合、用紙交換パターンの候補が、その特定プリンタ内の１以上の給紙部の状態が「印刷」であるブロックの数が多い順に、表示されることとなる。ルール（オ）は、例えばその特定の時間帯はプリンタ２００群を管理する担当者の数が少なくなる等の理由から、その時間帯の用紙交換をなるべく少なくしたいというニーズを考慮したものである。
【００３４】
これら複数の表示順位決定ルールの中から、ユーザが希望するものを交換パターン選択受付部１５０に設定し、その設定されたルールに従って交換パターン選択受付部１５０が候補の用紙交換パターンをソートしてユーザに提示するようにしてもよい。
【００３５】
また、ユーザが第１優先及び第２優先の表示順位決定ルールを指定し、交換パターン選択受付部１５０がまず第１優先の表示順位決定ルールに従って候補の用紙交換パターンをソートし、そのソート結果における同一順位の用紙交換パターンを、第２優先のルールに従って更に順位付けしてもよい。これは２つのルールを用いる例であるが、優先順位付けした３以上のルールを用いて同様のことを行ってもよい。
【００３６】
交換パターン選択受付部１５０は、このように順位付けした用紙交換パターンの候補を画面に表示し、ユーザにそれら候補の中から１つの用紙交換パターンを選択させる。ユーザが選択した用紙交換パターンはジョブ発行部１２０に渡される。
【００３７】
ジョブ発行部１２０は、受け取った用紙交換パターンに従い、ジョブスプール部１１０に保持されたジョブを各プリンタ２００に対して発行していく。
【００３８】
例えば、用紙交換パターン内の最初のブロックに対応する時刻が到来した場合、そのブロック内の、状態が「印刷」である給紙部を有するプリンタ２００に対し、その給紙部に収容された用紙サイズの用紙を用いるジョブを発行する。発行したジョブがそのブロックの途中で完了した場合、同じプリンタ２００に対して、同じ給紙部の用紙を用いる別のジョブを発行してもよい。また、発行したジョブがそのブロック内で完了しない場合、同じ給紙部の次のブロックの状態が「印刷」であれば、ジョブ発行部１２０はそのまま何もしない。これにより、その給紙部を持つプリンタ２００は、そのジョブを続行することとなる。一方、同じ給紙部の次のブロックの状態が「交換」又は「待機」であれば、ジョブ発行部１２０は、その給紙部を有するプリンタ２００に対してジョブの一時停止を指示し、その後最初に当該給紙部の状態が「印刷」になるブロックが始まるときに、そのプリンタ２００に対して一時停止したジョブの再開を指示する。またジョブ発行部１２０は、あるブロックにおいて状態が「交換」又は「待機」である給紙部を持つプリンタ２００に対しては、そのブロックの時間内では、その給紙部の用紙を用いるジョブは発行しない。
【００３９】
以上の制御により、給紙部が「交換」状態であるブロックの間は、その給紙部を有するプリンタ２００は、その給紙部からは給紙を行っていないので、担当者はその給紙部に対して用紙交換（用紙補充）を行うことができる。
【００４０】
ここで、担当者を補助するために、ある給紙部が「交換」状態であるブロックの時間が到来すると、印刷制御装置１００が、用紙交換作業を促す通知（例えば画面表示やアラーム音出力）を行ってもよい。この通知の画面表示では、用紙交換を行うべきその給紙部を特定する情報（例えばプリンタ名と給紙部の識別情報の組など）を表示してもよい。また、「交換」状態であるブロックの開始時刻よりあらかじめ定められた時間だけ前の時刻に、用紙交換作業が必要となる旨の予告を行ってもよい。
【００４１】
以上では、ジョブ発行部１２０が用紙交換パターンに従ってジョブを各プリンタに順次発行していく例を説明したが、これは一例に過ぎない。この代わりに、例えばジョブスケジュール生成部（図示省略）が、用紙交換パターンに従い、ジョブ発行部１２０と同じ方法でジョブスプール部１１０内の各ジョブを各プリンタ２００の各給紙部に割り当てることでジョブの実行スケジュールを作成し、その実行スケジュールに従いジョブ発行部１２０がジョブを発行してもよい
【００４２】
以上、本実施形態の印刷制御装置１００の構成及び処理について説明した。次に、この装置における処理の流れを、具体例に則して説明する。まず１つの具体例として次の状況を考える。
＜各プリンタのスループット＞
プリンタＡ：  ３０ｐｐｍ
プリンタＢ：  ６０ｐｐｍ
（ｐｐｍは、１分当たりに処理可能なページ（枚）数である）
＜各プリンタの保持する給紙部の用紙サイズ及び最大収容枚数＞
プリンタＡ：  給紙部１：Ａ４  ２００枚
プリンタＢ：  給紙部１：Ａ４  ２００枚
（この例では、プリンタＡ及びＢはそれぞれ１つずつ給紙部を有する）
＜用紙交換パターン決定処理の時点での各給紙部の用紙残量＞
プリンタＡ：  給紙部１：Ａ４  ２００枚
プリンタＢ：  給紙部１：Ａ４  ２００枚
＜ジョブスプール部１１０内の全ジョブの総印刷枚数＞
Ａ４サイズの用紙６００枚
＜用紙交換時間＝１ブロックの時間＞
１００秒
＜ブロック当たりの用紙消費量＞
プリンタＡ：  ５０枚
プリンタＢ：１００枚
【００４３】
すなわち、この例では、印刷制御装置１００の制御下にあるプリンタはＡ及びＢの２台であり、プリンタＡは、スループットが１分間に３０枚であり、Ａ４用紙を２００枚収容可能な給紙部を備え、プリンタＢは、スループットが１分間に６０枚であり、Ａ４用紙を２００枚収容可能な給紙部を備える。これらの情報は、プリンタ情報保持部１４０に保持されている。また、用紙交換パターンの決定処理を実行する時点での各給紙部の用紙残量は、印刷制御装置１００が各プリンタ２００から取得すればよい。また、用紙交換パターンの決定処理を実行する時点で、ジョブスプール部１１０内に蓄積されているジョブは、Ａ４サイズの用紙を用いるジョブのみであり、それらのジョブの印刷枚数の合計は６００枚である。この総印刷枚数の情報は、ジョブスプール部１１０内の各ジョブのデータから求めればよい。また、用紙交換の所要時間は１００秒であるとする。この時間は、ユーザが自らの経験に従って定め、印刷制御装置１００にあらかじめ設定しておく。この用紙交換時間（１００秒）を、用紙交換パターンにおける１ブロック当たりの時間幅とする。
【００４４】
プリンタＡ及びＢの１ブロック当たりの用紙消費量は、ブロック単位でのスループットと考えてもよい。これら用紙消費量の値は、それらプリンタＡ及びＢのスループットとブロックの時間幅（すなわち用紙交換時間。この例では１００秒）から計算される。
【００４５】
このような条件の下、まずパターン生成部１３２が、ジョブスプール部１１０内の全ジョブの総印刷枚数と、プリンタＡ及びＢのブロック当たりの用紙消費量から、生成する用紙交換パターンのブロック数を計算する。この計算では、総印刷枚数の印刷を行うのに最も多くのブロック数が必要となるケース、すなわちスループットが最も低いプリンタのみを用いて印刷を行うケースを考える。すなわち、このケースにおいて総印刷枚数分を印刷するのに何ブロック分の時間が必要かを、用紙交換も考慮に入れて計算する。この例では、総印刷枚数６００枚を１ブロック当たり５０枚の速度（用紙消費量）で印刷するプリンタＡで処理するのに１２ブロック必要である。また、この処理の実行時点でのプリンタＡの給紙部の用紙残量は２００枚であり、その２００枚を消費すると、用紙交換が必要になる。そして、用紙交換を行えば、給紙部の残量は最大値２００枚になるとする。この条件の下では、プリンタＡが６００枚を印刷するのに、用紙交換が２回、すなわち２ブロックが必要となる。したがって、印刷に１２ブロック、用紙交換に２ブロックで、合計１４ブロックからなる用紙交換パターンを生成すればよいことになる（これ以上ブロック数を増やしても無駄である）。
【００４６】
次に、パターン生成部１３２は、それら１４のブロックの各々に対し、それら２つのプリンタＡ及びＢの２つの給紙部の状態の組合せを割り当てることで、用紙交換パターンを生成する。個々の給紙部の状態は、「印刷」、「交換」、「待機」の３種類なので、それら２台の２つの給紙部の状態の組合せは９種類（３種類×３種類）である。そのうち、（Ａの状態，Ｂの状態）が（待機，待機）、（交換，交換）、（待機，交換）、（交換，待機）の４つの組合せは、上記の不可組合せ判定ルール１３４のルール（１）〜（３）のうちの１以上を満たすので、ブロックには割り当てない。したがって、ブロックに割り当てる許可可能な組合せは、（印刷，印刷）、（印刷，交換）、（印刷，待機）、（待機，印刷）、（交換，印刷）の５つである。パターン生成部１３２は、これら５つの組合せを１４のブロックそれぞれ総当たりで割り当てることで、５の１４乗個の用紙交換パターンを生成する。
【００４７】
図２に、パターン生成部１３２が生成する用紙交換パターンのいくつかの例を示す。例示するパターン１は、１４のブロックすべてに（印刷，印刷）の組合せを当てはめたものである。パターン２は、先頭のブロックに（印刷，待機）の組合せを当てはめ、残りの１３のブロックに（印刷，印刷）の組合せを当てはめたものである。そして、最後のパターンＮ（Ｎ＝５の１４乗）は、すべてのブロックに（交換，印刷）の組合せを当てはめたものである。
【００４８】
パターン生成部１３２が生成する用紙交換パターンは、ブロック毎については許容できない状態の組合せは含んでいないものの、ブロックの並び方向（すなわち時間軸方向）については実現不可能なものも含んでいる。時間軸軸方向について実現不可能な用紙交換パターンを削除するのが、不適パターン除去部１３６である。
【００４９】
不適パターン除去部１３６は、パターン生成部１３２が生成した用紙交換パターンを１つずつ検査し、不適当なパターンの判定条件（上述の条件（Ａ）及び（Ｂ））のうち少なくとも１つを満たすことが分かった場合に、その用紙交換パターンを候補から除く。この検査は、例えば以下のように行えばよい。
【００５０】
条件（Ａ）「プリンタ内の用紙が０を下回るブロックがある」の検査では、用紙交換パターンの先頭ブロックの開始時点での各プリンタＡ及びＢの給紙部の用紙残量（この例では共に２００枚）をそれぞれ初期値とする。そして、状態が「印刷」であるブロックではそれぞれ当該プリンタの１ブロック当たりの用紙消費量がだけ用紙残量を減らし、「待機」のブロックでは用紙残量を変化させず、「用紙交換」のブロックでは用紙残量を最大値（この例ではＡ、Ｂ共に２００枚）に変更する。この規則に沿って用紙交換パターンの先頭ブロックから順に各ブロックの終了時点（すなわち次のブロックの開始時点）での用紙残量を計算していき、いずれかのブロックの終了時点で用紙残量が０を下回った場合に、当該用紙交換パターンは不適当なパターンで有ると判定し、候補から外す。
【００５１】
条件（Ｂ）「状態が「交換」であるブロックが連続する」の検査では、用紙交換パターンの先頭ブロックから順に各給紙部の状態を調べていき、隣り合うブロックにおける同じ給紙部の状態が共に「交換」となっている部分を見つけると、その用紙交換パターンを不適当なパターンで有ると判定し、候補から外す。
【００５２】
この不適パターン除去部１３６の処理の結果、図３に示す用紙交換パターンは、不適当なパターンの判定条件をいずれも満たさないので候補として残り、交換パターン選択受付部１５０に渡される。図３の用紙交換パターンには、終了時点で用紙残量がマイナスとなるブロックが無く、同一給紙部で「交換」が連続する部分もない。
【００５３】
図３の例では、不適パターン除去部１３６は、先頭ブロックから順に、そのブロックの終了時点での印刷済みの枚数を計算し、その印刷済み枚数が総印刷枚数（この例では６００枚）に達するのが先頭から何ブロック目かを求める。図示例では５ブロック目の終了時点で６００枚の印刷が完了している。総印刷枚数の印刷完了のブロックまでに不適当なパターンの判定条件が１つも満たされなければ、それ以降のブロックの検査は不要である。不適パターン除去部１３６は、印刷完了のブロックの後の各ブロック（図示例では６ブロック目以降）の各給紙部の状態をすべて「なし」（考慮する必要がないという意味）に置き換え、この置き換えを行った後の用紙交換パターンを候補として交換パターン選択受付部１５０に渡す。そして、印刷完了までのパターンが同一である他の用紙交換パターンについては、重複を避けるために、交換パターン選択受付部１５０には渡さない。
【００５４】
図４は、不適パターン除去部１３６で不適当と判定され除去される用紙交換パターンの一例である。図４の用紙交換パターンでは、プリンタＢの１〜３ブロック目に「印刷」が続くため、３ブロック目の終了時点で用紙残量がマイナスとなり、不適当なパターンと判定されることになる。
【００５５】
交換パターン選択受付部１５０は、不適パターン除去部１３６からの供給された候補の用紙交換パターン群をユーザに提示し、その中から１つをユーザに選択させる。ここで、候補の用紙交換パターンの表示順位付けのルールが指定されている場合には、そのルールに従って決めた表示順位が高い順にそれら各候補を配列し、ユーザに提示する。
【００５６】
例えば、「プリンタＢに優先的に処理させるパターンほど表示順位を高くする」というルールが選択されている場合、図５に示す用紙交換パターンが最上位となる。また、「用紙交換回数が少ないパターンほど表示順位を高くする」というルールが選択されている場合は、図６に示す用紙交換パターンが最上位となる。
【００５７】
以上、図２〜図６を用いて説明した例は、ジョブスプール部１１０内のジョブがすべて同一の用紙サイズの用紙を用いるという単純な例であった。
【００５８】
より一般的に、ジョブスプール部１１０内に異なる複数の用紙サイズを用いるジョブが混在している場合には、以下のように処理すればよい。
【００５９】
前提として、印刷制御装置１００の制御下にある各プリンタ２００が有する各給紙部内の用紙のサイズ及び最大収容枚数、及び各プリンタ２００のスループットがプリンタ情報保持部１４０に保持されているものとする。ブロックの時間幅（用紙交換時間）も設定されているものとする。
【００６０】
パターン生成部１３２は、ジョブスプール部１１０内のジョブ群を用いる用紙のサイズ毎に分類し、用紙サイズ毎に、総印刷枚数を求める。次に、用紙サイズ毎に、当該用紙サイズの総印刷枚数を、スループットが最低のプリンタ（最低速プリンタと呼ぶ）の１ブロック当たりの用紙消費量で割り、割り算結果のブロック数に対して、必要な用紙交換の回数分のブロック数を足す。これにより、当該用紙サイズを最低速プリンタで処理するのに、用紙交換も含めて何ブロック必要かがわかる。このようにして求めたブロック数をすべての用紙サイズについて総和することで、ジョブスプール部１１０内のすべてのジョブを最低速プリンタで処理する場合のブロック数が分かる。このブロック数が、考慮すべきブロックの上限数である。
【００６１】
次にパターン生成部１３２は、同一ブロック内でのそれら各プリンタ２００の各給紙部の状態の組合せから、不可組合せ判定ルール１３４のいずれか１以上を満たす組合せを削除し、残った組合せ（許容可能組合せ）を上記上限数までの各ブロックに総当たりで当てはめることで、用紙交換パターンを生成する。図２〜図６の場合は、プリンタ２００がそれぞれ１つしか給紙部を含まなかったため、不可組合せ判定ルール１３４のうちのルール（２）「同一ブロック内の同一プリンタ２００内の２以上の給紙部の状態が「印刷」である」を適用するケースはなかったが、この例ではこのルール（２）も適用される。
【００６２】
次に、不適パターン除去部１３６が、パターン生成部１３２から供給される用紙交換パターンに不適当な用紙交換パターンの判定条件（上述の（Ａ）及び（Ｂ））を適用することで、その用紙交換パターンが候補として適当か不適当かを判定する。ここで、条件（Ａ）「プリンタ内の用紙が０を下回るブロックがある」を適用するために、不適パターン除去部１３６は、各プリンタの各給紙部毎に、当該用紙交換パターンにおけるその給紙部の用紙残量の変化を計算していく。また、用紙サイズ毎に、その用紙サイズについての印刷済み枚数を先頭ブロックから順に計算していき、その用紙サイズについての総印刷枚数の印刷が完了したブロックより後のブロックについては、当該用紙サイズの各給紙部の状態を「なし」に変える。
【００６３】
このように、各プリンタがそれぞれ複数の給紙部を有し、ジョブスプール部１１０内に複数の用紙サイズのジョブが含まれる場合も、上記実施形態の処理をそのまま適用すればよい。
【００６４】
以上に例示した印刷制御装置１００は、例えば、汎用のコンピュータに当該装置の各機能モジュールの処理を表すプログラムを実行させることにより実現してもよい。ここで言うコンピュータは、例えば、ハードウエアとして、ＣＰＵ等のマイクロプロセッサ、ランダムアクセスメモリ（ＲＡＭ）およびリードオンリメモリ（ＲＯＭ）等のメモリ（一次記憶）、ＨＤＤ（ハードディスクドライブ）やＳＳＤ（ソリッドステートドライブ）、フラッシュメモリ等の二次記憶を制御する二次記憶コントローラ、各種Ｉ／Ｏ（入出力）インタフェース、無線又は有線のネットワークとの接続のための制御を行うネットワークインタフェース等が、たとえばバスを介して接続された回路構成を有する。また、そのバスに対し、例えばＩ／Ｏインタフェース経由で、ＣＤやＤＶＤ、ブルーレイディスクなどの可搬型ディスク記録媒体に対する読み取り及び／又は書き込みのためのディスクドライブ、フラッシュメモリなどの各種規格の可搬型の不揮発性記録媒体に対する読み取り及び／又は書き込みのためのメモリリーダライタ、などが接続されてもよい。上に例示した各機能モジュールの処理内容が記述されたプログラムがＣＤやＤＶＤ等の記録媒体を経由して、又はネットワーク等の通信手段経由で、フラッシュメモリ等の二次記憶装置に保存され、コンピュータにインストールされる。二次記憶装置に記憶されたプログラムがＲＡＭに読み出されＣＰＵ等のマイクロプロセッサにより実行されることにより、上に例示した機能モジュール群が実現される。
【符号の説明】
【００６５】
１００  印刷制御装置、１１０  ジョブスプール部、１２０  ジョブ発行部、１３０  交換パターン算出部、１３２  パターン生成部、１３４  不可組合せ判定ルール、１３６  不適パターン除去部、１４０  プリンタ情報保持部、１５０  交換パターン選択受付部、２００  プリンタ。
【図１】
2016057823.tif 000003
【図２】
2016057823.tif 000004
【図３】
2016057823.tif 000005
【図４】
2016057823.tif 000006
【図５】
2016057823.tif 000007
【図６】
2016057823.tif 000008