(57)【特許請求の範囲】
【請求項１】
記憶手段と、通信手段を介して接続されている全てまたは一部の他の情報処理装置が共有することができる、予め定められた仮想アドレス宛に送信されたデータを受信可能な受信手段と、当該受信手段が受信したデータを上記記憶手段に追加登録する登録手段と、上記記憶手段に記憶されたデータを処理するデータ処理手段とを有する情報処理装置であって、
受信したデータが、自らの固有アドレス宛に送信されてきたデータであるか否か、および、仮想アドレス宛に送信されてきたデータであるか否かを解析するフレーム解析部と、
上記登録手段およびデータ処理手段を制御するとともに、上記仮想アドレス宛に送信されたデータの追加登録および当該データの処理が可能なアクティブ状態と、アクティブ状態以外の非アクティブ状態とを切り換える状態変更手段を備え、
上記登録手段は、上記固有アドレス宛に送信されてきたデータを全て記憶手段に追加登録するものであり、
上記状態変更手段は、上記記憶手段に登録されている未処理のデータが所定の閾値を超えると、他の情報処理装置に対して仮想アドレス宛に送信されたデータの追加登録および当該データの処理が可能なアクティブ状態へと移行するように指示するとともに、自らを非アクティブ状態へと移行させて、データ処理手段に未処理のデータを処理させるものであることを特徴とする情報処理装置。
【請求項２】
上記状態変更手段は、他の情報処理装置の状態に関する状態情報を記憶している状態情報記憶手段を備えており、
上記状態情報に基づいて、非アクティブ状態からアクティブ状態へと移行させる他の情報処理装置を決定するものであることを特徴とする請求項１記載の情報処理装置。
【請求項３】
上記記憶手段に登録された未処理のデータに基づいて当該未処理のデータの処理量を算出する算出手段と、
当該処理量と所定の閾値とを比較する比較手段とを備え、
上記状態変更手段は、比較手段の比較結果に基づいて、自らを非アクティブ状態に移行させるか否かを決定するようになっていることを特徴とする請求項１記載の情報処理装置。
【請求項４】
上記非アクティブ状態には、他の情報処理装置から送信されてきたアクティブ状態への移行指示に基づいて、自身をアクティブ状態に移行させるスタンバイ状態が含まれており、
上記状態変更手段は、自身の状態がスタンバイ状態であると判断した場合には、上記仮想アドレス宛に送信されたデータの追加登録を行うように登録手段を制御するとともに、
アクティブ状態である他の情報処理装置がデータ処理を行うことができないと判断した場合には、追加登録したデータを処理するものであることを特徴とする請求項１記載の情報処理装置。
【請求項５】
上記非アクティブ状態には、上記仮想アドレス宛に送信されたデータの追加登録および当該データの処理を行わないオフ状態と、データ処理手段に未処理のデータを処理させるビジー状態とが含まれており、
上記状態変更手段は、ビジー状態に移行した後、データ処理手段による未処理のデータの処理が完了したと判断した場合には、自らをオフ状態へと移行するとともに、データ処理手段を動作させないように制御するものであることを特徴とする請求項１記載の情報処理装置。
【請求項６】
上記登録手段は、受信したデータが仮想アドレス宛に送信されてきたデータであると判断すると、当該データを送信した送信元に対して、データを受信した旨と自らの固有アドレスとを通知するようになっていることを特徴とする請求項１記載の情報処理装置。
【請求項７】
請求項１〜６のいずれか１項に記載の情報処理装置を動作させる情報処理プログラムであって、コンピュータを上記の各手段として機能させるための情報処理プログラム。
【請求項８】
請求項７に記載の情報処理プログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項９】
請求項１〜６のいずれか１項に記載の情報処理装置と、
情報処理手段によって処理されたデータを画像形成する画像形成手段とを備えることを特徴とする画像形成装置。
【請求項１０】
上記非アクティブ状態には、次にアクティブ状態に移行するスタンバイ状態が含まれており、
上記状態変更手段は、自身の状態がスタンバイ状態である場合には、画像形成手段が稼動状態になるように制御するものであることを特徴とする請求項９記載の画像形成装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数の情報処理装置間で処理すべきデータの調停を行う情報処理装置に関するものである。
【０００２】
【従来の技術】
近年、コンピュータの性能向上および低価格化に伴い、ネットワーク、特に、ＬＡＮ（Local Area Network）上において、周辺機器を共有し、コンピュータから送信される情報の処理を行うネットワークシステムが構築されている。
【０００３】
上記共有される周辺機器としては、例えば、複写機、スキャナ、ＭＦＰ等の画像形成装置がある。複数の画像形成装置をＬＡＮに接続し、ネットワークシステムを構築することで、コンピュータから送信される印刷ジョブを複数の画像形成装置によって実行させることが可能になる。
【０００４】
このようなネットワークシステムにおいては、出力される各印刷ジョブは、通常、出力指示が行われる時点で出力を行う装置が指定され、その装置に対して送信される。
【０００５】
しかしながら、このようなネットワークシステムでは、ジョブの出力要求が特定の画像形成装置に集中し、ある装置ではジョブの出力が可能であるにも関わらず、他の装置ではジョブの出力待ちが生じているといった状況が起こり得るため、画像形成装置の利用が非効率的となる場合がある。
【０００６】
また、複数の画像形成装置を複数のユーザが共用する印刷システムにおいて、外部から送信された印刷データを処理する際に、印刷ジョブを実行する画像形成装置に印刷データを送信し、画像形成装置の印刷状況に応じて、他のプリンタで処理させる場合（特許文献１参照）や、印刷ジョブのデータ量が大きく、複数の画像形成装置で処理させる場合には、印刷データを再転送する必要がある。
【０００７】
このような問題を解決するため、ネットワーク上の複数の画像形成装置間においてジョブの調停（ネゴシエーション）を行い、画像形成装置の利用効率を上げるとともに、ネットワークの負荷を増大させることなく、これら複数の画像形成装置間でのジョブの調停を可能とする画像出力システムが提案されている（特許文献２〜４参照）。
【０００８】
例えば、特許文献２には、共通の特色を有するプリンタをグループ化しておくことで、ユーザ所望の機能を有するプリンタに出力データを自動分割する画像形成システムが開示されている。この画像形成システムでは、同じ機能を有するプリンタをグループ化し、プリンタを管理している。このため、処理を実行する際には、個々のプリンタを指定するのではなく、処理に必要な機能に応じてグループを指定することで、そのグループ内の複数のプリンタへ出力データを分配し、処理を実行している。
【０００９】
また、特許文献４に開示の画像出力システムは、ＬＡＮ上の各ホストからのジョブをＬＡＮ上につながったサーバを介して、サーバからＵＳＢ（Universal Serial Bus）でつながれた複数のプリンタに振り分けることが提案されている。
【００１０】
【特許文献１】
特開２００１−０６６９５０号公報（公開日２００１年３月１６日）
【００１１】
【特許文献２】
特開２０００−００３２５９号公報（公開日２０００年１月７日）
【００１２】
【特許文献３】
特開平９−３１９５３３号公報（公開日１９９７年１２月１２日）
【００１３】
【特許文献４】
特開平１１−３３１４５３号公報（公開日１９９９年１１月３０日）
【００１４】
【発明が解決しようとする課題】
しかしながら、上述した従来の画像出力システムは、以下に示すような問題点を有している。
【００１５】
すなわち、特許文献２に開示されたプリンタシステムにおいては、同じ機能を有するプリンタを予めグループ化し、グループ内の全てのプリンタに印刷ジョブを送信しているため、処理状況の変化に柔軟に対応して動的に印刷ジョブの割り振りを行うことができず、逆に処理効率が低下してしまうことも考えられる。
【００１６】
また、上記特許文献２に開示の方法では、１台のサーバがジョブを送信するグループを決定しているため、例えば、上記サーバが故障した場合には、ジョブを送信することができない。
【００１７】
また、特許文献３では、他の画像形成装置に処理中の印刷ジョブを送信する際、処理している画像形成装置から他の画像形成装置にジョブが送信されることとなる。従って、処理中の画像形成装置では、一旦、処理すべきジョブを受信した後、再び、他の装置にこのジョブを送信することになる。従って、無駄なジョブの送受信が発生するために、画像形成装置の処理能力を低下させることとなる。また、上記特許文献３に開示の構成では、他の装置にジョブを送信するか否かはサーバが決定するようになっているので、サーバが故障した場合には、プリンタジョブを送信することができない。
【００１８】
また、上記特許文献４に開示の構成では、プリンタジョブを複数のプリンタに振り分けるためのサーバを別途準備する必要がありコストがかかる。また、上記特許文献４に開示の構成では、サーバがプリンタジョブを送信するグループを決定しているため、例えば、サーバが故障した場合には、プリンタジョブを送信することができない。
【００１９】
本発明は、上記従来の問題に鑑みなされたものであり、その目的は、サーバを用いることなく、ジョブ（データ）の調停を行うことができる情報処理装置を提供することにある。
【００２０】
【課題を解決するための手段】
本発明の情報処理装置は、上記の課題を解決するために、記憶手段と、通信手段を介して接続されている全てまたは一部の他の情報処理装置が共有することができる、予め定められた仮想アドレス宛に送信されたデータを受信可能な受信手段と、当該受信手段が受信したデータを上記記憶手段に追加登録する登録手段と、上記記憶手段に記憶されたデータを処理するデータ処理手段とを有する情報処理装置であって、受信したデータが、自らの固有アドレス宛に送信されてきたデータであるか否か、および、仮想アドレス宛に送信されてきたデータであるか否かを解析するフレーム解析部と、上記登録手段およびデータ処理手段を制御するとともに、上記仮想アドレス宛に送信されたデータの追加登録および当該データの処理が可能なアクティブ状態と、アクティブ状態以外の非アクティブ状態とを切り換える状態変更手段を備え、上記登録手段は、上記固有アドレス宛に送信されてきたデータを全て記憶手段に追加登録するものであり、上記状態変更手段は、上記記憶手段に登録されている未処理のデータが所定の閾値を超えると、他の情報処理装置に対して仮想アドレス宛に送信されたデータの追加登録および当該データの処理が可能なアクティブ状態へと移行するように指示するとともに、自らを非アクティブ状態へと移行させて、データ処理手段に未処理のデータを処理させるものであることを特徴としている。
【００２１】
上記の構成によれば、状態変更手段は、上記記憶手段に登録されている未処理のデータが閾値を超えると、他の情報処理装置に対してアクティブに移行するように指示するとともに、自らを非アクティブ状態に移行させて、蓄積されている未処理のデータを処理させるようになっている。従って、情報処理装置を少なくとも１台は常にデータを受信可能なようにしておくことができる。これにより、例えば、サーバを必要とすることなく、１台の情報処理装置のみに処理すべきデータが集中することを防止することができるので、全体として効率よくデータの処理を行うことができる。また、従来のように、サーバを用いてデータを振り分ける構成と比べて、全ての処理すべきデータが集中することを防止できるので、サーバを必要とすることなく、データを分散させて処理することができる。
【００２２】
さらに、従来のサーバが処理すべきデータを各情報処理装置に分配する構成では、サーバが故障してしまうと各情報処理装置は、当該データを処理することができないが、上記の構成に基づく情報処理装置は、サーバを用いることなく、各情報処理装置の設定に基づいてデータの分配を行うことができる。
【００２３】
また、操作者側から見れば、各情報処理装置の状態を把握することなくデータを処理させることができるとともに、効率よくデータの処理を行うことができる。
【００２４】
また、上記情報処理装置を、ネットワークを介して複数接続したネットワーク情報処理システムを構築した場合、それぞれの情報処理装置間は、状態変更命令のみを送受信するだけで、システムの中のいずれかの情報処理装置が仮想アドレス宛に送信されてくるデータの処理を行うことができる。したがって、従来と比べて情報処理装置間におけるデータの送受信量を少なくすることができる。これにより、個々の情報処理装置の負担を低減させることができる。
【００２５】
なお、上記制御とは、状態変更手段が、登録手段およびデータ処理手段が直接制御してもよく、状態変更手段が変更させた状態に応じて登録手段およびデータ処理手段の動作を変更させることも含むものとする。つまり、上記制御とは、直接的に制御する直接制御および他のものを介して間接的に制御する間接制御を含むものとする。
【００２６】
本発明にかかる情報処理装置は、上記状態変更手段は、他の情報処理装置の状態に関する状態情報を記憶している状態情報記憶手段を備えており、上記状態情報に基づいて、非アクティブ状態からアクティブ状態へと移行するように指示する他の情報処理装置を決定する構成であることがより好ましい。
【００２７】
上記の構成によれば、状態変更手段は、状態情報記憶手段に記憶されている状態情報に基づいてアクティブ状態に移行するように指示する他の情報処理装置を決定するようになっている。具体的には、状態変更手段は、状態情報記憶手段に記憶されている非アクティブ状態である情報処理装置の中からアクティブ状態に移行させる他の情報処理装置を決定するようになっている。したがって、例えば、非アクティブ状態の他の情報処理装置のうち、最も性能が高い他の情報処理装置をアクティブ状態に移行させることができる。
【００２８】
本発明にかかる情報処理装置は、上記記憶手段に登録された未処理のデータに基づいて当該未処理のデータの処理量を算出する算出手段と、当該処理量と所定の閾値とを比較する比較手段とを備え、上記状態変更手段は、比較手段の比較結果に基づいて、自らを非アクティブ状態に移行させるか否かを決定する構成であることがより好ましい。
【００２９】
上記の構成によれば、記憶手段に記憶された未処理のデータが所定の閾値を越えたか否かを比較手段が備えられている。そして、この比較結果に基づいて、状態変更手段は、自身の状態を変更させるようになっている。これにより、リアルタイムに送信されてくるデータに基づいて自身の状態を変更させることができる。
【００３０】
本発明にかかる情報処理装置は、上記非アクティブ状態には、他の情報処理装置から送信されてきたアクティブ状態への移行指示に基づいて、自身をアクティブ状態に移行させるスタンバイ状態が含まれており、上記状態変更手段は、自身の状態がスタンバイ状態であると判断した場合には、上記仮想アドレス宛に送信されたデータの追加登録を行うように登録手段を制御するとともに、アクティブ状態である他の情報処理装置がデータ処理を行うことができないと判断した場合には、追加登録したデータを処理するものである構成がより好ましい。
【００３１】
上記の構成によれば、上記非アクティブ状態にはスタンバイ状態が含まれているとともに、スタンバイ状態では、上記状態変更手段は、上記仮想アドレス宛に送信されたデータの追加登録を行うようになっている。したがって、例えば、アクティブ状態である他の情報処理装置が故障して自身がアクティブ状態に移行した場合でも、既に追加登録されている（蓄積されている）データを用いて、直ちにデータ処理を開始することができる。また、予めデータを蓄積しているので、スタンバイ状態からアクティブ状態に移行した場合でも、送信元からデータの再送信を行う必要がない。
【００３２】
なお、アクティブ状態である他の情報処理装置がデータ処理を行うことができると判断した場合には、状態変更手段は、データ判断部を動作させて追加登録したデータを消去する。すなわち、他の情報処理装置が、例えば、故障等によって正常にデータ処理を行うことができないと判断した以外は、状態変更手段は、追加登録したデータの処理を行わない。
【００３３】
また、状態変更手段が、アクティブ状態である他の情報処理装置がデータ処理を行うことができないと判断する方法としては、例えば、アクティブ状態の他の情報処理装置から正常にデータ処理を行うことができない旨の信号を受け取ることにより判断する方法や、アクティブ状態の情報処理装置に対して定期的に信号を送り、この信号に対する応答がないことにより判断する方法、アクティブ状態の情報処理装置から定期的に送信されてくる信号が送信されてこないことにより判断する方法等が挙げられるが、特に限定されるものではない。
【００３４】
本発明にかかる情報処理装置は、上記非アクティブ状態には、上記仮想アドレス宛に送信されたデータの追加登録および当該データの処理を行わないオフ状態と、データ処理手段に未処理のデータを処理させるビジー状態とが含まれており、上記状態変更手段は、ビジー状態に移行した後、データ処理手段による未処理のデータの処理が完了したと判断した場合には、自らをオフ状態へと移行するとともに、データ処理手段を動作させないように制御するものである構成がより好ましい。
【００３５】
上記の構成によれば、上記状態変更手段は、ビジー状態にて未処理のデータを処理させた後、自らをオフ状態に移行させるとともに、データ処理手段を動作させないように制御している。したがって、オフ状態ではデータ処理手段を動作させないようにしているので、省エネを図ることができる。また、常に、通信手段を介して接続されており、仮想アドレス宛のデータを受信することができる情報処理装置のうち、少なくとも１台の情報処理装置は、アクティブ状態に設定されているので、他の情報処理装置をオフ状態に設定した場合でも、操作者の利便性を損なうことなく、省エネを図ることができる。
【００３６】
本発明の情報処理装置は、上記登録手段は、受信したデータが仮想アドレス宛に送信されてきたデータであると判断すると、当該データを送信した送信元に対して、データを受信した旨と自らの固有アドレスを通知するようになっている構成がより好ましい。
【００３７】
上記固有アドレスとは、各情報処理装置に与えられたアドレスである。すなわち、上記仮想アドレスのように、複数の情報処理装置で共有しているアドレスではなく、情報処理装置単体のみが有しているアドレスである。
【００３８】
仮想アドレス宛に送信されてきたデータは、当該仮想アドレス宛に送信されてきたデータを受信可能な情報処理装置であれば、どの情報処理装置であっても受信することができる。したがって、例えば、データの送信元が仮想アドレス宛にデータを送信した場合、どの情報処理装置が当該データを受信したかを判断することはできない。上記の構成とすることにより、仮想アドレス宛に送信されたデータを受け取った情報処理装置が、送信元に対して、受信した旨および固有アドレスを送信するので、送信元はどの情報処理装置が、データを受け取ったかを判断することができる。
【００３９】
ところで、上記情報処理装置は、ハードウェアで実現してもよいし、プログラムをコンピュータに実行させることによって実現してもよい。具体的には、本発明に係るプログラムは、情報処理装置としてコンピュータを動作させるプログラムである。また、本発明に係る記録媒体には、当該プログラムが記録されている。
【００４０】
これらのプログラムがコンピュータによって実行されると、当該コンピュータは、上記情報処理装置として動作する。これにより、サーバを用いることなく、各情報処理装置の設定に基づいてデータの分配を行うことができる。
【００４１】
本発明にかかる画像形成装置は、上記の課題を解決するために、請求項１記載の情報処理装置と、情報処理手段によって処理されたデータを画像形成する画像形成手段とを備えることを特徴としている。
【００４２】
上記の構成によれば、画像処理装置を少なくとも１台は常に仮想アドレス宛に送信されてきたデータを受信可能なようにしておくことができるので、例えば、従来のようにサーバを必要とすることなく、１台の情報処理装置のみに処理すべきデータが集中することを防止することができる。
【００４３】
本発明の画像形成装置は、上記非アクティブ状態には、次にアクティブ状態に移行するスタンバイ状態が含まれており、上記状態変更手段は、自身の状態がスタンバイ状態である場合には、画像形成手段が稼動状態になるように制御する構成であることがより好ましい。
【００４４】
上記の構成によれば、スタンバイ状態では、画像形成手段を稼動状態に設定している。また、画像形成手段は、一般に、稼動状態になるまでには時間がかかる。したがって、例えば、他の情報処理装置からアクティブ状態に移行する指示がなされたとき、スタンバイ状態である情報処理装置は、アクティブ状態に移行するとともに、直ちに画像形成を開始することができる。
【００４５】
【発明の実施の形態】
〔実施の形態１〕
本発明の実施の一形態について図１ないし図１２に基づいて説明すれば、以下の通りである。
【００４６】
本実施の形態にかかる情報処理装置は、サーバを設けていないにも拘わらず、情報処理装置へ共通に設定された特定アドレスへのジョブ（データ）の調停を行うことができる構成である。
【００４７】
なお、以下の説明では、情報処理装置として画像形成装置の１つであるＭＦＰ（Multi Function Printer）を用いた例について説明する。
【００４８】
また、上記特定アドレス（以下、仮想アドレスと称する）とは、通信手段を介して接続されている全てまたは一部の画像形成装置が共有することができるアドレスを示している。一方、固有アドレスとは、各画像形成装置が備えているアドレスである。つまり、例えば、固有アドレス宛に送信したデータは、当該固有アドレスを有する画像形成装置だけがデータの処理を行うことができる。一方、仮想アドレス宛に送信されたデータは、当該仮想アドレスを受信することができる全ての画像形成装置がデータの処理を行うことができる。
【００４９】
図２は、本実施の形態にかかるネットワークプリンタの概略の構成を示すブロック図である。図２に示すように、ネットワークプリンタでは、ＰＣ（Personal Computer）５、ＰＣ６とＭＦＰ（画像形成装置；情報処理装置）１、ＭＦＰ２、ＭＦＰ３、ＭＦＰ４とが有線ＬＡＮ（Local Area Network）（通信手段）７を介して接続されている。
【００５０】
なお、以下の説明では、特に限定して用いる場合を除いて、便宜上、ＰＣとしてＰＣ５、ＭＦＰとしてＭＦＰ１を例として説明する。
【００５１】
上記ＰＣ５は、ＭＦＰ１に対して印刷ジョブを送信するものである。なお、ＰＣ５の詳細な構成については、公知であり詳細な説明は省略する。
【００５２】
上記有線ＬＡＮ７はバス型、スター型のいずれかである。バス型のＬＡＮの例としては、10BASE2/10BASE5(IEEE802.3 CSMA/CD)などがある。また、スター型ＬＡＮの例としては、ハブ（スイッチングハブではない）から10BASE-T /100BASE-TXを用いて接続してもよい。
【００５３】
図１は、本実施の形態にかかるＭＦＰ１の概略の構成を示すブロック図である。ＭＦＰ１は、エンジン１１、制御部１２、ネットワークＩＦ（interface）（受信手段）１３を備えている。なお、制御部１２の詳細な構成については後述する。
【００５４】
上記エンジンとは、ＭＦＰ１における画像形成部を示しており、データに基づいて画像形成を行うものである。なお、画像形成部の詳細な構成については公知であり詳細な説明は省略する。
【００５５】
上記ネットワークＩＦ１３は、例えば、ＰＣ５等の外部機器と有線ＬＡＮ７を介してデータの送受信を行うものである。具体的には、ネットワークＩＦ１３は、自身の固有アドレス宛および仮想アドレス宛に送信されてきたデータを受信するようになっている。さらに、ネットワークＩＦ１３は、他のＭＦＰやＰＣの固有アドレス宛にデータや後述する状態変更命令を送信することができる。上記ネットワークＩＦ１３の詳細な構成について以下に説明する。
【００５６】
図３は、ネットワークＩＦ１３の概略構成を示すブロック図である。ネットワークＩＦ１３は、ネットワーク通信部２０とフレーム解析部２１と、データ転送部２２と、フレーム生成部２３とを備えている。
【００５７】
上記ネットワーク通信部２０は、ネットワークからのデータ（フレーム）の受信、およびネットワークへのデータ（フレーム）の送信に関わり、有線ＬＡＮ７と接続されている。具体的には、ネットワーク通信部２０は、有線ＬＡＮ７を介して、ＰＣ（ＰＣ５，６）や他のＭＦＰ（ＭＦＰ２，３，４）の対して、データの送受信を行うものである。
【００５８】
上記フレーム解析部２１は、受信したフレーム（データ）をネットワーク通信部２０から受け取りそのデータを解析する。具体的には、フレーム解析部２１は、受信したデータが、ＭＦＰ１宛に送信されてきたデータであるか否か、すなわち、該当する固有アドレス宛に送信されてきたデータであるか否か、および、仮想アドレス宛に送信されてきたデータであるか否かを解析する。その解析の際には、図１の制御部の後述する状態情報記憶部に格納されているステータスフラグを参照する。そして、フレーム解析部２１は、データの解析を終えると、固有アドレス宛に送信されてきたデータおよび仮想アドレス宛に送信されてきたデータをデータ転送部２２へ送る。
【００５９】
上記データ転送部２２はＭＦＰ１の制御部１２へデータを送る。また、ＭＦＰ１がデータを有線ＬＡＮ７（ネットワーク）に送る際は、制御部１２からデータ転送部２２にデータが転送される。そして、データ転送部２２はデータをフレーム生成部２３へ送る。つまり、データ転送部２２は、制御部１２とフレーム解析部２１およびフレーム生成部２３との間でデータの送受信を行う。
【００６０】
フレーム生成部２３は固有アドレスを送信元アドレスとして送信データ（フレーム）を形成し、ネットワーク通信部２０へ送る。つまり、フレーム生成部２３は、制御部１２から送られてきたデータに送信元アドレスを付した送信データを作成する。そして、ネットワーク通信部２０は、その送信データをネットワークへ送る。
【００６１】
ここで、制御部１２の構成について説明する。制御部１２は、エンジン１１およびネットワークＩＦ１３を制御するものである。制御部１２は、データ判断部（登録手段）３０、データ格納部（記憶手段）３１、データ処理部（データ処理手段）３２、閾値判定部３３、調停部（状態変更手段）３４、省エネ管理部３５を備えている。上記各部材は、ＣＰＵが記憶装置に格納されたプログラムを実行し、図示しない入出力回路などの周辺回路を制御することによって実現される機能ブロックである。
【００６２】
上記データ判断部３０は、ネットワークＩＦ１３から送信されてくるデータを解析して、解析結果に基づいてデータの送信先を決定するものである。具体的には、データ判断部３０は、当該データ判断部３０に送信されてきたデータが状態変更命令であると判断した場合には、当該状態変更命令を調停部３４（より具体的には状態変更部４０）に送信する。また、データ判断部３０に送信されてきたデータが、処理すべきデータ（以下、印刷ジョブと称する）であると判断した場合には、当該印刷ジョブをデータ処理部３２に送信する。
【００６３】
また、データ判断部３０は、送信されてきたデータが印刷ジョブであると判断した場合には、自身（ＭＦＰ）の状態に応じて、当該印刷ジョブをデータ格納部３１に送信するか否かを決定する。調停部３４にて設定されている自身の状態に応じて印刷ジョブをデータ格納部３１に送信するか否かを判断している。なお、上記状態については後述する。
【００６４】
具体的には、データ判断部３０は、自身（自ら）の固有アドレス宛に送信されてきた印刷ジョブは、全てデータ格納部３１に送信する。また、仮想アドレス宛に送信されてきた印刷ジョブは、自身の状態（調停部３４にて設定されている状態）が、後述するアクティブ状態およびスタンバイ状態の場合のみ、データ格納部３１に送信するようになっている。つまり、仮想アドレス宛に送信されてきた印刷ジョブは、自身の状態に応じて格納されるようになっている。
【００６５】
また、データ判断部３０は、送信されてきたデータが他のＭＦＰから送信されてきた当該他のＭＦＰの状態をしめす状態情報である場合には、この状態情報を状態情報記憶部４１に送信する。
【００６６】
さらに、データ判断部３０は、仮想アドレス宛に送信されてきた印刷ジョブを受信した場合には、送信元のＰＣに対して、自身の固有アドレスを送信するようになっている。これは、仮想アドレス宛に送信された印刷ジョブは、どのＭＦＰにて処理されるかが不明であるためである。そのため、仮想アドレス宛に送信されてきた印刷ジョブを受信した場合には、データ判断部３０は、送信元のＰＣに対して自身の固有アドレスを送信することで、送信元のＰＣに対してどのＭＦＰが印刷ジョブを受け取ったかを知らせる。
【００６７】
データ格納部３１は、データ判断部３０より送信されてきた印刷ジョブを格納するものである。
【００６８】
データ処理部３２は、調停部３４にて設定されている状態に応じて、データ格納部３１に格納されている印刷ジョブを、エンジン１１の設定等に応じて処理するものである。具体的には、データ処理部３２は、固有アドレス宛に送信されてきた印刷ジョブについては順次処理するようになっている。そして、仮想アドレス宛に送信されてきた印刷ジョブについては、自身の状態が、アクティブ状態およびビジー状態の場合には順次処理し、スタンバイ状態およびオフ状態の場合には処理しないように設定されている。
【００６９】
閾値判定部３３は、データ格納部３１に格納されている印刷ジョブが、ある一定の閾値を超えていないかどうかを判断するものである。上記閾値は、任意で設定することができるが、例えば、データ処理部３２の処理能力の限界値に基づいて設定される。以下に、上記閾値判定部３３の詳細な構成について説明する。
【００７０】
閾値判定部３３は、threshold値格納部３６、処理時間算出部（算出手段）３７、threshold値比較部（比較手段）３８を備えている。
【００７１】
threshold値格納部３６は、閾値を格納するものである。この閾値は、任意に設定してもよく、また、例えば、データ処理部３２の処理能力の限界値に基づいて設定してもよい。なお、上記閾値をデータ処理部３２の処理能力の限界値に基づいて設定する場合には、閾値判定部３３は、データ処理部３２に処理能力の限界値を問い合わせるようになっている。具体的には、閾値はＭＦＰ（データ処理部３２）の処理能力から処理時間を判断し、許容できる最大待ち時間として設定される。なお、上記処理能力の限界値とは、これ以上印刷ジョブが送信されてきた場合には、その処理時間が所定の時間以上となると判断する場合の値である。また、上記閾値は、装置固有の値であってもよく、操作者（管理者）が任意に設定してもよい。
【００７２】
処理時間算出部３７は、データ格納部３１に格納されている印刷ジョブのデータ量またはデータ数に基づいて、格納されている印刷ジョブの処理が完了する予想処理時間を算出する。
【００７３】
threshold値比較部３８は、処理時間算出部３７により算出された予想処理時間と、threshold値格納部３６に格納されている閾値とを比較する。そして、予想処理時間が、閾値よりも大きいか否かを判断する。
【００７４】
このように、閾値判定部３３では、データ格納部３１に格納されているデータが、データ処理部３２における処理能力を超えているか否かを判断している。
【００７５】
一方、調停部３４は、データ判断部３０から送信されてくる状態変更命令、閾値判定部３３（より詳細にはThreshold値比較部３８）から送信されてくる比較結果、または、データ処理部３２から送信されてくるデータ処理完了報告に基づいて、自身の状態を変更するとともに、有線ＬＡＮ７を介して自身であるＭＦＰ１と接続されておりかつ仮想アドレスを受信することができる他のＭＦＰに対して状態変更命令を送信するものである。
【００７６】
上記調停部３４は、状態変更部４０と状態情報記憶部（状態情報記憶手段）４１と変更命令作成部４２とを備えている。
【００７７】
状態変更部４０は、閾値判定部３３から送信されてくる比較結果、データ判断部３０から送信されてくる状態変更命令、または、データ処理部３２から送信されてくるデータ処理完了報告と、状態情報記憶部４１に記憶されている状態情報とに基づいて、自身の状態を変更するか否かを判断する。また、上記状態変更部４０は、自身の状態を変更した場合には、変更命令作成部４２に状態変更命令を作成するように指示するものである。これについて具体的に説明する。
【００７８】
上記状態変更部４０は、上記状態変更命令、比較結果またはデータ処理完了報告によって自身の状態を変更する。具体的には、自身がアクティブ状態の場合には、状態判定部３４の比較結果に基づいて、当該自身の状態を変更するようになっている。また、自身がスタンバイ状態またはオフ状態の場合には、状態変更命令に基づいて当該自身の状態を変更するようになっている。さらに、自身がビジー状態の場合には、データ処理完了報告に基づいて当該自身の状態を変更するようになっている。つまり、自身の状態によって、当該自身の状態を変更するためのトリガは異なっている。
【００７９】
状態情報記憶部４１は、自身の状態と他のＭＦＰの固有アドレスおよび状態、ＰＣの固有アドレス等を記憶している。すなわち、状態情報記憶部４１は、有線ＬＡＮ７を介して接続されているＰＣの固有アドレス、および、自身も含む仮想アドレスを受信することができるＭＦＰの固有アドレスおよび状態に関する情報を記憶している。
【００８０】
状態情報記憶部４１に記憶されている自身を含む全てのＭＦＰの状態情報は、状態変更部４０から送信されてくる自身に対する状態変更命令、または、データ判断部３０から送信されてくる他のＭＦＰにおける状態情報に基づいて書き換えられる。
【００８１】
変更命令作成部４２は、他のＭＦＰに対して、当該他のＭＦＰの状態を変更させる状態変更命令を作成するものである。この変更命令作成部４２は、状態変更部４０の指示によって状態変更命令を作成するようになっている。
【００８２】
上記省エネ管理部３５は、状態情報記憶部４１に記憶されている自身の状態に基づいて、エンジン１１の制御を行っている。具体的には、自身の状態がオフ状態である場合には、省エネ管理部３５は、エンジン１１の電源をオフにするように設定されている。そして、自身の状態がオフ状態からスタンバイ状態に変更された場合には、省エネ管理部３５は上記エンジン１１の電源をオンにして当該エンジンを待機状態にするように設定されている。
【００８３】
ここで、画像形成装置の各状態について詳細に説明する。
【００８４】
上記有線ＬＡＮ７で接続されており、仮想アドレス宛に送信されたデータを受信することができる全てのＭＦＰは、アクティブ状態または非アクティブ状態に設定されている。より具体的には、上記非アクティブ状態は、さらに、スタンバイ状態、ビジー状態およびオフ状態の３つの状態に分類される。すなわち、本実施の形態にかかる、仮想アドレス宛に送信されたデータを受信することができる全てのＭＦＰは、上記アクティブ状態、スタンバイ状態、ビジー状態およびオフ状態の４つの状態のいずれかの状態に設定されている。なお、具体的な状態の設定方法については後述する。
【００８５】
上記アクティブ状態とは、仮想アドレス宛に送信されてきた印刷ジョブの追加登録および当該追加登録された印刷ジョブの順次処理が可能な状態である。つまり、このアクティブ状態の画像形成装置は、仮想アドレス宛に送信されてきた印刷ジョブを受信することができるとともに、当該受信した印刷ジョブを処理することができる。
【００８６】
上記非アクティブ状態とは、アクティブ状態以外の状態を示し、具体的には、仮想アドレス宛に送信されてきた印刷ジョブを追加登録および当該追加登録された印刷ジョブの順次処理の少なくとも一方を行うことができない状態である。より詳細には、非アクティブ状態は、（１）次にアクティブ状態となるスタンバイ状態、（２）仮想アドレス宛に送信されてきた印刷ジョブの追加登録を行うことはできないが当該追加登録された印刷ジョブの順次処理を行うことができるビジー状態、（３）仮想アドレス宛に送信されてきた印刷ジョブの追加登録および当該追加登録された印刷ジョブの処理の両方の処理を行うことができないオフ状態の３つの状態に分類される。
【００８７】
なお、上記スタンバイ状態は、次にアクティブ状態になるように設定されており、具体的には、情報処理装置の種類によってその設定は異なる。具体的には、情報処理装置がＭＦＰまたはネットワークファクシミリである場合には、スタンバイ状態は、仮想アドレス宛に送信されてきた印刷ジョブの追加登録を行うことができるが当該追加登録された印刷ジョブの処理を行うことができない状態に設定されていてもよく、また、仮想アドレス宛に送信されてきた印刷ジョブの追加登録を行うことができなくて、当該追加登録された印刷ジョブの処理を行うことができないが、エンジンを稼動状態にさせておくように設定されていてもよい。特に、情報処理装置がＭＦＰやネットワークファクシミリ等のように、画像形成機能を備えているものである場合、データの処理よりも、画像形成機能を実現するエンジンの稼動に時間がかかることになる。従って、上記情報処理装置が、ＭＦＰやネットワークファクシミリ等の場合には、次にアクティブ状態となるスタンバイ状態を、エンジンが直ぐに稼動することができるように設定しておくことがより好ましい。また、上記情報処理装置のうち、データ処理またはデータの時間がかかる場合には、スタンバイ状態を、仮想アドレス宛に送信されてきた印刷ジョブの追加登録を行うことができるが当該追加登録された印刷ジョブの処理を行うことができない状態として設定することがより好ましい。
【００８８】
また、上記いずれの状態であっても、ＭＦＰは、固有アドレス宛に送信されてきた印刷ジョブについては処理することができる。換言すると、上記いずれの状態であっても固有アドレス宛に送信されてきた印刷ジョブは受信するようになっている。つまり、例えば、上記オフ状態である場合でも完全に電源が切れているものではなく、送信されてくる印刷ジョブを受信可能な状態になっている。
【００８９】
図４は、各状態の移行順序を説明する説明図である。情報処理の状態が上記４つの状態に分けられている場合、図４に示すように、特定の条件によって各状態は移行するようになっている。
【００９０】
具体的には、アクティブ状態は、ビジー状態に移行することとなり、ビジー状態はオフ状態に移行することとなり、オフ状態はスタンバイ状態に移行することとなり、スタンバイ状態はアクティブ状態に移行することとなる。
【００９１】
アクティブ状態からビジー状態への移行は、threshold値比較部３８の比較結果がトリガとなっている。つまり、アクティブ状態は、threshold値比較部３８によってデータ格納部３１に格納されているデータを処理することができないと判断された時点で移行するようになっている。具体的には、状態変更部４０は、threshold値比較部３８から、データ格納部３１に格納されているデータを処理する時間がthreshold値格納部３６に格納されているthreshold値よりも大きい旨の比較結果を受け取ると、状態情報記憶部４１に記憶されている自身の状態を変更するようになっている。
【００９２】
ビジー状態からオフ状態への移行は、データ処理部３２からのデータ処理完了報告がトリガとなっている。つまり、ビジー状態は、データ処理部３２がデータ格納部３１に格納されているデータの処理を完了した時点で移行するようになっている。具体的には、状態変更部４０は、データ処理部３２からのデータ処理完了報告を受け取ると、状態情報記憶部４１に記憶されている自身の状態を変更するようになっている。
【００９３】
スタンバイ状態からアクティブ状態への移行は、アクティブ状態のＭＦＰがビジー状態に移行することがトリガとなっている。つまり、アクティブ状態は、ビジー状態へと移行するＭＦＰ、すなわち、直前にアクティブ状態だったＭＦＰが状態変更することに伴い、このＭＦＰがスタンバイ状態である他のＭＦＰに対して状態変更命令を送信する。そして、スタンバイ状態である他のＭＦＰは、状態変更命令を受け取ると、当該他のＭＦＰの状態をスタンバイ状態からアクティブ状態に移行する。
【００９４】
オフ状態からスタンバイ状態への移行は、アクティブ状態のＭＦＰがビジー状態に移行することがトリガとなっている。つまり、スタンバイ状態は、ビジー状態へと移行するＭＦＰ、すなわち、直前にアクティブ状態だったＭＦＰが状態変更することに伴い、このＭＦＰがオフ状態である他のＭＦＰに対して状態変更命令を送信する。そして、スタンバイ状態である他のＭＦＰは、状態変更命令を受け取ると、当該他のＭＦＰの状態をオフ状態からスタンバイ状態に移行する。
【００９５】
なお、上記オフ状態からスタンバイ状態への移行に関しては、新たにアクティブ状態となったＭＦＰが、オフ状態である他のＭＦＰに対して状態変更命令を送信するようになっていてもよい。
【００９６】
本実施の形態において、仮想アドレス宛に送信されてくる印刷ジョブを受信可能なＭＦＰのうち少なくとも１つのＭＦＰは、アクティブ状態に設定されている。そして、このアクティブ状態のＭＦＰからの状態変更命令によって他のＭＦＰの状態は変更されることになる。以下に、例えば、ＭＦＰ１、ＭＦＰ２、ＭＦＰ３、ＭＦＰ４がそれぞれアクティブ状態、スタンバイ状態、オフ状態、オフ状態である場合について図５を参照して説明する。なお、図５は、本実施の形態におけるthreshold値に基づいて各ＭＦＰの状態を変更する方法を説明する説明図である。なお、図中斜線を付している印刷ジョブは実行中、すなわち、データ処理部３２にて処理されている状態を示している。また、例えば図５（ａ）のＭＦＰ１については、上から順に印刷ジョブであるジョブａ、ジョブｂ、ジョブｃが格納されている。また、説明の便宜上、ＭＦＰ１のthreshold値は待機している印刷ジョブの数が４つになった時点としている。
【００９７】
そして、各ＭＦＰは、上から順に印刷ジョブを処理するようになっている。さらに、印刷ジョブは、先にデータ格納部３１に記憶（転送）された順に処理されるようになっている。従って、図中において、下に記載された印刷ジョブは、上に記載された印刷ジョブよりも後に記憶された印刷ジョブである。
【００９８】
図５（ａ）に示すように、仮想アドレス宛に送信されてきた印刷ジョブ（ジョブａ，ｂ，ｃ）は、ＭＦＰ１が受信することとなり、当該受信したデータは、ＭＦＰ１のデータ格納部３１に格納されることとなる。このように仮想アドレス宛に送信されてきた印刷ジョブは、アクティブ状態のＭＦＰ１が受信することとなる。そして、アクティブ状態のＭＦＰ（ここではＭＦＰ１）のデータ格納部３１には印刷ジョブが蓄積されることとなる。そして、調停部３４は、新たな印刷ジョブ（ジョブｄ）を受信したことにより、閾値判定部３３からデータ格納部３２に格納されている印刷ジョブの量がデータ処理部３２の処理能力を超えたまたは予め設定されている閾値を超えた旨の比較結果を受け取ると、自身（ＭＦＰ１）の状態をビジー状態に変更するとともに、データ処理部３２に対して継続して蓄積された印刷ジョブを処理するように指示を出す。そして、調停部３４は、スタンバイ状態であるＭＦＰ２に対して状態変更命令を送信する。状態変更命令を受信したＭＦＰ２は、当該ＭＦＰ２の状態をスタンバイ状態からアクティブ状態に変更する。また、このとき、アクティブ状態の（あるいは直前までアクティブ状態であった）ＭＦＰ１の調停部は、オフ状態であるＭＦＰ３に対しても状態変更命令を送信する。状態変更命令を受信したＭＦＰ３は、当該ＭＦＰ３の状態をオフ状態からスタンバイ状態に変更する（図５（ｂ）参照）。
【００９９】
そして、次に仮想アドレス宛に送信されてきた印刷ジョブ（ジョブｅ）は、アクティブ状態のＭＦＰ２が受信することとなる。このとき、ＭＦＰ１は、仮想アドレス宛に送信されてきた印刷ジョブを受信することができなくなっているが、既に蓄積されている印刷ジョブ（ジョブａ，ｂ，ｃ，ｄ）を順次処理するようになっている（図５（ｃ）参照）。そして、さらに、新たに仮想アドレス宛に送信されてきた印刷ジョブ（ジョブｅ，ｆ，ｇ）は、アクティブ状態のＭＦＰ２が受信することとなる（図５（ｄ）参照）。
【０１００】
そして、ビジー状態のＭＦＰ１に蓄積されている印刷ジョブを全て処理し終わったとき、データ処理部３２は、調停部３４にデータ処理完了報告を送信する。調停部３４は、データ処理完了報告を受信すると、自身（ＭＦＰ１）の状態をオフ状態に変更する（図５（ｅ）参照）。
【０１０１】
このようにして、自身を含む仮想アドレス宛に送信されてきた印刷ジョブは、常に少なくとも１つは存在するアクティブ状態のＭＦＰに送信されて処理されることとなる。また、アクティブ状態のＭＦＰが、自ら処理能力を超えると判断すると、他のＭＦＰに対して、アクティブ状態になるように指示する。これにより、例えば、１つのＭＦＰに対して処理が集中し過ぎて処理が遅くなるという事態を回避することができる。
【０１０２】
なお、このとき、オフ状態のＭＦＰは２つ存在しているが、上記の説明では、ＭＦＰ３をスタンバイ状態に変更している。この複数のオフ状態のＭＦＰから１つのＭＦＰのみをスタンバイ状態に変更する場合には、予めそれぞれのＭＦＰに優先順位をつけておけばよい。これにより、次に状態を変更するＭＦＰを決定することができる。具体的には、オフ状態からスタンバイ状態に移行させる方法としては、例えば、（１）ラウンドロビン式にあらかじめスタンバイ状態になる順番がグループ内のＭＦＰで決まっており、この決まっている順番に基づいてオフ状態からスタンバイ状態に移行させる方式、（２）アクティブ状態のＭＦＰがビジー状態に移行する時点でオフ状態のＭＦＰの全てに対してスタンバイ状態になるように状態変更命令を送信し、オフ状態のＭＦＰ間で自機の状態・能力等の情報を持ったデータを交換し、能力の高いＭＦＰを次のスタンバイ状態とする方式等がある。
【０１０３】
また、上記の説明では、仮想アドレス宛に送信されてくる印刷ジョブのみについて説明している。ここで、固有アドレス宛に送信されてきた印刷ジョブについて説明する。アクティブ状態のＭＦＰに、固有アドレス宛で送信されてきた印刷ジョブは、当該アクティブ状態のＭＦＰのデータ格納部３２に、送信されてきた順に蓄積されることとなる。つまり、アクティブ状態のＭＦＰの場合、仮想アドレス宛で送信されてきた印刷ジョブと固有アドレス宛に送信されてきた印刷ジョブとは、送信されてきた順にデータ格納部３２に格納されることとなる。次に、ビジー状態のＭＦＰに、固有アドレス宛で送信されてきた印刷ジョブは、蓄積されている印刷ジョブの最後に蓄積されることとなる。
【０１０４】
また、スタンバイ状態およびオフ状態のＭＦＰに、固有アドレス宛で送信されてきた印刷ジョブは、直ちに処理されることとなる。なお、オフ状態のＭＦＰが固有アドレス宛に送信されてきた印刷ジョブを処理する場合、オフ状態のままで、データ処理部３２およびエンジン１１を動作させるようになっている。すなわち、仮想アドレスに対する状態をオフ状態にしたまま、エンジンを動作させて、固有アドレス宛に送信されてきた印刷ジョブを処理するようになっている。そして、上記固有アドレス宛に送信されてきた印刷ジョブの処理が完了した場合には、エンジンの電源はオフになる。
【０１０５】
このように、ＭＦＰの状態によって、仮想アドレス宛に送信されてきた印刷ジョブの処理を異ならせている。これにより、常に、全てのＭＦＰの電源を入れておく必要がない。つまり、常に少なくとも１台のＭＦＰのみをアクティブ状態にしておくことにより、このアクティブ状態のＭＦＰが仮想アドレス宛に送信されてきた印刷ジョブを処理することができるので、他のＭＦＰについては上記アクティブ状態よりも消費電力の少ない状態に設定しておくことができる。従って、従来のネットワークプリンタシステムと比べて省エネを図ることができる。
【０１０６】
また、アクティブ状態のＭＦＰが、自身の状態を把握することができるとともに、他のＭＦＰに対してアクティブ状態に移行するように指示することができるので、従来のように、専用のサーバを必要としていない。従って、例えば、専用のサーバが複数のＭＦＰに対して印刷ジョブを振り分ける構成に比べて、印刷ジョブをサーバにて一元管理していないので、従来のようにサーバが壊れた場合には印刷ジョブの処理が行うことができないという事態を回避することができる。
【０１０７】
図６は、アクティブ状態のＭＦＰに、例えば、印刷ジョブを印刷する紙がなくなった場合における各ＭＦＰの状態の遷移を説明する説明図である。図６を参照して、一時的にアクティブ状態のＭＦＰが使用不可能になった場合における各ＭＦＰの状態の遷移を説明する。なお、便宜上、印刷ジョブ（ジョブ）は全て仮想アドレス宛に送信されてきているものとする。また、例えば、図６（ａ）に示すＭＦＰ１については、上から順に印刷ジョブであるジョブａ、ジョブｂが格納されている。そして、ＭＦＰ２についても、上から順に印刷ジョブであるジョブａ、ジョブｂが格納されている。また、初期の各ＭＦＰの状態としては、ＭＦＰ１はアクティブ状態、ＭＦＰ２はスタンバイ状態、ＭＦＰ３・ＭＦＰ４はオフ状態としている。
【０１０８】
まず、図６（ａ）に示すように、仮想アドレス宛に送信されてきた印刷ジョブ（ジョブａ，ｂ）は、アクティブ状態のＭＦＰ１に記憶されることとなる。そして、図６（ｂ）に示すように、アクティブ状態のＭＦＰ１において、印刷ジョブ（ジョブａ）の処理中に、当該印刷ジョブを印刷（処理）するための紙がなくなった場合、ＭＦＰ１は、印刷ジョブを処理することができないと判断して、自身の状態をアクティブ状態からビジー状態へと変更する。具体的には、ＭＦＰ１の状態変更部４０は、エンジン１１等の画像形成手段から送信されてくる故障情報を受信すると、状態情報記憶４１に記憶されている自身の状態情報をアクティブ状態からビジー状態へと変更する。そして、他のＭＦＰ（ＭＦＰ２、３）に対して状態を変更する状態変更命令を送信する。具体的には、状態情報変更部４０は、変更命令作成４２を動作させて、変更命令を他のＭＦＰに対して送信する。状態変更命令を受信したＭＦＰ２は、自身の状態をスタンバイ状態からアクティブ状態へと移行する。また、状態変更命令を受信したＭＦＰ３は、自身の状態をオフ状態からスタンバイ状態へと移行する。
【０１０９】
そして、アクティブ状態へと移行したＭＦＰ２は、仮想アドレス宛に送信されてくる印刷ジョブ（ジョブｃ）を受信する（図６（ｃ）参照）。そして、印刷ジョブを処理するための紙がない状態のＭＦＰ１に対して紙が補充されると、ＭＦＰ１は、ビジー状態のまま、残っている印刷ジョブ（ａ，ｂ）の処理を開始する。また、ＭＦＰ２では、仮想アドレス宛に送信されてくる印刷ジョブを受信するとともに、蓄積された印刷ジョブを順次処理する（図６（ｄ）参照）。
【０１１０】
ビジー状態のＭＦＰ１は、蓄積された印刷ジョブの処理が完了すると、自身の状態をビジー状態からオフ状態へと移行する（図６（ｅ）参照）。
【０１１１】
このように、本実施の形態にかかるＭＦＰは、画像形成手段からの故障情報を受けると、状態変更部４０は、自身の状態をアクティブ状態からビジー状態へと移行するとともに、他のＭＦＰに対して状態を変更する変更命令を送信するようになっている。これにより、故障した状態のＭＦＰがアクティブ状態となることを防止することができる。
【０１１２】
なお、上記説明では、仮想アドレス宛に送信されてきたデータのみについて説明している。しかしながら、全てのＭＦＰは、自身の状態が上記４つの状態のいかなる状態であっても、固有アドレス宛に送信されてきた印刷ジョブを処理することができる。
【０１１３】
そして、例えば、スタンバイ状態のＭＦＰが、固有アドレス宛に送信されてきた印刷ジョブを処理しているとき、このＭＦＰが故障した場合には、当該ＭＦＰは、オフ状態のＭＦＰに対して、状態変更命令を送信するようになっている。
【０１１４】
次に、上記ＭＦＰにおいて、電源が入れられた状態における動作について説明する。
【０１１５】
図７は、電源を入れてからのＭＦＰがデータを受信するまでの一連の動作の流れを説明するフローチャートである。図７を参照して、ある特定のＭＦＰの動作について説明する。なお、以下のフローチャートに基づく説明では、ＭＦＰの状態をアクティブ状態およびオフ状態（非アクティブ状態）に分類する場合について説明する。
【０１１６】
まず、操作者によって自身であるＭＦＰの電源が入れられたとき、状態変更部４０は、変更命令作成部４２を動作させて、自身の状態の設定を行う（Ｓ１０）。具体的には、例えば、状態変更部４０は、状態変更命令部４２およびネットワークＩＦ１３を動作させて、仮想アドレス宛に応答を要求する。つまり、状態変更部４０は、仮想アドレス宛に適当なデータを送信する。そして、一定時間、応答がない場合、つまり、他のＭＦＰが送信したデータを受信しないと判断した場合には、状態変更部４０は、状態情報記憶部４１を動作させて、自身の状態をアクティブ状態に設定する。一方、仮想アドレス宛に送信したデータに対して他のＭＦＰから応答が帰ってきた場合には、自身の状態をオフ状態に設定する。このとき、状態変更命令は、他のＭＦＰの固有アドレス宛に送信されることとなる。このようにして、アクティブ状態およびオフ状態が決定される。オフ状態のＭＦＰについては、アクティブ状態のＭＦＰから送信されてくる状態変更命令を受けるまで、オフ状態を維持している。また、アクティブ状態のＭＦＰの状態変更部４０は、残りのＭＦＰについてはオフ状態であるとして、これらＭＦＰの状態を状態情報記憶部４１に記憶する。
【０１１７】
次に、データ判断部３０は、ネットワークＩＦ１３を介してデータが送信されてきたか否かを判断する（Ｓ１１）。ＬＡＮ７には様々な宛先のパケットが流れているが、ネットワークＩＦ１３に設定されているこのＭＦＰの固有アドレスおよびこのＭＦＰが含まれるＭＦＰ群の仮想アドレスを宛先とするデータのみがデータ判断部３０へ送られ、それ以外のアドレスを宛先とするデータはネットワークＩＦ１３で破棄される。
【０１１８】
ステップＳ１１にて、データが送信されてきたと判断すると、データ判断部３０は当該データを解析して、当該データの宛先アドレスが、固有アドレスであるか否かを判断する（Ｓ１２）。すなわち、データ判断部３０は、受信したデータが固有アドレス宛に送信されてきたデータであるか否かを判断する。
【０１１９】
ステップＳ１２にて、送信されてきたデータの宛先アドレスが固有アドレスであると判断すると、データ判断部３０は、当該データの内容を解析して、処理を行う（Ｓ１３）。具体的には、上記データが状態変更命令である場合には、このデータを情報変更部４０に送信する。また、上記データが印刷ジョブである場合には、このデータをデータ格納部３１に送信する。そして、データの処理が終わると、データ判断部３０の処理はステップＳ１１へ戻る。
【０１２０】
一方、ステップＳ１２にて、受信したデータの送信先アドレスが固有アドレスではないと判断すると、データ判断部３０は、受信したデータは仮想アドレス宛であると判断するとともに、状態情報記憶部４１を参照して、自身の状態がアクティブ状態であるか否かを判断する（Ｓ１４）。
【０１２１】
ステップＳ１４にて、自身の状態がアクティブ状態であると判断すると、データ判断部３０は、上記受信したデータの処理を行う（Ｓ１３）。そして、データの処理が終わると、データ判断部３０の処理はステップＳ１１へ戻る。
【０１２２】
一方、ステップＳ１４にて、自身の状態がアクティブ状態ではないと判断すると、データ判断部３０は、受信したデータを廃棄する（Ｓ１５）。そして、データ判断部３０における処理はステップＳ１１に戻る。
【０１２３】
このように、固有アドレス宛と仮想アドレス宛とに送信されてきたデータのうち、固有アドレス宛に送信されてきたデータに関しては、自身の状態を問わず処理を行うことにより、従来の使用方法と同様に使用することができる。また、処理するＭＦＰを特定することなく、効率よく処理したい場合には、仮想アドレス宛にデータを送信することにより、より効率よく処理を行うことができる。
【０１２４】
なお、上記の説明では、ステップＳ１４において、データ判断部３０は、送信されてきたデータが固有アドレス宛でないと判断した場合には、仮想アドレス宛であると判断しているが、これは、ネットワークＩＦ１３が、仮想アドレス宛および固有アドレス宛のみのデータしかデータ判断部３０に送信しないためである。
【０１２５】
従って、例えば、ネットワークＩＦ１３が、全てのデータをデータ判断部３０に送信する場合には、ステップＳ１４において、データ判断部３０は、上記説明の判断に加えて、送信されてきたデータが、仮想アドレス宛に送信されてきたデータであるか否かを判断する。そして、自身の状態がアクティブであり、かつ、送信されてきたアドレスが仮想アドレス宛であるデータのみステップＳ１４において処理するようになっている。
【０１２６】
図８は、アクティブ状態のＭＦＰにおける印刷ジョブの処理および状態の移行について説明するフローチャートである。図８を参照して、アクティブ状態のＭＦＰにおける印刷ジョブの処理および状態の移行について説明する。なお、以下の説明では、説明の便宜上、仮想アドレス宛に送信されてきた印刷ジョブの処理を示している。
【０１２７】
まず、データ判断部３０は、仮想アドレス宛に送信されてきたデータを解析して印刷ジョブであるか否かを判断する。すなわち、データ判断部３０は、印刷ジョブを受信したか否かを判断する（Ｓ３０）。なお、ＭＦＰの状態がオフ状態やビジー状態の場合では、仮想アドレス宛に送信されてきた印刷ジョブは受信しないようになっている。また、後述するように、スタンバイ状態を印刷ジョブを記憶するように設定している場合には、ステップＳ３０および後述するステップＳ３２のみを行うようになっている。
【０１２８】
次に、ステップＳ３０にて、印刷ジョブを受信した場合、データ判断部３０は、当該印刷ジョブを解析して、この印刷ジョブの送信元のＰＣを特定する。そして、データ判断部３０は、ネットワークＩＦ１３を動作させて、自身の固有アドレス（印刷ジョブを受信したＭＦＰの固有アドレス）と印刷ジョブを受信した旨を送信元のＰＣに送信する（Ｓ３１）。これは、仮想アドレス宛に送信された印刷ジョブは、どのＭＦＰで処理されるかどうかが分からないためである。また、例えば、異常を起こした（threshold値オーバーを含む）ＭＦＰの状態がアクティブ状態ではなくなった場合、仮想アドレスでは印刷ジョブを追跡できなくなるためである。
【０１２９】
そして、データ判断部３０は、受信した印刷ジョブをデータ格納部３１に格納する（Ｓ３２）。
【０１３０】
次に、ステップＳ３２にて印刷ジョブがデータ格納部３１に格納されたことにより、閾値判定部３３は、データ格納部３１に格納されている印刷ジョブが、ある一定の閾値（threshold値）を超えたか否かを判断する（Ｓ３３）。具体的には、処理時間算出部３７が、データ格納部３１に格納された印刷ジョブの総量（データ量またはデータ数）から予想処理時間を算出する。そして、threshold値比較部３８が、処理時間算出部３７にて算出された予想処理時間とthreshold値格納部３６に格納されている閾値とを比較する。そして、予想処理時間のほうが、閾値よりも大きい場合を、閾値を超えたと判断する。なお、この判定結果は、調停部３４に送信される。
【０１３１】
ステップＳ３３にて、データ格納部３１に格納されている印刷ジョブがある一定の閾値を超えたと判断した場合、調停部３４は、自身の状態をアクティブ状態からビジー状態に移行させる（Ｓ３４）。具体的には、状態変更部４０は、状態情報記憶部４１に対して、状態変更命令を送信する。状態変更命令を受け取った状態情報記憶部４１は、当該状態変更命令に基づいて、自身の状態に関する情報をアクティブ状態からビジー状態へと書き換える。
【０１３２】
そして、調停部３４は、他のＭＦＰに対して、当該他のＭＦＰの状態を変更する旨の状態変更命令を送信する（Ｓ３５）。具体的には、状態変更部４０は、状態情報記憶部４１に記憶されている他のＭＦＰの状態に基づいて、状態変更させるＭＦＰを決定する。そして、状態変更部４０は、変更命令作成部４２を動作させて状態変更命令を作成して、状態を変更するＭＦＰに対して状態変更命令を送信する。
【０１３３】
なお、本実施の形態では、上記調停部３４が状態変更命令を送信するＭＦＰは、スタンバイ状態のＭＦＰとオフ状態のＭＦＰのうち１台のＭＦＰとに送信するものとする。すなわち、上記調停部３４が、複数のオフ状態のＭＦＰのうち、状態変更命令を送信するＭＦＰを決定している。この複数のオフ状態のＭＦＰのうちから１台のＭＦＰを決定する方法としては、予め順番を決めておく方法や、オフ状態のＭＦＰのうち処理能力が最も高いＭＦＰを選択してもよい。
【０１３４】
次に、データ処理部３２は、自身の状態がアクティブ状態からビジー状態へと変更したことを検出すると、データ格納部３１に処理すべき印刷ジョブが蓄積されているか否かを判断する。具体的には、データ処理部３２は、状態情報記憶部４１に記憶されている自身の状態から状態が変更したことを知ることができる。なお、データ処理部３２は、上記判断に関係なく、データ格納部３１に格納されている印刷ジョブを格納された順に処理している。
【０１３５】
ステップＳ３６にて、蓄積されている印刷ジョブがあると判断した場合には、データ処理部３２は、蓄積された印刷ジョブを順次処理する（Ｓ３７）。
【０１３６】
一方、ステップＳ３６にて、蓄積されている印刷ジョブがないと判断した場合には、データ処理部３２は、調停部３４にデータ処理完了報告を送信する。そして、調停部３４では、自身の状態をビジー状態からオフ状態へと移行する（Ｓ３８）。具体的には、状態変更部４０は、データ処理部３２からデータ処理完了報告を受け取ると、状態情報記憶部４１に記憶されている自身の状態に関する情報を書き換える。そして、一連の処理は終了する。
【０１３７】
また、上記フローチャートでは説明を省略しているが、状態が変更されたＭＦＰは、自身の状態が変更された時点で、他のＭＦＰに対して、自身の状態が変わった旨を示す状態情報を送信するようになっている。
【０１３８】
このように、アクティブ状態のＭＦＰは、データ格納部３１に格納される印刷ジョブによって、自身の状態を変更するようになっている。
【０１３９】
次に、上記ステップＳ３５において送信された状態変更命令に基づいてＭＦＰの状態変更処理について以下に説明する。
【０１４０】
図９は、他のＭＦＰからの状態変更命令に基づいて自身の状態を変更する状態変更処理の一連の流れをしめすフローチャートである。
【０１４１】
まず、データ判断部３０は、他のＭＦＰからの状態変更命令が送信されてきたか否かを判断する（Ｓ４０）。なお、上記状態変更命令は、スタンバイ状態のＭＦＰおよび複数のオフ状態のＭＦＰのうち１台のＭＦＰのみに送信されてくるものとする。これについては上述している。
【０１４２】
状態変更命令が送信されてきた場合、データ判断部３０は、この状態変更命令を調停部３４（具体的には状態変更部４０）に送信する。そして、調停部３４では、自身の状態がスタンバイ状態であるか否かを判断する（Ｓ４１）。具体的には、状態変更部４０が状態情報記憶部４１に記憶されている自身の状態から判断する。
【０１４３】
そして、ステップＳ４１にて、自身がスタンバイ状態であると判断すると、調停部３４は、自身の状態をスタンバイ状態からアクティブ状態に移行させる（Ｓ４２）。具体的には、状態変更部４０は、状態情報記憶部４１に記憶されている自身の状態をスタンバイ状態からアクティブ状態に書き換える。
【０１４４】
次に、調停部３４は、自身の状態が変更されたことを示す状態情報を他のＭＦＰに対して送信する（Ｓ４３）。他のＭＦＰでは、上記状態情報に基づいて状態情報が送信されてきたＭＦＰの状態が記憶されている状態情報記憶部を書き換える。
【０１４５】
そして、調停部３４は、閾値判定部３３を動作させてthreshold値設定を行う（Ｓ４４）。そして、一連の処理を終了する。このthreshold値設定については後述する。
【０１４６】
一方、ステップＳ４１にて、自身がスタンバイ状態でないと判断すると、データ判断部３０は、自身の状態がオフ状態であるか否かを判断する（Ｓ４５）。
【０１４７】
上記ステップＳ４５にて、自身がオフ状態であると判断すると、調停部３４は、自身の状態をオフ状態からスタンバイ状態に移行させる（Ｓ４６）。そして、調停部３４は、自身の状態が変更されたことを示す状態情報を他のＭＦＰに対して送信する（Ｓ４７）。そして、一連の処理を終了する。
【０１４８】
また、上記ステップＳ４５にて、自身がオフ状態でないと判断すると、処理を終了する。
【０１４９】
ここで、上記threshold値設定について図１０を参照して説明する。なお、図１０は、threshold値設定の一連の流れを説明するフローチャートである。
【０１５０】
まず、調停部３４は、threshold値格納部３６に格納されているthreshold値を無制限に仮設定する（Ｓ５０）。そして、調停部３４は、所定時間経過したことを確認した後、上記ステップＳ４６にて、スタンバイ状態に移行したＭＦＰから状態情報が送信されてきたか否かを判断する（Ｓ５１）。そして、状態情報が送信されてきたことを確認した場合、調停部３４は、threshold値格納部３６に格納されているthreshold値を所定の値に設定する（Ｓ５３）。そして処理を終了する。また、ステップＳ５２にて、状態情報が送信されてきていないと判断した場合には、処理はステップＳ５１に戻る。
【０１５１】
このように、threshold値設定を行うことで、オフ状態のＭＦＰが無くてスタンバイ状態を選択できない間は、threshold値の制限を外してアクティブ状態が遷移しないようにすることができる。
【０１５２】
ところで、上記の説明では、ＭＦＰの状態をアクティブ状態とオフ状態（非アクティブ状態）と２つの状態に分類した場合における処理の流れについて説明している。しかしながら、ＭＦＰの状態は、上記２つの状態に限定されるものではなく、ビジー状態およびスタンバイ状態が含まれていてもよい。
【０１５３】
図１１は、ＭＦＰの状態が、アクティブ状態、スタンバイ状態、ビジー状態およびオフ状態のいずれかに分類される場合の、各状態におけるデータが送信されてきた場合の処理について説明するフローチャートである。なお、上記説明と同じ工程を示す処理については同じ工程番号を付し、詳細な説明は省略する。以下の説明では、スタンバイ状態が、データの記憶を行うように設定されている構成について説明する。
【０１５４】
まず、操作者によってＭＦＰの電源がオンされると、ステップＳ１０〜１４の処理行う。そして、ステップＳ１４にて、自身の状態がアクティブ状態ではないと判断すると、データ判断部３０は、自身の状態がスタンバイ状態であるか否かの判断を行う（Ｓ２０）。
【０１５５】
ステップＳ２０にて、自身の状態がスタンバイでないと判断すると、データ判断部３０は、自身の状態がオフ状態またはビジー状態と判断し、受信したデータを廃棄する（Ｓ１５）。そして、データ判断部３０における処理はステップＳ１１に戻る。
【０１５６】
一方、ステップＳ２０にて、自身の状態がスタンバイ状態であると判断すると、データ判断部３０は、受信したデータを解析して、当該データをデータ格納部３１に格納するか否かを判断する（Ｓ２１）。具体的には、データ判断部３０は、受信したデータが印刷ジョブであるか否かを判断する。
【０１５７】
ステップＳ２１にて、データをデータ格納部３１に格納すると判断する、すなわち、受信したデータが印刷ジョブであると判断した場合、データ判断部３０は、受信したデータ（印刷ジョブ）をデータ格納部３１に送信して、データを記憶させる（Ｓ２２）。なお、スタンバイ状態のＭＦＰに記憶されたデータは、自身の状態がアクティブに移行するまで、処理されることはない。また、アクティブ状態であるＭＦＰが、スタンバイ状態のＭＦＰに記憶されたデータを処理した場合には、スタンバイ状態のＭＦＰに記憶されているデータも廃棄されるものとする。この場合には、アクティブ状態であるＭＦＰからスタンバイ状態であるＭＦＰに対して、特定のデータに関するデータ処理完了報告が送信される。そして、スタンバイ状態のＭＦＰでは、上記データ処理完了報告に基づいてアクティブ状態のＭＦＰにおいて処理が完了したデータの廃棄が行われる。そして、データ判断部３０における処理はステップＳ１１に戻る。
【０１５８】
このように、スタンバイ状態のＭＦＰに対して、印刷ジョブを予め記憶させておくことにより、例えば、アクティブ状態のＭＦＰが故障して、記憶しているデータを処理することができなくなった場合でも、データの送信元であるＰＣから再び処理すべきデータを送信することなく処理することができる。また、予めデータを記憶しておくことにより、アクティブ状態のＭＦＰの故障により急にアクティブ状態になった場合でも、いち早く記憶しているデータを用いてデータの処理を行うことができる。図１２を参照して、アクティブ状態とスタンバイ状態との２つの状態のＭＦＰが印刷ジョブを受信して可用性を高める例について説明する。
【０１５９】
図１２は、エラー発生に備えてスタンバイ状態のＭＦＰ（ここではＭＦＰ２）でも印刷ジョブを受信する場合における各状態の移行順序を説明する説明図である。なお、便宜上、印刷ジョブ（ジョブ）は全て仮想アドレス宛に送信されてきているものとする。また、例えば、図１２（ａ）に示すＭＦＰ１については、上から順に印刷ジョブであるジョブａ、ジョブｂが格納されている。そして、ＭＦＰ２についても、上から順に印刷ジョブであるジョブａ、ジョブｂが格納されている。また、初期の各ＭＦＰの状態としては、ＭＦＰ１はアクティブ状態、ＭＦＰ２はスタンバイ状態、ＭＦＰ３・ＭＦＰ４はオフ状態としている。
【０１６０】
まず、図１２（ａ）に示すように、仮想アドレス宛に送信されてきた印刷ジョブ（ジョブａ，ｂ）は、アクティブ状態のＭＦＰ１に記憶されることとなる。このとき、スタンバイ状態のＭＦＰ２では、アクティブ状態のＭＦＰ１に記憶されている印刷ジョブを記憶するようになっている。なお、スタンバイ状態のＭＦＰ２は、この記憶した印刷ジョブは処理していない。そして、アクティブ状態のＭＦＰ１にて処理が完了した印刷ジョブは、消去されることになるが、このとき、スタンバイ状態であるＭＦＰ２においても、上記ＭＦＰ１にて処理が完了した印刷ジョブは廃棄される。具体的には、図１２（ｂ）に示すように、ＭＦＰ１にて処理が完了した印刷ジョブ（ジョブａ）は、ＭＦＰ２においても廃棄される。
【０１６１】
そして、アクティブ状態のＭＦＰ１に、例えば、紙詰まり等のエラーが発生して、ＭＦＰ１では記憶している印刷ジョブ（ジョブｂ，ｃ）を処理することができない場合、ＭＦＰ１は、自身の状態をビジー状態に移行させるとともに、スタンバイ状態であるＭＦＰ２に対して、状態変更命令を送信する（図１２（ｃ）参照）。そして、ＭＦＰ１は、ＭＦＰ２に対して、自身が故障したことを示す故障情報も併せて送信する。なお、このとき、ＭＦＰ１は、オフ状態のＭＦＰ３に対しても状態変更命令を送信している。
【０１６２】
これにより、スタンバイ状態のＭＦＰ２は、アクティブ状態に移行し、オフ状態のＭＦＰ３は、スタンバイ状態に移行することとなる。そして、アクティブ状態のＭＦＰ２は、ＭＦＰ１から送信されてきた故障情報を解析して、未処理分の印刷ジョブ（ジョブｂ，ｃ）の処理を開始する。
【０１６３】
そして、状態移行が完了した後で仮想アドレス宛に送信されてきた印刷ジョブ（ジョブｄ）は、アクティブ状態のＭＦＰ２に記憶されることとなる。また、印刷ジョブ（ジョブｄ）は、スタンバイ状態のＭＦＰ３にも記憶されることとなる（図１２（ｄ）参照）。なお、故障しているＭＦＰ１では、記憶している印刷ジョブ（ｂ，ｃ）を廃棄するとともに、ビジー状態を維持し続ける。また、この処理はエラー発生によりアクティブ状態からビジー状態に移行した場合にのみ行う。つまり、threshold値を超えたことによりビジー状態へと移行した場合はデータ格納部３１に記憶されている印刷ジョブの削除は行わない。
【０１６４】
そして、さらに、仮想アドレス宛に送信されてきた印刷ジョブ（ジョブｅ，ｆ）は、アクティブ状態のＭＦＰ２とスタンバイ状態のＭＦＰ３とに記憶される。そして、アクティブ状態のＭＦＰ２に記憶された印刷ジョブは、順次処理される。また、ビジー状態のＭＦＰ１では、エラーが解除されたことを確認すると、自身の状態をオフ状態に移行する（図１２（ｅ）参照）。
【０１６５】
このように、スタンバイ状態のＭＦＰにも、アクティブ状態のＭＦＰが記憶する印刷ジョブを記憶させておくことにより、例えば、アクティブ状態のＭＦＰが故障して記憶した印刷ジョブを処理することができない場合でも、スタンバイ状態に記憶された印刷ジョブを用いて処理することができる。
【０１６６】
なお、上記の説明では、アクティブ状態のＭＦＰ１がビジー状態に移行する際に、ＭＦＰ２に対して、状態変更命令を送信している。しかしながら、例えば、上記のように紙詰まり等の場合には、ＭＦＰ１からＭＦＰ２に対して、状態変更命令を送信することができるが、例えば、状態変更部４０が故障した場合等においては、状態変更命令を送信することができない場合がある。そこで、以下のようにして、ＭＦＰ２の状態を変更するようになっていてもよい。
【０１６７】
例えば、スタンバイ状態であるＭＦＰ２から一定時間の間隔で、アクティブ状態のＭＦＰ１に対して、状態確認信号を送信する。そして、ＭＦＰ１では、送信されてきた状態確認信号に応じて、ＭＦＰ１の状態をＭＦＰ２に送信するように設定する。このとき、ＭＦＰ２は、状態確認信号を送信してから、ＭＦＰ１からの応答がないと判断した場合には、状態変更部４０を動作させて、自身の状態をアクティブに変更するようにする。これにより、例えば、ＭＦＰ１が故障して状態変更命令を送信できない場合でも、他のＭＦＰの状態を自動的に変更することができる。
【０１６８】
以上のように、アクティブ状態とスタンバイ状態との２台のＭＦＰに並行して印刷ジョブを記憶させることで、例えば、エラーが発生しても、印刷ジョブを途切れることなく処理させることができる。
【０１６９】
なお、上記のように、非アクティブ状態が、さらに、ビジー状態、オフ状態、スタンバイ状態に分類される場合においては、電源がオンになった時点で、非アクティブ状態のＭＦＰについては、オフ状態とスタンバイ状態とのいずれかに決定されることになる。具体的には、電源がオンされたときに、アクティブ状態に設定されたＭＦＰは、他のＭＦＰに対して、スタンバイ状態に移行するように指示するようになっている。具体的には、アクティブ状態のＭＦＰの状態変更部４０は、自身の状態変更命令部４２を動作させて、他のＭＦＰのうち、少なくとも１台の他のＭＦＰに対して、スタンバイ状態に移行するように指示を出す。このようにして、非アクティブ状態のＭＦＰのうち、少なくとも１台のＭＦＰはスタンバイ状態に設定される。
【０１７０】
このようにして、本実施の形態にかかるＭＦＰ（情報処理装置）は、サーバを使用することなく、複数のＭＦＰ間で自律的に印刷ジョブを処理するべきＭＦＰを切り換えることで負荷分散および印刷ジョブの調停を行うことができる。
【０１７１】
なお、上記実施の形態では、情報処理装置を構成する各部材が、「ＣＰＵなどの演算手段がＲＯＭやＲＡＭなどの記録媒体に格納されたプログラムコードを実行することで実現される機能ブロックである」場合を例にして説明したが、同様の処理を行うハードウェアで実現してもよい。また、処理の一部を行うハードウェアと、当該ハードウェアの制御や残余の処理を行うプログラムコードを実行する上記演算手段とを組み合わせても実現することもできる。さらに、上記各部材のうち、ハードウェアとして説明した部材であっても、処理の一部を行うハードウェアと、当該ハードウェアの制御や残余の処理を行うプログラムコードを実行する上記演算手段とを組み合わせても実現することもできる。なお、上記演算手段は、単体であってもよいし、装置内部のバスや種々の通信路を介して接続された複数の演算手段が共同してプログラムコードを実行してもよい。
【０１７２】
上記演算手段によって直接実行可能なプログラムコード自体、または、後述する解凍などの処理によってプログラムコードを生成可能なデータとしてのプログラムは、当該プログラム（プログラムコードまたは上記データ）を記録媒体に格納し、当該記録媒体を配付したり、あるいは、上記プログラムを、有線または無線の通信路を介して伝送するための通信手段で送信したりして配付され、上記演算手段で実行される。
【０１７３】
なお、通信路を介して伝送する場合、通信路を構成する各伝送媒体が、プログラムを示す信号列を伝搬し合うことによって、当該通信路を介して、上記プログラムが伝送される。また、信号列を伝送する際、送信装置が、プログラムを示す信号列により搬送波を変調することによって、上記信号列を搬送波に重畳してもよい。この場合、受信装置が搬送波を復調することによって信号列が復元される。一方、上記信号列を伝送する際、送信装置が、デジタルデータ列としての信号列をパケット分割して伝送してもよい。この場合、受信装置は、受信したパケット群を連結して、上記信号列を復元する。また、送信装置が、信号列を送信する際、時分割／周波数分割／符号分割などの方法で、信号列を他の信号列と多重化して伝送してもよい。この場合、受信装置は、多重化された信号列から、個々の信号列を抽出して復元する。いずれの場合であっても、通信路を介してプログラムを伝送できれば、同様の効果が得られる。
【０１７４】
ここで、プログラムを配付する際の記録媒体は、取外し可能である方が好ましいが、プログラムを配付した後の記録媒体は、取外し可能か否かを問わない。また、上記記録媒体は、プログラムが記憶されていれば、書換え（書き込み）可能か否か、揮発性か否か、記録方法および形状を問わない。記録媒体の一例として、磁気テープやカセットテープなどのテープ、あるいは、フロッピー（登録商標）ディスクやハードディスクなどの磁気ディスク、または、ＣＤ−ＲＯＭや光磁気ディスク（ＭＯ）、ミニディスク（ＭＤ）やデジタルビデオディスク（ＤＶＤ）などのディスクが挙げられる。また、記録媒体は、ＩＣカードや光カードのようなカード、あるいは、マスクＲＯＭやＥＰＲＯＭ、ＥＥＰＲＯＭまたはフラッシュＲＯＭなどのような半導体メモリであってもよい。あるいは、ＣＰＵなどの演算手段内に形成されたメモリであってもよい。
【０１７５】
なお、上記プログラムコードは、上記各処理の全手順を上記演算手段へ指示するコードであってもよいし、所定の手順で呼び出すことで、上記各処理の一部または全部を実行可能な基本プログラム（例えば、オペレーティングシステムやライブラリなど）が既に存在していれば、当該基本プログラムの呼び出しを上記演算手段へ指示するコードやポインタなどで、上記全手順の一部または全部を置き換えてもよい。
【０１７６】
また、上記記録媒体にプログラムを格納する際の形式は、例えば、実メモリに配置した状態のように、演算手段がアクセスして実行可能な格納形式であってもよいし、実メモリに配置する前で、演算手段が常時アクセス可能なローカルな記録媒体（例えば、実メモリやハードディスクなど）にインストールした後の格納形式、あるいは、ネットワークや搬送可能な記録媒体などから上記ローカルな記録媒体にインストールする前の格納形式などであってもよい。また、プログラムは、コンパイル後のオブジェクトコードに限るものではなく、ソースコードや、インタプリトまたはコンパイルの途中で生成される中間コードとして格納されていてもよい。いずれの場合であっても、圧縮された情報の解凍、符号化された情報の復号、インタプリト、コンパイル、リンク、または、実メモリへの配置などの処理、あるいは、各処理の組み合わせによって、上記演算手段が実行可能な形式に変換可能であれば、プログラムを記録媒体に格納する際の形式に拘わらず、同様の効果を得ることができる。
【０１７７】
また、上記固有アドレスまたは仮想アドレスとしては、具体的には例えば、ＭＡＣアドレスやＩＰアドレス等が挙げられる。自機の実（固有）ＭＡＣアドレスに対してデータ処理を行うことによって、arpやrarpなど実（固有）ＭＡＣアドレスを使用することで提供されるサービスに対しても支障がない。
【０１７８】
また、上記の説明では、アクティブ状態に設定されているＭＦＰが１台の場合について説明した。しかしながら、アクティブ状態に設定されているＭＦＰの台数としては、特に限定されるものではなく、例えば、２台に設定してもよい。この場合、複数のアクティブ状態のＭＦＰに優先順位をつけておき、１つのＭＦＰが主としてデータを処理するようにしてもよく、また、アクティブ状態のＭＦＰが順次、データを受信するようにしてもよい。
【０１７９】
また、本実施の形態では、多機能プリンタであるＭＦＰを用いて説明しているが、単なるネットワークプリンタであってもよい。また、本実施の形態では、有線ＬＡＮ７にてＰＣとＭＦＰとを接続しているが、例えば、無線ＬＡＮ等を用いて接続するようになっていてもよい。さらに、ＰＣについても印刷ジョブをＭＦＰに対して送信することができるものであればよい。また、ＰＣおよびＭＦＰの台数については、特に限定されるものではない。
【０１８０】
また、上記の説明では情報処理装置としてＭＦＰを用いて説明しているが、情報処理装置としてはＭＦＰに限定されるものではなく、例えば、ネットワークファクシミリ（インターネットＦＡＸ）等であってもよい。
【０１８１】
また、上記説明では、ＭＦＰ１の状態として、４つの状態（アクティブ状態、スタンバイ状態、ビジー状態、オフ状態）に分類している。しかしながら、状態の分類および定義については上記に限定されるものではない。例えば、アクティブ状態、ビジー状態、オフ状態の３つの状態に分類してもよく、また、さらに別の状態を追加して分類してもよい。これら分類の方法については、情報処理装置の種類によって適宜設定すればよい。
【０１８２】
また、上記の説明では、状態情報記憶部４１には、有線ＬＡＮ７を介して接続されており、かつ、仮想アドレス宛のデータを受信することができる全てのＭＦＰの状態および固有アドレスを記憶している例について説明している。しかしながら、例えば、複数のＭＦＰの中でアクティブ状態およびスタンバイ状態に移行する順番が予め設定されている場合には、全てのＭＦＰに関する状態情報を記憶する必要はなく、自身がアクティブ状態になったとき、スタンバイ状態になるＭＦＰの固有アドレスのみを記憶するようになっていてもよい。つまり、自身がアクティブ状態であるとき、次にアクティブ状態に移行させるＭＦＰの固有アドレスが記憶されていれば、この固有アドレスに対して状態変更命令を送信することよって、他のＭＦＰのうち、少なくとも１つのＭＦＰをアクティブ状態とすることができる。
【０１８３】
また、固有アドレス宛に送信されてきたデータ（印刷ジョブ）は各ＭＦＰが処理するとともに、仮想アドレス宛に送信されてきたデータのみを複数のＭＦＰで処理することができるので、処理する目的によって、出力するＭＦＰを使い分けることができる。つまり、例えば、特定のＭＦＰに出力する場合には、固有アドレス宛にデータを送信するとともに、早くデータを処理したい場合には仮想アドレス宛にデータを送信することにより、出力するＭＦＰを適宜使い分けることができる。
【０１８４】
また、本実施の形態にかかる情報処理装置は、記憶手段と、予め定められた仮想アドレスへ送信されたデータを受信可能な受信手段と、当該受信手段が受信したデータを上記記憶手段に追加登録する登録手段と、上記記憶手段に記憶されたデータを順次処理するデータ処理手段とを有する情報処理装置において、上記登録手段およびデータ処理手段を制御するとともに、上記データの追加登録およびデータの処理が可能なアクティブ状態と、データの追加登録および／またはデータの処理が不可能である非アクティブ状態とを切り換える状態変更手段と、上記特定のアドレス宛に送信されたデータを受信可能である他の情報処理装置の固有アドレスおよび当該他の情報処理装置の状態を記憶する状態記憶手段とを備え、上記状態変更手段は、上記記憶手段に登録されている未処理のデータが閾値を超えると、上記状態記憶手段に記憶されている非アクティブ状態である他の情報処理装置に対して、アクティブ状態へと移行するように指示するとともに、自らを非アクティブ状態へと移行させて、データ処理手段に未処理のデータを処理させるものである構成であってもよい。
【０１８５】
また、ネットワークを介してホスト装置からの印刷ジョブを受ける、本実施の形態にかかる複数の画像形成装置（ＭＦＰ）で構成されるネットワークプリンタシステムは、各画像形成装置は固有のアドレス以外に印刷システム共通の受信専用の仮想アドレスを利用可能なネットワークインターフェイスと、画像装置間で印刷ジョブの処理順序を調停する調停手段とを備え、調停結果に基づいて少なくとも1つの画像形成装置が仮想アドレスで印刷ジョブを受信し、1つの画像形成装置が印刷ジョブを受け付けて処理する構成であってもよい。上記の構成とすることにより、サーバを用いないネットワークプリンタシステムでも、ユーザはどのプリンタに印刷ジョブを送信するか考える必要がなくなり。予め決めてある仮想アドレスに対して送信すれば、１台のプリンタに集中することもなく、処理する順番に当たっているプリンタが受信して印刷処理を行うことができる。
【０１８６】
また、本実施の形態にかかる画像形成装置（ＭＦＰ）は、固有のアドレス以外に受信専用の仮想アドレスを利用可能なネットワークインターフェイスを備えた画像形成装置であって、仮想アドレスで印刷ジョブを受信して受け付けた場合、受け付けた旨を固有アドレスを含めて印刷ジョブの送信元へ通知する構成としてもよい。上記の構成とすることにより、ホスト装置から印刷ジョブを受信した画像形成装置に対して問い合わせや操作が可能になる。
【０１８７】
【発明の効果】
本発明の情報処理装置は、以上のように、上記登録手段およびデータ処理手段を制御するとともに、上記特定アドレス宛に送信されたデータの追加登録および当該データの処理が可能なアクティブ状態と、アクティブ状態以外の非アクティブ状態とを切り換える状態変更手段を備え、上記状態変更手段は、上記記憶手段に登録されている未処理のデータが所定の閾値を超えると、他の情報処理装置に対してアクティブ状態へと移行するように指示するとともに、自らを非アクティブ状態へと移行させて、データ処理手段に未処理のデータを処理させる構成である。
【０１８８】
それゆえ、例えば、サーバを必要とすることなく、１台の情報処理装置のみに処理すべきデータが集中することを防止することができるので、全体として効率よくデータの処理を行うことができるという効果を奏する。
【０１８９】
本発明にかかる情報処理装置は、上記状態変更手段は、他の情報処理装置の状態に関する状態情報を記憶している状態情報記憶手段を備えており、上記状態情報に基づいて、非アクティブ状態からアクティブ状態へと移行するように指示する他の情報処理装置を決定する構成とすることにより、例えば、非アクティブ状態の他の情報処理装置のうち、最も性能が高い他の情報処理装置をアクティブ状態に移行させることができる。
【０１９０】
本発明にかかる情報処理装置は、上記記憶手段に登録された未処理のデータに基づいて処理量を算出する算出手段と、当該処理量と所定の閾値とを比較する比較手段とを備え、上記状態変更手段は、比較手段の比較結果に基づいて、自らを非アクティブ状態に移行させるか否かを決定する構成とすることにより、リアルタイムに送信されてくるデータに基づいて自身の状態を変更させることができる。
【０１９１】
本発明にかかる情報処理装置は、上記非アクティブ状態には、他の情報処理装置から送信されてきたアクティブ状態への移行指示に基づいて、自身をアクティブ状態に移行させるスタンバイ状態が含まれており、上記状態変更手段は、自身の状態がスタンバイ状態であると判断した場合には、上記特定アドレス宛に送信されたデータの追加登録を行うように登録手段を制御するとともに、アクティブ状態である他の情報処理装置がデータ処理を行うことができないと判断した場合には、追加登録したデータを処理するものである構成とすることにより、例えば、アクティブ状態である他の情報処理装置が故障して自身がアクティブ状態に移行した場合でも、既に追加登録されている（蓄積されている）データを用いて、直ちにデータ処理を開始することができる。
【０１９２】
本発明にかかる情報処理装置は、上記非アクティブ状態には、上記特定アドレス宛に送信されたデータの追加登録および当該データの処理を行わないオフ状態と、データ処理手段に未処理のデータを処理させるビジー状態とが含まれており、上記状態変更手段は、ビジー状態に移行した後、データ処理手段による未処理のデータの処理が完了したと判断した場合には、自らをオフ状態へと移行するとともに、データ処理手段を動作させないように制御するものである構成とすることにより、オフ状態ではデータ処理手段を動作させないようにしているので、省エネを図ることができる。
【０１９３】
本発明の情報処理装置は、上記登録手段は、受信したデータが特定アドレス宛に送信されてきたデータであると判断すると、当該データを送信した送信元に対して、データを受信した旨と自らの固有アドレスを通知するようになっている構成とすることにより、特定アドレス宛に送信されたデータを受け取った情報処理装置が、送信元に対して、受信した旨および固有アドレスを送信するので、送信元はどの情報処理装置が、データを受け取ったかを判断することができる。
【０１９４】
また、本発明の情報処理プログラムは、コンピュータを上記の各手段として機能させるコンピュータ・プログラムである。
【０１９５】
上記の構成により、コンピュータで上記情報処理装置の各手段を実現することによって、上記情報処理装置を実現することができる。
【０１９６】
また、本発明の情報処理プログラムを記録したコンピュータ読み取り可能な記録媒体は、上記の各手段をコンピュータに実現させて、上記情報処理装置を動作させる情報処理プログラムを記録したコンピュータ読み取り可能な記録媒体である。
【０１９７】
上記の構成により、上記記録媒体から読み出された情報処理プログラムによって、上記情報処理装置をコンピュータ上に実現することができる。
【０１９８】
本発明にかかる画像形成装置は、以上のように、上記情報処理装置と、情報処理手段によって処理されたデータを画像形成する画像形成手段とを備える構成である。
【０１９９】
それゆえ、例えば、従来のようにサーバを必要とすることなく、１台の情報処理装置のみに処理すべきデータが集中することを防止することができるという効果を奏することができる。
【０２００】
本発明の画像形成装置は、上記非アクティブ状態には、次にアクティブ状態に移行するスタンバイ状態が含まれており、上記状態変更手段は、自身の状態がスタンバイ状態である場合には、画像形成手段が稼動状態になるように制御する構成とすることにより、例えば、他の情報処理装置からアクティブ状態に移行する指示がなされたとき、スタンバイ状態である情報処理装置は、アクティブ状態に移行するとともに、直ちに画像形成を開始することができる。
【図面の簡単な説明】
【図１】  本実施の形態にかかるＭＦＰの概略の構成を示すブロック図である。
【図２】  本発明のネットワークプリンタの概略の構成を示すブロック図である。
【図３】  ネットワークＩＦの概略構成を示すブロック図である。
【図４】  各状態の移行順序を説明する説明図である。
【図５】  （ａ）〜（ｅ）は、本実施の形態におけるthreshold値に基づいて各ＭＦＰの状態を変更する方法を説明する説明図である。
【図６】  （ａ）〜（ｅ）は、アクティブ状態のＭＦＰに、例えば、印刷ジョブを印刷する紙がなくなった場合における各ＭＦＰの状態の遷移を説明する説明図である。
【図７】  電源を入れてからのＭＦＰがデータを受信するまでの一連の動作の流れを説明するフローチャートである。
【図８】  アクティブ状態のＭＦＰにおける印刷ジョブの処理および状態の移行について説明するフローチャートである。
【図９】  他のＭＦＰからの状態変更命令に基づいて自身の状態を変更する状態変更処理の一連の流れをしめすフローチャートである。
【図１０】  threshold値設定の一連の流れを説明するフローチャートである。
【図１１】  ＭＦＰの状態が、アクティブ状態、スタンバイ状態、ビジー状態およびオフ状態のいずれかに分類される場合の、各状態におけるデータが送信されてきた場合の処理について説明するフローチャートである。
【図１２】  （ａ）〜（ｅ）は、エラー発生に備えてスタンバイ状態のＭＦＰ（ここではＭＦＰ２）でも印刷ジョブを受信する場合における各状態の移行順序を説明する説明図である。
【符号の説明】
１２    制御部
１３    ネットワークＩＦ（通信手段）
３０    データ判断部（登録手段）
３１    データ格納部（記憶手段）
３２    データ処理部（データ処理手段）
３３    閾値判定部
３４    調停部（状態変更手段）
３５    省エネ管理部
３７    処理時間算出部（算出手段）
３８    threshold値比較部（比較手段）
４０    状態変更部
４１    状態情報記憶部（状態情報記憶手段）
４２    変更命令作成部
【図１】
0003679099.tif 000002
【図２】
0003679099.tif 000003
【図３】
0003679099.tif 000004
【図４】
0003679099.tif 000005
【図５】
0003679099.tif 000006
【図６】
0003679099.tif 000007
【図７】
0003679099.tif 000008
【図８】
0003679099.tif 000009
【図９】
0003679099.tif 000010
【図１０】
0003679099.tif 000011
【図１１】
0003679099.tif 000012
【図１２】
0003679099.tif 000013