(57)【要約】【課題】処理制限時刻のあるジョブ処理において、ジョブ処理の内容を変更せずとも、処理制限時刻までにジョブ処理が行われるようにする。【解決手段】ジョブ処理装置で処理されるジョブの制御を行うジョブ制御装置は、投入されたジョブの処理順位を管理し、投入された順番でジョブの処理が行われるようにジョブの管理を行う、処理順位管理手段と、前記処理順位管理手段で管理されているジョブの処理時間を予測して、新たに投入されたジョブが、その処理制限時刻までに処理されるかどうかを判断する、判断手段と、前記判断手段が前記新たに投入されたジョブは前記処理制限時刻までに処理されないと判断した場合には、前記処理制限時刻までにその処理が間に合うように、ジョブの処理内容を変更することなく、前記処理順位管理手段におけるジョブの処理方法を変更する、変更手段と、を備えて構成されている。【選択図】図３
2010176465.tif 000002
【特許請求の範囲】
【請求項１】
ジョブ処理装置で処理されるジョブの制御を行うジョブ制御装置であって、
投入されたジョブの処理順位を管理し、投入された順番でジョブの処理が行われるようにジョブの管理を行う、処理順位管理手段と、
前記処理順位管理手段で管理されているジョブの処理時間を予測して、新たに投入されたジョブが、その処理制限時刻までに処理されるかどうかを判断する、判断手段と、
前記判断手段が前記新たに投入されたジョブは前記処理制限時刻までに処理されないと判断した場合には、前記処理制限時刻までにその処理が間に合うように、ジョブの処理内容を変更することなく、前記処理順位管理手段におけるジョブの処理方法を変更する、変更手段と、
を備えることを特徴とするジョブ制御装置。
【請求項２】
前記処理制限時刻は、ジョブを生成するユーザーに関連付けられて定められている、ことを特徴とする請求項１に記載のジョブ制御装置。
【請求項３】
前記処理制限時刻は、ジョブに関連付けられて定められている、ことを特徴とする請求項１に記載のジョブ制御装置。
【請求項４】
前記処理制限時刻は、前記ジョブ処理装置に関連付けられて定められている、ことを特徴とする請求項１に記載のジョブ制御装置。
【請求項５】
前記変更手段は、前記判断手段が前記新たに投入されたジョブは前記処理制限時刻までに処理されないと判断した場合には、前記処理制限時刻までに前記新たに投入されたジョブの処理が行われるように、前記処理順位管理手段におけるジョブの処理順位を入れ替える、ことを特徴とする請求項１乃至請求項４のいずれかに記載のジョブ制御装置。
【請求項６】
前記変更手段は、前記判断手段が前記新たに投入されたジョブは前記処理制限時刻までに処理されないと判断した場合には、前記処理制限時刻までに前記新たに投入されたジョブの処理が行われるように、前記新たに投入されたジョブを複数のジョブ処理装置に分散させて処理させる、ことを特徴とする請求項１乃至請求項４のいずれかに記載のジョブ制御装置。
【請求項７】
前記変更手段は、前記判断手段が前記新たに投入されたジョブは前記処理制限時刻までに処理されないと判断した場合には、前記処理制限時刻までに前記新たに投入されたジョブの処理が行われるように、前記新たに投入されたジョブを、指定されたジョブ処理装置から他のジョブ処理装置に変更して処理させる、ことを特徴とする請求項１乃至請求項４のいずれかに記載のジョブ制御装置。
【請求項８】
ジョブ処理装置で処理されるジョブの制御を行うジョブ制御装置であって、投入されたジョブの処理順位を管理し、投入された順番でジョブの処理が行われるようにジョブの管理を行う、処理順位管理手段を備えるジョブ制御装置の制御方法において、
前記ジョブ制御装置が、前記処理順位管理手段で管理されているジョブの処理時間を予測して、新たに投入されたジョブが、その処理制限時刻までに処理されるかどうかを判断するステップと、
前記新たに投入されたジョブは前記処理制限時刻までに処理されないと判断した場合には、前記ジョブ制御装置が、前記処理制限時刻までにその処理が間に合うように、ジョブの処理内容を変更することなく、前記処理順位管理手段におけるジョブの処理方法を変更するステップと、
を備えることを特徴とするジョブ制御装置の制御方法。
【請求項９】
ジョブ処理装置で処理されるジョブの制御を行うジョブ制御装置であって、投入されたジョブの処理順位を管理し、投入された順番でジョブの処理が行われるようにジョブの管理を行う、処理順位管理手段を備えるジョブ制御装置の制御を行うプログラムにおいて、
前記処理順位管理手段で管理されているジョブの処理時間を予測して、新たに投入されたジョブが、その処理制限時刻までに処理されるかどうかを判断するステップと、
前記新たに投入されたジョブは前記処理制限時刻までに処理されないと判断した場合には、前記処理制限時刻までにその処理が間に合うように、ジョブの処理内容を変更することなく、前記処理順位管理手段におけるジョブの処理方法を変更するステップと、
を前記ジョブ制御装置に実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はジョブ制御装置に関し、特に、ジョブ処理装置でジョブを処理する際に、時間的な制限がある場合に用いられるジョブ制御装置に関する。
【背景技術】
【０００２】
ネットワークにプリンターを接続し、このプリンターを同じネットワークに接続された他のコンピューターと共用する印刷システムが広く普及している。このような印刷システムにおいては、コンピューターとプリンターとの間に、プリンターサーバーを設け、コンピューターから送信された印刷ジョブは、このプリンターサーバーで一旦受信され、このプリンターサーバーにおける印刷ジョブの順番などの管理を受けながら、プリンターで印刷が行われるようにして、コンピューターとプリンターの双方の有効利用が図れるようにしていることも多い。
【０００３】
さらに、このような印刷システムにおいては、多くのユーザーがプリンターを利用することから、このプリンターを利用できる時間に制限を設けている場合もある。例えば、あるユーザーＡは、プリンターを８：００から１９：００までは利用できるが、１９：００から翌８：００までは利用できないというような制限である。この制限がある場合、ユーザーＡが１９：００間際に印刷ジョブを投入した場合、このプリンターで１９：００までには処理される必要があり、１９：００を過ぎると１９：００前に投入した印刷ジョブであっても処理が行われなくなってしまう。
【０００４】
このような時間的な制限は、ユーザーに関連付けられて定められている場合だけでなく、印刷ジョブに関連付けられて定められている場合や、プリンターに関連付けられて定められている場合もある。このような場合でも、印刷制限時刻の間際に投入された印刷ジョブは、プリンターが空くのをまっている間に印刷制限時刻を経過してしまい、印刷処理が行われない可能性が生じてしまう。
【０００５】
このような問題を解決するため、特開２００６−２１８８０４号公報（特許文献１）では、プリンターサーバーに投入された印刷ジョブの処理時間をプリンターサーバが予測し、この予測の結果、印刷制限時刻までに印刷ができないと判断された印刷ジョブについては、簡易印刷に変更して印刷を行うことにより、印刷時間を短縮し、印刷制限時刻までに印刷が完了するようにしている。
【０００６】
しかしながら、この特開２００６−２１８８０４号公報で開示する手法では、印刷結果がユーザーの期待するものと異なってしまうことになる。例えば、カラー印刷を指定したにも拘わらず、モノクロ印刷の印刷物が出力されてしまうことになる。このため、たとえ印刷が完了したとしても、ユーザーの満足度は低くなってしまう恐れもある。
【０００７】
このような問題は、プリンターのジョブを制御するプリンターサーバーに限らず、プリンター以外のジョブ処理装置のジョブを制御するジョブ制御装置であれば、同様に生じ得る。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００６−２１８８０４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
そこで本発明は、前記課題に鑑みてなされたものであり、処理制限時刻のあるジョブ処理において、ジョブ処理の内容を変更せずとも、処理制限時刻までにジョブ処理が行われるようにして、ジョブ処理に関するユーザーの満足度を向上させることを目的とする。
【課題を解決するための手段】
【００１０】
上記の課題を解決するために、本発明に係るジョブ制御装置は、
ジョブ処理装置で処理されるジョブの制御を行うジョブ制御装置であって、
投入されたジョブの処理順位を管理し、投入された順番でジョブの処理が行われるようにジョブの管理を行う、処理順位管理手段と、
前記処理順位管理手段で管理されているジョブの処理時間を予測して、新たに投入されたジョブが、その処理制限時刻までに処理されるかどうかを判断する、判断手段と、
前記判断手段が前記新たに投入されたジョブは前記処理制限時刻までに処理されないと判断した場合には、前記処理制限時刻までにその処理が間に合うように、ジョブの処理内容を変更することなく、前記処理順位管理手段におけるジョブの処理方法を変更する、変更手段と、
を備えることを特徴とする。
【００１１】
この場合、前記処理制限時刻は、ジョブを生成するユーザーに関連付けられて定められているようにしてもよい。
【００１２】
或いは、前記処理制限時刻は、ジョブに関連付けられて定められているようにしてもよい。
【００１３】
或いは、前記処理制限時刻は、前記ジョブ処理装置に関連付けられて定められているようにしてもよい。
【００１４】
また、前記変更手段は、前記判断手段が前記新たに投入されたジョブは前記処理制限時刻までに処理されないと判断した場合には、前記処理制限時刻までに前記新たに投入されたジョブの処理が行われるように、前記処理順位管理手段におけるジョブの処理順位を入れ替えるようにしてもよい。
【００１５】
或いは、前記変更手段は、前記判断手段が前記新たに投入されたジョブは前記処理制限時刻までに処理されないと判断した場合には、前記処理制限時刻までに前記新たに投入されたジョブの処理が行われるように、前記新たに投入されたジョブを複数のジョブ処理装置に分散させて処理させるようにしてもよい。
【００１６】
或いは、前記変更手段は、前記判断手段が前記新たに投入されたジョブは前記処理制限時刻までに処理されないと判断した場合には、前記処理制限時刻までに前記新たに投入されたジョブの処理が行われるように、前記新たに投入されたジョブを、指定されたジョブ処理装置から他のジョブ処理装置に変更して処理させるようにしてもよい。
【００１７】
本発明に係るジョブ制御装置の制御方法は、
ジョブ処理装置で処理されるジョブの制御を行うジョブ制御装置であって、投入されたジョブの処理順位を管理し、投入された順番でジョブの処理が行われるようにジョブの管理を行う、処理順位管理手段を備えるジョブ制御装置の制御方法において、
前記ジョブ制御装置が、前記処理順位管理手段で管理されているジョブの処理時間を予測して、新たに投入されたジョブが、その処理制限時刻までに処理されるかどうかを判断するステップと、
前記新たに投入されたジョブは前記処理制限時刻までに処理されないと判断した場合には、前記ジョブ制御装置が、前記処理制限時刻までにその処理が間に合うように、ジョブの処理内容を変更することなく、前記処理順位管理手段におけるジョブの処理方法を変更するステップと、
を備えることを特徴とする。
【００１８】
本発明に係るプログラムは、
ジョブ処理装置で処理されるジョブの制御を行うジョブ制御装置であって、投入されたジョブの処理順位を管理し、投入された順番でジョブの処理が行われるようにジョブの管理を行う、処理順位管理手段を備えるジョブ制御装置の制御を行うプログラムにおいて、
前記処理順位管理手段で管理されているジョブの処理時間を予測して、新たに投入されたジョブが、その処理制限時刻までに処理されるかどうかを判断するステップと、
前記新たに投入されたジョブは前記処理制限時刻までに処理されないと判断した場合には、前記処理制限時刻までにその処理が間に合うように、ジョブの処理内容を変更することなく、前記処理順位管理手段におけるジョブの処理方法を変更するステップと、
を前記ジョブ制御装置に実行させることを特徴とする。
【図面の簡単な説明】
【００１９】
【図１】本発明に係る印刷システムの全体構成の一例を示す図である。
【図２】図１におけるプリンターサーバーの内部構成の一例を示すブロック図である。
【図３】本発明の第１実施形態における印刷ジョブ変更処理の内容を概念的に説明するための図であり、図３（ａ）は投入された順番で印刷ジョブを処理した場合における予測処理時間を示しており、図３（ｂ）は変更後の印刷ジョブの予測処理時間を示している。
【図４】第１実施形態に係るプリンターサーバーで実行される印刷ジョブ変更処理の内容の一例を説明するフローチャートを示す図。
【図５】第１実施形態に係るプリンターサーバーで受信される印刷ジョブのフォーマットの一例を示す図。
【図６】第１実施形態に係るプリンターサーバーが保持する印刷制限時間管理テーブルの構成の一例を示す図。
【図７】本発明の第２実施形態における印刷ジョブ変更処理の内容を概念的に説明するための図であり、図７（ａ）は投入された順番で印刷ジョブを処理した場合における予測処理時間を示しており、図７（ｂ）は変更後の印刷ジョブの予測処理時間を示している。
【図８】第２実施形態に係るプリンターサーバーで実行される印刷ジョブ変更処理の内容の一例を説明するフローチャートを示す図。
【図９】第２実施形態に係るプリンターサーバーで受信される印刷ジョブのフォーマットの一例を示す図。
【図１０】本発明の第３実施形態における印刷ジョブ変更処理の内容を概念的に説明するための図であり、図１０（ａ）は投入された順番で印刷ジョブを処理した場合における予測処理時間を示しており、図１０（ｂ）は変更後の印刷ジョブの予測処理時間を示している。
【図１１】第３実施形態に係るプリンターサーバーで実行される印刷ジョブ変更処理の内容の一例を説明するフローチャートを示す図。
【図１２】第３実施形態に係るプリンターサーバーで受信される印刷ジョブのフォーマットの一例を示す図。
【図１３】第３実施形態に係るプリンターサーバーが保持する印刷制限時間管理テーブルの構成の一例を示す図。
【図１４】本発明に係る印刷システムの全体構成の別の例を示す図である。
【図１５】本発明の第４実施形態における印刷ジョブ変更処理の内容を概念的に説明するための図であり、図１５（ａ）は投入された順番で印刷ジョブを処理した場合における予測処理時間を示しており、図１５（ｂ）は変更後の印刷ジョブの予測処理時間を示している。
【図１６】第４実施形態に係るプリンターサーバーで実行される印刷ジョブ変更処理の内容の一例を説明するフローチャートを示す図。
【図１７】本発明の第５実施形態における印刷ジョブ変更処理の内容を概念的に説明するための図であり、図１７（ａ）は投入された順番で印刷ジョブを処理した場合における予測処理時間を示しており、図１７（ｂ）は変更後の印刷ジョブの予測処理時間を示している。
【図１８】第５実施形態に係るプリンターサーバーで実行される印刷ジョブ変更処理の内容の一例を説明するフローチャートを示す図。
【図１９】図１に示した印刷システムの変形例を説明するための図である。
【図２０】図１４に示した印刷システムの変形例を説明するための図である。
【発明を実施するための形態】
【００２０】
以下、図面を参照して、本発明の実施形態を説明する。なお、以下に説明する実施形態は、本発明の技術的範囲を限定するものではない。
【００２１】
〔第１実施形態〕
図１は、本発明の第１実施形態に係る印刷システム１０の全体構成を示すブロック図である。この図１に示すように、本実施形態に係る印刷システム１０は、ネットワーク１２に接続された、１又は複数のコンピューター１４と、プリンターサーバー１６とを備えており、このプリンターサーバー１６を介して接続されたプリンター１８を備えている。
【００２２】
この図１の例では、３台のコンピューター１４Ａ〜１４Ｃが、ネットワーク１２に接続されており、１台のプリンター１８が、プリンターサーバー１６に接続されている。但し、ネットワーク１２に接続されるコンピューター１４の台数は任意であり、プリンターサーバ１６に接続されるプリンター１８の台数も任意である。
【００２３】
ネットワーク１２は、いわゆるローカルエリアネットワークであり、このプリンター１８を複数のコンピューター１４で共用することを１つの目的として、ネットワークが構築されている。コンピューター１４は、印刷ジョブを生成し、プリンター１８に送信する、ジョブ生成装置の一例であり、例えば、パーソナルコンピューターやＰＤＡ（Personal Digital Assistant）などにより構成されている。プリンター１８は、ジョブ生成装置で生成されたジョブを受信して、そのジョブの処理を行うジョブ処理装置の一例である。
【００２４】
図２は、本実施形態に係るプリンターサーバー１６の内部構成の一例を示すブロック図である。この図２に示すように、本実施形態に係るプリンターサーバー１６は、ＣＰＵ（Central Processing Unit）２０と、ＲＡＭ（Random Access Memory）２２と、ＲＯＭ（Read Only Memory）２４と、ハードディスクドライブ２６と、ユーザーインターフェース２８と、表示画面３０と、通信インターフェース３２と、プリンター接続インターフェース３４とを備えて構成されている。これらＣＰＵ２０と、ＲＡＭ２２と、ＲＯＭ２４と、ハードディスクドライブ２６と、ユーザーインターフェース２８と、表示画面３０と、通信インターフェース３２と、プリンター接続インターフェース３４は、内部バス３６を介して相互に接続されている。
【００２５】
ＣＰＵ２０は、このプリンターサーバー１６の全体的な制御を行う制御部を構成する。特に、本実施形態においては、ＣＰＵ２０は、主として、コンピューター１４から受信した印刷ジョブをスプーラーを用いて管理し、プリンター１８の稼働状況に応じて、適宜、スプーラーに存在する印刷ジョブをプリンター１８に送信し、プリンター１８で出力させるための制御を行う。また、ＣＰＵ２０は、このプリンターサーバー１６における各種の制御を行うにあたり、その制御を実現するのに必要なプログラムをＲＯＭ２４やハードディスクドライブ２６から読み込んだり、生成されたデーターをＲＡＭ２２やユーザーハードディスクドライブ２６に書き込んだりする。
【００２６】
ハードディスクドライブ２６は、いわゆる大容量の補助記憶装置を構成しており、プログラムの他、コンピューター１４から受信した印刷ジョブなども不揮発的に記憶される。ユーザーインターフェース２８は、ユーザーがこのプリンターサーバー１６に各種の情報や指示を入力するためのインターフェースである。例えば、このユーザーインターフェースは、キーボードやマウスなどにより、構成されている。
【００２７】
表示画面３０は、プリンターサーバー１６が各種の情報を表示するための画面である。例えば、この表示画面３０は、ＬＣＤ（Liquid Crystal Display）装置により構成されていてもよいし、ＣＲＴ（Cathode Ray Tube）装置により構成されていてもよい。また、図２では、表示画面３０は、このプリンターサーバー１６の本体に一体に設けられている場合を図示しているが、表示画面３０はプリンターサーバー１６の本体とは別個に設けられるようにしてもよい。この場合、プリンターサーバー１６の本体と表示画面３０との間は、ケーブル等により接続されることとなる。
【００２８】
通信インターフェース３２は、プリンターサーバー１６をネットワーク１２に接続するためのインターフェースである。このため、本実施形態においては、この通信インターフェース３２とネットワーク１２とを介して、プリンターサーバー１６とコンピューター１４との間の通信が実現される。
【００２９】
プリンター接続インターフェース３４は、プリンター１８をプリンターサーバー１６に接続するためのインターフェースである。具体的には、このプリンター接続インターフェース３４に、プリンターケーブルの一端を接続し、このプリンターケーブルの他端をプリンター１８に接続することにより、プリンター１８とプリンターサーバー１６とが接続される。このため、本実施形態においては、このプリンター接続インターフェース３４を介して、プリンターサーバー１６とプリンター１８との間の通信が実現される。
【００３０】
次に、図３に基づいて、本実施形態に係るプリンターサーバー１６が行う印刷ジョブの制御について概略的に説明する。この図３は、プリンターサーバー１６が行ったジョブ処理時間の予測を模式的に示している。すなわち、スプーラーに溜まっている印刷ジョブのそれぞれの処理時間を予測し、その処理開始時刻と処理完了時刻とを予測した状態を、概念的に説明するための図である。
【００３１】
この図３（ａ）に示すように、プリンターサーバー１６がプリンター１８用に形成しているスプーラーに、印刷ジョブＡ１と印刷ジョブＢ１がある状態で、新たに印刷ジョブＣ１が投入されてきたとする。印刷ジョブＡ１を生成したユーザーは、ユーザーＡであり、印刷ジョブＢ１を生成したユーザーは、ユーザーＢであり、印刷ジョブＣ１を生成したユーザーは、ユーザーＣであるとする。そして、ここで、ユーザーＣは、プリンター１８に対して印刷制限時間が設定されており、印刷制限時刻である１９：００以降は印刷ができない設定になっている。
【００３２】
このような状況の下、印刷制限時刻の間際である１８：５５に、ユーザーＣの印刷ジョブＣ１が、プリンターサーバー１６におけるプリンター１８のスプーラーに投入されたとする。例えば、コンピューター１４Ｃから、このプリンターサーバー１６に印刷ジョブＣ１が送信され、プリンター１８のスプーラーに印刷ジョブＣ１が投入されたとする。この場合、投入された順番に印刷ジョブの処理を行うと、印刷ジョブＣ１が実際にプリンター１８で処理されるのは１９：００以降になってしまい、その印刷が実現できなくなってしまう。
【００３３】
そこで、本実施形態に係るプリンターサーバー１６では、図３（ｂ）に示すように、印刷ジョブＣ１を印刷ジョブＢ１よりも前の印刷順位に移動して、印刷ジョブＣ１と印刷ジョブＢ１の双方が印刷されるかどうかを判断する。例えば、印刷ジョブＢ１を生成したユーザーＢには、プリンター１８に対して印刷時間制限が設定されていない場合には、このような印刷ジョブの入れ替えを行っても、印刷ジョブＢ１の印刷は行われる。また、印刷ジョブＣ１の印刷処理も、１９：００までに終了するため、この印刷ジョブＣ１の印刷も正常に行われる。このような場合には、プリンターサーバー１６は、図３（ｂ）に示すように、スプーラー内の印刷ジョブＢ１と印刷ジョブＣ１の処理順序を入れ替えて、プリンター１８で印刷を行うようにするのである。
【００３４】
図４は、このような処理をプリンターサーバー１６で実現するために、プリンターサーバー１６で実行される印刷ジョブ変更処理の内容を説明するためのフローチャートを示す図である。この印刷ジョブ変更処理は、プリンターサーバー１６に新たな印刷ジョブが投入された場合に、起動される処理である。すなわち、プリンター１８のスプーラーに新に印刷ジョブを追加する場合に、起動される処理である。
【００３５】
また、この印刷ジョブ変更処理は、プリンターサーバー１６のＣＰＵ２０が、ＲＯＭ２４又はハードディスクドライブ２６に格納されている印刷ジョブ変更処理プログラムを読み込んで実行することにより、実現される処理である。以下の説明では、上述の図３に示したように、印刷ジョブＡ１、印刷ジョブＢ１、印刷ジョブＣ１の順に、スプーラーに印刷ジョブが投入されたと仮定する。
【００３６】
この図４に示すように、この印刷ジョブ変更処理が起動されると、まず、プリンターサーバー１６は、新しく投入された印刷ジョブを生成したユーザーを特定する（ステップＳ１００）。図５は、本実施形態に係る印刷ジョブのデーターフォーマットの一例を示す図である。この図５に示すように、本実施形態に係る印刷ジョブには、印刷すべきデーターである印刷データーと、これに付随する情報として、この印刷ジョブを生成したユーザーを特定する情報であるユーザー特定情報とを、少なくとも含んで構成されている。このため、ステップＳ１００では、プリンターサーバー１６は、この印刷ジョブを解析して、印刷ジョブを生成したユーザーが誰であるのかを特定する。
【００３７】
次に、図４に示すように、プリンターサーバー１６は、ステップＳ１００で特定したユーザーの印刷制限時刻を取得する（ステップＳ１０２）。このユーザーの印刷制限時刻は、例えば、プリンターサーバー１６に予め登録しておくことができる。図６は、本実施形態に係るプリンターサーバー１６が保持する、印刷制限時間管理テーブルＴＢ１０の構成の一例を示す図である。この印刷制限時間管理テーブルＴＢ１０は、例えば、ハードディスクドライブ２６に形成され、保持されている。印刷制限時間管理テーブルＴＢ１０では、ユーザー特定情報と、そのユーザー特定情報で特定されるユーザーの印刷制限時間とが、関連付けられて、保持されている。
【００３８】
ステップＳ１０２においては、プリンターサーバー１６は、このハードディスクドライブ２６にある印刷制限時間管理テーブルＴＢ１０を検索して、ステップＳ１００で特定したユーザーに、印刷制限時間があるかどうかを判断し、印刷制限時間がある場合には、その開始時刻である印刷制限時刻を取得する。例えば、ステップＳ１００において特定したユーザーＣのユーザー特定情報が「Ｃ１２３４５６」であったとすると、プリンターサーバー１６は、印刷制限時間管理テーブルＴＢ１０を検索することにより、このユーザーＣの印刷制限時間が１９：００から翌８：００であり、印刷制限の開始時刻である印刷制限時刻が１９：００であると特定することができる。
【００３９】
次に、図４に示すように、プリンターサーバー１６は、新たに投入された印刷ジョブが、ステップＳ１０２で取得した印刷制限時刻までに終了するかどうかを判断する（ステップＳ１０４）。具体的には、プリンターサーバー１６は、図３（ａ）で例示したような各印刷ジョブの印刷処理時間を予測して、各印刷ジョブの印刷完了時刻を予測する。そして、予測した印刷完了時刻が、ステップＳ１０２で取得した印刷制限時刻より前であるかどうかを判断する。図３（ａ）の例では、印刷ジョブＣ１の印刷完了時刻は、ユーザーＣの印刷制限時刻の１９：００より後であるので、この印刷ジョブＣ１は、印刷制限時刻までに印刷が終了しないと判断する。
【００４０】
ステップＳ１０４において、投入された印刷ジョブが印刷制限時刻までに印刷が終了しないと判断した場合（ステップＳ１０４：ＮＯ）には、プリンターサーバー１６は、投入された印刷ジョブよりも印刷順位が前にある印刷ジョブの中で、印刷順位を後ろに移動しても、その印刷制限時刻までに印刷が終了するジョブがあり、且つ、その印刷ジョブの印刷順位を後ろに移動することにより、投入された印刷ジョブがその印刷制限時刻までに印刷が終了するようになるかどうかを判断する（ステップＳ１０６）。
【００４１】
例えば、図３（ａ）の例では、印刷ジョブＣ１が１８：５５に投入された時点で、印刷ジョブＢ１の処理は、まだ、開始されていない。このため、プリンターサーバー１６は、図３（ｂ）に示すように、この印刷ジョブＢ１の印刷順位の前に、印刷ジョブＣ１を移動しても、印刷ジョブＢ１の印刷が印刷制限時刻までに行われるかどうかを判断する。印刷ジョブＢ１の印刷制限時刻は、ステップＳ１００、ステップＳ１０２と同様の手法で、プリンターサーバー１６が取得する。すなわち、印刷ジョブＢ１を生成したユーザーＢを、印刷ジョブＢ１を解析することにより特定し、この特定されたユーザーＢの印刷制限時刻を印刷制限時間管理テーブルＴＢ１０を検索することにより特定する。そして、印刷ジョブＢ１と印刷ジョブＣ１の印刷完了時刻を予測し、ユーザーＢの印刷制限時刻までに、印刷順位を移動した印刷ジョブＢ１の印刷が終了するかどうかを判断する。
【００４２】
例えば、ユーザーＢのユーザー特定情報が「Ｂ２３２３２３」であり、印刷制限時間管理テーブルＴＢ１０を検索した結果、ユーザーＢの印刷制限時刻は設定されていなかったとすると、図３（ｂ）に示すように、印刷ジョブＢ１の印刷順位を印刷ジョブＣ１の後ろに移動しても、印刷ジョブＢ１はプリンター１８で正常に印刷されると予測することができる。さらにまた、印刷ジョブＣ１を、印刷ジョブＢ１の印刷順位の前に移動することにより、印刷ジョブＣ１も、ユーザーＣの印刷制限時刻までに印刷が完了すると予測されている。
【００４３】
このように、投入された印刷ジョブよりも印刷順位が前にある印刷ジョブの中で、印刷順位を後ろに移動しても、その印刷制限時刻までに印刷が終了するジョブがあり、且つ、前にある印刷ジョブを後ろに移動することにより、投入された印刷ジョブがその印刷制限時刻までに印刷が終了するようになると判断した場合（ステップＳ１０６：ＹＥＳ）には、プリンターサーバー１６は、その印刷順位を入れ替える（ステップＳ１０８）。
【００４４】
図３の例では、図３（ａ）にある印刷ジョブＣ１の印刷順位を、図３（ｂ）のように印刷ジョブＢ１の前に移動する。これにより、印刷ジョブＣ１は、ユーザーＣの印刷制限時刻までに処理が終了するようになり、また、印刷ジョブＢ１も、ユーザーＢの印刷制限時刻までに処理が終了するようになる。これにより、この印刷ジョブ変更処理を終了する。
【００４５】
これに対して、上述したステップＳ１０４において、新たにスプーラーに投入された印刷ジョブを、投入された順番で処理しても印刷制限時刻までに終了すると判断した場合（ステップＳ１０４：ＹＥＳ）、又は、上述したステップＳ１０６において、印刷順位を後ろに移動しても印刷制限時刻までに印刷が終了する印刷ジョブが無い、或いは、移動したとしても投入した印刷ジョブが印刷制限時刻までに終了しないと判断した場合（ステップＳ１０６：ＮＯ）には、印刷ジョブの印刷順位の入れ替えをすることなく、この印刷ジョブ変更処理を終了する。
【００４６】
すなわち、スプーラーに投入された順番で印刷ジョブを処理しても、新たに投入された印刷ジョブが印刷制限時刻までに終了するのであれば、そのままの印刷順位で印刷を行う。また、新たに投入された印刷ジョブが印刷制限時刻までに終了せずとも、印刷順位を後ろに移動して印刷制限時刻までに終了する印刷ジョブが無い場合には、印刷ジョブの印刷順位の入れ替えは行わないようにしている。これは、すでに印刷ジョブがスプーラーに投入されているので、この投入されている印刷順位を尊重した方が、この印刷システム１０を利用するユーザーの利便性は良くなると考えられるからである。
【００４７】
さらに、たとえ他の印刷ジョブを後ろに移動しても、新たに投入した印刷ジョブが印刷制限時刻までに終了しない場合にも、印刷ジョブの印刷順位の入れ替えは行わないようにしている。これは、新たに投入した印刷ジョブが印刷制限時刻までに印刷が終了しないのであれば、印刷順位を入れ替える意味がないためである。
【００４８】
以上のように、本実施形態に係る印刷システム１０によれば、プリンターサーバー１６は、スプーラーで管理されている印刷ジョブの処理時間を予測し、新たに投入された印刷ジョブが、その印刷ジョブを生成したユーザーの印刷制限時刻までに終了するかどうかを判断することとした。そして、印刷制限時刻までに終了しないと判断した場合には、スプーラーに溜まっている印刷ジョブのそれぞれの印刷完了時刻を推測して、新たに投入された印刷ジョブよりも前の印刷順位にある印刷ジョブを、新たに投入した印刷ジョブの後ろに移動することにより、後ろに移動した印刷ジョブもその印刷ジョブを生成したユーザーの印刷制限時刻までに印刷が終了し、且つ、新たに投入された印刷ジョブもその印刷ジョブを生成したユーザーの印刷制限時刻までに印刷が終了するようになるかどうかを調べる。その上で、もし、このような印刷ジョブの入れ替えを行うことにより、後ろに移動した印刷ジョブの印刷が正常に行われ、且つ、新たに投入された印刷ジョブの印刷も正常に行われると予測できる場合には、印刷ジョブの入れ替えを行うことにより、双方の印刷ジョブの印刷が行われるようにしているのである。
【００４９】
このため、印刷時刻に制限があるにも拘わらず、ユーザーは、指定した通りの印刷設定で印刷結果を得ることができるようになる。例えば、印刷ジョブの設定がカラー印刷である場合には、設定通りのカラー印刷で印刷結果を取得することができる。このため、印刷結果に対するユーザーの満足度を向上させることができる。
【００５０】
〔第２実施形態〕
上述した第１実施形態は、各ユーザー毎にプリンター１８の印刷制限時間が設定されている印刷システム１０に本発明を適用した例であるが、第２実施形態では、各印刷ジョブに対して印刷制限時刻が設定されている印刷システム１０に本発明を適用したものである。以下、上述した第１実施形態と異なる部分を説明する。
【００５１】
図７は、本実施形態に係るプリンターサーバー１６が行う印刷ジョブの制御について概略的に説明するための図であり、上述した図３に対応する図である。この図７は、プリンターサーバー１６が行ったジョブ処理時間の予測を模式的に示している。すなわち、スプーラーに溜まっている印刷ジョブのそれぞれの処理時間を予測し、その処理開始時刻と処理完了時刻とを予測した状態を、概念的に説明するための図である。
【００５２】
この図７（ａ）に示すように、プリンターサーバー１６がプリンター１８用に形成しているスプーラーに、印刷ジョブＡ２と印刷ジョブＢ２がある状態で、新たに印刷ジョブＣ２が投入されてきたとする。印刷ジョブＡ２と印刷ジョブＢ２には、印刷制限時刻が設定されてないが、印刷ジョブＣ２には、１９：００までの印刷制限時刻が設定されている。すなわち、印刷ジョブＣ２のジョブとしての有効期限が１９：００になっている。このため、印刷ジョブＣ２は、印刷制限時刻の１９：００までに、その処理が終了していなければならない。
【００５３】
このような状況の下、１８：５５に、ユーザーＣの印刷ジョブＣ２が、プリンターサーバー１６におけるプリンター１８のスプーラーに投入されたとすると、投入された順番で印刷ジョブの処理を行うと、印刷ジョブＣ２が実際にプリンター１８で処理されるのは１９：００以降になってしまい、その印刷が実現できなくなってしまう。
【００５４】
そこで、本実施形態に係るプリンターサーバー１６では、図７（ｂ）に示すように、印刷ジョブＣ２を印刷ジョブＢ２よりも前の印刷順位に移動して、印刷ジョブＣ２と印刷ジョブＢ２の双方が印刷されるかどうかを判断する。例えば、印刷ジョブＢ２には印刷制限時刻が設定されていない場合には、このような印刷ジョブの入れ替えを行っても、印刷ジョブＢ２の印刷は正常に行われる。また、印刷ジョブＣ２の印刷処理も、１９：００までに終了するため、この印刷ジョブＣ２の印刷も正常に行われる。このような場合には、プリンターサーバー１６は、図７（ｂ）に示すように、印刷ジョブＢ２と印刷ジョブＣ２の処理順序を入れ替えて、プリンター１８で印刷を行うようにするのである。
【００５５】
図８は、このような処理をプリンターサーバー１６で実現するために、プリンターサーバー１６で実行される印刷ジョブ変更処理の内容を説明するためのフローチャートを示す図である。この印刷ジョブ変更処理は、プリンターサーバー１６に新たな印刷ジョブが投入された場合に、起動される処理である。すなわち、プリンター１８のスプーラーに新に印刷ジョブを追加する場合に、起動される処理である。
【００５６】
また、この印刷ジョブ変更処理は、プリンターサーバー１６のＣＰＵ２０が、ＲＯＭ２４又はハードディスクドライブ２６に格納されている印刷ジョブ変更処理プログラムを読み込んで実行することにより、実現される処理である。以下の説明では、上述の図７に示したように、印刷ジョブＡ２、印刷ジョブＢ２、印刷ジョブＣ２の順に、スプーラーに印刷ジョブが投入されたと仮定する。
【００５７】
この図８に示すように、この印刷ジョブ変更処理が起動されると、まず、プリンターサーバー１６は、新しくスプーラーに投入された印刷ジョブの印刷制限時刻を取得する（ステップＳ２００）。図９は、本実施形態に係る印刷ジョブのデーターフォーマットの一例を示す図である。この図９に示すように、本実施形態に係る印刷ジョブには、印刷すべきデーターである印刷データーと、これに付随する情報として、この印刷ジョブの有効期限である印刷制限時刻とを、少なくとも含んで構成されている。このため、ステップＳ２００では、プリンターサーバー１６は、この印刷ジョブを解析して、新しく投入された印刷ジョブの印刷制限時刻を特定する。
【００５８】
次に、図８に示すように、プリンターサーバー１６は、新たに投入された印刷ジョブが、ステップＳ２００で取得した印刷制限時刻までに終了するかどうかを判断する（ステップＳ２０２）。具体的には、プリンターサーバー１６は、図７（ａ）で例示したような各印刷ジョブの印刷処理時間を予測して、各印刷ジョブの印刷完了時刻を予測する。そして、新たに投入された印刷ジョブについて予測した印刷完了時刻が、ステップＳ２００で取得した印刷制限時刻より前であるかどうかを判断する。図７（ａ）の例では、印刷ジョブＣ２の印刷完了時刻は、印刷制限時刻の１９：００より後であるので、この印刷ジョブＣ２は、印刷制限時刻までに印刷が終了しないと判断する。
【００５９】
ステップＳ２０２において、投入された印刷ジョブの印刷処理が印刷制限時刻までに終了しないと判断した場合（ステップＳ２０２：ＮＯ）には、プリンターサーバー１６は、投入された印刷ジョブよりも印刷順位が前にある印刷ジョブの中で、印刷順位を後ろに移動しても、その印刷制限時刻までに印刷が終了するジョブがあり、且つ、前にある印刷ジョブを後ろに移動することにより、投入された印刷ジョブがその印刷制限時刻までに印刷が終了するようになるかどうかを判断する（ステップＳ２０４）。
【００６０】
例えば、図７（ａ）の例では、印刷ジョブＣ１が１８：５５に投入された時点で、印刷ジョブＢ２の処理は、まだ、開始されていない。このため、プリンターサーバー１６は、図７（ｂ）に示すように、この印刷ジョブＢ２の印刷順位の前に、印刷ジョブＣ２を移動しても、印刷ジョブＢ２の印刷が印刷制限時刻までに行われるかどうかを判断する。印刷ジョブＢ２の印刷制限時刻は、ステップＳ２００と同様の手法で、プリンターサーバー１６が取得する。すなわち、印刷ジョブＢ２を解析して、印刷ジョブＢ２の印刷制限時刻を取得する。そして、印刷ジョブＢ２と印刷ジョブＣ２の印刷完了時刻を予測し、印刷ジョブＢ２を後ろに移動しても、印刷ジョブＢ２の印刷制限時刻までに、印刷ジョブＢ２の印刷が終了するかどうかを判断する。ここでは、印刷ジョブＢ２には、印刷制限時刻が設定されていないと仮定する。
【００６１】
図７（ｂ）の例の場合、印刷ジョブＢ２の印刷順位を印刷ジョブＣ２の後ろに移動しても、印刷ジョブＢ２には印刷制限時刻が設定されていないため、印刷ジョブＢ２はプリンター１８で正常に印刷されると予測することができる。また、印刷ジョブＣ２を、印刷ジョブＢ２の印刷順位の前に移動することにより、印刷ジョブＣ２も、印刷ジョブＣ２の印刷制限時刻までに印刷が完了すると予測されている。
【００６２】
このように、投入された印刷ジョブよりも印刷順位が前にある印刷ジョブの中で、印刷順位を後ろに移動しても、その印刷制限時刻までに印刷が終了する印刷ジョブがあり、且つ、前にある印刷ジョブを後ろに移動することにより、投入された印刷ジョブがその印刷制限時刻までに印刷が終了するようになると判断した場合（ステップＳ２０４：ＹＥＳ）には、プリンターサーバー１６は、その印刷順位を入れ替える（ステップＳ２０６）。
【００６３】
図７の例では、図７（ａ）にある印刷ジョブＣ２の印刷順位を、図７（ｂ）のように印刷ジョブＢ２の前に移動する。これにより、印刷ジョブＣ２は、印刷ジョブＣ２に設定されている印刷制限時刻までに処理が終了するようになり、また、印刷ジョブＢ２も、印刷ジョブＢ２に設定されている印刷制限時刻までに処理が終了するようになる。これにより、この印刷ジョブ変更処理を終了する。
【００６４】
これに対して、上述したステップＳ２０２において、投入された印刷ジョブをスプーラーに投入された順番で処理しても、印刷制限時刻までに終了すると判断した場合（ステップＳ２０２：ＹＥＳ）、又は、上述したステップＳ２０４において、印刷順位を後ろに移動しても印刷制限時刻までに印刷が終了する印刷ジョブが無い、或いは、移動したとしても投入した印刷ジョブが印刷制限時刻までに終了しないと判断した場合（ステップＳ２０４：ＮＯ）には、印刷ジョブの印刷順位の入れ替えをすることなく、この印刷ジョブ変更処理を終了する。
【００６５】
すなわち、スプーラーに投入された順番で印刷ジョブを処理しても、新たに投入された印刷ジョブが印刷制限時刻までに終了するのであれば、そのままの印刷順位で印刷を行う。また、新たに投入された印刷ジョブが印刷制限時刻までに終了せずとも、印刷順位を後ろに移動して印刷制限時刻までに終了する印刷ジョブが無い場合には、印刷ジョブの印刷順位の入れ替えは行わないようにしている。これは、すでに印刷ジョブがスプーラーに投入されているので、この投入されている印刷順位を尊重した方が、印刷システム１０のユーザーの利便性は良くなると考えられるからである。
【００６６】
さらに、たとえ他の印刷ジョブを後ろに移動しても、新たに投入した印刷ジョブが印刷制限時刻までに終了しない場合にも、印刷ジョブの印刷順位の入れ替えは行わないようにしている。これは、新たに投入した印刷ジョブが印刷制限時刻までに印刷が終了しないのであれば、印刷順位を入れ替える意味がないためである。
【００６７】
以上のように、本実施形態に係る印刷システム１０によれば、プリンターサーバー１６は、スプーラーで管理されている印刷ジョブの処理時間を予測し、新たに投入された印刷ジョブが、その印刷ジョブに設定されている印刷制限時刻までに終了するかどうかを判断することとした。そして、印刷制限時刻までに終了しないと判断した場合には、スプーラーに溜まっている印刷ジョブのそれぞれの印刷完了時刻を予測して、新たに投入された印刷ジョブよりも前の印刷順位にある印刷ジョブを、新たに投入した印刷ジョブの後ろに移動することにより、後ろに移動した印刷ジョブもその印刷ジョブに設定されている印刷制限時刻までに印刷が終了し、且つ、新たに投入された印刷ジョブもその印刷ジョブに設定されている印刷制限時刻までに印刷が終了するようになるかどうかを調べる。その上で、もし、このような印刷ジョブに入れ替えを行うことにより、後ろに移動した印刷ジョブの印刷が正常に行われ、且つ、新たに投入された印刷ジョブの印刷も正常に行われると予測できる場合には、印刷ジョブの入れ替えを行うことにより、双方の印刷ジョブの印刷が行われるのである。
【００６８】
このため、印刷時刻に制限があるにも拘わらず、ユーザーは、指定した通りの印刷設定で印刷結果を得ることができるようになる。例えば、印刷ジョブの設定がカラー印刷である場合には、設定通りのカラー印刷で印刷結果を取得することができる。このため、印刷結果に対するユーザーの満足度を向上させることができる。
【００６９】
〔第３実施形態〕
上述した第１実施形態はユーザーに対して印刷制限時刻が設定されている印刷システム、上述した第２実施形態は印刷ジョブに対して印刷制限時刻が設定されている印刷システムに、本発明を適用した例であるが、本発明の第３実施形態は、プリンター１８に対して印刷制限時刻が設定されている印刷システム１０に、本発明を適用したものである。以下、上述した第１実施形態と異なる部分を説明する。
【００７０】
図１０は、本実施形態に係るプリンターサーバー１６が行う印刷ジョブの制御について概略的に説明するための図であり、上述した図３に対応する図である。この図１０は、プリンターサーバー１６が行ったジョブ処理時間の予測を模式的に示している。すなわち、スプーラーに溜まっている印刷ジョブのそれぞれの処理時間を予測し、その処理開始時刻と処理完了時刻とを予測した状態を、概念的に説明するための図である。
【００７１】
この図１０（ａ）に示すように、プリンターサーバー１６がプリンター１８用に形成しているスプーラーに、印刷ジョブＡ３と印刷ジョブＢ３がある状態で、新たに印刷ジョブＣ３が投入されてきたとする。また、プリンター１８自体に、印刷制限時刻が設定されており、例えば、プリンター１８の印刷制限時刻が１９：００であったと仮定する。このため、プリンター１８では、印刷制限時刻である１９：００までに印刷処理を開始した印刷ジョブは最後まで印刷を行うが、印刷制限時刻である１９：００以降に印刷処理を開始する印刷ジョブは受け付けない仕組みになっている。
【００７２】
このような状況の下、１８：５５に、ユーザーＣの印刷ジョブＣ３が、プリンターサーバー１６におけるプリンター１８のスプーラーに投入されたとすると、スプーラーに投入された順番で印刷ジョブの処理を行うと、印刷ジョブＣ３の処理が実際にプリンター１８で開始されるのは１９：００以降になってしまい、その印刷が実現できなくなってしまう。
【００７３】
そこで、本実施形態に係るプリンターサーバー１６では、図１０（ｂ）に示すように、印刷ジョブＣ３を印刷ジョブＢ３よりも前の印刷順位に移動して、印刷ジョブＣ３と印刷ジョブＢ３の双方が印刷されるかどうかを判断する。例えば、印刷ジョブＣ３を印刷ジョブＡ３の処理が終了した後に開始するようにすると、この印刷ジョブＣ３の処理は、１８：５８に終了すると予測されている。そして、１８：５８に印刷ジョブＢ３の処理をプリンター１８で開始すれば、印刷ジョブＢ３も処理が最後まで行われる。このような場合には、プリンターサーバー１６は、図１０（ｂ）に示すように、印刷ジョブＢ３と印刷ジョブＣ３の処理順序を入れ替えて、プリンター１８で印刷を行うようにするのである。
【００７４】
図１１は、このような処理をプリンターサーバー１６で実現するために、プリンターサーバー１６で実行される印刷ジョブ変更処理の内容を説明するためのフローチャートを示す図である。この印刷ジョブ変更処理は、プリンターサーバー１６に新たな印刷ジョブが投入された場合に、起動される処理である。すなわち、プリンター１８のスプーラーに新に印刷ジョブを追加する場合に、起動される処理である。
【００７５】
また、この印刷ジョブ変更処理は、プリンターサーバー１６のＣＰＵ２０が、ＲＯＭ２４又はハードディスクドライブ２６に格納されている印刷ジョブ変更処理プログラムを読み込んで実行することにより、実現される処理である。以下の説明では、上述の図１１に示したように、印刷ジョブＡ３、印刷ジョブＢ３、印刷ジョブＣ３の順に、スプーラーに印刷ジョブが投入されたと仮定する。
【００７６】
この図４に示すように、この印刷ジョブ変更処理が起動されると、まず、プリンターサーバー１６は、新しく投入された印刷ジョブの印刷をするプリンターを特定する（ステップＳ３００）。投入された印刷ジョブの処理をするプリンターを如何にして特定するかは、任意である。本実施形態においては、例えば、図１２に示すように、印刷ジョブに、印刷データーに加えて、印刷処理をするプリンターを特定する情報であるプリンター特定情報が、少なくとも、含まれている。このため、プリンターサーバー１６は、この印刷ジョブを解析することにより、その印刷ジョブの印刷処理をするプリンターを特定することができる。ここでは、プリンター１８が、印刷処理を行うプリンターとして、印刷ジョブに指定されていたとする。
【００７７】
次に、図１１に示すように、プリンターサーバー１６は、ステップＳ３００で特定したプリンターに関する印刷制限時刻を特定する（ステップＳ３０２）。プリンターの印刷制限時間は、例えば、プリンターの管理者が、それぞれのプリンター自体に予め設定している。本実施形態においては、この印刷制限時間の設定は、プリンターの管理者がプリンターに設定する際に、プリンターサーバー１６にも、その印刷制限時間を予め登録しておくこととしている。なお、プリンターの管理者がプリンターサーバー１６に、プリンターの印刷制限時間を登録するのではなく、接続されているプリンターにプリンターサーバー１６がアクセスし、各プリンターから、設定されている印刷制限時間を取得するようにしてもよい。
【００７８】
図１３は、本実施形態に係るプリンターサーバー１６が保持する、印刷制限時間管理テーブルＴＢ２０の構成の一例を示す図である。この印刷制限時間管理テーブルＴＢ２０は、例えば、ハードディスクドライブ２６に形成され、保持されている。印刷制限時間管理テーブルＴＢ２０には、プリンターを特定するためのプリンター特定情報と、印刷を制限する時間である印刷制限時間とが、対応付けられて、保持されている。この印刷制限時間の開始時刻が、本実施形態における印刷制限時刻となる。
【００７９】
ステップＳ３０２においては、プリンターサーバー１６は、このハードディスクドライブ２６にある印刷制限時間管理テーブルＴＢ２０を検索して、ステップＳ３００で特定したプリンターに、印刷制限時間があるかどうかを判断し、印刷制限時間がある場合には、その開始時刻である印刷制限時刻を取得する。例えば、ステップＳ３００において特定したプリンター１８のプリンター特定情報が「Ｘ１２３４５６」であったとすると、プリンターサーバー１６は、印刷制限時間管理テーブルＴＢ２０を検索することにより、このプリンター１８の印刷制限時間が１９：００から翌８：００であり、印刷制限の開始時刻である印刷制限時刻が１９：００であると特定することができる。
【００８０】
次に、図１１に示すように、プリンターサーバー１６は、新たにスプーラー投入された印刷ジョブの処理が、投入された順番で処理を行った場合に、ステップＳ３０２で取得した印刷制限時刻までに開始されるかどうかを判断する（ステップＳ３０４）。具体的には、プリンターサーバー１６は、図１０（ａ）で例示したような各印刷ジョブの印刷処理時間を予測して、各印刷ジョブの印刷開始時刻を予測する。そして、予測した印刷開始時刻が、ステップＳ３０２で取得した印刷制限時刻より前であるかどうかを判断する。図１０（ａ）の例では、印刷ジョブＣ３の印刷開始時刻は、プリンター１８の印刷制限時刻の１９：００より後であるので、この印刷ジョブＣ３は、印刷制限時刻までに印刷が終了しないと判断する。
【００８１】
ステップＳ３０４において、投入された印刷ジョブが印刷制限時刻までに印刷が開始されないと判断した場合（ステップＳ３０４：ＮＯ）には、プリンターサーバー１６は、投入された印刷ジョブよりも印刷順位が前にある印刷ジョブの印刷順位を後ろに移動すると、後ろに移動した印刷ジョブも新たに投入した印刷ジョブも、ともに、プリンター１８の印刷制限時刻までに印刷が開始されるようになるかどうかを判断する（ステップＳ３０６）。
【００８２】
例えば、図１０（ａ）の例では、印刷ジョブＣ３が１８：５５に投入された時点で、印刷ジョブＢ３の処理は、まだ、開始されていない。このため、プリンターサーバー１６は、図１０（ｂ）に示すように、この印刷ジョブＢ３の印刷順位の前に、印刷ジョブＣ３を移動しても、印刷ジョブＢ３の印刷がプリンター１８の印刷制限時刻までに開始されるかどうかを判断する。図１０（ｂ）の例では、印刷ジョブＢ３の印刷順位を印刷ジョブＣ３の後ろに移動しても、印刷ジョブＢ３はプリンター１８の印刷制限時刻までにその処理が開始されると予測されていることを示している。
【００８３】
このように、投入された印刷ジョブよりも印刷順位が前にある印刷ジョブの印刷順位を後ろに移動することにより、この移動した印刷ジョブも、新たに投入された印刷ジョブもともに、プリンターの印刷制限時刻までに印刷が開始されるようになると判断した場合（ステップＳ３０６：ＹＥＳ）には、プリンターサーバー１６は、その印刷順位を入れ替える（ステップＳ３０８）。
【００８４】
図１０の例では、図１０（ａ）にある印刷ジョブＣ３の印刷順位を、図１０（ｂ）のように印刷ジョブＢ３の前に移動する。これにより、印刷ジョブＣ３は、プリンター１８の印刷制限時刻までに処理が開始されるようになり、また、印刷ジョブＢ３も、プリンター１８の印刷制限時刻までに処理が開始されるようになる。印刷ジョブＢ３は、プリンター１８の印刷制限時刻までにはその処理が開始されているため、処理の途中で１９：００になったとしても、最後まで処理は続行される。これにより、本実施形態に係る印刷ジョブ変更処理は終了する。
【００８５】
これに対して、上述したステップＳ３０４において、スプーラーに投入された順番で印刷ジョブの処理を行っても、投入された印刷ジョブの処理が、プリンターの印刷制限時刻までに開始されると判断した場合（ステップＳ３０４：ＹＥＳ）、又は、上述したステップＳ３０６において、前にある印刷ジョブの印刷順位を後ろに移動すると、その移動した印刷ジョブの処理が印刷制限時刻までに開始されない、或いは、移動したとしても投入した印刷ジョブの処理が印刷制限時刻までに開始されないと判断した場合（ステップＳ３０６：ＮＯ）には、印刷ジョブの印刷順位の入れ替えをすることなく、この印刷ジョブ変更処理を終了する。
【００８６】
すなわち、スプーラーに投入された順番で印刷ジョブを処理しても、新たに投入された印刷ジョブの処理がプリンターの印刷制限時刻までに開始されるのであれば、そのままの印刷順位で印刷を行う。また、印刷順位を後ろに移動して印刷制限時刻までに処理の開始される印刷ジョブが無い場合には、新たに投入された印刷ジョブの処理が印刷制限時刻までに開始せずとも、印刷ジョブの印刷順位の入れ替えは行わないようにしている。これは、すでに印刷ジョブがスプーラーに投入されているので、この投入されている印刷順位を尊重した方が、印刷システム１０のユーザーの利便性は良くなると考えられるからである。
【００８７】
さらに、たとえ他の印刷ジョブを後ろに移動しても、新たに投入した印刷ジョブの処理が印刷制限時刻までに開始されない場合にも、印刷ジョブの印刷順位の入れ替えは行わないようにしている。これは、新たに投入した印刷ジョブの処理が印刷制限時刻までに開始されないのであれば、印刷順位を入れ替える意味がないためである。
【００８８】
以上のように、本実施形態に係る印刷システム１０によれば、プリンターサーバー１６は、スプーラーで管理されている印刷ジョブの処理時間を予測し、新たに投入された印刷ジョブが、指定されたプリンターの印刷制限時刻までに開始されるかどうかを判断することとした。そして、印刷制限時刻までに開始されないと判断した場合には、スプーラーに溜まっている印刷ジョブのそれぞれの印刷開始時刻を推定して、新たに投入された印刷ジョブよりも前の印刷順位にある印刷ジョブを、新たに投入した印刷ジョブの後ろに移動することにより、後ろに移動した印刷ジョブもプリンターの印刷制限時刻までに印刷が開始され、且つ、新たに投入された印刷ジョブもプリンターの印刷制限時刻までに印刷が開始されるようになるかどうかを調べる。その上で、もし、このような印刷ジョブに入れ替えを行うことにより、後ろに移動した印刷ジョブの印刷がプリンターの印刷制限時刻までに開始され、且つ、新たに投入された印刷ジョブの印刷もプリンターの印刷制限時刻までに開始されると予測できる場合には、印刷ジョブの入れ替えを行うことにより、双方の印刷ジョブの印刷が行われるようにしている。
【００８９】
このため、印刷時刻に制限があるにも拘わらず、ユーザーは、指定した通りの印刷設定で印刷結果を得ることができるようになる。例えば、印刷ジョブの設定がカラー印刷である場合には、設定通りのカラー印刷で印刷結果を取得することができる。このため、印刷結果に対するユーザーの満足度を向上させることができる。
【００９０】
〔第４実施形態〕
上述した第１実施形態乃至第３実施形態においては、プリンターサーバー１６は、１つのプリンターのスプーラー内で印刷ジョブの印刷順位を入れ替えることにより、印刷制限時刻までに印刷ジョブの処理が行われるようにしていた。本発明の第４実施形態では、プリンターサーバー１６は、他のプリンターに印刷処理の一部を振り替えることにより、印刷制限時刻までに印刷ジョブの処理が行われるようにしたものである。以下、上述した第１実施形態と異なる部分を説明する。
【００９１】
図１４は、本発明の第４実施形態に係る印刷システム１０の全体構成を示すブロック図である。この図１４に示すように、本実施形態に係る印刷システム１０では、図１に示した印刷システム１０に第２のプリンター１９を追加することにより構成されている。すなわち、上述したプリンター１８を第１のプリンター１８とすると、プリンターサーバー１６には、この第１のプリンター１８に加えて、第２のプリンター１９が接続されている。これら２台のプリンター１８、１９がプリンターサーバー１６に接続されている点以外は、上述した図１の印刷システム１０と同一の構成である。
【００９２】
次に、図１５に基づいて、本実施形態に係るプリンターサーバー１６が行う印刷ジョブの制御について概略的に説明する。この図１５は、プリンターサーバー１６が行ったジョブ処理時間の予測を模式的に示している。すなわち、スプーラーに溜まっている印刷ジョブのそれぞれの処理時間を予測し、その処理開始時刻と処理完了時刻とを予測した状態を、概念的に説明するための図である。
【００９３】
この図１５（ａ）に示すように、プリンターサーバー１６がプリンター１８用に形成しているスプーラに、印刷ジョブＡ４がある状態で、新たに印刷ジョブＣ４が投入されてきたとする。印刷ジョブＡ４を生成したユーザーは、ユーザーＡであり、印刷ジョブＣ４を生成したユーザーは、ユーザーＣであるとする。そして、ここでは、ユーザーＣは、第１のプリンター１８と第２のプリンター１９に対して印刷制限時間が設定されており、１９：００以降は、プリンター１８、１９で印刷ができない設定になっている。
【００９４】
このような状況の下、１８：５５に、ユーザーＣの印刷ジョブＣ４が、プリンターサーバー１６における第１のプリンター１８のスプーラーに投入されたとすると、このままの印刷ジョブの処理順序だと、印刷ジョブＣ４の印刷処理が実際に第１のプリンター１８で終了するのは１９：００以降になってしまい、その印刷が実現できなくなってしまう。
【００９５】
そこで、本実施形態に係るプリンターサーバー１６では、図１５（ｂ）に示すように、印刷ジョブＣ４を、第１のプリンター１８による印刷処理と第２のプリンター１９による印刷処理とに分散させることにより、印刷制限時刻の１９：００までに印刷処理が完了するようにしている。
【００９６】
すなわち、印刷ジョブＣ４が第１のプリンター１８のスプーラーに投入された時点で、第２のプリンター１９では印刷処理が行われおらず、アイドル状態である。このため、プリンターサーバー１６は、印刷ジョブＣ４の一部の印刷処理を、第１のプリンター１８から第２のプリンター１９に振り分けて、印刷を行う。例えば、印刷ジョブＣ４が全２０ページで構成されている場合、第１ページから第１０ページまでを第１のプリンター１８で印刷し、第１１ページから第２０ページまでを第２のプリンター１９で印刷する。ユーザーは、これら第１のプリンター１８の印刷結果と第２のプリンター１９の印刷結果とを、自分で結合することにより、目的の印刷物を取得することができる。
【００９７】
図１６は、このような処理をプリンターサーバー１６で実現するために、プリンターサーバー１６で実行される印刷ジョブ変更処理の内容を説明するためのフローチャートを示す図である。この印刷ジョブ変更処理は、プリンターサーバー１６に新たな印刷ジョブが投入された場合に、起動される処理である。すなわち、プリンター１８のスプーラーに新に印刷ジョブを追加する場合に、起動される処理である。
【００９８】
また、この印刷ジョブ変更処理は、プリンターサーバー１６のＣＰＵ２０が、ＲＯＭ２４又はハードディスクドライブ２６に格納されている印刷ジョブ変更処理プログラムを読み込んで実行することにより、実現される処理である。以下の説明では、上述の図１５に示したように、印刷ジョブＡ４、印刷ジョブＣ４の順に、第１のプリンター１８のスプーラーに印刷ジョブが投入されたと仮定する。
【００９９】
この図１６に示すように、この印刷ジョブ変更処理が起動されると、まず、プリンターサーバー１６は、新しく投入された印刷ジョブを生成したユーザーを特定する（ステップＳ４００）。印刷ジョブを生成したユーザーを特定するための処理は、上述した第１実施形態のステップＳ１００と同様である。
【０１００】
次に、図１６に示すように、プリンターサーバー１６は、ステップＳ４００で特定したユーザーの印刷制限時刻を取得する（ステップＳ４０２）。このユーザーの印刷制限時刻を特定するための処理も、上述した第１実施形態のステップＳ１０２と同様である。ここでは、上述した第１実施形態と同様に、ユーザーＣの印刷制限時刻が１９：００であったと仮定する。
【０１０１】
次に、図１６に示すように、プリンターサーバー１６は、スプーラーに投入された順番で処理を行った場合に、新たに投入された印刷ジョブが、ステップＳ４０２で取得した印刷制限時刻までに終了するかどうかを判断する（ステップＳ４０４）。具体的には、プリンターサーバー１６は、図１５（ａ）で例示したような各印刷ジョブの印刷処理時間を予測して、各印刷ジョブの印刷完了時刻を予測する。そして、予測した印刷完了時刻が、ステップＳ４０２で取得した印刷制限時刻より前であるかどうかを判断する。図１５（ａ）の例では、印刷ジョブＣ４の印刷完了時刻は、ユーザーＣの印刷制限時刻の１９：００より後であるので、この印刷ジョブＣ４は、印刷制限時刻までに印刷が終了しないと判断する。
【０１０２】
ステップＳ４０４において、投入された印刷ジョブが印刷制限時刻までに印刷が終了しないと判断した場合（ステップＳ４０４：ＮＯ）には、プリンターサーバー１６は、他のプリンターに印刷ジョブを振り分けることにより、投入された印刷ジョブの印刷処理が、そのユーザーの印刷制限時刻までに終了するようになるかどうかを判断する（ステップＳ４０６）。
【０１０３】
例えば、図１５（ａ）の例では、印刷ジョブＣ４が１８：５５に投入された時点で、第２のプリンター１９は、印刷処理が行われていない。このため、第２のプリンター１９を使用すれば、直ちに印刷を開始することができる。また、第１のプリンター１８においても、印刷ジョブＡ４の印刷処理は、１９：００よりも前に完了すると予測されている。このため、第１のプリンター１８においても、印刷ジョブＡ４の印刷処理が完了した後に、印刷を行うことができる。
【０１０４】
したがって、本実施形態においては、プリンターサーバー１６は、印刷ジョブＣ４の一部の処理を第２のプリンター１９で直ちに行い、残りを、印刷ジョブＡ４の印刷処理完了後の第１のプリンター１８で行うことにより、印刷ジョブＣ４をユーザーＣの印刷制限時刻までに終了させることができると判断する。
【０１０５】
このように、分散印刷を行うことにより、投入された印刷ジョブの印刷がその印刷制限時刻までに終了するようになると判断した場合（ステップＳ４０６：ＹＥＳ）には、プリンターサーバー１６は、分散印刷を行う（ステップＳ４０８）。
【０１０６】
図１５の例では、図１５（ｂ）に示すように、印刷ジョブＣ４の第１１ページから第２０ページを第２のプリンター１９で印刷をするように切り替える。そして、印刷ジョブＣ４の第１ページから第１０ページを第１のプリンター１８で印刷をする。すなわち、第１のプリンター１８における印刷ジョブＡ４の印刷処理が完了した後に、第１のプリンター１８で、第１ページから第１０ページまでの印刷を行う。
【０１０７】
次に、プリンターサーバー１６は、分散印刷をした旨の通知を、ユーザーに送信する（ステップＳ４１０）。すなわち、プリンターサーバー１６は、ネットワーク１２を介して、分散印刷をした印刷ジョブを送信したコンピューター１４に、分散印刷を行った旨の通知を送信する。この通知では、どのプリンターに分散したのかを特定する情報も、含まれている。ユーザーは、コンピューター１４でこの通知を受信し、分散印刷されたプリンターから印刷結果を取得して、それらを結合することにより、目的の印刷物を得ることができる。
【０１０８】
上述した例では、印刷ジョブＣ４を送信したのがコンピューター１４Ｃであったと仮定すると、プリンターサーバー１６は、コンピューター１４Ｃにネットワーク１２を介して、分散印刷をした旨の通知を行い、また、第１のプリンター１８と第２のプリンター１９とで分散印刷を行った旨を通知する。この通知を受けたユーザーＣは、第１のプリンター１８の印刷結果と第２のプリンター１９の印刷結果とを結合することにより、目的の印刷物を得ることができる。
【０１０９】
これに対して、上述したステップＳ４０４において、スプーラーに投入された順番で印刷ジョブの処理を行っても、投入された印刷ジョブが印刷制限時刻までに終了すると判断した場合（ステップＳ４０４：ＹＥＳ）、又は、上述したステップＳ４０６において、分散印刷をしても、投入された印刷ジョブが印刷制限時刻までに終了しないと判断した場合（ステップＳ４０６：ＮＯ）には、分散印刷をすることなく、この印刷ジョブ変更処理を終了する。
【０１１０】
すなわち、スプーラーに投入された順番で印刷ジョブを処理しても、新たに投入された印刷ジョブが印刷制限時刻までに終了するのであれば、そのままの印刷順位で印刷を行う。また、分散印刷をしても、新たに投入された印刷ジョブが印刷制限時刻までに終了しない場合や、そもそも他のプリンターが稼働しておりプリンターの空きが無い場合などでは、分散印刷は行わない。
【０１１１】
以上のように、本実施形態に係る印刷システム１０によれば、プリンターサーバー１６は、スプーラーで管理されている印刷ジョブの処理時間を予測し、スプーラーに溜まっている印刷ジョブのそれぞれの印刷完了時刻を推測して、新たに投入された印刷ジョブが、その印刷ジョブを生成したユーザーの印刷制限時刻までに終了するかどうかを判断することとした。そして、印刷制限時刻までに終了しないと判断した場合には、他のプリンターに印刷処理を分散させることにより、その印刷ジョブが印刷制限時刻までに終了できるようになるか判断し、印刷制限時刻までに終了できると判断した場合には、分散印刷をすることにより、印刷が最後まで行われるようにした。
【０１１２】
このため、異なる複数のプリンターの出力結果を結合するだけで、ユーザーは、印刷時刻に制限があるにも拘わらず、指定した通りの印刷設定で印刷結果を得ることができるようになる。例えば、印刷ジョブの設定がカラー印刷である場合には、設定通りのカラー印刷で印刷結果を取得することができる。このため、印刷結果に対するユーザーの満足度を向上させることができる。
【０１１３】
〔第５実施形態〕
上述した第４実施形態においては、プリンターサーバー１６は、他のプリンターに印刷ジョブの処理の一部を振り替えることにより、印刷制限時刻までに印刷ジョブの処理が完了するようにしたが、第５実施形態においては、他のプリンターに印刷処理の全部を振り替えることにより、印刷制限時刻までに印刷ジョブの処理が行われるようにしたものである。以下、上述した第４実施形態と異なる部分を説明する。
【０１１４】
まず、図１７に基づいて、本実施形態に係るプリンターサーバー１６が行う印刷ジョブの制御について概略的に説明する。この図１７は、プリンターサーバー１６が行ったジョブ処理時間の予測を模式的に示している。すなわち、スプーラーに溜まっている印刷ジョブのそれぞれの処理時間を予測し、その処理開始時刻と処理完了時刻とを予測した状態を、概念的に説明するための図である。
【０１１５】
この図１７（ａ）に示すように、プリンターサーバー１６がプリンター１８用に形成しているスプーラに、印刷ジョブＡ５がある状態で、新たに印刷ジョブＣ５が投入されてきたとする。印刷ジョブＡ５を生成したユーザーは、ユーザーＡであり、印刷ジョブＣ５を生成したユーザーは、ユーザーＣであるとする。そして、ここでは、ユーザーＣは、第１のプリンター１８と第２のプリンター１９に対して印刷制限時間が設定されており、１９：００以降は、プリンター１８、１９で印刷ができない設定になっているものとする。
【０１１６】
このような状況の下、１８：５５に、ユーザーＣの印刷ジョブＣ５が、プリンターサーバー１６における第１のプリンター１８のスプーラーに投入されたとすると、このままの印刷ジョブの処理順序だと、印刷ジョブＣ５の印刷処理が実際に第１のプリンター１８で終了するのは１９：００以降になってしまい、その印刷が実現できなくなってしまう。
【０１１７】
そこで、本実施形態に係るプリンターサーバー１６では、図１７（ｂ）に示すように、印刷ジョブＣ５を、第２のプリンター１９で処理することにより、印刷制限時刻の１９：００までに印刷処理が完了するようにしている。
【０１１８】
すなわち、印刷ジョブＣ５が第１のプリンター１８のスプーラーに投入された時点で、第２のプリンター１９では印刷処理が行われおらず、アイドル状態である。このため、プリンターサーバー１６は、印刷ジョブＣ５の印刷処理全体を、第１のプリンター１８から第２のプリンター１９に変更して、代替印刷を行う。例えば、印刷ジョブＣ５が全２０ページで構成されている場合、第１ページから第２０ページまでの全部を、第２のプリンター１９で印刷する。ユーザーは、第２のプリンター１９から、目的の印刷物を取得することができる。
【０１１９】
図１８は、このような処理をプリンターサーバー１６で実現するために、プリンターサーバー１６で実行される印刷ジョブ変更処理の内容を説明するためのフローチャートを示す図である。この印刷ジョブ変更処理は、プリンターサーバー１６に新たな印刷ジョブが投入された場合に、起動される処理である。すなわち、プリンター１８のスプーラーに新に印刷ジョブを追加する場合に、起動される処理である。
【０１２０】
また、この印刷ジョブ変更処理は、プリンターサーバー１６のＣＰＵ２０が、ＲＯＭ２４又はハードディスクドライブ２６に格納されている印刷ジョブ変更処理プログラムを読み込んで実行することにより、実現される処理である。以下の説明では、上述の図１７に示したように、印刷ジョブＡ５、印刷ジョブＣ５の順に、第１のプリンター１８のスプーラーに印刷ジョブが投入されたと仮定する。
【０１２１】
この図１８に示すように、この印刷ジョブ変更処理が起動されると、まず、プリンターサーバー１６は、新しく投入された印刷ジョブを生成したユーザーを特定する（ステップＳ５００）。印刷ジョブを生成したユーザーを特定するための処理は、上述した第１実施形態のステップＳ１００と同様である。
【０１２２】
次に、図１８に示すように、プリンターサーバー１６は、ステップＳ５００で特定したユーザーの印刷制限時刻を取得する（ステップＳ５０２）。このユーザーの印刷制限時刻を特定するための処理も、上述した第１実施形態のステップＳ１０２と同様である。ここでは、上述した第１実施形態と同様に、ユーザーＣの印刷制限時刻が１９：００であったと仮定する。
【０１２３】
次に、図１８に示すように、プリンターサーバー１６は、新たに投入された印刷ジョブが、ステップＳ５０２で取得した印刷制限時刻までに終了するかどうかを判断する（ステップＳ５０４）。具体的には、プリンターサーバー１６は、図１７（ａ）で例示したような各印刷ジョブの印刷処理時間を予測して、各印刷ジョブの印刷完了時刻を予測する。そして、予測した印刷完了時刻が、ステップＳ５０２で取得した印刷制限時刻より前であるかどうかを判断する。図１７（ａ）の例では、印刷ジョブＣ５の印刷完了時刻は、ユーザーＣの印刷制限時刻の１９：００より後であるので、この印刷ジョブＣ５は、印刷制限時刻までに印刷が終了しないと判断する。
【０１２４】
ステップＳ５０４において、スプーラーに投入された順番で印刷ジョブの処理を行うと、新たに投入された印刷ジョブの処理が印刷制限時刻までに終了しないと判断した場合（ステップＳ５０４：ＮＯ）には、プリンターサーバー１６は、他のプリンターで、その印刷ジョブを処理することにより、投入された印刷ジョブの印刷処理が、そのユーザーの印刷制限時刻までに終了するかどうかを判断する（ステップＳ５０６）。
【０１２５】
例えば、図１７（ａ）の例では、印刷ジョブＣ５が１８：５５に投入された時点で、第２のプリンター１９は、印刷処理が行われていない。このため、第２のプリンター１９を使用すれば、直ちに印刷を開始することができる。このため、本実施形態においては、プリンターサーバー１６は、印刷ジョブＣ５を第１のプリンター１８で処理するのではなく、第２のプリンター１９で直ちに処理を開始することにより、印刷ジョブＣ５をユーザーＣの印刷制限時刻までに終了させることができると判断する。
【０１２６】
このように、代替印刷を行うことにより、新たに投入された印刷ジョブの印刷がその印刷制限時刻までに終了するようになると判断した場合（ステップＳ５０６：ＹＥＳ）には、プリンターサーバー１６は、代替印刷を行う（ステップＳ５０８）。
【０１２７】
図１７の例では、図１７（ｂ）に示すように、印刷ジョブＣ５の全体の処理を、第１のプリンター１８ではなく、第２のプリンター１９で行うように変更して、第２のプリンター１９ですべての印刷処理を行う。
【０１２８】
次に、プリンターサーバー１６は、代替印刷をした旨の通知を、ユーザーに送信する（ステップＳ５１０）。すなわち、プリンターサーバー１６は、ネットワーク１２を介して、代替印刷をした印刷ジョブを送信したコンピューター１４に、代替印刷を行った旨の通知を送信する。この通知では、どのプリンターに印刷を振り替えたのかを特定する情報も、含まれている。ユーザーは、コンピューター１４でこの通知を受信し、代替印刷されたプリンターから、目的の印刷物を得ることができる。
【０１２９】
上述した例では、印刷ジョブＣ５を送信したのがコンピューター１４Ｃであったと仮定すると、プリンターサーバー１６は、コンピューター１４Ｃにネットワーク１２を介して、代替印刷をした旨の通知を行い、また、第１のプリンター１８ではなく、第２のプリンター１９で印刷処理を行った旨を通知する。この通知を受けたユーザーＣは、第２のプリンター１９から、目的の印刷物を得ることができる。
【０１３０】
これに対して、上述したステップＳ５０４において、スプーラーに投入された順番に印刷ジョブを処理しても、新たに投入された印刷ジョブが印刷制限時刻までに終了すると判断した場合（ステップＳ５０４：ＹＥＳ）、又は、上述したステップＳ５０６において、代替印刷をしても、新たに投入された印刷ジョブが印刷制限時刻までに終了しないと判断した場合（ステップＳ５０６：ＮＯ）には、代替印刷をすることなく、この印刷ジョブ変更処理を終了する。
【０１３１】
すなわち、スプーラーに投入された順番で印刷ジョブを処理しても、新たに投入された印刷ジョブが印刷制限時刻までに終了するのであれば、そのままの印刷順位で指定されたプリンターによる印刷を行う。また、代替印刷をしても、新たに投入された印刷ジョブが印刷制限時刻までに終了しない場合や、そもそも他のプリンターが稼働しておりプリンターに空きが無い場合などでは、代替印刷は行わない。
【０１３２】
以上のように、本実施形態に係る印刷システム１０によれば、プリンターサーバー１６は、スプーラーで管理されている印刷ジョブの処理時間を予測し、スプーラーに溜まっている印刷ジョブのそれぞれの印刷完了時刻を推定して、新たに投入された印刷ジョブが、その印刷ジョブを生成したユーザーの印刷制限時刻までに終了するかどうかを判断することとした。そして、印刷制限時刻までに終了しないと判断した場合には、他のプリンターに印刷処理を代行させることにより、その印刷ジョブが印刷制限時刻までに終了できるようになるか判断し、印刷制限時刻までに終了できると判断した場合には、代替印刷をすることにより、印刷が最後まで行われるようにした。
【０１３３】
このため、ユーザーが指定したプリンターとは異なるプリンターで印刷物が出力されるが、印刷時刻に制限があるにも拘わらず、指定した通りの印刷設定で印刷結果を得ることができるようになる。例えば、印刷ジョブの設定がカラー印刷である場合には、設定通りのカラー印刷で印刷結果を取得することができる。このため、印刷結果に対するユーザーの満足度を向上させることができる。
【０１３４】
なお、本発明は上記実施形態に限定されず種々に変形可能である。例えば、上述した実施形態では、プリンターサーバー１６が印刷ジョブ変更処理を行い、スプーラーに保持されている印刷ジョブの処理順序を変更したり、分散印刷や代替印刷を行うように変更したりすることとしたが、この印刷ジョブ変更処理をプリンターサーバー１６以外で行うようにしてもよい。例えば、図１に対応する図１９に示すように、ネットワーク１２上にジョブ制御装置４０を別個に設け、このジョブ制御装置４０が、上述した印刷ジョブ変更処理を行い、プリンターサーバー１６に形成されているスプーラー内の印刷ジョブの処理順序を変更するようにしてもよい。同様に、図１４に対応する図２０に示すように、ネットワーク１２上にジョブ制御装置４０を別個に設け、このジョブ制御装置４０が、上述した印刷ジョブ変更処理を行い、プリンターサーバー１６に形成されているスプーラー内の印刷ジョブについて、分散印刷をするように変更したり、代替印刷をするように変更したりするようにしてもよい。
【０１３５】
また、印刷制限時刻を経過する時点で処理している印刷ジョブについて、印刷制限時刻を経過した時点で直ちにその処理が中断されるのか、それとも、印刷制限時刻を経過する時点で処理の開始されている印刷ジョブについては最後まで処理を行うのかは、任意の設定である。例えば、第１実施形態、第２実施形態、及び、第４実施形態乃至第６実施形態においては、印刷制限時刻を経過した時点で直ちにその処理が中断される場合を例に本発明を説明したが、印刷制限時刻を経過する時点で処理の開始されている印刷ジョブについては最後まで処理を行う場合であっても、本発明を適用することができる。
【０１３６】
また、上述した第４実施形態及び第５実施形態においては、ユーザーに関連付けて印刷制限時刻が定められている場合を例に本発明の一実施形態を説明したが、第２実施形態と同様にジョブに関連付けて印刷制限時刻が定められている場合にも適用でき、第３実施形態と同様にプリンターに関連付けて印刷制限時刻が定められている場合にも適用できる。
【０１３７】
また、上述した第４実施形態において、分散印刷を行うか否かを任意に設定できるようにしてもよい。この場合、例えば、この設定を、プリンターサーバー１６に予め登録できるようにしてもよいし、印刷ジョブで個別に指定できるようにしてもよい。同様に、上述した第５実施形態において、代替印刷を行うか否かを、任意に設定できるようにしてもよい。この場合、例えば、この設定を、プリンターサーバー１６に予め登録できるようにしてもよいし、印刷ジョブで個別に指定できるようにしてもよい。
【０１３８】
また、上述した実施形態では、ジョブ処理装置がプリンターであり、ジョブが印刷ジョブである場合を例に、本発明を説明したが、ジョブ処理装置はプリンターに限られるものはなく、また、ジョブも印刷ジョブに限られるものではない。また、ジョブを生成するジョブ生成装置も、コンピューターに限られるものではない。
【０１３９】
また、上述の実施形態で説明した印刷ジョブ変更処理については、この処理を実行するためのプログラムをフレキシブルディスク、ＣＤ−ＲＯＭ（Compact Disc-Read Only Memory）、ＲＯＭ、メモリーカード等の記録媒体に記録して、記録媒体の形で頒布することが可能である。この場合、この記録媒体に記録されたプログラムをプリンターサーバー１６に読み込ませ、実行させることにより、上述した実施形態を実現することができる。
【０１４０】
また、プリンターサーバー１６は、オペレーティングシステムや別のアプリケーションプログラム等の他のプログラムを備える場合がある。この場合、プリンターサーバー１６の備える他のプログラムを活用するために、そのプリンターサーバー１６が備えるプログラムの中から、上述した実施形態と同等の処理を実現するプログラムを呼び出すような命令を含むプログラムを、記録媒体に記録するようにしてもよい。
【０１４１】
さらに、このようなプログラムは、記録媒体の形ではなく、ネットワーク１２を通じて搬送波として頒布することも可能である。ネットワーク１２上を搬送波の形で伝送されたプログラムは、プリンターサーバー１６に取り込まれて、このプログラムを実行することにより上述した実施形態を実現することができる。
【０１４２】
また、記録媒体にプログラムを記録する際や、ネットワーク１２上を搬送波として伝送される際に、プログラムの暗号化や圧縮化がなされている場合がある。この場合には、これら記録媒体や搬送波からプログラムを読み込んだプリンターサーバー１６は、そのプログラムの復号や伸張を行った上で、実行する必要がある。
【０１４３】
また、上述した実施形態では、印刷ジョブ変更処理をソフトウェアにより実現する場合を例に説明したが、この処理をＡＳＩＣ（Application Specific IC）などのハードウェアにより実現するようにしてもよい。さらには、この印刷ジョブ変更処理を、ソフトウェアとハードウェアとが協働して実現するようにしてもよい。
【符号の説明】
【０１４４】
１０  印刷システム
１２  ネットワーク
１４（１４Ａ、１４Ｂ、１４Ｃ）  コンピューター
１６  プリンターサーバー
１８  プリンター
２０  ＣＰＵ
２２  ＲＡＭ
２４  ＲＯＭ
２６  ハードディスクドライブ
２８  ユーザーインターフェース
３０  表示画面
３２  通信インターフェース
３４  プリンター接続インターフェース
【図１】
2010176465.tif 000003
【図２】
2010176465.tif 000004
【図３】
2010176465.tif 000005
【図４】
2010176465.tif 000006
【図５】
2010176465.tif 000007
【図６】
2010176465.tif 000008
【図７】
2010176465.tif 000009
【図８】
2010176465.tif 000010
【図９】
2010176465.tif 000011
【図１０】
2010176465.tif 000012
【図１１】
2010176465.tif 000013
【図１２】
2010176465.tif 000014
【図１３】
2010176465.tif 000015
【図１４】
2010176465.tif 000016
【図１５】
2010176465.tif 000017
【図１６】
2010176465.tif 000018
【図１７】
2010176465.tif 000019
【図１８】
2010176465.tif 000020
【図１９】
2010176465.tif 000021
【図２０】
2010176465.tif 000022