以下、本発明の実施の形態について図面を参照して説明する。以下の説明では同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがってそれらについての詳細な説明は繰返さない。
<第1の実施の形態>
図1は、本発明の第1の実施の形態におけるプリントシステムの全体概要を示す図である。図1を参照して、プリントシステム1は、ネットワーク2にそれぞれ接続された複合機(以下、「MFP」という)100,100A,100B,100Cと、PC200と、プリンタ300とを含む。PC200は、一般的なコンピュータである。その構成及び機能は周知なのでここでは説明を繰り返さない。
MFP(Multi Function Peripheral)100,100A,100B,100Cは、プリントに対して料金が課される画像形成装置であり、プリンタはプリントに対して料金は課されない画像形成装置である。MFP100,100A,100B,100Cは、その構成および機能は同じなので、ここでは特に言及しない限りMFP100を例に説明する。
ネットワーク2は、ローカルエリアネットワーク(LAN)であり、有線または無線を問わない。またネットワーク2は、LANに限らず、ワイドエリアネットワーク(WAN)、インターネット、または一般公衆回線を用いたネットワーク等であってもよい。
本実施の形態におけるプリントシステム1は、MFP100A,100B,100Cおよびプリンタ300が1つのグループを構成する。MFP100A,100B,100Cおよびプリンタ300それぞれは、MFP100A,100B,100Cおよびプリンタ300のうちのいずれかを、自装置に代わってプリントジョブを実行する装置として、その装置の装置識別情報を記憶している。装置識別情報は、その装置に割り当てられたネットワーク2上の位置情報、例えばIP(Internet Protocol)アドレスまたはMAC(Media Access Control)アドレスである。
図2は、本実施の形態におけるMFP100のハード構成を示すブロック図である。なお、MFP100A、MFP100BおよびMFP100Cは、MFP100と同じハード構成を有するため、説明を繰り返さない。図2を参照して、MFP100は、メイン回路101と、ファクシミリ部12と、通信制御部14と、ADF10と、画像読取部20と、画像形成部30と、給紙部40と、後処理部50とを含む。
メイン回路101は、中央演算装置(CPU)111と、CPU111の作業領域として使用されるRAM(Random Access Memory)112と、CPU111が実行するプログラム等を記憶するためのEEPROM(Electronically Erasable Programmable Read Only Memory)113と、表示部114と、操作部115と、大容量記憶装置としてのハードディスクドライブ(HDD)116と、データ通信制御部117と、を含む。
CPU111は、表示部114、操作部115、HDD116およびデータ通信制御部117とそれぞれ接続され、メイン回路101の全体を制御する。また、CPU111は、ファクシミリ部12、通信制御部14、ADF10、画像読取部20、画像形成部30、給紙部40および後処理部50と接続され、MFP100の全体を制御する。
ADF10は、原稿台に搭載された複数枚の原稿をさばいて1枚ずつ順に、画像読取部20に搬送する。画像読取部20は、写真、文字、絵等の画像情報を原稿から光学的に読み取って画像データを取得する。
画像形成部30は、画像データが入力されると、画像データに基づいて用紙上に画像を形成する。画像形成部30は、シアン、マゼンタ、イエロー、ブラックの4色のトナーを用いて画像を形成する。このため、フルカラーでプリントすることができる。また、1種類のトナーを用いてモノクロでプリントすることもできる。給紙部40は、用紙を格納しており、格納した用紙を1枚ずつ画像形成部30に供給する。後処理部50は、画像が形成された用紙を排紙する。後処理部50は、複数の排紙トレイを有し、記録シートをソートして排紙することが可能である。また、後処理部50は、パンチ穴加工部、ステープル加工部を備えており、排紙された記録シートにパンチ穴加工、またはステープル加工することが可能である。
表示部114は、液晶表示装置(LCD)、有機ELD(Electro Luminescence Display)等のディスプレイであり、ユーザに対する指示メニューや取得した画像データに関する情報等を表示する。操作部115は、複数のキーを備え、キーに対応するユーザの操作による各種の指示、文字、数字などのデータの入力を受付ける。操作部115は、表示部114上に設けられたタッチパネルを含む。表示部114と操作部115とで、操作パネルが構成される。
データ通信制御部117は、TCP(Transmission Control Protocol)またはFTP(File Transfer Protocol)等の通信プロトコルで通信するためのインターフェースであるLAN端子118と、シリアル通信するためのシリアル通信インターフェース端子119とを有する。データ通信制御部117は、CPU111からの指示に従って、LAN端子118またはシリアル通信インターフェース端子119に接続された外部の機器との間でデータを送受信する。
LAN端子118に、ネットワークに接続するためのLANケーブルが接続される場合、データ通信制御部117は、LAN端子118を介して接続された電子メールサーバと通信し、電子メールサーバに電子メールを送信することが可能である。
また、CPU111は、データ通信制御部117を制御して、メモリカード119AからCPU111が実行するためのプログラムを読出し、読み出したプログラムをRAM112に記憶し、実行する。なお、CPU111が実行するためのプログラムを記憶する記録媒体としては、メモリカード119Aに限られず、フレキシブルディスク、カセットテープ、光ディスク(CD−ROM(Compact Disc−Read Only Memory)/MO(Magnetic Optical Disc/MD(Mini Disc)/DVD(Digital Versatile Disc))、ICカード、光カード、マスクROM、EPROM(Erasable Programmable ROM)、EEPROM(Electronically EPROM)などの半導体メモリ等の媒体でもよい。さらに、CPU111がインターネットに接続されたコンピュータからプログラムをダウンロードしてHDD116に記憶する、または、インターネットに接続されたコンピュータがプログラムをHDD116に書込みするようにして、HDD116に記憶されたプログラムをRAM112にロードしてCPU111で実行するようにしてもよい。ここでいうプログラムは、CPU111により直接実行可能なプログラムだけでなく、ソースプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。
通信制御部14は、CPU111をPSTN(Public Switched Telephone Networks)7に接続するためのモデムである。MFP100には、PSTN7における電話番号が予め割り当てられており、PSTN7に接続されたファクシミリ装置からMFP100に割り当てられた電話番号に発呼があると、通信制御部14がその発呼を検出する。通信制御部14は、発呼を検出すると通話を確立し、ファクシミリ部12に通信させる。
ファクシミリ部12は、PSTN7に接続され、PSTN7にファクシミリデータを送信する、またはPSTN7からファクシミリデータを受信する。ファクシミリ部12は、受信したファクシミリデータを画像形成部30でプリント可能なプリントデータに変換して、画像形成部30に出力する。これにより、画像形成部30は、ファクシミリ部12により受信されたファクシミリデータを用紙にプリントする。また、ファクシミリ部12は、HDD116に記憶されたデータをファクシミリデータに変換して、PSTN7に接続されたファクシミリ装置または他のMFPに出力する。これにより、HDD116に記憶されたデータをファクシミリ装置または他のMFP100A,100B,100Cに出力することができる。このように、MFP100は、ファクシミリ送受信機能を有する。
ADF10,給紙部40および後処理部50は、用紙を搬送するため、紙詰まりなどのエラーが発生する場合がある。また、給紙部40に収納される用紙がなくなると、画像形成部30で画像形成することができず、エラーが発生する。さらに、画像形成部30は、トナー、転写ベルト等の消耗品を有するが、これらの消耗品が使用限度まで使用されると、画像形成部30で画像形成することがでず、エラーが発生する。また、ADF10、画像読取部20、画像形成部30、給紙部40および後処理部50が故障するとトラブルが発生する。MFP100は、エラーまたはトラブルの発生を検出するためのセンサまたはカウンタを有し、エラーまたはトラブルを検出すると、画像を形成するのを停止する。
エラーとは、MFP100のユーザが消耗品を補給することにより、または、紙詰まりした用紙を除去することにより、回復可能な症状をいう。エラーの一例としては、給紙部40に収納する用紙がなくなった場合、画像形成部30のトナーがなくなった場合、転写ベルトが使用限度まで使用された場合、用紙が搬送経路で詰まった場合を含む。
トラブルとは、ユーザが対応することで回復できない症状をいう。トラブルの一例としては、画像形成部30の感光体ドラムが故障した場合、画像読取部20で画像を読み取れなくなった場合等を含む。
ここでは、ユーザが対応することにより回復可能な症状をエラーといい、ユーザが対応することにより回復不可能な症状をトラブルという。なお、エラーとトラブルとの区別は、任意に定めることができ、MFP100が画像形成する動作を停止する原因となる症状を、エラーまたはトラブルに予め分類しておくようにすればよい。
CPU111と、ADF10、画像読取部20、画像形成部30、給紙部40および後処理部50とは、独立して駆動することが可能である。このため、ADF10、画像読取部20、画像形成部30、給紙部40および後処理部50がエラーまたはトラブルで駆動しなくなったとしても、CPU111は、データ通信制御部117を介してPC200および他のMFP100A,100B,100Cと通信することが可能である。
ここでは説明を簡単にするために、MFP100が故障などのトラブルでプリント不可能な状態にあるときに、PC200がプリントジョブをMFP100に送信する場合を例に説明する。この場合、PC200が送信したプリントジョブは、MFP100の代替プリンタであるMFP100Aにおいて実行される。この例の場合、MFP100は、ユーザがPC200でプリントジョブを実行するのを指定した装置である。以下、MFP100のようにユーザがプリントジョブの実行を指示した装置を指定プリンタという。また、MFP100Aは、MFP100の代わりにプリントジョブを実行する装置である。以下、MFP100Aのように指定プリンタに代わってプリントジョブを実行する装置を代替プリンタという。
図3は、本実施の形態におけるプリントシステムの機能の概要を示す機能ブロック図である。図3は、MFP100が指定プリンタとして機能する場合におけるMFP100が備えるCPU111の機能と、MFP100Aが代替プリンタとして機能する場合にMFP100Aが備えるCPU111Aの機能と、それらに接続されるEEPROM113,113Aに記憶される情報とを示している。
図3を参照して、指定プリンタであるMFP100が備えるCPU111は、ジョブを受け付けるためのジョブ受付部51と、ジョブを実行するためのジョブ実行部53と、代替プリンタにプリントジョブの実行を依頼するための依頼部55と、代替プリンタからカウント指示を受信するカウント指示受信部57と、料金を算出するための第1料金算出部61と、を含む。
ジョブ受付部51は、PC200が送信するプリントジョブを受け付ける。PC200が、MFP100にプリントジョブを送信すると、データ通信制御部117がプリントジョブを受信する。ジョブ受付部51は、データ通信制御部117が受信するプリントジョブを受け付ける。また、データ通信制御部117は、プリントジョブとともに、PC200を識別するための装置識別情報を受信する。ジョブ受付部51は、プリントジョブとともにPC200の装置識別情報を受け付ける。装置識別情報は、PC200のネットワーク2上の位置情報である。プリントジョブとともに受信する装置識別情報は、プリントジョブの送信元を特定するための送信元情報である。なお、送信元情報をプリントジョブとは別に受信する例をここでは説明するが、プリントジョブが送信元情報を含むようにしてもよい。ジョブ受付部51は、プリントジョブをジョブ実行部53に出力するとともに、依頼部55に出力する。
ジョブ実行部53は、ジョブ受付部51からプリントジョブが入力されると、画像形成部30を制御してプリントジョブに含まれるプリントデータを、プリント条件に従って実行させる。ジョブ実行部53は、プリントジョブに従って画像形成部30にプリントさせると、画像形成部30が1枚をプリントする毎にEEPROM113の予め定められた領域に記憶されているカウント値121にプリント枚数である1を加算し、カウント値121を更新する。なお、ここでは、EEPROM113にカウント値121を記憶する領域を1つ設ける例を説明するが、料金を課す単位毎にEEPROM113にカウント値121を記憶する領域を設けるようにしてもよい。例えばフルカラーでプリントする場合と、モノクロでプリントする場合とにそれぞれに対応するカウント値を記憶するようにしてもよい。さらに、ここでは、画像形成部30が1枚のプリントを終了する毎にカウント値121を更新するようにしたが、プリントジョブに従ってプリントジョブが完了した時点で、カウント値121にプリントした枚数を加算し、カウント値121を更新するようにしてもよい。
ジョブ実行部53は、MFP100にトラブルが発生している場合、画像形成部30に画像を形成させることなく、プリントジョブを一時的にEEPROM113に記憶するか、プリントジョブを破棄する。プリントジョブをEEPROM113に記憶する際には、プリントされなかったことを示すフラグを付与し、プリントされたプリントジョブと区別するようにするのが好ましい。
依頼部55は、ジョブ受付部51からプリントジョブが入力される。依頼部55は、MFP100にトラブルが発生し、画像形成部30がプリントできない状態のときは、プリントジョブを含む代替指示を代替プリンタであるMFP100Aに送信する。代替プリンタを特定するための情報として、MFP100Aの装置識別情報を、EEPROM113に予め記憶しておけばよい。装置識別情報は、MFP100Aのネットワーク2上の位置情報である。また、代替プリンタをMFP100A,100B,100Cおよびプリンタ300のグループのうちから任意に定めるようにしてもよいし、また、ネットワーク2にブロードキャストで問合せをして、回答のあった装置のうちから1つを選択することにより代替プリンタを定めるようにしてもよい。
代替プリンタであるMFP100Aが備えるCPU111Aは、代替指示を受信するための代替指示受信部71と、代替指示に含まれるジョブを実行するための代替ジョブ実行部73と、カウント指示を送信するためのカウント指示送信部75と、料金を算出するための第2料金算出部81と、を含む。
代替指示受信部71は、代替指示を指示プリンタであるMFP100から受信する。MFP100が代替指示を送信すると、データ通信制御部117がプリントジョブを受信する。代替指示受信部71は、データ通信制御部117が受信するプリントジョブを受け付ける。また、データ通信制御部117は、代替指示とともに、MFP100を識別するための装置識別情報を受信する。装置識別情報は、MFP100に割り当てられたIPアドレスである。プリントジョブとともに受信する装置識別情報は、代替指示の送信元を特定するための情報である。このため、代替プリンタであるMFP100Aは、指示プリンタであるMFP100を特定することができ、指示プリンタに後述するカウント指示を送信することができる。代替指示受信部71は、代替指示に含まれるプリントジョブを代替ジョブ実行部73に出力する。
代替ジョブ実行部73は、代替指示とともに受信されるMFP100を識別するための装置識別情報に基づいて、代替指示の送信元のMFP100の装置属性を取得する。グループを構成するMFP100,100A,100B,100Cおよびプリンタ300それぞれの装置属性を、EEPROM113Aに予め記憶しておくようにしてもよいし、MFP100に装置属性の送信を要求し、MFP100から受信するようにしてもよい。装置属性は、モノクロ専用機またはカラーおよびモノクロ兼用機の別と、プリントのための単価(プリント単価)とを含む。代替ジョブ実行部73は、代替指示受信部71からプリントジョブが入力されると、画像形成部30を制御してプリントジョブに含まれるプリントデータを、プリント条件に従って実行させる。但し、代替ジョブ実行部73は、代替指示の送信元のMFP100の装置属性がモノクロ専用機であれば、プリント条件にカラーでのプリントが設定されている場合、モノクロでのプリントにプリント条件を変更し、プリントする。強制的にモノクロでプリントすることにより、悪意で安い料金でプリントさせる行為を防止するためである。
MFP100Aが備えるEEPROM113Aは、画像形成部30がプリントした枚数を計数するためのカウント値121Aと、単価テーブル123Aとを記憶する領域を備える。代替ジョブ実行部73は、指定プリンタであるMFP100の単価と自装置の単価とを比較する。自装置の単価は、カウント値121Aのカウント値と単価テーブル123Aとから定まる。指定プリンタの単価は、指定プリンタから受信した属性情報に含まれる。なお、単価を指定プリンタから受信するのではなく、予めEEPROM113Aに記憶しておくようにしてもよい。
代替ジョブ実行部73は、代替指示に含まれるプリントジョブに従って画像形成部30に画像を形成させる場合、自装置の単価が高ければカウント値121Aを更新しないが、自装置の単価が安ければカウント値121Aを更新する。単価のより安い装置から料金を徴収するためである。なお、ここでは、指定プリンタであるMFP100の単価と、代替プリンタであるMFP100Aの単価とを比較するようにしたが、いずれで料金を徴収するかを予め定めておきEEPROM113に記憶しておくようにしてもよい。
代替ジョブ実行部73は、カウント値121Aを更新しない場合、換言すれば、自装置の単価が指示プリンタであるMFP100の単価より安くない場合、プリントジョブに従って画像形成部30が1枚のプリントを終了する毎に、プリント終了信号をカウント指示送信部75に出力する。すなわち、プリントジョブを実行して、画像形成部30がプリントする枚数と同じ数のプリント終了信号をカウント指示送信部75に出力する。実際にプリントが完了してからプリント終了信号を出力することにより、プリント完了前にエラーまたはトラブル等で画像形成部30が停止した場合に誤って料金を徴収しないようにするためである。なお、代替ジョブ実行部73は、プリントジョブに従って画像形成部30が全てのプリントを終了した時点で、プリント枚数を含むプリント終了信号をカウント指示送信部75に出力するようにしてもよい。
代替ジョブ実行部73は、カウント値121Aを更新する場合、換言すれば、自装置の単価が指示プリンタであるMFP100の単価より安い場合、プリントジョブに従って画像形成部30が1枚のプリントを終了する毎に、カウント値121Aのカウント値に1を加算し、カウント値を更新する。また、代替ジョブ実行部73は、カウント値121Aを更新する場合、プリントジョブに従って画像形成部30にプリントさせてもプリント終了信号をカウント指示送信部75に出力しない。なお、ここでは画像形成部30が1枚のプリントを終了する毎にカウント値121Aを更新するようにしたが、プリントジョブに従ってプリントジョブが完了した時点で、カウント値121Aにプリントした枚数を加算し、カウント値121Aを更新するようにしてもよい。
カウント指示送信部75は、代替指示を送信してきた指示プリンタであるMFP100に、代替ジョブ実行部73からプリント終了信号が入力される毎にカウント指示を送信する。したがって、カウント指示は、代替プリンタであるMFP100Aにより1枚のプリントが完了したことを示す。カウント指示送信部75は、代替ジョブ実行部73からプリント枚数を含むプリント終了信号が入力される場合、プリント枚数(代替枚数)を含むカウント指示を、指示プリンタであるMFP100に送信する。
一方、指定プリンタであるMFP100が備えるCPU111において、カウント指示受信部57は、代替プリンタであるMFP100Aからカウント指示を受信する。MFP100Aがカウント指示を送信すると、データ通信制御部117がカウント指示を受信する。カウント指示受信部57は、データ通信制御部117が受信するカウント指示を受け付ける。カウント指示受信部57は、カウント指示を受け付けると、そのカウント指示を第1料金算出部61に出力する。
第1料金算出部61は、加算部63を含む。加算部63は、カウント指示受信部57からカウント指示が入力される。カウント指示は、代替プリンタであるMFP100Aにより1枚のプリントが完了したことを示すため、加算部63は、EEPROM113に記憶されるカウント値121に代替プリンタであるMFP100Aによりプリントされた枚数である1を加算し、カウント値121を更新する。なお、カウント指示が代替枚数を含む場合、加算部63は、EEPROM113に記憶されるカウント値121に代替プリンタであるMFP100Aによりプリントされた代替枚数を加算し、カウント値121を更新する。
第1料金算出部61は、カウント値121と、単価テーブル123で定まる単価とから料金を算出する。単価テーブル123は、EEPROM113に予め記憶され、プリント枚数と単価とを対応付けたレコードを含む。ここでは、単価テーブルは、プリント枚数が0枚から500枚までに対して1枚当たりの単価として9円を対応付けるレコードと、プリント枚数が501枚から1000枚までに対して1枚当たりの単価として8円を対応付けるレコードと、プリント枚数が1001枚から3000枚までに対して1枚当たりの単価として7円を対応付けるレコードと、プリント枚数が3001枚以上に対して1枚当たりの単価として6円を対応付けるレコードとを含む。第1料金算出部61は、単価テーブルによりカウント値121と関連付けられた単価とカウント値121とを乗じた額を、プリント枚数に対応する料金として算出する。例えば、カウント値121が3500枚ならば、単価は6円となり、料金は21000円である。
なお、最初の500枚に対する4500円を、最低料金として設定するようにしてもよい。この場合には、カウント値121が500枚未満であっても4500円が料金として算出される。
なお、MFP100が代替プリンタとなる場合があるので、EEPROM113に記憶されるカウント値121は、自装置の単価が指定プリンタの単価より安い場合に、指定プリンタから受信する代替指示に含まれるプリントジョブに従ってプリントしたプリント枚数がさらに加算した値である。
代替プリンタであるMFP100Aが備えるCPU111Aの第2料金算出部81は、カウント値121Aと、単価テーブル123Aで定まる単価とから料金を算出する。単価テーブル123Aは、EEPROM113Aに予め記憶され、プリント枚数と単価とを対応付けたレコードを含む。ここでは、単価テーブルは、プリント枚数が0枚から500枚までに対して1枚当たりの単価として10円を対応付けるレコードと、プリント枚数が501枚から1000枚までに対して1枚当たりの単価として9円を対応付けるレコードと、プリント枚数が1001枚から3000枚までに対して1枚当たりの単価として8円を対応付けるレコードと、プリント枚数が3001枚以上に対して1枚当たりの単価として7円を対応付けるレコードとを含む。第2料金算出部81は、単価テーブルによりカウント値121Aと関連付けられた単価とカウント値121Aとを乗じた額を、プリント枚数に対応する料金として算出する。例えば、カウント値121Aが3500枚ならば、単価は7円となり、料金は24500円である。
なお、最初の500枚に対する料金5000円を、最低料金として設定するようにしてもよい。この場合には、カウント値121Aが500枚未満であっても5000円が料金として算出される。
なお、MFP100Aが指定プリンタとなる場合があるので、EEPROM113Aに記憶されるカウント値121Aは、PC200から受信するプリントジョブに従ってプリントした枚数と、代替指示を代替プリンタに送信し、かつ代替プリンタの単価が自装置の単価よりも安い場合に代替プリンタによりプリントされた枚数とがさらに加算された値である。
図4は、指定プリンタで実行されるプリント処理の流れの一例を示すフローチャートである。プリント処理は、MFP100,100A,100B,100Cおよびプリンタ300のうちの指定プリンタにより実行される処理である。ここではMFP100を指定プリンタとする例を示す。指定プリンタであるMFP100が備えるCPU111が、プリント枚数計数プログラムを実行することによりCPU111によりプリント処理が実行される。図4を参照して、CPU111は、プリントジョブを受け付けたか否かを判断する(ステップS01)。プリントジョブを受け付けたならば処理をステップS02に進め、そうでなければ処理をステップS05に進める。ステップS05においては、カウント指示を受け付けたか否かを判断する。カウント指示を受け付けたならば処理をステップS06に進め、そうでなければ処理をステップS101に戻す。すなわち、プリント処理は、CPU111がプリントジョブを受け付けた場合、または、カウント指示を受け付けた場合に実行される処理である。
ステップS01において、プリントジョブを受け付けると、処理をステップS02に進める。ここでは、PC200が送信するプリントジョブを受け付けた例を説明する。なお、プリントジョブに加えて、コピージョブを受け付けた場合に、処理をステップS02に進めるようにしてもよい。コピージョブは、画像読取部20が原稿を読み取った画像データに基づき画像形成部30にプリントさせる処理である。画像読取部20が駆動可能で、画像形成部30が駆動できないトラブルが発生することがある。この場合に、画像読取部20が出力する画像データをプリントするプリントジョブを代替プリンタに実行させることができる。
ステップS02においては、プリントジョブの実行が可能か否かを判断する。実行可能であれば処理をステップS07に進め、実行可能でなければ処理をステップS03に進める。実行可能か否かは、例えば、画像を形成することができないトラブルが発生したことが検出された場合に実行可能でないと判断するが、トラブルが発生したことが検出されない場合、実行可能と判断する。よって、ここではエラーで停止中の状態は、プリント可能な状態に含まれる。
ステップS07においては、プリントジョブを実行する。具体的には、プリントジョブに含まれるプリントデータに基づいてプリント条件に従ってプリントする。そして、1枚のプリントが終了したか否かを判断する(ステップS08)。1枚のプリントが終了するまで待機状態となり、1枚のプリントが終了すると処理をステップS09に進める。ただし、トラブルが発生し、プリントできなくなった場合には、処理を終了する。ステップS09においては、カウント値121にプリントした枚数である1を加算し、カウント値121を更新する。1枚のプリントが終了することを条件に、カウント値121を更新するので、プリントが終了する前にトラブル等でプリントできなくなった場合にはカウント値121を更新しない。このため、料金を計算するためのプリント枚数を適切に計数することができる。
ステップS10においては、プリントジョブが終了したか否かを判断する。プリントジョブに含まれるプリントデータの全て、およびプリント条件に設定されている部数に対応するプリントが終了したか否かを判断する。プリントジョブが終了したならば処理をステップS01に戻し、そうでなければ次のプリントを実行するために処理をステップS07に戻す。
一方、ステップS03においては、代替プリンタを決定する。ここでは、代替プリンタとしてMFP100Aであることを示す代替プリンタ情報をEEPROM113から読み出すことにより、MFP100Aを代替プリンタに決定する。
そして、代替指示を代替プリンタに送信する(ステップS04)。代替指示は、ステップS01で受け付けたプリントジョブを含む。これにより、トラブルが発生してプリントできない場合であっても代替プリンタでプリントジョブが実行されるので、プリントジョブを直ちに実行させることができる。また、代替指示を送信した後に、代替プリンタでプリントされる旨を、PC200に送信する。PC200のユーザは、MFP100を指定してプリントジョブをMFP100に送信する指示を入力したが、そのプリントジョブが代替プリンタであるMFP100Aでプリントされることを知ることができる。このため、ユーザは、指定プリンタであるMFP100でなく、実際にプリントアウトされるMFP100Aにプリントアウトされた用紙を取りに移動することができる。
ステップS05においては、カウント指示を受け付けたか否かを判断する。カウント指示を受け付けたならば処理をステップS06に進める。ステップS06においては、カウント値121にカウント指示を受信した回数である1を加算し、カウント値121を更新する。カウント指示は、後述する代替プリンタであるMFP100Aが、1枚のプリントが終了する毎に指示プリンタであるMFP100に送信する。このため、カウント指示は、代替プリンタであるMFP100Aが1枚のプリントが終了したことを示す。代替プリンタであるMFP100Aが1枚をプリントすることを条件に、カウント値121を更新するので、MFP100Aによるプリントが終了する前にトラブル等でプリントできなくなった場合にはカウント値121を更新しない。このため、料金を計算するためのプリント枚数を適切に計数することができる。
図5は、代替プリント処理の流れの一例を示すフローチャートである。代替プリント処理は、MFP100,100A,100B,100Cおよびプリンタ300のうちの代替プリンタにより実行される処理である。ここではMFP100Aを代替プリンタとする例を示す。代替プリンタであるMFP100Aが備えるCPU111Aが、プリント枚数計数プログラムを実行することによりCPU111Aにより代替プリント処理が実行される。プリント枚数計数プログラム図5を参照して、CPU111Aは、代替指示を受信したか否かを判断する(ステップS21)。代替指示を受信したならば処理をステップS22に進め、そうでなければ処理をステップS34に進める。
ステップS22においては、代替指示の送信元の指示プリンタの装置属性を取得する。ここでは、EEPROM113に記憶されているMFP100の装置属性を読み出す。そして、指定プリンタであるMFP100がモノクロ専用機か否かを判断する(ステップS23)。モノクロ専用機であれば処理をステップS24に進め、そうでなければ処理をステップS25に進める。ステップS24においては、モノクロでプリントし、処理をステップS26に進める。指定プリンタがモノクロ専用機で、代替プリンタがカラープリント可能な場合、強制的にモノクロでプリントする設定にプリント条件を変更することにより、モノクロの料金で、カラーでプリントさせる悪意のある行為を防止することができる。ステップS25においては、カラーでプリントし、処理をステップS26に進める。
ステップS26においては、1枚のプリントが終了したか否かを判断する。1枚のプリントが終了するまで待機状態となり、終了したならば処理をステップS27に進める。ただし、トラブルが発生し、プリントできなくなった場合には、処理を終了する。
ステップS27においては、指定プリンタであるMFP100の単価と、自装置(代替プリンタであるMFP100A)の単価とを比較する。EEPROM113Aに予め記憶してあるMFP100の装置属性を読み出すことにより、その装置属性に含まれる単価を取得する。そして、代替指示の送信元の指定プリンタの単価が代替プリンタ(自装置)の単価以下か否かを判断する(ステップS28)。送信元の装置の単価が代替プリンタの単価以下ならば処理をステップS29に進めるが、そうでなければ処理をステップS32に進める。ステップS29においては、カウント指示を送信元の装置である指定プリンタに送信する。
次のステップS30においては、カウント指示の送信に成功したか否かを判断する。成功したならば処理をステップS33に進めるが、成功しなければ送信カウンタを1加算し(ステップS31)、処理をステップS33に進める。送信カウンタは、カウント指示の送信に失敗し、未送信のカウント指示の数を計数するためのカウンタである。カウント指示は、代替プリンタで1枚をプリントしたことを示すため、送信カウンタは、代替プリンタでプリントした枚数のうち、指定プリンタで未だ料金を算出するためにカウントされていない値を示す。ステップS33においては、プリントジョブが終了したか否かを判断する。プリントジョブに含まれるプリントデータの全て、およびプリント条件に設定されている部数に対応するプリントが終了したか否かを判断する。プリントジョブが終了したならば処理をステップS34に進め、そうでなければ次のプリントを実行するために処理をステップS23に戻す。
一方ステップS32においては、カウント値121Aにプリントした枚数である1を加算し、カウント値121Aを更新する。その後処理をステップS33に進める。1枚のプリントが終了することを条件に、カウント値121Aを更新するので、プリントが終了する前にトラブル等でプリントできなくなった場合にはカウント値121Aを更新しない。このため、料金を計算するためのプリント枚数を適切に計数することができる。
ステップS34においては、送信カウンタの値が1以上か否かを判断する。送信カウンタの値が1以上ならば処理をステップS35に進め、そうでなければ処理を終了する。ステップS35においては、カウント指示を送信元の装置である指定プリンタに送信する。次のステップS36においては、カウント指示の送信に成功したか否かを判断する。成功したならば処理をステップS37に進めるが、成功しなければ処理をステップS34に戻す。ステップS37においては、送信カウンタを1減算する。送信カウンタは、未送信のカウント指示の数を示すカウンタだからである。このため、送信カウンタの値が0になるまで、カウント指示が送信元の指定プリンタに送信されるので、指定プリンタで確実に料金を算出するためのカウント値121をカウントアップすることができる。
図6は、料金算出処理の流れの一例を示すフローチャートである。料金算出処理は、MFP100,100A,100B,100Cにより実行される処理である。ここでは、MFP100が備えるCPU111が料金算出処理を実行する場合を例に説明する。MFP100が備えるCPU111が、プリント枚数計数プログラムを実行することにより、料金算出処理がCPU111で実行される処理である。
図6を参照して、CPU111は、現在の日時が料金を算出するタイミングか否かを判断する(ステップS41)。料金を算出するタイミングは、EEPROM113に予め記憶されており、例えば、月末など予め定められた日時とするのが好ましい。現在日時が料金を算出するタイミングになるまで待機状態となり、料金を算出するタイミングになると処理をステップS42に進める。すなわち、料金算出処理は、現在日時が料金を算出するタイミングになることを条件に実行される処理である。
そして、EEPROM113から単価テーブル123を読み出し(ステップS42)、EEPROM113からカウント値121を読み出す(ステップS43)。そして、料金を算出する(S44)。具体的には、カウント値121に、単価テーブルによりカウント値121に対応する単価を乗じた額を、プリント枚数に対応する料金として算出する。例えば、カウント値121が2000枚ならば、単価8円とカウント値2000とを乗算し、料金は16000円となる。
そして、算出した料金を、予め定められた送信先に送信する(ステップS45)。送信先は、例えば、MFP100を管理するサーバである。送信方法は、LAN2を介して送信してもよいし、または、携帯電話で送信するようにしてもよい。また、送信することなく、MFP100のEEPROM113に記憶しておいてもよい。
以上説明したように本実施の形態におけるプリントシステム1において、指定プリンタであるMFP100は、プリントジョブが受け付けられると、プリントジョブを実行可能な場合は、プリントジョブに従ってプリントするが、プリントジョブを実行できない場合は、プリントジョブを含む代替指示を代替プリンタであるMFP100Aに送信する。そして、指定プリンタであるMFP100がプリントしたプリント枚数(カウント値121)に代替プリンタであるMFP100Aが代替指示に含まれるプリントジョブに従ってプリントしたプリント枚数(代替枚数)が加算され、カウント値121が更新される。そして、プリント枚数(カウント値121)に基づいて料金が算出されるので、代替プリンタであるMFP100の単価に係わらず、最高でもユーザが知る指定プリンタであるMFP100の単価で課金される。このため、ユーザの意思に反して高い料金が発生しないようにすることができる。
また、代替プリンタであるMFP100Aは、指定プリンタであるMFP100からプリントジョブを含む代替指示が受信されると、代替指示に含まれるプリントジョブに従ってプリントする毎にカウント指示を指定プリンタであるMFP100に送信する。さらに、カウント指示を送信しない場合に、MFP100Aでプリントしたプリント枚数がカウント値121Aに加算され、カウント値121Aが更新される。このため、指定プリンタであるMFP100から受信したプリントジョブに従ってプリントする場合に料金が発生しないので、ユーザの意思に反して料金が発生することがない。
また、代替プリンタであるMFP100Aは、指定プリンタであるMFP100のプリント単価よりも自機のプリント単価が安くないことを条件に、カウント指示を送信するので、より安い単価で料金が算出され、料金を可能な限り安くすることができる。
また、代替プリンタであるMFP100Aは、指定プリンタであるMFP100がモノクロでしかプリントできない場合、プリントジョブをモノクロでプリントする。モノクロのプリントの単価よりもカラーのプリントの単価が高い場合に、安いモノクロの単価でカラーのプリントがされるのを禁止して、悪用されるのを防止することができる。
<第2の実施の形態>
次に第2の実施の形態におけるプリンシステムについて説明する。図7は、第2の実施の形態におけるプリントシステムの全体概要を示す図である。図7を参照して、第2の実施の形態におけるプリントシステム1Aは、ネットワーク2にそれぞれ接続されたMFP100,100A,100B,100Cと、PC200と、プリンタ300と、プリントサーバ400と、を含む。
MFP100,100A,100B,100Cは、プリントに対して料金が課される画像形成装置であり、プリンタ300はプリントに対して料金は課されない画像形成装置である。MFP100,100A,100B,100Cは、その構成および機能は同じなので、ここでは特に言及しない限りMFP100を例に説明する。
第2の実施の形態におけるプリントシステム1Aにおいては、PC200からプリントジョブが、最初にプリントサーバ400に送信され、プリントサーバ400がプリントジョブを管理する。ここでは、説明を簡単にするために、PC200が、故障などで停止しているMFP100を指定するプリントジョブを送信する場合を例に説明する。また、プリントサーバ400に、MFP100の代替プリンタとしてMFP100Aが設定されている場合を例に説明する。この場合、MFP100が指定プリンタであり、MFP100Aが代替プリンタである。このように、第2の実施の形態におけるプリントシステム1Aは、第1の実施の形態におけるプリントシステム1において、指定プリンタであるMFP100および代替プリンタであるMFP100Aが有する機能の一部を、プリントサーバ400が有するようにしたものである。以下、第1の実施の形態におけるプリントシステム1と異なる点を主に説明する。
図8は、プリントサーバのハード構成の一例を示す図である。図8を参照して、プリントサーバ400は、それぞれがバス208に接続されたCPU201と、CPU201の作業領域として用いられるRAM205と、CPU201が実行するプログラムを記憶するROM206と、ハードディスクドライブ(HDD)207と、プリントサーバ400をネットワーク2に接続するための通信I/F202と、キーボードおよびマウス等の入力部204と、モニタ203とを含む。
図9は、第2の実施の形態におけるプリントシステムの機能の概要を示す機能ブロック図である。ここでは、MFP100を指定プリンタとし、MFP100AをMFP100の代替プリンタとする場合を例に説明する。図9は、プリントサーバ400が備えるCPU201の機能と、MFP100が指定プリンタとして機能する場合におけるMFP100が備えるCPU111の機能と、MFP100Aが代替プリンタとして機能する場合にMFP100Aが備えるCPU111Aの機能と、CPU111,111Aにそれぞれ接続されるEEPROM113,113Aに記憶される情報とを示している。
図9を参照して、プリントサーバ400が備えるCPU201は、管理対象である装置の状態を検出するための状態検出部251と、プリントジョブを受信するためのジョブ受信部253と、プリントジョブを指定プリンタに送信するためのジョブ送信部255と、プリントジョブを代替プリンタに送信するための代替ジョブ送信部257と、代替プリンタから実行結果を受信するための実行結果受信部259と、指定プリンタにカウントを指示するためのカウント指示部261と、を含む。
MFP100が備えるCPU111は、図3に示した機能ブロック図と異なる点は、依頼部55が削除された点、およびカウント指示受信部57Aが変更された点である。その他の機能は同じである。また、MFP100Aが備えるCPU111Aは、図3に示した機能ブロックと異なる点は、カウント指示送信部75Aが変更された点であり、その他の機能は同じである。
状態検出部251は、管理対象の装置の状態を検出する。管理対象の装置は、ここではMFP100,100A,100B,100Cおよびプリンタ300である。状態検出部251は、MFP100,100A,100B,100Cおよびプリンタ300から例えばMIB(Management INFORMATION Base)を取得することにより、MFP100,100A,100B,100Cおよびプリンタ300の状態を検出する。
ジョブ受信部253は、PC200が送信するプリントジョブを受信する。PC200が、MFP100を指定プリンタとして指定したプリントジョブをプリントサーバ400に送信すると、通信I/F202がプリントジョブを受信する。ジョブ受信部253は、通信I/F202が受信するプリントジョブを受け付ける。また、通信I/F202は、プリントジョブとともに、PC200を識別するための装置識別情報を受信する。装置識別情報は、プリントジョブの送信元を特定するための送信元情報である。ここでは、送信元情報をプリントジョブとは別に受信する例を説明するが、プリントジョブが送信元情報を含むようにしてもよい。ジョブ受信部253は、プリントジョブをジョブ送信部255または代替ジョブ送信部257に出力する。
ジョブ受信部253は、指定プリンタがプリント可能な状態であるか否かを判断する。具体的には、受信したプリントジョブが指定プリンタとして指定するMFP100の状態を判断する。プリント可能な状態とは、ここでは、トラブルで停止中の状態をプリント不可能な状態とし、それ以外の状態をプリント可能な状態としている。したがって、例えばエラーで停止中の状態もプリント可能な状態に含まれる。ジョブ受信部253は、指定プリンタであるMFP100がプリント可能な状態であればプリントジョブをジョブ送信部255に出力し、指定プリンタがプリント可能な状態でなければプリントジョブを代替ジョブ送信部257に出力する。
ジョブ送信部255は、ジョブ受信部253から入力されるプリントジョブを、指定プリンタであるMFP100に送信する。ジョブ送信部255が送信するプリントジョブは、指定プリンタであるMFP100が備えるジョブ受付部51により受け付けられ、ジョブ実行部53により実行される。これにより、ジョブ実行部53によりプリントジョブに従ってプリントされた枚数が、カウント値121に加算され、カウント値121が更新される。
代替ジョブ送信部257は、ジョブ受信部253から入力されるプリントジョブを含む代替指示を、指定プリンタの代替プリンタに送信する。MFP100の代替プリンタを特定するための情報を含む、MFP100Aの装置属性を、HDD207に予め記憶しておけばよい。また、指定プリンタであるMFP100の代替プリンタを、MFP100A,100B,100Cおよびプリンタ300のグループのうちから任意に定めるようにしてもよいし、また、ネットワーク2にブロードキャストで問合せをして、回答のあった装置のうちから1つを選択することにより代替プリンタを定めるようにしてもよい。
代替ジョブ送信部257が送信する代替指示は、代替プリンタであるMFP100Aが備える代替指示受信部71により受信され、代替ジョブ実行部73により実行される。MFP100Aの単価がMFP100の単価よりも安ければ、代替ジョブ実行部73によりプリントジョブに従ってプリントされた枚数がカウント値121Aのカウント値に加算され、カウント値121Aが更新される。逆に、MFP100Aの単価がMFP100の単価よりも安くなければ、代替ジョブ実行部73によりプリントジョブに従ってプリントされた枚数と同じ数のカウント指示が、カウント指示送信部75Aからプリントサーバ400に送信される。
プリントサーバ400の実行結果受信部259は、代替プリンタであるMFP100Aからカウント指示を受信する。カウント指示部261は、カウント指示受信部259がカウント指示を受信する毎に、指示プリンタであるMFP100にカウント指示を送信する。カウント指示部261は、指示プリンタであるMFP100がカウント指示を受信しない場合には、未送信のカウント指示の個数を記憶しておき、カウント指示をMFP100に送信するまで繰り返しカウント指示を送信する。このため、カウント指示が指定プリンタであるMFP100に確実に送信される。
カウント指示送信部261が送信するカウント指示は、指定プリンタであるMFP100が備えるカウント指示受信部57Aにより受信される。カウント指示受信部57Aにより受信されたカウント指示は、第1料金算出部61の加算部63に出力される。加算部63は、EEPROM113に記憶されるカウント値121に代替プリンタであるMFP100Aによりプリントされた枚数である1を加算し、カウント値121を更新する。なお、カウント指示が代替枚数を含む場合、加算部63は、EEPROM113に記憶されるカウント値121に代替プリンタであるMFP100Aによりプリントされた代替枚数を加算し、カウント値121を更新する。
なお、MFP100が代替プリンタとなる場合があるので、EEPROM113に記憶されるカウント値121は、自装置の単価が指定プリンタの単価より安い場合に、指定プリンタから受信する代替指示に含まれるプリントジョブに従ってプリントしたプリント枚数がさらに加算された値である。
また、MFP100Aが指定プリンタとなる場合があるので、EEPROM113Aに記憶されるカウント値121Aは、PC200から受信するプリントジョブに従ってプリントした枚数と、代替指示を代替プリンタに送信し、かつ代替プリンタの単価が自装置の単価よりも安い場合に代替プリンタによりプリントされた枚数とがさらに加算された値である。
図10および図11は、ジョブ管理処理の流れの一例を示すフローチャートである。ジョブ管理処理は、プリントサーバ400のCPU201が、料金算出プログラムを実行することにより、CPU201により実行される処理である。図10および図11を参照して、CPU201は、管理対象の装置の状態を検出する(ステップS51)。ここではMFP100,100A,100B,100Cおよびプリンタ300からMIBを取得することにより、MFP100,100A,100B,100Cおよびプリンタ300の状態を検出する。そして、検出したMFP100,100A,100B,100Cおよびプリンタ300の状態をHDD207に記憶する(ステップS52)。
次に、プリントジョブを受信したか否かを判断する(ステップS53)。プリントジョブを受信したならば処理をステップS54に進めるが、そうでなければ処理をステップS64に進める。ステップS54においては、プリントジョブで指定された指定プリンタがプリント可能な状態か否かを判断する。プリント可能な状態か否かは、ステップS52において、HDD207に記憶された状態に基づいて判断する。指定プリンタがプリント可能な状態であれば処理をステップS55に進め、プリント可能な状態でなければ処理をステップS56に進める。ステップS55においては、指定プリンタであるMFP100にプリントジョブを送信し、処理をステップS51に戻す。
ステップS56においては、指定プリンタであるMFP100の代替プリンタを決定する。そして、プリントジョブを送信してきたPC200に対して、代替プリンタによりプリントする代替プリントであることを通知する(ステップS57)。具体的には、指定プリンタであるMFP100に代えて、代替プリンタであるMFP100AでプリントするメッセージをPC200に送信する。これにより、PC200のユーザは、プリントジョブが代替プリンタであるMFP200で実行され、プリントアウトされることを知ることができる。したがって、ユーザは、指定プリンタであるMFP100でなく、実際にプリントアウトされるMFP100Aにプリントアウトされる用紙を取りに移動することができる。
次に、指定プリンタであるMFP100がモノクロ専用機か否かを判断する(ステップS58)。モノクロ専用機であれば処理をステップS59に進め、そうでなければステップS59をスキップして処理をステップS60に進める。ステップS59においては、代替指示をモノクロに設定する。具体的には、プリントジョブに含まれるプリント条件をモノクロでプリントする設定に変更する。指定プリンタがモノクロ専用機で、代替プリンタがカラープリント可能な場合、悪意でモノクロの料金でカラーでプリントする行為がされるのを防止することができる。
ステップS60においては、指定プリンタであるMFP100の単価と、代替プリンタであるMFP100Aの単価とを比較する。MFP100およびMFP100Aの単価をHDD207に予め記憶しておくようにすればよい。そして、指定プリンタであるMFP100の単価が、代替プリンタであるMFP100Aの単価以下か否かを判断する(ステップS61)。指定プリンタであるMFP100の単価が代替プリンタの単価以下ならば処理をステップS63に進めるが、そうでなければ処理をステップS62に進める。ステップS63においては、カウントなしの代替指示を代替プリンタであるMFP100Aに送信し、処理をステップS64に進める。一方、ステップS62においては、カウントありの代替指示を代替プリンタであるMFP100Aに送信し、処理をステップS51に戻す。
ステップS64においては、代替プリンタであるMFP100Aからカウント指示を受信したか否かを判断する。カウント指示を受信したならば処理をステップS65に進め、そうでなければ処理をステップS68に進める。
ステップS65においては、指定プリンタであるMFP100にカウント指示を送信する。そして、カウント指示の送信に成功したか否かを判断する(ステップS66)。成功したならば処理をステップS68に進めるが、成功しなければ送信カウンタを1加算(ステップS67)した後、処理をステップS68に進める。送信カウンタは、カウント指示の送信に失敗し、未送信のカウント指示の数を計数するためのカウンタである。カウント指示は、代替プリンタで1枚をプリントしたことを示すため、送信カウンタは、代替プリンタでプリントした枚数のうち、指定プリンタで未だ料金を算出するためにカウントされていない値を示す。
ステップS68においては、送信カウンタの値が1以上か否かを判断する。送信カウンタの値が1以上ならば処理をステップS69に進め、そうでなければ処理をステップS51に戻す。ステップS69においては、指定プリンタであるMFP100にカウント指示を送信する。次のステップS70においては、カウント指示の送信に成功したか否かを判断する。成功したならば処理をステップS71に進めるが、成功しなければ処理をステップS68に戻す。ステップS71においては、送信カウンタを1減算する。送信カウンタは、未送信のカウント指示の数を示すカウンタだからである。このため、送信カウンタのカウント値が0になるまで、カウント指示が指定プリンタであるMFP100に送信されるので、指定プリンタで確実に料金を徴収するためのカウンタをカウントアップすることができる。
図12および図13は、第2の実施の形態におけるプリント処理の流れの一例を示すフローチャートである。このプリント処理は、MFP100,100A,100B,100Cおよびプリンタ300それぞれで実行される処理である。ここでは指定プリンタであるMFP100または代替プリンタであるMFP100Aがプリント処理を実行する例を説明する。MFP100が備えるCPU111またはMFP100Aが備えるCPU111Aが、プリント枚数計数プログラムを実行することによりCPU111またはCPU111Aによりプリント処理が実行される。したがって、ステップS81〜ステップS87およびステップ97〜ステップS98については、MFP100のCPU111が実行する場合を例に説明し、ステップS88〜ステップS96については、MFP100AのCPU111Aが実行する場合を例に説明する。
図12および図13を参照して、プリントサーバ400から状態の問合せがあったか否かを判断する(ステップS81)。具体的には、MIBの送信要求を受信したか否かを判断する。状態の問い合わせがあったならば処理をステップS82に進め、そうでなければ処理をステップS83に進める。ステップS82においては、プリントサーバ400に状態を示す情報、ここではMIBを送信する。
ステップS83においては、プリントサーバ400が送信するプリントジョブを受け付けたか否かを判断する。プリントジョブを受け付けたならば処理をステップS84に進め、そうでなければ処理をステップS88に進める。
ステップS84においては、プリントジョブを実行する。具体的には、プリントジョブに含まれるプリントデータに基づいてプリント条件に従ってプリントする。そして、1枚のプリントが終了したか否かを判断する(ステップS85)。1枚のプリントが終了しなければ処理をステップS84に戻し、1枚のプリントが終了すると処理をステップS86に進める。ただし、トラブルが発生し、プリントできなくなった場合には、処理をステップS88に進める。ステップS86においては、カウント値121にプリントした枚数である1を加算し、カウント値121を更新する。1枚のプリントが終了することを条件に、カウント値121を更新するので、プリントが終了するまえにトラブル等でプリントできなくなった場合にはカウント値121を更新しない。このため、料金を計算するためのプリント枚数を適切に計数することができる。
次のステップS87においては、プリントジョブが終了したか否かを判断する。プリントジョブに含まれるプリントデータの全て、およびプリント条件に設定されている部数に対応するプリントが終了したか否かを判断する。プリントジョブが終了したならば処理をステップS88に進め、そうでなければ次のプリントを実行するために処理をステップS84に戻す。
ステップS88においては、代替指示を受信したか否かを判断する。代替指示を受信したならば処理をステップS89に進めるが、そうでなければ処理をステップS97に進める。ステップS89においては、受信した代替指示に含まれるプリントジョブのプリント条件がモノクロのプリントに設定されているか否かを判断する。モノクロのプリントに設定されていれば処理をステップS90に進め、そうでなければ処理をステップS91に進める。ステップS90においては、モノクロでプリントし、処理をステップS92に進める。指定プリンタがモノクロ専用機で、代替プリンタがカラープリント可能な場合、強制的にモノクロでプリントすることにより、悪意でモノクロの料金で、カラーでプリントする行為がされるのを防止することができる。ステップS91においてはカラーでプリントし、処理をステップS92に進める。
ステップS92においては、1枚のプリントが終了したか否かを判断する。1枚のプリントが終了しなければ処理をステップS89に戻し、終了したならば処理をステップS93に進める。ただし、トラブルが発生し、プリントできなくなった場合には、処理をステップS97に進める。
ステップS93においては、代替指示がカウントありに設定されているか否かを判断する。カウントありに設定された代替指示ならば処理をステップS94に進め、そうでなければ処理をステップS95に進める。ステップS95においては、カウント指示をプリントサーバ400に送信し、処理をステップS96に進める。
ステップS94においては、カウント値121にプリントした枚数である1を加算し、カウント値121を更新する。その後処理をステップS96に進める。1枚のプリントが終了することを条件に、カウント値121を更新するので、プリントが終了する前にトラブル等でプリントできなくなった場合にはカウント値121を更新しない。このため、料金を計算するためのプリント枚数を適切に計数することができる。
ステップS96においては、プリントジョブが終了したか否かを判断する。プリントジョブに含まれるプリントデータの全て、およびプリント条件に設定されている部数に対応するプリントが終了したか否かを判断する。プリントジョブが終了したならば処理をステップS97に進め、そうでなければ次のプリントを実行するために処理をステップS89に戻す。
ステップS97においては、カウント指示を受信したか否かを判断する。カウント指示を受信したならば処理をステップS98に進め、そうでなければ処理をステップS81に戻す。ステップS98においては、カウント値121に代替プリンタがプリントした枚数である1を加算し、カウント値121を更新する。その後処理をステップS81に戻す。代替プリンタであるMFP100Aにより1枚のプリントが終了することを条件に、カウント値121を更新するので、代替プリンタにおいてプリントが終了する前にトラブル等でプリントできなくなった場合にはカウント値121を更新しない。このため、料金を計算するためのプリント枚数を適切に計数することができる。
第2の実施の形態におけるMFP100,100A,100B,100Cにおいては、図6に示した料金算出処理が実行される。
以上説明したように本実施の形態におけるプリントシステム1Aにおいて、プリントサーバ400は、プリントジョブをPC200から受け付け、指定プリンタであるMFP100がプリントジョブを実行できなければ、代替プリンタであるMFP100Aにプリントジョブを含む代替指示を送信し、代替プリンタであるMFP100Aにより代替指示に含まれるプリントジョブに従ってプリントされる毎にカウント指示を指定プリンタであるMFP100に送信する。指定プリンタであるMFP100は、カウント指示を受信すると、MFP100がプリントしたプリント枚数(カウント値121)に代替プリンタであるMFP100Aが代替指示に含まれるプリントジョブに従ってプリントしたプリント枚数(代替枚数)を加算し、カウント値121を更新する。プリント枚数に基づいて料金が算出されるので、代替プリンタであるMFP100Aの単価に係わらず、最高でもユーザの知るMFP100の単価で料金が算出される。このため、ユーザの意思に反して高い料金が発生することがない。
なお、上述した実施の形態においては、プリントシステム1,1Aについて説明したが、図4〜図6および図10〜図13に示した処理を実行するためのプリント枚数計数方法、および、図4〜図6および図10〜図13に示した処理をコンピュータに実行させるためのプリント枚数計数プログラムとして発明を捉えることができるのは言うまでもない。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
<付記>
(1) 前記カウント指示受信手段は、前記代替プリンタにより前記代替指示に含まれる前記プリントジョブに従ってプリントされた代替枚数を含む前記カウント指示を受信し、
前記加算手段は、前記カウント指示が受信されることに応じて、前記プリント手段によりプリントされたプリント枚数に前記カウント指示に含まれる代替枚数を加算する、請求項1に記載の画像形成装置。
(2) 前記カウント指示送信手段は、前記代替指示に含まれる前記プリントジョブに従ってプリントされた代替枚数を含む前記カウント指示を送信する、請求項5に記載の画像形成装置。
(3) 前記第3指示手段は、前記第2の画像形成装置により前記代替指示に含まれる前記プリントジョブに従ってプリントされた代替枚数を含む前記カウント指示を受信し、
前記加算手段は、前記カウント指示が受信されることに応じて、前記プリント手段によりプリントされたプリント枚数に前記カウント指示に含まれる前記代替枚数を加算する、請求項10に記載の画像形成装置。
(4) 第1および第2の画像形成装置を含むプリントシステムであって、
前記第1の画像形成装置は、
プリントジョブを受け付けるジョブ受付手段と、
受け付けられた前記プリントジョブを実行可能な場合、前記プリントジョブに従ってプリントする第1プリント手段と、
受け付けられた前記プリントジョブを実行できない場合、受信された前記プリントジョブを含む代替指示を代替プリンタに送信する依頼手段と、
前記プリント手段によりプリントされたプリント枚数に前記代替プリンタにより前記代替指示に含まれる前記プリントジョブに従ってプリントされた代替枚数を加算する加算手段と、を備え、
前記第2の画像形成装置は、
プリントジョブを受信することに応じて、該プリントジョブに従ってプリントする第2プリント手段と、
前記第1の画像形成装置からプリントジョブを含む代替指示が受信された場合、該代替指示に含まれる前記プリントジョブに従ってプリントする毎にカウント指示を前記第1の画像形成装置に送信するカウント指示送信手段と、
前記カウント指示が送信されないことを条件に、前記第2プリント手段によりプリントされたプリント枚数を計数する加算手段と、を備えたプリントシステム。
1,1A プリントシステム、2 ネットワーク、12 ファクシミリ部、14 通信制御部、20 画像読取部、30 画像形成部、40 給紙部、50 後処理部、51 ジョブ受付部、53 ジョブ実行部、55 依頼部、57,57A カウント指示受信部、61 料金算出部、63 加算部、71 代替指示受信部、73 代替ジョブ実行部、75,75A カウント指示送信部、81 料金算出部、101 メイン回路、111 CPU、112 RAM、113 EEPROM113、114 表示部、115 操作部、116 HDD、117 データ通信制御部、118 LAN端子、119 シリアル通信インターフェース端子、119A メモリカード、121,121A カウンタ、123,123A 単価テーブル、200 プリンタ、201 CPU、202 通信I/F、203 モニタ、204 入力部、205 RAM、206 ROM、207 HDD、208 バス、251 状態検出部、253 ジョブ受信部、255 ジョブ送信部、257 代替ジョブ送信部、259 実行結果受信部、259 カウント指示受信部、261 カウント指示部、300 プリンタ、400 プリントサーバ。