(57)【特許請求の範囲】
【請求項１】
端末とスプールサーバとプリンタとがネットワークで繋げられたシステムにおけるスプールサーバであって、
前記端末に設けられた送信部との間でコネクションを形成し、前記プリンタにより印刷されるデータを前記送信部から受信する受信部と、
前記コネクションが形成されているときに、前記データに含まれる通信接続属性情報または印刷属性情報に基づいて、前記通信接続属性情報または前記印刷属性情報に含まれる情報と、前記スプールサーバが有している情報とが一致する場合には前記受信部に前記送信部からの前記データの受信を継続させ、一致しない場合には中断させる、と判断する第１の判断処理を行う判断部と、
前記判断部が前記第１の判断処理を含む１以上の判断処理のいずれかにおいて前記送信部からの前記データの受信を中断させると判断された場合に、前記受信部に前記コネクションを維持させたまま前記送信部からの前記データの受信を中断させる制御部と、
を備えるスプールサーバ。
【請求項２】
請求項１に記載のスプールサーバにおいて、
前記通信接続属性情報または前記印刷属性情報には端末または前記端末の利用者を特定する特定情報が含まれ、
前記判断部は、前記第１の判断処理において、前記端末から前記通信接続属性情報または前記印刷属性情報を取得したときに、前記特定情報と一致する情報を前記スプールサーバが有しているか否かに基づいて、前記受信部に前記データの受信を継続させるか、前記送信部からの前記データの受信を中断させるか、を判断する、スプールサーバ。
【請求項３】
請求項２に記載のスプールサーバにおいて、
前記特定情報は前記端末を利用する利用者のユーザアカウントである、スプールサーバ。
【請求項４】
請求項１に記載のスプールサーバにおいて、
前記通信接続属性情報には前記端末のＩＰアドレスが含まれ、
前記判断部は、前記第１の判断処理において、前記端末のＩＰアドレスを取得したときに、前記端末のＩＰアドレスと一致する情報を前記スプールサーバが有しているか否かに基づいて、前記受信部に前記データの受信を継続させるか、前記受信部に前記コネクションを維持させたまま前記送信部からの前記データの受信を中断させるか、を判断し実行する、スプールサーバ。
【請求項５】
請求項１から請求項４のいずれかに記載のスプールサーバにおいて、
前記判断部は、さらに、スプールサーバの負荷の状態に基づいて、前記負荷が閾値以下の場合には、前記受信部に前記データの受信を継続させ、前記負荷が前記閾値を超える場合には、前記受信部に前記コネクションを維持させたまま前記送信部からの前記データの受信を中断させる、と判断する第２の判断処理を行う、スプールサーバ。  
【請求項６】
請求項１から請求項５のいずれかに記載のスプールサーバにおいて、
前記判断部は、さらに、スプールサーバに前記データを印刷可能なプリンタが接続されているか否かを判断し、前記プリンタが接続されていない場合、前記送信部からの前記データの受信を中断させると判断する第３の判断処理を行う、スプールサーバ。
【請求項７】
請求項１から請求項６のいずれかに記載のスプールサーバにおいて、
前記判断部は、前記データの受信の中断が行われた後、一定の時間が経過したとき又は前記通信接続属性情報または前記印刷属性情報が変化したときに、前記変化した通信接続属性情報または前記印刷属性情報に基づいて、前記変化した通信接続属性情報または前記印刷属性情報に含まれる情報と、前記スプールサーバが有している情報とが一致する場合には再度前記受信部に前記送信部からの前記データの受信を継続させ、一致しない場合には中断させる、と判断し、
前記制御部は、前記送信部からの前記データの受信を中断させるとの再度の判断がなされた場合に、前記送信部からの前記データの受信の中断を維持させ、前記送信部からの前記データの受信を継続させるとの再度の判断がなされた場合に、前記データの受信及び前記データの前記記憶部への蓄積を再び開始させる、スプールサーバ。
【請求項８】
端末とスプールサーバとプリンタとをネットワークで繋いだシステムのスプールサーバにおけるデータ通信制御方法であって、
前記端末に設けられた送信部と前記スプールサーバの受信部と間でコネクションを形成し、前記プリンタにより印刷されるデータを前記送信部から受信し、
前記コネクションが形成されているときに、前記データに含まれる通信接続属性情報または印刷属性情報に基づいて、前記通信接続属性情報または前記印刷属性情報に含まれる情報と、前記スプールサーバが有している情報とが一致する場合には前記受信部に前記送信部からの前記データの受信を継続させ、一致しない場合には中断させる、と判断する第１の判断処理を行い、
前記第１の判断処理を含む１以上の判断処理のいずれかにおいて、前記送信部からの前記データの受信を中断させると判断された場合に、前記受信部に前記コネクションを維持させたまま前記送信部からの前記データの受信を中断させる、
スプールサーバにおけるデータ通信制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークプリンタシステムに関する。
【背景技術】
【０００２】
従来のネットワークプリンタシステムでは、クライアントＰＣからサーバにデータが送られ、サーバにデータが一時的に蓄積され、サーバからプリンタにデータが送られて印刷が実行される。ここで、データ受信側のＣＰＵ負荷が大きい場合に通信帯域を制限し、ＣＰＵ負荷が閾値以下になったときに制限を解除するシステムが知られている（特許文献１）。
【０００３】
【特許文献１】特開２００７−１８８２２６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
クライアントＰＣからサーバにデータを送る場合、サーバが受信を拒否する場合がある。かかる場合にサーバが通信路を切ってデータ受信を拒否しても、クライアントＰＣの構成によっては、クライアントＰＣからデータが再送信されることがある。その場合、サーバの受信拒否とクライアントＰＣからのデータ送信とが延々と繰り返され、サーバの負荷が大きくなるおそれがあった。
【０００５】
本発明は、上記課題の少なくとも１つを解決し、サーバの負荷を低減することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明は、以下の態様を備える。
【０００７】
本発明の第１の態様は、端末とスプールサーバとプリンタとがネットワークで繋げられたシステムにおけるスプールサーバである。スプールサーバは、前記端末に設けられた送信部との間でコネクションを形成し、前記プリンタにより印刷されるデータを前記送信部から受信する受信部と、前記コネクションが形成されているときに、所定のタイミングで所定の条件を判断する判断部と、前記判断結果に基づいて、前記受信部に前記コネクションを維持させたまま前記送信部からの前記データの受信を中断させる制御部とを備える。この態様によれば、コネクションが維持されるため、スプールサーバからの通信路の切断による受信拒否と端末の送信部からのデータ送信とが延々と繰り返されることがなく、スプールサーバの負荷を少なくできる。
【０００８】
本発明の第１の態様に係るスプールサーバにおいて、前記端末から受信するデータには端末または端末の利用者を特定する特定情報が含まれ、前記判断部は、前記端末から前記データを取得したときに、前記特定情報に基づいて前記判断をするように構成されていてもよい。この態様によれば、特定の端末から送信あるいは端末における特定の利用者の操作により送信されるデータについて、受信処理を継続しあるいは受信処理を中断できる。
【０００９】
本発明の第１の態様に係るスプールサーバにおいて、前記特定情報は端末を利用する利用者のユーザアカウントであるように構成してもよい。この態様によれば、特定のユーザアカウントを持つ利用者の操作により送信されるデータについて、受信処理を継続しあるいは受信処理を中断できる。
【００１０】
本発明の第１の態様に係るスプールサーバにおいて、前記端末から受信するデータには前記端末を特定する特定情報が含まれ、前記判断部は、前記特定情報を取得する前に、スプールサーバの負荷状態に基づいて判断するように構成してもよい。一般的に端末を特定する情報は、通信データのヘッダ部などデータの始めの方に含まれている。したがって、この態様によれば初期段階で受信処理の継続の可否を決めることができる。
【００１１】
本発明の第１の態様に係るスプールサーバにおいて、前記条件は、前記プリンタが前記データを印刷することができることであるように構成されていてもよい。この態様によれば、プリンタがデータを印刷できない場合は、データ受信を中断するため、スプールサーバの負荷を少なくできる。
【００１２】
本発明の第１の態様に係るスプールサーバにおいて、前記端末から受信するデータには前記端末を特定する特定情報が含まれ、前記判断部は、前記特定情報を取得したときに、前記特定情報に基づいて前記判断をするように構成されていてもよい。一般的に端末を特定する情報は、通信データのヘッダ部などデータの始めの方に含まれている。したがって、この態様によれば、初期段階で受信処理の継続の可否を決めることができる。
【００１３】
本発明の第１の態様に係るスプールサーバにおいて、前記判断部は、前記中断が行われた後、前記所定の条件を再度判断し、前記制御部は、前記再度の判断結果に基づいて、前記送信部からの前記データの受信の中断を維持させ、あるいは、前記データの受信を再び開始させるように構成されていてもよい。この態様によれば、受信中断中はスプールサーバの負荷を少なくできる。また、再度の判断で、受信の再開の判断がなされれば、データが受信され、印刷がされるので利用者の利便性が図れる。
【００１４】
本発明の第１の態様に係るスプールサーバにおいて、前記判断部が前記所定の条件を判断するのは、判断の根拠となった条件もしくは、判断の根拠となった情報の値が変わったときであるように構成してもよい。この態様によれば、判断の根拠となった条件もしくは、判断の根拠となった情報の値が変われば、スプールサーバの負荷が変わるからである。
【００１５】
本発明の第２の態様は、端末とスプールサーバとプリンタとをネットワークで繋いだシステムのスプールサーバにおけるデータ通信制御方法である。このデータ通信制御方法においては、前記端末に設けられた送信部と前記スプールサーバの受信部と間でコネクションを形成し、所定のタイミングで所定の条件を判断し、前記判断結果に基づいて、前記受信部に前記コネクションを維持したまま前記端末からのデータ受信を中断させる制御を行う。この態様によれば、コネクションが維持されるため、スプールサーバからの通信路の切断による受信拒否と端末の送信部からのデータ送信とが延々と繰り返されることがなく、スプールサーバの負荷を少なくできる。
【発明を実施するための最良の形態】
【００１６】
本発明の実施の形態について図面を用いて説明する。図１は、本実施例に係るネットワークプリンタシステムの構成を示す説明図である。ネットワークプリンタシステム１０は、ネットワーク６０に接続されているクライアントＰＣ２０、スプールサーバ３０、プリンタ４０を備える。プリンタ４０には認証装置５０が接続されている。
【００１７】
クライアントＰＣ２０は、種々のアプリケーションを実行し、利用者から印刷指示を受けたときには、所定の印刷データを作成してスプールサーバ３０に送る。ネットワークプリンタシステム１０にはクライアントＰＣ２０が複数台接続されていてもよい。スプールサーバ３０は、クライアントＰＣ２０から送られた印刷データを管理・格納し、印刷データをプリンタ４０に送信する。プリンタ４０は、印刷データを印刷する。なお、ネットワークプリンタシステム１０には、プリンタ４０として、例えば、カラー印刷機能を有するプリンタ、両面印刷機能を有するプリンタなど複数のプリンタ４０が接続されていてもよい。
【００１８】
認証装置５０は、プリンタ４０における印刷の際に認証が必要なユーザを認証するために用いられる。例えば、認証装置５０において認証が成功すると、プリンタ４０はスプールサーバ３０に印刷データを要求し、印刷データを取得して印刷を実行する。
【００１９】
図２は、クライアントＰＣ２０の構成を示す説明図である。クライアントＰＣ２０は、ＣＰＵ２００、入力装置２１０、ハードディスク２２０、ネットワークインターフェース２４０を備える。
【００２０】
ＣＰＵ２００は、クライアントＰＣ２０全体の動作を制御する。入力装置２１０は、クライアントＰＣ２０へのデータの入力、及びクライアントＰＣ２０への操作を受け付ける。本実施例では、入力装置２１０として、例えば、キーボード、マウスなどが用いられる。ハードディスク２２０は、アプリケーションプログラム２２５、プリンタドライバ２３０、通信プログラム２３５を格納する。ネットワークインターフェース２４０はクライアントＰＣ２０をネットワーク６０に接続させる。
【００２１】
アプリケーションプログラム２２５は、ＣＰＵ２００により実行され、例えば、ワードプロセッサ機能、表計算機能などのアプリケーション機能を実現する。プリンタドライバは、ＣＰＵ２００により実行され、所定の形式の印刷データを作成する。通信プログラム２３５は、ＣＰＵ２００により実行され、ＣＰＵ２００とＣＰＵ３００とを結ぶコネクションのうちクライアントＰＣ２０側のコネクションを形成する。コネクションとは、データを確実に送るために、送信側のＣＰＵと受信側のＣＰＵとの間において結ぶばれる仮想の通信路をいう。ＣＰＵ２００は、コネクションを介して、ＣＰＵ３００にデータを送ることにより、ＣＰＵ３００に対してデータを確実に送ることができる。
【００２２】
図３は、スプールサーバ３０の構成を示す説明図である。スプールサーバ３０は、ＣＰＵ３００、ハードディスク３１０、ネットワークインターフェース３８０を備える。
【００２３】
ＣＰＵ３００は、スプールサーバ３０全体の動作を制御する。ハードディスク３１０は、印刷データ管理プログラム３１５、受信可否判断プログラム３２０、判断用データ３２５、受信制御プログラム３３０、印刷権限管理プログラム３３５、負荷監視プログラム３４０、プリンタ監視プログラム３４５、及び通信プログラム３５０及びを格納する。また、ハードディスク３１０には、印刷データを蓄積するためのバッファー領域３５５が設けられている。ネットワークインターフェース３８０は、スプールサーバ３０をネットワーク６０に接続させる。
【００２４】
印刷データ管理プログラム３１５は、ＣＰＵ３００により実行され、印刷データの管理を実行する。ここで、印刷データの管理とは、例えば、ＣＰＵ３００が、どの印刷データがどのユーザの印刷データであるのか等を管理することをいう。
【００２５】
受信可否判断プログラム３２０は、ＣＰＵ３００により実行され印刷データの受信を継続するか否かを判断する。本実施例では判断の条件・基準は判断用データ３２５に格納されている。判断には、判断用データ３２５に格納された条件・基準が満たされたときにＣＰＵ３００が受信を継続し満たされなかった時に受信を中断するという判断と、逆に判断用データ３２５に格納された条件・基準が満たされたときに受信を中断し満たされなかった場合には受信を継続するという判断の２つがある。受信制御プログラム３３０は、ＣＰＵ３００により実行され、前記判断がデータの受信を継続するとの判断の場合にはデータの受信を継続し、データの受信を中断するとの判断の場合にはデータの受信を中断する。
【００２６】
印刷権限管理プログラム３３５は、ＣＰＵ３００により実行され、印刷データについての印刷権限を管理する。印刷権限とは、例えば、認証が必要な印刷データについてプリンタ４０を用いて印刷することができる権利が有るか否かをいう。ＣＰＵ３００は、プリンタ４０からの印刷データ要求が権限なき印刷データ要求の場合には、プリンタ４０に印刷データを送ることができない。ＣＰＵ３００は、プリンタ４０の認証装置５０から認証データが送られてきたときに、当該認証データを用いて印刷権限の有無を判断する。
【００２７】
負荷監視プログラム３４０は、ＣＰＵ３００により実行され、ＣＰＵ３００の使用率、コネクションの数、ハードディスクの残量など、スプールサーバ３０あるいはＣＰＵ３００にどれだけの負荷がかかっているか、負荷状況を監視する。プリンタ監視プログラム３４５は、ＣＰＵ３００により実行され、ネットワークプリンタシステム１０にどのようなプリンタが接続されているか監視する。ＣＰＵ３００は、例えばネットワークプリンタシステムに接続されているプリンタの電源が入っているか否か、プリンタの種類、プリンタがカラー印刷機能や両面印刷機能などの機能を有しているか等についての情報をプリンタから取得する。
【００２８】
通信プログラム３５０は、ＣＰＵ３００により実行され、ＣＰＵ２００とのコネクションのうちスプールサーバ３０側のコネクションを形成し、ＣＰＵ２００とデータの送受信を行う。なお、ＣＰＵ３００が印刷データをプリンタ４０に送る場合には、ＣＰＵ３００とプリンタ４０のＣＰＵ（図示せず）との間のコネクションのうちスプールサーバ３０側のコネクションを形成し、プリンタ４０のＣＰＵとデータの送受信を行う。ＣＰＵ３００は、バッファー領域３５５に受信したデータを格納・蓄積する。
【００２９】
図４を用いて、印刷データのスプールサーバへの送信時におけるクライアントＰＣ２０の動作について説明する。図４は、印刷データのスプールサーバへの送信時におけるクライアントＰＣ２０の動作フローチャートである。
【００３０】
クライアントＰＣ２０のＣＰＵ２００は、入力装置２１０に対して印刷指示が行われると、印刷指示を検知する（ステップＳ１００）。
【００３１】
ＣＰＵ２００は、プリンタドライバ２３０を起動・実行し、印刷データのヘッダ部を生成する（ステップＳ１１０）。ＣＰＵ１１０は、印刷データのヘッダ部に、例えば、利用者のユーザアカウント情報、プリンタ４０を指定するためのプリンタ指定情報、カラー印刷機能・両面印刷機能・ステープラ機能などプリンタ４０のどのオプション機能を使用するかを指定するためのオプション機能情報を格納する。印刷データのヘッダ部に格納されるこれらのユーザアカウント情報、プリンタ指定情報、オプション機能情報を印刷属性情報ということにする。ユーザアカウント情報、プリンタ指定情報、オプション機能情報は印刷属性情報の一例であり、印刷属性情報には他の情報が含まれていてもよい。
【００３２】
ＣＰＵ２００は、印刷データのヘッダ部以外を生成する（ステップＳ１２０）。ＣＰＵ２００は、印刷を実行するプリンタのデータ形式に適合する印刷データを作成する。ＣＰＵ２００は、ネットワーク６０を介してスプールサーバ３０に作成した印刷データを送る（ステップＳ１３０）。
【００３３】
ＣＰＵ２００は、通信プログラム２３５を実行し、印刷データにＴＣＰヘッダを付加する。ＴＣＰヘッダは、送信元であるクライアントＰＣ２０のポート番号と送信先であるスプールサーバ３０のポート番号とフラグ情報を含んでいる。ポート番号はクライアントＰＣ２０あるいはスプールサーバ３０において、ＣＰＵ２００、３００が、そのデータについて、それぞれどのプログラムを実行するかを示すために用いられる。また、ＴＣＰヘッダは、フラグ情報として、例えば、コネクションの確立を要求するための同期フラグ（ＳＹＮ）、要求に対する確認を応答するための応答確認フラグ（ＡＣＫ）、コネクションの終了を通知するための終了フラグ（ＦＩＮ）についての情報を含んでいる。
【００３４】
ＣＰＵ２００は、通信プログラム２３５を実行して印刷データのヘッダ部の前にＩＰヘッダを付加する。ＩＰヘッダは、送信元であるクライアントＰＣ２０のＩＰアドレスと送信先であるスプールサーバ３０のＩＰアドレスとを含んでいる。ＩＰアドレスは、ネットワークに接続されたネットワーク機器に所定の規則に基づいて付けられたユニーク番号である。ＩＰヘッダのＩＰアドレスは、どのネットワーク機器からどのネットワーク機器にデータが送られるかを示すために用いられる。
【００３５】
以下、ＴＣＰヘッダ、ＩＰヘッダに含まれる情報を通信接続属性情報ということにする。印刷データはＴＣＰヘッダ、ＩＰヘッダが付加された後、ネットワーク６０に送り出される。なお、印刷データのデータ量は一般に大きいので、通常、印刷データは、細かく分割された後、それぞれにＴＣＰヘッダ、ＩＰヘッダが付加されて送られる。これらの分割された印刷データのそれぞれをパケットという。
【００３６】
図５から図７を用いて、スプールサーバ３０における印刷データの受信処理について説明する。図５は、スプールサーバ３０における印刷データの受信処理の動作フローチャートである。図６は、図５に示すフローチャート中の受信処理可否判断１の判断基準を示す説明図である。図７は、図５に示すフローチャート中の受信処理可否判断２の判断基準を示す説明図である。
【００３７】
ネットワーク６０に送られた印刷データは、ＩＰヘッダのＩＰアドレスに基づいてスプールサーバ３０に送られる。スプールサーバ３０に印刷データが到達し、印刷データのＴＣＰヘッダに同期フラグが立っている場合には、スプールサーバのＣＰＵ３００は、通信接続要求を受ける（ステップＳ２００）。
【００３８】
ＣＰＵ２００とＣＰＵ３００は、コネクションを確立する（ステップＳ２０５）。ＣＰＵ３００は、受信したＴＣＰヘッダに同期フラグが立っている場合には、応答確認フラグを及び同期フラグが立っているＴＣＰヘッダを含むデータをＣＰＵ２００に送る。ＣＰＵ２００は、送られたデータのＴＣＰヘッダの同期フラグが立っている場合には、応答確認フラグが立っているＴＣＰヘッダを含むデータをＣＰＵ３００に送る。このようにＣＰＵ２００、３００は、同期フラグの送信、応答確認フラグ・同期フラグの送信、応答確認フラグの送信の３つのステップを介することによりコネクションを確立する。
【００３９】
ＣＰＵ３００は、到達した印刷データから通信接続属性情報を取得する（Ｓ２１０）。本実施例では、ＣＰＵ３００は、クライアントＰＣ２０のＩＰアドレス、ポート番号及びスプールサーバ３０のＩＰアドレス、ポート番号を取得する。
【００４０】
ＣＰＵ３００は、クライアントＰＣのＩＰアドレスに基づいて受信処理を継続するか、コネクションを維持したまま受信処理を中断するかを判断する（ステップＳ２１５）。なお、ＣＰＵ３００は、取得したＩＰアドレスと同一のＩＰアドレスが判断用データ３２５に格納されている場合に受信処理を継続し、含まれていない場合にコネクションを維持したまま受信処理を中断する制御と、取得したＩＰアドレスと同一のＩＰアドレスが判断用データ３２５に格納されている場合にコネクションを維持したまま受信処理を中断し、含まれていない場合に受信処理を継続する制御の両方が可能である。ＣＰＵ３００は、ＩＰアドレスに基づいて受信処理を継続するか、受信処理を中断するかを判断するので、セキュリティを向上させることができる。
【００４１】
本実施例では、ＣＰＵ３００は、ＩＰアドレスを用いて印刷データの受信を継続するか、中断するかを判断しているが、他の判断基準を利用してもよい。図６に一例を示す。なお、図６に示すものは一例であり、これ以外の基準を除外するものではない。
【００４２】
ＣＰＵ３００は、通信接続属性情報にクライアントＰＣ２０のホスト名が含まれている場合にはホスト名を利用して、印刷データの受信処理を継続するか、印刷データの受信処理を中断するかを判断してもよい。ここで、ホスト名とは例えば人間がネットワークに接続された装置を認識しやすくするために当該装置に付けられる名前をいう。ＣＰＵ３００は、特定のクライアントＰＣ２０から送信されるデータについて、受信処理を継続しあるいは受信処理を中断できるので、セキュリティを向上させることができる。
【００４３】
ＣＰＵ３００は、他のクライアントＰＣとの通信接続数を用いて、印刷データの受信処理を継続するか、印刷データの受信処理を中断するかを判断してもよい。通信接続数が多いと同時に受信するデータ量が多くなりＣＰＵ３００の負荷が大きくなるからである。本実施例では、ＣＰＵ３００は、他のクライアントＰＣとの通信接続数が所定の数以下に場合には印刷データの受信処理を継続し、所定の数以上の場合には印刷データの受信処理を中断する。したがって、ＣＰＵ３００は、ＣＰＵ３００の負荷、すなわちスプールサーバ３０の負荷の増大を抑制することができる。
【００４４】
ＣＰＵ３００は、ＣＰＵ２００とコネクションを確立している時間が通信を許可されている時間帯に含まれるか否かにより、印刷データの受信処理を継続するか、印刷データの受信処理を中断するかを判断してもよい。ＣＰＵ３００は、許可されている時間帯以外に通信を受けた場合には、受信処理を中断するので、セキュリティを向上させることができる。
【００４５】
ＣＰＵ３００は、ハードディスク３１０への同時アクセス数が所定の閾値以下か否かにより、印刷データの受信処理を継続するか、印刷データの受信処理を中断するかを判断してもよい。ハードディスク３１０への同時アクセス数が所定の閾値以上ある場合には、ＣＰＵ３００及びハードディスク３１０の負荷が大きいからである。ＣＰＵ３００は、ＣＰＵ３００の付加、すなわちスプールサーバ３０の負荷の増大を抑制することができる。
【００４６】
ＣＰＵ３００は、ＣＰＵ３００の使用率が所定の閾値以下か否かにより、印刷データの受信処理を継続するか、印刷データの受信処理を中断するかを判断してもよい。ＣＰＵ３００の使用率が所定の閾値以上の場合には、ＣＰＵ３００の負荷が大きいからである。ＣＰＵ３００は、ＣＰＵ３００の負荷、すなわちスプールサーバ３０の負荷の増大を抑制できる。
【００４７】
ＣＰＵ３００は、印刷データの格納量が所定の閾値以下か否かにより、印刷データの受信処理を継続するか、印刷データの受信処理を中断するかを判断してもよい。印刷データの格納量が所定の閾値以上の場合には、印刷データを受信しても格納できなくなる恐れがあるからである。ＣＰＵ３００は、受信した印刷データを格納できなくなることを抑制できる。
【００４８】
ＣＰＵ３００は、受信継続する判断をした場合には（ステップＳ２１５、可）、印刷データの受信処理を継続し印刷データのヘッダ部を受信する（ステップＳ２２０）。ＣＰＵ３００は、応答確認フラグ（ＡＣＫ）が立っているＴＣＰヘッダを有する応答確認パケットをＣＰＵ２００に送ることにより、ＣＰＵ２００に印刷データのヘッダ部を送信させ、ＣＰＵ３００は印刷データのヘッダ部を受信する。
【００４９】
ＣＰＵ３００は、印刷データのヘッダ部から印刷属性情報を取得する（ステップＳ２２５）。ＣＰＵ３００は、印刷属性情報に含まれているユーザアカウント情報に基づいて受信処理を継続するか、コネクションを維持したまま受信処理を中断するかを判断する（ステップＳ２３０）。なお、ＣＰＵ３００は、取得したユーザアカウント情報と同一のユーザアカウント情報が判断用データ３２５に格納されている場合に受信処理を継続し、含まれていない場合にコネクションを維持したまま受信処理を中断する制御と、取得したユーザアカウント情報と同一のユーザアカウント情報が判断用データ３２５に格納されている場合にコネクションを維持したまま受信処理を中断し、含まれていない場合に受信処理を継続する制御の両方が可能である。ＣＰＵ３００は、ユーザアカウントに基づいて受信処理を継続するか、受信処理を中断するかを判断するので、セキュリティを向上できる。
【００５０】
本実施例では、ＣＰＵ３００は、ユーザアカウントを用いて印刷データの受信を継続するか、中断するかを判断しているが、他の判断基準を利用してもよい。図７に一例を示す。なお、図７に示すものは一例であり、これ以外の基準を除外するものではない。
【００５１】
ＣＰＵ３００は、ユーザアカウントごとにハードディスクに格納している印刷データの格納数が所定の閾値以下か否かにより、印刷データの受信処理を継続するか、印刷データの受信処理を中断するかを判断してもよい。これによりハードディスクの使用容量を抑制できる。なお、ＣＰＵ３００は、印刷データの格納数だけでなく、印刷データの格納量が所定の閾値以下か否かにより、印刷データの受信処理を継続するか、印刷データの受信処理を中断するかを判断してもよい。ＣＰＵ３００は、ユーザアカウントごとにハードディスクの使用容量を抑制することができる。
【００５２】
ＣＰＵ３００は、ユーザアカウントごとに格納している印刷データの数と受信処理中の通信接続数の合計が所定の閾値以下か否かにより、印刷データの受信処理を継続するか、印刷データの受信処理を中断するかを判断してもよい。受信処理が完了すると印刷データはハードディスク３１０に格納される。したがって、ＣＰＵ３００は、ユーザアカウントごとにハードディスクの使用容量を抑制することができる。
【００５３】
ＣＰＵ３００は、ユーザアカウントごとに、ＣＰＵ２００とコネクションを確立している時間が通信を許可されている時間帯に含まれるか否かにより、印刷データの受信処理を継続するか、印刷データの受信処理を中断するかを判断してもよい。ＣＰＵ３００は、セキュリティを向上できる。
【００５４】
ＣＰＵ３００は、受信した印刷データを印刷可能なプリンタ４０がネットワークプリンタシステム１０に接続されているか否かにより、印刷データの受信処理を継続するか、印刷データの受信処理を中断するかを判断してもよい。ＣＰＵ３００は、プリンタ４０に印刷させることができない印刷データの受信を中断できる。
【００５５】
ＣＰＵ３００は、ユーザアカウントごとに、使用が許可されているプリンタ、あるいは使用が許可されているオプション機器を備えるプリンタがネットワークプリンタシステム１０に接続されているか否かにより、印刷データの受信処理を継続するか、印刷データの受信処理を中断するかを判断してもよい。ＣＰＵは、プリンタ４０に印刷させることができない印刷データの受信を中断できる。
【００５６】
ＣＰＵ３００は、印刷データの受信を継続する場合には（ステップＳ２３０、可）、印刷データの残部を受信する（ステップＳ２３５）。ＣＰＵ３００は、応答確認フラグ（ＡＣＫ）が立っているＴＣＰヘッダを有する応答確認パケットをＣＰＵ２００に送る。ＣＰＵ２００は、応答確認フラグが立っているＴＣＰヘッダを含むパケットを受信した場合には、印刷データの残りのパケットをＣＰＵ３００に送る。ＣＰＵ３００は印刷データの残部を受信する。なお、ＣＰＵ３００は、所定の数のパケットを受信するごとに、ＣＰＵ２００に対して応答確認フラグが立っているＴＣＰヘッダを含むパケットを送る。ＣＰＵ３００は受信したパケットを結合し、ハードディスク３１０に格納する。
【００５７】
ＣＰＵ３００は、印刷データの受信が完了すると（ステップＳ２４０）、ＴＣＰヘッダに終了フラグが立っているデータをＣＰＵ２００に送り、コネクションを切断して処理を終了する（ステップＳ２４５）。
【００５８】
ＣＰＵ３００は、ステップＳ２１５において受信処理を中断する判断をした場合には（ステップＳ２１５、否）、受信処理を中断する（ステップＳ２６０）。例えば、ＣＰＵ３００は、ＣＰＵ２００に対して応答確認フラグが立っているＴＣＰヘッダを含むデータを送らない。ＣＰＵ２００は、ＣＰＵ３００からの受信確認を得ることができないため、残りのパケットを送ることができない。したがって、ＣＰＵ３００は受信中断をすることができる。なお、ＣＰＵ３００は、ＴＣＰヘッダに終了フラグが立っているデータをＣＰＵ２００に送っていない。したがって、ＣＰＵ２００とＣＰＵ３００の間のコネクションは維持されたままである。
【００５９】
ＣＰＵ３００は、受信処理の中断を継続するか、あるいは受信処理を再開するかについて、再度判断する場合には（ステップＳ２６５、Ｙｅｓ）、ステップＳ２１５に戻る。ＣＰＵ３００は、受信処理を中断してから所定の時間が経過したとき、あるいは、所定の条件が変化したときに再度の判断を行う。
【００６０】
所定の条件が変化したときの例については、図６の右欄に示す。所定の条件が変化したときの例として、例えば、ＩＰアドレス・ホスト名については判断用データ３２５への追加・削除が行われたとき、通信接続数については他の通信接続における通信の完了あるいは通信接続の切断が行われたとき、時刻については時間の経過により許可時間内になったときあるいは許可時間が変更されたとき、ハードディスクのアクセス状態及びＣＰＵ３００の使用率については所定の時間経過ごと、印刷データの保存量については印刷実行により印刷データが削除されたとき、が挙げられる。なお、これらの例は一例であり、他の条件が変化したときを排除するものではない。
【００６１】
ＣＰＵ３００は、再度の判断を行わない場合には（ステップＳ２６５、Ｎｏ）、ＴＣＰヘッダに終了フラグが立っているデータをＣＰＵ２００に送り、コネクションを切断する（ステップＳ２７０）。ＣＰＵ３００が再度の判断を行わない場合として、例えば、一定期間中断が続き、受信処理を再度開始する見込みがない場合が挙げられる。ＣＰＵ３００は、コネクションを維持するためにリソースを消費する。ＣＰＵ３００が使用できるリソースの量には限度があるので、ＣＰＵ３００は、受信処理を再度開始する見込みがない場合には、コネクションを切ることにしたものである。
【００６２】
ＣＰＵ３００は、ステップＳ２３０において受信処理を中断する判断をした場合には（ステップＳ２３０、否）、受信処理を中断する（ステップＳ２８０）。例えば、ＣＰＵ３００は、印刷データのヘッダ部の受信に対する受信確認について、ＣＰＵ２００に対して応答確認フラグが立っているＴＣＰヘッダを含むデータを送らない。ＣＰＵ２００は、ＣＰＵ３００からの受信確認を得ることができない場合には、残りのパケットを送ることができない。したがって、ＣＰＵ３００は受信中断をすることができる。なお、ＣＰＵ３００はＴＣＰヘッダに終了フラグが立っているデータをＣＰＵ２００に送っていない。したがって、ＣＰＵ２００とＣＰＵ３００の間のコネクションは維持されたままである。
【００６３】
ＣＰＵ３００は、受信処理の中断を継続するか、あるいは受信処理を再開するかを再度判断する場合には（ステップＳ２８５、Ｙｅｓ）、ステップＳ２３０に戻る。ＣＰＵ３００は、受信処理を中断してから所定の時間が経過したとき、あるいは、所定の条件が変化したときに再度の判断を行う。
【００６４】
所定の条件が変化したときの例については、図７の右欄に示す。所定の条件が変化したときとして、例えば、ユーザアカウントについては判断用データ３２５への追加・削除が行われたとき、印刷データの数、印刷データ量については印刷実行により印刷データの削除が行われたとき、利用可能なデータの数については印刷実行による印刷データの削除あるいは通信切断による通信接続数の変化が有ったとき、時刻については時間の経過により許可時間内になったときあるいは許可時間が変更されたとき、プリンタの接続状況についてはプリンタの電源オンがされたとき、オプション機器の変更がされたとき、あるいは消耗品の交換・補充によりプリンタが使用可能になったとき、印刷オプションの使用権限についてはプリンタの電源オンがされたとき、オプション機器の変更がされたとき、消耗品の交換・補充によりプリンタが使用可能になったとき、あるいはオプション機器の使用許可の変更が行われたとき、が挙げられる。なお、これらの例は一例であり、他の条件が変化した場合を排除するものではない。
【００６５】
ＣＰＵ３００は、再度の判断をしない場合には（ステップＳ２８５、Ｎｏ）、ＣＰＵ３００は、ＴＣＰヘッダに終了フラグが立っているデータをＣＰＵ２００に送り、コネクションを切断する（ステップＳ２９０）。
【００６６】
図８を用いて、プリンタ４０及び認証装置５０の動作について説明する。図８は、印刷処理の動作フローチャートである。なお、ここでは、プリンタ４０と認証装置５０は一体のものとして説明する。
【００６７】
認証装置５０に対して認証操作が行われると、認証装置５０のＣＰＵ５００（図示せず）は、認証情報を読み取る（ステップＳ３００）。ＣＰＵ５００は、例えば、ＩＣカードから認証情報を読みとってもよく、あるいは、利用者から指紋などの生体情報を読み取ってもよい。本実施例では、ＩＣカードから認証情報を読み取るとして説明する。
【００６８】
ＣＰＵ５００は、認証情報を用いて認証処理を行う（ステップＳ３１０）。ＣＰＵ５００は、例えば、利用者がプリンタ４０を使用する権限を有しているか判断する。ＣＰＵ５００は、利用者がプリンタ４０を使用する権限を有している場合には、取得した認証情報に対応するユーザアカウント情報を取得する（ステップＳ３２０）。ユーザアカウント情報は、例えば、認証装置５０内の記憶装置（図示せず）に格納されている。
【００６９】
ＣＰＵ５００は、ユーザアカウント情報と、プリンタ４０を使用する権限を有している旨の情報（以下「認証許可情報」という）をプリンタ４０のＣＰＵ４００（図示せず）に送る。ＣＰＵ４００は、ユーザアカウント情報と認証許可情報とをスプールサーバ３０にＣＰＵ３００に送り、ＣＰＵ３００から印刷データを取得する（ステップＳ３３０）。
【００７０】
ＣＰＵ４００は、取得した印刷データを用いて印刷を実行する（ステップＳ３４０）。印刷処理については、説明を省略する。ＣＰＵ４００は、印刷処理の完了を検知すると（ステップＳ３５０）、ＣＰＵ３００に対して印刷データの削除を指示する（ステップＳ３６０）。
【００７１】
以上、本実施例によれば、ＣＰＵ３００は、コネクションを維持したままＣＰＵ２００からのデータの受信処理を中断する。その結果、ＣＰＵ３００によるコネクションの切断と、及びＣＰＵ２００により再度のデータ送信とが絶え間無く延々と繰り返されることが防止される。もしくは、その繰り返しの発生頻度が下げられる。これにより、ＣＰＵ３００の負荷を少なくできる。
【００７２】
本実施例によれば、印刷データのＩＰヘッダ部には、クライアントＰＣ２０のＩＰアドレスが含まれているの。その結果、ＣＰＵ３００は、特定のクライアントＰＣ２０から送信されるデータについて、受信処理を継続しあるいは受信処理を中断でき、セキュリティを向上させることができる。なお、ＩＰヘッダはデータの始めの方に含まれているので、データ受信の初期段階で受信処理の継続の可否を決めることができる。
【００７３】
本実施例によれば、印刷データのヘッダ部には、クライアントＰＣ２０のホスト名が含まれている。その結果、ＣＰＵ３００は、特定のクライアントＰＣ２０から送信されるデータについて、受信処理を継続しあるいは受信処理を中断でき、セキュリティを向上させることができる。
【００７４】
本実施例によれば、印刷データのヘッダ部には、クライアントＰＣを利用する利用者のユーザアカウントが含まれている。その結果、ＣＰＵ３００は、特定のユーザアカウントを持つ利用者の操作により送信されるデータについて、受信処理を継続しあるいは受信処理を中断でき、セキュリティを向上させることができる。
【００７５】
本実施例によれば、ＣＰＵ３００は、印刷データを印刷可能なプリンタ４０がネットワークプリンタシステム１０に接続されているかを判断し、印刷可能なプリンタが接続されていない場合にデータの受信を中断する。その結果、ＣＰＵ３００の負荷を少なくできる。
【００７６】
本実施例によれば、ＣＰＵ３００は、印刷データの受信を中断した場合には、所定のタイミングで印刷データの受信中断を継続するか、受信を再開するかを判断する。再度の判断により、受信処理が再開された場合には、印刷データが受信され、印刷が実行されるので、利用者の利便性が図れる。
【００７７】
変形例：
本実施例では、ＣＰＵ３００は、ＩＰアドレスなどの通信接続属性情報を取得したのちに、受信処理を中断するか、受信処理を継続するかを判断しているが、例えば、ＩＰアドレスを取得する前において、ＣＰＵ３００あるいはハードディスク３１０の負荷状況など、スプールサーバ３０の負荷状況に基づいて受信処理を中断するか、受信処理を継続するかを判断してもよい。ＩＰアドレスはデータの始めの方に含まれているので、データ受信の初期段階で受信処理の継続の可否を決めることができる。
【００７８】
以上、いくつかの実施例に基づいて本発明の実施の形態について説明してきたが、上記した発明の実施の形態は、本発明の理解を容易にするためのものであり、本発明を限定するものではない。本発明は、その趣旨並びに特許請求の範囲を逸脱することなく、変更、改良され得るとともに、本発明にはその等価物が含まれることはもちろんである。
【図面の簡単な説明】
【００７９】
【図１】本実施例に係るネットワークプリンタシステムの構成を示す説明図である。
【図２】クライアントＰＣの構成を示す説明図である。
【図３】スプールサーバの構成を示す説明図である。
【図４】印刷データのスプールサーバへの送信時におけるクライアントＰＣの動作フローチャートである。
【図５】スプールサーバにおける印刷データの受信処理の動作フローチャートである。
【図６】図５に示すフローチャート中の受信処理可否判断１の判断基準を示す説明図である。
【図７】図５に示すフローチャート中の受信処理可否判断２の判断基準を示す説明図である。
【図８】印刷処理の動作フローチャートである。
【符号の説明】
【００８０】
１０…ネットワークプリンタシステム
２０…クライアントＰＣ
３０…スプールサーバ
４０…プリンタ
５０…認証装置
６０…ネットワーク
２００…ＣＰＵ
２１０…入力装置
２２０…ハードディスク
２２５…アプリケーションプログラム
２３０…プリンタドライバ
２３５…通信プログラム
２４０…ネットワークインターフェース
３００…ＣＰＵ
３１０…ハードディスク
３１５…印刷データ管理プログラム
３２０…受信可否判断プログラム
３２５…判断用データ
３３０…受信制御プログラム
３３５…印刷権限管理プログラム
３４０…負荷監視プログラム
３４５…プリンタ監視プログラム
３５０…通信プログラム
３５５…バッファー領域
３８０…ネットワークインターフェース
【図１】
0005024024.tif 000002
【図２】
0005024024.tif 000003
【図３】
0005024024.tif 000004
【図４】
0005024024.tif 000005
【図５】
0005024024.tif 000006
【図６】
0005024024.tif 000007
【図７】
0005024024.tif 000008
【図８】
0005024024.tif 000009