(57)【要約】【課題】  印刷完了時刻指定ジョブおよび印刷完了非指定ジョブを含め、複数の印刷ジョブを効率良く印刷する印刷制御装置、印刷制御方法および印刷制御プログラムを記録した記録媒体を提供する。【解決手段】  印刷要求を受信し、その印刷ジョブの印刷所要時間を推定した後、印刷完了時刻が指定されている印刷ジョブの場合、指定された印刷完了時刻と推定された印刷所要時間から、印刷を開始しなくてはならない必須開始時刻を算出する。次に、必須開始時刻と現在時刻を比較し、必須開始時刻が、現在時刻より前の場合、ジョブ投入不可時処理を行う。必須開始時刻が、現在時刻より後の場合、印刷待ち行列が空いているかどうか確認し、印刷待ち行列が空いている場合、その印刷ジョブを投入する。印刷待ち行列が空いていない場合、印刷待ち行列内から印刷完了時刻非指定ジョブをはずす。次に、印刷待ち行列内挿入位置決定処理を行う。次に、はずした印刷完了時刻非指定ジョブに対して、印刷完了時刻非指定ジョブ処理を行う。【選択図】  図５
2005190017.tif 000002
【特許請求の範囲】
【請求項１】
印刷ジョブを何時までに印刷完了してほしいかを示す印刷完了時刻を指定する印刷完了時刻指定手段と、
前記印刷ジョブの印刷が完了するまでの印刷所要時間を推定する印刷所要時間推定手段と、
印刷待ち行列内に複数の印刷完了時刻指定のある印刷ジョブとない印刷ジョブが存在している場合に、前記印刷完了時刻と前記印刷所要時間に基づいて印刷待ち行列内に存在する各印刷完了時刻指定のある印刷ジョブの印刷完了時刻が遵守可能なように並び順を変更する印刷順変更手段と、を有することを特徴とする印刷制御装置。
【請求項２】
指定されたプリンタに印刷完了時刻指定の印刷ジョブが投入された場合に、前記印刷ジョブを印刷待ち行列内に挿入するが、印刷待ち行列内の前記印刷ジョブも含め、印刷完了時刻指定のある印刷ジョブの印刷完了時刻が遵守できるような挿入ができない場合、前記印刷ジョブの投入は不可と判断し、投入ユーザーに対し投入不可を通知する投入不可通知手段をさらに有すことを特徴とする請求項１記載の印刷制御装置。
【請求項３】
前記投入不可と判断した印刷ジョブに対して、そのプリンタでの最短印刷完了時刻を印刷ジョブの投入ユーザーに対して提供し、前記最短印刷完了時刻で同意して前記印刷ジョブを投入するか、あるいは、投入を中止するかを選択可能とする投入選択手段をさらに有することを特徴とする請求項１記載の印刷制御装置。
【請求項４】
複数のプリンタが存在する場合に、投入したプリンタで印刷不可と判断した印刷完了時刻指定の印刷ジョブに対して、前記印刷ジョブを投入し、印刷待ち行列内に挿入しても印刷待ち行列内の前記印刷ジョブも含め、印刷完了時刻指定のある印刷ジョブの印刷完了時刻が遵守できる他のプリンタをユーザーに提示する他のプリンタ提示手段をさらに有することを特徴とする請求項１記載の印刷制御装置。
【請求項５】
指定されたプリンタに印刷完了時刻指定のないの印刷ジョブが投入された場合に、他の印刷ジョブの印刷完了時刻遵守に問題のない適切な位置に前記印刷完了時刻指定のない印刷ジョブを投入することを特徴とする請求項１記載の印刷制御装置。
【請求項６】
印刷ジョブを何時までに印刷完了してほしいかを示す印刷完了時刻を指定する印刷完了時刻指定工程と、
前記印刷ジョブの印刷が完了するまでの印刷所要時間を推定する印刷所要時間推定工程と、
印刷待ち行列内に複数の印刷完了時刻指定のある印刷ジョブとない印刷ジョブが存在している場合に、前記印刷完了時刻と前記印刷所要時間に基づいて印刷待ち行列内に存在する各印刷完了時刻指定のある印刷ジョブの印刷完了時刻が遵守可能なように並び順を変更する印刷順変更工程と、を有することを特徴とする印刷制御方法。
【請求項７】
指定されたプリンタに印刷完了時刻指定の印刷ジョブが投入された場合に、前記印刷ジョブを印刷待ち行列内に挿入するが、印刷待ち行列内の前記印刷ジョブも含め、印刷完了時刻指定のある印刷ジョブの印刷完了時刻が遵守できるような挿入ができない場合、前記印刷ジョブの投入は不可と判断し、投入ユーザーに対し投入不可を通知する投入不可通知工程をさらに有すことを特徴とする請求項６記載の印刷制御方法。
【請求項８】
前記投入不可と判断した印刷ジョブに対して、そのプリンタでの最短印刷完了時刻を印刷ジョブの投入ユーザーに対して提供し、前記最短印刷完了時刻で同意して前記印刷ジョブを投入するか、あるいは、投入を中止するかを選択可能とする投入選択工程をさらに有することを特徴とする請求項６記載の印刷制御方法。
【請求項９】
複数のプリンタが存在する場合に、投入したプリンタで印刷不可と判断した印刷完了時刻指定の印刷ジョブに対して、前記印刷ジョブを投入し、印刷待ち行列内に挿入しても印刷待ち行列内の前記印刷ジョブも含め、印刷完了時刻指定のある印刷ジョブの印刷完了時刻が遵守できる他のプリンタをユーザーに提示する他のプリンタ提示工程をさらに有することを特徴とする請求項６記載の印刷制御方法。
【請求項１０】
指定されたプリンタに印刷完了時刻指定のないの印刷ジョブが投入された場合に、他の印刷ジョブの印刷完了時刻遵守に問題のない適切な位置に前記印刷完了時刻指定のない印刷ジョブを投入することを特徴とする請求項６記載の印刷制御方法。
【請求項１１】
請求項６から１０に記載の印刷制御方法を、コンピュータに実現させるための印刷制御プログラムを記録した記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の印刷ジョブを効率良く印刷する印刷制御装置、印刷制御方法および印刷制御プログラムを記録した記録媒体に関する。
【背景技術】
【０００２】
従来、クライアントから投入された印刷ジョブは、サーバー上の印刷待ち行列内に投入される。プリンタが印刷可能な状態ならば、印刷待ち行列の先頭から印刷ジョブを取り出し、プリンタに対して印刷ジョブのデータを転送し、プリンタに印刷処理を順次実行させる。
【０００３】
通常は、印刷順を変更できるように、印刷ジョブにはクライアントからの投入時に印刷優先順位が付加できる。印刷待ち行列内の印刷ジョブは、投入順かつ印刷優先順位の高い順に並べられ、その順でプリンタに印刷処理を順次実行させる。印刷待ち行列内に印刷ジョブが大量に存在する場合に、自分が印刷物を指定の時間までにほしい場合には、印刷待ち行列内の印刷ジョブの状況を判断して、自分の印刷ジョブの優先順位を高くするなどして、印刷待ち行列内の印刷ジョブのスケジューリングを調整するなどの方法があった。
【０００４】
しかしながら、この場合、他の印刷ジョブのスケジュールに影響を与え、早く印刷物をほしいユーザは優先順位を高くして印刷ジョブを投入するため、印刷優先順位の低い印刷ジョブは長く待たされることになる。また、印刷優先順位を高くして印刷ジョブを投入しても、他のユーザに印刷優先順位のより高い印刷ジョブを投入されてしまえば、待たされることとなる。よって、ユーザの期待通りの印刷順になるとは必ずしも限らないという問題点があった。
【０００５】
これを解決するために、印刷ジョブ投入の際に、何時までに印刷完了してほしいかを示す印刷完了時刻を指定することで、印刷効率のよい印刷ジョブ制御を実現できるようにすることが考えられる。
【０００６】
従来の技術として特許文献１がある。
【特許文献１】特開２００１−２３６１９５号公報
【０００７】
特許文献１においては、必須印刷開始時刻の早い順に印刷要求待ち行列内の各印刷ジョブの印刷順番を変更し、全印刷完了予測時間と各印刷ジョブの印刷完了期限とを比較し、各ジョブの印刷完了期限を遵守することを実現しようとしているが、印刷完了時刻指定のないジョブも含めての効率的印刷ジョブ制御が考慮されていない。また、印刷ジョブを投入することで印刷要求待ち行列内の印刷ジョブの印刷完了時刻を遵守できない場合に、代替えプリンタを指定できるが、代替えプリンタに印刷ジョブを投入してもそのプリンタで印刷完了期限を遵守可能かどうかの判断はユーザにはできない。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
本発明は、上記問題点に鑑みてなされたものであり、印刷完了時刻指定ジョブおよび印刷完了非指定ジョブを含め、複数の印刷ジョブを効率良く印刷する印刷制御装置、印刷制御方法および印刷制御プログラムを記録した記録媒体を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するために、請求項１記載の発明は、印刷制御装置であって、印刷ジョブを何時までに印刷完了してほしいかを示す印刷完了時刻を指定する印刷完了時刻指定手段と、印刷ジョブの印刷が完了するまでの印刷所要時間を推定する印刷所要時間推定手段と、印刷待ち行列内に複数の印刷完了時刻指定のある印刷ジョブとない印刷ジョブが存在している場合に、印刷完了時刻と印刷所要時間に基づいて印刷待ち行列内に存在する各印刷完了時刻指定のある印刷ジョブの印刷完了時刻が遵守可能なように並び順を変更する印刷順変更手段と、を有することを特徴とする。
【００１０】
請求項２記載の発明は、請求項１記載の発明において、指定されたプリンタに印刷完了時刻指定の印刷ジョブが投入された場合に、印刷ジョブを印刷待ち行列内に挿入するが、印刷待ち行列内の印刷ジョブも含め、印刷完了時刻指定のある印刷ジョブの印刷完了時刻が遵守できるような挿入ができない場合、印刷ジョブの投入は不可と判断し、投入ユーザーに対し投入不可を通知する投入不可通知手段をさらに有すことを特徴とする。
【００１１】
請求項３記載の発明は、請求項１記載の発明において、投入不可と判断した印刷ジョブに対して、そのプリンタでの最短印刷完了時刻を印刷ジョブの投入ユーザーに対して提供し、最短印刷完了時刻で同意して印刷ジョブを投入するか、あるいは、投入を中止するかを選択可能とする投入選択手段をさらに有することを特徴とする。
【００１２】
請求項４記載の発明は、請求項１記載の発明において、複数のプリンタが存在する場合に、投入したプリンタで印刷不可と判断した印刷完了時刻指定の印刷ジョブに対して、印刷ジョブを投入し、印刷待ち行列内に挿入しても印刷待ち行列内の印刷ジョブも含め、印刷完了時刻指定のある印刷ジョブの印刷完了時刻が遵守できる他のプリンタをユーザーに提示する他のプリンタ提示手段をさらに有することを特徴とする。
【００１３】
請求項５記載の発明は、請求項１記載の発明において、指定されたプリンタに印刷完了時刻指定のないの印刷ジョブが投入された場合に、他の印刷ジョブの印刷完了時刻遵守に問題のない適切な位置に印刷完了時刻指定のない印刷ジョブを投入することを特徴とする。
【００１４】
請求項６記載の発明は、印刷制御方法であって、印刷ジョブを何時までに印刷完了してほしいかを示す印刷完了時刻を指定する印刷完了時刻指定工程と、印刷ジョブの印刷が完了するまでの印刷所要時間を推定する印刷所要時間推定工程と、印刷待ち行列内に複数の印刷完了時刻指定のある印刷ジョブとない印刷ジョブが存在している場合に、印刷完了時刻と印刷所要時間に基づいて印刷待ち行列内に存在する各印刷完了時刻指定のある印刷ジョブの印刷完了時刻が遵守可能なように並び順を変更する印刷順変更工程と、を有することを特徴とする。
【００１５】
請求項７記載の発明は、請求項６記載の発明において、指定されたプリンタに印刷完了時刻指定の印刷ジョブが投入された場合に、印刷ジョブを印刷待ち行列内に挿入するが、印刷待ち行列内の印刷ジョブも含め、印刷完了時刻指定のある印刷ジョブの印刷完了時刻が遵守できるような挿入ができない場合、印刷ジョブの投入は不可と判断し、投入ユーザーに対し投入不可を通知する投入不可通知工程をさらに有すことを特徴とする。
【００１６】
請求項８記載の発明は、請求項６記載の発明において、投入不可と判断した印刷ジョブに対して、そのプリンタでの最短印刷完了時刻を印刷ジョブの投入ユーザーに対して提供し、最短印刷完了時刻で同意して印刷ジョブを投入するか、あるいは、投入を中止するかを選択可能とする投入選択工程をさらに有することを特徴とする。
【００１７】
請求項９記載の発明は、請求項６記載の発明において、複数のプリンタが存在する場合に、投入したプリンタで印刷不可と判断した印刷完了時刻指定の印刷ジョブに対して、印刷ジョブを投入し、印刷待ち行列内に挿入しても印刷待ち行列内の印刷ジョブも含め、印刷完了時刻指定のある印刷ジョブの印刷完了時刻が遵守できる他のプリンタをユーザーに提示する他のプリンタ提示工程をさらに有することを特徴とする。
【００１８】
請求項１０記載の発明は、請求項６記載の発明において、指定されたプリンタに印刷完了時刻指定のないの印刷ジョブが投入された場合に、他の印刷ジョブの印刷完了時刻遵守に問題のない適切な位置に印刷完了時刻指定のない印刷ジョブを投入することを特徴とする。
【００１９】
請求項１１記載の発明は、請求項６から１０に記載の印刷制御方法を、コンピュータに実現させるための印刷制御プログラムであることを特徴とする。
【発明の効果】
【００２０】
本発明に実施形態によれば、印刷ジョブを何時までに印刷完了してほしいかを示す印刷完了時刻を指定する印刷完了指定手段と、印刷ジョブの印刷が完了するまでの印刷所要時間を推定する印刷所要時間推定手段と、印刷待ち行列内に複数の印刷完了時刻指定のある印刷ジョブとない印刷ジョブが存在している場合に、印刷完了時刻と印刷所要時間に基づいて印刷待ち行列内に存在する各印刷完了時刻指定のある印刷ジョブの印刷完了時刻が遵守可能なように並び順を変更する印刷順変更手段とを備えたことにより、印刷ジョブ投入の際に印刷完了時刻を指定できるようにした場合、印刷完了時刻指定のない印刷ジョブも含めた印刷ジョブ制御を可能とし、全体として、印刷効率のよい印刷ジョブ制御が可能となる。
【発明を実施するための最良の形態】
【００２１】
印刷要求を受信し、その印刷ジョブの印刷所要時間を推定する。印刷完了時刻が指定されている印刷ジョブの場合、指定された印刷完了時刻と推定された印刷所要時間から、印刷を開始しなくてはならない必須開始時刻を算出する。次に、必須開始時刻と現在時刻を比較し、必須開始時刻が、現在時刻より前の場合、ジョブ投入不可時処理を行う。必須開始時刻が、現在時刻より後の場合、印刷待ち行列が空いているかどうか確認し、印刷待ち行列が空いている場合、その印刷ジョブを投入する。印刷待ち行列が空いていない場合、印刷待ち行列内から印刷完了時刻非指定ジョブをはずす。次に、印刷待ち行列内挿入位置決定処理を行う。次に、はずした印刷完了時刻非指定ジョブに対して、印刷完了時刻非指定ジョブ処理を行う。
【００２２】
図面を参照し、本発明の実施形態を詳細に説明する。
【００２３】
図１は、本発明の実施形態における印刷制御装置のシステム構成を示すブロック図である。図１に示すように、本発明の実施形態における印刷制御装置のシステムは、ネットワーク（ＬＡＮ）４上に、印刷ジョブを投入する複数のクライアント１と、複数のプリンタ３と、本発明の印刷制御装置を搭載している印刷サーバー２と、を有し構成される。
【００２４】
図２は、本発明の印刷制御装置の構成を示すブロック図である。図２に示すように、印刷制御装置は、ＣＰＵ１０、メモリ１１、入力装置１２、表示装置１３、ハードディスク１４及びバス１５を有し構成される。
【００２５】
ＣＰＵ１０は、印刷制御装置の全体を制御するもので、各種処理を実行する。メモリ１１は主として、ＣＰＵ１０の作業領域として機能する。入力装置１２は、キーボード、マウス等である。表示装置１３は、ＣＲＴや液晶表示装置等である。ハードディスク１４は、磁気ディスク等で構成され、インストールされた印刷制御システムやその他のアプリケーション（ソフトウェア）等を格納する。バス１５は、上記各部を接続する。
【００２６】
図３は、本発明の実施形態における印刷制御装置の制御を示すブロック図である。図３に示すように、印刷制御装置２０は、ジョブ要求受信部３０を有する。ジョブ要求受信部３０は、印刷完了時刻指定ジョブ処理部３１、印刷完了時刻非指定ジョブ処理部４０、ジョブ投入処理部５０を有する。印刷完了時刻指定ジョブ処理部３１は、ジョブ投入不可時処理部３２、印刷待ち行列内挿入位置決定処理部３３を有する。
【００２７】
ジョブ要求受信部３０は、印刷完了時刻指定ジョブおよび印刷完了時刻非指定ジョブをともに制御可能とし、全体として、印刷効率のよい印刷ジョブ制御を可能としている。印刷完了時刻指定ジョブが投入された場合と印刷完了時刻非指定ジョブが投入された場合とで処理が分岐する。
【００２８】
印刷完了時刻指定ジョブ処理部３１は、印刷完了時刻指定ジョブが投入された場合の処理を行う。印刷完了時刻指定ジョブ処理部３１は、投入ジョブの必須開始時刻を算出し、印刷待ち行列内挿入位置決定処理部３３を呼び出すことで挿入位置をサーチする。印刷完了時刻非指定ジョブが印刷待ち行列内に存在する時には、いったん印刷待ち行列からはずし、投入した印刷完了時刻指定ジョブを挿入後、印刷完了時刻非指定ジョブ処理部４０で再度適切な位置に挿入する。
【００２９】
印刷完了時刻非指定ジョブが投入された場合も同様に印刷完了時刻非指定ジョブ処理部４０を使用し、適切な位置にこの印刷ジョブを挿入する。
【００３０】
印刷待ち行列内挿入位置決定処理部３３は、処理内容で投入ジョブの必須開始時刻をもとに、印刷待ち行列内のジョブをサーチし、投入ジョブの挿入位置を決める。投入可能と判断されると、ジョブ投入処理部５０を呼び出し、印刷待ち行列内にジョブを投入する。
【００３１】
投入不可と判断されると、ジョブ投入不可時処理部３２を呼び出し、投入プリンタでの最短印刷完了時刻および他のプリンタで投入可能なプリンタを取得する。
【００３２】
印刷完了時刻指定のない印刷ジョブを投入した場合は、印刷完了時刻非指定ジョブ処理部４０は、この印刷ジョブを処理し、印刷を完了する。
【００３３】
上記の印刷制御装置２０の処理は、メモリ１１に格納されたプログラムを使用しＣＰＵ１０が処理する。印刷要求等は、入力装置１２を経由してクライアント１から入力され、表示装置１３には、必要な印刷ジョブの状況が表示される。印刷は、ＣＰＵ１０の指示により、プリンタ３で行われる。
【００３４】
印刷制御装置２０は、ＣＰＵ１０などのハードウェア６０とのインタフェースを構成するオペレーティングシステム７０上で動作する。なお、図３に示すオペレーティングシステム７０は、例えばＷｉｎｄｏｗｓ（Ｒ）系であり、これに付随する各種ソフトウエアを含むものである。
【００３５】
次に、図面を参照し、印刷制御装置の動作について説明する。すなわち、印刷制御方法について説明する。図４は、本発明の実施形態における印刷要求受信時の動作を示すフローチャートである。
【００３６】
図４に示すように、印刷ジョブの印刷要求を受信すると、その印刷ジョブの印刷所要時間を算出する、すなわち、印刷所要時間を推定する（ステップＳ１）。次に、その印刷ジョブに印刷完了時刻が指定されているかどうかを確認する（ステップＳ２）。印刷完了時刻が指定されている場合（ステップＳ２のＹｅｓ）、印刷完了時刻指定ジョブ処理を行う（ステップＳ３）。印刷完了時刻指定ジョブ処理は、図３で示した印刷完了時刻指定ジョブ処理部３１で行われる。印刷完了時刻が指定されていない場合（ステップＳ２のＮｏ）、印刷完了時刻非指定ジョブ処理を行う（ステップＳ４）。印刷完了時刻非指定ジョブ処理は、図３で示した印刷完了時刻非指定ジョブ処理部４０で行われる。
【００３７】
図５は、本発明の実施形態における印刷完了時刻指定ジョブ処理を示すフローチャートである。この処理は、図４のステップＳ３の処理である。
【００３８】
まず、指定された印刷完了時刻と推定された印刷所要時間から、印刷を開始しなくてはならない必須開始時刻を算出する（ステップＳ２１）。次に、必須開始時刻と現在時刻を比較する（ステップＳ２２）。必須開始時刻が、現在時刻より前の場合（ステップＳ２２のＹｅｓ）、ジョブ投入不可時処理を行う（ステップＳ２３）。ジョブ投入不可時処理は、図３で示したジョブ投入不可時処理部３２で行う。
【００３９】
必須開始時刻が、現在時刻より後の場合（ステップＳ２２のＮｏ）、印刷待ち行列が空いているかどうか確認する（ステップＳ２４）。印刷待ち行列が空いている場合（ステップＳ２４のＹｅｓ）、その印刷ジョブを投入する。すなわち、ジョブ投入処理を行う（ステップＳ２５）。ジョブ投入処理は、図３で示したジョブ投入処理部５０で行う。
【００４０】
印刷待ち行列が空いていない場合（ステップＳ２４のＮｏ）、印刷待ち行列内から印刷完了時刻非指定ジョブをはずす（ステップＳ２６）。次に、印刷待ち行列内挿入位置決定処理を行う（ステップＳ２７）。印刷待ち行列内挿入位置決定処理は、図３で示した印刷待ち行列内挿入位置決定処理部３３で行う。
【００４１】
次に、ステップＳ２６ではずした印刷完了時刻非指定ジョブに対して、印刷完了時刻非指定ジョブ処理を行う（ステップＳ２８）。印刷完了時刻非指定ジョブ処理は、図３で示した印刷完了時刻非指定ジョブ処理部４０で行う。この印刷完了時刻非指定ジョブ処理は、印刷待ち行列内からはずした印刷ジョブの数だけ繰り返す。
【００４２】
図６は、本発明の実施形態における印刷待ち行列内挿入位置決定処理を示すフローチャートである。この処理は、図５のステップＳ２７の処理である。
【００４３】
まず、その印刷ジョブの必須開始時刻より前の未印刷ジョブの必須開始時刻となる位置を印刷待ち行列内で前方よりサーチする（ステップＳ３１）。挿入位置がない場合（ステップＳ３２のＹｅｓ）、ジョブ投入不可時処理を行う（ステップＳ３３）。
【００４４】
挿入位置がある場合（ステップＳ３２のＮｏ）、印刷待ち行列内の最後尾に挿入かどうか確認する（ステップＳ３４）。最後尾に挿入の場合（ステップＳ３４のＹｅｓ）、前のジョブの印刷終了時刻とその印刷ジョブの必須開始時刻を比較する（ステップＳ３５）。
【００４５】
前のジョブの印刷終了時刻が、その印刷ジョブの必須開始時刻の前の場合（ステップＳ３５のＹｅｓ）、そのジョブを投入する。すなわち、ジョブ投入処理を行う（ステップＳ３６）。
【００４６】
前のジョブの印刷終了時刻が、その印刷ジョブの必須開始時刻の後の場合（ステップＳ３５のＮｏ）、そのジョブは投入できないので、ジョブ投入不可時処理を行う（ステップＳ３３）。
【００４７】
ステップＳ３４で印刷待ち行列内の最後尾に挿入できない場合（ステップＳ３４のＮｏ）、印刷待ち行列内の先頭に挿入できるかどうか確認する（ステップＳ３７）。印刷待ち行列内の先頭に挿入できる場合（ステップＳ３７のＹｅｓ）、その印刷ジョブの必須開始時刻にその印刷ジョブの印刷所要時間を加えた時刻が、後ろの印刷ジョブの必須開始時刻より前であるかどうか確認する（ステップＳ３８）。
【００４８】
その印刷ジョブの印刷終了時刻が、後ろの印刷ジョブの必須開始時刻より前である場合（ステップＳ３８のＹｅｓ）、ジョブ投入処理を行う（ステップＳ３６）。その印刷ジョブの印刷終了時刻が、後ろの印刷ジョブの必須開始時刻より後になってしまう場合（ステップＳ３８Ｎｏ）、ジョブ投入不可時処理を行う（ステップＳ３３）。
【００４９】
印刷待ち行列内の先頭に挿入できない場合（ステップＳ３７のＮｏ）、印刷待ち行列の途中で、その印刷ジョブを行い、かつ、後ろの印刷ジョブの必須開始時刻にあう位置があるかどうか確認する（ステップＳ３９）。
【００５０】
位置がある場合（ステップＳ３９のＹｅｓ）、ジョブ投入処理を行う（ステップＳ３６）。位置がない場合（ステップＳ３９のＮｏ）、ジョブ投入不可時処理を行う（ステップＳ３３）。
【００５１】
図７は、本発明の実施形態におけるジョブ投入処理を示すフローチャートである。この処理は、図５のステップＳ２５および図６のステップＳ３６の処理である。
【００５２】
ジョブ投入処理では、印刷待ち行列内にその印刷ジョブを登録し（ステップＳ４１）、印刷待ち行列内のジョブの印刷終了時刻を更新する（ステップＳ４２）。
【００５３】
図８は、本発明の実施形態におけるジョブ投入不可時処理を示すフローチャートである。この処理は、図５のステップＳ２３および図６のステップＳ３３の処理である。
【００５４】
ジョブ投入不可時処理では、印刷待ち行列内の最後尾の印刷ジョブの印刷終了時刻にその印刷ジョブの印刷所要時間を加えたその印刷ジョブの最短印刷完了時刻を算出する（ステップＳ５１）。すなわち、いつなら、この印刷ジョブの印刷が完了するかを算出する。また、複数のプリンタを備えている場合、印刷完了時刻指定ジョブ処理をコールし、この印刷ジョブの投入可能なプリンタを取得する（ステップＳ５２）。
【００５５】
印刷完了時刻指定ジョブ処理では、実際にこの印刷ジョブを投入するモードと、投入可／投入不可を返すのみのモードを用意する。投入可／投入不可の判断は、前述の判断と同様である。
【００５６】
図９は、本発明の実施形態における印刷完了時刻非指定ジョブ処理を示すフローチャートである。この処理は、図４のステップＳ４よび図５のステップＳ２８の処理である。
【００５７】
まず、印刷待ち行列が空いていて、直ちに投入できるかどうかを確認する（ステップＳ６１）。直ちに投入できる場合（ステップＳ６１のＹｅｓ）、ジョブ投入処理を行う（ステップＳ６２）。
【００５８】
直ちに投入できない場合（ステップＳ６１のＮｏ）、印刷待ち行列内で未印刷ジョブの間で、この印刷ジョブが挿入できる時間があるかどうか確認する。すなわち、前の印刷ジョブの終了時刻と次の印刷ジョブの必須開始時刻との間の空き時間を算出する（ステップＳ６３）。空き時間が、この印刷ジョブの所要時間より長い場合（ステップＳ６４のＹｅｓ）、ジョブ投入処理を行う（ステップＳ６２）。ステップＳ６３とＳ６４の処理は、印刷待ち行列の最後まで繰り返す。
【００５９】
全ての印刷ジョブの間の空き時間が、この印刷ジョブの所要時間より短い場合（ステップＳ６４のＮｏ）、印刷待ち行列の最後尾にこの印刷ジョブのジョブ投入処理を行う（ステップＳ６５）。
【００６０】
図１０は、本発明の実施形態における印刷完了時刻指定ジョブの処理例を示す図である。図１０において、図（ａ）から（ｃ）の流れで処理が行われる。
【００６１】
図１０（ａ）は、印刷ジョブの待ち行列内に印刷ジョブＡからＥがある状態で、印刷完了時刻指定ジョブＦが投入された状態を示している。印刷ジョブＡからＥの内、印刷ジョブＢのみが、印刷完了時刻非指定ジョブである。図１０において、１７：００等は、時刻を示し、印刷所要時間は、分単位で示している。
【００６２】
まず、印刷ジョブＦの指定印刷完了時刻と、印刷ジョブＤの指定印刷完了時刻と印刷終了時刻に注目し、印刷ジョブＦは、印刷ジョブＣとＤとの間に挿入位置が決定される。次に、図１０（ｂ）に示すように、印刷完了時刻非指定ジョブＢが除かれ、終了時刻が更新される。次に、図１０（ｃ）に示すように、印刷ジョブＦが投入され、さらに、終了時刻が更新される。ここで、（ａ）および（ｂ）の処理の順序は、逆であってもよい。
【００６３】
図１１は、本発明の実施形態における印刷完了時刻非指定ジョブの処理例を示す図である。図１１において、図（ａ）から（ｂ）の流れで処理が行われる。図１１（ａ）は、図１０（ｃ）と同じである。すなわち、図１０（ｃ）から印刷完了時刻非指定ジョブの処理が始まる。
【００６４】
図１１（ａ）の状態で、図１０（ｂ）で除いた印刷ジョブＢの印刷待ち行列への挿入位置が決定される。図１１（ｂ）に示すように、印刷ジョブＢが、再度挿入され、終了時刻が更新された。
【００６５】
以上、実施形態を詳細に説明したが、本発明に実施形態によれば、印刷ジョブを何時までに印刷完了してほしいかを示す印刷完了時刻を指定する印刷完了指定手段と、印刷ジョブの印刷が完了するまでの印刷所要時間を推定する印刷所要時間推定手段と、印刷待ち行列内に複数の印刷完了時刻指定のある印刷ジョブとない印刷ジョブが存在している場合に、印刷完了時刻と印刷所要時間に基づいて印刷待ち行列内に存在する各印刷完了時刻指定のある印刷ジョブの印刷完了時刻が遵守可能なように並び順を変更する印刷順変更手段とを備えたことにより、印刷ジョブ投入の際に印刷完了時刻を指定できるようにした場合、印刷完了時刻指定のない印刷ジョブも含めた印刷ジョブ制御を可能とし、全体として、印刷効率のよい印刷ジョブ制御が可能となる。
【００６６】
また、本発明の実施形態によれば、指定されたプリンタに印刷完了時刻指定の印刷ジョブが新規に投入された場合に、印刷ジョブを印刷待ち行列内に挿入するが、印刷待ち行列内の印刷ジョブも含め、印刷完了時刻指定のある印刷ジョブの印刷完了時刻が遵守できるような挿入ができない場合、この印刷ジョブの投入は不可と判断し、投入ユーザーに対して通知する手段を設けたことにより、印刷ジョブ投入者は、自分が投入したい印刷完了時刻指定の印刷ジョブの投入が不可であることが判断でき、他のプリンタに投入を試みる、あるいは印刷完了時刻を変更し、再度同じプリンタに投入するなどの回避手段をとることができる。
【００６７】
また、本発明の実施形態によれば、自分が投入したい印刷完了時刻指定の印刷ジョブの投入が不可である場合、印刷ジョブ投入者は、印刷完了時刻を変更し、再度同じプリンタに投入するという回避手段をとることができるが、印刷完了時刻をどういう設定にすれば投入可能なのかの判断の目安を提供しないと再び失敗する可能性があが、投入不可と判断した印刷ジョブに対して、そのプリンタでの最短印刷完了時刻を印刷ジョブの投入ユーザーに対して提供し、印刷完了時刻で同意して印刷ジョブを投入するか、あるいは、投入を中止するかを選択可能を設けたことにより、自分が投入したい印刷完了時刻指定の印刷ジョブの投入が不可である場合、最短印刷完了時刻がわかれば、印刷ジョブ投入者は、提供された印刷完了時刻で同意できなければ、例えば、他のプリンタで印刷するという判断を即座にすることが可能となる。また、クライアントサーバーの場合、他のユーザーによって印刷ジョブが投入されてしまい、印刷待ち行列内の印刷ジョブ状況が変化してしまう可能性はあるが、再度同じプリンタへの印刷ジョブ投入における失敗を最小限にすることができる。
【００６８】
また、本発明の実施形態によれば、自分が投入したい印刷完了時刻指定の印刷ジョブの投入が不可である場合、印刷ジョブ投入者は、他のプリンタに投入するという回避手段をとることができるが、そのプリンタに印刷ジョブを投入してみないと投入可能なのかわからず、再び失敗する可能性があるが、複数のプリンタが存在する場合に、投入したプリンタで印刷不可と判断した印刷完了時刻指定の印刷ジョブに対して、印刷ジョブを投入し、印刷待ち行列内に挿入しても印刷待ち行列内の印刷ジョブも含め、印刷完了時刻指定のある印刷ジョブの印刷完了時刻が遵守できる他のプリンタをユーザーに提示することにしたので、自分が投入したい印刷完了時刻指定の印刷ジョブの投入が不可である場合、投入可能な他のプリンタがわかれば、ジョブ投入者は、投入可能な他のプリンタに印刷ジョブを投入するという判断を即座にすることが可能となる。また、クライアントサーバーの場合、他のユーザによって印刷ジョブがそのプリンタに投入されてしまい、印刷待ち行列内の印刷ジョブ状況が変化してしまう可能性はあるが、印刷ジョブ投入における失敗を最小限にすることができる。
【００６９】
また、本発明の実施形態によれば、印刷完了時刻指定のないの印刷ジョブが投入された場合に、印刷完了時刻指定のある印刷ジョブを優先的に印刷するのでは、印刷完了時刻指定のある印刷ジョブが大量に印刷待ち行列内に存在する場合に、長く待たされることになるが、指定されたプリンタに印刷完了時刻指定のないの印刷ジョブが投入された場合に、他の印刷ジョブの印刷完了時刻遵守に問題のない適切な位置に印刷完了時刻指定のない印刷ジョブを投入するので、印刷完了時刻指定のない印刷ジョブに関しても印刷効率のよい印刷ジョブ制御を可能とする。
【００７０】
また、本発明の実施形態によれば、実施形態の処理は、コンピューターに実現させるためのプログラムとしてメモリに記憶させ、ＣＰＵの制御により実行できる。
【００７１】
本発明の実施形態について、上記のように詳細に説明したが、上記の実施形態は、本発明の好適な実施の形態の例であり、これに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々変形して実施することが可能である。
【図面の簡単な説明】
【００７２】
【図１】本発明の実施形態における印刷制御装置のシステム構成を示すブロック図である。
【図２】本発明の印刷制御装置の構成を示すブロック図である。
【図３】本発明の実施形態における印刷制御装置の制御を示すブロック図である。
【図４】本発明の実施形態における印刷要求受信時の動作を示すフローチャートである。
【図５】本発明の実施形態における印刷完了時刻指定ジョブ処理を示すフローチャートである。
【図６】本発明の実施形態における印刷待ち行列内挿入位置決定処理を示すフローチャートである。
【図７】本発明の実施形態におけるジョブ投入処理を示すフローチャートである。
【図８】本発明の実施形態におけるジョブ投入不可時処理を示すフローチャートである。
【図９】本発明の実施形態における印刷完了時刻非指定ジョブ処理を示すフローチャートである。
【図１０】本発明の実施形態における印刷完了時刻指定ジョブの処理例を示す図である。
【図１１】本発明の実施形態における印刷完了時刻非指定ジョブの処理例を示す図である。
【符号の説明】
【００７３】
１    クライアント
２    印刷サーバ
３    プリンタ
４    ＬＡＮ
１０    ＣＰＵ
１１    メモリ
１２    入力装置
１３    表示装置
１４    ハードディスク
１５    バス
２０    印刷制御装置
３０    ジョブ要求受信部
３１    印刷完了時刻指定ジョブ処理部
３２    ジョブ投入不可時処理部
３３    印刷待ち行列内挿入位置決定処理部
４０    印刷完了時刻非指定ジョブ処理部
５０    ジョブ投入処理部
６０    ハードウエア
７０    オペレーティングシステム
【図１】
2005190017.tif 000003
【図２】
2005190017.tif 000004
【図３】
2005190017.tif 000005
【図４】
2005190017.tif 000006
【図５】
2005190017.tif 000007
【図６】
2005190017.tif 000008
【図７】
2005190017.tif 000009
【図８】
2005190017.tif 000010
【図９】
2005190017.tif 000011
【図１０】
2005190017.tif 000012
【図１１】
2005190017.tif 000013