(57)【特許請求の範囲】
【請求項１】
与えられた印刷ジョブに従って印刷を実行するプリンタの管理システムであって、
前記印刷ジョブに関する管理情報を前記プリンタから取得する管理サーバと、
前記印刷ジョブを一時的に保持し、保持された印刷ジョブを前記管理サーバにより設定される送信許可に従って前記プリンタに送信するスプーラと、
を備え、
前記管理サーバは、前記送信許可に従って前記スプーラから前記プリンタへ既に送信された第一の印刷ジョブの管理情報を取得した場合に、前記プリンタへ未送信の第二の印刷ジョブの送信許可を前記スプーラに与える、
管理システム。
【請求項２】
請求項１記載の管理システムであって、
前記スプーラは、前記印刷ジョブを受信した際に前記管理サーバに前記送信許可の有無の問合わせを行い、前記問合わせの結果に基づいて前記プリンタに前記印刷ジョブを送信する、管理システム。
【請求項３】
請求項１記載の管理システムであって、
前記スプーラは、前記印刷ジョブを受信した際、前記送信許可の付与を要求する送信許可付与要求を前記管理サーバに送信し、
前記管理サーバは、
前記スプーラを特定するスプーラ特定情報を前記送信許可付与要求の受信順に登録するジョブ予約リストを有しており、
前記送信許可に従って送信された印刷ジョブの管理情報を取得した場合に、前記ジョブ予約リストに登録された最先のスプーラ特定情報で特定されるスプーラに前記送信許可を与えるとともに、前記最先のスプーラ特定情報を削除する、
管理システム。
【請求項４】
請求項１ないし３のいずれか記載の管理システムであって、
前記印刷ジョブにはジョブＩＤが付されており、
前記管理サーバは、前記プリンタから取得した管理情報に含まれる前記ジョブＩＤに基づいて、前記送信許可に従って送信された印刷ジョブの管理情報を取得したか否かを判断する、管理システム。
【請求項５】
請求項１ないし４のいずれか記載の管理システムであって、
前記スプーラは、前記印刷ジョブの前記プリンタへの送信が完了した際に、前記管理サーバに印刷ジョブの送信完了通知を送信し、
前記管理サーバは、前記送信完了通知の受信の後から前記送信許可を与えるまでの期間において、前記管理情報を前記プリンタから取得する、
管理システム。
【請求項６】
与えられた印刷ジョブに従って印刷を実行するプリンタの管理システムの制御方法であって、
前記管理システムは、
前記印刷ジョブに関する管理情報を前記プリンタから取得する管理サーバと、
前記印刷ジョブを一時的に保持し、保持された印刷ジョブを前記管理サーバにより設定される送信許可に従って前記プリンタに送信するスプーラと、
を備え、
前記制御方法は、
前記管理サーバが前記送信許可に従って前記スプーラから前記プリンタへ既に送信された第一の印刷ジョブの管理情報を取得した場合に、前記プリンタへ未送信の第二の印刷ジョブの送信許可を前記スプーラに与える工程を備える、
制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ネットワークに接続されたプリンタから管理情報を取得するプリンタ管理技術に関する。
【背景技術】
【０００２】
ネットワークに接続されたプリンタで実行される印刷ジョブを管理するプリンタ管理システムでは、ネットワークに接続されたプリンタから、印刷ジョブごとに使用された紙の枚数やトナー等の消耗品使用量などの管理情報に基づいて課金管理等が行われる。このような管理情報を取得するため、ネットワークにはプリンタから管理情報を取得する管理サーバが接続され、管理サーバがプリンタから印刷ジョブ毎の管理情報（ジョブ管理情報）を取得する。
【０００３】
このジョブ管理情報は、一般に、管理サーバによるジョブ管理情報の取得に先だって、プリンタ上で一旦保持される。プリンタ上で保持されるジョブ管理情報の数は制限があるため、管理サーバによるジョブ管理情報の取得は、ジョブ管理情報が消失しないように十分短い間隔で行われる。
【０００４】
【特許文献１】特開２００２−２０２８７１号公報
【特許文献２】特開平１０−１１３９３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、ジョブ管理情報の取得間隔を短くすると、単位時間あたりにネットワークで転送される通信データ量（トラフィック）が増大する。トラフィックが増大すると、ネットワークのレスポンスの低下や、ネットワークダウン等の問題が発生するおそれがある。また、トラフィックが増大することにより、十分な頻度でのジョブ管理情報の取得ができなくなり、ジョブ管理情報の取得漏れが生じるおそれが生じる。
【０００６】
本発明は、上述した従来の課題を解決するためになされたものであり、ジョブ管理情報の取得漏れを抑制することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的の少なくとも一部を達成するために、本発明の管理システムは、与えられた印刷ジョブに従って印刷を実行するプリンタの管理システムであって、前記印刷ジョブに関する管理情報を前記プリンタから取得する管理サーバと、前記印刷ジョブを一時的に保持し、保持された印刷ジョブを前記管理サーバにより設定される送信許可に従って前記プリンタに送信するスプーラと、を備え、前記管理サーバは、前記送信許可に従って前記スプーラから前記プリンタへ既に送信された第一の印刷ジョブの管理情報を取得した場合に、前記プリンタへ未送信の第二の印刷ジョブの送信許可を前記スプーラに与えることを特徴とする。
【０００８】
この構成によれば、送信許可に応じて送信された印刷ジョブの管理情報が管理サーバによって取得されるまで、スプーラには、印刷ジョブの送信許可が与えられない。そのため、管理情報が取得される前にプリンタに印刷ジョブが送信されることにより、管理サーバにより取得されていない管理情報が消失することが抑制されるので、印刷ジョブの管理情報の取得漏れを抑制することができる。
【０００９】
前記スプーラは、前記印刷ジョブを受信した際に前記管理サーバに前記送信許可の有無の問合わせを行い、前記問合わせの結果に基づいて前記プリンタに前記印刷ジョブを送信するものとしても良い。
【００１０】
この構成によれば、管理システムが複数のスプーラを有している場合においても、管理サーバは単一の送信許可を複数のスプーラのいずれかに与えることができる。そのため、複数のスプーラが送信する各印刷ジョブについてのジョブ管理情報の消失を抑制できるので、ジョブ管理情報をより確実に取得することができる。
【００１１】
前記スプーラは、前記印刷ジョブを受信した際、前記送信許可の付与を要求する送信許可付与要求を前記管理サーバに送信し、前記管理サーバは、前記スプーラを特定するスプーラ特定情報を前記送信許可付与要求の受信順に登録するジョブ予約リストを有しており、前記送信許可に従って送信された印刷ジョブの管理情報を取得した場合に、前記ジョブ予約リストに登録された最先のスプーラ特定情報で特定されるスプーラに前記送信許可を与えるとともに、前記最先のスプーラ特定情報を削除するものとしても良い。
【００１２】
この構成によれば、最先の送信許可付与要求を送信したスプーラに対して送信許可が与えられる。そのため、送信許可付与要求の送信タイミングにより、送信許可が与えられないスプーラが発生するおそれを低減することができる。
【００１３】
前記印刷ジョブにはジョブＩＤが付されており、前記管理サーバは、前記プリンタから取得した管理情報に含まれる前記ジョブＩＤに基づいて、前記送信許可に従って送信された印刷ジョブの管理情報を取得したか否かを判断するものとしても良い。
【００１４】
この構成によれば、管理情報を取得したか否かの判断がより容易となる。
【００１５】
前記スプーラは、前記印刷ジョブの前記プリンタへの送信が完了した際に、前記管理サーバに印刷ジョブの送信完了通知を送信し、前記管理サーバは、前記送信完了通知の受信の後から前記送信許可を与えるまでの期間において、前記管理情報を前記プリンタから取得するものとしても良い。
【００１６】
この構成によれば、管理情報の取得は、スプーラからプリンタへの印刷ジョブの送信が行われていない状態で行われる。そのため、印刷ジョブの送信によりトラフィックが増大することにより管理情報の取得が失敗することを抑制できるので、管理情報をより確実に取得することができる。
【００１７】
なお、本発明は、種々の態様で実現することが可能である。例えば、プリンタ管理システムとプリンタ管理方法、それらの管理システムまたは管理方法の機能を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記録媒体、そのコンピュータプログラムを含み搬送波内に具現化されたデータ信号、等の態様で実現することができる。
【発明を実施するための最良の形態】
【００１８】
次に、本発明の実施の形態を実施例に基づいて以下の順序で説明する。
Ａ．第１実施例：
Ｂ．第２実施例：
Ｃ．変形例：
【００１９】
Ａ．第１実施例：
図１は、本発明の第１実施例を適用するプリンタ管理システム１０の構成を示す説明図である。このプリンタ管理システム１０は、クライアント１００と、スプーラ２００と、管理サーバ３００と、プリンタ４００とがローカルエリアネットワークＬＡＮを介して接続されている。
【００２０】
プリンタ管理システム１０が有するクライアント１００とスプーラ２００と管理サーバ３００とプリンタ４００との各ネットワークデバイス（以下、単に「デバイス」とも呼ぶ）間では、ＴＣＰ／ＩＰプロトコルに従って通信データの転送が行われる。なお、各デバイス間の通信データは、ＡｐｐｌｅＴａｌｋ（登録商標）等の他のネットワークプロトコルに従って転送されるものとしても良い。
【００２１】
第１実施例では、プリンタ管理システム１０の各デバイスが接続されているローカルエリアネットワークＬＡＮには、ＩＥＥＥ８０２．３で規定される有線ネットワークを使用している。但し、ローカルエリアネットワークＬＡＮは、ＩＥＥＥ８０２．１１ｂ／ｇ／ａなどの無線ネットワークとしても良い。
【００２２】
クライアント１００は、印刷ジョブをスプーラ２００に送信する。スプーラ２００は、クライアント１００から受信した印刷ジョブを一時的に記憶装置（スプール）に保持する。スプーラ２００は、管理サーバ３００との間でジョブ制御情報を授受する。このジョブ制御情報に従って、スプーラ２００は、スプールに保持した印刷ジョブをプリンタ４００に送信する。なお、図１に示すプリンタ管理システム１０では、ローカルエリアネットワークＬＡＮに１つのクライアント１００が接続されているが、一般に、ローカルエリアネットワークＬＡＮには、１台以上の任意の台数のクライアントが接続される。この場合、スプーラ２００には、１台以上のクライアントのそれぞれから印刷ジョブが送信される。
【００２３】
プリンタ４００は、スプーラ２００から受信した印刷ジョブに従って印刷処理を実行する。印刷処理が終了すると、プリンタ４００は、印刷ジョブの管理情報（以下、「ジョブ管理情報」、あるいは単に「ジョブ情報」とも呼ぶ）を生成する。ジョブ管理情報には、例えば、印刷ジョブを送信したクライアントを特定する名前（マシン名）とそのクライアントのユーザ名や、印刷ジョブで使用された印刷用紙の枚数やトナーの量が含まれている。
【００２４】
管理サーバ３００は、プリンタ４００で生成されたジョブ管理情報を取得し、管理サーバ３００内に蓄積する。管理サーバ３００は、蓄積されたジョブ管理情報に基づいて、ンタの使用に応じた課金処理等のプリンタ管理を行う。
【００２５】
なお、第１実施例では、課金処理等のプリンタ管理をプリンタ管理システム１０内部の管理サーバ３００で行っているが、プリンタの管理をプリンタ管理システム１０とは別のネットワークシステム上のサーバ（外部サーバ）で行うことも可能である。例えば、ローカルエリアネットワークＬＡＮをファイアウォールを介してインターネットに接続し、インターネットに接続された外部サーバでプリンタ管理を行うことも可能である。この場合、管理サーバ３００は、外部サーバにＨＴＴＰ（Hyper Text Transfer Protocol）を用いて接続し、管理情報を通知する。なお、管理サーバ３００と外部サーバとの間では、セキュリティの観点から、ＨＴＴＰの一種であるＨＴＴＰＳプロトコルによる暗号化通信が行われる。
【００２６】
図２は、クライアント１００と、スプーラ２００と、管理サーバ３００と、プリンタ４００と、のそれぞれの構成を示す説明図である。
【００２７】
クライアント１００は、ネットワーク制御部１１０とアプリケーション実行部１２０とを備えている。ネットワーク制御部１１０は、ローカルエリアネットワークＬＡＮに接続されたデバイスと、アプリケーション実行部１２０との間のＴＣＰ／ＩＰに従った種々の通信データの転送を仲介する。アプリケーション実行部１２０は、クライアント１００のユーザによって使用されるアプリケーションプログラムを実行する。
【００２８】
クライアント１００のユーザは、アプリケーションプログラムを使用して文書を作成する。作成された文書を印刷する場合、ユーザは印刷指示をアプリケーション実行部１２０に与える。ユーザからの印刷指示を受け取ると、アプリケーション実行部１２０は、プリンタ４００に文書を印刷させる印刷ジョブを生成する。生成された印刷ジョブは、ネットワーク制御部１１０を介してスプーラに送信される。
【００２９】
スプーラ２００は、ネットワーク制御部２１０と、外部記憶装置２２０と、ジョブ制御部２３０と、を備えている。ネットワーク制御部２１０は、ローカルエリアネットワークＬＡＮに接続されたデバイスと、ジョブ制御部２３０との間のＴＣＰ／ＩＰに従った種々の通信データの転送を仲介する。
【００３０】
ジョブ制御部２３０は、転送制御部２３２とスプール管理部２３４とを備えている。スプール管理部２３４は、クライアント１００から受信した印刷ジョブの外部記憶装置２２０への格納と、外部記憶装置２２０に格納された印刷ジョブの取り出しを行う。転送制御部２３２は、スプール管理部２３４が外部記憶装置２２０から取り出した印刷ジョブをプリンタ４００に送信する。
【００３１】
プリンタ４００は、ネットワーク制御部４１０と、プリントエンジン４２０と、プリンタ制御部４３０と、を備えている。ネットワーク制御部４１０は、ローカルエリアネットワークＬＡＮに接続されたデバイスと、プリンタ制御部４３０との間のＴＣＰ／ＩＰに従った種々の通信データの転送を仲介する。このネットワーク制御部４１０は、ＳＮＭＰエージェント４１２を備えている。なお、ＳＮＭＰエージェント４１２の機能については、後述する。プリントエンジン４２０は、与えられた印刷データに応じて印刷を実行する印刷機構である。
【００３２】
プリンタ制御部４３０は、プリンタ４００に関する種々の情報を格納するデータベース４３２（ＭＩＢ：Management Information Base）を備えている。ＭＩＢ４３２に格納される情報には、プリンタに関して予め規格で統一的に規定されている情報や、製造者によって独自に定義されている情報がある。ＭＩＢ４３２に格納された各情報（「オブジェクト」あるいは「ＭＩＢ情報」と呼ばれる）は、情報の要素に割り振られたオブジェクトＩＤ（ＯＩＤ）により参照される。このオブジェクトＩＤは、「１．３．６．１．２．１．１」のようにピリオドで区切られた数字となっている。
【００３３】
プリンタ制御部４３０は、スプーラ２００から印刷ジョブを受信すると、印刷ジョブに含まれる印刷コマンドに従って印刷データを生成し、生成された印刷データをプリントエンジン４２０に供給する。プリントエンジン４２０は、プリンタ制御部４３０から供給された印刷データに応じて印刷を実行する。印刷が完了すると、ＭＩＢ４３２にジョブ管理情報を格納する。
【００３４】
管理サーバ３００は、ネットワーク制御部３１０と、外部記憶装置３２０と、印刷ジョブ管理部３３０と、を備えている。ネットワーク制御部３１０は、ローカルエリアネットワークＬＡＮに接続されたデバイスと、印刷ジョブ管理部３３０との間のＴＣＰ／ＩＰに従った種々の通信データの転送を仲介する。ネットワーク制御部３１０は、ＳＮＭＰマネージャ３１２を備えている。
【００３５】
ＳＮＭＰマネージャ３１２は、ＳＮＭＰエージェント４１２との間でＳＮＭＰ（Simple Network Management Protocol）に従った通信データの授受を行う。ＳＮＭＰエージェント４１２は、ＭＩＢ４３２に格納された情報の送信を要求するＳＮＭＰメッセージ（要求メッセージ）をＳＮＭＰマネージャ３１２に送信する。ＳＮＭＰエージェント４１２は、要求メッセージを受信すると、要求メッセージに含まれるオブジェクトＩＤで指定されるＭＩＢ情報をＭＩＢ４３２から取得する。ＳＮＭＰエージェント４１２は、取得されたＭＩＢ情報を含むＳＮＭＰメッセージ（応答メッセージ）を生成し、ＳＮＭＰマネージャ３１２に送信する。
【００３６】
なお、ＳＮＭＰでは、メッセージの送受信にＴＣＰ／ＩＰプロトコルのうち、再送制御などを行わず、通信の信頼性が保証されないＵＤＰ（User Datagram Protocol）を使用している。そのため、ＳＮＭＰマネージャ３１２は、ＳＮＭＰエージェント４１２に対する要求メッセージ送信の後、予め定められた待ち時間を経過してもＳＮＭＰエージェント４１２からの応答メッセージが受信できない場合、要求メッセージを再送する。所定の回数（例えば３回）要求メッセージを送信しても、ＳＮＭＰエージェント４１２からの応答メッセージが受信できない場合、要求メッセージの送信先が応答不能とである判断し、ＭＩＢ情報の取得は中止される。
【００３７】
一般に、ローカルエリアネットワークＬＡＮでは、通信データの送信時に排他制御を行わないＣＳＭＡ／ＣＤ（Carrier Sense Multiple Access/Collision Detect）等の方式で通信データの転送が行われる。そのため、ＳＮＭＰマネージャ３１２によるＳＮＭＰエージェント４１２からの情報を取得は、衝突によるメッセージの喪失を抑制するため、ローカルエリアネットワークＬＡＮのトラフィックが少ない時に行われるのが好ましい。
【００３８】
印刷ジョブ管理部３３０は、ジョブ管理情報取得部３３２と、送信許可設定部３３４とを備えている。送信許可設定部３３４は、スプーラ２００の転送制御部２３２を制御することにより、スプーラ２００からプリンタ４００への印刷ジョブの転送を制御する。なお、印刷ジョブの転送制御に関しては、後述する。
【００３９】
ジョブ管理情報取得部３３２は、ＳＮＭＰマネージャ３１２にジョブ管理情報の取得を要求する。ＳＮＭＰマネージャは、ジョブ管理情報の取得が要求されると、ジョブ管理情報を指定する要求メッセージをプリンタ４００のＳＮＭＰエージェント４１２に送信する。要求メッセージを受信したＳＮＭＰエージェント４１２は、ＭＩＢ４３２からジョブ管理情報を取得し、ジョブ管理情報を含む応答メッセージをＳＮＭＰマネージャ３１２に送信する。ＳＮＭＰマネージャ３１２は、応答メッセージに含まれるジョブ管理情報を抽出し、ジョブ管理情報取得部３３２に供給する。ジョブ管理情報取得部３３２は、ＳＮＭＰマネージャ３１２から供給されるジョブ管理情報を外部記憶装置３２０に蓄積する。
【００４０】
図３は、ネットワーク制御部４１０からプリンタ制御部４３０に供給された印刷ジョブが処理される様子を示す説明図である。図３（ａ）は、ネットワーク制御部４１０からプリンタ制御部４３０に供給される印刷ジョブを表すジョブデータの構成を示している。このジョブデータは、印刷ジョブの実行を制御するジョブ制御言語の部分と、印刷コマンドを含んでいる。このうち、ジョブ制御言語部分には、印刷ジョブの送信元であるクライアント１００のマシン名と、そのクライアント１００を使用しているユーザのユーザ名とが格納されている。
【００４１】
図３（ｂ）に示すように、プリンタ制御部４３０は、印刷ジョブを取得すると、印刷ジョブを識別するためのジョブＩＤ（Job ID）を生成する。生成されるジョブＩＤとしては、例えば、プリンタ４００の電源投入後に取得された印刷ジョブの数が使用される。そして、プリンタ制御部４３０は、生成されたジョブＩＤとジョブデータを関連付けて、印刷ジョブの待ち行列である印刷ジョブキューに登録する。第１実施例では、印刷ジョブキューには、１つの印刷ジョブが登録されているが、印刷ジョブキューに複数の印刷ジョブを登録するものとしても良い。
【００４２】
印刷ジョブキューに登録された印刷ジョブは、プリントエンジン４２０（図２）での印刷が可能になるとその印刷処理が実行される。具体的には、プリンタ制御部４３０が印刷ジョブキューに登録されたジョブデータから印刷コマンドを抽出する。そして、印刷コマンドから生成された印刷データがプリントエンジン４２０に供給されることにより、印刷が実行される。
【００４３】
印刷ジョブの印刷処理が終了すると、ジョブデータ中のユーザ名とマシン名とが抽出され、その印刷ジョブで使用された紙の枚数（印刷枚数）と、使用されたトナーの量と、印刷ジョブの開始時間および終了時間とを含むジョブ管理情報が生成される。ジョブ管理情報は、ジョブＩＤと関連付けられて、ＭＩＢ４３２（図２）の一部分として構成されているジョブ情報バッファに格納される。
【００４４】
ジョブ情報バッファには、１つの印刷ジョブに関するジョブ管理情報が保持される。そのため、印刷処理が終了してジョブ管理情報がジョブ情報バッファに格納されるごとに、ジョブ情報バッファに格納されていた古いジョブ管理情報は順次消失する。なお、第１実施例では、ジョブ情報バッファには１つのジョブ管理情報が格納されているが、ジョブ情報バッファに複数のジョブ管理情報を格納するものとしても良い。この場合、ジョブ情報バッファは、ＦＩＦＯ（First-in, First out）形式のバッファとして構成される。
【００４５】
図４は、プリンタ管理システム１０における印刷ジョブの転送の様子を示すシーケンス図である。図５は、プリンタ管理システム１０の各部に格納されている情報の時間変化を示す表である。図５の左端の列は、図４に示すシーケンス図上の期間Ａ〜Ｆを示している。図５の左から２番目の列は、後述する送信許可フラグの値（ＯＮ／ＯＦＦ）を示している。図５の残りの列は、印刷ジョブキューに登録された印刷ジョブと、ジョブ情報バッファにジョブ管理情報が格納されている印刷ジョブと、ジョブ管理情報取得部３３２によりジョブ管理情報が取得された印刷ジョブと、のそれぞれのジョブＩＤを示している。
【００４６】
図４のステップ[M2]では、管理サーバ３００の起動処理が行われる。起動処理では、ＳＮＭＰマネージャ３１２（図２）や印刷ジョブ管理部３３０（図２）等の管理サーバ３００各部の初期化が行われる。これら管理サーバ３００各部の初期化が終了すると、ステップ[M10]において、管理サーバ３００の送信許可設定部３３４は、スプーラ２００の転送制御部２３２（図２）に印刷ジョブの送信許可を与える。転送制御部２３２は、送信許可を受け取ると、印刷ジョブの送信許可が与えられたことを表すフラグ（送信許可フラグ）を「ＯＮ」にする。
【００４７】
ステップ[C10]において、クライアント１００は、スプーラ２００に印刷ジョブを送信する。スプーラ２００が印刷ジョブを受信すると、印刷ジョブがスプール管理部２３４（図２）に供給される。スプール管理部２３４は、供給された印刷ジョブをスプーラ２００の外部記憶装置２２０（図２）に保持する。
【００４８】
ステップ[S10]において、スプーラ２００の転送制御部２３２（図２）は、印刷ジョブのプリンタ４００への送信許可があるか否かを確認する。具体的には、転送制御部２３２は、送信許可フラグの状態を確認する。送信許可フラグが「ＯＦＦ」となっている場合、転送制御部２３２は、送信許可設定部３３４から送信許可が与えられるまで印刷ジョブの送信を行わない。そして、印刷ジョブの送信が完了するまで、スプーラ２００の外部記憶装置２２０には印刷ジョブが保持される。
【００４９】
図５に示すように、ステップ[S10]の送信許可確認の時点である期間Ａでは、ステップ[M10]において印刷ジョブの送信許可が与えられている。そのため、送信許可フラグが「ＯＮ」となっているので、ステップ[S12]において、印刷ジョブがスプーラ２００からプリンタ４００に送信される。印刷ジョブの送信の際、送信許可フラグは「ＯＦＦ」に設定される。プリンタ４００は、ステップ[P10]（図４）において、印刷ジョブの印刷処理を開始する。なお、ステップ[S12]における印刷ジョブの送信前の状態では、印刷ジョブキューには印刷ジョブが登録されていない。一方、ジョブ情報バッファには、先に印刷が完了した印刷ジョブ（Job ID=1214）のジョブ管理情報が格納されている。この印刷ジョブ（Job ID=1214）のジョブ管理情報は、管理サーバ３００のジョブ管理情報取得部３３２（図２）により既に取得されている。
【００５０】
ステップ[S12]における印刷ジョブの送信が完了すると、ステップ[S14]において、転送制御部２３２（図２）は、管理サーバ３００のジョブ管理情報取得部３３２（図２）に印刷ジョブが送信済みであることを通知する。ジョブ管理情報取得部３３２は、印刷ジョブの送信済み通知を受け取ると、ステップ[M12]において、ジョブ管理情報の送信をプリンタ４００に要求する。そして、プリンタ４００は、ジョブ管理情報の送信要求に応答して、ジョブ管理情報を管理サーバ３００に送信する（ステップ[P12]）。
【００５１】
ステップ[P12]のジョブ管理情報の返信時点である期間Ｂでは、プリンタ４００での印刷が完了していない。そのため、図５に示すように、ジョブ情報バッファに格納されているジョブ管理情報は、先の印刷ジョブ（Job ID=1214）のジョブ管理情報のままとなっている。このように、ジョブ情報バッファには、先の印刷ジョブ（Job ID=1214）のジョブ管理情報が格納されているので、ステップ[P12]においてプリンタ４００から返信されるジョブ管理情報は先の印刷ジョブ（Job ID=1214）のジョブ管理情報となる。
【００５２】
図４のステップ[M14]において、ジョブ管理情報取得部３３２は、ステップ[P12]で取得したジョブ管理情報のジョブＩＤと、既に取得したジョブ管理情報のジョブＩＤと、を比較する。そして、２つのジョブＩＤが同一であれば、送信許可に応じて送信された印刷ジョブ（Job ID=1215）のジョブ管理情報の取得が未完であると判断する。一方、２つのジョブＩＤが異なっていれば、送信許可に応じて送信された印刷ジョブ（Job ID=1215）のジョブ管理情報の取得が完了したものと判断する。
【００５３】
ステップ[M14]でジョブ管理情報の取得が未完であると判断された場合、ジョブ管理情報取得部３３２は、送信許可に応じて送信された印刷ジョブ（Job ID=1215）のジョブ管理情報の取得が完了したと判断されるまで、プリンタ４００からジョブ管理情報の取得を行う。図４の例では、ジョブ管理情報取得部３３２は、再度、ジョブ管理情報の送信をプリンタ４００に要求し（ステップ[M16]）、プリンタ４００が返信する（ステップ[P16]）ジョブ管理情報を取得し、送信許可に応じて送信された印刷ジョブ（Job ID=1215）のジョブ管理情報の取得が完了したか否かを確認する（ステップ[M18]）。
【００５４】
ステップ[P16]のジョブ管理情報の返信時点である期間Ｃでは、プリンタ４００での印刷が完了している。そのため、図５に示すように、ジョブ情報バッファに格納されているジョブ管理情報は、送信許可に応じて送信された印刷ジョブ（Job ID=1215）のジョブ管理情報に更新されている。このように、ジョブ情報バッファには、印刷ジョブ（Job ID=1215）のジョブ管理情報が格納されているので、ステップ[P16]においてプリンタ４００から返信されるジョブ管理情報は、送信許可に応じて送信された印刷ジョブ（Job ID=1215）のジョブ管理情報となる。
【００５５】
ステップ[M18]では、ステップ[P16]で取得したジョブ管理情報のジョブＩＤ（Job ID=1215）と、既に取得したジョブ管理情報のジョブＩＤ（Job ID=1214）とが異なっている。そのため、ジョブ管理情報取得部３３２（図２）は、送信許可に応じて送信された印刷ジョブ（Job ID=1215）のジョブ管理情報の取得が完了したと判断する。
【００５６】
ジョブ管理情報の取得が完了したと判断された場合、ジョブ管理情報取得部３３２によるジョブ管理情報の取得は停止される。そして、ステップ[M20]において、管理サーバ３００の送信許可設定部３３４（図２）は、スプーラ２００の転送制御部２３２（図２）に印刷ジョブの送信許可を与える。印刷ジョブの送信許可が与えられることにより、図５に示すように、送信許可フラグが「ＯＦＦ」から「ＯＮ」に変更される。なお、ジョブ管理情報取得部３３２によるジョブ管理情報の取得の停止は、ジョブ管理情報の取得が完了したと判断された後であっても良い。ジョブ管理情報の取得の停止は、送信許可設定部３３４が転送制御部２３２に印刷ジョブの送信許可を与える前であれば良い。
【００５７】
図４の例では、ステップ[C20]において、クライアント１００がスプーラ２００に印刷ジョブを送信している。スプーラ２００が印刷ジョブを受信し、ステップ[S20]において転送制御部２３２（図２）が印刷ジョブの送信許可を確認する時点（期間Ｂ）では、図５に示すように送信許可フラグは「ＯＦＦ」となっている。そのため、ステップ[C20]でクライアント１００から受信した印刷ジョブは、ステップ[M20]における印刷ジョブの送信許可を受領するまで、スプーラ２００に保持される。そして、ステップ[M20]でスプーラ２００が印刷ジョブの送信許可を受領すると、ステップ[S22]において、印刷ジョブはスプーラ２００からプリンタ４００に送信される。プリンタ４００は、ステップ[P20]において受信した印刷ジョブに従って印刷処理を開始する。また、スプーラ２００からプリンタ４００への印刷ジョブの送信が完了すると、ステップ[S24]において、印刷ジョブが送信済みであることがスプーラ２００から管理サーバ３００に通知される。
【００５８】
このように、第１実施例では、送信許可に応じて送信された印刷ジョブのジョブ管理情報が管理サーバ３００によって取得されるまで、スプーラ２００には、印刷ジョブの送信許可が与えられない。そのため、ジョブ管理情報が取得される前にスプーラ２００からプリンタ４００に印刷ジョブが送信され、その印刷ジョブの実行が完了することにより、取得前のジョブ管理情報がジョブ情報バッファから消失することが抑制される。そのため、個々の印刷ジョブのジョブ管理情報を、より確実に取得することが可能となる。
【００５９】
また、第１実施例では、管理サーバ３００によるジョブ管理情報の取得は、印刷ジョブの送信済みの通知を管理サーバ３００が受領した後に行われる。そして、ジョブ管理情報の取得は、管理サーバ３００がスプーラ２００に印刷ジョブの送信許可を与える前に停止される。そのため、ジョブ管理情報の取得は、印刷ジョブがローカルエリアネットワークＬＡＮ上を転送されていない状態で行われる。ジョブ管理情報の取得を印刷ジョブが転送されていない状態で行うことにより、印刷ジョブの転送でトラフィックが増大することによりＳＮＭＰによるジョブ管理情報の取得が失敗することを抑制できるので、ジョブ管理情報をより確実に取得することができる。
【００６０】
第１実施例では、スプーラ２００は、図４のステップ[S10]，[S20]において、スプーラ２００が有する送信許可フラグを参照して印刷ジョブの送信許可の確認を行っているが、他の方法により送信許可の確認を行うものとしても良い。例えば、スプーラ２００が送信許可フラグを持たず、印刷ジョブを受信（ステップ[C10]，[C20]）する都度、管理サーバ３００に送信許可の有無を問い合わせるものとしても良い。この場合、スプーラ２００は、送信許可が得られるまで、所定の時間間隔ごとに管理サーバ３００に送信許可の有無を問い合わせる。
【００６１】
このように、スプーラ２００が送信許可の有無を管理サーバ３００に問い合わせて印刷ジョブの送信許可を確認することにより、ネットワークシステム１０（図１）が複数のスプーラを有している場合においても、管理サーバ３００は単一の送信許可を複数のスプーラのいずれかに与えることができる。そのため、複数のスプーラが送信する各印刷ジョブについてのジョブ管理情報の消失を抑制できるので、ジョブ管理情報をより確実に取得することができる。
【００６２】
Ｂ．第２実施例：
図６は、第２実施例における、スプーラ２００ａ，２００ｂと、管理サーバ３００ａと、プリンタ４００と、のそれぞれの構成を示す説明図である。なお、スプーラ２００ｂの構成は、スプーラ２００ａと同じである。第２実施例のスプーラ２００ａは、ジョブ制御部２３０ａがジョブ予約部２３６を備えている点で、第１実施例のスプーラ２００と異なっている。また、第２実施例の管理サーバ３００ａは、印刷ジョブ予約リスト格納部３４０を備えている点と、印刷ジョブ管理部３３０ａが予約ジョブ管理部３３６を有している点と、で第１実施例の管理サーバ３００と異なっている。他の点は、第１実施例と同じである。
【００６３】
２台のスプーラ２００ａ，２００ｂには、それぞれ異なるクライアント（図示しない）から印刷ジョブが送信される。なお、図６の例では、ローカルエリアネットワークＬＡＮには、２台のスプーラ２００ａ，２００ｂが接続されているが、ローカルエリアネットワークＬＡＮには、１台以上の任意の数のスプーラを接続することができる。
【００６４】
図７は、印刷ジョブ予約リスト格納部３４０に格納される印刷ジョブ予約リストを示す説明図である。印刷ジョブ予約リストは、印刷ジョブ送信許可付与の待ち行列である。図７に示す印刷ジョブ予約リストには、管理サーバ３００ａが印刷ジョブの送信許可を与えるスプーラのＩＰアドレスが登録されている。但し、印刷ジョブ予約リストには、一般に、印刷ジョブの送信許可を待っているスプーラが特定可能な情報が登録されていればよい。
【００６５】
図７（ａ）は、第１のスプーラ２００ａと第２のスプーラ２００ｂとのいずれにも、出力待ちの印刷ジョブがない状態を示している。このとき、印刷ジョブ予約リストには、２つのスプーラのいずれのＩＰアドレスも登録されていない。
【００６６】
第１のスプーラ２００ａが印刷ジョブを受信すると、第１のスプーラ２００ａは、印刷ジョブの送信許可の付与を予約する。具体的には、スプーラ２００ａのジョブ予約部２３６（図６）は、スプーラ２００ａのＩＰアドレスを含むメッセージ（予約メッセージ）を管理サーバ３００ａの予約ジョブ管理部３３６に送信する。なお、この予約メッセージは、スプーラ２００ａから管理サーバ３００ａに対する印刷ジョブの送信許可の付与の要求であるとも言える。
【００６７】
予約ジョブ管理部３３６は、予約メッセージを受信すると、予約メッセージ中のＩＰアドレスを抽出する。そして、図７（ｂ）に示すように、第１のスプーラのＩＰアドレスを印刷ジョブ予約リストに登録する。なお、以下では、印刷ジョブの送信許可を予約することを、「印刷ジョブを予約」するともいう。
【００６８】
次に、第２のスプーラ２００ｂが印刷ジョブを受信すると、第２のスプーラ２００ｂは、印刷ジョブを予約する。第２のスプーラ２００ｂによる印刷ジョブの予約により、印刷ジョブ予約リストには、図７（ｃ）に示すように、第２のスプーラ２００ｂのＩＰアドレスが登録される。
【００６９】
後述するように、管理サーバ３００ａがスプーラに印刷ジョブの送信許可を与える場合、予約ジョブ管理部３３６（図６）は、印刷ジョブ予約リストの最先の位置（ＰＪＲ［１］）に登録されたスプーラのＩＰアドレスを取得する。そして、取得されたＩＰアドレスで特定されるスプーラに送信許可を与える。図７の例では、図７（ｃ）で最先位置（ＰＪＲ［１］）に登録された第１のスプーラ２００ａに対して送信許可が与えられる。そして、第１のスプーラ２００ａへの送信許可の付与の後、印刷ジョブ予約リストのＩＰアドレス登録内容は、図の上方から下方に順次移動される。ＩＰアドレス登録内容を移動することにより、図７（ｄ）に示すように、最先位置（ＰＪＲ［１］）には第２のスプーラのＩＰアドレスが登録される。
【００７０】
図８は、第２実施例において、印刷ジョブが転送される様子を示すシーケンス図である。図８に示すシーケンス図は、ステップ[M10]，[M20]がステップ[M10a]，[M20a]に換えられている点と、ステップ[S10]，[S20]がステップ[S10a]，[S20a]に換えられている点と、ステップ[M2]が省略されている点と、ステップ[C30]，[S30]が付加されている点と、で図４に示す第１実施例のシーケンス図と異なっている。他の点は、第１実施例と同様である。なお、図８では、図示の便宜上、クライアントの図示を省略している。
【００７１】
ステップ[C10]で第１のスプーラ２００ａが印刷ジョブを受信すると、ステップ[S10a]において、スプーラ２００ａのジョブ予約部２３６（図６）が管理サーバ３００ａの予約ジョブ管理部３３６（図６）に対して印刷ジョブの予約を行う。図８の例では、ステップ[S10a]の時点において印刷ジョブが予約されておらず、印刷ジョブ予約リストには、図７（ａ）に示すように、いずれのスプーラのＩＰアドレスも登録されていない。そのため、予約ジョブ管理部３３６は、ステップ[M10a]において、第１のスプーラ２００ａに対して印刷ジョブの送信許可を与える。
【００７２】
ステップ[C20]において第１のスプーラ２００ａが印刷ジョブを受信すると、第１のスプーラ２００ａは管理サーバ３００ａに対して印刷ジョブの予約を行う（ステップ[S20a]）。このとき、管理サーバ３００ａは、ステップ[M10a]で送信許可を与えた印刷ジョブについてのジョブ管理情報を取得していない。そのため、ステップ[S20a]の時点では、管理サーバ３００ａは、第１のスプーラ２００ａに印刷ジョブの送信許可が与えない。送信許可が与えられない状態では、図７（ｂ）に示すように、印刷ジョブ予約リストに第１のスプーラ２００ａのＩＰアドレスが登録される。
【００７３】
ステップ[C30]において、第２のスプーラ２００ｂが印刷ジョブを受信すると、第２のスプーラ２００ｂは管理サーバ３００ａに対して印刷ジョブの予約を行う（ステップ[S30]）。ステップ[S30]の時点においても、管理サーバ３００ａは、ステップ[M10a]で送信許可を与えた印刷ジョブについてのジョブ管理情報を取得していない。そのため、送信許可は、２つのスプーラ２００ａ，２００ｂのいずれにも与えられない。そして、図７（ｃ）に示すように、印刷ジョブ予約リストには、第２のスプーラ２００ｂのＩＰアドレスが登録される。
【００７４】
ステップ[M18]において、ジョブ管理情報の取得が完了したと判断された場合、管理サーバ３００ａの送信許可設定部３３４（図６）は、印刷ジョブ予約リストを参照して、印刷許可を与えるスプーラを決定する。ステップ[M18]の時点において、最先位置（ＰＪＲ［１］）に登録されているＩＰアドレスは、図７（ｃ）に示すように、第１のスプーラ２００ａのＩＰアドレスとなっている。そのため、管理サーバ３００ａは、印刷許可を与えるスプーラを第１のスプーラ２００ａに決定する。
【００７５】
ステップ[M20a]において、管理サーバ３００ａの送信許可設定部３３４（図６）は、印刷許可の付与先に決定されたスプーラ２００ａの転送制御部２３２（図６）に印刷ジョブの送信許可を与える。このとき、管理サーバ３００ａの予約ジョブ管理部３３６（図６）は、印刷ジョブ予約リストの登録内容を最先位置（ＰＣＪ［１］）方向に移動する。これにより、図７（ｄ）に示すように、最先位置（ＰＣＪ［１］）に登録されていた第１のスプーラ２００ａのＩＰアドレスが消去され、第２のスプーラ２００ｂのＩＰアドレスが最先位置（ＰＣＪ［１］）に登録される。
【００７６】
このように、第２実施例においても、送信許可に応じて送信された印刷ジョブのジョブ管理情報が管理サーバ３００ａによって取得されるまで、２つのスプーラ２００ａ，２００ｂのいずれにも印刷ジョブの送信許可が与えられない。そのため、ジョブ管理情報が取得される前にスプーラ２００ａ，２００ｂからプリンタ４００に印刷ジョブが送信されることにより、取得前のジョブ管理情報がジョブ情報バッファから消失することを抑制することができる。
【００７７】
なお、第２実施例は、印刷ジョブの予約を行った複数のスプーラのうち、印刷ジョブの予約が最先のスプーラに対して印刷ジョブの送信許可が与えられる。そのため、印刷ジョブを予約するタイミングにより、印刷ジョブの送信許可が与えられないスプーラが発生するおそれを低減することができる。
【００７８】
Ｃ．変形例：
なお、この発明は上記実施例や実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能であり、例えば次のような変形も可能である。
【００７９】
Ｃ１．変形例１：
上記各実施例では、クライアント１００と、スプーラ２００と、管理サーバ３００と、をそれぞれ別個のものとしているが、これらの３つのデバイスのうち、少なくとも２つを一体のものとしても良い。この場合、スプーラ２００と管理サーバ３００とを一体のものとすることにより、スプーラ２００および管理サーバ３００がそれぞれ有する外部記憶装置２２０，３２０とネットワーク制御部２１０，３１０とを共有することが可能となる。このように、ネットワークシステム１０の構成がより簡単になる点で、スプーラ２００と管理サーバ３００とを一体のものとするのがより好ましい。
【００８０】
Ｃ２．変形例２：
上記各実施例では、プリンタ４００により印刷ジョブに付されたジョブＩＤを用いて、送信許可に応じて送信された印刷ジョブのジョブ管理情報の取得が完了したか否かを判断しているが、他の方法によってもジョブ管理情報の取得が完了したか否かを判断することが可能である。例えば、クライアント１００あるいはスプーラ２００が印刷ジョブにＩＤ（代替ＩＤ）を付している場合、スプーラ２００が送信した印刷ジョブの代替ＩＤと、プリンタ４００のジョブ管理情報として取得した代替ＩＤとを比較して、これらの２つの代替ＩＤが同一であった場合に、ジョブ管理情報の取得が完了したものと判断することができる。
【００８１】
また、管理サーバ３００にジョブ管理情報を取得したか否かを表す取得済フラグを設け、ジョブ管理情報の取得の際に取得済フラグを「ＯＮ」に設定し、送信許可の送信の際に取得済みフラグを「ＯＦＦ」に設定するものとしても良い。但し、この場合、管理サーバ３００あるいはプリンタ４００は、管理サーバ３００が既に取得したジョブ管理情報を再度取得することにより取得済フラグが「ＯＮ」とならないように構成される。例えば、プリンタ４００は、ジョブ管理情報を送信した際に、そのジョブ管理情報を消去するように構成される。
【００８２】
Ｃ３．変形例３：
上記各実施例では、管理サーバ３００によるジョブ管理情報の取得は、印刷ジョブの送信済みの通知を管理サーバ３００が受領した後から管理サーバ３００がスプーラ２００に印刷ジョブの送信許可を与えるまでの期間に行われているが、この期間以外にもジョブ管理情報の取得を行うものとしても良い。例えば、ジョブ管理情報の取得を、所定の時間間隔で定期的に行うものとしても良い。但し、この場合、印刷ジョブが転送されている期間にもジョブ管理情報の取得が行われるとローカルエリアネットワークＬＡＮのトラフィックが必要以上に増大するおそれがあるため、本実施例のようにジョブ管理情報の取得を行うのが好ましい。
【図面の簡単な説明】
【００８３】
【図１】本発明の実施例を適用するプリンタ管理システム１０の構成を示す説明図。
【図２】クライアントと、スプーラと、管理サーバと、プリンタと、のそれぞれの構成を示す説明図。
【図３】ネットワーク制御部４１０からプリンタ制御部４３０に供給された印刷ジョブが処理される様子を示す説明図。
【図４】プリンタ管理システム１０における印刷ジョブの転送の様子を示すシーケンス図。
【図５】プリンタ管理システム１０の各部に格納されている情報の時間変化を示す表。
【図６】第２実施例における、スプーラ２００ａ，２００ｂと、管理サーバ３００ａと、プリンタ４００と、のそれぞれの構成を示す説明図。
【図７】印刷ジョブ予約リスト格納部３４０に格納される印刷ジョブ予約リストを示す説明図。
【図８】第２実施例において、印刷ジョブが転送される様子を示すシーケンス図。
【符号の説明】
【００８４】
１０…プリンタ管理システム
１００…クライアント
１１０…ネットワーク制御部
１２０…アプリケーション実行部
２００，２００ａ，２００ｂ…スプーラ
２１０…ネットワーク制御部
２２０…外部記憶装置
２３０…ジョブ制御部
２３２…転送制御部
２３４…スプール管理部
２３６…ジョブ予約部
３００，３００ａ…管理サーバ
３１０…ネットワーク制御部
３１２…ＳＮＭＰマネージャ
３２０…外部記憶装置
３３０…印刷ジョブ管理部
３３２…ジョブ管理情報取得部
３３４…送信許可設定部
３３６…予約ジョブ管理部
３４０…印刷ジョブ予約リスト格納部
４００…プリンタ
４１０…ネットワーク制御部
４１２…ＳＮＭＰエージェント
４２０…プリントエンジン
４３０…プリンタ制御部
４３２…ＭＩＢ
ＬＡＮ…ローカルエリアネットワーク
【図１】
0004793069.tif 000002
【図２】
0004793069.tif 000003
【図３】
0004793069.tif 000004
【図４】
0004793069.tif 000005
【図５】
0004793069.tif 000006
【図６】
0004793069.tif 000007
【図７】
0004793069.tif 000008
【図８】
0004793069.tif 000009