(57)【特許請求の範囲】
【請求項１】
複数の端末と相互に通信可能に接続され、各端末から送信されてきたプリントジョブを受信し、プリント処理させるプリンタ制御装置であって、
受信したプリント処理待ちのプリントジョブを記憶する記憶手段と、
前記記憶手段に記憶されているプリントジョブの送信元端末に対して、当該プリントジョブの優先度に関する情報として当該送信元端末において生成された情報の、自装置への送信を要求する要求手段と、
送信元端末から受信した、前記要求の返答としての前記情報に基づいて、プリントジョブのプリント処理を行わせる制御手段と、
を備えることを特徴とするプリンタ制御装置。
【請求項２】
前記要求手段は、
次のプリントジョブをプリント処理させることが可能な状態となったタイミングに、前記情報の送信を要求することを特徴とする請求項１に記載のプリンタ制御装置。
【請求項３】
前記情報は、
前記送信元端末の無操作時間若しくは当該送信元端末の操作者が当該送信元端末の前に居ない時間に基づいて求められた優先度を示す情報であることを特徴とする請求項１または２に記載のプリンタ制御装置。
【請求項４】
前記情報は、
前記送信元端末の操作者による設定に基づいて求められた優先度を示す情報であることを特徴とする請求項１乃至３のいずれか１項に記載のプリンタ制御装置。
【請求項５】
プリンタ制御装置と相互に通信可能に接続され、当該プリンタ制御装置にプリントジョブを送信する端末であって、
送信済みのプリントジョブの優先度に関する情報を生成する情報生成手段と、
前記プリンタ制御装置から前記情報送信の要求を受信する受信手段と、
前記受信手段が情報送信の要求を受信すると、前記情報を送信する送信手段と、
を備えることを特徴とする端末。
【請求項６】
複数の端末とプリンタ制御装置とを相互に通信可能に接続し、各端末から送信されてきたプリントジョブをプリンタ制御装置で受信し、プリント処理させるようにしたプリントシステムであって、
前記プリンタ制御装置は、
受信したプリント処理待ちのプリントジョブを記憶する記憶手段と、
前記記憶手段に記憶されているプリントジョブの送信元端末に対して、当該プリントジョブの優先度に関する情報として当該送信元端末において生成された情報の、自装置への送信を要求する要求手段と、
送信元端末から受信した、前記要求の返答としての前記情報に基づいて、プリントジョブのプリント処理を行わせる制御手段と、を備え、
各端末は、
送信済みのプリントジョブの優先度に関する情報を生成する情報生成手段と、
前記プリンタ制御装置から前記情報送信の要求を受信する受信手段と、
前記受信手段が情報送信の要求を受信すると、前記情報を送信する送信手段と、
を備えることを特徴とするプリントシステム。
【請求項７】
画像形成部と、当該画像形成部に受信したプリントジョブをプリント処理させるプリンタ制御装置と、を内蔵する画像形成装置であって、
前記プリンタ制御装置として、前記請求項１乃至４のいずれか１項に記載のプリンタ制御装置を使用したことを特徴とする画像形成装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、プリントシステム並びにこのシステムに用いられるプリンタ制御装置および端末に関し、特にプリントジョブの処理順序を最適化する技術に関する。
【０００２】
【従来の技術】
近年、オフィスオートメーションの発展に伴い、ワードプロセッサソフトや画像処理ソフトなどのアプリケーションをインストールした端末が一人に一台割り当てられ、複数の端末とプリンタサーバー（プリンタ制御装置）とをネットワークを介して相互に通信可能に接続し、プリンタサーバーが管理するプリンタを共有するプリントシステムが採用されている。
【０００３】
このプリントシステムの下では、各端末のアプリケーションで作成され、アプリケーションからプリント指定された一連のプリント処理が１つのプリントジョブとして取り扱われるようになっており、プリンタサーバーは、各端末から受信したプリントジョブを順次受け付けて、受け付けたプリントジョブをメモリに一旦記憶し、プリント処理させる際にプリントジョブをメモリから読み出してプリンタに送る。
【０００４】
ところで、このプリントシステムによれば、プリンタの稼働率を飛躍的に向上させることができる反面、あるプリントジョブのプリント処理中に、プリントジョブがメモリに複数蓄積される場合がある。この場合には、メモリに蓄積された複数のプリントジョブがプリント処理待ち状態になる（これを以下、単に「複数のプリントジョブが競合する」という。）。
【０００５】
そこで、複数のプリントジョブが競合する場合には、従来のプリンタサーバーは、プリントジョブを受け付けた順番にメモリから読み出してプリンタに送るようになっていた。即ち、例えば、ある端末からのプリントジョブと、他の端末からのプリントジョブとを受け付けたような場合、従来のプリンタサーバーでは、まず先に受け付けた端末からのプリントジョブを読み出してプリンタに送りそのプリントジョブのプリント処理が完了した後に、他の端末からのプリントジョブを読み出してプリンタに送るようにしていた。
【０００６】
【発明が解決しようとする課題】
しかしながら、従来のプリントシステムのようにプリントジョブのプリント処理が受付順であると、プリントジョブの処理順序の最適化が図れないという問題点があった。
なぜなら、プリントサーバーのメモリに格納されているプリントジョブには、プリント処理を急ぐものと、そうでないものとが混在している場合がある。プリント処理を急ぐプリントジョブの操作者は、キーボードやマウスなどの操作をやめて、端末の設置場所からプリンタの設置場所までプリント済みの用紙を取りに行く。これに対してプリント処理を急がないプリントジョブの操作者は、このジョブをとりあえずプリント処理に回した後にも、端末のキーボードやマウスなどをさらに操作して次のプリントジョブの作成に取りかかっている。このような状況にも拘わらず、あまり急ぎでない他人のプリントジョブが先に受け付けられていると、急ぎのプリントジョブのプリント処理が後回しにされ、プリンタの設置場所まで出向いた操作者は急がないプリントジョブのプリント処理が終了するまで待たされるといった事態が生じるからである。
【０００７】
この問題を解決するために、端末のキーボードやマウスなどが操作される毎に、キーボードやマウスなどが何らかの操作がされていることを表す操作情報を、図１６に示すように、その端末からプリンタサーバーにそれぞれ送信し、これを受信したプリンタサーバーは、操作情報を最後に受信した受信時刻から現在の時刻までの無操作時間を各端末ごとに求め、この無操作時間が長いほど優先度を高くすることにより、競合する複数のプリントジョブの中から次にプリント処理する１のプリントジョブを決定するといった方法が考えられる。そうすると、キーボードやマウスなどをさらに操作して次のプリントジョブの作成に取りかかっている端末の無操作時間は短く、この端末からのプリントジョブの優先度は低くなる。これに対して、キーボードやマウスなどの操作をやめてその設置場所を離れた端末の無操作時間は長く、この端末からのプリントジョブの優先度は高くなる。この結果、端末の設置場所を離れた操作者の急ぎのプリントジョブが、端末の設置場所にいる操作者の急がないプリントジョブの後回しにされるような事態がなくなり、プリントジョブの処理順序の最適化が図れることとなる。しかしながら、その一方で、各端末からプリンタサーバーに操作情報が頻繁に送信されるため、ネットワークの通信負荷が過大になるという別の問題が生じる。
【０００８】
本発明は、上述の問題点に鑑みてなされたものであり、ネットワークの通信負荷の増大を抑制しつつ、プリントジョブの処理順序の最適化を図ったプリントシステム並びにこのシステムに用いられるプリンタ制御装置および端末を提供することを目的とする。
【０００９】
【課題を解決するための手段】
上記課題を解決するために、本発明に係るプリンタ制御装置は、複数の端末と相互に通信可能に接続され、各端末から送信されてきたプリントジョブを受信し、プリント処理させるプリンタ制御装置であって、受信したプリント処理待ちのプリントジョブを記憶する記憶手段と、前記記憶手段に記憶されているプリントジョブの送信元端末に対して、当該プリントジョブの優先度に関する情報として当該送信元端末において生成された情報の、自装置への送信を要求する要求手段と、送信元端末から受信した、前記要求の返答としての前記情報に基づいて、プリントジョブのプリント処理を行わせる制御手段と、を備えることを特徴とする。
【００１０】
また、本発明に係るプリンタ制御装置は、前記要求手段は、次のプリントジョブをプリント処理させることが可能な状態となったタイミングに、前記情報の送信を要求することを特徴とする。
ここで、前記情報は、前記送信元端末の無操作時間若しくは当該送信元端末の操作者が当該送信元端末の前に居ない時間に基づいて求められた優先度を示す情報であることを特徴とする。また、前記情報は、前記送信元端末の操作者による設定に基づいて求められた優先度を示す情報であることを特徴とする。
また、上記課題を解決するために、本発明に係る端末は、プリンタ制御装置と相互に通信可能に接続され、当該プリンタ制御装置にプリントジョブを送信する端末であって、送信済みのプリントジョブの優先度に関する情報を生成する情報生成手段と、前記プリンタ制御装置から前記情報送信の要求を受信する受信手段と、前記受信手段が情報送信の要求を受信すると、前記情報を送信する送信手段と、を備えることを特徴とする。
【００１１】
また、上記課題を解決するために、本発明に係るプリントシステムは、複数の端末とプリンタ制御装置とを相互に通信可能に接続し、各端末から送信されてきたプリントジョブをプリンタ制御装置で受信し、プリント処理させるようにしたプリントシステムであって、前記プリンタ制御装置は、受信したプリント処理待ちのプリントジョブを記憶する記憶手段と、前記記憶手段に記憶されているプリントジョブの送信元端末に対して、当該プリントジョブの優先度に関する情報として当該送信元端末において生成された情報の、自装置への送信を要求する要求手段と、送信元端末から受信した、前記要求の返答としての前記情報に基づいて、プリントジョブのプリント処理を行わせる制御手段と、を備え、各端末は、送信済みのプリントジョブの優先度に関する情報を生成する情報生成手段と、前記プリンタ制御装置から前記情報送信の要求を受信する受信手段と、前記受信手段が情報送信の要求を受信すると、前記情報を送信する送信手段と、を備えることを特徴とする。
【００１２】
さらに、上記課題を解決するために、本発明に係る画像形成装置は、画像形成部と、当該画像形成部に受信したプリントジョブをプリント処理させるプリンタ制御装置と、を内蔵する画像形成装置であって、前記プリンタ制御装置として、上記いずれかに記載のプリンタ制御装置を使用したことを特徴とする。
【００１３】
【発明の実施の形態】
以下、本発明に係るプリントシステムの実施の形態を、図面を参照しながら説明する。
（プリントシステム１の全体構成）
図１は、本発明の実施の形態であるプリントシステム１の全体構成を示す図である。
【００１４】
同図に示すように、プリントシステム１は、ＬＡＮ２と、このＬＡＮ２に接続される複数の端末Ｕ１〜Ｕｕと、ＬＡＮ２を介して相互に通信可能に接続されるプリンタサーバー（プリンタ制御装置）Ｓと、プリンタケーブル４を介してプリンタサーバーＳと接続されるプリンタ３とを備える。
各端末Ｕ１〜ＵｕおよびプリンタサーバーＳは、ハードディスクなどを有するパーソナルコンピュータ本体と、この本体に接続されるモニタ、キーボード、マウスなどのほか、上記ハードディスクに予めインストールされたネットワーク対応のＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）やプリンタドライバなどにより構成されている。また、各端末Ｕ１〜Ｕｕには、ワードプロセッサソフトや画像処理ソフトなどのアプリケーションがインストールされている。プリンタサーバーＳは、ＯＳが提供するプリンタ共有サービスを用いて、自己が管理するプリンタ３を各端末Ｕ１〜Ｕｕで共有できるようにしている。
【００１５】
各端末Ｕ１〜Ｕｕ、プリンタサーバーＳには、固有のＩＰアドレスが予め付与されており、このＩＰアドレスによりＬＡＮ２上のパケットの送信元および宛先が識別される。また、各端末Ｕ１〜Ｕｕには固有の端末番号も予め付与されており、プリンタサーバーＳは、各端末Ｕ１〜ＵｕのＩＰアドレスと端末番号とを対応付けた変換テーブルを備えており、この変換テーブルにより受信したパケットが各端末Ｕ１〜Ｕｕのいずれから受信したものかを識別する。
【００１６】
プリンタ３は、図示しないＩＥＥＥ１２８４インターフェイスと、図示しない画像形成部などを備える公知のものであって、プリント処理中であるか否かを表す制御情報ｐｒｉｎｔｓｔａｔｕｓをプリンタケーブル４を介してプリンタサーバーＳに送信している。この制御情報ｐｒｉｎｔｓｔａｔｕｓ＝ＢＵＳＹ（Ｈレベル）は、プリンタ３がプリントジョブのプリント処理中であることを表し、ｐｒｉｎｔｓｔａｔｕｓ≠ＢＵＳＹ（Ｌレベル）は、新たなプリントジョブを受け付け可能であることを表している。
【００１７】
図２は、各端末Ｕ１〜Ｕｕの構成を示す機能ブロック図である。なお、各端末Ｕ１〜Ｕｕの構成が同じであるので、図２においては端末Ｕｕの構成のみを図示している。
（端末Ｕ１〜Ｕｕの構成）
各端末Ｕ１〜Ｕｕは、操作入力部１００と、ワードプロセッサなどのアプリケーション２００と、プリンタドライバー３００とをそれぞれ備える。プリンタドライバー３００は、プリントジョブ処理部３１０と、印字指示情報処理部３２０と、タイマー部３３０と、ＬＡＮインターフェイス部３４０などからなる。また、印字指示情報処理部３２０は、優先度設定画面３２１０などのモニタ表示用の画像データを予め記憶する画像データ記憶部３２１と、所定のしきい値時間ＴＫ１（例えば、１分）を予め記憶するしきい値時間記憶部３２６、しきい値時間ＴＫ１より長い所定のしきい値時間ＴＫ２（例えば、５分）を予め記憶するしきい値時間記憶部３２７と、印字指示情報記憶部３２２，３２３と、操作情報受信時刻記憶部３２４と、無操作時間記憶部３２５と、印字指示情報制御部３２８などからなる。これらの各部は、種々のハードウェア資源と、ソフトウェア資源により実現される。
【００１８】
操作入力部１００は、上記キーボードや、マウスなどにより実現され、操作者がキーボードなどを用いて入力操作すると、その入力操作の内容を表す入力操作情報をアプリケーション２００に送信する。
アプリケーション２００は、操作入力部１００からの入力操作情報に基づいて文書やイラストなどの印字データを含むプリントジョブＪを生成する。また、操作者が、操作入力部１００を介してプリントジョブＪのプリント指示を行うと、アプリケーション２００は、このプリントジョブＪをプリントジョブ処理部３１０に送信する。なお、プリントジョブＪを送信してしまうと、アプリケーション２００は、このジョブの送信処理から素早く解放される。したがって、操作者は、アプリケーション２００で次のプリントジョブの作成に取りかかることができる。
【００１９】
プリントジョブ処理部３１０は、アプリケーション２００から受信したプリントジョブＪを、図示しない内部バッファに一旦格納した後、プリンタ３の制御に必要な制御コードなどを付加し、これを読み出してＬＡＮインターフェイス部３４０に送信する。
ＬＡＮインターフェイス部３４０は、イーサネットなどに対応したＬＡＮボードなどにより実現され、種々のパケットの送受信に必要な自端末とプリンタサーバーＳとのＩＰアドレスを保持している。そして、プリントジョブ処理部３１０からプリントジョブＪを受信すると、ＬＡＮインターフェイス部３４０は、このプリントジョブＪに自端末を送信元、プリンタサーバーＳを宛先とするＩＰヘッダを付加したパケットをＬＡＮ２に送信する。
【００２０】
また、操作者が、プリントジョブＪのプリント指示を行う際にアプリケーション２００の印刷画面からプリンタのプロパティを呼び出して、優先度設定を呼び出す入力操作を行うと、操作入力部１００は、この入力操作情報を印字指示情報制御部３２８に送信する。なお、このような入力操作をＯＳから行った場合にも、上記と同様に、入力操作情報が印字指示情報制御部３２８に送信される。上記入力操作情報を受信すると、印字指示情報制御部３２８は、画像データ記憶部３２１から優先度設定画面３２１０を呼び出してモニタに優先度設定画面３２１０を表示させる。
【００２１】
図３は、優先度設定画面３２１０の一例を示す図である。
優先度設定画面３２１０には、優先度を設定するか否かを指定するラジオボタン３２１１、優先度を「０」としプリント保留を指定するラジオボタン３２１２、優先度を「１」としプリントのタイミングを普通に指定するラジオボタン３２１３、優先度を「２」としプリントのタイミングを至急に指定するラジオボタン３２１４などが設けられている。優先度を設定する場合、操作者は、マウスを操作してラジオボタン３２１１をクリックする。そうすると優先度「０」〜「２」のいずれか１つの項目を選択できる。操作者は、ラジオボタン３２１２〜３２１４のいずれか１つをクリックし、更新ボタンをクリックした後、ＯＫボタンをクリックする。そうすると、希望の優先度が有効に設定される。これにより、操作者の仕事内容などに合わせて優先度を異なった値に設定できる。例えば、画像処理ソフトを用いてフォトＣＤから所望の画像を１つ１つ選択し、選択するごとにプリント指定するような操作者の場合は、プリント済みの画像をまとめて取りに行くのが通例であるから、優先度を「１」に設定してプリントを普通にしておけばよく、これに対して、会議用の文書を作成するような仕事をしている操作者の場合は、指定された時間までに仕上げなければならないのが通例であるから、優先度を「２」に設定してプリントを至急にしておけばよい。また、秘密扱いの文書をワードプロセッサソフトを用いて作成するような仕事をしている操作者の場合は、そのプリント済みの文書を他人に見られたくないのが通例であるから、優先度を「０」に設定してプリントを保留にしておいて、プリンタ３のそばに誰もいない頃合いを見計らって優先度を「２」に設定してプリントを至急にすればよい。
【００２２】
図２に戻り、上記優先度設定画面３２１０から操作者により優先度が設定されると、印字指示情報制御部３２８は、この優先度をプリント処理の優先度に関する情報、印字指示情報Ｐｘとして印字指示情報記憶部３２２に格納する。なお、操作者が優先度を設定しなければ、印字指示情報記憶部３２２には優先度「１」の印字指示情報Ｐｘが初期値としてセットされるようになっている。
【００２３】
また、操作入力部１００は、キーボードなどによる入力がされると、操作者がキーボードや、マウスなどが何らかの操作がされていることを表す操作情報ｋｅｙを印字指示情報処理部３２０に送信する。この操作情報ｋｅｙは、この端末に操作者がいることを表している。
タイマー部３３０は、現在の時刻を表す時刻情報ｔｉｍｅを印字指示情報処理部３２０に出力する。
【００２４】
印字指示情報制御部３２８は、操作入力部１００から操作情報ｋｅｙを受信すると、受信時におけるタイマー部３３０の時刻情報ｔｉｍｅを、操作情報受信時刻ｔｌｕとして操作情報受信時刻記憶部３２４に格納（更新）する。
印字指示情報制御部３２８は、タイマー部３３０から受信した時刻情報ｔｉｍｅと操作情報受信時刻記憶部３２４に記憶されている時刻ｔｌｕとの差（ｔｉｍｅ−ｔｌｕ）を、キーボードなどが何らの操作もされない無操作時間ｔｋｕとして無操作時間記憶部３２５に格納（更新）する。したがって、無操作時間ｔｋｕは、最後に操作入力部１００による入力操作が行われてから現在まで継続する端末の無操作状態の時間を表すことになる。
【００２５】
また、印字指示情報制御部３２８は、上記した優先度設定画面３２１０から操作者により優先度が設定されたような場合に、印字指示情報記憶部３２２の印字指示情報Ｐｘと同じ値の優先度をプリント処理の優先度に関する情報、印字指示情報Ｐｙの戻り値として印字指示情報記憶部３２３に格納する。そして、印字指示情報制御部３２８は、操作情報受信時刻ｔｌｕおよび無操作時間ｔｋｕの更新と共に、「０」，「１」，「２」，「３」のいずれかの優先度で表わされる印字指示情報Ｐｙの更新を行う。すなわち、この印字指示情報Ｐｙは、優先度設定画面３２１０で指定された印字指示情報Ｐｘを基準とし、無操作時間ｔｋｕを加味した優先度を表している。
【００２６】
印字指示情報制御部３２８は、印字指示情報Ｐｘが「０」であると、プリントを保留にしておくのが望ましいので、印字指示情報Ｐｙは無操作時間ｔｋｕの如何に拘わらず「０」のままに保持する。これに対して、印字指示情報Ｐｘが「１」または「２」であると、印字指示情報制御部３２８は、無操作時間ｔｋｕがしきい値時間ＴＫ１よりも短い場合は、印字指示情報Ｐｙを「１」または「２」のそのままに設定し無操作時間ｔｋｕがしきい値時間ＴＫ１になると「１」高くして印字指示情報Ｐｙを「２」または「３」に動的に設定し、無操作時間ｔｋｕがしきい値時間ＴＫ２（ＴＫ１＜ＴＫ２）になると「１」高くして印字指示情報Ｐｙを上限の「３」に動的に設定する。
【００２７】
ここで、印字指示情報Ｐｙが「１」の端末では、操作者がこの端末の場所にいて操作入力部１００による入力作業が継続して行われていると判断できる。したがって、この端末からのプリントジョブのプリント処理が行われ、そのプリント済み用紙がプリンタ３から排出されたとしても、この用紙は、そのまま放置される可能性が高いと考えられる。一方、印字指示情報Ｐｙが「３」の端末では、無操作状態がしばらくの間（少なくとも５分間）継続しており、当該端末の操作者が、席を離れてプリンタ３へ出力用紙を取りに行っている可能性が高いと言える。また、印字指示情報Ｐｙが「２」の端末装置は、上記の中間状態であり、端末の操作者が、これから、プリント済み用紙を取りに行く可能性が高いと判断できる。
【００２８】
この考え方は、無操作状態の経過時間が長い端末からのプリントジョブほど、プリント処理を優先して行うという基本的な考えに基づくと、印字指示情報Ｐｘを考慮せずに無操作時間ｔｋｕだけで印字指示情報Ｐｙを作成することにより印字指示情報Ｐｙの高い端末の操作者ほど、プリント済み用紙の入手を急いでいるとしてもよいのであるが、操作者の仕事内容などに合わせた方か好ましてと考えて、印字指示情報Ｐｘを基準とし、これに端末において無操作時間ｔｋｕを加味することによりこの基準に「１」あるいは「２」を加えた数値を印字指示情報Ｐｙを後述する処理によって、プリントサーバーＳに送信するようにしている。
【００２９】
また、ＬＡＮインターフェイス部３４０は、ＬＡＮ２を介して送信元をプリンタサーバーＳ、宛先を自端末とするＩＰヘッダを付した印字指示要求情報ｒを受信すると、この印字指示要求情報ｒを印字指示情報処理部３２０に送信する。
印字指示情報制御部３２８は、ＬＡＮインターフェイス部３４０から印字指示要求情報ｒを受信すると、その時点で印字指示情報記憶部３２２に記憶している印字指示情報ＰｙをＬＡＮインターフェイス部３４０に送信する。なお、印字指示情報制御部３２８による制御動作の詳細は、後述する。
【００３０】
さらに、ＬＡＮインターフェイス部３４０は、印字指示情報処理部３２０から印字指示情報Ｐｙを受信すると、この印字指示情報Ｐｙをボディとし、このボディに自端末を送信元、プリンタサーバーＳを宛先とするＩＰヘッダを付加したパケットをＬＡＮ２に送信する。
図４は、プリンタサーバーＳの構成を示す機能ブロック図である。
【００３１】
同図に示すように、プリンタサーバーＳは、ＬＡＮインターフェイス部４１０と、プリントジョブ処理部４２０と、タイマー部４３０と、優先度決定部４４０と、プリンターインターフェイス部４５０とを備える。プリントジョブ処理部４２０は、バッファ４２１と、プリントジョブ制御部４２２などからなる。優先度決定部４４０は、送信端末番号記憶部４４１と、ジョブ受付時刻記憶部４４２と、印字指示情報記憶部４４３と、しきい値時間ＴＲ（例えば、１０分）を予め記憶するしきい値時間記憶部４４４と、優先度決定制御部４４５などからなる。これらの各部は、種々のハードウェア資源と、ソフトウェア資源により実現される。
【００３２】
ＬＡＮインターフェイス部４１０は、イーサネットなどに対応したＬＡＮボードなどにより実現され、種々のパケットの送受信に必要な各端末Ｕ１〜ＵｕとサーバーＳ自信とのＩＰアドレスの他、各端末Ｕ１〜ＵｕのＩＰアドレスと端末Ｕ１〜Ｕｕの端末番号とを相互に変換する変換テーブルを保持している。そして、ＬＡＮインターフェイス部４１０は、受信したパケットのＩＰアドレスからこの変換テーブルを用いてパケットを送信した送信元の端末がＵ１〜Ｕｕのいずれであるかを認識するとともに、パケットのボディーであるプリントジョブＪなどを識別する。なお、図に示す［］中の「ｕ」は、端末番号を表す変数である。
【００３３】
受信したパケットのボディがプリントジョブＪであると、ＬＡＮインターフェイス部４１０は、当該プリントジョブＪと、当該プリントジョブＪの送信元端末番号ｕ［ｕ］とをプリントジョブ処理部４２０に送信する。
タイマー部４３０は、時刻を表す時刻情報ｔｉｍｅをプリントジョブ処理部４２０と、優先度決定部４４０とに出力する。
【００３４】
プリントジョブ制御部４２２は、ＬＡＮインターフェイス部４１０からプリントジョブＪを受信するとこれを図５に示すバッファ４２１に格納する。プリントジョブは、Ｎ個の領域の内、空いている領域（フラグｆ［ｎ］がオフの状態）のバッファ番号の数値の最も小さな領域に格納される。このとき、プリントジョブと共に受信した送信元端末番号ｕ［ｕ］と、タイマー部４３０の時刻情報ｔｉｍｅにより得られるジョブ受付時刻ｔｒ［ｎ］とをプリントジョブと関連づけて記憶すると共に、その領域のフラグｆ［ｎ］をオンにする。
【００３５】
プリントジョブ処理部４２０は、プリンタ３がプリント処理可能な状態になると、プリントジョブバッファ４３１に格納されている送信元端末番号ｕ［ｕ］とジョブ受付時刻ｔｒ［ｎ］とを対にして、バッファ番号の数値の小さい順に、順次、優先度決定部４４０に通知し、通知した送信元端末番号ｕ［ｕ］の優先度を表す印字指示情報Ｐｚを決定するように指示する。そして、優先度決定部４４０によって決定された印字指示情報Ｐｚ［ｎ］を対応するバッファ番号の優先度の領域に格納する。
【００３６】
なお、優先度決定部４４０による印字指示情報Ｐｚの決定処理および印字指示情報Ｐｚの意味については後述する。また、プリントジョブ処理部４２０は、プリントジョブバッファ４３１に格納された優先度を参照して、次回にプリント処理を行うプリントジョブを決定するのであるが、このことについても、後で詳述する。
【００３７】
プリンターインターフェイス部４５０は、プリンタ３と同様なＩＥＥＥ１２８４インターフェイスなどにより実現され、プリンタ３から情報ｐｒｉｎｔｓｔａｔｕｓを受信すると、この情報ｐｒｉｎｔｓｔａｔｕｓをプリントジョブ処理部４２０に送信する。
また、プリントジョブ制御部４２２は、プリンターインターフェイス部４５０から受信したｐｒｉｎｔｓｔａｔｕｓがプリント中の状態（ＢＵＳＹ）からプリント可能な状態（≠ＢＵＳＹ）に変わると、バッファ４２１に格納されているプリントジョブＪ各々について送信元端末番号Ｕ［ｎ］とジョブ受付時刻ｔｒ［ｎ］とを優先度決定部４４０に通知し、プリントジョブの印字指示情報Ｐｚ［ｎ］を決定させる。そして、優先度決定部４４０によって決定された印字指示情報Ｐｚ［ｎ］の通知を受けると、対応するバッファ番号の優先度に格納する。なお、優先度決定部４４０による優先度の決定処理については後述する。また、プリントジョブ制御部４２２は、バッファ４２１に格納された優先度を参照して、次回にプリント処理を行うプリントジョブを決定するのであるが、このことについても、後で詳述する。
【００３８】
優先度決定制御部４４５は、プリントジョブ制御部４２２から送信元端末番号Ｕ［ｎ］とジョブ受付時刻ｔｒ［ｎ］との通知を受けると、通知された送信端末番号ｕとジョブ受信時刻ｔｒとを送信端末番号記憶部４４１、ジョブ受付時刻記憶部４４２にそれぞれ格納すると共に、送信端末番号ｕをＬＡＮインターフェイス部４１０に送信し、この端末に印字指示要求情報ｒを送信することを指示する。
【００３９】
また、ＬＡＮインターフェイス部４１０は、指示を受けると、上記変換テーブルを用いて受信した送信元端末番号のＩＰアドレスを宛先とし、送信元をプリンタサーバーＳとするヘッダを付加して印字指示要求情報ｒ［ｕ］を送信する。そして、ＬＡＮインターフェイス部４１０は、当該印字指示要求情報ｒ［ｕ］に対する返答である印字指示情報Ｐｙ［ｕ］をその端末から受信すると、当該印字指示情報Ｐｙ［ｕ］を優先度決定部４４０に送信する。
【００４０】
優先度決定制御部４４５は、ＬＡＮインターフェイス部４１０から印字指示情報Ｐｙを受信すると、印字指示情報記憶部４４３に格納する。そして、優先度決定制御部４４５は、タイマー部４３０から受信した時刻情報ｔｉｍｅとジョブ受付時刻記憶部４４２に記憶されている時刻ｔｒとの差（ｔｉｍｅ−ｔｒ）、すなわちプリントジョブの未処理経過時間（ｔｉｍｅ−ｔｒ）を求め、この未処理経過時間（ｔｉｍｅ−ｔｒ）と印字指示情報Ｐｙとに基づいて、優先度を表す情報、印字指示情報Ｐｚ［ｎ］を決定する。
【００４１】
優先度決定部４４０は、未処理経過時間（ｔｉｍｅ−ｔｒ）がしきい値時間ＴＲよりも短いと、印字指示情報Ｐｙをそのまま印字指示情報Ｐｚ［ｎ］とする。この一方、未処理経過時間（ｔｉｍｅ−ｔｒ）がしきい値時間ＴＲ以上のときには、印字指示情報Ｐｙに１を加えた数値を印字指示情報Ｐｚ［ｎ］として、プリントジョブ制御部４２２に通知する。
【００４２】
上記したように、操作者の設定値を基準とし、無操作経過時間が長い端末からのプリントジョブほど、プリント処理を優先して行うという本実施の形態の基本的な考えに基づくと、印字指示情報Ｐｙをそのまま印字指示情報Ｐｚ［ｎ］としててもよいのであるが、プリンタサーバーＳが受信してから相当の時間（ＴＲ）が経過しているプリントジョブについては、あまり長い間プリント処理待ち状態にしておくのは好ましくないと考え、印字指示情報Ｐｙをそのまま用いるのではなく、それに１を加えた数値を印字指示情報Ｐｚ［ｎ］としたのである。
【００４３】
印字指示情報Ｐｙ、「０」〜「２」そのままの値、あるいは、印字指示情報Ｐｙに「１」を加えた値が優先度になるので、当該印字指示情報Ｐｚ［ｎ］は、「０」，「１」，「２」，「３」，「４」のいずれかの値となる。なお、印字指示情報Ｐｙが「０」の場合には、未処理経過時間（ｔｉｍｅ−ｔｒ）がしきい値時間ＴＲ以上になっても「０」のままに維持される。
【００４４】
プリントジョブ制御部４２２は、プリンタ３がプリント可能な状態であることをプリンターインターフェイス部４５０から受信し、バッファ４２１に格納されている各プリントジョブＪの優先度決定部４４０による印字指示情報Ｐｚの決定が終了し、印字指示情報Ｐｚを更新すると、この印字指示情報Ｐｚに基づいて、次にプリント処理させるプリントジョブを決定する。
【００４５】
プリントジョブ制御部４２２は、まず、最も高い優先度「４」のプリントジョブを検索する。当該検索は、バッファ４２１のバッファ番号の若い順に順次、フラグがオンになっているバッファ番号を対象に行う。優先度「４」のプリントジョブが見つかると、そのプリントジョブをプリンターインターフェイス部４５０に出力すると共に、対応するフラグをオフにする。最後のバッファ番号Ｎ番まで検索しても、優先度「４」のプリントジョブが無かったときは、優先度を一つ下げて「４」とし、同様の検索を行う。以降、順次優先度を一つずつ下げて検索を行い、該当するプリントジョブを見つけるとそのプリントジョブをプリンターインターフェイス部４５０に出力すると共に、対応するフラグをオフにする。なお、優先度「０」のものについては、プリントを保留にするため、この検索対象から外されている。
【００４６】
プリンターインターフェイス部４５０は、プリントジョブ処理部４２０からプリントジョブを受信すると、受信したプリントジョブをプリンタ３に送信する。プリンタ３は、プリントジョブを受信し終わると、ｐｒｉｎｔｓｔａｔｕｓをＢＵＳＹに変更すると共に、プリント処理を実行し、用紙上に画像を再現する。そして、プリント処理が完了すると、プリンタ３は、ｐｒｉｎｔｓｔａｔｕｓを≠ＢＵＳＹに変更する。
【００４７】
次いで、端末Ｕ１〜Ｕｕの印字指示情報制御部３２８の制御動作、プリンタサーバーＳのプリントジョブ制御部４２２および優先度決定制御部４４５の制御動作をこの順序で説明する。
（印字指示情報制御部３２８の制御動作）
図６は、印字指示情報制御部３２８が実行するメインルーチンのフローチャートである。
【００４８】
端末の電源か投入されると、印字指示情報制御部３２８は、初期化処理を実行した後、不図示の内部タイマーをスタートさせ（ステップＳ１００）、当該メインルーチンの時間管理を行う（ステップＳ５００）。そして、操作者による印字指示情報Ｐｘの設定を受け付ける印字指示情報Ｐｘ設定処理（ステップＳ２００）、印字指示情報Ｐｘおよび操作情報ｋｅｙに基づいて印字指示情報Ｐｙを算出する印字指示情報Ｐｙ算出処理（ステップＳ３００）、印字指示要求情報ｒの受信に応じてその時点の印字指示情報Ｐｙを送信する印字指示情報Ｐｙ送信処理（ステップＳ４００）を所定の時間ごとに順次繰り返し実行する。
【００４９】
次いで、上記印字指示情報Ｐｘ設定処理、印字指示情報Ｐｙ算出処理および印字指示情報Ｐｙ送信処理を説明する。
図７は、図６に示す印字指示情報Ｐｘ設定処理（ステップＳ２００）のサブルーチンを示すフローチャートである。
印字指示情報制御部３２８は、まず優先度設定画面の呼び出しがあったか否か判断する（ステップＳ２０１）。
【００５０】
呼び出しがあれば（ステップＳ２０１でＹ）、印字指示情報制御部３２８は、画像データ記憶部３２１から図３に示す優先度設定画面３２１０を読み出してアプリケーション２００に送信し、優先度設定画面３２１０をモニタ上に表示させ（ステップＳ２０２）、操作者がラジオボタン３２１１にチェックを入れ、「０」〜「２」のいずれかの優先度が入力されたか否か判断する（ステップＳ２０３）。
【００５１】
「０」〜「２」のいずれかの優先度が入力されると（ステップＳ２０３でＹ）、印字指示情報制御部３２８は、この優先度を印字指示情報Ｐｘとして印字指示情報記憶部３２２に格納し（ステップＳ２０４）、ステップＳ２０５に進む。ステップＳ２０３で、「０」〜「２」のいずれの優先度も入力されないと（ステップＳ２０３でＮ）、ステップＳ２０４をスキップしてステップＳ２０５に進む。
【００５２】
ステップＳ２０５では、印字指示情報制御部３２８は、優先度設定画面の呼び出しが終了されるのを待つ。呼び出しが終了されないと（ステップＳ２０５でＮ）、ステップＳ２０３に戻る。これに対して、呼び出しが終了されると（ステップＳ２０５でＹ）、印字指示情報制御部３２８は、優先度設定画面３２１０を閉じ（ステップＳ２０６）、図６のメインルーチンにリターンする。
【００５３】
ステップＳ２０１において優先度設定画面３２１０の呼び出しがなければ（ステップＳ２０１でＮ）、印字指示情報制御部３２８は、ステップＳ２０２〜Ｓ２０６をスキップして、図６のメインルーチンにリターンする。
このような処理により、ワードプロセッサソフトや画像処理ソフトなどの各アプリケーションから一律に同じ値の優先度を設定したり、設定のやり直しなどを行うことができる。なお、ステップＳ２０２，２０３で優先度を「０」に設定した後、プリンタ３でプリント処理させる際に優先度設定画面３２１０を呼び出して再度優先度を「１」あるいは「２」に設定し直せば、設定し直した優先度が有効になる。
【００５４】
図８は、図６に示す印字指示情報Ｐｙ算出処理（ステップＳ３００）のサブルーチンを示すフローチャートである。
印字指示情報制御部３２８は、まずＬＡＮインターフェイス部４１０から操作情報ｋｅｙを受信したか否か判断する（ステップＳ３０１）。
操作情報ｋｅｙを受信していれば（ステップＳ３０１でＹ）、印字指示情報制御部３２８は、タイマー部３３０から受信した時刻情報ｔｉｍｅを操作情報受信時刻ｔｌｕとして操作情報受信時刻記憶部３２４に格納し（ステップＳ３０２）、無操作時間記憶部３２５の無操作時間ｔｋｕを「０」にリセットし（ステップＳ３０３）、印字指示情報記憶部３２３の印字指示情報Ｐｙとして印字指示情報記憶部３２２に記憶されている印字指示情報Ｐｘに初期化した後に（ステップＳ３０４）、図６のメインルーチンにリターンする。
【００５５】
一方、ステップＳ３０１で操作情報ｋｅｙを受信していなければ（ステップＳ３０１でＮ）、印字指示情報制御部３２８は、タイマー部３３０から受信した時刻情報ｔｉｍｅと操作情報受信時刻記憶部３２４に格納されている最後の操作情報受信時刻ｔｌｕとの差（ｔｉｍｅ−ｔｌｕ）を算出し、算出した無操作時間ｔｋｕ＝（ｔｉｍｅ−ｔｌｕ）を無操作時間記憶部３２５に格納し（ステップＳ３０６）、この無操作時間ｔｋｕが、しきい値時間ＴＫ１より小さいか否か判断する（ステップＳ３０７）。
【００５６】
しきい値時間ＴＫ１より小さい場合（ステップＳ３０７でＹ）、印字指示情報制御部３２８は、そのまま図６のメインルーチンにリターンする。これに対して、無操作時間ｔｋｕがしきい値時間ＴＫ１より小さくなければ（ステップＳ３０７でＮ）、印字指示情報制御部３２８は、無操作時間ｔｋｕとしきい値時間ＴＫ１とが等しいか否か判断する（ステップＳ３０８）。無操作時間ｔｋｕとしきい値時間ＴＫ１とが等しければ（ステップＳ３０８でＹ）、印字指示情報制御部３２８は、印字指示情報Ｐｙが「０」でないか否か判断する（ステップＳ３０９）。印字指示情報Ｐｙが「０」でない、すなわち印字指示情報Ｐｙが「１」または「２」であると、印字指示情報制御部３２８は、印字指示情報記憶部３２３に記憶されている印字指示情報Ｐｙを「１」インクリメント、すなわち優先度を「１」上げて図６のメインルーチンにリターンする。これに対して、ステップＳ３０９において印字指示情報Ｐｙが「０」であると、印字指示情報制御部３２８は、ステップＳ３１０をスキップして図６のメインルーチンにリターンする。
【００５７】
また、ステップＳ３０８において無操作時間ｔｋｕがしきい値時間ＴＫ１を超えている（ステップＳ３０８でＮ）、印字指示情報制御部３２８は、無操作時間ｔｋｕがしきい値時間ＴＫ２に等しく（ステップＳ３１１でＹ）、かつ印字指示情報Ｐｙが「２」であると（ステップＳ３１２でＹ）、印字指示情報制御部３２８は、印字指示情報記憶部３２３に記憶されている印字指示情報Ｐｙを「１」インクリメント、すなわち優先度を「３」に上げて図６のメインルーチンにリターンする。これに対して、ステップＳ３１１において無操作時間ｔｋｕがしきい値時間ＴＫ２より大きいか、あるいは印字指示情報Ｐｙが「３」であると、印字指示情報制御部３２８は、ステップＳ３１３をスキップして図６のメインルーチンにリターンする。
【００５８】
すなわち、印字指示情報Ｐｘが「０」であると、印字指示情報Ｐｙは無操作時間ｔｋｕの如何に拘わらず「０」のままに保持される。これに対して、印字指示情報Ｐｘが「１」または「２」であると、無操作時間ｔｋｕがしきい値時間ＴＫ１になると、印字指示情報Ｐｙは「２」または「３」に数値が「１」上げられ、無操作時間ｔｋｕがしきい値時間ＴＫ２になると、「２」の印字指示情報Ｐｙは「３」に数値が「１」上げられる。この一方、操作者がキーボードなどを操作すると、優先度が「２」あるいは「３」まで一旦上げられた印字指示情報Ｐｙも印字指示情報Ｐｘの「１」または「２」までその数値が下げられることになる。
【００５９】
図９は、図６に示す印字指示情報Ｐｙ送信処理（ステップＳ４００）のサブルーチンを示すフローチャートである。
印字指示情報制御部３２８は、ＬＡＮインターフェイス部３４０から印字指示要求情報ｒを受信受信したか否か判断する（ステップＳ４０１）。印字指示要求情報ｒを受信すると（ステップＳ４０１でＹ）、印字指示情報制御部３２８は、その受信時点で印字指示情報記憶部３２３に格納されている印字指示情報Ｐｙを読み出して、この印字指示情報ＰｙをＬＡＮインターフェイス部３４０に送信し（ステップＳ４０２）、図６のメインルーチンにリターンする。これにより、ＬＡＮインターフェイス部３４０は、印字指示情報Ｐｙをボディとし、これに自端末を送信元、プリンタサーバーＳを宛先とするＩＰアドレスを付加したパケットをプリンタサーバーＳに送信する。したがって、プリンタサーバーＳは、無操作時間ｔｋｕを加味した、最新の印字指示情報Ｐｙを受信することができる。これに対して、ステップＳ４０１で印字指示要求情報ｒを受信していなければ（ステップＳ４０１でＮ）、印字指示情報制御部３２８は、ステップＳ４０２をスキップして図６のメインルーチンにリターンする。したがって、各端末Ｕ１〜Ｕｕは、プリンタサーバーＳから印字指示要求情報ｒを受信した場合にのみ印字指示情報ＰｙをプリンタサーバーＳに送信するので、プリンタサーバーＳとの間のわずかな通信負荷で、最新の印字指示情報Ｐｙを送信することができる。
【００６０】
次いで、プリントジョブ制御部４２２、優先度決定制御部４４５の制御動作を説明する。
（プリントジョブ制御部４２２の制御動作）
図１０は、プリントジョブ制御部４２２が実行するメインルーチンのフローチャートである。
【００６１】
プリンタサーバーＳの電源が投入されると、プリントジョブ制御部４２２は、バッファ４２１の初期化などの初期化処理を実行した後（ステップＳ５１０）、不図示の内部タイマーをスタートさせ（ステップＳ５２０）、当該メインルーチンの時間管理を行う（ステップＳ８６０）。そして、各端末Ｕ１〜Ｕｕからのプリントジョブを受け付けるプリントジョブ受付処理（ステップＳ６００）、バッファ４２１に格納されている未処理のプリントジョブについて優先度を取得する優先度取得処理（ステップＳ７００）、バッファ４２１に格納されている未処理のプリントジョブの１つをプリンターインターフェイス部４５０に送信するプリントジョブ送信処理（ステップＳ８００）、上記以外のその他の処理（ステップＳ８５０）を所定の時間ごとに順次繰り返し実行する。
【００６２】
次いで、上記プリントジョブ受付処理、優先度取得処理およびプリンジョブ送信処理を詳細に説明する。
図１１は、図１０に示すプリントジョブ受付処理（ステップＳ６００）のサブルーチンを示すフローチャートである。
プリントジョブ制御部４２２は、まず、プリントジョブＪ［ｕ］を受信したか否か判断する（ステップＳ６０１）。ステップＳ６０１でプリントジョブを受信していなければ（ステップＳ６０１でＮ）、図１０に示すメインルーチンにリターンする。
【００６３】
ステップＳ６０１でプリントジョブＪ［ｕ］を受信すると（ステップＳ６０１でＹ）、図５に示すバッファ４２１のバッファ番号１〜Ｎの中から空いている領域（ｆ［ｎ］＝ＯＦＦ）をバッファ番号の数値の小さい順にサーチする（ステップＳ６０２〜Ｓ６０５）。空いている領域が見つかると（ステップＳ６０３でＮ）、プリントジョブ制御部４２２は、この領域に受け付けたプリントジョブＪ［ｕ］を格納し（ステップＳ６０６）、この空き領域にプリントジョブと関連付けて、送信元端末番号ｕを格納すると共に（ステップＳ６０７）、タイマー部４３０から受信した時刻情報ｔｉｍｅをジョブ受付時間ｔｒとして格納した後（ステップＳ６０８）、その領域のフラグｆ［ｎ］をＯＮにし（ステップＳ６０９）、図１０に示すメインルーチンにリターンする。このような処理が繰り返されることにより、各端末Ｕ１〜Ｕｕから受け付けたプリントジョブがバッファ４２１のバッファ番号の空き領域に順次に格納されていく。空いている領域がなくなれば（ステップＳ６０５でＮ）、プリントジョブ制御部４２２は、図１０に示すメインルーチンにリターンした後、図１０のステップＳ８５０で、プリントジョブの再送要求などを実行する。
【００６４】
図１２は、図１０に示す優先度取得処理（ステップＳ７００）のサブルーチンを示すフローチャートである。
プリントジョブ制御部４２２は、まずプリンターインターフェイス部４５０から受信したｐｒｉｎｔｓｔａｔｕｓがプリント可能な状態（≠ＢＵＳＹ）であるか否か判断する（ステップＳ７０１）。
【００６５】
ｐｒｉｎｔｓｔａｔｕｓがプリント可能な状態でなければ、すなわちＢＵＳＹであれば（ステップＳ７０１でＮ）、プリンタ３が前に送信したプリントジョブのプリント処理を行っている最中であるので、プリントジョブ制御部４２２は、図１０に示すメインルーチンにリターンする。
ステップＳ７０１でｐｒｉｎｔｓｔａｔｕｓが≠ＢＵＳＹであると（ステップＳ７０１でＹ）、プリンタ３のプリント準備ができているので、図５に示すバッファ４２１のバッファ番号１〜Ｎの中から未処理のプリントジョブが蓄積されている領域（ｆ［ｎ］＝ＯＮ）をバッファ番号の数値の小さい順にサーチする（ステップＳ７０２，Ｓ７０３，Ｓ７０４，Ｓ７０５）。未処理のプリントジョブが蓄積されている領域が見つかると（ステップＳ７０３でＹ）、プリントジョブ制御部４２２は、見つかったその領域に格納されている送信端末番号ｕと、ジョブ受付時刻ｔｒとを優先度決定部４４０に通知する（ステップＳ７０６）。そして、プリントジョブ制御部４２２は、優先度決定部４４０から優先度、すなわち印字指示情報Ｐｚが通知されるのを待つ（ステップＳ７０７）。
【００６６】
（優先度決定制御部４４５の制御動作）
図１３は、優先度決定制御部４４５が実行する優先度決定処理を示すフローチャートである。
優先度決定制御部４４５は、プリントジョブ制御部４２２から送信端末番号ｕ［ｎ］およびジョブ受付時間ｔｒ［ｎ］が通知されるのを待つ（ステップＳ９０１）。
【００６７】
送信端末番号ｕ［ｎ］およびジョブ受付時間ｔｒ［ｎ］の通知を受けると（ステップＳ９０１でＹ）、優先度決定制御部４４５は、これらを送信端末番号記憶部４４１、ジョブ受付時刻記憶部４４２にそれぞれ格納した後、ＬＡＮインターフェイス部４１０にその端末ｕに対して印字指示要求情報ｒ［ｕ］を送信するように指示する（ステップＳ９０２）。そして、この印字指示要求情報ｒ［ｕ］に対する返答、印字指示情報ＰｙをＬＡＮインターフェイス部４１０から受信するのを待つ（ステップＳ９０３）。
【００６８】
ＬＡＮインターフェイス部４１０は、優先度決定部４４０から端末Ｕｕに対する印字指示要求情報ｒ［ｕ］を受信すると、当該端末Ｕｕに対して印字指示要求情報ｒ［ｕ］を送信し、当該端末Ｕｕから印字指示要求情報ｒ［ｕ］に対する返答である印字指示情報Ｐｙ［ｕ］を受信すると、当該印字指示情報Ｐｙ［ｕ］を優先度決定部４４０に送信する。
【００６９】
ＬＡＮインターフェイス部４１０から印字指示情報Ｐｙ［ｕ］を受信すると（ステップＳ９０３でＹ）、優先度決定制御部４４５は、この印字指示情報Ｐｙ［ｕ］を印字指示情報記憶部４４３に格納した後、印字指示情報Ｐｙ［ｕ］が「０」か否か判断する（ステップＳ９０４）。
印字指示情報Ｐｙ［ｕ］が「０」であると（ステップＳ９０４でＹ）、優先度決定制御部４４５は、この印字指示情報Ｐｙ［ｕ］を決定された優先度の印字指示情報Ｐｚ［ｎ］とし（ステップＳ９０５）、この印字指示情報Ｐｚ［ｎ］をプリントジョブ処理部４２０に通知し（ステップＳ９０６）、ステップＳ９０１に戻る。
【００７０】
ステップＳ９０４で印字指示情報Ｐｙ［ｕ］が「０」でなければ（ステップＳ９０４でＮ）、すなわち、印字指示情報Ｐｙ［ｕ］が「１」〜「３」であれば、優先度決定制御部４４５は、タイマー部４３０から受信した時刻情報ｔｉｍｅとジョブ受付時刻記憶部４４２に記憶しているジョブ受付時刻との差、未処理経過時間（ｔｉｍｅ−ｔｒ）がしきい値時間記憶部４４４に記憶しているしきい値時間ＴＲより小さいか否か判断する（ステップＳ９０７）。
【００７１】
未処理経過時間（ｔｉｍｅ−ｔｒ）がしきい値時間ＴＲより小さいと（ステップＳ９０７でＹ）、優先度決定制御部４４５は、優先度が「０」の場合と同様に、この印字指示情報Ｐｙ［ｕ］をそのまま印字指示情報Ｐｚ［ｎ］とし（ステップＳ９０５）、この印字指示情報Ｐｚ［ｎ］をプリントジョブ処理部４２０に通知し（ステップＳ９０６）、ステップＳ９０１に戻る。
【００７２】
これに対して、未処理経過時間（ｔｉｍｅ−ｔｒ）がしきい値時間ＴＲ以上であると（ステップＳ９０７でＮ）、優先度決定制御部４４５は、印字指示情報Ｐｙ［ｕ］に優先度を「１」インクリメントしたものを印字指示情報Ｐｚ［ｎ］とし（ステップＳ９０８）、この印字指示情報Ｐｚ［ｎ］をプリントジョブ処理部４２０に通知し（ステップＳ９０６）、ステップＳ９０１に戻る。この理由は、端末Ｕ１〜Ｕｐで操作者がキーボードなどを操作していると、既にプリンタサーバーＳに送信したプリントジョブの優先度が低いままであるので、このプリントジョブの処理の順番がなかなか回ってこず、その端末の操作者に酷となる。そこで、未処理経過時間（ｔｉｍｅ−ｔｒ）がしきい値時間ＴＲ以上になると、優先度を「１」上げ、このプリントジョブの処理の順位を上げるようにしたものである。
【００７３】
図１２に戻り、優先度決定部４４０から待っていた印字指示情報Ｐｚの通知を受けると（ステップＳ７０７でＹ）、プリントジョブ制御部４２２は、通知された印字指示情報Ｐｚをその領域Ｐｚ［ｎ］に格納する（ステップＳ７０８）。
このように、未処理のプリントジョブが蓄積されている領域が見つかると（ステップＳ７０３でＹ）、見つかるごとにステップＳ７０６〜Ｓ７０８を実行するので、図５に示すバッファ４２１のバッファ番号１〜Ｎの中から未処理のプリントジョブの印字指示情報Ｐｚが全て求められる。
【００７４】
次いで、プリントジョブ制御部４２２が実行するプリントジョブ送信処理を説明する。
図１４は、図１０に示すプリントジョブ送信処理（ステップＳ８００）のサブルーチンを示すフローチャートである。
プリントジョブ制御部４２２は、まずプリンターインターフェイス部４５０から受信したｐｒｉｎｔｓｔａｔｕｓが≠ＢＵＳＹであるか否か判断する（ステップＳ８００ａ）。ｐｒｉｎｔｓｔａｔｕｓが≠ＢＵＳＹでなければ（ステップＳ８００ａでＮ）、プリントジョブ制御部４２２は、メインルーチンにリターンする。
【００７５】
ｐｒｉｎｔｓｔａｔｕｓが≠ＢＵＳＹであれば（ステップＳ８２０でＹ）、プリントジョブ制御部４２２は、サーチする優先度ｉに「４」をセットし（ステップＳ８０１）、図５に示すバッファ４２１のバッファ番号１〜Ｎの中から未処理のプリントジョブが蓄積されている領域（ｆ［ｎ］＝ＯＮ）で、印字指示情報Ｐｚが４であるものをバッファ番号の若い順にサーチする（ステップＳ８０２，Ｓ８０３，Ｓ８０４，Ｓ８０５，Ｓ８０６）。サーチする優先度ｉ＝「４」の未処理のプリントジョブがバッファ番号１〜Ｎの中に見つからなければ（ステップＳ８０６でＮ）、プリントジョブ制御部４２２は、サーチする優先度ｉを１デクリメントし（ステップＳ８０７）、サーチする優先度ｉが「１」以上の範囲で（ステップＳ８０８）、未処理のプリントジョブが蓄積されている領域（ｆ［ｎ］＝ＯＮ）をバッファ番号１〜Ｎの中からバッファ番号の若い順にサーチする。
【００７６】
そして、サーチする優先度ｉが一番高い未処理のプリントジョブが蓄積されている領域が見つかると（ステップＳ８０４でＮ）、プリントジョブ制御部４２２は、そのプリントジョブをプリンターインターフェイス部４５０に送信し（ステップＳ８１０）。これにより、プリントジョブの処理順序の最適化が図られる。そして、プリントジョブ制御部４２２は、その領域のフラグｆ［ｎ］をＯＦＦにリセットする（ステップＳ８１０）。これにより、この領域に新たに受け付けたプリントジョブを格納することができる。
【００７７】
プリンターインターフェイス部４５０は、プリントジョブ処理部４２０からプリントジョブを受信すると、受信したプリントジョブをプリンタ３に送信する。以上のように本発明に係る実施の形態によれば、端末Ｕ１〜Ｕｕは、プリントジョブを送信すると共に、操作者により設定された印字指示情報Ｐｘを基準としつつ、無操作時間ｔｋｕがしきい値時間ＴＫ１になると、印字指示情報Ｐｙは「２」または「３」にその優先度を「１」上げ、この一方、操作者がキーボードなどを操作すると、優先度が「２」あるいは「３」まで上げられた印字指示情報Ｐｙも印字指示情報Ｐｘの「１」または「２」までその優先度が下げる。そして、端末Ｕ１〜Ｕｕは、印字指示要求情報ｒを受信すると、その受信時点の印字指示情報Ｐｙを送信するようにしている。これに対して、プリンタサーバーＳは、各端末Ｕ１〜Ｕｕから受け付けたプリントジョブをバッファ４２１に格納し、ｐｒｉｎｔｓｔａｔｕｓがプリント可能な状態（≠ＢＵＳＹ）になると、未処理のプリントジョブを送信した端末に対して印字指示要求情報ｒを送信し、当該端末から印字指示要求情報に対する返答である印字指示情報を受信すると、当該印字指示情報を基準として競合するプリントジョブの中から優先度の一番高いプリントジョブを求めプリンタ３でプリント処理させるようにしている。
【００７８】
このため、キーボードやマウスなどをさらに操作して次のプリントジョブの作成に取りかかっている端末の無操作時間は短く、この端末からのプリントジョブの優先度は低くなり、一方、キーボードやマウスなどの操作をやめてその設置場所を離れた端末の無操作時間は長く、この端末からのプリントジョブの優先度は高くなる。したがって、端末の設置場所を離れた操作者の急ぎのプリントジョブが、端末の設置場所にいる操作者の急がないプリントジョブの後回しにされるような事態がなくなる。また、ｐｒｉｎｔｓｔａｔｕｓがプリント中である状態（ＢＵＳＹ）からプリント可能な状態（≠ＢＵＳＹ）になると、優先度決定部４４０に直ちにプリンタサーバーＳから印字指示要求情報ｒを送信させるようにしている。したがって、優先度決定部４４０により端末Ｕ１〜Ｕｕから印字指示情報Ｐｙを受信し、プリントジョブの印字指示情報Ｐｚを全て決定させ、プリントジョブ制御部４２２が次にプリント処理させるプリントジョブを求めた段階で、端末Ｕ１〜Ｕｕの印字指示情報Ｐｙが変化している可能性が極めて少なくなる。この結果、精度よくプリントジョブの処理順序の最適化が図れる。
【００７９】
さらに、端末ＵｕとプリンタサーバーＳとの間で行われる通信手順が図１５に示すシーケンス図のようになっている。すなわち、同図に示すように、端末Ｕ１〜Ｕｕは、プリントジョブを送信する。プリンタサーバーＳは、ｐｒｉｎｔｓｔａｔｕｓがプリント可能な状態（≠ＢＵＳＹ）になると、未処理のプリントジョブを送信した端末に対して印字指示要求情報ｒを送信する。また端末Ｕ１〜Ｕｕは、このプリントジョブと別個に印字指示要求情報ｒを受信した場合にのみ印字指示情報Ｐｙを送信するようにしている。したがって、上記したように方法のように各端末からプリンタサーバーに操作情報が頻繁に送信されることもなくなり、ネットワークの通信負荷の増大も大幅に抑制することもできる。
【００８０】
（変形例）
以上、本発明に係るプリントシステム並びにこのシステムに用いられるプリンタサーバーおよび端末を実施の形態に基づいて説明してきたが、本発明の内容が、上述の実施の形態に限定されないのは勿論であり、以下のような変形例が考えられる。
【００８１】
上記実施の形態では、各アプリケーションに対して一律に印字指示情報Ｐｘを設定したが、アプリケーションごとに個別に印字指示情報Ｐｘを設定するようにしてもよい。
また、上記実施の形態では、印字指示情報Ｐｘと操作情報ｋｅｙとに基づいて印字指示情報Ｐｙを作成したが、操作情報ｋｅｙだけに基づいて印字指示情報Ｐｙを作成するようにしてもよい。また、プリンタサーバーＳにおいて、印字指示情報Ｐｙと未処理経過時間（ｔｉｍｅ−ｔｒ）とに基づいて印字指示情報Ｐｚを作成したが、印字指示情報Ｐｙをそのまま印字指示情報Ｐｚとするようにしてもよい。
【００８２】
また、上記実施の形態では、優先度の一番高いプリントジョブを決定する場合、同じ優先度の中ではプリントジョブの受付時刻と無関係にバッファ番号の若い順に決定したが、同じ優先度の中ではプリントジョブの受付時刻の早い順に決定するようにしてもよい。
また、上記実施の形態ではプリンタサーバーＳをプリンタ３に外付けのパーソナルコンピュータで構成したが、外付けの専用プリンタサーバーで構成してもよく、またプリンタにネットワークインタフェースアダプタを内蔵したネットワーク対応プリンタで実施してもよい。この場合には、プリンタに内蔵されたネットワークインタフェースアダプタがプリンタサーバーの機能を発揮する。
【００８３】
また、上記実施の形態では、キーボードやマウスなどの入力手段からの入力が所定の時間無かった場合に、操作者が端末装置を離れている、すなわち、端末装置に不在であると判断したが、これに限らず、操作者が実際に端末装置の前に居るか居ないかを検出するようにしてもよい。
発光ダイオードや半導体レーザなどの光源とフォトダイオードなどの検出器とからなる反射型フォトセンサを人体検出器として用い、当該人体検出器を各端末装置ごとに設け、端末装置の前に操作者が居るか居ないかを検出する。
【００８４】
検出は一定の時間間隔（例えば、５秒間隔）で行い、操作者を検出した場合には、上記実施の形態における操作情報「ｋｅｙ」に代わる存在情報「ｓｅａｔｅｄ」を生成し、以降、当該存在情報「ｓｅａｔｅｄ」を利用して、上記実施の形態と同様の処理を行うようにする。
さらに、上記実施の形態では、プリンタに適用したが、デジタル方式の複写機や、ＦＡＸ、マイクロリーダプリントや、これらの複合機などの画像形成装置にも適用できる。
【００８５】
【発明の効果】
以上のように本発明に係るプリンタ制御装置によれば、受信したプリント処理待ちのプリントジョブを記憶する記憶手段と、前記記憶手段に記憶されているプリントジョブの送信元端末に対して、当該プリントジョブの優先度に関する情報として当該送信元端末において生成された情報の、自装置への送信を要求する要求手段と、送信元端末から受信した、前記要求の返答としての前記情報に基づいて、プリントジョブのプリント処理を行わせる制御手段と、を備えるので、プリント処理を急がないプリントジョブと、プリント処理を急ぐプリントジョブとをこの順序で受け付けた場合であっても、端末の設置場所を離れた操作者の急ぎのプリントジョブが、端末の設置場所にいる操作者の急がないプリントジョブの後回しにされるような事態がなくなり、プリントジョブの処理順序の最適化を図ることができる。しかも、各端末ごとに上記情報送信の要求と、上記情報との通信だけですませることができるので、ネットワークの負荷の増大を大幅に抑制することもできる。
【図面の簡単な説明】
【図１】本発明の実施の形態であるプリントシステム１の全体構成を示す図である。
【図２】図１に示す各端末Ｕ１〜Ｕｕの構成を示す機能ブロック図である。
【図３】モニタに表示される優先度設定画面３２１０の一例を示す図である。
【図４】図１に示すプリンタサーバーＳの構成を示す機能ブロック図である。
【図５】プリンタサーバーＳが有するバッファ４２１の構成の一例を示す図である。
【図６】印字指示情報制御部３２８が実行するメインルーチンのフローチャートである。
【図７】図６に示す印字指示情報Ｐｘ設定処理（ステップＳ２００）のサブルーチンを示すフローチャートである。
【図８】図６に示す印字指示情報Ｐｙ算出処理（ステップＳ３００）のサブルーチンを示すフローチャートである。
【図９】図６に示す印字指示情報Ｐｙ送信処理（ステップＳ４００）のサブルーチンを示すフローチャートである。
【図１０】プリントジョブ制御部４２２が実行するメインルーチンのフローチャートである。
【図１１】図１０に示すプリントジョブ受付処理（ステップＳ６００）のサブルーチンを示すフローチャートである。
【図１２】図１０に示す優先度取得処理（ステップＳ６００）のサブルーチンを示すフローチャートである。
【図１３】優先度決定制御部４４５が実行する優先度決定処理を示すフローチャートである。
【図１４】図１０に示すプリントジョブ送信処理（ステップＳ８００）のサブルーチンを示すフローチャートである。
【図１５】端末ＵｕとプリンタサーバーＳとの間で行われる通信手順を示すシーケンス図である。
【図１６】端末ＵｕとプリンタサーバーＳとの間で行われる背景技術の通信手順を示すシーケンス図である。
【符号の説明】
１              プリントシステム
２              ＬＡＮ
３              プリンタ
１００          操作入力部
２００          アプリケーション
３００          プリンタドライバー
３１０，４２０  プリントジョブ処理部
３２０          印字指示情報処理部
３３０，４３０  タイマー部
３４０，４１０  ＬＡＮインターフェイス部
４４０          優先度決定部
４５０          プリンターインターフェイス部
Ｕ１〜Ｕｕ      端末
Ｓ              プリンタサーバー
【図１】
0003791282.tif 000002
【図２】
0003791282.tif 000003
【図３】
0003791282.tif 000004
【図４】
0003791282.tif 000005
【図５】
0003791282.tif 000006
【図６】
0003791282.tif 000007
【図７】
0003791282.tif 000008
【図８】
0003791282.tif 000009
【図９】
0003791282.tif 000010
【図１０】
0003791282.tif 000011
【図１１】
0003791282.tif 000012
【図１２】
0003791282.tif 000013
【図１３】
0003791282.tif 000014
【図１４】
0003791282.tif 000015
【図１５】
0003791282.tif 000016
【図１６】
0003791282.tif 000017