(57)【要約】【課題】  ユーザ毎に設定された印刷可能枚数の上限値を超えることを防止することができる印刷システム、印刷システムの制御方法、プログラム及び記録媒体を提供する。【解決手段】  ステップＳ６０３で、ＲＡＭに格納されている印刷権要求データにアクセスし、印刷を要求したユーザのユーザ名及び印刷データ発行部によって予測された予測印刷枚数を取得し、この枚数をＲＡＭ又はＣＰＵ内のレジスタに格納しておく。次に、ステップＳ６０４において、ステップＳ６０３で取得したユーザ名をキーにして残り枚数データベースにアクセスし、該ユーザが使用可能な紙の残り枚数を取得する。次いで、ステップＳ６０５において、ステップＳ６０３において印刷権要求データから取得した予測印刷枚数とステップＳ６０４において残り枚数データベースから取得した使用可能な用紙の残り枚数とを比較し、印刷権を発行可能であるか否かを判断する。【選択図】  図７
2005216244.tif 000002
【特許請求の範囲】
【請求項１】
印刷を行う印刷手段と、
前記印刷手段に印刷させる印刷データを生成する印刷データ発行手段と、
前記印刷データ発行手段の使用者毎に設定された前記印刷手段において使用可能な用紙の枚数及び前記印刷データの印刷に要する用紙の枚数に基づいて、前記印刷データの印刷が前記印刷手段において可能であるか判断し、可能であると判断した場合に、前記印刷データを前記印刷手段に印刷させる権利を示す印刷権を前記印刷データ発行手段に対して発行する印刷権発行手段と、
を有し、
前記印刷権発行手段は、前記印刷データの印刷が不可能であると判断した場合には、当該使用者に対して既に印刷の権利が付与された枚数のうちで未使用の枚数があれば、その未使用の枚数を前記使用可能な用紙の枚数に付加したもの及び前記印刷データの印刷に要する用紙の枚数に基づいて、前記印刷データの印刷が前記印刷手段において可能であるか再度判断し、
前記印刷データ発行手段は、前記印刷権発行手段から前記印刷権を受領すると前記印刷データを前記印刷手段に対して発行することを特徴とする印刷システム。
【請求項２】
前記印刷データ発行手段は、
前記印刷データの印刷に要する用紙の枚数を予測する印刷枚数予測手段と、
該印刷枚数予測手段により予測した枚数に対する印刷権の発行を前記印刷権発行手段に対して要求する印刷権要求手段と、
を有することを特徴とする請求項１に記載の印刷システム。
【請求項３】
前記印刷権発行手段は、
前記印刷データ発行手段の使用者毎に設定された前記印刷手段において使用可能な用紙の残り枚数を記憶した残り枚数記憶手段と、
前記印刷データの印刷が前記印刷手段において可能であるか判断する判断手段と、
を有することを特徴とする請求項１又は２に記載の印刷システム。
【請求項４】
前記印刷手段は、既に印刷の権利が付与された枚数のうちで未使用の枚数をストック値として使用者毎に記憶するストック記憶手段を有し、
前記印刷権発行手段は、前記印刷データの印刷が不可能であると判断した場合に、前記ストック記憶手段から当該使用者のストック値を吸い上げるストック値吸い上げ手段を有することを特徴とする請求項１乃至３のいずれか１項に記載の印刷システム。
【請求項５】
印刷手段に印刷させる印刷データを生成する印刷データ生成ステップと、
使用者毎に設定された前記印刷手段において使用可能な用紙の枚数及び前記印刷データの印刷に要する用紙の枚数に基づいて、前記印刷データの印刷が前記印刷手段において可能であるか判断する第１の印刷可否判断ステップと、
前記第１の印刷可否判断ステップにおいて不可能であると判断した場合に、当該使用者に対して既に印刷の権利が付与された枚数のうちで未使用の枚数があれば、その未使用の枚数を前記使用可能な用紙の枚数に付加したもの及び前記印刷データの印刷に要する用紙の枚数に基づいて、前記印刷データの印刷が前記印刷手段において可能であるか再度判断する第２の印刷可否判断ステップと、
前記第１又は第２の印刷可否判断ステップにおいて可能であると判断した場合に、前記印刷手段に前記印刷データを印刷させる印刷ステップと、
を有することを特徴とする印刷システムの制御方法。
【請求項６】
印刷システムをコンピュータに制御させるためのプログラムであって、
印刷手段に印刷させる印刷データを生成する印刷データ生成手順と、
使用者毎に設定された前記印刷手段において使用可能な用紙の枚数及び前記印刷データの印刷に要する用紙の枚数に基づいて、前記印刷データの印刷が前記印刷手段において可能であるか判断する第１の印刷可否判断手順と、
前記第１の印刷可否判断手順において不可能であると判断した場合に、当該使用者に対して既に印刷の権利が付与された枚数のうちで未使用の枚数があれば、その未使用の枚数を前記使用可能な用紙の枚数に付加したもの及び前記印刷データの印刷に要する用紙の枚数に基づいて、前記印刷データの印刷が前記印刷手段において可能であるか再度判断する第２の印刷可否判断手順と、
前記第１又は第２の印刷可否判断手順において可能であると判断した場合に、前記印刷手段に前記印刷データを印刷させる印刷手順と、
をコンピュータに実行させることを特徴とするプログラム。
【請求項７】
印刷システムをコンピュータに制御させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体であって、
前記プログラムは、
印刷手段に印刷させる印刷データを生成する印刷データ生成手順と、
使用者毎に設定された前記印刷手段において使用可能な用紙の枚数及び前記印刷データの印刷に要する用紙の枚数に基づいて、前記印刷データの印刷が前記印刷手段において可能であるか判断する第１の印刷可否判断手順と、
前記第１の印刷可否判断手順において不可能であると判断した場合に、当該使用者に対して既に印刷の権利が付与された枚数のうちで未使用の枚数があれば、その未使用の枚数を前記使用可能な用紙の枚数に付加したもの及び前記印刷データの印刷に要する用紙の枚数に基づいて、前記印刷データの印刷が前記印刷手段において可能であるか再度判断する第２の印刷可否判断手順と、
前記第１又は第２の印刷可否判断手順において可能であると判断した場合に、前記印刷手段に前記印刷データを印刷させる印刷手順と、
をコンピュータに実行させることを特徴とするコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プリンタ又はコピー機等を用いた印刷システム、印刷システムの制御方法、プログラム及び記録媒体に関する。
【背景技術】
【０００２】
従来、プリンタやコピー機等のプリンティングデバイスにおいて、ユーザ毎に使用できる紙の上限数を設定しておき、使用上限数を上回って紙を使用しようとした場合に出力を断るようにしているシステムがある。
【０００３】
このようなシステムにおいては、紙の使用枚数を集計するサーバが、各ユーザが使用した紙の枚数を各デバイスから収集して集計し、各ユーザが使用した紙の合計枚数を管理している。
【０００４】
しかしながら、このようなシステムにおいては、実際の出力のタイミングとサーバによるデータ収集の間にタイムラグがあるために、印刷可能枚数の上限値を超えてユーザからの出力要求を実行することがあるという問題点がある。
【０００５】
また、印刷クライアントからのジョブを一旦サーバが受け、サーバがそのジョブをプリンティングデバイスに出力する印刷システムもある。しかし、この印刷システムでは、全てのジョブがサーバに集中すると共に、プリンティングデバイスが印刷の度にその許可をサーバに問い合わせるため、サーバにかかる負荷が膨大になる虞がある。また、印刷クライアントからの出力要求後にプリンティングデバイスが印刷不可能な状態となった場合に、サーバによるジョブの管理が不可能になる虞もある。
【０００６】
【特許文献１】特開２００３−３０８１９１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
本発明は、上記問題点を解決するためになされたものであって、ユーザ毎に設定された印刷可能枚数の上限値を超えることを防止することができる印刷システム、印刷システムの制御方法、プログラム及び記録媒体を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本願発明者は、前記課題を解決すべく鋭意検討を重ねた結果、以下に示す発明の諸態様に想到した。
【０００９】
本発明に係る印刷システムは、印刷を行う印刷手段と、前記印刷手段に印刷させる印刷データを生成する印刷データ発行手段と、前記印刷データ発行手段の使用者毎に設定された前記印刷手段において使用可能な用紙の枚数及び前記印刷データの印刷に要する用紙の枚数に基づいて、前記印刷データの印刷が前記印刷手段において可能であるか判断し、可能であると判断した場合に、前記印刷データを前記印刷手段に印刷させる権利を示す印刷権を前記印刷データ発行手段に対して発行する印刷権発行手段と、を有し、前記印刷権発行手段は、前記印刷データの印刷が不可能であると判断した場合には、当該使用者に対して既に印刷の権利が付与された枚数のうちで未使用の枚数があれば、その未使用の枚数を前記使用可能な用紙の枚数に付加したもの及び前記印刷データの印刷に要する用紙の枚数に基づいて、前記印刷データの印刷が前記印刷手段において可能であるか再度判断し、前記印刷データ発行手段は、前記印刷権発行手段から前記印刷権を受領すると前記印刷データを前記印刷手段に対して発行することを特徴とする。
【００１０】
本発明に係る印刷システムの制御方法は、印刷手段に印刷させる印刷データを生成する印刷データ生成ステップと、使用者毎に設定された前記印刷手段において使用可能な用紙の枚数及び前記印刷データの印刷に要する用紙の枚数に基づいて、前記印刷データの印刷が前記印刷手段において可能であるか判断する第１の印刷可否判断ステップと、前記第１の印刷可否判断ステップにおいて不可能であると判断した場合に、当該使用者に対して既に印刷の権利が付与された枚数のうちで未使用の枚数があれば、その未使用の枚数を前記使用可能な用紙の枚数に付加したもの及び前記印刷データの印刷に要する用紙の枚数に基づいて、前記印刷データの印刷が前記印刷手段において可能であるか再度判断する第２の印刷可否判断ステップと、前記第１又は第２の印刷可否判断ステップにおいて可能であると判断した場合に、前記印刷手段に前記印刷データを印刷させる印刷ステップと、を有することを特徴とする。
【００１１】
本発明に係るプログラムは、印刷システムをコンピュータに制御させるためのプログラムであって、印刷手段に印刷させる印刷データを生成する印刷データ生成手順と、使用者毎に設定された前記印刷手段において使用可能な用紙の枚数及び前記印刷データの印刷に要する用紙の枚数に基づいて、前記印刷データの印刷が前記印刷手段において可能であるか判断する第１の印刷可否判断手順と、前記第１の印刷可否判断手順において不可能であると判断した場合に、当該使用者に対して既に印刷の権利が付与された枚数のうちで未使用の枚数があれば、その未使用の枚数を前記使用可能な用紙の枚数に付加したもの及び前記印刷データの印刷に要する用紙の枚数に基づいて、前記印刷データの印刷が前記印刷手段において可能であるか再度判断する第２の印刷可否判断手順と、前記第１又は第２の印刷可否判断手順において可能であると判断した場合に、前記印刷手段に前記印刷データを印刷させる印刷手順と、をコンピュータに実行させることを特徴とする。
【００１２】
本発明に係るコンピュータ読み取り可能な記録媒体は、印刷システムをコンピュータに制御させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体であって、前記プログラムは、印刷手段に印刷させる印刷データを生成する印刷データ生成手順と、使用者毎に設定された前記印刷手段において使用可能な用紙の枚数及び前記印刷データの印刷に要する用紙の枚数に基づいて、前記印刷データの印刷が前記印刷手段において可能であるか判断する第１の印刷可否判断手順と、前記第１の印刷可否判断手順において不可能であると判断した場合に、当該使用者に対して既に印刷の権利が付与された枚数のうちで未使用の枚数があれば、その未使用の枚数を前記使用可能な用紙の枚数に付加したもの及び前記印刷データの印刷に要する用紙の枚数に基づいて、前記印刷データの印刷が前記印刷手段において可能であるか再度判断する第２の印刷可否判断手順と、前記第１又は第２の印刷可否判断手順において可能であると判断した場合に、前記印刷手段に前記印刷データを印刷させる印刷手順と、をコンピュータに実行させることを特徴とする。
【発明の効果】
【００１３】
本発明によれば、使用者毎に設定された印刷手段において使用可能な用紙の枚数及び印刷データの印刷に要する用紙の枚数に基づいて印刷可能かの判断が行われるため、使用者毎に設定された印刷可能枚数の上限値を超えることを防止することができる。また、この判断の際に、一旦印刷不可能と判断された場合でも、当該使用者に対して既に印刷の権利が付与された枚数のうちで未使用の枚数があれば、それを加味して再度判断が行われるため、使用者の印刷可能枚数の上限値までの印刷権を正確に付与することができる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明の実施形態について添付の図面を参照して具体的に説明する。図１は、本発明の実施形態に係る印刷システムを示す図である。この印刷システムでは、ネットワークプリンティングデバイス（印刷装置）１１１及び１１２、残り枚数格納サーバ１１３、並びに印刷クライアント１１４がネットワークケーブル１１０を介して相互に接続されている。なお、ネットワークプリンティングデバイス１１１及び１１２、残り枚数格納サーバ１１３、並びに印刷クライアント１１４が無線を介して通信可能となっていてもよい。残り枚数格納サーバ１１３には、ネットワークプリンティングデバイス１１１及び１１２を利用する使用者（ユーザ）毎に使用することが可能な紙の残り枚数が記憶されている。
【００１５】
図２は、ネットワークプリンティングデバイス１１１及び１１２の内部構成を示す図である。但し、図２では、ネットワークプリンティングデバイス１１１及び１１２を総称してネットワークプリンティングデバイス２００としている。ネットワークプリンティングデバイス２００には、ＲＯＭ２０２又はハードディスク（ＨＤ）２１１に記憶されたソフトウェアを実行するＣＰＵ２０１が設けられており、このＣＰＵ２０１がシステムバス２０４に接続された各デバイスを総括的に制御する。システムバス２０４には、ＣＰＵ２０１及びＲＯＭ２０２の他、ＣＰＵ２０１の主メモリ及びワークエリア等として機能するＲＡＭ２０３、各種のボタン（Ｐａｎｅｌ）２０９及びポインティングデバイス（図示せず）等からの指示入力を制御するパネルコントローラ（Ｐａｎｅｌ  Ｃ）２０５、液晶ディスプレイ（ＬＣＤ）２１０の表示を制御するＬＣＤコントローラ（ＬＣＤ  Ｃ）２０６、ハードディスク（ＨＤ）２１１へのアクセスを制御するディスクコントローラ（ＤＫＣ）２０７、設定された一定時間毎にタイマイベントを発生させるタイマ２１２、及びネットワークインタフェースカード（ＮＩＣ）２０８が接続されている。ＮＩＣ２０８には、ＬＡＮ（ネットワーク）１１０が接続され、ネットワークプリンティングデバイス２００は、ＬＡＮ（ネットワーク）１１０を介して他のネットワーク機器、印刷クライアント又はサーバ等と双方向にデータをやりとりする。
【００１６】
図３は、残り枚数格納サーバ１１３及び印刷クライアント１１４の内部構成を示す図である。但し、図３では、残り枚数格納サーバ１１３及び印刷クライアント１１４を総称して情報処理装置３００としている。情報処理装置３００には、ＲＯＭ３０２又はハードディスク（ＨＤ）３１１に記憶されたソフトウェアを実行するＣＰＵ３０１が設けられており、このＣＰＵ３０１がシステムバス３０４に接続された各デバイスを総括的に制御する。システムバス３０４には、ＣＰＵ３０１及びＲＯＭ３０２の他、ＣＰＵ３０１の主メモリ及びワークエリア等として機能するＲＡＭ３０３、キーボード（ＫＢＤ）３０９及びポインティングデバイス（図示せず）等からの指示入力を制御するキーボードコントローラ（ＫＢＤ  Ｃ）３０５、ディスプレイ（ＤＩＳＰ）３１０の表示を制御するディスプレイコントローラ（ＤＩＳＰ  Ｃ）３０６、ハードディスク（ＨＤ）３１１へのアクセスを制御するディスクコントローラ（ＤＫＣ）３０７、設定された一定時間毎にタイマイベントを発生させるタイマ３１２、及びネットワークインタフェースカード（ＮＩＣ）３０８が接続されている。ＮＩＣ３０８には、ＬＡＮ（ネットワーク）１１０が接続され、情報処理装置３００は、ＬＡＮ（ネットワーク）１１０を介して他のネットワーク機器、印刷クライアント又はサーバ等と双方向にデータをやりとりする。
【００１７】
次に、ネットワークプリンティングデバイス１１１及び１１２、残り枚数格納サーバ１１３及び印刷クライアント１１４の相互の関係について、これらの機能的な構成と併せて説明する。図４は、ネットワークプリンティングデバイス１１１及び１１２、残り枚数格納サーバ１１３並びに印刷クライアント１１４上においてプロセス又はタスクとして実行されるプログラム間の相互の関係を示す機能構成図である。
【００１８】
本実施形態に係る印刷システムには、印刷権発行部４０１、印刷データ発行部４０２、印刷部４０３、残り枚数データベース４０４、及びストック値データベース４０５が存在する。印刷権発行手段４０１は残り枚数格納サーバ１１３上で動作する。印刷データ発行手段４０２は印刷クライアント１１４上で動作する。印刷手段４０３はネットワークプリンティングデバイス１１１及び１１２上で動作し、実際に印刷処理を実行する。残り枚数データベース４０４は、残り枚数格納サーバ１１３のハードディスク３１１又はＲＡＭ３０３に構成されており、ユーザ毎に設定された使用可能な紙の残り枚数を格納している。ストック値データベース４０５は、ネットワークプリンティングデバイス１１１及び１１２のハードディスク２１１若しくはＲＡＭ２０３又はフラッシュＲＯＭ（図示せず）に構成されており、印刷の許可があった枚数と実際に印刷が済んだ枚数との差分を示すストック値をユーザ毎に格納している。なお、図４中の、印刷権発行部４０１、印刷データ発行部４０２、印刷部４０３、残り枚数データベース４０４、及びストック値データベース４０５を結ぶ線分の両端に付されている数字及びアスタリスク記号は、各構成要素の多重度を表記している。表記方法は、ＵＭＬ（Unified Modeling Language）に準拠している。
【００１９】
図５（ａ）及び（ｂ）は、夫々残り枚数データベース４０４、ストック値データベース４０５に格納されたデータの一例を示す図である。印刷可能残り枚数の欄には、各ユーザが使用可能な紙の残り枚数が格納されている。また、ストック値の欄には、印刷の許可があった枚数と実際に印刷が済んだ枚数との差分を示すストック値が格納されている。
【００２０】
次に、印刷データ発行部４０２の動作について、フローチャートを参照しながら説明する。図６は、印刷データ発行部４０２の動作を示すフローチャートである。印刷データ発行部４０２の動作は、印刷クライアント１１４のＣＰＵ３０１によって制御され、実行される。
【００２１】
プログラムが開始すると、先ず、ステップＳ７０１において、ＣＰＵ３０１はイベント待ち状態となり、何らかのイベントが生じるまで待機する。そして、イベントが生じると、そのイベントを取得して、ステップＳ７０２に進む。
【００２２】
ステップＳ７０２において、ＣＰＵ３０１は、ステップＳ７０１で取得したイベントが、ユーザからのファイル印刷指示であるか否かを判断する。ファイル印刷指示であると判断した場合には、ステップＳ７０３に進む。ステップＳ７０３で、ＣＰＵ３０１は、ディスクコントローラ３０７を介してハードディスク３１１にアクセスし、ユーザから印刷するように指示されたファイルを走査して、印刷用のデータを生成すると共に、印刷をするのに要する用紙の枚数の予測を行う。次に、ＣＰＵ３０１は、ステップＳ７０４において、ステップＳ７０３で予測した用紙の枚数（予測印刷枚数）及びユーザ名を含む印刷権要求データを作成し、ＮＩＣ３０８を制御して印刷権発行部４０１に対して印刷権を要求する。その後、ＣＰＵ３０１は、ステップＳ７０５において印刷権発行部４０１からの返答を受領すると、ステップＳ７０６において、この返答が印刷可能を示すものであるか否かを判断する。
【００２３】
そして、ステップＳ７０５において受領した返答が印刷可能を示すものと判断した場合には、ステップＳ７０７に進む。なお、印刷可能を示す返答には、後述のように、印刷チケットデータが含まれている。ＣＰＵ３０１は、ステップＳ７０７において、ステップＳ７０３で生成した印刷用のデータに、印刷権発行部４０１から受領した返答に含まれる印刷チケットデータを付加したデータを生成し、ＮＩＣ３０８を制御して印刷部４０３に送信する。なお、後述のように、印刷チケットデータには予測印刷枚数と等しい印刷可能枚数に関するデータが含まれている。印刷可能枚数は、印刷権発行部４０１が印刷を許可した枚数であって、印刷データ発行部４０２が印刷部４０３に対して印刷の要求を行うことが可能な用紙の枚数である。
【００２４】
一方、ステップＳ７０５において受領した返答が印刷可能を示すものではないと判断した場合には、ステップＳ７０８に進み、ディスプレイコントローラ３０６を制御して、ディスプレイ３１０に使用可能な紙の残り枚数が足りないので印刷できない旨を表示する。
【００２５】
また、ステップＳ７０２において、ステップＳ７０１で取得したイベントがユーザからの印刷指示ではないと判断した場合には、ステップＳ７０９に進む。ステップＳ７０９では、ＣＰＵ３０１は、ステップ７０１で取得したイベントが印刷部４０３から通知された印刷中止通知であったか否かを判断する。
【００２６】
ＣＰＵ３０１は、ステップＳ７０１で取得したイベントが印刷部４０３から通知された印刷中止通知であると判断した場合には、ステップＳ７１０に進み、ステップＳ７１０において、ディスプレイコントローラ３０６を制御して、ディスプレイ３１０に印刷が途中で中断された旨を表示する。また、ＣＰＵ３０１は、ステップＳ７０１で取得したイベントが印刷部４０３から通知された印刷中止通知ではなかいと判断した場合には、ステップＳ７１１に進み、ステップＳ７１１において、ステップＳ７０１で取得したイベントの種類に応じたその他の処理を行う。
【００２７】
そして、ＣＰＵ３０１は、ステップＳ７０７、Ｓ７０８、Ｓ７１０又はＳ７１１の処理を終えた後には、ステップＳ７０１に戻って、次のイベントが生じるまで待機する。
【００２８】
次に、印刷権発行部４０１の動作について、フローチャートを参照しながら説明する。図７は、印刷権発行部４０１の動作を示すフローチャートである。印刷権発行部４０１の動作は、残り枚数格納サーバ１１３のＣＰＵ３０１によって制御され、実行される。
【００２９】
プログラムが開始すると、先ず、ステップＳ６０１において、ＣＰＵ３０１はイベント待ち状態となり、何らかのイベントが生じるまで待機する。そして、イベントが生じると、そのイベントを取得して、ステップＳ６０２に進む。
【００３０】
ステップＳ６０２において、ＣＰＵ３０１は、ステップＳ６０１で取得したイベントが、印刷データ発行部４０２からの印刷権要求であるか否かを判断する。この印刷権の要求は、印刷データ発行部４０２がステップＳ７０４で行うものである。印刷権要求であると判断した場合には、ステップＳ６０３に進む。なお、図７のフローチャートには示さないが、印刷データ発行部４０２からＮＩＣ３０８を経由して受信した印刷権要求データはＲＡＭ３０３に格納される。ステップＳ６０３で、ＣＰＵ３０１は、ＲＡＭ３０３に格納されている印刷権要求データにアクセスし、印刷を要求したユーザのユーザ名及び印刷データ発行部４０２によって予測された予測印刷枚数を取得し、この予測印刷枚数をＲＡＭ３０３又はＣＰＵ３０１内のレジスタに格納しておく。
【００３１】
次に、ＣＰＵ３０１は、ステップＳ６０４において、ステップＳ６０３で取得したユーザ名をキーにして残り枚数データベース４０４にアクセスし、該ユーザが使用可能な紙の残り枚数を取得する。次いで、ＣＰＵ３０１は、ステップＳ６０５において、ステップＳ６０３において印刷権要求データから取得した予測印刷枚数とステップＳ６０４において残り枚数データベース４０４から取得した使用可能な用紙の残り枚数とを比較し、印刷権を発行可能であるか否かを判断する。つまり、ＣＰＵ３０１は、予測印刷枚数が使用可能な用紙の残り枚数以下である場合には、印刷権を発行可能であると判断し、予測印刷枚数が使用可能な用紙の残り枚数より多い場合には、印刷権を発行することはできないと判断する。
【００３２】
ＣＰＵ３０１は、印刷権を発行可能であると判断した場合には、ステップＳ６０６に進む。ステップＳ６０６で、ＣＰＵ３０１は、ステップＳ６０３で取得したユーザ名をキーにして残り枚数データベース４０４に再度アクセスし、ステップＳ６０４で取得した使用可能な用紙の残り枚数からステップＳ６０３で取得した予測印刷枚数を減算して得た値を新たな印刷可能残り枚数として残り枚数データベース４０４に書き込む。更に、ＣＰＵ３０１は、ステップＳ６０６において、ステップＳ６０３で取得した予測印刷枚数に等しい印刷可能枚数及び該ユーザ名に関するデータを含んだ印刷チケットデータを印刷権として発行する。そして、ステップＳ６０７において、ＣＰＵ３０１は、ＮＩＣ３０８を制御して、ステップＳ６０６で発行した印刷チケットデータを印刷データ発行部４０２に送信する。
【００３３】
一方、ＣＰＵ３０１は、ステップＳ６０５において印刷権を発行することができないと判断した場合には、ステップＳ６０８に進む。ステップＳ６０８で、ＣＰＵ３０１は、印刷部４０３に対してストック値吸い上げ要求を出して、ストック値データベース４０５に格納されている該ユーザのストック値を吸い上げた後、残り枚数データベース４０４にアクセスし、吸い上げた該ユーザのストック値を該ユーザの残り枚数データに加算して、これを新たな印刷可能残り枚数とする。この結果、該ユーザのストック値データベース４０５におけるストック値は０となる。続いて、ＣＰＵ３０１は、ステップＳ６０９において、ステップＳ６０５と同様の判断を再度行う。
【００３４】
この結果、印刷権の発行が可能であると判断した場合には、ステップＳ６０６に進む。一方、ストック値の吸い上げを行っても、なお印刷権の発行が可能ではないと判断した場合には、ステップＳ６１０に進む。ＣＰＵ３０１は、ステップＳ６１０において、印刷チケットの発行が不可である旨を示すデータを生成し、ＮＩＣ３０８を制御して印刷データ発行部４０２に送信する。
【００３５】
ステップＳ６０７で送信された印刷チケットデータ及びステップＳ６１０で送信されたデータが、印刷データ発行部４０２がステップＳ７０５で受領する印刷権発行部４０１からの返答である。
【００３６】
また、ステップＳ６０２において、ステップＳ６０１で取得したイベントが印刷権要求ではないと判断した場合には、ステップＳ６１１に進み、ステップＳ６１１において、ステップＳ６０１で取得したイベントの種類に応じたその他の処理を行う。
【００３７】
そして、ＣＰＵ３０１は、ステップＳ６０７、Ｓ６１０又はＳ６１１の処理を終えた後には、ステップＳ６０１に戻って、次のイベントが生じるまで待機する。
【００３８】
次に、印刷部４０３の動作について、フローチャートを参照しながら説明する。図８は、印刷部４０３の動作を示すフローチャートである。印刷部４０３の動作は、ネットワークプリンティングデバイス１１１又は１１２のＣＰＵ２０１によって制御され、実行される。
【００３９】
プログラムが開始すると、先ず、ステップＳ８０１において、ＣＰＵ２０１はイベント待ち状態となり、何らかのイベントが生じるまで待機する。そして、イベントが生じると、そのイベントを取得して、ステップＳ８０２に進む。
【００４０】
ステップＳ８０２において、ＣＰＵ２０１は、ステップＳ８０１で取得したイベントが印刷データ発行部４０２からの印刷要求であるか否かを判断する。ステップＳ８０１で取得したイベントが印刷データ発行部４０２からの印刷要求であると判断した場合には、ステップＳ８０３に進む。なお、図８のフローチャートには示さないが、印刷データ発行部４０２からＮＩＣ２０８を経由して受信した印刷チケットデータはＲＡＭ２０３に格納される。ステップ８０３で、ＣＰＵ２０１は、ＲＡＭ２０３に格納されている印刷チケットデータにアクセスし、該印刷チケットデータからユーザ名及び印刷可能枚数を取得する。そして、該ユーザ名をキーとしてストック値データベース４０５にアクセスし、印刷可能枚数をストック値に加算する。
【００４１】
その後、ステップＳ８０４において、ＣＰＵ２０１は要求された印刷が完了したか否かを判断する。印刷が完了していないと判断した場合には、ステップＳ８０５に進み、ステップＳ８０５において、ＣＰＵ２０１は、該ユーザ名をキーとしてストック値データベース４０５にアクセスし、ストック値が１以上であるか否かを判断する。
【００４２】
ステップＳ８０５においてストック値が１以上であると判断した場合には、ステップＳ８０６に進む。ステップＳ８０６において、ＣＰＵ２０１は物理的印刷システム（図示せず）を制御して１ページ分の印刷を行う。続いて、ステップＳ８０７において、ＣＰＵ２０１は、該ユーザ名をキーとしてストック値データベース４０５にアクセスし、ストック値を１枚分デクリメントする。その後、ステップＳ８０４に戻って印刷が完了したか否かの判断を再度行う。
【００４３】
ステップＳ８０５においてストック値が０以下であると判断した場合には、ステップＳ８０８に進む。ステップＳ８０８において、ＣＰＵ２０１は印刷を中止すべく物理的印刷システム（図示せず）等を制御して各種リソースを開放する。続いて、ステップＳ８０９において、ＣＰＵ２０１は、印刷が中止されたことを示すデータを生成し、ＮＩＣ２０８を制御して印刷データ発行部４０２にそのデータを送信する。
【００４４】
また、ステップＳ８０２において、ＣＰＵ２０１は、ステップＳ８０１で取得したイベントが印刷データ発行部４０２からの印刷要求ではないと判断した場合には、ステップＳ８１０に進み、ステップＳ８０１で取得したイベントが印刷権発行部４０１からのストック値吸い上げ要求であるか否かを判断する。
【００４５】
ＣＰＵ２０１は、ステップＳ８０１で取得したイベントが印刷権発行部４０１からのストック値吸い上げ要求であると判断した場合には、ステップＳ８１１に進む。ステップＳ８１１で、ＣＰＵ２０１は、ストック値データベース４０５にアクセスし、該ユーザのストック値を含むデータを生成し、ＮＩＣ２０８を制御して印刷権発行部４０１（残り枚数格納サーバ１１３）に対してそのデータを送信すると共に、ストック値データベース４０５の該ユーザに関するストック値データを０に更新する（クリア）。
【００４６】
一方、ＣＰＵ２０１は、ステップＳ８０１で取得したイベントが印刷権発行部４０１からのストック値吸い上げ要求ではないと判断した場合には、ステップＳ８１２に進み、ステップＳ８１２において、ステップＳ８０１で取得したイベントの種類に応じたその他の処理を行う。
【００４７】
このような本発明の実施形態では、ユーザ毎に設定された印刷部４０３において使用可能な用紙の残り枚数及び印刷データの印刷に要する用紙の枚数に基づいて印刷可能かの判断がステップＳ６０５において行われるため、ユーザ毎に設定された印刷可能枚数の上限値を超えることを防止することができる。また、この判断において、一旦印刷不可能と判断された場合でも、当該ユーザに対して既に印刷の権利が付与された枚数のうちで未使用の枚数（ストック値）があれば、それを加味してステップＳ６０９において再度判断が行われるため、ユーザの印刷可能枚数の上限値までの印刷権を正確に付与することができる。従って、印刷の度にジョブを残り枚数格納サーバ１１３（印刷権発行手段）に受け渡す必要がなく、また、プリンティングデバイス１１１及び１１２（印刷手段）は一旦印刷データを受け取ると、残り枚数格納サーバ１１３にその印刷が可能であるかを問い合わせる必要がないため、高速で動作することが可能である。
【００４８】
なお、ストック値は、多くの場合、印刷データ発行部４０２からの印刷チケットデータの受信の前と印刷完了後とでは一致しているが、印刷が途中で中断された場合等には、印刷完了後の方が高くなる。例えば、印刷可能枚数が２０枚である印刷チケットデータを印刷部４０３が受信したにも拘わらず、実際に印刷された用紙の枚数が１８枚である場合には、ストック値が２だけ増加することになる。
【００４９】
上記で説明した本実施形態に係るネットワークデバイス（プリンティングデバイス１１１及び１１２、残り枚数格納サーバ１１３並びに印刷クライアント１１４）で用いられるプログラムは、ＲＯＭ２０２又はＲＯＭ３０２に記憶されている必要はなく、外部からインストールされるプログラムがネットワークデバイス１１１〜１１４によって遂行されても良い。その場合、そのプログラムはＣＤ−ＲＯＭやフラッシュメモリやフレキシブルディスク等の記憶媒体により、又は電子メールやパソコン通信等のネットワークを介して、外部の記憶媒体からプログラムを含む情報群をネットワークデバイス１１１〜１１４にロードすることにより、ネットワークデバイス１１１〜１１４に供給される場合でも本発明は適用されるものである。
【００５０】
図９は、記憶媒体の一例であるＣＤ−ＲＯＭのメモリマップを示す図である。ディレクトリ情報を記憶してある領域９９９９は、インストールプログラムを記憶してある領域９９９８及びネットワークデバイス制御プログラムを記憶してある領域９９９７の位置を示している。
【００５１】
上述のネットワークデバイス制御プログラムが各ネットワークデバイス１１１〜１１４にインストールされる際には、先ずインストールプログラムを記憶してある領域９９９８に記憶されているインストールプログラムがシステムにロードされ、ＣＰＵ２０１又は３０１によって実行される。次に、ＣＰＵ２０１又は３０１によって実行されるインストールプログラムが、ネットワークデバイス制御プログラムを記憶してある領域９９９７からネットワークデバイス制御プログラムを読み出して、ハードディスク２１１又は３１１に格納する。
【００５２】
本実施形態では、クライアントサーバモデルを基本にして、使用権限の発行者を加えて、三者の間で制御情報が受け渡しされる。これは、従来のクライアントサーバとの親和性を考慮したためでもあるが、システム全体、特に印刷エンジンがフルスピードで動作することを第一に考慮し、プリンタがサーバにいちいち問い合わせしなくてもよい構成とするためである。
【００５３】
サーバコンピュータがジョブを受け、判断の上でそのジョブをサーバがプリンタ装置に投げる構成（プリントサーバ制限方式）と比べ、本実施形態によれば、全てのジョブがサーバコンピュータに集中することもなく、大規模環境での負荷がない。また、プリンタがジャムを生じた場合でも、印刷する権利のうちの残り枚数をサーバに戻すことが可能である。また、プリンタがサーバに印刷してよいかどうかを問い合わせ、よいと判断されて初めて印刷処理を開始する構成と比べて、最初の１ページを出すまでの時間の点で本実施形態は決定的に有利である。
【００５４】
なお、本発明は、複数の機器（例えばホストコンピュータ、インタフェース機器、リーダ等）から構成されるシステム又は統合装置に適用しても、一つの機器からなる装置に適用してもよい。
【００５５】
また、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム又はは装置に供給し、そのシステム又は装置のコンピュータ（概念上、ＣＰＵ及びＭＰＵを含む）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、本発明の目的が達成される。
【００５６】
この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００５７】
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等を用いることができる。
【００５８】
また、コンピュータが読み出したプログラムコードを実行することによって、前述した実施形態の機能が実現される他、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ等が実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【００５９】
更に、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【００６０】
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体から、そのプログラムをパソコン通信等の通信ラインを介して要求者にそのプログラムを配信する場合にも適用できる。
【図面の簡単な説明】
【００６１】
【図１】本発明の実施形態に係る印刷システムを示す図である。
【図２】ネットワークプリンティングデバイス１１１及び１１２の内部構成を示す図である。
【図３】残り枚数格納サーバ１１３及び印刷クライアント１１４の内部構成を示す図である。
【図４】ネットワークプリンティングデバイス１１１及び１１２、残り枚数格納サーバ１１３並びに印刷クライアント１１４の関係を示す機能構成図である。
【図５】（ａ）及び（ｂ）は、夫々残り枚数データベース４０４、ストック値データベース４０５に格納されたデータの一例を示す図である。
【図６】印刷データ発行部４０２の動作を示すフローチャートである。
【図７】印刷権発行部４０１の動作を示すフローチャートである。
【図８】印刷部４０３の動作を示すフローチャートである。
【図９】記憶媒体の一例であるＣＤ−ＲＯＭのメモリマップを示す図である。
【符号の説明】
【００６２】
１１０：ネットワーク
１１１、１１２：プリンティングデバイス
１１３：残り枚数格納サーバ
１１４：印刷クライアント
２００：プリンティングデバイス
３００：情報処理装置
２０１：ＣＰＵ
２０２：ＲＯＭ
２０３：ＲＡＭ
２０４：システムバス
２０５：パネルコントローラ
２０６：ＬＣＤコントローラ
２０７：ディスクコントローラ
２０８：ネットワークインタフェースカード
２０９：ボタン
２１０：液晶ディスプレイ
２１１：ハードディスク
２１２：タイマ
３０１：ＣＰＵ
３０２：ＲＯＭ
３０３：ＲＡＭ
３０４：システムバス
３０５：キーボードコントローラ
３０６：ディスプレイコントローラ
３０７：ディスクコントローラ
３０８：ネットワークインタフェースカード
３０９：キーボード
３１０：ディスプレイ
３１１：ハードディスク
３１２：タイマ
４０１：印刷権発行部
４０２：印刷データ発行部
４０３：印刷部
４０４：残り枚数データベース
４０５：ストック値データベース
９９９７〜９９９９：領域
【図１】
2005216244.tif 000003
【図２】
2005216244.tif 000004
【図３】
2005216244.tif 000005
【図４】
2005216244.tif 000006
【図５】
2005216244.tif 000007
【図６】
2005216244.tif 000008
【図７】
2005216244.tif 000009
【図８】
2005216244.tif 000010
【図９】
2005216244.tif 000011