(57)【要約】【課題】印刷可能枚数制限により大量印刷による装置占有を防止し他の印刷ジョブを速やかに処理し、該他の印刷ジョブ処理後、枚数制限を超過した分の印刷を手間なく行う。【解決手段】本発明に係る印刷システムは、複数の端末と、前記端末からの印刷ジョブを実行するプリンタとがネットワークを介して接続され、複数の端末から受信した印刷ジョブを制御する印刷システムであって、プリンタは、印刷ジョブの印刷枚数をカウントし印刷枚数が印刷可能上限枚数を超えた場合、印刷ジョブに対してジョブリセット処理を行い、第一の端末にカウントの情報を付して未印刷分の印刷ジョブの再送信要求を行い、第一の端末は、先に送信した印刷ジョブに関する再送信要求を受信し、カウントの情報に基づき送信した印刷ジョブから未印刷分の印刷ジョブを生成しプリンタに送信する。【選択図】図５
2010260234.tif 000002
【特許請求の範囲】
【請求項１】
複数の端末と、前記端末からの印刷ジョブを実行するプリンタとがネットワークを介して接続され、前記複数の端末から受信した印刷ジョブを制御する印刷システムであって、
第一の端末は、
印刷ジョブを生成する印刷ジョブ生成手段と、
前記生成手段により生成された印刷ジョブを記憶する記憶手段と、
前記生成手段により生成された印刷ジョブを前記プリンタに送信する印刷ジョブ送信手段と、
前記プリンタから、先に送信した印刷ジョブに関する再送信要求を受信する印刷ジョブ再送信要求受信手段とを有し、
前記印刷ジョブ生成手段は、前記再送信要求に含まれる印刷処理済み印刷枚数のカウントの情報に基づき、前記記憶手段に記憶された印刷ジョブから、未印刷分の印刷ジョブを生成し、前記印刷ジョブ送信手段は、当該未印刷分の印刷ジョブを前記プリンタに送信し、
前記プリンタは、
前記送信手段により送信された印刷ジョブを受付ける印刷ジョブ受付手段と、
前記受付手段により受付けられた印刷ジョブを実行する印刷手段と、
前記印刷手段により実行された印刷ジョブの印刷枚数をカウントし、一の印刷ジョブにおける所定の印刷可能上限枚数と前記印刷枚数とを前記カウントにより比較し、前記印刷枚数が前記所定の印刷可能上限枚数を超えた場合、当該印刷ジョブに対してジョブリセット処理を行う印刷制限手段と、
前記印刷制限手段によりジョブリセット処理されたとき、前記第一の端末に、前記カウントの情報を付して、未印刷分の印刷ジョブの前記再送信要求を行う再送信要求手段と、
を有することを特徴とする印刷システム。
【請求項２】
前記所定の印刷可能上限枚数は、前記第一の端末により予め設定され、
前記印刷ジョブ生成手段は、前記所定の印刷可能上限枚数が設定された上限枚数付印刷ジョブを含む印刷ジョブを生成すること、
を特徴とする請求項１に記載の印刷システム。
【請求項３】
前記所定の印刷可能上限枚数は、前記プリンタにより予め設定されること、
を特徴とする請求項１に記載の印刷システム。
【請求項４】
前記プリンタの、
前記印刷ジョブ受付手段は、前記印刷手段により実行される順に印刷ジョブを格納する為のジョブキューに、前記所定の印刷可能上限枚数が設定されていない第二の端末からの印刷ジョブを、前記第一の端末からの前記未印刷分の印刷ジョブより優先して順にスタックすること、
を特徴とする請求項２に記載の印刷システム。
【請求項５】
前記プリンタの、
前記印刷制限手段は、前記印刷手段が、前記所定の印刷可能上限枚数が設定された印刷ジョブを実行中に、前記印刷ジョブ受付手段が第二の端末からの印刷ジョブを受付けた場合、動作すること、
を特徴とする請求項２ないし４何れか一項に記載の印刷システム。
【請求項６】
複数の端末と、前記端末からの印刷ジョブを実行するプリンタとがネットワークを介して接続され、前記複数の端末から受信した印刷ジョブを制御する印刷システムにおける印刷方法であって、
第一の端末は、
印刷ジョブを生成する印刷ジョブ生成手順と、
前記生成手順により生成された印刷ジョブを記憶する記憶手順と、
前記生成手順により生成された印刷ジョブを前記プリンタに送信する印刷ジョブ送信手順と、
前記プリンタから、先に送信した印刷ジョブに関する再送信要求を受信する印刷ジョブ再送信要求受信手順とを有し、
前記印刷ジョブ生成手順は、前記再送信要求に含まれる印刷処理済み印刷枚数のカウントの情報に基づき、前記記憶手順で記憶された印刷ジョブから、未印刷分の印刷ジョブを生成し、前記印刷ジョブ送信手順は、当該未印刷分の印刷ジョブを前記プリンタに送信し、
前記プリンタは、
前記送信手順により送信された印刷ジョブを受付ける印刷ジョブ受付手順と、
前記受付手順により受付けられた印刷ジョブを実行する印刷手順と、
前記印刷手順により実行された印刷ジョブの印刷枚数をカウントし、一の印刷ジョブにおける所定の印刷可能上限枚数と前記印刷枚数とを前記カウントにより比較し、前記印刷枚数が前記所定の印刷可能上限枚数を超えた場合、当該印刷ジョブに対してジョブリセット処理を行う印刷制限手順と、
前記印刷制限手順によりジョブリセット処理されたとき、前記第一の端末に、前記カウントの情報を付して、未印刷分の印刷ジョブの前記再送信要求を行う再送信要求手順と、
を有することを特徴とする印刷方法。
【請求項７】
前記所定の印刷可能上限枚数は、前記第一の端末により予め設定され、
前記印刷ジョブ生成手順は、前記所定の印刷可能上限枚数が設定された上限枚数付印刷ジョブを含む印刷ジョブを生成すること、
を特徴とする請求項６に記載の印刷方法。
【請求項８】
前記所定の印刷可能上限枚数は、前記プリンタにより予め設定されること、
を特徴とする請求項６に記載の印刷方法。
【請求項９】
前記プリンタの、
前記印刷ジョブ受付手順は、前記印刷手順により実行される順に印刷ジョブを格納する為のジョブキューに、前記所定の印刷可能上限枚数が設定されていない第二の端末からの印刷ジョブを、前記第一の端末からの前記未印刷分の印刷ジョブより優先して順にスタックすること、
を特徴とする請求項７に記載の印刷方法。
【請求項１０】
前記プリンタの、
前記印刷制限手順は、前記印刷手順が、前記所定の印刷可能上限枚数が設定された印刷ジョブを実行中に、前記印刷ジョブ受付手順が第二の端末からの印刷ジョブを受付けた場合、動作すること、
を特徴とする請求項７ないし９何れか一項に記載の印刷方法。
【請求項１１】
請求項６ないし１０何れか一項に記載の印刷方法において、前記第一の端末に、
前記印刷ジョブ生成手順と、前記記憶手順と、前記印刷ジョブ送信手順と、前記印刷ジョブ再送信要求受信手順と、
を実行させるためのプリンタドライバプログラム。
【請求項１２】
請求項１１に記載のプリンタドライバプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷システム、印刷方法及びプリンタドライバプログラムの分野に関する。
【背景技術】
【０００２】
プリンタ等の画像形成装置をパーソナルコンピュータ等の端末と共にネットワーク上に接続し、端末にて処理したデータを画像形成装置に転送して印刷するネットワークプリントシステムが、従来から実現されている。このようなプリントシステムにおいて、大量印刷が問題となる場合がある。
【０００３】
例えば、ある端末から大量の印刷要求がなされると、画像形成装置がしばらくの間その印刷処理だけに占有されてしまう。その大量印刷中には他の端末からは印刷を行えず、大量印刷が終わるのを待ってからようやく他の端末からの印刷ができるようになる。
【０００４】
このような大量印刷に関する問題を解決する為、一つに、印刷可能枚数の上限を設定するという方法がある。プリンタ本体側或いは端末の管理アプリケーションで、印刷可能枚数上限値を指定する技術が知られており、この技術によれば、端末から一度に印刷を行なえる印刷可能上限枚数を設け、印刷枚数が決められた印刷可能上限枚数に到達すると、該印刷ジョブに対してジョブリセット（ジョブキャンセル）を行い、他の印刷ジョブが速やかに実行できるようになる。例えば、１０００枚という大量の印刷処理中に発生した他の端末からの印刷要求はジョブキューに一旦スタックされる。先の大量の印刷処理が印刷可能枚数１００枚に到達すると、該印刷ジョブに対してジョブリセットがなされ該大量の印刷処理が終了される。そして、ジョブキューにスタックされた他の端末からの印刷要求は速やかに実行される。
【０００５】
特許文献１には、印刷制限をつける目的で、印刷中に上限に到達した時、印刷中断する発明が開示されている。また、特許文献２には、印刷制限をつける目的で、印刷中、何らかのタイミングで本体側の印刷ジョブの出力処理を一時停止させ、サーバとのやりとりで、その時点の印刷実績枚数情報をサーバに渡し、サーバが、その情報と印刷実績枚数と定められている上限値を比較し、上限に到達していれば印刷をキャンセル、超過していなければジョブの印刷（出力処理）を再開する発明が開示されている。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記の印刷可能枚数の上限を設定するという方法では、決められた印刷可能枚数に到達すると、当該印刷ジョブに対してジョブリセットが行われる。この為、ジョブリセットによりキャンセルされ印刷できなかった分のデータの印刷を行うには、ユーザが自ら残り分の印刷データを調整しつつ印刷ジョブを再作成しないとならないという問題があった。とはいっても、仮に印刷可能枚数の上限値を外してしまうと、プリンタが大量印刷のジョブを処理している間、他の印刷ジョブの処理は行うことができない。従って、昼間など他のユーザの使用が頻繁な時間帯では、大量の印刷処理はジョブリセットされる可能性が高く、ユーザは、大量の印刷処理を行う場合、例えば印刷可能上限枚数以内（例えば１００枚）単位で印刷要求を行って、少しずつ印刷せざるを得ない。
【０００７】
特許文献１や特許文献２に記載される発明においても、同様に、印刷可能枚数を超える分の印刷ジョブはキャンセル又破棄されてしまい、残り分を印刷したい場合には、ユーザ自ら残り分の印刷データを再作成しなくてはならず、非常に手間がかかっていた。
【０００８】
そこで本発明では上記のような問題に鑑みて、印刷可能枚数制限により大量印刷による装置占有を防止し他の印刷ジョブを速やかに処理するとともに、該他の印刷ジョブ処理後、印刷可能枚数制限を超過した分の印刷を手間なく行える印刷システム、印刷方法及びプリンタドライバプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記課題を解決するため、本発明に係る印刷システムは、複数の端末と、前記端末からの印刷ジョブを実行するプリンタとがネットワークを介して接続され、前記複数の端末から受信した印刷ジョブを制御する印刷システムであって、第一の端末は、印刷ジョブを生成する印刷ジョブ生成手段と、前記生成手段により生成された印刷ジョブを記憶する記憶手段と、前記生成手段により生成された印刷ジョブを前記プリンタに送信する印刷ジョブ送信手段と、前記プリンタから、先に送信した印刷ジョブに関する再送信要求を受信する印刷ジョブ再送信要求受信手段とを有し、前記印刷ジョブ生成手段は、前記再送信要求に含まれる印刷処理済み印刷枚数のカウントの情報に基づき、前記記憶手段に記憶された印刷ジョブから、未印刷分の印刷ジョブを生成し、前記印刷ジョブ送信手段は、当該未印刷分の印刷ジョブを前記プリンタに送信し、前記プリンタは、前記送信手段により送信された印刷ジョブを受付ける印刷ジョブ受付手段と、前記受付手段により受付けられた印刷ジョブを実行する印刷手段と、前記印刷手段により実行された印刷ジョブの印刷枚数をカウントし、一の印刷ジョブにおける所定の印刷可能上限枚数と前記印刷枚数とを前記カウントにより比較し、前記印刷枚数が前記所定の印刷可能上限枚数を超えた場合、当該印刷ジョブに対してジョブリセット処理を行う印刷制限手段と、前記印刷制限手段によりジョブリセット処理されたとき、前記第一の端末に、前記カウントの情報を付して、未印刷分の印刷ジョブの前記再送信要求を行う再送信要求手段とを有することを特徴とする。
【００１０】
また上記課題を解決するため、前記印刷システムにおいて、前記所定の印刷可能上限枚数は、前記第一の端末により予め設定され、前記印刷ジョブ生成手段は、前記所定の印刷可能上限枚数が設定された上限枚数付印刷ジョブを含む印刷ジョブを生成することを特徴とする。
【００１１】
また上記課題を解決するため、前記印刷システムにおいて、前記所定の印刷可能上限枚数は、前記プリンタにより予め設定されることを特徴とする。
【００１２】
また上記課題を解決するため、前記印刷システムにおいて、前記プリンタの、前記印刷ジョブ受付手段は、前記印刷手段により実行される順に印刷ジョブを格納する為のジョブキューに、前記所定の印刷可能上限枚数が設定されていない第二の端末からの印刷ジョブを、前記第一の端末からの前記未印刷分の印刷ジョブより優先して順にスタックすることを特徴とする。
【００１３】
また上記課題を解決するため、前記印刷システムにおいて、前記プリンタの、前記印刷制限手段は、前記印刷手段が、前記所定の印刷可能上限枚数が設定された印刷ジョブを実行中に、前記印刷ジョブ受付手段が第二の端末からの印刷ジョブを受付けた場合、動作することを特徴とする。
【００１４】
なお、本発明の構成要素、表現または構成要素の任意の組合せを、方法、装置、システム、コンピュータプログラム、記録媒体などに適用したものも本発明の態様として有効である。
【発明の効果】
【００１５】
本発明によれば、印刷可能枚数制限により大量印刷による装置占有を防止し他の印刷ジョブを速やかに処理するとともに、該他の印刷ジョブ処理後、印刷可能枚数制限を超過した分の印刷を手間なく行える印刷システム、印刷方法及びプリンタドライバプログラムを提供することができる。
【図面の簡単な説明】
【００１６】
【図１】本発明に係る印刷システムの一実施形態におけるネットワーク図である。
【図２】本発明の実施形態に係るプリンタ１のハードウェア構成の一例を示す図である。
【図３】本発明の実施形態に係る端末２のハードウェア構成の一例を示す図である。
【図４】プリンタ１及び端末２の一実施形態の主要構成を示す機能ブロック図である。
【図５】本発明に係る印刷システムの全体的な動作の流れを説明する概念図である。
【図６】端末２ａの印刷ジョブ生成処理を説明するフローチャートである。
【図７】プリンタ１の印刷処理及びジョブリセット処理を説明するフローチャートである。
【図８】印刷ジョブ格納処理Ｂ１を説明するフローチャートである。
【図９】ジョブキューへのジョブスタック順序を説明する図である。
【図１０】印刷ジョブ実行処理Ｂ２を説明するフローチャートである。
【図１１】端末２ａの印刷ジョブ再生成処理を説明するフローチャートである。
【図１２】端末２ａの印刷ジョブ生成処理を説明するフローチャートである。
【図１３】印刷ジョブ格納処理Ｂ１を説明するフローチャートである。
【図１４】ジョブキューへのジョブスタック順序を説明する図である。
【図１５】印刷ジョブ実行処理Ｂ２を説明するフローチャートである。
【図１６】端末２ａの印刷ジョブ再生成処理を説明するフローチャートである。
【発明を実施するための形態】
【００１７】
以下、本発明を実施するための形態を各実施形態において図面を用いて説明する。
【００１８】
[実施形態１]
＜構成＞
はじめに、具体的な発明の内容を説明する前に、本発明を実施するにあたっての印刷環境（構成）について説明する。図１は、本発明に係る印刷システムの一実施形態におけるネットワーク図である。プリンタ１及び端末２が、ネットワーク３を介して接続されている。プリンタ１は、例えば画像形成装置をはじめとするプリンタ装置であり、端末２から印刷指示を受けて該印刷指示を実行する。端末２は、印刷指示を行い、プリンタドライバプログラム（以下、プリンタドライバという）を有するユーザ端末である。端末２は、端末２ａ及び端末２ｂを含むが、ネットワーク３上には複数の端末が接続される。説明上、端末２ａはプリンタ１に対して大量の印刷ジョブを発生させ、端末２ｂはプリンタ１が端末２ａからの大量の印刷ジョブ処理中に、印刷ジョブ（大量でない）を発生させる。
【００１９】
（プリンタ）
本発明の実施形態に係るプリンタ１には、例えば、プリンタ、コピーおよびスキャナなどの複数の機能を一つの筐体内に収納した複合機が適用できる。現在のデジタル複合機（MFP：Multi-Function Peripheral）は、ＣＰＵの性能向上、メモリの大容量化、通信技術の高速化及びデジタル画像技術の高度化等、ＭＦＰに関連する技術の進化に伴い、単に前述のデジタル複写機としての機能だけでなく、例えば、ネットワーク（メール含む）やファクシミリ等で画像や文書などのデータの送受信を可能とし、ユーザ環境において様々な利用形態を提供するものである。従って、近年のオフィス環境等でプリンタは、複数のユーザに同時に共有され使用されている場合が多い。
【００２０】
図２は、本発明の実施形態に係るプリンタ１のハードウェア構成の一例を示す図である。本実施形態に係るプリンタ１の一実施形態としての画像形成装置は、操作パネル１１と、記憶メディアＩ／Ｆ１２と、コントローラ１３と、データ通信Ｉ／Ｆ１４と、スキャナ１５と、プロッタ１６と、ＨＤＤ（Hard Disk Drive）１７とから構成され、それぞれ相互に接続されている。
【００２１】
操作パネル１１は、入力装置１１aと表示装置１１bとを有しており、入力装置１１aは、ハードキーなどで構成され、装置本体に各操作信号を入力するのに用いられる。また、表示装置１１bは、ディスプレイなどで構成され、例えば画像形成動作に関する各種情報を表示する。データ通信Ｉ／Ｆ１４は、インタフェース装置１４aを有しており、画像形成装置をネットワークやファックスなどのデータ伝送路に接続するインタフェースである。ＨＤＤ１７は、画像形成装置で取り扱われる受信文書データや読み取り画像データなどの各種データを格納している。また、ＨＤＤ１７は、これらの各種データを、所定のファイルシステムやＤＢ（Data Base）により管理している。
【００２２】
ＨＤＤ１７に格納される各種データの中には、記録媒体１２bから入力されるデータを含む。記録媒体１２bは、記憶メディアＩ／Ｆ１２が有するドライブ装置１２aにセットされ各種データが記録媒体１２bからドライブ装置１２aを介してＨＤＤ１７に格納される。
【００２３】
コントローラ１３は、ＲＯＭ（Read Only Memory）１３a、ＲＡＭ（Random Access Memory）１３b、及びＣＰＵ（Central Processing Unit）１３cとを有しており、ＲＯＭ１３aは、画像形成装置が起動されるときに実行されるプログラムや各種データを格納している。また、ＲＡＭ１３bは、ＲＯＭ１３aやＨＤＤ１７から読み出された各種プログラムやデータを一時保持する。更に、ＣＰＵ１３cは、ＲＡＭ１３bが一時保持しているプログラムを実行する。コントローラ１３は、例えば、データ通信Ｉ／Ｆ１４を介して印刷データを受信した場合に、ＲＯＭ１３aからＲＡＭ１３b上に読み出された、ＰＤＬ（Page Description Language）を解釈可能なプログラム（ＰＤＬパーサ）をＣＰＵ１３cにより実行し、印刷データを解釈してビットマップイメージを生成する。
【００２４】
スキャナ１５は、画像読取装置１５aを有しており、読み取り面に配置された原稿を光学的に読み取り画像データを生成する。プロッタ１６は、印刷装置１６aを有しており、例えば、電子写真プロセス方式によってビットマップイメージを記録紙に印刷する。
【００２５】
このように、本実施形態に係るプリンタ１の一実施形態としての画像形成装置は、上記ハードウェア構成により、コピー、プリンタ、ファクシミリ、スキャナなどの複数の機能を実現している。
【００２６】
（端末）
図３は、本発明の実施形態に係る端末２のハードウェア構成の一例を示す図である。端末２は、例えば一般的なパーソナルコンピュータからなるユーザ端末でよく、主要な構成として、ＣＰＵ２１、ＲＯＭ（Read Only Memory）２２、ＲＡＭ（Random Access Memory）２３、補助記憶装置２４、記憶媒体読取装置２５、入力装置２６、表示装置２７、及び通信装置２８を含む構成である。
【００２７】
ＣＰＵ２１は、マイクロプロセッサ及びその周辺回路から構成され、端末１全体を制御する回路である。また、ＲＯＭ２２は、ＣＰＵ２１で実行される所定の制御プログラム（ソフトウェア部品）を格納するメモリであり、ＲＡＭ２３は、ＣＰＵ２１がＲＯＭ２２に格納された所定の制御プログラム（ソフトウェア部品）を実行して各種の制御を行うときの作業エリア（ワーク領域）として使用するメモリである。
【００２８】
補助記憶装置２４は、汎用のＯＳ（Operating System）、前述のプリンタドライバプログラムを含む各種情報を格納する装置であり、不揮発性の記憶装置であるＨＤＤ（Hard Disk Drive）などが用いられる。なお、上記各種情報は、補助記憶装置２４以外にも、ＣＤ−ＲＯＭ（Compact Disk - ROM）やＤＶＤ（Digital Versatile Disk）などの記憶媒体やその他のメディアを記憶されてもよく、これらの記憶媒体に格納された各種情報は、記憶媒体読取装置２５などのドライブ装置を介して読み取ることが可能である。よって、必要に応じて記録媒体を記憶媒体読取装置２５にセットすることで、プリンタドライバを含む各種情報が得られる。
【００２９】
入力装置２６は、ユーザが各種入力操作を行うための装置である。入力装置２６は、マウス、キーボード、表示装置２７の表示画面上に重畳するように設けられたタッチパネルスイッチなどを含む。表示装置２７は、プリンタドライバが表示する印刷設定画面等を表示画面に表示する装置である。表示装置２７は、例えばＬＣＤ(Liquid Crystal Display)、ＣＲＴ(Cathode Ray Tube)などから構成される。次に、通信装置２８は、ネットワーク３を介してプリンタ１との通信を行う装置である。有線ネットワークや無線ネットワークなど含む各種ネットワーク形態に応じた通信をサポートする。
【００３０】
（機能）
次に、本発明に係る印刷システムにおいて、プリンタ１及び端末２の各機能について説明する。本発明に係る印刷システムにおいて、端末２は、一の印刷ジョブにおける印刷可能上限枚数を設定して、プリンタ１に印刷ジョブを送信できる。プリンタ１は、端末２からの印刷ジョブを実行する。印刷枚数が一の印刷ジョブにおいて印刷可能上限枚数を越えた場合、一の端末からの印刷ジョブの占有を制限するため、印刷可能上限枚数制限付の印刷ジョブに対してジョブリセット（処理）を行う。なお、ジョブリセットは、当該印刷ジョブ実行中に、他の端末（例えば端末２ｂ）から印刷ジョブが受信された場合にのみ行えばよい。他の端末から特に印刷要求がなされていないときは、プリンタ１は大量印刷によって占有されたとしても問題はないからである。そしてジョブリセットがなされると、当該印刷ジョブはキャンセルされるため、未だ印刷されていない分の印刷ジョブが存在する。従って、本発明に係るプリンタ１は端末２に対して未印刷分の印刷ジョブの再送信要求を行って、未だ印刷されていない分の印刷を行えるようにする。
【００３１】
図４は、プリンタ１及び端末２の一実施形態の主要構成を示す機能ブロック図である。プリンタ１は、アプリケーション２０１、ＵＩ（User Interface）部２０２、印刷ジョブ生成部２０３、記憶部２０４、及び送受信部２０５を含む構成である。なお、ＵＩ部２０２、印刷ジョブ生成部２０３、及び記憶部２０４は、プリンタドライバ２００に含まれる。また端末２は、印刷ジョブ受付部１０１、ジョブキュー１０２、印刷部１０３、印刷制限部１０４、及び再送信要求部１０５を含む構成である。より詳しくは後述する＜動作＞において説明するため、ここでは各機能について簡単に説明する。
【００３２】
まず端末２に関し、アプリケーション２０１は、特定の仕事を処理するために作られたプログラムである。例えば、ワープロソフト等であり、アプリケーション２０１で作成された文書や画像等が、プリンタドライバ２００により印刷ジョブとなって、プリンタ１に送信される。
【００３３】
ＵＩ部２０２は、アプリケーション２０１では設定できないプリンタ固有の設定を行なうためのユーザインターフェイスを提供する。例えば、プリンタドライバ２００によるプリンタ設定画面を作成し提供する。またプリンタ設定画面からは、管理者等により、一の印刷ジョブにおける印刷可能上限枚数を設定することができる。
【００３４】
印刷ジョブ生成部２０３は、アプリケーション２０１から数値データとして与えられた文字、物体や図形に関する情報を計算によって画像化し、印刷ジョブを作成する機能を有している。またＵＩ部２０２によるプリンタ設定画面で設定された内容を反映して印刷ジョブを作成する。たとえば、印刷可能上限枚数が設定されている場合には、印刷可能上限枚数の情報を付して（埋め込んで）印刷ジョブを作成する（以下、上限枚数付印刷ジョブという場合がある）。
【００３５】
記憶部２０４は、印刷ジョブ生成部２０３により生成された上限枚数付印刷ジョブを記憶する。詳細は後述するが、記憶部２０４に記憶された上限枚数付印刷ジョブは、プリンタ１からの印刷ジョブの再送信要求を受けたとき利用される。
【００３６】
プリンタドライバ２００は、ＵＩ部２０２、印刷ジョブ生成部２０３、及び記憶部２０４を含む。プリンタドライバ２００は、プリンタ１を制御するためのソフトウエアであるデバイスドライバの一種である。プリンタドライバはOS（Operating System）の管理下にあり、ユーザがアプリケーション２０１から印刷を実行すると、OSからの処理の依頼を受けたプリンタドライバ２００が実際の印刷データ処理やプリンタ１の制御を行う。
【００３７】
送受信部２０５は、印刷ジョブ生成部２０３により生成された印刷ジョブを前記プリンタに送信する。また、プリンタ１から後述する印刷ジョブの再送信要求を受信する。
【００３８】
次いでプリンタ１に関し、印刷ジョブ受付部１０１は、端末２の送受信部２０５により送信された上限枚数付印刷ジョブを含む印刷ジョブを受付ける。
【００３９】
ジョブキュー１０２は、印刷ジョブ受付部１０１で受付けた印刷ジョブを格納するジョブキューである。ジョブキュー１０２内の印刷ジョブは、スタック順に処理される。
【００４０】
印刷部１０３は、ジョブキュー１０２内の印刷ジョブを実行する。具体的には、印刷ジョブを実行するので、印刷処理を行う。
【００４１】
印刷制限部１０４は、印刷部１０３により実行された上限枚数付印刷ジョブの印刷枚数をカウントし、印刷可能上限枚数と印刷枚数とをカウントにより比較し、印刷枚数が印刷可能上限枚数を超えた場合、その上限枚数付印刷ジョブに対してジョブリセット処理を行う機能を有している。つまり、印刷部１０３により実行された印刷処理が、所定の印刷可能上限枚数を超えると、印刷部１０３に対して当該印刷処理をキャンセルするよう制御する。
【００４２】
再送信要求部１０５は、印刷制限部１０４によりジョブリセット処理されたとき、端末２に、カウントの情報（印刷処理済枚数の情報）を付して、未印刷分の印刷ジョブの再送信要求を行う機能を有している。
【００４３】
なおこれらの機能は、実際には前述のＣＰＵ１３ｃ及びＣＰＵ２１が実行するプログラムによりコンピュータ（プリンタ１及び端末２）に実現させるものである。次に、本発明に係る印刷システムの動作について詳しく説明していく。
【００４４】
＜動作＞
次に、本発明に係る印刷システムの動作について説明する。本発明に係る印刷システムにおいて、プリンタ１は、端末２からの上限枚数付印刷ジョブを実行するが、印刷可能上限枚数を越えた場合、一の端末からの印刷ジョブの占有を制限するため、印刷可能上限枚数付の印刷ジョブに対してジョブリセット（処理）を行う。そしてジョブリセットがなされると、当該印刷ジョブはキャンセルされるため、未だ印刷されていない分の印刷ジョブが存在する。従って、プリンタ１は端末２に対して未印刷分の印刷ジョブの再送信要求を行って、未だ印刷されていない分の印刷を行えるようにする。以下説明を行う。
【００４５】
図５は、本発明に係る印刷システムの全体的な動作の流れを説明する概念図である。説明上、端末２ａはプリンタ１に対して大量の印刷ジョブを発生させ、端末２ｂはプリンタ１が端末２ａからの大量の印刷ジョブ処理中に、印刷ジョブ（大量でない）を発生させる。以下、図に示されるＡ、Ｂ、Ｄについて詳しく説明し、Ｃ、Ｅについては適宜触れる。
【００４６】
（１）印刷ジョブ生成処理Ａ
印刷ジョブ生成処理Ａは、端末２ａにおいて、ユーザがアプリケーション２０１から印刷を実行すると、プリンタドライバ２００が印刷ジョブを生成し、プリンタ１に印刷ジョブを送信するまでの処理である。図６は、端末２ａの印刷ジョブ生成処理を説明するフローチャートである。
【００４７】
まず、端末２ａのアプリケーション２０１から印刷要求（命令）が行われる。ここでは大量の印刷がなされるものとし、例えば、印刷用紙で５５０枚分の印刷がなされるものとする。なお以下では本発明の説明上、大量の印刷とは、印刷可能上限枚数を超える印刷といい、大量でない印刷とは、印刷可能上限枚数を超えない印刷をいう。
【００４８】
印刷ジョブ生成部２０３は、印刷ジョブを生成するにあたってまず、印刷可能上限枚数が設定されているか判定する（ステップＡ１）。上述したように、ＵＩ部２０２によるプリンタ設定画面から一の印刷ジョブにおける印刷可能上限枚数を設定することができる。また上限枚数の値も設定できる。ここでは、例えば印刷可能上限枚数は１００枚と設定されているとする。
【００４９】
印刷可能上限枚数が設定されている場合は、印刷可能上限枚数（値）を取得する（ステップＡ２）。ここでは印刷可能上限枚数は１００枚として取得される。
【００５０】
そして印刷ジョブ生成部２０３は、アプリケーション２０１から数値データとして与えられた文字、物体や図形に関する情報を計算によって画像化し、印刷ジョブを作成する（ステップＡ３）。ここで、ＵＩ部２０２によるプリンタ設定画面で設定された内容を反映して印刷ジョブを作成するので、印刷可能上限枚数が設定されている場合には、印刷可能上限枚数の情報を付して（埋め込んで）上限枚数付印刷ジョブを作成する。勿論、印刷可能上限枚数が設定されていない場合は、印刷可能上限枚数（値）は取得されず、印刷可能上限枚数の情報も付されない、単なる印刷ジョブが生成される。
【００５１】
記憶部２０４は、印刷ジョブ生成部２０３により生成された上限枚数付印刷ジョブを記憶する（ステップＡ４）。詳細は後述するが、記憶部２０４の上限枚数付印刷ジョブは、プリンタ１からの印刷ジョブの再送信要求を受けたとき利用される。なお、印刷可能上限枚数が設定されていない、上記単なる印刷ジョブは記憶されない（する必要がない）。
【００５２】
送受信部２０５は、印刷ジョブ生成部２０３により生成された上限枚数付印刷ジョブを含む印刷ジョブをプリンタ１に送信する（ステップＡ５）。ここで、送信された上限枚数付印刷ジョブの内容を確認すれば、印刷可能上限枚数１００枚の情報が付され、印刷用紙で５５０枚分の印刷ジョブである。プリンタ１で５５０枚分の印刷ジョブを完了するには、例えば１０〜２０分程度の時間を要し、プリンタ１はその間占有される。
【００５３】
（２）印刷処理及びジョブリセット処理Ｂ
印刷処理及びジョブリセット処理Ｂでは、プリンタ１において、上限枚数付印刷ジョブが受付けられ、ジョブキュー１０２に格納する。そして、ジョブキュー１０２内の印刷ジョブを実行する。また、実行された上限枚数付印刷ジョブの印刷枚数をカウントし、印刷可能上限枚数と印刷枚数とをカウントにより比較し、印刷枚数が印刷可能上限枚数を超えた場合、上限枚数付印刷ジョブに対してジョブリセット処理を行う。また、ジョブリセット処理されたとき、端末２に、カウントの情報（印刷処理済枚数の情報）を付して、未印刷分の印刷ジョブの再送信要求を行う。図７は、プリンタ１の印刷処理及びジョブリセット処理を説明するフローチャートである。図に示されるように、大きく印刷ジョブ格納処理Ｂ１と、印刷ジョブ実行処理Ｂ２に分けられる。以下説明を行う。
【００５４】
図８は、印刷ジョブ格納処理Ｂ１を説明するフローチャートである。印刷ジョブ格納処理Ｂ１では、上限枚数付印刷ジョブを含む印刷ジョブが受付けられ、ジョブキュー１０２に格納される。なお、ジョブキュー１０２に格納された印刷ジョブは、先に着いたものから順番に処理される（first in first out方式）。
【００５５】
まず印刷ジョブ受付部１０１は、端末２から、上限枚数付印刷ジョブを含む印刷ジョブを受付ける（ステップＢ１０１）。ここではこれまでの説明通り、上限枚数付印刷ジョブが受付けられたものとする（印刷可能上限枚数１００枚、印刷用紙５５０枚分）。
【００５６】
次に、受付けられた印刷ジョブは、ジョブキュー１０２に格納されるが、場合によってジョブキュー１０２に格納される順序が異なってくる。つまり、印刷ジョブの格納順序は、ジョブキュー１０２にスタックが既にあるかどうかの判定（ステップＢ１０２）によって異なる。なお、ジョブキュー１０２にスタックが既にある場合というのは、ステップＢ１０１で受付けられた当該印刷ジョブより先に受付けられ且つ未処理の印刷ジョブが存在することを意味する。
【００５７】
ジョブキュー１０２にスタックがない場合、印刷ジョブはジョブキュー１０２にそのまま格納される（ステップＢ１０３）。ジョブキュー１０２にはスタックはないので、格納順序は問題にならないからである。このときのジョブキュー１０２の状態を図９（ａ）に示す。
【００５８】
ジョブキュー１０２にスタックがある場合、印刷ジョブに印刷可能上限枚数が設定されているかどうかの判定がなされる（ステップＢ１０４）。ここでは、上限枚数付印刷ジョブが受付けられているので、印刷可能上限枚数が設定されていると判定され、当該印刷ジョブを、ジョブキュー１０２の一番最後に格納する（ステップＢ１０５）。このときのジョブキュー１０２の状態を図９（ｂ）に示す。
【００５９】
再びステップＢ１０４に戻り、印刷ジョブに印刷可能上限枚数が設定されていない場合、印刷ジョブを、ジョブキュー１０２の一番最初の上限枚数付印刷ジョブの前に格納する（ステップＢ１０６）。より詳しく説明すると、印刷ジョブに印刷可能上限枚数が設定されていない場合とは、特段、印刷可能上限枚数に制限がないような印刷ジョブである。ここでは、例えば端末２ｂからの印刷ジョブであり、印刷大量がなされることはなく、印刷用紙枚数が数枚程度の印刷ジョブである。従って端末２ｂには印刷可能上限枚数の設定はなされていない。このような印刷ジョブは、上限枚数付印刷ジョブに優先して処理されるように、ジョブキュー１０２内に上限枚数付印刷ジョブがある場合、これより前に格納する。このときのジョブキュー１０２の状態を図９（ｃ）に示す。勿論、ジョブキュー１０２内に上限枚数付印刷ジョブがない場合は、印刷ジョブを、ジョブキュー１０２の一番最後に格納すればよい。
【００６０】
以上、プリンタ１が受付けた印刷ジョブの格納処理を、様々なケースを含め説明した。但しここでは、ジョブキュー１０２には他の印刷ジョブはまだ格納されていないものとし、よって、ジョブキュー１０２には上限枚数付印刷ジョブ（印刷可能上限枚数１００枚、印刷用紙５５０枚分）だけが格納されているものとして説明を進める。そして次に、格納された上限枚数付印刷ジョブは、印刷ジョブ実行処理Ｂ２で実行される。
【００６１】
図１０は、印刷ジョブ実行処理Ｂ２を説明するフローチャートである。印刷ジョブ実行処理Ｂ２では、ジョブキュー１０２に格納された印刷ジョブが実行される。また印刷可能上限枚数が設定されている上限枚数付印刷ジョブについては、印刷枚数が上限枚数に達するとジョブリセット処理がなされる。以下説明する。
【００６２】
印刷部１０３は、まずジョブキュー１０２から印刷ジョブをロードして（ステップＢ２０１）、ロードした印刷ジョブに、印刷可能上限枚数が設定されているかどうかの判定を行う（ステップＢ２０２）。印刷可能上限枚数がされていない場合、印刷部１０３は、当該印刷ジョブの全ページについて印刷を実行する（ステップＢ２０３）。そして、ジョブキュー１０２に次に処理すべき印刷ジョブがあるかどうかの判定を行い（ステップＢ２０４）、印刷ジョブがある場合は次の印刷ジョブの処理に進み（ステップＢ２０１）、印刷ジョブがない場合は印刷ジョブ実行処理を終了する（ＥＮＤ）。なお、印刷可能上限枚数が設定されていない印刷ジョブとは、例えば、印刷可能上限枚数に制限がない印刷ジョブである。ここでは、上述したように、例えば端末２ｂからの印刷ジョブである。
【００６３】
一方、ロードした印刷ジョブに、印刷可能上限枚数が設定されている場合、その上限枚数付印刷ジョブは、再送信要求によるものかどうかの判定がなされる（ステップＢ２０５）。再送信要求とは、ジョブリセット処理がなされた場合、プリンタ１から端末２ａに対して、未処理分の印刷ジョブの再送信を要求するものである。つまり、印刷ジョブがこの再送信要求によって再送信された印刷ジョブであるかどうか判定される。再送信された印刷ジョブは、端末２ａにおいて印刷可能上限枚数（値）単位で分割されているので、印刷ジョブに含まれる印刷枚数は最大で印刷可能上限枚数（値）である。これについては再度後述する。上限枚数付印刷ジョブは、再送信要求によるものである場合、印刷部１０３は、当該印刷ジョブの全ページについて印刷を実行する（ステップＢ２０３）。再送信された印刷ジョブは、印刷可能上限枚数（値）単位で分割されているので、印刷ジョブに含まれる印刷枚数は印刷可能上限枚数を超えることはない。
【００６４】
上限枚数付印刷ジョブは、再送信要求によるものでない場合、その上限枚数単位で印刷を実行する（ステップＢ２０６）。具体的に、ここでの上限枚数付印刷ジョブの内容は、印刷可能上限枚数１００枚、印刷用紙５５０枚分であるので、まず上限枚数単位、つまり１００枚単位で印刷を実行する。なお、印刷制限部１０４は印刷処理済み枚数をカウントしておく。
【００６５】
印刷ジョブが全て終了すれば（ステップＢ２０７）、上述と同様、ジョブキュー１０２に次に処理すべき印刷ジョブがあるかどうかの判定を行うステップに進む（ステップＢ２０４）。なお、印刷ジョブが終了する場合とは、例えば上限枚数付印刷ジョブの内容が、印刷可能上限枚数１００枚と設定されてはいるが、印刷用紙７０枚分である場合、印刷可能上限に該当しないので、全ページ７０枚分が印刷され、当該印刷ジョブを終了する場合がある。一方、印刷ジョブが終了しない場合とは、上限枚数付印刷ジョブの内容が、印刷可能上限枚数１００枚、印刷用紙５５０枚分のように、印刷可能上限に該当してしまう場合である。
【００６６】
印刷ジョブが終了しない場合、ジョブキュー１０２に次に処理すべき印刷ジョブがあるかどうかの判定を行う（ステップＢ２０８）。処理すべき印刷ジョブがない場合、一旦上限枚数を超えても、そのまま印刷処理を継続する（ステップＳ２０６へ）。他の端末から特に印刷要求がなされていないときは、プリンタ１は大量印刷によって占有されたとしても問題はないからである。よって、繰り返し上限枚数単位で印刷を実行し（ステップＢ２０６）、上限枚数単位で印刷処理を行う都度、ジョブキュー１０２に次に処理すべき印刷ジョブがあるかどうかの判定を行う（ステップＢ２０８）。
【００６７】
一方、ジョブキュー１０２に次に処理すべき印刷ジョブがある場合（ステップＢ２０８）、現在処理中の上限枚数付印刷ジョブは印刷可能上限枚数を超えており、プリンタ１の占有を防止するという本来目的から、印刷制限部１０４は、現在処理中の上限枚数付印刷ジョブのジョブリセット処理を行う（ステップＢ２０９）。これにより、現在処理中の上限枚数付印刷ジョブは、印刷処理がキャンセルされる。また別の言い方をすれば、大量の印刷ジョブから占有が開放される。ここでは、先の例の上限枚数付印刷ジョブについて、印刷処理を１００枚分終える前に端末２ｂからの印刷要求がなされ、ジョブキュー１０２に次に処理すべき印刷ジョブがあったものとする（図５、Ｃ）。すると、ジョブリセット処理時点で、当該上限枚数付印刷ジョブについて、ここまで印刷処理済み枚数は１００枚、未印刷処理枚数は４５０枚となる。
【００６８】
なお、上限枚数単位で印刷実行（ステップＢ２０６）を行い、上限枚数単位でジョブキューに他の印刷ジョブの有無を判定（ステップＢ２０８）するのは、いつでも上限枚数単位を印刷実行する間はプリンタ１の占有を許容するためである。しかしながら、ジョブキューに他の印刷ジョブがスタックされた場合は直ちにジョブキャンセルを行うよう構成することも可能である。
【００６９】
再送信要求部１０５は、印刷ジョブの再送信要求を行う（ステップＢ２１０）。つまり、ジョブリセット処理によって、処理中の上限枚数付印刷ジョブは、印刷処理がキャンセルされたが、依然未印刷処理分の印刷ジョブが残っている。従って、端末２ａ対して未印刷分の印刷ジョブの再送信を行うよう要求する。未印刷分の印刷ジョブが再送信されてくれば、再度その印刷ジョブを実行することで、全てのページについて印刷を行うことができる。このとき再送信要求に、印刷処理済み枚数のカウントの情報を付しておく(例えば印刷処理済み枚数１００枚)。
【００７０】
そして、再び印刷部１０３は、ジョブキュー１０２から印刷ジョブをロードし、当該印刷ジョブを印刷実行していく。ここで実行される印刷ジョブは、先の大量の印刷ジョブのプリンタ１の占有から開放されようやく印刷処理の順序を得た、端末２ｂからの印刷ジョブである。
【００７１】
（３）印刷ジョブ再生成処理Ｄ
印刷ジョブ再生成処理Ｄは、端末２ａがプリンタ１からの未処理印刷分の印刷ジョブの再送信要求を受けて、再度印刷ジョブの送信を行う処理である。図１１は、端末２ａの印刷ジョブ再生成処理を説明するフローチャートである。再送信要求を受けて当該フローチャートは開始される。
【００７２】
印刷ジョブ生成部２０３は、記憶部２０４に記憶されている元の上限枚数付印刷ジョブを取得する（ステップＤ１）。また再送信要求に付されたカウントの情報を取得する（ステップＤ２）。
【００７３】
次に未印刷分のページを、上限枚数単位で分割し、印刷ジョブを再生成する（ステップＤ３）。具体的に説明する。記憶部２０４から取得された元の上限枚数付印刷ジョブのその内容は、印刷可能上限枚数１００枚、印刷用紙５５０枚分であり、カウントの情報から印刷処理済み枚数１００枚である。よって、未印刷分のページは、４５０枚分であり、上限枚数単位１００で分割すれば、１００枚分、１００枚分、１００枚分、１００枚分、５０枚分の、合計５つの印刷ジョブが生成される。このように、上限枚数単位で分割するのは、設定された印刷可能上限枚数値は一の印刷ジョブでプリンタ１を占有して印刷を最大限許容するとされている値であるので、再送された分割ジョブは再びジョブリセットされることはない。これにより、大量の印刷ジョブであっても繰り返しのジョブリセットを防止することができる。また、これら分割された印刷ジョブについても印刷可能上限枚数の情報は付しておく。上述したようにジョブキュー（図８、Ｂ１０４）の格納順序の決定等に利用するためである。
【００７４】
送受信部２０５は、生成されたこれら印刷ジョブ（上限枚数付）をプリンタ１に順次、再送信する（ステップＤ４）。プリンタ１で受付けられたこれら印刷ジョブは、再印刷処理（図５、Ｅ）される（図１０、Ｂ２０５、Ｙへ進むステップ）。こうして未処理印刷分の印刷ジョブは全て実行される。
【００７５】
なお、この後、再印刷処理（図５、Ｅ）において、プリンタ１で未処理印刷分の１つ目の印刷ジョブ実行中に、印刷可能上限枚数が設定されていない印刷ジョブ、例えば「印刷ジョブα」を受け付けた場合、ジョブキュー１０２でジョブの割り込みがなされる（図８、ステップＢ１０６）。従って、「分割ジョブａ（１００枚分）」→「印刷ジョブα（上限枚数なし）」→「分割ジョブｂ（１００枚分）」→「分割ジョブｃ（１００枚分）」→「分割ジョブｄ（１００枚分）」→「分割ジョブｄ（５０枚分）」という順序で印刷実行されることとなる。
【００７６】
[実施形態２]
実施形態１において、端末２は、一の印刷ジョブにおける印刷可能上限枚数を設定して、プリンタ１に印刷ジョブを送信できるものとして説明を行ったが、本実施形態２においては、印刷可能上限枚数の設定をプリンタ１側で設定される実施形態について説明する。ジョブキャンセル機能を有するプリンタ１側で印刷可能上限枚数の設定を行うようにすることで、端末２のプリンタドライバの機能に依存せず、ネットワーク３上の複数の端末２からの印刷ジョブに対して一元的に印刷可能上限枚数の設定を行うことができる。以下、実施形態１と異なる点について主に説明していく。
【００７７】
（機能）
プリンタ１は、端末２からの印刷ジョブを実行する。プリンタ１は、印刷枚数が一の印刷ジョブにおいて印刷可能上限枚数を越えた場合、一の端末からの印刷ジョブの占有を制限するため、印刷可能上限枚数を超えた印刷ジョブに対してジョブリセット（処理）を行う。なお、ジョブリセットは、当該印刷ジョブ実行中に、他の端末（例えば端末２ｂ）から印刷ジョブが受信された場合にのみ行えばよい。他の端末から特に印刷要求がなされていないときは、プリンタ１は大量印刷によって占有されたとしても問題はないからである。そしてジョブリセットがなされると、当該印刷ジョブはキャンセルされるため、未だ印刷されていない分の印刷ジョブが存在する。従って、プリンタ１は端末２に対して未印刷分の印刷ジョブの再送信要求を行って、未だ印刷されていない分の印刷を行えるようにする。
【００７８】
再び図４を参照する。図４は、プリンタ１及び端末２の一実施形態の主要構成を示す機能ブロック図である。上述の実施形態１と機能構成は同じであるが、各機能の内容が異なる点があるため、以下説明を行う（差異のある機能部のみ説明する）。
【００７９】
端末２に関し、ＵＩ部２０２は、プリンタ固有の設定を行なうためのユーザインターフェイスを提供する。実施形態１との差異点として、プリンタドライバ２００によるプリンタ設定画面からは、一の印刷ジョブにおける印刷可能上限枚数を設定しない（できない）。
【００８０】
印刷ジョブ生成部２０３は、印刷ジョブを作成する機能を有し、ＵＩ部２０２によるプリンタ設定画面で設定された内容を反映して印刷ジョブを作成する。但し、実施形態１との差異点として、印刷ジョブを作成する際、印刷可能上限枚数の情報を付して（埋め込んで）印刷ジョブを作成することはない。
【００８１】
記憶部２０４は、印刷ジョブ生成部２０３により生成された印刷ジョブ（上限枚数付でない、通常の印刷ジョブとする）を記憶する。従って、生成された印刷ジョブはひとまず記憶部２０４に記憶され、プリンタ１からジョブリセットに伴い印刷ジョブの再送信要求を受けたとき利用される。なお、ジョブリセットされず、印刷ジョブが正常処理された場合は、印刷完了通知を受けて記憶部２０４から対応する印刷ジョブを削除する。記憶容量の増加を防止するためである。
【００８２】
次いでプリンタ１に関し、印刷ジョブ受付部１０１は、端末２の送受信部２０５により送信された印刷ジョブ（上限枚数付でない、通常の印刷ジョブとする）を受付ける。
【００８３】
印刷制限部１０４は、印刷部１０３により実行された印刷枚数をカウントし、プリンタ１で予め設定されている印刷可能上限枚数と印刷枚数とをカウントにより比較し、印刷枚数が印刷可能上限枚数を超えた場合、その印刷ジョブに対してジョブリセット処理を行う。つまり、印刷部１０３により実行された印刷処理が、プリンタ１で予め設定されている所定の印刷可能上限枚数を超えると、印刷部１０３に対して当該印刷処理をキャンセルするよう制御する。
【００８４】
再送信要求部１０５は、印刷制限部１０４によりジョブリセット処理されたとき、端末２に、カウントの情報（印刷処理済枚数の情報）や、プリンタ１で予め設定されている上限枚数（印刷可能上限枚数）の情報等を付して、未印刷分の印刷ジョブの再送信要求を行う機能を有している。
【００８５】
＜動作＞
次に、本実施形態２に係る印刷システムの動作について説明する。再び図５を参照する。図５は、本実施形態２に係る印刷システムの全体的な動作の流れを説明する概念図である。全体的な動作の流れは実施形態１と同様であるが、図示される各処理について、処理毎に主に異なる点について以下説明する。なお、説明上、端末２ａはプリンタ１に対して大量の印刷ジョブを発生させ、端末２ｂはプリンタ１が端末２ａからの大量の印刷ジョブ処理中に、印刷ジョブ（大量でない）を発生させる点は、上述した通りである。
【００８６】
（１）印刷ジョブ生成処理Ａ
印刷ジョブ生成処理Ａは、端末２ａにおいて、ユーザがアプリケーション２０１から印刷を実行すると、プリンタドライバ２００が印刷ジョブを生成し、プリンタ１に印刷ジョブを送信するまでの処理である。図１２は、端末２ａの印刷ジョブ生成処理を説明するフローチャートである。なお図６を比べると、ステップＡ１及びステップＡ２が省略されている点で異なっている。
【００８７】
まず、端末２ａのアプリケーション２０１から印刷要求（命令）が行われる。ここでは大量の印刷がなされるものとし、例えば、印刷用紙で５５０枚分の印刷がなされるものとする。
【００８８】
そして印刷ジョブ生成部２０３は、アプリケーション２０１から数値データとして与えられた文字、物体や図形に関する情報を計算によって画像化し、印刷ジョブを作成する（ステップＡ３）。なお、本実施形態２においては、印刷可能上限枚数が設定されていないので、印刷可能上限枚数の情報も付されない、単なる印刷ジョブが生成される。
【００８９】
記憶部２０４は、印刷ジョブ生成部２０３により生成された印刷ジョブ（上限枚数付でない、通常の印刷ジョブとする）を記憶する（ステップＡ４）。
【００９０】
送受信部２０５は、印刷ジョブ生成部２０３により生成された印刷ジョブをプリンタ１に送信する（ステップＡ５）。
【００９１】
（２）印刷処理及びジョブリセット処理Ｂ
本実施形態２における印刷処理及びジョブリセット処理Ｂでは、プリンタ１において、印刷ジョブが受付けられて、ジョブキュー１０２に格納する。そして、ジョブキュー１０２内の印刷ジョブを実行する。また、実行された印刷ジョブの印刷枚数をカウントし、プリンタ１で予め設定されている印刷可能上限枚数と印刷枚数とをカウントにより比較し、印刷枚数が印刷可能上限枚数を超えた場合、印刷ジョブに対してジョブリセット処理を行う。また、ジョブリセット処理されたとき、端末２に、カウントの情報（印刷処理済枚数の情報）を付して、未印刷分の印刷ジョブの再送信要求を行う。再び図７を参照する。本実施形態２においても、大きく印刷ジョブ格納処理Ｂ１と、印刷ジョブ実行処理Ｂ２に分けられる。
【００９２】
図１３は、印刷ジョブ格納処理Ｂ１を説明するフローチャートである。印刷ジョブ格納処理Ｂ１では、上印刷ジョブを含む印刷ジョブが受付けられ、ジョブキュー１０２に格納される。なお、ジョブキュー１０２に格納された印刷ジョブは、先に着いたものから順番に処理される（first in first out方式）。なお図８を比べると、ステップＢ１０４及びステップＢ１０６の点で異なっている。
【００９３】
まず印刷ジョブ受付部１０１は、端末２から、印刷ジョブを受付ける（ステップＢ１０１）。次に、受付けられた印刷ジョブは、ジョブキュー１０２に格納されるが、場合によってジョブキュー１０２に格納される順序が異なってくる。つまり、印刷ジョブの格納順序は、ジョブキュー１０２にスタックが既にあるかどうかの判定（ステップＢ１０２）によって異なる。なお、ジョブキュー１０２にスタックが既にある場合というのは、ステップＢ１０１で受付けられた当該印刷ジョブより先に受付けられ且つ未処理の印刷ジョブが存在することを意味する。
【００９４】
ジョブキュー１０２にスタックがない場合、印刷ジョブはジョブキュー１０２にそのまま格納される（ステップＢ１０３）。ジョブキュー１０２にはスタックはないので、格納順序は問題にならないからである。このときのジョブキュー１０２の状態を図１４（ａ）に示す。
【００９５】
ジョブキュー１０２にスタックがある場合、印刷ジョブは再送信要求によるものかどうかの判定がなされる（ステップＢ１０７）。再送信要求とは、上述したように、ジョブリセット処理がなされた場合、プリンタ１から端末２ａに対して、未処理分の印刷ジョブの再送信を要求するものである。つまり、印刷ジョブがこの再送信要求によって再送信された印刷ジョブであるかどうか判定される。当該印刷ジョブが再送信要求によるものである場合、ジョブキュー１０２の一番最後に格納する（ステップＢ１０５）。このときのジョブキュー１０２の状態を図１４（ｂ）に示す。
【００９６】
再びステップＢ１０７に戻り、印刷ジョブは再送信要求によるものでない場合、当該印刷ジョブを、ジョブキュー１０２の一番最初の再送信要求による印刷ジョブの前に格納する（ステップＢ１０８）。再送信要求によるものでない印刷ジョブの処理を優先するためである。このときのジョブキュー１０２の状態を図１４（ｃ）に示す。
【００９７】
以上、プリンタ１が受付けた印刷ジョブの格納処理を説明した。そして次に、格納された印刷ジョブは、印刷ジョブ実行処理Ｂ２で実行される。
【００９８】
図１５は、印刷ジョブ実行処理Ｂ２を説明するフローチャートである。印刷ジョブ実行処理Ｂ２では、ジョブキュー１０２に格納された印刷ジョブが実行される。また印刷可能上限枚数を超える印刷ジョブについては、印刷枚数が上限枚数に達するとジョブリセット処理がなされる。なお図１０を比べると、例えばステップＢ２０２、Ｂ２０３、Ｂ２０５は削除されている点で異なっている。以下説明する。
【００９９】
印刷部１０３は、まずジョブキュー１０２から印刷ジョブをロードする（ステップＢ２０１）し、プリンタ１で予め設定されている上限枚数単位（印刷可能上限枚数）で印刷を実行する（ステップＢ２１１）。上限枚数単位で印刷するのは、印刷処理が上限枚数に達した場合、ジョブリセットを行うためである。例えば、印刷可能上限枚数は１００枚とプリンタ１で予め設定されているとし、印刷ジョブの内容を印刷用紙５５０枚分とすると、まず上限枚数単位、つまり１００枚単位で印刷を実行する。なお、印刷制限部１０４は印刷処理済み枚数をカウントしておく。
【０１００】
印刷ジョブが全て終了すれば（ステップＢ２０７）、ジョブキュー１０２に次に処理すべき印刷ジョブがあるかどうかの判定を行うステップに進む（ステップＢ２０４）。なお、印刷ジョブが終了する場合とは、ステップＢ２１１では上限枚数単位で印刷実行されているので、印刷ジョブについて残り印刷枚数内容が上限枚数以下、例えば１００枚以下の場合である。
【０１０１】
印刷ジョブが終了しない場合、ジョブキュー１０２に次に処理すべき印刷ジョブがあるかどうかの判定を行う（ステップＢ２０８）。処理すべき印刷ジョブがない場合、一旦上限枚数を超えても、そのまま印刷処理を継続する（ステップＳ２１１へ）。他の端末から特に印刷要求がなされていないときは、プリンタ１は大量印刷によって占有されたとしても問題はないからである。よって、繰り返し上限枚数単位で印刷を実行し（ステップＢ２１１）、上限枚数単位で印刷処理を行う都度、ジョブキュー１０２に次に処理すべき印刷ジョブがあるかどうかの判定を行う（ステップＢ２０８）。
【０１０２】
一方、ジョブキュー１０２に次に処理すべき印刷ジョブがある場合（ステップＢ２０８）、現在処理中の印刷ジョブは印刷可能上限枚数を超えており、プリンタ１の占有を防止するという本来目的から、印刷制限部１０４は、現在処理中の印刷ジョブのジョブリセット処理を行う（ステップＢ２０９）。これにより、現在処理中の印刷ジョブは、印刷処理がキャンセルされる。
【０１０３】
再送信要求部１０５は、印刷ジョブの再送信要求を行う（ステップＢ２１０）。ジョブリセット処理によって、処理中の印刷ジョブは、印刷処理がキャンセルされたが、依然未印刷処理分の印刷ジョブが残っている。従って、端末２ａ対して未印刷分の印刷ジョブの再送信を行うよう要求する。このとき再送信要求に、印刷処理済み枚数のカウントの情報と、プリンタ１で予め設定されている上限枚数（印刷可能上限枚数）の情報とを付しておく(例えば印刷処理済み枚数１００枚、上限枚数単位１００枚)。
【０１０４】
なお、本実施形態２においては、端末に応じて、印刷可能上限枚数の制限を行うかどうかの設定を行えるようにすることもできる。この場合、図１５のフローチャートに進む前に、印刷ジョブの送信元端末の判定を行って、送信元が印刷可能上限枚数の制限を行わない端末である場合、図１５のフローチャートに進まず、送信されてきた印刷ジョブについて全ページの印刷実行を行えばよい。
【０１０５】
（３）印刷ジョブ再生成処理Ｄ
本実施形態２における印刷ジョブ再生成処理Ｄは、端末２ａがプリンタ１からの未処理印刷分の印刷ジョブの再送信要求を受けて、再度印刷ジョブの送信を行う処理である。図１６は、端末２ａの印刷ジョブ再生成処理を説明するフローチャートである。再送信要求を受けて当該フローチャートは開始される。なお図１１を比べると、ステップＤ１、Ｄ２の点で少々異なっている。
【０１０６】
印刷ジョブ生成部２０３は、記憶部２０４に記憶されている元の印刷ジョブを取得する（ステップＤ５）。また再送信要求に付されたカウントの情報及び上限枚数（印刷可能上限枚数）の情報を取得する（ステップＤ６）。
【０１０７】
次に未印刷分のページを、上限枚数の情報に基づき上限枚数単位で分割し、印刷ジョブを再生成する（ステップＤ３）。
【０１０８】
送受信部２０５は、生成されたこれら印刷ジョブをプリンタ１に順次、再送信する（ステップＤ４）。プリンタ１で受付けられたこれら印刷ジョブは、再印刷処理（図５、Ｅ）され、こうして未処理印刷分の印刷ジョブは全て実行される。
【０１０９】
なお、ジョブリセットされず、印刷ジョブが正常処理された場合（図１５のＢ２０７、Ｙ）は、印刷完了通知を受けて、記憶容量の増加を防止するため、記憶部２０４から対応する印刷ジョブを削除する。
【０１１０】
以上、本実施形態２においては、印刷可能上限枚数の設定をプリンタ１側で設定される実施形態について説明を行った。ジョブキャンセル機能を有するプリンタ１側で印刷可能上限枚数の設定を行うようにすることで、端末２のプリンタドライバの機能に依存せず、ネットワーク３上の複数の端末２からの印刷ジョブに対して一元的に印刷可能上限枚数の設定を行うことができる。
【０１１１】
＜総括＞
以上、本発明に係る印刷システムにおいて、プリンタは大量の印刷ジョブを処理している間、他の印刷ジョブを処理するためにジョブリセットを行うが、ジョブリセットにより印刷されなかった未処理分の印刷をおこなえるよう端末に対して未処理分の印刷ジョブの再送信要求を行う。端末のプリンタドライバ側で、処理済み枚数情報（カウント情報）と印刷可能上限枚数情報を参照し、未処理分の印刷ジョブがその上限枚数を超過している場合、その印刷ジョブを上限枚数単位毎に分割して生成し、プリンタに再度送信する。このように、大量印刷を行うユーザが、連続印刷で印刷装置を占有しないよう印刷可能上限枚数を設定（指定）でき、また印刷ジョブの割り込みによるジョブリセットにより印刷されなかった分は、その割り込みジョブの実行後に印刷されるので、自動的に未印刷分の印刷ジョブを印刷させることができる。また大量の印刷ジョブであっても繰り返しのジョブリセットを防止することができる。
【０１１２】
即ち本発明に係る印刷システムによれば、印刷可能枚数制限により大量印刷による装置占有を防止し他の印刷ジョブを速やかに処理するとともに、該他の印刷ジョブ処理後、印刷可能枚数制限を超過した分の印刷を手間なく行うことが可能である。
【０１１３】
なお、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【０１１４】
１        プリンタ
２        端末
３        ネットワーク
１１        操作パネル
１１ａ    入力装置
１１ｂ    表示装置
１２        記憶メディアＩ／Ｆ
１２ａ    ドライブ装置
１２ｂ    記録媒体
１３        コントローラ
１３ａ    ＲＯＭ
１３ｂ    ＲＡＭ
１３ｃ    ＣＰＵ
１４        データ通信Ｉ／Ｆ
１４ａ    インターフェース装置
１５        スキャナ
１５ａ    画像読取装置
１６        プロッタ
１６ａ    印刷装置
１７        ＨＤＤ
２１        ＣＰＵ
２２        ＲＯＭ
２３        ＲＡＭ
２４        補助記憶装置
２５        記憶媒体読取装置
２６        入力装置
２７        表示装置
２８        通信装置
１０１    印刷ジョブ受付部
１０２    ジョブキュー
１０３    印刷部
１０４    印刷制限部
１０５    再送信要求部
２０１    アプリケーション
２０２    ＵＩ部
２０３    印刷ジョブ生成部
２０４    記憶部
【先行技術文献】
【特許文献】
【０１１５】
【特許文献１】特開２００５‐３２００４号公報
【特許文献２】特開２００８‐１３４４４３号公報
【図１】
2010260234.tif 000003
【図２】
2010260234.tif 000004
【図３】
2010260234.tif 000005
【図４】
2010260234.tif 000006
【図５】
2010260234.tif 000007
【図６】
2010260234.tif 000008
【図７】
2010260234.tif 000009
【図８】
2010260234.tif 000010
【図９】
2010260234.tif 000011
【図１０】
2010260234.tif 000012
【図１１】
2010260234.tif 000013
【図１２】
2010260234.tif 000014
【図１３】
2010260234.tif 000015
【図１４】
2010260234.tif 000016
【図１５】
2010260234.tif 000017
【図１６】
2010260234.tif 000018