ジョブ制御装置
【課題】処理制限時刻のあるジョブ処理において、ジョブ処理の内容を変更せずとも、処理制限時刻までにジョブ処理が行われるようにする。
【解決手段】ジョブ処理装置で処理されるジョブの制御を行うジョブ制御装置は、投入されたジョブの処理順位を管理し、投入された順番でジョブの処理が行われるようにジョブの管理を行う、処理順位管理手段と、前記処理順位管理手段で管理されているジョブの処理時間を予測して、新たに投入されたジョブが、その処理制限時刻までに処理されるかどうかを判断する、判断手段と、前記判断手段が前記新たに投入されたジョブは前記処理制限時刻までに処理されないと判断した場合には、前記処理制限時刻までにその処理が間に合うように、ジョブの処理内容を変更することなく、前記処理順位管理手段におけるジョブの処理方法を変更する、変更手段と、を備えて構成されている。
【解決手段】ジョブ処理装置で処理されるジョブの制御を行うジョブ制御装置は、投入されたジョブの処理順位を管理し、投入された順番でジョブの処理が行われるようにジョブの管理を行う、処理順位管理手段と、前記処理順位管理手段で管理されているジョブの処理時間を予測して、新たに投入されたジョブが、その処理制限時刻までに処理されるかどうかを判断する、判断手段と、前記判断手段が前記新たに投入されたジョブは前記処理制限時刻までに処理されないと判断した場合には、前記処理制限時刻までにその処理が間に合うように、ジョブの処理内容を変更することなく、前記処理順位管理手段におけるジョブの処理方法を変更する、変更手段と、を備えて構成されている。
【発明の詳細な説明】
【技術分野】
【0001】
本発明はジョブ制御装置に関し、特に、ジョブ処理装置でジョブを処理する際に、時間的な制限がある場合に用いられるジョブ制御装置に関する。
【背景技術】
【0002】
ネットワークにプリンターを接続し、このプリンターを同じネットワークに接続された他のコンピューターと共用する印刷システムが広く普及している。このような印刷システムにおいては、コンピューターとプリンターとの間に、プリンターサーバーを設け、コンピューターから送信された印刷ジョブは、このプリンターサーバーで一旦受信され、このプリンターサーバーにおける印刷ジョブの順番などの管理を受けながら、プリンターで印刷が行われるようにして、コンピューターとプリンターの双方の有効利用が図れるようにしていることも多い。
【0003】
さらに、このような印刷システムにおいては、多くのユーザーがプリンターを利用することから、このプリンターを利用できる時間に制限を設けている場合もある。例えば、あるユーザーAは、プリンターを8:00から19:00までは利用できるが、19:00から翌8:00までは利用できないというような制限である。この制限がある場合、ユーザーAが19:00間際に印刷ジョブを投入した場合、このプリンターで19:00までには処理される必要があり、19:00を過ぎると19:00前に投入した印刷ジョブであっても処理が行われなくなってしまう。
【0004】
このような時間的な制限は、ユーザーに関連付けられて定められている場合だけでなく、印刷ジョブに関連付けられて定められている場合や、プリンターに関連付けられて定められている場合もある。このような場合でも、印刷制限時刻の間際に投入された印刷ジョブは、プリンターが空くのをまっている間に印刷制限時刻を経過してしまい、印刷処理が行われない可能性が生じてしまう。
【0005】
このような問題を解決するため、特開2006−218804号公報(特許文献1)では、プリンターサーバーに投入された印刷ジョブの処理時間をプリンターサーバが予測し、この予測の結果、印刷制限時刻までに印刷ができないと判断された印刷ジョブについては、簡易印刷に変更して印刷を行うことにより、印刷時間を短縮し、印刷制限時刻までに印刷が完了するようにしている。
【0006】
しかしながら、この特開2006−218804号公報で開示する手法では、印刷結果がユーザーの期待するものと異なってしまうことになる。例えば、カラー印刷を指定したにも拘わらず、モノクロ印刷の印刷物が出力されてしまうことになる。このため、たとえ印刷が完了したとしても、ユーザーの満足度は低くなってしまう恐れもある。
【0007】
このような問題は、プリンターのジョブを制御するプリンターサーバーに限らず、プリンター以外のジョブ処理装置のジョブを制御するジョブ制御装置であれば、同様に生じ得る。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】特開2006−218804号公報
【発明の概要】
【発明が解決しようとする課題】
【0009】
そこで本発明は、前記課題に鑑みてなされたものであり、処理制限時刻のあるジョブ処理において、ジョブ処理の内容を変更せずとも、処理制限時刻までにジョブ処理が行われるようにして、ジョブ処理に関するユーザーの満足度を向上させることを目的とする。
【課題を解決するための手段】
【0010】
上記の課題を解決するために、本発明に係るジョブ制御装置は、
ジョブ処理装置で処理されるジョブの制御を行うジョブ制御装置であって、
投入されたジョブの処理順位を管理し、投入された順番でジョブの処理が行われるようにジョブの管理を行う、処理順位管理手段と、
前記処理順位管理手段で管理されているジョブの処理時間を予測して、新たに投入されたジョブが、その処理制限時刻までに処理されるかどうかを判断する、判断手段と、
前記判断手段が前記新たに投入されたジョブは前記処理制限時刻までに処理されないと判断した場合には、前記処理制限時刻までにその処理が間に合うように、ジョブの処理内容を変更することなく、前記処理順位管理手段におけるジョブの処理方法を変更する、変更手段と、
を備えることを特徴とする。
【0011】
この場合、前記処理制限時刻は、ジョブを生成するユーザーに関連付けられて定められているようにしてもよい。
【0012】
或いは、前記処理制限時刻は、ジョブに関連付けられて定められているようにしてもよい。
【0013】
或いは、前記処理制限時刻は、前記ジョブ処理装置に関連付けられて定められているようにしてもよい。
【0014】
また、前記変更手段は、前記判断手段が前記新たに投入されたジョブは前記処理制限時刻までに処理されないと判断した場合には、前記処理制限時刻までに前記新たに投入されたジョブの処理が行われるように、前記処理順位管理手段におけるジョブの処理順位を入れ替えるようにしてもよい。
【0015】
或いは、前記変更手段は、前記判断手段が前記新たに投入されたジョブは前記処理制限時刻までに処理されないと判断した場合には、前記処理制限時刻までに前記新たに投入されたジョブの処理が行われるように、前記新たに投入されたジョブを複数のジョブ処理装置に分散させて処理させるようにしてもよい。
【0016】
或いは、前記変更手段は、前記判断手段が前記新たに投入されたジョブは前記処理制限時刻までに処理されないと判断した場合には、前記処理制限時刻までに前記新たに投入されたジョブの処理が行われるように、前記新たに投入されたジョブを、指定されたジョブ処理装置から他のジョブ処理装置に変更して処理させるようにしてもよい。
【0017】
本発明に係るジョブ制御装置の制御方法は、
ジョブ処理装置で処理されるジョブの制御を行うジョブ制御装置であって、投入されたジョブの処理順位を管理し、投入された順番でジョブの処理が行われるようにジョブの管理を行う、処理順位管理手段を備えるジョブ制御装置の制御方法において、
前記ジョブ制御装置が、前記処理順位管理手段で管理されているジョブの処理時間を予測して、新たに投入されたジョブが、その処理制限時刻までに処理されるかどうかを判断するステップと、
前記新たに投入されたジョブは前記処理制限時刻までに処理されないと判断した場合には、前記ジョブ制御装置が、前記処理制限時刻までにその処理が間に合うように、ジョブの処理内容を変更することなく、前記処理順位管理手段におけるジョブの処理方法を変更するステップと、
を備えることを特徴とする。
【0018】
本発明に係るプログラムは、
ジョブ処理装置で処理されるジョブの制御を行うジョブ制御装置であって、投入されたジョブの処理順位を管理し、投入された順番でジョブの処理が行われるようにジョブの管理を行う、処理順位管理手段を備えるジョブ制御装置の制御を行うプログラムにおいて、
前記処理順位管理手段で管理されているジョブの処理時間を予測して、新たに投入されたジョブが、その処理制限時刻までに処理されるかどうかを判断するステップと、
前記新たに投入されたジョブは前記処理制限時刻までに処理されないと判断した場合には、前記処理制限時刻までにその処理が間に合うように、ジョブの処理内容を変更することなく、前記処理順位管理手段におけるジョブの処理方法を変更するステップと、
を前記ジョブ制御装置に実行させることを特徴とする。
【図面の簡単な説明】
【0019】
【図1】本発明に係る印刷システムの全体構成の一例を示す図である。
【図2】図1におけるプリンターサーバーの内部構成の一例を示すブロック図である。
【図3】本発明の第1実施形態における印刷ジョブ変更処理の内容を概念的に説明するための図であり、図3(a)は投入された順番で印刷ジョブを処理した場合における予測処理時間を示しており、図3(b)は変更後の印刷ジョブの予測処理時間を示している。
【図4】第1実施形態に係るプリンターサーバーで実行される印刷ジョブ変更処理の内容の一例を説明するフローチャートを示す図。
【図5】第1実施形態に係るプリンターサーバーで受信される印刷ジョブのフォーマットの一例を示す図。
【図6】第1実施形態に係るプリンターサーバーが保持する印刷制限時間管理テーブルの構成の一例を示す図。
【図7】本発明の第2実施形態における印刷ジョブ変更処理の内容を概念的に説明するための図であり、図7(a)は投入された順番で印刷ジョブを処理した場合における予測処理時間を示しており、図7(b)は変更後の印刷ジョブの予測処理時間を示している。
【図8】第2実施形態に係るプリンターサーバーで実行される印刷ジョブ変更処理の内容の一例を説明するフローチャートを示す図。
【図9】第2実施形態に係るプリンターサーバーで受信される印刷ジョブのフォーマットの一例を示す図。
【図10】本発明の第3実施形態における印刷ジョブ変更処理の内容を概念的に説明するための図であり、図10(a)は投入された順番で印刷ジョブを処理した場合における予測処理時間を示しており、図10(b)は変更後の印刷ジョブの予測処理時間を示している。
【図11】第3実施形態に係るプリンターサーバーで実行される印刷ジョブ変更処理の内容の一例を説明するフローチャートを示す図。
【図12】第3実施形態に係るプリンターサーバーで受信される印刷ジョブのフォーマットの一例を示す図。
【図13】第3実施形態に係るプリンターサーバーが保持する印刷制限時間管理テーブルの構成の一例を示す図。
【図14】本発明に係る印刷システムの全体構成の別の例を示す図である。
【図15】本発明の第4実施形態における印刷ジョブ変更処理の内容を概念的に説明するための図であり、図15(a)は投入された順番で印刷ジョブを処理した場合における予測処理時間を示しており、図15(b)は変更後の印刷ジョブの予測処理時間を示している。
【図16】第4実施形態に係るプリンターサーバーで実行される印刷ジョブ変更処理の内容の一例を説明するフローチャートを示す図。
【図17】本発明の第5実施形態における印刷ジョブ変更処理の内容を概念的に説明するための図であり、図17(a)は投入された順番で印刷ジョブを処理した場合における予測処理時間を示しており、図17(b)は変更後の印刷ジョブの予測処理時間を示している。
【図18】第5実施形態に係るプリンターサーバーで実行される印刷ジョブ変更処理の内容の一例を説明するフローチャートを示す図。
【図19】図1に示した印刷システムの変形例を説明するための図である。
【図20】図14に示した印刷システムの変形例を説明するための図である。
【発明を実施するための形態】
【0020】
以下、図面を参照して、本発明の実施形態を説明する。なお、以下に説明する実施形態は、本発明の技術的範囲を限定するものではない。
【0021】
〔第1実施形態〕
図1は、本発明の第1実施形態に係る印刷システム10の全体構成を示すブロック図である。この図1に示すように、本実施形態に係る印刷システム10は、ネットワーク12に接続された、1又は複数のコンピューター14と、プリンターサーバー16とを備えており、このプリンターサーバー16を介して接続されたプリンター18を備えている。
【0022】
この図1の例では、3台のコンピューター14A〜14Cが、ネットワーク12に接続されており、1台のプリンター18が、プリンターサーバー16に接続されている。但し、ネットワーク12に接続されるコンピューター14の台数は任意であり、プリンターサーバ16に接続されるプリンター18の台数も任意である。
【0023】
ネットワーク12は、いわゆるローカルエリアネットワークであり、このプリンター18を複数のコンピューター14で共用することを1つの目的として、ネットワークが構築されている。コンピューター14は、印刷ジョブを生成し、プリンター18に送信する、ジョブ生成装置の一例であり、例えば、パーソナルコンピューターやPDA(Personal Digital Assistant)などにより構成されている。プリンター18は、ジョブ生成装置で生成されたジョブを受信して、そのジョブの処理を行うジョブ処理装置の一例である。
【0024】
図2は、本実施形態に係るプリンターサーバー16の内部構成の一例を示すブロック図である。この図2に示すように、本実施形態に係るプリンターサーバー16は、CPU(Central Processing Unit)20と、RAM(Random Access Memory)22と、ROM(Read Only Memory)24と、ハードディスクドライブ26と、ユーザーインターフェース28と、表示画面30と、通信インターフェース32と、プリンター接続インターフェース34とを備えて構成されている。これらCPU20と、RAM22と、ROM24と、ハードディスクドライブ26と、ユーザーインターフェース28と、表示画面30と、通信インターフェース32と、プリンター接続インターフェース34は、内部バス36を介して相互に接続されている。
【0025】
CPU20は、このプリンターサーバー16の全体的な制御を行う制御部を構成する。特に、本実施形態においては、CPU20は、主として、コンピューター14から受信した印刷ジョブをスプーラーを用いて管理し、プリンター18の稼働状況に応じて、適宜、スプーラーに存在する印刷ジョブをプリンター18に送信し、プリンター18で出力させるための制御を行う。また、CPU20は、このプリンターサーバー16における各種の制御を行うにあたり、その制御を実現するのに必要なプログラムをROM24やハードディスクドライブ26から読み込んだり、生成されたデーターをRAM22やユーザーハードディスクドライブ26に書き込んだりする。
【0026】
ハードディスクドライブ26は、いわゆる大容量の補助記憶装置を構成しており、プログラムの他、コンピューター14から受信した印刷ジョブなども不揮発的に記憶される。ユーザーインターフェース28は、ユーザーがこのプリンターサーバー16に各種の情報や指示を入力するためのインターフェースである。例えば、このユーザーインターフェースは、キーボードやマウスなどにより、構成されている。
【0027】
表示画面30は、プリンターサーバー16が各種の情報を表示するための画面である。例えば、この表示画面30は、LCD(Liquid Crystal Display)装置により構成されていてもよいし、CRT(Cathode Ray Tube)装置により構成されていてもよい。また、図2では、表示画面30は、このプリンターサーバー16の本体に一体に設けられている場合を図示しているが、表示画面30はプリンターサーバー16の本体とは別個に設けられるようにしてもよい。この場合、プリンターサーバー16の本体と表示画面30との間は、ケーブル等により接続されることとなる。
【0028】
通信インターフェース32は、プリンターサーバー16をネットワーク12に接続するためのインターフェースである。このため、本実施形態においては、この通信インターフェース32とネットワーク12とを介して、プリンターサーバー16とコンピューター14との間の通信が実現される。
【0029】
プリンター接続インターフェース34は、プリンター18をプリンターサーバー16に接続するためのインターフェースである。具体的には、このプリンター接続インターフェース34に、プリンターケーブルの一端を接続し、このプリンターケーブルの他端をプリンター18に接続することにより、プリンター18とプリンターサーバー16とが接続される。このため、本実施形態においては、このプリンター接続インターフェース34を介して、プリンターサーバー16とプリンター18との間の通信が実現される。
【0030】
次に、図3に基づいて、本実施形態に係るプリンターサーバー16が行う印刷ジョブの制御について概略的に説明する。この図3は、プリンターサーバー16が行ったジョブ処理時間の予測を模式的に示している。すなわち、スプーラーに溜まっている印刷ジョブのそれぞれの処理時間を予測し、その処理開始時刻と処理完了時刻とを予測した状態を、概念的に説明するための図である。
【0031】
この図3(a)に示すように、プリンターサーバー16がプリンター18用に形成しているスプーラーに、印刷ジョブA1と印刷ジョブB1がある状態で、新たに印刷ジョブC1が投入されてきたとする。印刷ジョブA1を生成したユーザーは、ユーザーAであり、印刷ジョブB1を生成したユーザーは、ユーザーBであり、印刷ジョブC1を生成したユーザーは、ユーザーCであるとする。そして、ここで、ユーザーCは、プリンター18に対して印刷制限時間が設定されており、印刷制限時刻である19:00以降は印刷ができない設定になっている。
【0032】
このような状況の下、印刷制限時刻の間際である18:55に、ユーザーCの印刷ジョブC1が、プリンターサーバー16におけるプリンター18のスプーラーに投入されたとする。例えば、コンピューター14Cから、このプリンターサーバー16に印刷ジョブC1が送信され、プリンター18のスプーラーに印刷ジョブC1が投入されたとする。この場合、投入された順番に印刷ジョブの処理を行うと、印刷ジョブC1が実際にプリンター18で処理されるのは19:00以降になってしまい、その印刷が実現できなくなってしまう。
【0033】
そこで、本実施形態に係るプリンターサーバー16では、図3(b)に示すように、印刷ジョブC1を印刷ジョブB1よりも前の印刷順位に移動して、印刷ジョブC1と印刷ジョブB1の双方が印刷されるかどうかを判断する。例えば、印刷ジョブB1を生成したユーザーBには、プリンター18に対して印刷時間制限が設定されていない場合には、このような印刷ジョブの入れ替えを行っても、印刷ジョブB1の印刷は行われる。また、印刷ジョブC1の印刷処理も、19:00までに終了するため、この印刷ジョブC1の印刷も正常に行われる。このような場合には、プリンターサーバー16は、図3(b)に示すように、スプーラー内の印刷ジョブB1と印刷ジョブC1の処理順序を入れ替えて、プリンター18で印刷を行うようにするのである。
【0034】
図4は、このような処理をプリンターサーバー16で実現するために、プリンターサーバー16で実行される印刷ジョブ変更処理の内容を説明するためのフローチャートを示す図である。この印刷ジョブ変更処理は、プリンターサーバー16に新たな印刷ジョブが投入された場合に、起動される処理である。すなわち、プリンター18のスプーラーに新に印刷ジョブを追加する場合に、起動される処理である。
【0035】
また、この印刷ジョブ変更処理は、プリンターサーバー16のCPU20が、ROM24又はハードディスクドライブ26に格納されている印刷ジョブ変更処理プログラムを読み込んで実行することにより、実現される処理である。以下の説明では、上述の図3に示したように、印刷ジョブA1、印刷ジョブB1、印刷ジョブC1の順に、スプーラーに印刷ジョブが投入されたと仮定する。
【0036】
この図4に示すように、この印刷ジョブ変更処理が起動されると、まず、プリンターサーバー16は、新しく投入された印刷ジョブを生成したユーザーを特定する(ステップS100)。図5は、本実施形態に係る印刷ジョブのデーターフォーマットの一例を示す図である。この図5に示すように、本実施形態に係る印刷ジョブには、印刷すべきデーターである印刷データーと、これに付随する情報として、この印刷ジョブを生成したユーザーを特定する情報であるユーザー特定情報とを、少なくとも含んで構成されている。このため、ステップS100では、プリンターサーバー16は、この印刷ジョブを解析して、印刷ジョブを生成したユーザーが誰であるのかを特定する。
【0037】
次に、図4に示すように、プリンターサーバー16は、ステップS100で特定したユーザーの印刷制限時刻を取得する(ステップS102)。このユーザーの印刷制限時刻は、例えば、プリンターサーバー16に予め登録しておくことができる。図6は、本実施形態に係るプリンターサーバー16が保持する、印刷制限時間管理テーブルTB10の構成の一例を示す図である。この印刷制限時間管理テーブルTB10は、例えば、ハードディスクドライブ26に形成され、保持されている。印刷制限時間管理テーブルTB10では、ユーザー特定情報と、そのユーザー特定情報で特定されるユーザーの印刷制限時間とが、関連付けられて、保持されている。
【0038】
ステップS102においては、プリンターサーバー16は、このハードディスクドライブ26にある印刷制限時間管理テーブルTB10を検索して、ステップS100で特定したユーザーに、印刷制限時間があるかどうかを判断し、印刷制限時間がある場合には、その開始時刻である印刷制限時刻を取得する。例えば、ステップS100において特定したユーザーCのユーザー特定情報が「C123456」であったとすると、プリンターサーバー16は、印刷制限時間管理テーブルTB10を検索することにより、このユーザーCの印刷制限時間が19:00から翌8:00であり、印刷制限の開始時刻である印刷制限時刻が19:00であると特定することができる。
【0039】
次に、図4に示すように、プリンターサーバー16は、新たに投入された印刷ジョブが、ステップS102で取得した印刷制限時刻までに終了するかどうかを判断する(ステップS104)。具体的には、プリンターサーバー16は、図3(a)で例示したような各印刷ジョブの印刷処理時間を予測して、各印刷ジョブの印刷完了時刻を予測する。そして、予測した印刷完了時刻が、ステップS102で取得した印刷制限時刻より前であるかどうかを判断する。図3(a)の例では、印刷ジョブC1の印刷完了時刻は、ユーザーCの印刷制限時刻の19:00より後であるので、この印刷ジョブC1は、印刷制限時刻までに印刷が終了しないと判断する。
【0040】
ステップS104において、投入された印刷ジョブが印刷制限時刻までに印刷が終了しないと判断した場合(ステップS104:NO)には、プリンターサーバー16は、投入された印刷ジョブよりも印刷順位が前にある印刷ジョブの中で、印刷順位を後ろに移動しても、その印刷制限時刻までに印刷が終了するジョブがあり、且つ、その印刷ジョブの印刷順位を後ろに移動することにより、投入された印刷ジョブがその印刷制限時刻までに印刷が終了するようになるかどうかを判断する(ステップS106)。
【0041】
例えば、図3(a)の例では、印刷ジョブC1が18:55に投入された時点で、印刷ジョブB1の処理は、まだ、開始されていない。このため、プリンターサーバー16は、図3(b)に示すように、この印刷ジョブB1の印刷順位の前に、印刷ジョブC1を移動しても、印刷ジョブB1の印刷が印刷制限時刻までに行われるかどうかを判断する。印刷ジョブB1の印刷制限時刻は、ステップS100、ステップS102と同様の手法で、プリンターサーバー16が取得する。すなわち、印刷ジョブB1を生成したユーザーBを、印刷ジョブB1を解析することにより特定し、この特定されたユーザーBの印刷制限時刻を印刷制限時間管理テーブルTB10を検索することにより特定する。そして、印刷ジョブB1と印刷ジョブC1の印刷完了時刻を予測し、ユーザーBの印刷制限時刻までに、印刷順位を移動した印刷ジョブB1の印刷が終了するかどうかを判断する。
【0042】
例えば、ユーザーBのユーザー特定情報が「B232323」であり、印刷制限時間管理テーブルTB10を検索した結果、ユーザーBの印刷制限時刻は設定されていなかったとすると、図3(b)に示すように、印刷ジョブB1の印刷順位を印刷ジョブC1の後ろに移動しても、印刷ジョブB1はプリンター18で正常に印刷されると予測することができる。さらにまた、印刷ジョブC1を、印刷ジョブB1の印刷順位の前に移動することにより、印刷ジョブC1も、ユーザーCの印刷制限時刻までに印刷が完了すると予測されている。
【0043】
このように、投入された印刷ジョブよりも印刷順位が前にある印刷ジョブの中で、印刷順位を後ろに移動しても、その印刷制限時刻までに印刷が終了するジョブがあり、且つ、前にある印刷ジョブを後ろに移動することにより、投入された印刷ジョブがその印刷制限時刻までに印刷が終了するようになると判断した場合(ステップS106:YES)には、プリンターサーバー16は、その印刷順位を入れ替える(ステップS108)。
【0044】
図3の例では、図3(a)にある印刷ジョブC1の印刷順位を、図3(b)のように印刷ジョブB1の前に移動する。これにより、印刷ジョブC1は、ユーザーCの印刷制限時刻までに処理が終了するようになり、また、印刷ジョブB1も、ユーザーBの印刷制限時刻までに処理が終了するようになる。これにより、この印刷ジョブ変更処理を終了する。
【0045】
これに対して、上述したステップS104において、新たにスプーラーに投入された印刷ジョブを、投入された順番で処理しても印刷制限時刻までに終了すると判断した場合(ステップS104:YES)、又は、上述したステップS106において、印刷順位を後ろに移動しても印刷制限時刻までに印刷が終了する印刷ジョブが無い、或いは、移動したとしても投入した印刷ジョブが印刷制限時刻までに終了しないと判断した場合(ステップS106:NO)には、印刷ジョブの印刷順位の入れ替えをすることなく、この印刷ジョブ変更処理を終了する。
【0046】
すなわち、スプーラーに投入された順番で印刷ジョブを処理しても、新たに投入された印刷ジョブが印刷制限時刻までに終了するのであれば、そのままの印刷順位で印刷を行う。また、新たに投入された印刷ジョブが印刷制限時刻までに終了せずとも、印刷順位を後ろに移動して印刷制限時刻までに終了する印刷ジョブが無い場合には、印刷ジョブの印刷順位の入れ替えは行わないようにしている。これは、すでに印刷ジョブがスプーラーに投入されているので、この投入されている印刷順位を尊重した方が、この印刷システム10を利用するユーザーの利便性は良くなると考えられるからである。
【0047】
さらに、たとえ他の印刷ジョブを後ろに移動しても、新たに投入した印刷ジョブが印刷制限時刻までに終了しない場合にも、印刷ジョブの印刷順位の入れ替えは行わないようにしている。これは、新たに投入した印刷ジョブが印刷制限時刻までに印刷が終了しないのであれば、印刷順位を入れ替える意味がないためである。
【0048】
以上のように、本実施形態に係る印刷システム10によれば、プリンターサーバー16は、スプーラーで管理されている印刷ジョブの処理時間を予測し、新たに投入された印刷ジョブが、その印刷ジョブを生成したユーザーの印刷制限時刻までに終了するかどうかを判断することとした。そして、印刷制限時刻までに終了しないと判断した場合には、スプーラーに溜まっている印刷ジョブのそれぞれの印刷完了時刻を推測して、新たに投入された印刷ジョブよりも前の印刷順位にある印刷ジョブを、新たに投入した印刷ジョブの後ろに移動することにより、後ろに移動した印刷ジョブもその印刷ジョブを生成したユーザーの印刷制限時刻までに印刷が終了し、且つ、新たに投入された印刷ジョブもその印刷ジョブを生成したユーザーの印刷制限時刻までに印刷が終了するようになるかどうかを調べる。その上で、もし、このような印刷ジョブの入れ替えを行うことにより、後ろに移動した印刷ジョブの印刷が正常に行われ、且つ、新たに投入された印刷ジョブの印刷も正常に行われると予測できる場合には、印刷ジョブの入れ替えを行うことにより、双方の印刷ジョブの印刷が行われるようにしているのである。
【0049】
このため、印刷時刻に制限があるにも拘わらず、ユーザーは、指定した通りの印刷設定で印刷結果を得ることができるようになる。例えば、印刷ジョブの設定がカラー印刷である場合には、設定通りのカラー印刷で印刷結果を取得することができる。このため、印刷結果に対するユーザーの満足度を向上させることができる。
【0050】
〔第2実施形態〕
上述した第1実施形態は、各ユーザー毎にプリンター18の印刷制限時間が設定されている印刷システム10に本発明を適用した例であるが、第2実施形態では、各印刷ジョブに対して印刷制限時刻が設定されている印刷システム10に本発明を適用したものである。以下、上述した第1実施形態と異なる部分を説明する。
【0051】
図7は、本実施形態に係るプリンターサーバー16が行う印刷ジョブの制御について概略的に説明するための図であり、上述した図3に対応する図である。この図7は、プリンターサーバー16が行ったジョブ処理時間の予測を模式的に示している。すなわち、スプーラーに溜まっている印刷ジョブのそれぞれの処理時間を予測し、その処理開始時刻と処理完了時刻とを予測した状態を、概念的に説明するための図である。
【0052】
この図7(a)に示すように、プリンターサーバー16がプリンター18用に形成しているスプーラーに、印刷ジョブA2と印刷ジョブB2がある状態で、新たに印刷ジョブC2が投入されてきたとする。印刷ジョブA2と印刷ジョブB2には、印刷制限時刻が設定されてないが、印刷ジョブC2には、19:00までの印刷制限時刻が設定されている。すなわち、印刷ジョブC2のジョブとしての有効期限が19:00になっている。このため、印刷ジョブC2は、印刷制限時刻の19:00までに、その処理が終了していなければならない。
【0053】
このような状況の下、18:55に、ユーザーCの印刷ジョブC2が、プリンターサーバー16におけるプリンター18のスプーラーに投入されたとすると、投入された順番で印刷ジョブの処理を行うと、印刷ジョブC2が実際にプリンター18で処理されるのは19:00以降になってしまい、その印刷が実現できなくなってしまう。
【0054】
そこで、本実施形態に係るプリンターサーバー16では、図7(b)に示すように、印刷ジョブC2を印刷ジョブB2よりも前の印刷順位に移動して、印刷ジョブC2と印刷ジョブB2の双方が印刷されるかどうかを判断する。例えば、印刷ジョブB2には印刷制限時刻が設定されていない場合には、このような印刷ジョブの入れ替えを行っても、印刷ジョブB2の印刷は正常に行われる。また、印刷ジョブC2の印刷処理も、19:00までに終了するため、この印刷ジョブC2の印刷も正常に行われる。このような場合には、プリンターサーバー16は、図7(b)に示すように、印刷ジョブB2と印刷ジョブC2の処理順序を入れ替えて、プリンター18で印刷を行うようにするのである。
【0055】
図8は、このような処理をプリンターサーバー16で実現するために、プリンターサーバー16で実行される印刷ジョブ変更処理の内容を説明するためのフローチャートを示す図である。この印刷ジョブ変更処理は、プリンターサーバー16に新たな印刷ジョブが投入された場合に、起動される処理である。すなわち、プリンター18のスプーラーに新に印刷ジョブを追加する場合に、起動される処理である。
【0056】
また、この印刷ジョブ変更処理は、プリンターサーバー16のCPU20が、ROM24又はハードディスクドライブ26に格納されている印刷ジョブ変更処理プログラムを読み込んで実行することにより、実現される処理である。以下の説明では、上述の図7に示したように、印刷ジョブA2、印刷ジョブB2、印刷ジョブC2の順に、スプーラーに印刷ジョブが投入されたと仮定する。
【0057】
この図8に示すように、この印刷ジョブ変更処理が起動されると、まず、プリンターサーバー16は、新しくスプーラーに投入された印刷ジョブの印刷制限時刻を取得する(ステップS200)。図9は、本実施形態に係る印刷ジョブのデーターフォーマットの一例を示す図である。この図9に示すように、本実施形態に係る印刷ジョブには、印刷すべきデーターである印刷データーと、これに付随する情報として、この印刷ジョブの有効期限である印刷制限時刻とを、少なくとも含んで構成されている。このため、ステップS200では、プリンターサーバー16は、この印刷ジョブを解析して、新しく投入された印刷ジョブの印刷制限時刻を特定する。
【0058】
次に、図8に示すように、プリンターサーバー16は、新たに投入された印刷ジョブが、ステップS200で取得した印刷制限時刻までに終了するかどうかを判断する(ステップS202)。具体的には、プリンターサーバー16は、図7(a)で例示したような各印刷ジョブの印刷処理時間を予測して、各印刷ジョブの印刷完了時刻を予測する。そして、新たに投入された印刷ジョブについて予測した印刷完了時刻が、ステップS200で取得した印刷制限時刻より前であるかどうかを判断する。図7(a)の例では、印刷ジョブC2の印刷完了時刻は、印刷制限時刻の19:00より後であるので、この印刷ジョブC2は、印刷制限時刻までに印刷が終了しないと判断する。
【0059】
ステップS202において、投入された印刷ジョブの印刷処理が印刷制限時刻までに終了しないと判断した場合(ステップS202:NO)には、プリンターサーバー16は、投入された印刷ジョブよりも印刷順位が前にある印刷ジョブの中で、印刷順位を後ろに移動しても、その印刷制限時刻までに印刷が終了するジョブがあり、且つ、前にある印刷ジョブを後ろに移動することにより、投入された印刷ジョブがその印刷制限時刻までに印刷が終了するようになるかどうかを判断する(ステップS204)。
【0060】
例えば、図7(a)の例では、印刷ジョブC1が18:55に投入された時点で、印刷ジョブB2の処理は、まだ、開始されていない。このため、プリンターサーバー16は、図7(b)に示すように、この印刷ジョブB2の印刷順位の前に、印刷ジョブC2を移動しても、印刷ジョブB2の印刷が印刷制限時刻までに行われるかどうかを判断する。印刷ジョブB2の印刷制限時刻は、ステップS200と同様の手法で、プリンターサーバー16が取得する。すなわち、印刷ジョブB2を解析して、印刷ジョブB2の印刷制限時刻を取得する。そして、印刷ジョブB2と印刷ジョブC2の印刷完了時刻を予測し、印刷ジョブB2を後ろに移動しても、印刷ジョブB2の印刷制限時刻までに、印刷ジョブB2の印刷が終了するかどうかを判断する。ここでは、印刷ジョブB2には、印刷制限時刻が設定されていないと仮定する。
【0061】
図7(b)の例の場合、印刷ジョブB2の印刷順位を印刷ジョブC2の後ろに移動しても、印刷ジョブB2には印刷制限時刻が設定されていないため、印刷ジョブB2はプリンター18で正常に印刷されると予測することができる。また、印刷ジョブC2を、印刷ジョブB2の印刷順位の前に移動することにより、印刷ジョブC2も、印刷ジョブC2の印刷制限時刻までに印刷が完了すると予測されている。
【0062】
このように、投入された印刷ジョブよりも印刷順位が前にある印刷ジョブの中で、印刷順位を後ろに移動しても、その印刷制限時刻までに印刷が終了する印刷ジョブがあり、且つ、前にある印刷ジョブを後ろに移動することにより、投入された印刷ジョブがその印刷制限時刻までに印刷が終了するようになると判断した場合(ステップS204:YES)には、プリンターサーバー16は、その印刷順位を入れ替える(ステップS206)。
【0063】
図7の例では、図7(a)にある印刷ジョブC2の印刷順位を、図7(b)のように印刷ジョブB2の前に移動する。これにより、印刷ジョブC2は、印刷ジョブC2に設定されている印刷制限時刻までに処理が終了するようになり、また、印刷ジョブB2も、印刷ジョブB2に設定されている印刷制限時刻までに処理が終了するようになる。これにより、この印刷ジョブ変更処理を終了する。
【0064】
これに対して、上述したステップS202において、投入された印刷ジョブをスプーラーに投入された順番で処理しても、印刷制限時刻までに終了すると判断した場合(ステップS202:YES)、又は、上述したステップS204において、印刷順位を後ろに移動しても印刷制限時刻までに印刷が終了する印刷ジョブが無い、或いは、移動したとしても投入した印刷ジョブが印刷制限時刻までに終了しないと判断した場合(ステップS204:NO)には、印刷ジョブの印刷順位の入れ替えをすることなく、この印刷ジョブ変更処理を終了する。
【0065】
すなわち、スプーラーに投入された順番で印刷ジョブを処理しても、新たに投入された印刷ジョブが印刷制限時刻までに終了するのであれば、そのままの印刷順位で印刷を行う。また、新たに投入された印刷ジョブが印刷制限時刻までに終了せずとも、印刷順位を後ろに移動して印刷制限時刻までに終了する印刷ジョブが無い場合には、印刷ジョブの印刷順位の入れ替えは行わないようにしている。これは、すでに印刷ジョブがスプーラーに投入されているので、この投入されている印刷順位を尊重した方が、印刷システム10のユーザーの利便性は良くなると考えられるからである。
【0066】
さらに、たとえ他の印刷ジョブを後ろに移動しても、新たに投入した印刷ジョブが印刷制限時刻までに終了しない場合にも、印刷ジョブの印刷順位の入れ替えは行わないようにしている。これは、新たに投入した印刷ジョブが印刷制限時刻までに印刷が終了しないのであれば、印刷順位を入れ替える意味がないためである。
【0067】
以上のように、本実施形態に係る印刷システム10によれば、プリンターサーバー16は、スプーラーで管理されている印刷ジョブの処理時間を予測し、新たに投入された印刷ジョブが、その印刷ジョブに設定されている印刷制限時刻までに終了するかどうかを判断することとした。そして、印刷制限時刻までに終了しないと判断した場合には、スプーラーに溜まっている印刷ジョブのそれぞれの印刷完了時刻を予測して、新たに投入された印刷ジョブよりも前の印刷順位にある印刷ジョブを、新たに投入した印刷ジョブの後ろに移動することにより、後ろに移動した印刷ジョブもその印刷ジョブに設定されている印刷制限時刻までに印刷が終了し、且つ、新たに投入された印刷ジョブもその印刷ジョブに設定されている印刷制限時刻までに印刷が終了するようになるかどうかを調べる。その上で、もし、このような印刷ジョブに入れ替えを行うことにより、後ろに移動した印刷ジョブの印刷が正常に行われ、且つ、新たに投入された印刷ジョブの印刷も正常に行われると予測できる場合には、印刷ジョブの入れ替えを行うことにより、双方の印刷ジョブの印刷が行われるのである。
【0068】
このため、印刷時刻に制限があるにも拘わらず、ユーザーは、指定した通りの印刷設定で印刷結果を得ることができるようになる。例えば、印刷ジョブの設定がカラー印刷である場合には、設定通りのカラー印刷で印刷結果を取得することができる。このため、印刷結果に対するユーザーの満足度を向上させることができる。
【0069】
〔第3実施形態〕
上述した第1実施形態はユーザーに対して印刷制限時刻が設定されている印刷システム、上述した第2実施形態は印刷ジョブに対して印刷制限時刻が設定されている印刷システムに、本発明を適用した例であるが、本発明の第3実施形態は、プリンター18に対して印刷制限時刻が設定されている印刷システム10に、本発明を適用したものである。以下、上述した第1実施形態と異なる部分を説明する。
【0070】
図10は、本実施形態に係るプリンターサーバー16が行う印刷ジョブの制御について概略的に説明するための図であり、上述した図3に対応する図である。この図10は、プリンターサーバー16が行ったジョブ処理時間の予測を模式的に示している。すなわち、スプーラーに溜まっている印刷ジョブのそれぞれの処理時間を予測し、その処理開始時刻と処理完了時刻とを予測した状態を、概念的に説明するための図である。
【0071】
この図10(a)に示すように、プリンターサーバー16がプリンター18用に形成しているスプーラーに、印刷ジョブA3と印刷ジョブB3がある状態で、新たに印刷ジョブC3が投入されてきたとする。また、プリンター18自体に、印刷制限時刻が設定されており、例えば、プリンター18の印刷制限時刻が19:00であったと仮定する。このため、プリンター18では、印刷制限時刻である19:00までに印刷処理を開始した印刷ジョブは最後まで印刷を行うが、印刷制限時刻である19:00以降に印刷処理を開始する印刷ジョブは受け付けない仕組みになっている。
【0072】
このような状況の下、18:55に、ユーザーCの印刷ジョブC3が、プリンターサーバー16におけるプリンター18のスプーラーに投入されたとすると、スプーラーに投入された順番で印刷ジョブの処理を行うと、印刷ジョブC3の処理が実際にプリンター18で開始されるのは19:00以降になってしまい、その印刷が実現できなくなってしまう。
【0073】
そこで、本実施形態に係るプリンターサーバー16では、図10(b)に示すように、印刷ジョブC3を印刷ジョブB3よりも前の印刷順位に移動して、印刷ジョブC3と印刷ジョブB3の双方が印刷されるかどうかを判断する。例えば、印刷ジョブC3を印刷ジョブA3の処理が終了した後に開始するようにすると、この印刷ジョブC3の処理は、18:58に終了すると予測されている。そして、18:58に印刷ジョブB3の処理をプリンター18で開始すれば、印刷ジョブB3も処理が最後まで行われる。このような場合には、プリンターサーバー16は、図10(b)に示すように、印刷ジョブB3と印刷ジョブC3の処理順序を入れ替えて、プリンター18で印刷を行うようにするのである。
【0074】
図11は、このような処理をプリンターサーバー16で実現するために、プリンターサーバー16で実行される印刷ジョブ変更処理の内容を説明するためのフローチャートを示す図である。この印刷ジョブ変更処理は、プリンターサーバー16に新たな印刷ジョブが投入された場合に、起動される処理である。すなわち、プリンター18のスプーラーに新に印刷ジョブを追加する場合に、起動される処理である。
【0075】
また、この印刷ジョブ変更処理は、プリンターサーバー16のCPU20が、ROM24又はハードディスクドライブ26に格納されている印刷ジョブ変更処理プログラムを読み込んで実行することにより、実現される処理である。以下の説明では、上述の図11に示したように、印刷ジョブA3、印刷ジョブB3、印刷ジョブC3の順に、スプーラーに印刷ジョブが投入されたと仮定する。
【0076】
この図4に示すように、この印刷ジョブ変更処理が起動されると、まず、プリンターサーバー16は、新しく投入された印刷ジョブの印刷をするプリンターを特定する(ステップS300)。投入された印刷ジョブの処理をするプリンターを如何にして特定するかは、任意である。本実施形態においては、例えば、図12に示すように、印刷ジョブに、印刷データーに加えて、印刷処理をするプリンターを特定する情報であるプリンター特定情報が、少なくとも、含まれている。このため、プリンターサーバー16は、この印刷ジョブを解析することにより、その印刷ジョブの印刷処理をするプリンターを特定することができる。ここでは、プリンター18が、印刷処理を行うプリンターとして、印刷ジョブに指定されていたとする。
【0077】
次に、図11に示すように、プリンターサーバー16は、ステップS300で特定したプリンターに関する印刷制限時刻を特定する(ステップS302)。プリンターの印刷制限時間は、例えば、プリンターの管理者が、それぞれのプリンター自体に予め設定している。本実施形態においては、この印刷制限時間の設定は、プリンターの管理者がプリンターに設定する際に、プリンターサーバー16にも、その印刷制限時間を予め登録しておくこととしている。なお、プリンターの管理者がプリンターサーバー16に、プリンターの印刷制限時間を登録するのではなく、接続されているプリンターにプリンターサーバー16がアクセスし、各プリンターから、設定されている印刷制限時間を取得するようにしてもよい。
【0078】
図13は、本実施形態に係るプリンターサーバー16が保持する、印刷制限時間管理テーブルTB20の構成の一例を示す図である。この印刷制限時間管理テーブルTB20は、例えば、ハードディスクドライブ26に形成され、保持されている。印刷制限時間管理テーブルTB20には、プリンターを特定するためのプリンター特定情報と、印刷を制限する時間である印刷制限時間とが、対応付けられて、保持されている。この印刷制限時間の開始時刻が、本実施形態における印刷制限時刻となる。
【0079】
ステップS302においては、プリンターサーバー16は、このハードディスクドライブ26にある印刷制限時間管理テーブルTB20を検索して、ステップS300で特定したプリンターに、印刷制限時間があるかどうかを判断し、印刷制限時間がある場合には、その開始時刻である印刷制限時刻を取得する。例えば、ステップS300において特定したプリンター18のプリンター特定情報が「X123456」であったとすると、プリンターサーバー16は、印刷制限時間管理テーブルTB20を検索することにより、このプリンター18の印刷制限時間が19:00から翌8:00であり、印刷制限の開始時刻である印刷制限時刻が19:00であると特定することができる。
【0080】
次に、図11に示すように、プリンターサーバー16は、新たにスプーラー投入された印刷ジョブの処理が、投入された順番で処理を行った場合に、ステップS302で取得した印刷制限時刻までに開始されるかどうかを判断する(ステップS304)。具体的には、プリンターサーバー16は、図10(a)で例示したような各印刷ジョブの印刷処理時間を予測して、各印刷ジョブの印刷開始時刻を予測する。そして、予測した印刷開始時刻が、ステップS302で取得した印刷制限時刻より前であるかどうかを判断する。図10(a)の例では、印刷ジョブC3の印刷開始時刻は、プリンター18の印刷制限時刻の19:00より後であるので、この印刷ジョブC3は、印刷制限時刻までに印刷が終了しないと判断する。
【0081】
ステップS304において、投入された印刷ジョブが印刷制限時刻までに印刷が開始されないと判断した場合(ステップS304:NO)には、プリンターサーバー16は、投入された印刷ジョブよりも印刷順位が前にある印刷ジョブの印刷順位を後ろに移動すると、後ろに移動した印刷ジョブも新たに投入した印刷ジョブも、ともに、プリンター18の印刷制限時刻までに印刷が開始されるようになるかどうかを判断する(ステップS306)。
【0082】
例えば、図10(a)の例では、印刷ジョブC3が18:55に投入された時点で、印刷ジョブB3の処理は、まだ、開始されていない。このため、プリンターサーバー16は、図10(b)に示すように、この印刷ジョブB3の印刷順位の前に、印刷ジョブC3を移動しても、印刷ジョブB3の印刷がプリンター18の印刷制限時刻までに開始されるかどうかを判断する。図10(b)の例では、印刷ジョブB3の印刷順位を印刷ジョブC3の後ろに移動しても、印刷ジョブB3はプリンター18の印刷制限時刻までにその処理が開始されると予測されていることを示している。
【0083】
このように、投入された印刷ジョブよりも印刷順位が前にある印刷ジョブの印刷順位を後ろに移動することにより、この移動した印刷ジョブも、新たに投入された印刷ジョブもともに、プリンターの印刷制限時刻までに印刷が開始されるようになると判断した場合(ステップS306:YES)には、プリンターサーバー16は、その印刷順位を入れ替える(ステップS308)。
【0084】
図10の例では、図10(a)にある印刷ジョブC3の印刷順位を、図10(b)のように印刷ジョブB3の前に移動する。これにより、印刷ジョブC3は、プリンター18の印刷制限時刻までに処理が開始されるようになり、また、印刷ジョブB3も、プリンター18の印刷制限時刻までに処理が開始されるようになる。印刷ジョブB3は、プリンター18の印刷制限時刻までにはその処理が開始されているため、処理の途中で19:00になったとしても、最後まで処理は続行される。これにより、本実施形態に係る印刷ジョブ変更処理は終了する。
【0085】
これに対して、上述したステップS304において、スプーラーに投入された順番で印刷ジョブの処理を行っても、投入された印刷ジョブの処理が、プリンターの印刷制限時刻までに開始されると判断した場合(ステップS304:YES)、又は、上述したステップS306において、前にある印刷ジョブの印刷順位を後ろに移動すると、その移動した印刷ジョブの処理が印刷制限時刻までに開始されない、或いは、移動したとしても投入した印刷ジョブの処理が印刷制限時刻までに開始されないと判断した場合(ステップS306:NO)には、印刷ジョブの印刷順位の入れ替えをすることなく、この印刷ジョブ変更処理を終了する。
【0086】
すなわち、スプーラーに投入された順番で印刷ジョブを処理しても、新たに投入された印刷ジョブの処理がプリンターの印刷制限時刻までに開始されるのであれば、そのままの印刷順位で印刷を行う。また、印刷順位を後ろに移動して印刷制限時刻までに処理の開始される印刷ジョブが無い場合には、新たに投入された印刷ジョブの処理が印刷制限時刻までに開始せずとも、印刷ジョブの印刷順位の入れ替えは行わないようにしている。これは、すでに印刷ジョブがスプーラーに投入されているので、この投入されている印刷順位を尊重した方が、印刷システム10のユーザーの利便性は良くなると考えられるからである。
【0087】
さらに、たとえ他の印刷ジョブを後ろに移動しても、新たに投入した印刷ジョブの処理が印刷制限時刻までに開始されない場合にも、印刷ジョブの印刷順位の入れ替えは行わないようにしている。これは、新たに投入した印刷ジョブの処理が印刷制限時刻までに開始されないのであれば、印刷順位を入れ替える意味がないためである。
【0088】
以上のように、本実施形態に係る印刷システム10によれば、プリンターサーバー16は、スプーラーで管理されている印刷ジョブの処理時間を予測し、新たに投入された印刷ジョブが、指定されたプリンターの印刷制限時刻までに開始されるかどうかを判断することとした。そして、印刷制限時刻までに開始されないと判断した場合には、スプーラーに溜まっている印刷ジョブのそれぞれの印刷開始時刻を推定して、新たに投入された印刷ジョブよりも前の印刷順位にある印刷ジョブを、新たに投入した印刷ジョブの後ろに移動することにより、後ろに移動した印刷ジョブもプリンターの印刷制限時刻までに印刷が開始され、且つ、新たに投入された印刷ジョブもプリンターの印刷制限時刻までに印刷が開始されるようになるかどうかを調べる。その上で、もし、このような印刷ジョブに入れ替えを行うことにより、後ろに移動した印刷ジョブの印刷がプリンターの印刷制限時刻までに開始され、且つ、新たに投入された印刷ジョブの印刷もプリンターの印刷制限時刻までに開始されると予測できる場合には、印刷ジョブの入れ替えを行うことにより、双方の印刷ジョブの印刷が行われるようにしている。
【0089】
このため、印刷時刻に制限があるにも拘わらず、ユーザーは、指定した通りの印刷設定で印刷結果を得ることができるようになる。例えば、印刷ジョブの設定がカラー印刷である場合には、設定通りのカラー印刷で印刷結果を取得することができる。このため、印刷結果に対するユーザーの満足度を向上させることができる。
【0090】
〔第4実施形態〕
上述した第1実施形態乃至第3実施形態においては、プリンターサーバー16は、1つのプリンターのスプーラー内で印刷ジョブの印刷順位を入れ替えることにより、印刷制限時刻までに印刷ジョブの処理が行われるようにしていた。本発明の第4実施形態では、プリンターサーバー16は、他のプリンターに印刷処理の一部を振り替えることにより、印刷制限時刻までに印刷ジョブの処理が行われるようにしたものである。以下、上述した第1実施形態と異なる部分を説明する。
【0091】
図14は、本発明の第4実施形態に係る印刷システム10の全体構成を示すブロック図である。この図14に示すように、本実施形態に係る印刷システム10では、図1に示した印刷システム10に第2のプリンター19を追加することにより構成されている。すなわち、上述したプリンター18を第1のプリンター18とすると、プリンターサーバー16には、この第1のプリンター18に加えて、第2のプリンター19が接続されている。これら2台のプリンター18、19がプリンターサーバー16に接続されている点以外は、上述した図1の印刷システム10と同一の構成である。
【0092】
次に、図15に基づいて、本実施形態に係るプリンターサーバー16が行う印刷ジョブの制御について概略的に説明する。この図15は、プリンターサーバー16が行ったジョブ処理時間の予測を模式的に示している。すなわち、スプーラーに溜まっている印刷ジョブのそれぞれの処理時間を予測し、その処理開始時刻と処理完了時刻とを予測した状態を、概念的に説明するための図である。
【0093】
この図15(a)に示すように、プリンターサーバー16がプリンター18用に形成しているスプーラに、印刷ジョブA4がある状態で、新たに印刷ジョブC4が投入されてきたとする。印刷ジョブA4を生成したユーザーは、ユーザーAであり、印刷ジョブC4を生成したユーザーは、ユーザーCであるとする。そして、ここでは、ユーザーCは、第1のプリンター18と第2のプリンター19に対して印刷制限時間が設定されており、19:00以降は、プリンター18、19で印刷ができない設定になっている。
【0094】
このような状況の下、18:55に、ユーザーCの印刷ジョブC4が、プリンターサーバー16における第1のプリンター18のスプーラーに投入されたとすると、このままの印刷ジョブの処理順序だと、印刷ジョブC4の印刷処理が実際に第1のプリンター18で終了するのは19:00以降になってしまい、その印刷が実現できなくなってしまう。
【0095】
そこで、本実施形態に係るプリンターサーバー16では、図15(b)に示すように、印刷ジョブC4を、第1のプリンター18による印刷処理と第2のプリンター19による印刷処理とに分散させることにより、印刷制限時刻の19:00までに印刷処理が完了するようにしている。
【0096】
すなわち、印刷ジョブC4が第1のプリンター18のスプーラーに投入された時点で、第2のプリンター19では印刷処理が行われおらず、アイドル状態である。このため、プリンターサーバー16は、印刷ジョブC4の一部の印刷処理を、第1のプリンター18から第2のプリンター19に振り分けて、印刷を行う。例えば、印刷ジョブC4が全20ページで構成されている場合、第1ページから第10ページまでを第1のプリンター18で印刷し、第11ページから第20ページまでを第2のプリンター19で印刷する。ユーザーは、これら第1のプリンター18の印刷結果と第2のプリンター19の印刷結果とを、自分で結合することにより、目的の印刷物を取得することができる。
【0097】
図16は、このような処理をプリンターサーバー16で実現するために、プリンターサーバー16で実行される印刷ジョブ変更処理の内容を説明するためのフローチャートを示す図である。この印刷ジョブ変更処理は、プリンターサーバー16に新たな印刷ジョブが投入された場合に、起動される処理である。すなわち、プリンター18のスプーラーに新に印刷ジョブを追加する場合に、起動される処理である。
【0098】
また、この印刷ジョブ変更処理は、プリンターサーバー16のCPU20が、ROM24又はハードディスクドライブ26に格納されている印刷ジョブ変更処理プログラムを読み込んで実行することにより、実現される処理である。以下の説明では、上述の図15に示したように、印刷ジョブA4、印刷ジョブC4の順に、第1のプリンター18のスプーラーに印刷ジョブが投入されたと仮定する。
【0099】
この図16に示すように、この印刷ジョブ変更処理が起動されると、まず、プリンターサーバー16は、新しく投入された印刷ジョブを生成したユーザーを特定する(ステップS400)。印刷ジョブを生成したユーザーを特定するための処理は、上述した第1実施形態のステップS100と同様である。
【0100】
次に、図16に示すように、プリンターサーバー16は、ステップS400で特定したユーザーの印刷制限時刻を取得する(ステップS402)。このユーザーの印刷制限時刻を特定するための処理も、上述した第1実施形態のステップS102と同様である。ここでは、上述した第1実施形態と同様に、ユーザーCの印刷制限時刻が19:00であったと仮定する。
【0101】
次に、図16に示すように、プリンターサーバー16は、スプーラーに投入された順番で処理を行った場合に、新たに投入された印刷ジョブが、ステップS402で取得した印刷制限時刻までに終了するかどうかを判断する(ステップS404)。具体的には、プリンターサーバー16は、図15(a)で例示したような各印刷ジョブの印刷処理時間を予測して、各印刷ジョブの印刷完了時刻を予測する。そして、予測した印刷完了時刻が、ステップS402で取得した印刷制限時刻より前であるかどうかを判断する。図15(a)の例では、印刷ジョブC4の印刷完了時刻は、ユーザーCの印刷制限時刻の19:00より後であるので、この印刷ジョブC4は、印刷制限時刻までに印刷が終了しないと判断する。
【0102】
ステップS404において、投入された印刷ジョブが印刷制限時刻までに印刷が終了しないと判断した場合(ステップS404:NO)には、プリンターサーバー16は、他のプリンターに印刷ジョブを振り分けることにより、投入された印刷ジョブの印刷処理が、そのユーザーの印刷制限時刻までに終了するようになるかどうかを判断する(ステップS406)。
【0103】
例えば、図15(a)の例では、印刷ジョブC4が18:55に投入された時点で、第2のプリンター19は、印刷処理が行われていない。このため、第2のプリンター19を使用すれば、直ちに印刷を開始することができる。また、第1のプリンター18においても、印刷ジョブA4の印刷処理は、19:00よりも前に完了すると予測されている。このため、第1のプリンター18においても、印刷ジョブA4の印刷処理が完了した後に、印刷を行うことができる。
【0104】
したがって、本実施形態においては、プリンターサーバー16は、印刷ジョブC4の一部の処理を第2のプリンター19で直ちに行い、残りを、印刷ジョブA4の印刷処理完了後の第1のプリンター18で行うことにより、印刷ジョブC4をユーザーCの印刷制限時刻までに終了させることができると判断する。
【0105】
このように、分散印刷を行うことにより、投入された印刷ジョブの印刷がその印刷制限時刻までに終了するようになると判断した場合(ステップS406:YES)には、プリンターサーバー16は、分散印刷を行う(ステップS408)。
【0106】
図15の例では、図15(b)に示すように、印刷ジョブC4の第11ページから第20ページを第2のプリンター19で印刷をするように切り替える。そして、印刷ジョブC4の第1ページから第10ページを第1のプリンター18で印刷をする。すなわち、第1のプリンター18における印刷ジョブA4の印刷処理が完了した後に、第1のプリンター18で、第1ページから第10ページまでの印刷を行う。
【0107】
次に、プリンターサーバー16は、分散印刷をした旨の通知を、ユーザーに送信する(ステップS410)。すなわち、プリンターサーバー16は、ネットワーク12を介して、分散印刷をした印刷ジョブを送信したコンピューター14に、分散印刷を行った旨の通知を送信する。この通知では、どのプリンターに分散したのかを特定する情報も、含まれている。ユーザーは、コンピューター14でこの通知を受信し、分散印刷されたプリンターから印刷結果を取得して、それらを結合することにより、目的の印刷物を得ることができる。
【0108】
上述した例では、印刷ジョブC4を送信したのがコンピューター14Cであったと仮定すると、プリンターサーバー16は、コンピューター14Cにネットワーク12を介して、分散印刷をした旨の通知を行い、また、第1のプリンター18と第2のプリンター19とで分散印刷を行った旨を通知する。この通知を受けたユーザーCは、第1のプリンター18の印刷結果と第2のプリンター19の印刷結果とを結合することにより、目的の印刷物を得ることができる。
【0109】
これに対して、上述したステップS404において、スプーラーに投入された順番で印刷ジョブの処理を行っても、投入された印刷ジョブが印刷制限時刻までに終了すると判断した場合(ステップS404:YES)、又は、上述したステップS406において、分散印刷をしても、投入された印刷ジョブが印刷制限時刻までに終了しないと判断した場合(ステップS406:NO)には、分散印刷をすることなく、この印刷ジョブ変更処理を終了する。
【0110】
すなわち、スプーラーに投入された順番で印刷ジョブを処理しても、新たに投入された印刷ジョブが印刷制限時刻までに終了するのであれば、そのままの印刷順位で印刷を行う。また、分散印刷をしても、新たに投入された印刷ジョブが印刷制限時刻までに終了しない場合や、そもそも他のプリンターが稼働しておりプリンターの空きが無い場合などでは、分散印刷は行わない。
【0111】
以上のように、本実施形態に係る印刷システム10によれば、プリンターサーバー16は、スプーラーで管理されている印刷ジョブの処理時間を予測し、スプーラーに溜まっている印刷ジョブのそれぞれの印刷完了時刻を推測して、新たに投入された印刷ジョブが、その印刷ジョブを生成したユーザーの印刷制限時刻までに終了するかどうかを判断することとした。そして、印刷制限時刻までに終了しないと判断した場合には、他のプリンターに印刷処理を分散させることにより、その印刷ジョブが印刷制限時刻までに終了できるようになるか判断し、印刷制限時刻までに終了できると判断した場合には、分散印刷をすることにより、印刷が最後まで行われるようにした。
【0112】
このため、異なる複数のプリンターの出力結果を結合するだけで、ユーザーは、印刷時刻に制限があるにも拘わらず、指定した通りの印刷設定で印刷結果を得ることができるようになる。例えば、印刷ジョブの設定がカラー印刷である場合には、設定通りのカラー印刷で印刷結果を取得することができる。このため、印刷結果に対するユーザーの満足度を向上させることができる。
【0113】
〔第5実施形態〕
上述した第4実施形態においては、プリンターサーバー16は、他のプリンターに印刷ジョブの処理の一部を振り替えることにより、印刷制限時刻までに印刷ジョブの処理が完了するようにしたが、第5実施形態においては、他のプリンターに印刷処理の全部を振り替えることにより、印刷制限時刻までに印刷ジョブの処理が行われるようにしたものである。以下、上述した第4実施形態と異なる部分を説明する。
【0114】
まず、図17に基づいて、本実施形態に係るプリンターサーバー16が行う印刷ジョブの制御について概略的に説明する。この図17は、プリンターサーバー16が行ったジョブ処理時間の予測を模式的に示している。すなわち、スプーラーに溜まっている印刷ジョブのそれぞれの処理時間を予測し、その処理開始時刻と処理完了時刻とを予測した状態を、概念的に説明するための図である。
【0115】
この図17(a)に示すように、プリンターサーバー16がプリンター18用に形成しているスプーラに、印刷ジョブA5がある状態で、新たに印刷ジョブC5が投入されてきたとする。印刷ジョブA5を生成したユーザーは、ユーザーAであり、印刷ジョブC5を生成したユーザーは、ユーザーCであるとする。そして、ここでは、ユーザーCは、第1のプリンター18と第2のプリンター19に対して印刷制限時間が設定されており、19:00以降は、プリンター18、19で印刷ができない設定になっているものとする。
【0116】
このような状況の下、18:55に、ユーザーCの印刷ジョブC5が、プリンターサーバー16における第1のプリンター18のスプーラーに投入されたとすると、このままの印刷ジョブの処理順序だと、印刷ジョブC5の印刷処理が実際に第1のプリンター18で終了するのは19:00以降になってしまい、その印刷が実現できなくなってしまう。
【0117】
そこで、本実施形態に係るプリンターサーバー16では、図17(b)に示すように、印刷ジョブC5を、第2のプリンター19で処理することにより、印刷制限時刻の19:00までに印刷処理が完了するようにしている。
【0118】
すなわち、印刷ジョブC5が第1のプリンター18のスプーラーに投入された時点で、第2のプリンター19では印刷処理が行われおらず、アイドル状態である。このため、プリンターサーバー16は、印刷ジョブC5の印刷処理全体を、第1のプリンター18から第2のプリンター19に変更して、代替印刷を行う。例えば、印刷ジョブC5が全20ページで構成されている場合、第1ページから第20ページまでの全部を、第2のプリンター19で印刷する。ユーザーは、第2のプリンター19から、目的の印刷物を取得することができる。
【0119】
図18は、このような処理をプリンターサーバー16で実現するために、プリンターサーバー16で実行される印刷ジョブ変更処理の内容を説明するためのフローチャートを示す図である。この印刷ジョブ変更処理は、プリンターサーバー16に新たな印刷ジョブが投入された場合に、起動される処理である。すなわち、プリンター18のスプーラーに新に印刷ジョブを追加する場合に、起動される処理である。
【0120】
また、この印刷ジョブ変更処理は、プリンターサーバー16のCPU20が、ROM24又はハードディスクドライブ26に格納されている印刷ジョブ変更処理プログラムを読み込んで実行することにより、実現される処理である。以下の説明では、上述の図17に示したように、印刷ジョブA5、印刷ジョブC5の順に、第1のプリンター18のスプーラーに印刷ジョブが投入されたと仮定する。
【0121】
この図18に示すように、この印刷ジョブ変更処理が起動されると、まず、プリンターサーバー16は、新しく投入された印刷ジョブを生成したユーザーを特定する(ステップS500)。印刷ジョブを生成したユーザーを特定するための処理は、上述した第1実施形態のステップS100と同様である。
【0122】
次に、図18に示すように、プリンターサーバー16は、ステップS500で特定したユーザーの印刷制限時刻を取得する(ステップS502)。このユーザーの印刷制限時刻を特定するための処理も、上述した第1実施形態のステップS102と同様である。ここでは、上述した第1実施形態と同様に、ユーザーCの印刷制限時刻が19:00であったと仮定する。
【0123】
次に、図18に示すように、プリンターサーバー16は、新たに投入された印刷ジョブが、ステップS502で取得した印刷制限時刻までに終了するかどうかを判断する(ステップS504)。具体的には、プリンターサーバー16は、図17(a)で例示したような各印刷ジョブの印刷処理時間を予測して、各印刷ジョブの印刷完了時刻を予測する。そして、予測した印刷完了時刻が、ステップS502で取得した印刷制限時刻より前であるかどうかを判断する。図17(a)の例では、印刷ジョブC5の印刷完了時刻は、ユーザーCの印刷制限時刻の19:00より後であるので、この印刷ジョブC5は、印刷制限時刻までに印刷が終了しないと判断する。
【0124】
ステップS504において、スプーラーに投入された順番で印刷ジョブの処理を行うと、新たに投入された印刷ジョブの処理が印刷制限時刻までに終了しないと判断した場合(ステップS504:NO)には、プリンターサーバー16は、他のプリンターで、その印刷ジョブを処理することにより、投入された印刷ジョブの印刷処理が、そのユーザーの印刷制限時刻までに終了するかどうかを判断する(ステップS506)。
【0125】
例えば、図17(a)の例では、印刷ジョブC5が18:55に投入された時点で、第2のプリンター19は、印刷処理が行われていない。このため、第2のプリンター19を使用すれば、直ちに印刷を開始することができる。このため、本実施形態においては、プリンターサーバー16は、印刷ジョブC5を第1のプリンター18で処理するのではなく、第2のプリンター19で直ちに処理を開始することにより、印刷ジョブC5をユーザーCの印刷制限時刻までに終了させることができると判断する。
【0126】
このように、代替印刷を行うことにより、新たに投入された印刷ジョブの印刷がその印刷制限時刻までに終了するようになると判断した場合(ステップS506:YES)には、プリンターサーバー16は、代替印刷を行う(ステップS508)。
【0127】
図17の例では、図17(b)に示すように、印刷ジョブC5の全体の処理を、第1のプリンター18ではなく、第2のプリンター19で行うように変更して、第2のプリンター19ですべての印刷処理を行う。
【0128】
次に、プリンターサーバー16は、代替印刷をした旨の通知を、ユーザーに送信する(ステップS510)。すなわち、プリンターサーバー16は、ネットワーク12を介して、代替印刷をした印刷ジョブを送信したコンピューター14に、代替印刷を行った旨の通知を送信する。この通知では、どのプリンターに印刷を振り替えたのかを特定する情報も、含まれている。ユーザーは、コンピューター14でこの通知を受信し、代替印刷されたプリンターから、目的の印刷物を得ることができる。
【0129】
上述した例では、印刷ジョブC5を送信したのがコンピューター14Cであったと仮定すると、プリンターサーバー16は、コンピューター14Cにネットワーク12を介して、代替印刷をした旨の通知を行い、また、第1のプリンター18ではなく、第2のプリンター19で印刷処理を行った旨を通知する。この通知を受けたユーザーCは、第2のプリンター19から、目的の印刷物を得ることができる。
【0130】
これに対して、上述したステップS504において、スプーラーに投入された順番に印刷ジョブを処理しても、新たに投入された印刷ジョブが印刷制限時刻までに終了すると判断した場合(ステップS504:YES)、又は、上述したステップS506において、代替印刷をしても、新たに投入された印刷ジョブが印刷制限時刻までに終了しないと判断した場合(ステップS506:NO)には、代替印刷をすることなく、この印刷ジョブ変更処理を終了する。
【0131】
すなわち、スプーラーに投入された順番で印刷ジョブを処理しても、新たに投入された印刷ジョブが印刷制限時刻までに終了するのであれば、そのままの印刷順位で指定されたプリンターによる印刷を行う。また、代替印刷をしても、新たに投入された印刷ジョブが印刷制限時刻までに終了しない場合や、そもそも他のプリンターが稼働しておりプリンターに空きが無い場合などでは、代替印刷は行わない。
【0132】
以上のように、本実施形態に係る印刷システム10によれば、プリンターサーバー16は、スプーラーで管理されている印刷ジョブの処理時間を予測し、スプーラーに溜まっている印刷ジョブのそれぞれの印刷完了時刻を推定して、新たに投入された印刷ジョブが、その印刷ジョブを生成したユーザーの印刷制限時刻までに終了するかどうかを判断することとした。そして、印刷制限時刻までに終了しないと判断した場合には、他のプリンターに印刷処理を代行させることにより、その印刷ジョブが印刷制限時刻までに終了できるようになるか判断し、印刷制限時刻までに終了できると判断した場合には、代替印刷をすることにより、印刷が最後まで行われるようにした。
【0133】
このため、ユーザーが指定したプリンターとは異なるプリンターで印刷物が出力されるが、印刷時刻に制限があるにも拘わらず、指定した通りの印刷設定で印刷結果を得ることができるようになる。例えば、印刷ジョブの設定がカラー印刷である場合には、設定通りのカラー印刷で印刷結果を取得することができる。このため、印刷結果に対するユーザーの満足度を向上させることができる。
【0134】
なお、本発明は上記実施形態に限定されず種々に変形可能である。例えば、上述した実施形態では、プリンターサーバー16が印刷ジョブ変更処理を行い、スプーラーに保持されている印刷ジョブの処理順序を変更したり、分散印刷や代替印刷を行うように変更したりすることとしたが、この印刷ジョブ変更処理をプリンターサーバー16以外で行うようにしてもよい。例えば、図1に対応する図19に示すように、ネットワーク12上にジョブ制御装置40を別個に設け、このジョブ制御装置40が、上述した印刷ジョブ変更処理を行い、プリンターサーバー16に形成されているスプーラー内の印刷ジョブの処理順序を変更するようにしてもよい。同様に、図14に対応する図20に示すように、ネットワーク12上にジョブ制御装置40を別個に設け、このジョブ制御装置40が、上述した印刷ジョブ変更処理を行い、プリンターサーバー16に形成されているスプーラー内の印刷ジョブについて、分散印刷をするように変更したり、代替印刷をするように変更したりするようにしてもよい。
【0135】
また、印刷制限時刻を経過する時点で処理している印刷ジョブについて、印刷制限時刻を経過した時点で直ちにその処理が中断されるのか、それとも、印刷制限時刻を経過する時点で処理の開始されている印刷ジョブについては最後まで処理を行うのかは、任意の設定である。例えば、第1実施形態、第2実施形態、及び、第4実施形態乃至第6実施形態においては、印刷制限時刻を経過した時点で直ちにその処理が中断される場合を例に本発明を説明したが、印刷制限時刻を経過する時点で処理の開始されている印刷ジョブについては最後まで処理を行う場合であっても、本発明を適用することができる。
【0136】
また、上述した第4実施形態及び第5実施形態においては、ユーザーに関連付けて印刷制限時刻が定められている場合を例に本発明の一実施形態を説明したが、第2実施形態と同様にジョブに関連付けて印刷制限時刻が定められている場合にも適用でき、第3実施形態と同様にプリンターに関連付けて印刷制限時刻が定められている場合にも適用できる。
【0137】
また、上述した第4実施形態において、分散印刷を行うか否かを任意に設定できるようにしてもよい。この場合、例えば、この設定を、プリンターサーバー16に予め登録できるようにしてもよいし、印刷ジョブで個別に指定できるようにしてもよい。同様に、上述した第5実施形態において、代替印刷を行うか否かを、任意に設定できるようにしてもよい。この場合、例えば、この設定を、プリンターサーバー16に予め登録できるようにしてもよいし、印刷ジョブで個別に指定できるようにしてもよい。
【0138】
また、上述した実施形態では、ジョブ処理装置がプリンターであり、ジョブが印刷ジョブである場合を例に、本発明を説明したが、ジョブ処理装置はプリンターに限られるものはなく、また、ジョブも印刷ジョブに限られるものではない。また、ジョブを生成するジョブ生成装置も、コンピューターに限られるものではない。
【0139】
また、上述の実施形態で説明した印刷ジョブ変更処理については、この処理を実行するためのプログラムをフレキシブルディスク、CD−ROM(Compact Disc-Read Only Memory)、ROM、メモリーカード等の記録媒体に記録して、記録媒体の形で頒布することが可能である。この場合、この記録媒体に記録されたプログラムをプリンターサーバー16に読み込ませ、実行させることにより、上述した実施形態を実現することができる。
【0140】
また、プリンターサーバー16は、オペレーティングシステムや別のアプリケーションプログラム等の他のプログラムを備える場合がある。この場合、プリンターサーバー16の備える他のプログラムを活用するために、そのプリンターサーバー16が備えるプログラムの中から、上述した実施形態と同等の処理を実現するプログラムを呼び出すような命令を含むプログラムを、記録媒体に記録するようにしてもよい。
【0141】
さらに、このようなプログラムは、記録媒体の形ではなく、ネットワーク12を通じて搬送波として頒布することも可能である。ネットワーク12上を搬送波の形で伝送されたプログラムは、プリンターサーバー16に取り込まれて、このプログラムを実行することにより上述した実施形態を実現することができる。
【0142】
また、記録媒体にプログラムを記録する際や、ネットワーク12上を搬送波として伝送される際に、プログラムの暗号化や圧縮化がなされている場合がある。この場合には、これら記録媒体や搬送波からプログラムを読み込んだプリンターサーバー16は、そのプログラムの復号や伸張を行った上で、実行する必要がある。
【0143】
また、上述した実施形態では、印刷ジョブ変更処理をソフトウェアにより実現する場合を例に説明したが、この処理をASIC(Application Specific IC)などのハードウェアにより実現するようにしてもよい。さらには、この印刷ジョブ変更処理を、ソフトウェアとハードウェアとが協働して実現するようにしてもよい。
【符号の説明】
【0144】
10 印刷システム
12 ネットワーク
14(14A、14B、14C) コンピューター
16 プリンターサーバー
18 プリンター
20 CPU
22 RAM
24 ROM
26 ハードディスクドライブ
28 ユーザーインターフェース
30 表示画面
32 通信インターフェース
34 プリンター接続インターフェース
【技術分野】
【0001】
本発明はジョブ制御装置に関し、特に、ジョブ処理装置でジョブを処理する際に、時間的な制限がある場合に用いられるジョブ制御装置に関する。
【背景技術】
【0002】
ネットワークにプリンターを接続し、このプリンターを同じネットワークに接続された他のコンピューターと共用する印刷システムが広く普及している。このような印刷システムにおいては、コンピューターとプリンターとの間に、プリンターサーバーを設け、コンピューターから送信された印刷ジョブは、このプリンターサーバーで一旦受信され、このプリンターサーバーにおける印刷ジョブの順番などの管理を受けながら、プリンターで印刷が行われるようにして、コンピューターとプリンターの双方の有効利用が図れるようにしていることも多い。
【0003】
さらに、このような印刷システムにおいては、多くのユーザーがプリンターを利用することから、このプリンターを利用できる時間に制限を設けている場合もある。例えば、あるユーザーAは、プリンターを8:00から19:00までは利用できるが、19:00から翌8:00までは利用できないというような制限である。この制限がある場合、ユーザーAが19:00間際に印刷ジョブを投入した場合、このプリンターで19:00までには処理される必要があり、19:00を過ぎると19:00前に投入した印刷ジョブであっても処理が行われなくなってしまう。
【0004】
このような時間的な制限は、ユーザーに関連付けられて定められている場合だけでなく、印刷ジョブに関連付けられて定められている場合や、プリンターに関連付けられて定められている場合もある。このような場合でも、印刷制限時刻の間際に投入された印刷ジョブは、プリンターが空くのをまっている間に印刷制限時刻を経過してしまい、印刷処理が行われない可能性が生じてしまう。
【0005】
このような問題を解決するため、特開2006−218804号公報(特許文献1)では、プリンターサーバーに投入された印刷ジョブの処理時間をプリンターサーバが予測し、この予測の結果、印刷制限時刻までに印刷ができないと判断された印刷ジョブについては、簡易印刷に変更して印刷を行うことにより、印刷時間を短縮し、印刷制限時刻までに印刷が完了するようにしている。
【0006】
しかしながら、この特開2006−218804号公報で開示する手法では、印刷結果がユーザーの期待するものと異なってしまうことになる。例えば、カラー印刷を指定したにも拘わらず、モノクロ印刷の印刷物が出力されてしまうことになる。このため、たとえ印刷が完了したとしても、ユーザーの満足度は低くなってしまう恐れもある。
【0007】
このような問題は、プリンターのジョブを制御するプリンターサーバーに限らず、プリンター以外のジョブ処理装置のジョブを制御するジョブ制御装置であれば、同様に生じ得る。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】特開2006−218804号公報
【発明の概要】
【発明が解決しようとする課題】
【0009】
そこで本発明は、前記課題に鑑みてなされたものであり、処理制限時刻のあるジョブ処理において、ジョブ処理の内容を変更せずとも、処理制限時刻までにジョブ処理が行われるようにして、ジョブ処理に関するユーザーの満足度を向上させることを目的とする。
【課題を解決するための手段】
【0010】
上記の課題を解決するために、本発明に係るジョブ制御装置は、
ジョブ処理装置で処理されるジョブの制御を行うジョブ制御装置であって、
投入されたジョブの処理順位を管理し、投入された順番でジョブの処理が行われるようにジョブの管理を行う、処理順位管理手段と、
前記処理順位管理手段で管理されているジョブの処理時間を予測して、新たに投入されたジョブが、その処理制限時刻までに処理されるかどうかを判断する、判断手段と、
前記判断手段が前記新たに投入されたジョブは前記処理制限時刻までに処理されないと判断した場合には、前記処理制限時刻までにその処理が間に合うように、ジョブの処理内容を変更することなく、前記処理順位管理手段におけるジョブの処理方法を変更する、変更手段と、
を備えることを特徴とする。
【0011】
この場合、前記処理制限時刻は、ジョブを生成するユーザーに関連付けられて定められているようにしてもよい。
【0012】
或いは、前記処理制限時刻は、ジョブに関連付けられて定められているようにしてもよい。
【0013】
或いは、前記処理制限時刻は、前記ジョブ処理装置に関連付けられて定められているようにしてもよい。
【0014】
また、前記変更手段は、前記判断手段が前記新たに投入されたジョブは前記処理制限時刻までに処理されないと判断した場合には、前記処理制限時刻までに前記新たに投入されたジョブの処理が行われるように、前記処理順位管理手段におけるジョブの処理順位を入れ替えるようにしてもよい。
【0015】
或いは、前記変更手段は、前記判断手段が前記新たに投入されたジョブは前記処理制限時刻までに処理されないと判断した場合には、前記処理制限時刻までに前記新たに投入されたジョブの処理が行われるように、前記新たに投入されたジョブを複数のジョブ処理装置に分散させて処理させるようにしてもよい。
【0016】
或いは、前記変更手段は、前記判断手段が前記新たに投入されたジョブは前記処理制限時刻までに処理されないと判断した場合には、前記処理制限時刻までに前記新たに投入されたジョブの処理が行われるように、前記新たに投入されたジョブを、指定されたジョブ処理装置から他のジョブ処理装置に変更して処理させるようにしてもよい。
【0017】
本発明に係るジョブ制御装置の制御方法は、
ジョブ処理装置で処理されるジョブの制御を行うジョブ制御装置であって、投入されたジョブの処理順位を管理し、投入された順番でジョブの処理が行われるようにジョブの管理を行う、処理順位管理手段を備えるジョブ制御装置の制御方法において、
前記ジョブ制御装置が、前記処理順位管理手段で管理されているジョブの処理時間を予測して、新たに投入されたジョブが、その処理制限時刻までに処理されるかどうかを判断するステップと、
前記新たに投入されたジョブは前記処理制限時刻までに処理されないと判断した場合には、前記ジョブ制御装置が、前記処理制限時刻までにその処理が間に合うように、ジョブの処理内容を変更することなく、前記処理順位管理手段におけるジョブの処理方法を変更するステップと、
を備えることを特徴とする。
【0018】
本発明に係るプログラムは、
ジョブ処理装置で処理されるジョブの制御を行うジョブ制御装置であって、投入されたジョブの処理順位を管理し、投入された順番でジョブの処理が行われるようにジョブの管理を行う、処理順位管理手段を備えるジョブ制御装置の制御を行うプログラムにおいて、
前記処理順位管理手段で管理されているジョブの処理時間を予測して、新たに投入されたジョブが、その処理制限時刻までに処理されるかどうかを判断するステップと、
前記新たに投入されたジョブは前記処理制限時刻までに処理されないと判断した場合には、前記処理制限時刻までにその処理が間に合うように、ジョブの処理内容を変更することなく、前記処理順位管理手段におけるジョブの処理方法を変更するステップと、
を前記ジョブ制御装置に実行させることを特徴とする。
【図面の簡単な説明】
【0019】
【図1】本発明に係る印刷システムの全体構成の一例を示す図である。
【図2】図1におけるプリンターサーバーの内部構成の一例を示すブロック図である。
【図3】本発明の第1実施形態における印刷ジョブ変更処理の内容を概念的に説明するための図であり、図3(a)は投入された順番で印刷ジョブを処理した場合における予測処理時間を示しており、図3(b)は変更後の印刷ジョブの予測処理時間を示している。
【図4】第1実施形態に係るプリンターサーバーで実行される印刷ジョブ変更処理の内容の一例を説明するフローチャートを示す図。
【図5】第1実施形態に係るプリンターサーバーで受信される印刷ジョブのフォーマットの一例を示す図。
【図6】第1実施形態に係るプリンターサーバーが保持する印刷制限時間管理テーブルの構成の一例を示す図。
【図7】本発明の第2実施形態における印刷ジョブ変更処理の内容を概念的に説明するための図であり、図7(a)は投入された順番で印刷ジョブを処理した場合における予測処理時間を示しており、図7(b)は変更後の印刷ジョブの予測処理時間を示している。
【図8】第2実施形態に係るプリンターサーバーで実行される印刷ジョブ変更処理の内容の一例を説明するフローチャートを示す図。
【図9】第2実施形態に係るプリンターサーバーで受信される印刷ジョブのフォーマットの一例を示す図。
【図10】本発明の第3実施形態における印刷ジョブ変更処理の内容を概念的に説明するための図であり、図10(a)は投入された順番で印刷ジョブを処理した場合における予測処理時間を示しており、図10(b)は変更後の印刷ジョブの予測処理時間を示している。
【図11】第3実施形態に係るプリンターサーバーで実行される印刷ジョブ変更処理の内容の一例を説明するフローチャートを示す図。
【図12】第3実施形態に係るプリンターサーバーで受信される印刷ジョブのフォーマットの一例を示す図。
【図13】第3実施形態に係るプリンターサーバーが保持する印刷制限時間管理テーブルの構成の一例を示す図。
【図14】本発明に係る印刷システムの全体構成の別の例を示す図である。
【図15】本発明の第4実施形態における印刷ジョブ変更処理の内容を概念的に説明するための図であり、図15(a)は投入された順番で印刷ジョブを処理した場合における予測処理時間を示しており、図15(b)は変更後の印刷ジョブの予測処理時間を示している。
【図16】第4実施形態に係るプリンターサーバーで実行される印刷ジョブ変更処理の内容の一例を説明するフローチャートを示す図。
【図17】本発明の第5実施形態における印刷ジョブ変更処理の内容を概念的に説明するための図であり、図17(a)は投入された順番で印刷ジョブを処理した場合における予測処理時間を示しており、図17(b)は変更後の印刷ジョブの予測処理時間を示している。
【図18】第5実施形態に係るプリンターサーバーで実行される印刷ジョブ変更処理の内容の一例を説明するフローチャートを示す図。
【図19】図1に示した印刷システムの変形例を説明するための図である。
【図20】図14に示した印刷システムの変形例を説明するための図である。
【発明を実施するための形態】
【0020】
以下、図面を参照して、本発明の実施形態を説明する。なお、以下に説明する実施形態は、本発明の技術的範囲を限定するものではない。
【0021】
〔第1実施形態〕
図1は、本発明の第1実施形態に係る印刷システム10の全体構成を示すブロック図である。この図1に示すように、本実施形態に係る印刷システム10は、ネットワーク12に接続された、1又は複数のコンピューター14と、プリンターサーバー16とを備えており、このプリンターサーバー16を介して接続されたプリンター18を備えている。
【0022】
この図1の例では、3台のコンピューター14A〜14Cが、ネットワーク12に接続されており、1台のプリンター18が、プリンターサーバー16に接続されている。但し、ネットワーク12に接続されるコンピューター14の台数は任意であり、プリンターサーバ16に接続されるプリンター18の台数も任意である。
【0023】
ネットワーク12は、いわゆるローカルエリアネットワークであり、このプリンター18を複数のコンピューター14で共用することを1つの目的として、ネットワークが構築されている。コンピューター14は、印刷ジョブを生成し、プリンター18に送信する、ジョブ生成装置の一例であり、例えば、パーソナルコンピューターやPDA(Personal Digital Assistant)などにより構成されている。プリンター18は、ジョブ生成装置で生成されたジョブを受信して、そのジョブの処理を行うジョブ処理装置の一例である。
【0024】
図2は、本実施形態に係るプリンターサーバー16の内部構成の一例を示すブロック図である。この図2に示すように、本実施形態に係るプリンターサーバー16は、CPU(Central Processing Unit)20と、RAM(Random Access Memory)22と、ROM(Read Only Memory)24と、ハードディスクドライブ26と、ユーザーインターフェース28と、表示画面30と、通信インターフェース32と、プリンター接続インターフェース34とを備えて構成されている。これらCPU20と、RAM22と、ROM24と、ハードディスクドライブ26と、ユーザーインターフェース28と、表示画面30と、通信インターフェース32と、プリンター接続インターフェース34は、内部バス36を介して相互に接続されている。
【0025】
CPU20は、このプリンターサーバー16の全体的な制御を行う制御部を構成する。特に、本実施形態においては、CPU20は、主として、コンピューター14から受信した印刷ジョブをスプーラーを用いて管理し、プリンター18の稼働状況に応じて、適宜、スプーラーに存在する印刷ジョブをプリンター18に送信し、プリンター18で出力させるための制御を行う。また、CPU20は、このプリンターサーバー16における各種の制御を行うにあたり、その制御を実現するのに必要なプログラムをROM24やハードディスクドライブ26から読み込んだり、生成されたデーターをRAM22やユーザーハードディスクドライブ26に書き込んだりする。
【0026】
ハードディスクドライブ26は、いわゆる大容量の補助記憶装置を構成しており、プログラムの他、コンピューター14から受信した印刷ジョブなども不揮発的に記憶される。ユーザーインターフェース28は、ユーザーがこのプリンターサーバー16に各種の情報や指示を入力するためのインターフェースである。例えば、このユーザーインターフェースは、キーボードやマウスなどにより、構成されている。
【0027】
表示画面30は、プリンターサーバー16が各種の情報を表示するための画面である。例えば、この表示画面30は、LCD(Liquid Crystal Display)装置により構成されていてもよいし、CRT(Cathode Ray Tube)装置により構成されていてもよい。また、図2では、表示画面30は、このプリンターサーバー16の本体に一体に設けられている場合を図示しているが、表示画面30はプリンターサーバー16の本体とは別個に設けられるようにしてもよい。この場合、プリンターサーバー16の本体と表示画面30との間は、ケーブル等により接続されることとなる。
【0028】
通信インターフェース32は、プリンターサーバー16をネットワーク12に接続するためのインターフェースである。このため、本実施形態においては、この通信インターフェース32とネットワーク12とを介して、プリンターサーバー16とコンピューター14との間の通信が実現される。
【0029】
プリンター接続インターフェース34は、プリンター18をプリンターサーバー16に接続するためのインターフェースである。具体的には、このプリンター接続インターフェース34に、プリンターケーブルの一端を接続し、このプリンターケーブルの他端をプリンター18に接続することにより、プリンター18とプリンターサーバー16とが接続される。このため、本実施形態においては、このプリンター接続インターフェース34を介して、プリンターサーバー16とプリンター18との間の通信が実現される。
【0030】
次に、図3に基づいて、本実施形態に係るプリンターサーバー16が行う印刷ジョブの制御について概略的に説明する。この図3は、プリンターサーバー16が行ったジョブ処理時間の予測を模式的に示している。すなわち、スプーラーに溜まっている印刷ジョブのそれぞれの処理時間を予測し、その処理開始時刻と処理完了時刻とを予測した状態を、概念的に説明するための図である。
【0031】
この図3(a)に示すように、プリンターサーバー16がプリンター18用に形成しているスプーラーに、印刷ジョブA1と印刷ジョブB1がある状態で、新たに印刷ジョブC1が投入されてきたとする。印刷ジョブA1を生成したユーザーは、ユーザーAであり、印刷ジョブB1を生成したユーザーは、ユーザーBであり、印刷ジョブC1を生成したユーザーは、ユーザーCであるとする。そして、ここで、ユーザーCは、プリンター18に対して印刷制限時間が設定されており、印刷制限時刻である19:00以降は印刷ができない設定になっている。
【0032】
このような状況の下、印刷制限時刻の間際である18:55に、ユーザーCの印刷ジョブC1が、プリンターサーバー16におけるプリンター18のスプーラーに投入されたとする。例えば、コンピューター14Cから、このプリンターサーバー16に印刷ジョブC1が送信され、プリンター18のスプーラーに印刷ジョブC1が投入されたとする。この場合、投入された順番に印刷ジョブの処理を行うと、印刷ジョブC1が実際にプリンター18で処理されるのは19:00以降になってしまい、その印刷が実現できなくなってしまう。
【0033】
そこで、本実施形態に係るプリンターサーバー16では、図3(b)に示すように、印刷ジョブC1を印刷ジョブB1よりも前の印刷順位に移動して、印刷ジョブC1と印刷ジョブB1の双方が印刷されるかどうかを判断する。例えば、印刷ジョブB1を生成したユーザーBには、プリンター18に対して印刷時間制限が設定されていない場合には、このような印刷ジョブの入れ替えを行っても、印刷ジョブB1の印刷は行われる。また、印刷ジョブC1の印刷処理も、19:00までに終了するため、この印刷ジョブC1の印刷も正常に行われる。このような場合には、プリンターサーバー16は、図3(b)に示すように、スプーラー内の印刷ジョブB1と印刷ジョブC1の処理順序を入れ替えて、プリンター18で印刷を行うようにするのである。
【0034】
図4は、このような処理をプリンターサーバー16で実現するために、プリンターサーバー16で実行される印刷ジョブ変更処理の内容を説明するためのフローチャートを示す図である。この印刷ジョブ変更処理は、プリンターサーバー16に新たな印刷ジョブが投入された場合に、起動される処理である。すなわち、プリンター18のスプーラーに新に印刷ジョブを追加する場合に、起動される処理である。
【0035】
また、この印刷ジョブ変更処理は、プリンターサーバー16のCPU20が、ROM24又はハードディスクドライブ26に格納されている印刷ジョブ変更処理プログラムを読み込んで実行することにより、実現される処理である。以下の説明では、上述の図3に示したように、印刷ジョブA1、印刷ジョブB1、印刷ジョブC1の順に、スプーラーに印刷ジョブが投入されたと仮定する。
【0036】
この図4に示すように、この印刷ジョブ変更処理が起動されると、まず、プリンターサーバー16は、新しく投入された印刷ジョブを生成したユーザーを特定する(ステップS100)。図5は、本実施形態に係る印刷ジョブのデーターフォーマットの一例を示す図である。この図5に示すように、本実施形態に係る印刷ジョブには、印刷すべきデーターである印刷データーと、これに付随する情報として、この印刷ジョブを生成したユーザーを特定する情報であるユーザー特定情報とを、少なくとも含んで構成されている。このため、ステップS100では、プリンターサーバー16は、この印刷ジョブを解析して、印刷ジョブを生成したユーザーが誰であるのかを特定する。
【0037】
次に、図4に示すように、プリンターサーバー16は、ステップS100で特定したユーザーの印刷制限時刻を取得する(ステップS102)。このユーザーの印刷制限時刻は、例えば、プリンターサーバー16に予め登録しておくことができる。図6は、本実施形態に係るプリンターサーバー16が保持する、印刷制限時間管理テーブルTB10の構成の一例を示す図である。この印刷制限時間管理テーブルTB10は、例えば、ハードディスクドライブ26に形成され、保持されている。印刷制限時間管理テーブルTB10では、ユーザー特定情報と、そのユーザー特定情報で特定されるユーザーの印刷制限時間とが、関連付けられて、保持されている。
【0038】
ステップS102においては、プリンターサーバー16は、このハードディスクドライブ26にある印刷制限時間管理テーブルTB10を検索して、ステップS100で特定したユーザーに、印刷制限時間があるかどうかを判断し、印刷制限時間がある場合には、その開始時刻である印刷制限時刻を取得する。例えば、ステップS100において特定したユーザーCのユーザー特定情報が「C123456」であったとすると、プリンターサーバー16は、印刷制限時間管理テーブルTB10を検索することにより、このユーザーCの印刷制限時間が19:00から翌8:00であり、印刷制限の開始時刻である印刷制限時刻が19:00であると特定することができる。
【0039】
次に、図4に示すように、プリンターサーバー16は、新たに投入された印刷ジョブが、ステップS102で取得した印刷制限時刻までに終了するかどうかを判断する(ステップS104)。具体的には、プリンターサーバー16は、図3(a)で例示したような各印刷ジョブの印刷処理時間を予測して、各印刷ジョブの印刷完了時刻を予測する。そして、予測した印刷完了時刻が、ステップS102で取得した印刷制限時刻より前であるかどうかを判断する。図3(a)の例では、印刷ジョブC1の印刷完了時刻は、ユーザーCの印刷制限時刻の19:00より後であるので、この印刷ジョブC1は、印刷制限時刻までに印刷が終了しないと判断する。
【0040】
ステップS104において、投入された印刷ジョブが印刷制限時刻までに印刷が終了しないと判断した場合(ステップS104:NO)には、プリンターサーバー16は、投入された印刷ジョブよりも印刷順位が前にある印刷ジョブの中で、印刷順位を後ろに移動しても、その印刷制限時刻までに印刷が終了するジョブがあり、且つ、その印刷ジョブの印刷順位を後ろに移動することにより、投入された印刷ジョブがその印刷制限時刻までに印刷が終了するようになるかどうかを判断する(ステップS106)。
【0041】
例えば、図3(a)の例では、印刷ジョブC1が18:55に投入された時点で、印刷ジョブB1の処理は、まだ、開始されていない。このため、プリンターサーバー16は、図3(b)に示すように、この印刷ジョブB1の印刷順位の前に、印刷ジョブC1を移動しても、印刷ジョブB1の印刷が印刷制限時刻までに行われるかどうかを判断する。印刷ジョブB1の印刷制限時刻は、ステップS100、ステップS102と同様の手法で、プリンターサーバー16が取得する。すなわち、印刷ジョブB1を生成したユーザーBを、印刷ジョブB1を解析することにより特定し、この特定されたユーザーBの印刷制限時刻を印刷制限時間管理テーブルTB10を検索することにより特定する。そして、印刷ジョブB1と印刷ジョブC1の印刷完了時刻を予測し、ユーザーBの印刷制限時刻までに、印刷順位を移動した印刷ジョブB1の印刷が終了するかどうかを判断する。
【0042】
例えば、ユーザーBのユーザー特定情報が「B232323」であり、印刷制限時間管理テーブルTB10を検索した結果、ユーザーBの印刷制限時刻は設定されていなかったとすると、図3(b)に示すように、印刷ジョブB1の印刷順位を印刷ジョブC1の後ろに移動しても、印刷ジョブB1はプリンター18で正常に印刷されると予測することができる。さらにまた、印刷ジョブC1を、印刷ジョブB1の印刷順位の前に移動することにより、印刷ジョブC1も、ユーザーCの印刷制限時刻までに印刷が完了すると予測されている。
【0043】
このように、投入された印刷ジョブよりも印刷順位が前にある印刷ジョブの中で、印刷順位を後ろに移動しても、その印刷制限時刻までに印刷が終了するジョブがあり、且つ、前にある印刷ジョブを後ろに移動することにより、投入された印刷ジョブがその印刷制限時刻までに印刷が終了するようになると判断した場合(ステップS106:YES)には、プリンターサーバー16は、その印刷順位を入れ替える(ステップS108)。
【0044】
図3の例では、図3(a)にある印刷ジョブC1の印刷順位を、図3(b)のように印刷ジョブB1の前に移動する。これにより、印刷ジョブC1は、ユーザーCの印刷制限時刻までに処理が終了するようになり、また、印刷ジョブB1も、ユーザーBの印刷制限時刻までに処理が終了するようになる。これにより、この印刷ジョブ変更処理を終了する。
【0045】
これに対して、上述したステップS104において、新たにスプーラーに投入された印刷ジョブを、投入された順番で処理しても印刷制限時刻までに終了すると判断した場合(ステップS104:YES)、又は、上述したステップS106において、印刷順位を後ろに移動しても印刷制限時刻までに印刷が終了する印刷ジョブが無い、或いは、移動したとしても投入した印刷ジョブが印刷制限時刻までに終了しないと判断した場合(ステップS106:NO)には、印刷ジョブの印刷順位の入れ替えをすることなく、この印刷ジョブ変更処理を終了する。
【0046】
すなわち、スプーラーに投入された順番で印刷ジョブを処理しても、新たに投入された印刷ジョブが印刷制限時刻までに終了するのであれば、そのままの印刷順位で印刷を行う。また、新たに投入された印刷ジョブが印刷制限時刻までに終了せずとも、印刷順位を後ろに移動して印刷制限時刻までに終了する印刷ジョブが無い場合には、印刷ジョブの印刷順位の入れ替えは行わないようにしている。これは、すでに印刷ジョブがスプーラーに投入されているので、この投入されている印刷順位を尊重した方が、この印刷システム10を利用するユーザーの利便性は良くなると考えられるからである。
【0047】
さらに、たとえ他の印刷ジョブを後ろに移動しても、新たに投入した印刷ジョブが印刷制限時刻までに終了しない場合にも、印刷ジョブの印刷順位の入れ替えは行わないようにしている。これは、新たに投入した印刷ジョブが印刷制限時刻までに印刷が終了しないのであれば、印刷順位を入れ替える意味がないためである。
【0048】
以上のように、本実施形態に係る印刷システム10によれば、プリンターサーバー16は、スプーラーで管理されている印刷ジョブの処理時間を予測し、新たに投入された印刷ジョブが、その印刷ジョブを生成したユーザーの印刷制限時刻までに終了するかどうかを判断することとした。そして、印刷制限時刻までに終了しないと判断した場合には、スプーラーに溜まっている印刷ジョブのそれぞれの印刷完了時刻を推測して、新たに投入された印刷ジョブよりも前の印刷順位にある印刷ジョブを、新たに投入した印刷ジョブの後ろに移動することにより、後ろに移動した印刷ジョブもその印刷ジョブを生成したユーザーの印刷制限時刻までに印刷が終了し、且つ、新たに投入された印刷ジョブもその印刷ジョブを生成したユーザーの印刷制限時刻までに印刷が終了するようになるかどうかを調べる。その上で、もし、このような印刷ジョブの入れ替えを行うことにより、後ろに移動した印刷ジョブの印刷が正常に行われ、且つ、新たに投入された印刷ジョブの印刷も正常に行われると予測できる場合には、印刷ジョブの入れ替えを行うことにより、双方の印刷ジョブの印刷が行われるようにしているのである。
【0049】
このため、印刷時刻に制限があるにも拘わらず、ユーザーは、指定した通りの印刷設定で印刷結果を得ることができるようになる。例えば、印刷ジョブの設定がカラー印刷である場合には、設定通りのカラー印刷で印刷結果を取得することができる。このため、印刷結果に対するユーザーの満足度を向上させることができる。
【0050】
〔第2実施形態〕
上述した第1実施形態は、各ユーザー毎にプリンター18の印刷制限時間が設定されている印刷システム10に本発明を適用した例であるが、第2実施形態では、各印刷ジョブに対して印刷制限時刻が設定されている印刷システム10に本発明を適用したものである。以下、上述した第1実施形態と異なる部分を説明する。
【0051】
図7は、本実施形態に係るプリンターサーバー16が行う印刷ジョブの制御について概略的に説明するための図であり、上述した図3に対応する図である。この図7は、プリンターサーバー16が行ったジョブ処理時間の予測を模式的に示している。すなわち、スプーラーに溜まっている印刷ジョブのそれぞれの処理時間を予測し、その処理開始時刻と処理完了時刻とを予測した状態を、概念的に説明するための図である。
【0052】
この図7(a)に示すように、プリンターサーバー16がプリンター18用に形成しているスプーラーに、印刷ジョブA2と印刷ジョブB2がある状態で、新たに印刷ジョブC2が投入されてきたとする。印刷ジョブA2と印刷ジョブB2には、印刷制限時刻が設定されてないが、印刷ジョブC2には、19:00までの印刷制限時刻が設定されている。すなわち、印刷ジョブC2のジョブとしての有効期限が19:00になっている。このため、印刷ジョブC2は、印刷制限時刻の19:00までに、その処理が終了していなければならない。
【0053】
このような状況の下、18:55に、ユーザーCの印刷ジョブC2が、プリンターサーバー16におけるプリンター18のスプーラーに投入されたとすると、投入された順番で印刷ジョブの処理を行うと、印刷ジョブC2が実際にプリンター18で処理されるのは19:00以降になってしまい、その印刷が実現できなくなってしまう。
【0054】
そこで、本実施形態に係るプリンターサーバー16では、図7(b)に示すように、印刷ジョブC2を印刷ジョブB2よりも前の印刷順位に移動して、印刷ジョブC2と印刷ジョブB2の双方が印刷されるかどうかを判断する。例えば、印刷ジョブB2には印刷制限時刻が設定されていない場合には、このような印刷ジョブの入れ替えを行っても、印刷ジョブB2の印刷は正常に行われる。また、印刷ジョブC2の印刷処理も、19:00までに終了するため、この印刷ジョブC2の印刷も正常に行われる。このような場合には、プリンターサーバー16は、図7(b)に示すように、印刷ジョブB2と印刷ジョブC2の処理順序を入れ替えて、プリンター18で印刷を行うようにするのである。
【0055】
図8は、このような処理をプリンターサーバー16で実現するために、プリンターサーバー16で実行される印刷ジョブ変更処理の内容を説明するためのフローチャートを示す図である。この印刷ジョブ変更処理は、プリンターサーバー16に新たな印刷ジョブが投入された場合に、起動される処理である。すなわち、プリンター18のスプーラーに新に印刷ジョブを追加する場合に、起動される処理である。
【0056】
また、この印刷ジョブ変更処理は、プリンターサーバー16のCPU20が、ROM24又はハードディスクドライブ26に格納されている印刷ジョブ変更処理プログラムを読み込んで実行することにより、実現される処理である。以下の説明では、上述の図7に示したように、印刷ジョブA2、印刷ジョブB2、印刷ジョブC2の順に、スプーラーに印刷ジョブが投入されたと仮定する。
【0057】
この図8に示すように、この印刷ジョブ変更処理が起動されると、まず、プリンターサーバー16は、新しくスプーラーに投入された印刷ジョブの印刷制限時刻を取得する(ステップS200)。図9は、本実施形態に係る印刷ジョブのデーターフォーマットの一例を示す図である。この図9に示すように、本実施形態に係る印刷ジョブには、印刷すべきデーターである印刷データーと、これに付随する情報として、この印刷ジョブの有効期限である印刷制限時刻とを、少なくとも含んで構成されている。このため、ステップS200では、プリンターサーバー16は、この印刷ジョブを解析して、新しく投入された印刷ジョブの印刷制限時刻を特定する。
【0058】
次に、図8に示すように、プリンターサーバー16は、新たに投入された印刷ジョブが、ステップS200で取得した印刷制限時刻までに終了するかどうかを判断する(ステップS202)。具体的には、プリンターサーバー16は、図7(a)で例示したような各印刷ジョブの印刷処理時間を予測して、各印刷ジョブの印刷完了時刻を予測する。そして、新たに投入された印刷ジョブについて予測した印刷完了時刻が、ステップS200で取得した印刷制限時刻より前であるかどうかを判断する。図7(a)の例では、印刷ジョブC2の印刷完了時刻は、印刷制限時刻の19:00より後であるので、この印刷ジョブC2は、印刷制限時刻までに印刷が終了しないと判断する。
【0059】
ステップS202において、投入された印刷ジョブの印刷処理が印刷制限時刻までに終了しないと判断した場合(ステップS202:NO)には、プリンターサーバー16は、投入された印刷ジョブよりも印刷順位が前にある印刷ジョブの中で、印刷順位を後ろに移動しても、その印刷制限時刻までに印刷が終了するジョブがあり、且つ、前にある印刷ジョブを後ろに移動することにより、投入された印刷ジョブがその印刷制限時刻までに印刷が終了するようになるかどうかを判断する(ステップS204)。
【0060】
例えば、図7(a)の例では、印刷ジョブC1が18:55に投入された時点で、印刷ジョブB2の処理は、まだ、開始されていない。このため、プリンターサーバー16は、図7(b)に示すように、この印刷ジョブB2の印刷順位の前に、印刷ジョブC2を移動しても、印刷ジョブB2の印刷が印刷制限時刻までに行われるかどうかを判断する。印刷ジョブB2の印刷制限時刻は、ステップS200と同様の手法で、プリンターサーバー16が取得する。すなわち、印刷ジョブB2を解析して、印刷ジョブB2の印刷制限時刻を取得する。そして、印刷ジョブB2と印刷ジョブC2の印刷完了時刻を予測し、印刷ジョブB2を後ろに移動しても、印刷ジョブB2の印刷制限時刻までに、印刷ジョブB2の印刷が終了するかどうかを判断する。ここでは、印刷ジョブB2には、印刷制限時刻が設定されていないと仮定する。
【0061】
図7(b)の例の場合、印刷ジョブB2の印刷順位を印刷ジョブC2の後ろに移動しても、印刷ジョブB2には印刷制限時刻が設定されていないため、印刷ジョブB2はプリンター18で正常に印刷されると予測することができる。また、印刷ジョブC2を、印刷ジョブB2の印刷順位の前に移動することにより、印刷ジョブC2も、印刷ジョブC2の印刷制限時刻までに印刷が完了すると予測されている。
【0062】
このように、投入された印刷ジョブよりも印刷順位が前にある印刷ジョブの中で、印刷順位を後ろに移動しても、その印刷制限時刻までに印刷が終了する印刷ジョブがあり、且つ、前にある印刷ジョブを後ろに移動することにより、投入された印刷ジョブがその印刷制限時刻までに印刷が終了するようになると判断した場合(ステップS204:YES)には、プリンターサーバー16は、その印刷順位を入れ替える(ステップS206)。
【0063】
図7の例では、図7(a)にある印刷ジョブC2の印刷順位を、図7(b)のように印刷ジョブB2の前に移動する。これにより、印刷ジョブC2は、印刷ジョブC2に設定されている印刷制限時刻までに処理が終了するようになり、また、印刷ジョブB2も、印刷ジョブB2に設定されている印刷制限時刻までに処理が終了するようになる。これにより、この印刷ジョブ変更処理を終了する。
【0064】
これに対して、上述したステップS202において、投入された印刷ジョブをスプーラーに投入された順番で処理しても、印刷制限時刻までに終了すると判断した場合(ステップS202:YES)、又は、上述したステップS204において、印刷順位を後ろに移動しても印刷制限時刻までに印刷が終了する印刷ジョブが無い、或いは、移動したとしても投入した印刷ジョブが印刷制限時刻までに終了しないと判断した場合(ステップS204:NO)には、印刷ジョブの印刷順位の入れ替えをすることなく、この印刷ジョブ変更処理を終了する。
【0065】
すなわち、スプーラーに投入された順番で印刷ジョブを処理しても、新たに投入された印刷ジョブが印刷制限時刻までに終了するのであれば、そのままの印刷順位で印刷を行う。また、新たに投入された印刷ジョブが印刷制限時刻までに終了せずとも、印刷順位を後ろに移動して印刷制限時刻までに終了する印刷ジョブが無い場合には、印刷ジョブの印刷順位の入れ替えは行わないようにしている。これは、すでに印刷ジョブがスプーラーに投入されているので、この投入されている印刷順位を尊重した方が、印刷システム10のユーザーの利便性は良くなると考えられるからである。
【0066】
さらに、たとえ他の印刷ジョブを後ろに移動しても、新たに投入した印刷ジョブが印刷制限時刻までに終了しない場合にも、印刷ジョブの印刷順位の入れ替えは行わないようにしている。これは、新たに投入した印刷ジョブが印刷制限時刻までに印刷が終了しないのであれば、印刷順位を入れ替える意味がないためである。
【0067】
以上のように、本実施形態に係る印刷システム10によれば、プリンターサーバー16は、スプーラーで管理されている印刷ジョブの処理時間を予測し、新たに投入された印刷ジョブが、その印刷ジョブに設定されている印刷制限時刻までに終了するかどうかを判断することとした。そして、印刷制限時刻までに終了しないと判断した場合には、スプーラーに溜まっている印刷ジョブのそれぞれの印刷完了時刻を予測して、新たに投入された印刷ジョブよりも前の印刷順位にある印刷ジョブを、新たに投入した印刷ジョブの後ろに移動することにより、後ろに移動した印刷ジョブもその印刷ジョブに設定されている印刷制限時刻までに印刷が終了し、且つ、新たに投入された印刷ジョブもその印刷ジョブに設定されている印刷制限時刻までに印刷が終了するようになるかどうかを調べる。その上で、もし、このような印刷ジョブに入れ替えを行うことにより、後ろに移動した印刷ジョブの印刷が正常に行われ、且つ、新たに投入された印刷ジョブの印刷も正常に行われると予測できる場合には、印刷ジョブの入れ替えを行うことにより、双方の印刷ジョブの印刷が行われるのである。
【0068】
このため、印刷時刻に制限があるにも拘わらず、ユーザーは、指定した通りの印刷設定で印刷結果を得ることができるようになる。例えば、印刷ジョブの設定がカラー印刷である場合には、設定通りのカラー印刷で印刷結果を取得することができる。このため、印刷結果に対するユーザーの満足度を向上させることができる。
【0069】
〔第3実施形態〕
上述した第1実施形態はユーザーに対して印刷制限時刻が設定されている印刷システム、上述した第2実施形態は印刷ジョブに対して印刷制限時刻が設定されている印刷システムに、本発明を適用した例であるが、本発明の第3実施形態は、プリンター18に対して印刷制限時刻が設定されている印刷システム10に、本発明を適用したものである。以下、上述した第1実施形態と異なる部分を説明する。
【0070】
図10は、本実施形態に係るプリンターサーバー16が行う印刷ジョブの制御について概略的に説明するための図であり、上述した図3に対応する図である。この図10は、プリンターサーバー16が行ったジョブ処理時間の予測を模式的に示している。すなわち、スプーラーに溜まっている印刷ジョブのそれぞれの処理時間を予測し、その処理開始時刻と処理完了時刻とを予測した状態を、概念的に説明するための図である。
【0071】
この図10(a)に示すように、プリンターサーバー16がプリンター18用に形成しているスプーラーに、印刷ジョブA3と印刷ジョブB3がある状態で、新たに印刷ジョブC3が投入されてきたとする。また、プリンター18自体に、印刷制限時刻が設定されており、例えば、プリンター18の印刷制限時刻が19:00であったと仮定する。このため、プリンター18では、印刷制限時刻である19:00までに印刷処理を開始した印刷ジョブは最後まで印刷を行うが、印刷制限時刻である19:00以降に印刷処理を開始する印刷ジョブは受け付けない仕組みになっている。
【0072】
このような状況の下、18:55に、ユーザーCの印刷ジョブC3が、プリンターサーバー16におけるプリンター18のスプーラーに投入されたとすると、スプーラーに投入された順番で印刷ジョブの処理を行うと、印刷ジョブC3の処理が実際にプリンター18で開始されるのは19:00以降になってしまい、その印刷が実現できなくなってしまう。
【0073】
そこで、本実施形態に係るプリンターサーバー16では、図10(b)に示すように、印刷ジョブC3を印刷ジョブB3よりも前の印刷順位に移動して、印刷ジョブC3と印刷ジョブB3の双方が印刷されるかどうかを判断する。例えば、印刷ジョブC3を印刷ジョブA3の処理が終了した後に開始するようにすると、この印刷ジョブC3の処理は、18:58に終了すると予測されている。そして、18:58に印刷ジョブB3の処理をプリンター18で開始すれば、印刷ジョブB3も処理が最後まで行われる。このような場合には、プリンターサーバー16は、図10(b)に示すように、印刷ジョブB3と印刷ジョブC3の処理順序を入れ替えて、プリンター18で印刷を行うようにするのである。
【0074】
図11は、このような処理をプリンターサーバー16で実現するために、プリンターサーバー16で実行される印刷ジョブ変更処理の内容を説明するためのフローチャートを示す図である。この印刷ジョブ変更処理は、プリンターサーバー16に新たな印刷ジョブが投入された場合に、起動される処理である。すなわち、プリンター18のスプーラーに新に印刷ジョブを追加する場合に、起動される処理である。
【0075】
また、この印刷ジョブ変更処理は、プリンターサーバー16のCPU20が、ROM24又はハードディスクドライブ26に格納されている印刷ジョブ変更処理プログラムを読み込んで実行することにより、実現される処理である。以下の説明では、上述の図11に示したように、印刷ジョブA3、印刷ジョブB3、印刷ジョブC3の順に、スプーラーに印刷ジョブが投入されたと仮定する。
【0076】
この図4に示すように、この印刷ジョブ変更処理が起動されると、まず、プリンターサーバー16は、新しく投入された印刷ジョブの印刷をするプリンターを特定する(ステップS300)。投入された印刷ジョブの処理をするプリンターを如何にして特定するかは、任意である。本実施形態においては、例えば、図12に示すように、印刷ジョブに、印刷データーに加えて、印刷処理をするプリンターを特定する情報であるプリンター特定情報が、少なくとも、含まれている。このため、プリンターサーバー16は、この印刷ジョブを解析することにより、その印刷ジョブの印刷処理をするプリンターを特定することができる。ここでは、プリンター18が、印刷処理を行うプリンターとして、印刷ジョブに指定されていたとする。
【0077】
次に、図11に示すように、プリンターサーバー16は、ステップS300で特定したプリンターに関する印刷制限時刻を特定する(ステップS302)。プリンターの印刷制限時間は、例えば、プリンターの管理者が、それぞれのプリンター自体に予め設定している。本実施形態においては、この印刷制限時間の設定は、プリンターの管理者がプリンターに設定する際に、プリンターサーバー16にも、その印刷制限時間を予め登録しておくこととしている。なお、プリンターの管理者がプリンターサーバー16に、プリンターの印刷制限時間を登録するのではなく、接続されているプリンターにプリンターサーバー16がアクセスし、各プリンターから、設定されている印刷制限時間を取得するようにしてもよい。
【0078】
図13は、本実施形態に係るプリンターサーバー16が保持する、印刷制限時間管理テーブルTB20の構成の一例を示す図である。この印刷制限時間管理テーブルTB20は、例えば、ハードディスクドライブ26に形成され、保持されている。印刷制限時間管理テーブルTB20には、プリンターを特定するためのプリンター特定情報と、印刷を制限する時間である印刷制限時間とが、対応付けられて、保持されている。この印刷制限時間の開始時刻が、本実施形態における印刷制限時刻となる。
【0079】
ステップS302においては、プリンターサーバー16は、このハードディスクドライブ26にある印刷制限時間管理テーブルTB20を検索して、ステップS300で特定したプリンターに、印刷制限時間があるかどうかを判断し、印刷制限時間がある場合には、その開始時刻である印刷制限時刻を取得する。例えば、ステップS300において特定したプリンター18のプリンター特定情報が「X123456」であったとすると、プリンターサーバー16は、印刷制限時間管理テーブルTB20を検索することにより、このプリンター18の印刷制限時間が19:00から翌8:00であり、印刷制限の開始時刻である印刷制限時刻が19:00であると特定することができる。
【0080】
次に、図11に示すように、プリンターサーバー16は、新たにスプーラー投入された印刷ジョブの処理が、投入された順番で処理を行った場合に、ステップS302で取得した印刷制限時刻までに開始されるかどうかを判断する(ステップS304)。具体的には、プリンターサーバー16は、図10(a)で例示したような各印刷ジョブの印刷処理時間を予測して、各印刷ジョブの印刷開始時刻を予測する。そして、予測した印刷開始時刻が、ステップS302で取得した印刷制限時刻より前であるかどうかを判断する。図10(a)の例では、印刷ジョブC3の印刷開始時刻は、プリンター18の印刷制限時刻の19:00より後であるので、この印刷ジョブC3は、印刷制限時刻までに印刷が終了しないと判断する。
【0081】
ステップS304において、投入された印刷ジョブが印刷制限時刻までに印刷が開始されないと判断した場合(ステップS304:NO)には、プリンターサーバー16は、投入された印刷ジョブよりも印刷順位が前にある印刷ジョブの印刷順位を後ろに移動すると、後ろに移動した印刷ジョブも新たに投入した印刷ジョブも、ともに、プリンター18の印刷制限時刻までに印刷が開始されるようになるかどうかを判断する(ステップS306)。
【0082】
例えば、図10(a)の例では、印刷ジョブC3が18:55に投入された時点で、印刷ジョブB3の処理は、まだ、開始されていない。このため、プリンターサーバー16は、図10(b)に示すように、この印刷ジョブB3の印刷順位の前に、印刷ジョブC3を移動しても、印刷ジョブB3の印刷がプリンター18の印刷制限時刻までに開始されるかどうかを判断する。図10(b)の例では、印刷ジョブB3の印刷順位を印刷ジョブC3の後ろに移動しても、印刷ジョブB3はプリンター18の印刷制限時刻までにその処理が開始されると予測されていることを示している。
【0083】
このように、投入された印刷ジョブよりも印刷順位が前にある印刷ジョブの印刷順位を後ろに移動することにより、この移動した印刷ジョブも、新たに投入された印刷ジョブもともに、プリンターの印刷制限時刻までに印刷が開始されるようになると判断した場合(ステップS306:YES)には、プリンターサーバー16は、その印刷順位を入れ替える(ステップS308)。
【0084】
図10の例では、図10(a)にある印刷ジョブC3の印刷順位を、図10(b)のように印刷ジョブB3の前に移動する。これにより、印刷ジョブC3は、プリンター18の印刷制限時刻までに処理が開始されるようになり、また、印刷ジョブB3も、プリンター18の印刷制限時刻までに処理が開始されるようになる。印刷ジョブB3は、プリンター18の印刷制限時刻までにはその処理が開始されているため、処理の途中で19:00になったとしても、最後まで処理は続行される。これにより、本実施形態に係る印刷ジョブ変更処理は終了する。
【0085】
これに対して、上述したステップS304において、スプーラーに投入された順番で印刷ジョブの処理を行っても、投入された印刷ジョブの処理が、プリンターの印刷制限時刻までに開始されると判断した場合(ステップS304:YES)、又は、上述したステップS306において、前にある印刷ジョブの印刷順位を後ろに移動すると、その移動した印刷ジョブの処理が印刷制限時刻までに開始されない、或いは、移動したとしても投入した印刷ジョブの処理が印刷制限時刻までに開始されないと判断した場合(ステップS306:NO)には、印刷ジョブの印刷順位の入れ替えをすることなく、この印刷ジョブ変更処理を終了する。
【0086】
すなわち、スプーラーに投入された順番で印刷ジョブを処理しても、新たに投入された印刷ジョブの処理がプリンターの印刷制限時刻までに開始されるのであれば、そのままの印刷順位で印刷を行う。また、印刷順位を後ろに移動して印刷制限時刻までに処理の開始される印刷ジョブが無い場合には、新たに投入された印刷ジョブの処理が印刷制限時刻までに開始せずとも、印刷ジョブの印刷順位の入れ替えは行わないようにしている。これは、すでに印刷ジョブがスプーラーに投入されているので、この投入されている印刷順位を尊重した方が、印刷システム10のユーザーの利便性は良くなると考えられるからである。
【0087】
さらに、たとえ他の印刷ジョブを後ろに移動しても、新たに投入した印刷ジョブの処理が印刷制限時刻までに開始されない場合にも、印刷ジョブの印刷順位の入れ替えは行わないようにしている。これは、新たに投入した印刷ジョブの処理が印刷制限時刻までに開始されないのであれば、印刷順位を入れ替える意味がないためである。
【0088】
以上のように、本実施形態に係る印刷システム10によれば、プリンターサーバー16は、スプーラーで管理されている印刷ジョブの処理時間を予測し、新たに投入された印刷ジョブが、指定されたプリンターの印刷制限時刻までに開始されるかどうかを判断することとした。そして、印刷制限時刻までに開始されないと判断した場合には、スプーラーに溜まっている印刷ジョブのそれぞれの印刷開始時刻を推定して、新たに投入された印刷ジョブよりも前の印刷順位にある印刷ジョブを、新たに投入した印刷ジョブの後ろに移動することにより、後ろに移動した印刷ジョブもプリンターの印刷制限時刻までに印刷が開始され、且つ、新たに投入された印刷ジョブもプリンターの印刷制限時刻までに印刷が開始されるようになるかどうかを調べる。その上で、もし、このような印刷ジョブに入れ替えを行うことにより、後ろに移動した印刷ジョブの印刷がプリンターの印刷制限時刻までに開始され、且つ、新たに投入された印刷ジョブの印刷もプリンターの印刷制限時刻までに開始されると予測できる場合には、印刷ジョブの入れ替えを行うことにより、双方の印刷ジョブの印刷が行われるようにしている。
【0089】
このため、印刷時刻に制限があるにも拘わらず、ユーザーは、指定した通りの印刷設定で印刷結果を得ることができるようになる。例えば、印刷ジョブの設定がカラー印刷である場合には、設定通りのカラー印刷で印刷結果を取得することができる。このため、印刷結果に対するユーザーの満足度を向上させることができる。
【0090】
〔第4実施形態〕
上述した第1実施形態乃至第3実施形態においては、プリンターサーバー16は、1つのプリンターのスプーラー内で印刷ジョブの印刷順位を入れ替えることにより、印刷制限時刻までに印刷ジョブの処理が行われるようにしていた。本発明の第4実施形態では、プリンターサーバー16は、他のプリンターに印刷処理の一部を振り替えることにより、印刷制限時刻までに印刷ジョブの処理が行われるようにしたものである。以下、上述した第1実施形態と異なる部分を説明する。
【0091】
図14は、本発明の第4実施形態に係る印刷システム10の全体構成を示すブロック図である。この図14に示すように、本実施形態に係る印刷システム10では、図1に示した印刷システム10に第2のプリンター19を追加することにより構成されている。すなわち、上述したプリンター18を第1のプリンター18とすると、プリンターサーバー16には、この第1のプリンター18に加えて、第2のプリンター19が接続されている。これら2台のプリンター18、19がプリンターサーバー16に接続されている点以外は、上述した図1の印刷システム10と同一の構成である。
【0092】
次に、図15に基づいて、本実施形態に係るプリンターサーバー16が行う印刷ジョブの制御について概略的に説明する。この図15は、プリンターサーバー16が行ったジョブ処理時間の予測を模式的に示している。すなわち、スプーラーに溜まっている印刷ジョブのそれぞれの処理時間を予測し、その処理開始時刻と処理完了時刻とを予測した状態を、概念的に説明するための図である。
【0093】
この図15(a)に示すように、プリンターサーバー16がプリンター18用に形成しているスプーラに、印刷ジョブA4がある状態で、新たに印刷ジョブC4が投入されてきたとする。印刷ジョブA4を生成したユーザーは、ユーザーAであり、印刷ジョブC4を生成したユーザーは、ユーザーCであるとする。そして、ここでは、ユーザーCは、第1のプリンター18と第2のプリンター19に対して印刷制限時間が設定されており、19:00以降は、プリンター18、19で印刷ができない設定になっている。
【0094】
このような状況の下、18:55に、ユーザーCの印刷ジョブC4が、プリンターサーバー16における第1のプリンター18のスプーラーに投入されたとすると、このままの印刷ジョブの処理順序だと、印刷ジョブC4の印刷処理が実際に第1のプリンター18で終了するのは19:00以降になってしまい、その印刷が実現できなくなってしまう。
【0095】
そこで、本実施形態に係るプリンターサーバー16では、図15(b)に示すように、印刷ジョブC4を、第1のプリンター18による印刷処理と第2のプリンター19による印刷処理とに分散させることにより、印刷制限時刻の19:00までに印刷処理が完了するようにしている。
【0096】
すなわち、印刷ジョブC4が第1のプリンター18のスプーラーに投入された時点で、第2のプリンター19では印刷処理が行われおらず、アイドル状態である。このため、プリンターサーバー16は、印刷ジョブC4の一部の印刷処理を、第1のプリンター18から第2のプリンター19に振り分けて、印刷を行う。例えば、印刷ジョブC4が全20ページで構成されている場合、第1ページから第10ページまでを第1のプリンター18で印刷し、第11ページから第20ページまでを第2のプリンター19で印刷する。ユーザーは、これら第1のプリンター18の印刷結果と第2のプリンター19の印刷結果とを、自分で結合することにより、目的の印刷物を取得することができる。
【0097】
図16は、このような処理をプリンターサーバー16で実現するために、プリンターサーバー16で実行される印刷ジョブ変更処理の内容を説明するためのフローチャートを示す図である。この印刷ジョブ変更処理は、プリンターサーバー16に新たな印刷ジョブが投入された場合に、起動される処理である。すなわち、プリンター18のスプーラーに新に印刷ジョブを追加する場合に、起動される処理である。
【0098】
また、この印刷ジョブ変更処理は、プリンターサーバー16のCPU20が、ROM24又はハードディスクドライブ26に格納されている印刷ジョブ変更処理プログラムを読み込んで実行することにより、実現される処理である。以下の説明では、上述の図15に示したように、印刷ジョブA4、印刷ジョブC4の順に、第1のプリンター18のスプーラーに印刷ジョブが投入されたと仮定する。
【0099】
この図16に示すように、この印刷ジョブ変更処理が起動されると、まず、プリンターサーバー16は、新しく投入された印刷ジョブを生成したユーザーを特定する(ステップS400)。印刷ジョブを生成したユーザーを特定するための処理は、上述した第1実施形態のステップS100と同様である。
【0100】
次に、図16に示すように、プリンターサーバー16は、ステップS400で特定したユーザーの印刷制限時刻を取得する(ステップS402)。このユーザーの印刷制限時刻を特定するための処理も、上述した第1実施形態のステップS102と同様である。ここでは、上述した第1実施形態と同様に、ユーザーCの印刷制限時刻が19:00であったと仮定する。
【0101】
次に、図16に示すように、プリンターサーバー16は、スプーラーに投入された順番で処理を行った場合に、新たに投入された印刷ジョブが、ステップS402で取得した印刷制限時刻までに終了するかどうかを判断する(ステップS404)。具体的には、プリンターサーバー16は、図15(a)で例示したような各印刷ジョブの印刷処理時間を予測して、各印刷ジョブの印刷完了時刻を予測する。そして、予測した印刷完了時刻が、ステップS402で取得した印刷制限時刻より前であるかどうかを判断する。図15(a)の例では、印刷ジョブC4の印刷完了時刻は、ユーザーCの印刷制限時刻の19:00より後であるので、この印刷ジョブC4は、印刷制限時刻までに印刷が終了しないと判断する。
【0102】
ステップS404において、投入された印刷ジョブが印刷制限時刻までに印刷が終了しないと判断した場合(ステップS404:NO)には、プリンターサーバー16は、他のプリンターに印刷ジョブを振り分けることにより、投入された印刷ジョブの印刷処理が、そのユーザーの印刷制限時刻までに終了するようになるかどうかを判断する(ステップS406)。
【0103】
例えば、図15(a)の例では、印刷ジョブC4が18:55に投入された時点で、第2のプリンター19は、印刷処理が行われていない。このため、第2のプリンター19を使用すれば、直ちに印刷を開始することができる。また、第1のプリンター18においても、印刷ジョブA4の印刷処理は、19:00よりも前に完了すると予測されている。このため、第1のプリンター18においても、印刷ジョブA4の印刷処理が完了した後に、印刷を行うことができる。
【0104】
したがって、本実施形態においては、プリンターサーバー16は、印刷ジョブC4の一部の処理を第2のプリンター19で直ちに行い、残りを、印刷ジョブA4の印刷処理完了後の第1のプリンター18で行うことにより、印刷ジョブC4をユーザーCの印刷制限時刻までに終了させることができると判断する。
【0105】
このように、分散印刷を行うことにより、投入された印刷ジョブの印刷がその印刷制限時刻までに終了するようになると判断した場合(ステップS406:YES)には、プリンターサーバー16は、分散印刷を行う(ステップS408)。
【0106】
図15の例では、図15(b)に示すように、印刷ジョブC4の第11ページから第20ページを第2のプリンター19で印刷をするように切り替える。そして、印刷ジョブC4の第1ページから第10ページを第1のプリンター18で印刷をする。すなわち、第1のプリンター18における印刷ジョブA4の印刷処理が完了した後に、第1のプリンター18で、第1ページから第10ページまでの印刷を行う。
【0107】
次に、プリンターサーバー16は、分散印刷をした旨の通知を、ユーザーに送信する(ステップS410)。すなわち、プリンターサーバー16は、ネットワーク12を介して、分散印刷をした印刷ジョブを送信したコンピューター14に、分散印刷を行った旨の通知を送信する。この通知では、どのプリンターに分散したのかを特定する情報も、含まれている。ユーザーは、コンピューター14でこの通知を受信し、分散印刷されたプリンターから印刷結果を取得して、それらを結合することにより、目的の印刷物を得ることができる。
【0108】
上述した例では、印刷ジョブC4を送信したのがコンピューター14Cであったと仮定すると、プリンターサーバー16は、コンピューター14Cにネットワーク12を介して、分散印刷をした旨の通知を行い、また、第1のプリンター18と第2のプリンター19とで分散印刷を行った旨を通知する。この通知を受けたユーザーCは、第1のプリンター18の印刷結果と第2のプリンター19の印刷結果とを結合することにより、目的の印刷物を得ることができる。
【0109】
これに対して、上述したステップS404において、スプーラーに投入された順番で印刷ジョブの処理を行っても、投入された印刷ジョブが印刷制限時刻までに終了すると判断した場合(ステップS404:YES)、又は、上述したステップS406において、分散印刷をしても、投入された印刷ジョブが印刷制限時刻までに終了しないと判断した場合(ステップS406:NO)には、分散印刷をすることなく、この印刷ジョブ変更処理を終了する。
【0110】
すなわち、スプーラーに投入された順番で印刷ジョブを処理しても、新たに投入された印刷ジョブが印刷制限時刻までに終了するのであれば、そのままの印刷順位で印刷を行う。また、分散印刷をしても、新たに投入された印刷ジョブが印刷制限時刻までに終了しない場合や、そもそも他のプリンターが稼働しておりプリンターの空きが無い場合などでは、分散印刷は行わない。
【0111】
以上のように、本実施形態に係る印刷システム10によれば、プリンターサーバー16は、スプーラーで管理されている印刷ジョブの処理時間を予測し、スプーラーに溜まっている印刷ジョブのそれぞれの印刷完了時刻を推測して、新たに投入された印刷ジョブが、その印刷ジョブを生成したユーザーの印刷制限時刻までに終了するかどうかを判断することとした。そして、印刷制限時刻までに終了しないと判断した場合には、他のプリンターに印刷処理を分散させることにより、その印刷ジョブが印刷制限時刻までに終了できるようになるか判断し、印刷制限時刻までに終了できると判断した場合には、分散印刷をすることにより、印刷が最後まで行われるようにした。
【0112】
このため、異なる複数のプリンターの出力結果を結合するだけで、ユーザーは、印刷時刻に制限があるにも拘わらず、指定した通りの印刷設定で印刷結果を得ることができるようになる。例えば、印刷ジョブの設定がカラー印刷である場合には、設定通りのカラー印刷で印刷結果を取得することができる。このため、印刷結果に対するユーザーの満足度を向上させることができる。
【0113】
〔第5実施形態〕
上述した第4実施形態においては、プリンターサーバー16は、他のプリンターに印刷ジョブの処理の一部を振り替えることにより、印刷制限時刻までに印刷ジョブの処理が完了するようにしたが、第5実施形態においては、他のプリンターに印刷処理の全部を振り替えることにより、印刷制限時刻までに印刷ジョブの処理が行われるようにしたものである。以下、上述した第4実施形態と異なる部分を説明する。
【0114】
まず、図17に基づいて、本実施形態に係るプリンターサーバー16が行う印刷ジョブの制御について概略的に説明する。この図17は、プリンターサーバー16が行ったジョブ処理時間の予測を模式的に示している。すなわち、スプーラーに溜まっている印刷ジョブのそれぞれの処理時間を予測し、その処理開始時刻と処理完了時刻とを予測した状態を、概念的に説明するための図である。
【0115】
この図17(a)に示すように、プリンターサーバー16がプリンター18用に形成しているスプーラに、印刷ジョブA5がある状態で、新たに印刷ジョブC5が投入されてきたとする。印刷ジョブA5を生成したユーザーは、ユーザーAであり、印刷ジョブC5を生成したユーザーは、ユーザーCであるとする。そして、ここでは、ユーザーCは、第1のプリンター18と第2のプリンター19に対して印刷制限時間が設定されており、19:00以降は、プリンター18、19で印刷ができない設定になっているものとする。
【0116】
このような状況の下、18:55に、ユーザーCの印刷ジョブC5が、プリンターサーバー16における第1のプリンター18のスプーラーに投入されたとすると、このままの印刷ジョブの処理順序だと、印刷ジョブC5の印刷処理が実際に第1のプリンター18で終了するのは19:00以降になってしまい、その印刷が実現できなくなってしまう。
【0117】
そこで、本実施形態に係るプリンターサーバー16では、図17(b)に示すように、印刷ジョブC5を、第2のプリンター19で処理することにより、印刷制限時刻の19:00までに印刷処理が完了するようにしている。
【0118】
すなわち、印刷ジョブC5が第1のプリンター18のスプーラーに投入された時点で、第2のプリンター19では印刷処理が行われおらず、アイドル状態である。このため、プリンターサーバー16は、印刷ジョブC5の印刷処理全体を、第1のプリンター18から第2のプリンター19に変更して、代替印刷を行う。例えば、印刷ジョブC5が全20ページで構成されている場合、第1ページから第20ページまでの全部を、第2のプリンター19で印刷する。ユーザーは、第2のプリンター19から、目的の印刷物を取得することができる。
【0119】
図18は、このような処理をプリンターサーバー16で実現するために、プリンターサーバー16で実行される印刷ジョブ変更処理の内容を説明するためのフローチャートを示す図である。この印刷ジョブ変更処理は、プリンターサーバー16に新たな印刷ジョブが投入された場合に、起動される処理である。すなわち、プリンター18のスプーラーに新に印刷ジョブを追加する場合に、起動される処理である。
【0120】
また、この印刷ジョブ変更処理は、プリンターサーバー16のCPU20が、ROM24又はハードディスクドライブ26に格納されている印刷ジョブ変更処理プログラムを読み込んで実行することにより、実現される処理である。以下の説明では、上述の図17に示したように、印刷ジョブA5、印刷ジョブC5の順に、第1のプリンター18のスプーラーに印刷ジョブが投入されたと仮定する。
【0121】
この図18に示すように、この印刷ジョブ変更処理が起動されると、まず、プリンターサーバー16は、新しく投入された印刷ジョブを生成したユーザーを特定する(ステップS500)。印刷ジョブを生成したユーザーを特定するための処理は、上述した第1実施形態のステップS100と同様である。
【0122】
次に、図18に示すように、プリンターサーバー16は、ステップS500で特定したユーザーの印刷制限時刻を取得する(ステップS502)。このユーザーの印刷制限時刻を特定するための処理も、上述した第1実施形態のステップS102と同様である。ここでは、上述した第1実施形態と同様に、ユーザーCの印刷制限時刻が19:00であったと仮定する。
【0123】
次に、図18に示すように、プリンターサーバー16は、新たに投入された印刷ジョブが、ステップS502で取得した印刷制限時刻までに終了するかどうかを判断する(ステップS504)。具体的には、プリンターサーバー16は、図17(a)で例示したような各印刷ジョブの印刷処理時間を予測して、各印刷ジョブの印刷完了時刻を予測する。そして、予測した印刷完了時刻が、ステップS502で取得した印刷制限時刻より前であるかどうかを判断する。図17(a)の例では、印刷ジョブC5の印刷完了時刻は、ユーザーCの印刷制限時刻の19:00より後であるので、この印刷ジョブC5は、印刷制限時刻までに印刷が終了しないと判断する。
【0124】
ステップS504において、スプーラーに投入された順番で印刷ジョブの処理を行うと、新たに投入された印刷ジョブの処理が印刷制限時刻までに終了しないと判断した場合(ステップS504:NO)には、プリンターサーバー16は、他のプリンターで、その印刷ジョブを処理することにより、投入された印刷ジョブの印刷処理が、そのユーザーの印刷制限時刻までに終了するかどうかを判断する(ステップS506)。
【0125】
例えば、図17(a)の例では、印刷ジョブC5が18:55に投入された時点で、第2のプリンター19は、印刷処理が行われていない。このため、第2のプリンター19を使用すれば、直ちに印刷を開始することができる。このため、本実施形態においては、プリンターサーバー16は、印刷ジョブC5を第1のプリンター18で処理するのではなく、第2のプリンター19で直ちに処理を開始することにより、印刷ジョブC5をユーザーCの印刷制限時刻までに終了させることができると判断する。
【0126】
このように、代替印刷を行うことにより、新たに投入された印刷ジョブの印刷がその印刷制限時刻までに終了するようになると判断した場合(ステップS506:YES)には、プリンターサーバー16は、代替印刷を行う(ステップS508)。
【0127】
図17の例では、図17(b)に示すように、印刷ジョブC5の全体の処理を、第1のプリンター18ではなく、第2のプリンター19で行うように変更して、第2のプリンター19ですべての印刷処理を行う。
【0128】
次に、プリンターサーバー16は、代替印刷をした旨の通知を、ユーザーに送信する(ステップS510)。すなわち、プリンターサーバー16は、ネットワーク12を介して、代替印刷をした印刷ジョブを送信したコンピューター14に、代替印刷を行った旨の通知を送信する。この通知では、どのプリンターに印刷を振り替えたのかを特定する情報も、含まれている。ユーザーは、コンピューター14でこの通知を受信し、代替印刷されたプリンターから、目的の印刷物を得ることができる。
【0129】
上述した例では、印刷ジョブC5を送信したのがコンピューター14Cであったと仮定すると、プリンターサーバー16は、コンピューター14Cにネットワーク12を介して、代替印刷をした旨の通知を行い、また、第1のプリンター18ではなく、第2のプリンター19で印刷処理を行った旨を通知する。この通知を受けたユーザーCは、第2のプリンター19から、目的の印刷物を得ることができる。
【0130】
これに対して、上述したステップS504において、スプーラーに投入された順番に印刷ジョブを処理しても、新たに投入された印刷ジョブが印刷制限時刻までに終了すると判断した場合(ステップS504:YES)、又は、上述したステップS506において、代替印刷をしても、新たに投入された印刷ジョブが印刷制限時刻までに終了しないと判断した場合(ステップS506:NO)には、代替印刷をすることなく、この印刷ジョブ変更処理を終了する。
【0131】
すなわち、スプーラーに投入された順番で印刷ジョブを処理しても、新たに投入された印刷ジョブが印刷制限時刻までに終了するのであれば、そのままの印刷順位で指定されたプリンターによる印刷を行う。また、代替印刷をしても、新たに投入された印刷ジョブが印刷制限時刻までに終了しない場合や、そもそも他のプリンターが稼働しておりプリンターに空きが無い場合などでは、代替印刷は行わない。
【0132】
以上のように、本実施形態に係る印刷システム10によれば、プリンターサーバー16は、スプーラーで管理されている印刷ジョブの処理時間を予測し、スプーラーに溜まっている印刷ジョブのそれぞれの印刷完了時刻を推定して、新たに投入された印刷ジョブが、その印刷ジョブを生成したユーザーの印刷制限時刻までに終了するかどうかを判断することとした。そして、印刷制限時刻までに終了しないと判断した場合には、他のプリンターに印刷処理を代行させることにより、その印刷ジョブが印刷制限時刻までに終了できるようになるか判断し、印刷制限時刻までに終了できると判断した場合には、代替印刷をすることにより、印刷が最後まで行われるようにした。
【0133】
このため、ユーザーが指定したプリンターとは異なるプリンターで印刷物が出力されるが、印刷時刻に制限があるにも拘わらず、指定した通りの印刷設定で印刷結果を得ることができるようになる。例えば、印刷ジョブの設定がカラー印刷である場合には、設定通りのカラー印刷で印刷結果を取得することができる。このため、印刷結果に対するユーザーの満足度を向上させることができる。
【0134】
なお、本発明は上記実施形態に限定されず種々に変形可能である。例えば、上述した実施形態では、プリンターサーバー16が印刷ジョブ変更処理を行い、スプーラーに保持されている印刷ジョブの処理順序を変更したり、分散印刷や代替印刷を行うように変更したりすることとしたが、この印刷ジョブ変更処理をプリンターサーバー16以外で行うようにしてもよい。例えば、図1に対応する図19に示すように、ネットワーク12上にジョブ制御装置40を別個に設け、このジョブ制御装置40が、上述した印刷ジョブ変更処理を行い、プリンターサーバー16に形成されているスプーラー内の印刷ジョブの処理順序を変更するようにしてもよい。同様に、図14に対応する図20に示すように、ネットワーク12上にジョブ制御装置40を別個に設け、このジョブ制御装置40が、上述した印刷ジョブ変更処理を行い、プリンターサーバー16に形成されているスプーラー内の印刷ジョブについて、分散印刷をするように変更したり、代替印刷をするように変更したりするようにしてもよい。
【0135】
また、印刷制限時刻を経過する時点で処理している印刷ジョブについて、印刷制限時刻を経過した時点で直ちにその処理が中断されるのか、それとも、印刷制限時刻を経過する時点で処理の開始されている印刷ジョブについては最後まで処理を行うのかは、任意の設定である。例えば、第1実施形態、第2実施形態、及び、第4実施形態乃至第6実施形態においては、印刷制限時刻を経過した時点で直ちにその処理が中断される場合を例に本発明を説明したが、印刷制限時刻を経過する時点で処理の開始されている印刷ジョブについては最後まで処理を行う場合であっても、本発明を適用することができる。
【0136】
また、上述した第4実施形態及び第5実施形態においては、ユーザーに関連付けて印刷制限時刻が定められている場合を例に本発明の一実施形態を説明したが、第2実施形態と同様にジョブに関連付けて印刷制限時刻が定められている場合にも適用でき、第3実施形態と同様にプリンターに関連付けて印刷制限時刻が定められている場合にも適用できる。
【0137】
また、上述した第4実施形態において、分散印刷を行うか否かを任意に設定できるようにしてもよい。この場合、例えば、この設定を、プリンターサーバー16に予め登録できるようにしてもよいし、印刷ジョブで個別に指定できるようにしてもよい。同様に、上述した第5実施形態において、代替印刷を行うか否かを、任意に設定できるようにしてもよい。この場合、例えば、この設定を、プリンターサーバー16に予め登録できるようにしてもよいし、印刷ジョブで個別に指定できるようにしてもよい。
【0138】
また、上述した実施形態では、ジョブ処理装置がプリンターであり、ジョブが印刷ジョブである場合を例に、本発明を説明したが、ジョブ処理装置はプリンターに限られるものはなく、また、ジョブも印刷ジョブに限られるものではない。また、ジョブを生成するジョブ生成装置も、コンピューターに限られるものではない。
【0139】
また、上述の実施形態で説明した印刷ジョブ変更処理については、この処理を実行するためのプログラムをフレキシブルディスク、CD−ROM(Compact Disc-Read Only Memory)、ROM、メモリーカード等の記録媒体に記録して、記録媒体の形で頒布することが可能である。この場合、この記録媒体に記録されたプログラムをプリンターサーバー16に読み込ませ、実行させることにより、上述した実施形態を実現することができる。
【0140】
また、プリンターサーバー16は、オペレーティングシステムや別のアプリケーションプログラム等の他のプログラムを備える場合がある。この場合、プリンターサーバー16の備える他のプログラムを活用するために、そのプリンターサーバー16が備えるプログラムの中から、上述した実施形態と同等の処理を実現するプログラムを呼び出すような命令を含むプログラムを、記録媒体に記録するようにしてもよい。
【0141】
さらに、このようなプログラムは、記録媒体の形ではなく、ネットワーク12を通じて搬送波として頒布することも可能である。ネットワーク12上を搬送波の形で伝送されたプログラムは、プリンターサーバー16に取り込まれて、このプログラムを実行することにより上述した実施形態を実現することができる。
【0142】
また、記録媒体にプログラムを記録する際や、ネットワーク12上を搬送波として伝送される際に、プログラムの暗号化や圧縮化がなされている場合がある。この場合には、これら記録媒体や搬送波からプログラムを読み込んだプリンターサーバー16は、そのプログラムの復号や伸張を行った上で、実行する必要がある。
【0143】
また、上述した実施形態では、印刷ジョブ変更処理をソフトウェアにより実現する場合を例に説明したが、この処理をASIC(Application Specific IC)などのハードウェアにより実現するようにしてもよい。さらには、この印刷ジョブ変更処理を、ソフトウェアとハードウェアとが協働して実現するようにしてもよい。
【符号の説明】
【0144】
10 印刷システム
12 ネットワーク
14(14A、14B、14C) コンピューター
16 プリンターサーバー
18 プリンター
20 CPU
22 RAM
24 ROM
26 ハードディスクドライブ
28 ユーザーインターフェース
30 表示画面
32 通信インターフェース
34 プリンター接続インターフェース
【特許請求の範囲】
【請求項1】
ジョブ処理装置で処理されるジョブの制御を行うジョブ制御装置であって、
投入されたジョブの処理順位を管理し、投入された順番でジョブの処理が行われるようにジョブの管理を行う、処理順位管理手段と、
前記処理順位管理手段で管理されているジョブの処理時間を予測して、新たに投入されたジョブが、その処理制限時刻までに処理されるかどうかを判断する、判断手段と、
前記判断手段が前記新たに投入されたジョブは前記処理制限時刻までに処理されないと判断した場合には、前記処理制限時刻までにその処理が間に合うように、ジョブの処理内容を変更することなく、前記処理順位管理手段におけるジョブの処理方法を変更する、変更手段と、
を備えることを特徴とするジョブ制御装置。
【請求項2】
前記処理制限時刻は、ジョブを生成するユーザーに関連付けられて定められている、ことを特徴とする請求項1に記載のジョブ制御装置。
【請求項3】
前記処理制限時刻は、ジョブに関連付けられて定められている、ことを特徴とする請求項1に記載のジョブ制御装置。
【請求項4】
前記処理制限時刻は、前記ジョブ処理装置に関連付けられて定められている、ことを特徴とする請求項1に記載のジョブ制御装置。
【請求項5】
前記変更手段は、前記判断手段が前記新たに投入されたジョブは前記処理制限時刻までに処理されないと判断した場合には、前記処理制限時刻までに前記新たに投入されたジョブの処理が行われるように、前記処理順位管理手段におけるジョブの処理順位を入れ替える、ことを特徴とする請求項1乃至請求項4のいずれかに記載のジョブ制御装置。
【請求項6】
前記変更手段は、前記判断手段が前記新たに投入されたジョブは前記処理制限時刻までに処理されないと判断した場合には、前記処理制限時刻までに前記新たに投入されたジョブの処理が行われるように、前記新たに投入されたジョブを複数のジョブ処理装置に分散させて処理させる、ことを特徴とする請求項1乃至請求項4のいずれかに記載のジョブ制御装置。
【請求項7】
前記変更手段は、前記判断手段が前記新たに投入されたジョブは前記処理制限時刻までに処理されないと判断した場合には、前記処理制限時刻までに前記新たに投入されたジョブの処理が行われるように、前記新たに投入されたジョブを、指定されたジョブ処理装置から他のジョブ処理装置に変更して処理させる、ことを特徴とする請求項1乃至請求項4のいずれかに記載のジョブ制御装置。
【請求項8】
ジョブ処理装置で処理されるジョブの制御を行うジョブ制御装置であって、投入されたジョブの処理順位を管理し、投入された順番でジョブの処理が行われるようにジョブの管理を行う、処理順位管理手段を備えるジョブ制御装置の制御方法において、
前記ジョブ制御装置が、前記処理順位管理手段で管理されているジョブの処理時間を予測して、新たに投入されたジョブが、その処理制限時刻までに処理されるかどうかを判断するステップと、
前記新たに投入されたジョブは前記処理制限時刻までに処理されないと判断した場合には、前記ジョブ制御装置が、前記処理制限時刻までにその処理が間に合うように、ジョブの処理内容を変更することなく、前記処理順位管理手段におけるジョブの処理方法を変更するステップと、
を備えることを特徴とするジョブ制御装置の制御方法。
【請求項9】
ジョブ処理装置で処理されるジョブの制御を行うジョブ制御装置であって、投入されたジョブの処理順位を管理し、投入された順番でジョブの処理が行われるようにジョブの管理を行う、処理順位管理手段を備えるジョブ制御装置の制御を行うプログラムにおいて、
前記処理順位管理手段で管理されているジョブの処理時間を予測して、新たに投入されたジョブが、その処理制限時刻までに処理されるかどうかを判断するステップと、
前記新たに投入されたジョブは前記処理制限時刻までに処理されないと判断した場合には、前記処理制限時刻までにその処理が間に合うように、ジョブの処理内容を変更することなく、前記処理順位管理手段におけるジョブの処理方法を変更するステップと、
を前記ジョブ制御装置に実行させることを特徴とするプログラム。
【請求項1】
ジョブ処理装置で処理されるジョブの制御を行うジョブ制御装置であって、
投入されたジョブの処理順位を管理し、投入された順番でジョブの処理が行われるようにジョブの管理を行う、処理順位管理手段と、
前記処理順位管理手段で管理されているジョブの処理時間を予測して、新たに投入されたジョブが、その処理制限時刻までに処理されるかどうかを判断する、判断手段と、
前記判断手段が前記新たに投入されたジョブは前記処理制限時刻までに処理されないと判断した場合には、前記処理制限時刻までにその処理が間に合うように、ジョブの処理内容を変更することなく、前記処理順位管理手段におけるジョブの処理方法を変更する、変更手段と、
を備えることを特徴とするジョブ制御装置。
【請求項2】
前記処理制限時刻は、ジョブを生成するユーザーに関連付けられて定められている、ことを特徴とする請求項1に記載のジョブ制御装置。
【請求項3】
前記処理制限時刻は、ジョブに関連付けられて定められている、ことを特徴とする請求項1に記載のジョブ制御装置。
【請求項4】
前記処理制限時刻は、前記ジョブ処理装置に関連付けられて定められている、ことを特徴とする請求項1に記載のジョブ制御装置。
【請求項5】
前記変更手段は、前記判断手段が前記新たに投入されたジョブは前記処理制限時刻までに処理されないと判断した場合には、前記処理制限時刻までに前記新たに投入されたジョブの処理が行われるように、前記処理順位管理手段におけるジョブの処理順位を入れ替える、ことを特徴とする請求項1乃至請求項4のいずれかに記載のジョブ制御装置。
【請求項6】
前記変更手段は、前記判断手段が前記新たに投入されたジョブは前記処理制限時刻までに処理されないと判断した場合には、前記処理制限時刻までに前記新たに投入されたジョブの処理が行われるように、前記新たに投入されたジョブを複数のジョブ処理装置に分散させて処理させる、ことを特徴とする請求項1乃至請求項4のいずれかに記載のジョブ制御装置。
【請求項7】
前記変更手段は、前記判断手段が前記新たに投入されたジョブは前記処理制限時刻までに処理されないと判断した場合には、前記処理制限時刻までに前記新たに投入されたジョブの処理が行われるように、前記新たに投入されたジョブを、指定されたジョブ処理装置から他のジョブ処理装置に変更して処理させる、ことを特徴とする請求項1乃至請求項4のいずれかに記載のジョブ制御装置。
【請求項8】
ジョブ処理装置で処理されるジョブの制御を行うジョブ制御装置であって、投入されたジョブの処理順位を管理し、投入された順番でジョブの処理が行われるようにジョブの管理を行う、処理順位管理手段を備えるジョブ制御装置の制御方法において、
前記ジョブ制御装置が、前記処理順位管理手段で管理されているジョブの処理時間を予測して、新たに投入されたジョブが、その処理制限時刻までに処理されるかどうかを判断するステップと、
前記新たに投入されたジョブは前記処理制限時刻までに処理されないと判断した場合には、前記ジョブ制御装置が、前記処理制限時刻までにその処理が間に合うように、ジョブの処理内容を変更することなく、前記処理順位管理手段におけるジョブの処理方法を変更するステップと、
を備えることを特徴とするジョブ制御装置の制御方法。
【請求項9】
ジョブ処理装置で処理されるジョブの制御を行うジョブ制御装置であって、投入されたジョブの処理順位を管理し、投入された順番でジョブの処理が行われるようにジョブの管理を行う、処理順位管理手段を備えるジョブ制御装置の制御を行うプログラムにおいて、
前記処理順位管理手段で管理されているジョブの処理時間を予測して、新たに投入されたジョブが、その処理制限時刻までに処理されるかどうかを判断するステップと、
前記新たに投入されたジョブは前記処理制限時刻までに処理されないと判断した場合には、前記処理制限時刻までにその処理が間に合うように、ジョブの処理内容を変更することなく、前記処理順位管理手段におけるジョブの処理方法を変更するステップと、
を前記ジョブ制御装置に実行させることを特徴とするプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【公開番号】特開2010−176465(P2010−176465A)
【公開日】平成22年8月12日(2010.8.12)
【国際特許分類】
【出願番号】特願2009−19327(P2009−19327)
【出願日】平成21年1月30日(2009.1.30)
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
【Fターム(参考)】
【公開日】平成22年8月12日(2010.8.12)
【国際特許分類】
【出願日】平成21年1月30日(2009.1.30)
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
【Fターム(参考)】
[ Back to top ]