以下、本発明の実施の形態について図面を参照して説明する。以下の説明では同一の部品には同一の符号を付してある。それらの名称および機能も同じである。従ってそれらについての詳細な説明は繰り返さない。
<第1の実施の形態>
図1は、本発明の実施の形態の1つにおける画像処理システムの全体概要を示す図である。図1を参照して、画像処理システム1は、画像形成装置として機能する複合機(以下、「MFP」という)100,100Aと、管理装置として機能するサーバー200と、自走装置300,301,302と、を含む。MFP100,100Aは、画像処理機能を有する固定装置の一例であり、設置される位置が固定される。サーバー200は、一般的なコンピューターである。自走装置300,301,302は、画像処理機能を有する自律走行可能な自走装置の一例である。
MFP100,100Aおよび自走装置300,301,302それぞれは、画像処理機能を有する。画像処理機能は、ここでは、原稿を読み取り画像データを出力するスキャン機能、画像データの画像を用紙に形成する画像形成機能、を含む。なお、ここでは、MFP100,100Aおよび自走装置300,301,302は、同一の画像処理機能を有する場合を例に説明するが、自走装置300,301,302は、MFP100,100Aが有する画像処理機能の一部を備えていてもよい。例えば、自走装置300,301,302のいずれかが有する画像処理機能を、原稿を読み取るスキャン機能のみを有する場合、用紙に画像を形成する画像形成機能のみを有する場合、スキャン機能と画像形成機能とを有する場合としてもよい。
また、MFP100,100Aが、画像処理機能として、後処理機能を有するようにしてもよい。後処理機能は、画像が形成された用紙をソート、パンチ穴加工またはステープル加工等する機能である。この場合、自走装置300,301,302のいずれかが有する画像処理機能は、画像形成機能と後処理機能とを有する場合と、スキャン機能と画像形成機能と後処理機能とを有する場合と、がある。
MFP100,100Aおよびサーバー200は、ネットワーク3に接続され、互いに通信可能である。また、自走装置300,301,302は、無線通信機能を有し、ネットワーク3に接続された無線局5と通信することにより、ネットワーク3に接続される。このため、自走装置300,301,302は、MFP100,100Aおよびサーバー200それぞれと互いに通信可能である。ネットワーク3は、ローカルエリアネットワーク(LAN)であり、接続形態は有線または無線を問わない。またネットワーク3は、LANに限らず、ワイドエリアネットワーク(WAN)、公衆交換電話網(PSTN)、インターネット等であってもよい。
なお、図ではネットワーク3に2台のMFP100,100Aが接続される例を示しているが、装置の数はこれに限定されるものではなく、1台以上であればよい。また、MFP100,100Aに代えて、画像を形成する機能を備えた装置であれば、例えば、ファクシミリ、プリンタ等であってもよい。同様に、自走装置300,301,302が3台の例を説明するが、1台以上であればよい。MFP100,100Aが有するハードウェアおよび機能は同じなので、以下の説明では特に言及しない限りMFP100を例に説明する。また、自走装置300,301,302が有するハードウェアおよび機能は、異なってもよいが同じであってもよい。ここでは、自走装置300が、他の自走装置301,302それぞれが備えるハードウェアおよび機能のすべてを備える場合について、特に言及ない限り自走装置301を例に説明する。
本実施の形態における画像処理システム1は、サーバー200が、MFP100,100Aの状態を監視している。サーバー200は、例えば、MFP100が所定の状態になると、自走装置300,301,302のいずれか、例えば、自走装置300をMFP100から所定の範囲内に移動させる。例えば、サーバー200は、MFP100が備えるハードウェア資源にエラーが発生してMFP100が画像処理機能を実行できない状態の場合、または、MFP100に投入されたジョブの遅延が予測される状態の場合に、自走装置300をMFP100から所定の範囲内に移動させる。このため、MFP100が備えるハードウェア資源にエラーが発生している状態であってもMFP100を使用しようとしてMFP100が配置される位置に移動したユーザーは、MFP100の代わりに自走装置300を操作して画像処理を実行させることができるので、MFP100から別の装置、例えばMFP100Aに移動する必要がない。また、MFP100に投入されたジョブが遅延している状態であってもMFP100を使用しようとしてMFP100が配置される位置に移動したユーザーは、MFP100の代わりに自走装置300を操作して画像処理を実行させることができるので、MFP100から別の装置であるMFP100Aに移動する必要がない。
図2は、本実施の形態の一つにおけるサーバーのハードウェア構成の一例を示すブロック図である。図2を参照して、サーバー200は、それぞれがバス208に接続され、サーバー200の全体を制御するためのCPU201と、CPU201が実行するプログラム等を記憶するためのROM(Read Only Memory)202と、CPU201の作業領域として用いられるRAM(Random Access Memory)203と、サーバー200をネットワーク3に接続するためのネットワークI/F204と、大容量記憶装置としてのハードディスクドライブ(HDD)205と、表示部206と、ユーザーの操作の入力を受け付ける操作部207と、外部記憶装置209と、を含む。
ネットワークI/F204は、TCP(Transmission Control Protocol)またはFTP(File Transfer Protocol)等の通信プロトコルで、ネットワーク3に接続されたMFP100,100A、自走装置300,301,302と通信する。なお、通信のためのプロトコルは、特に限定されることはなく、任意のプロトコルを用いることができる。また、ネットワークI/F204が接続されるネットワーク3は、例えば、ローカルエリアネットワーク(LAN)であり、接続形態は有線または無線を問わない。またネットワーク3は、LANに限らず、ワイドエリアネットワーク(WAN)、公衆交換電話網(PSTN)を用いたネットワーク等であってもよい。さらに、ネットワーク3は、インターネットに接続されるようにしてもよい。このため、サーバー200は、インターネットに接続されたコンピューターと通信が可能である。
外部記憶装置209は、プログラムを記憶したCD-ROMCompact Disk Read Only Memory)210が装着される。CPU201は、外部記憶装置209を介してCD-ROM210に記憶されたプログラムをRAM203にロードし、実行する。なお、プログラムを記憶する記録媒体としては、CD-ROM210に限られず、フレキシブルディスク、カセットテープ、光ディスク(MO(Magnetic Optical Disc)/MD(Mini Disc)/DVD(Digital Versatile Disc))、ICカード、光カード、マスクROM、EPROM(Erasable Programmable ROM)などの半導体メモリ等でもよい。また、HDD205に記憶されたプログラムをRAM203にロードして実行するようにしてもよい。この場合、サーバー200が、ネットワーク3に接続された他のコンピューターからプログラムをダウンロードして、そのプログラムをHDD205に記憶するようにしてもよい。ここでいうプログラムは、CPU201が直接実行可能なプログラムだけでなく、ソースプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。
図3は、本実施の形態の一つにおけるMFPのハードウェア構成の一例を示すブロック図である。図3を参照して、MFP100は、メイン回路110と、原稿を読み取るための原稿読取部130と、原稿を原稿読取部130に搬送するための自動原稿搬送装置120と、原稿読取部130が原稿を読み取って出力する画像データに基づいて用紙等に画像を形成するための画像形成部140と、画像形成部140に用紙を供給するための給紙部150と、後処理部155と、ユーザーインターフェースとしての操作パネル160と、を含む。
自動原稿搬送装置120は、原稿給紙トレイ上にセットされた複数枚の原稿を1枚ずつ自動的に原稿読取部130のプラテンガラス上に設定された所定の原稿読み取り位置まで搬送し、原稿読取部130により原稿画像が読み取られた原稿を原稿排紙トレイ上に排出する。原稿読取部130は、原稿読取位置に搬送されてきた原稿に光を照射する光源と、原稿で反射した光を受光する光電変換素子とを含み、原稿のサイズに応じた原稿画像を走査する。光電変換素子は、受光した光を電気信号である画像データに変換して、画像形成部140に出力する。給紙部150は、給紙トレイに収納された用紙を画像形成部140に搬送する。
画像形成部140は、周知の電子写真方式により画像を形成するものであって、原稿読取部130から入力される画像データにシェーディング補正などの各種のデータ処理を施した、データ処理後の画像データまたは、外部から受信された画像データに基づいて、給紙部150により搬送される用紙に画像を形成する。
後処理部155は、画像形成部140により画像が形成された1以上の用紙を並び替えて排紙するソート処理、パンチ穴加工するパンチ処理、ステープル針を打ち込むステープル処理を実行する。
メイン回路110は、CPU111と、通信インターフェース(I/F)部112と、ROM113と、RAM114と、大容量記憶装置としてのハードディスクドライブ(HDD)115と、ファクシミリ部116と、外部記憶装置117と、を含む。CPU111は、自動原稿搬送装置120、原稿読取部130、画像形成部140、給紙部150、後処理部155および操作パネル160と接続され、MFP100の全体を制御する。
ROM113は、CPU111が実行するプログラム、またはそのプログラムを実行するために必要なデータを記憶する。RAM114は、CPU111がプログラムを実行する際の作業領域として用いられる。また、RAM114は、原稿読取部130から連続的に送られてくる読取画像を一時的に記憶する。
ファクシミリ部116は、公衆交換電話網(PSTN)に接続され、PSTNにファクシミリデータを送信する、またはPSTNからファクシミリデータを受信する。ファクシミリ部116は、受信したファクシミリデータを、HDD115に記憶するか、または、画像形成部140でプリント可能な画像データに変換して、画像形成部140に出力する。これにより、画像形成部140は、ファクシミリ部116により受信されたファクシミリデータの画像を用紙に形成する。また、ファクシミリ部116は、原稿読取部130が原稿を読み取って出力するデータ(読取画像)、または、HDD115に記憶されたデータをファクシミリデータに変換して、PSTNに接続されたファクシミリ装置に送信する。
通信I/F部112は、ネットワーク3にMFP100を接続するためのインターフェースである。通信I/F部112は、TCPまたはFTP等の通信プロトコルで、ネットワーク3に接続された他のMFP100A、サーバー200、自走装置300,301,302と通信する。なお、通信のためのプロトコルは、特に限定されることはなく、任意のプロトコルを用いることができる。また、通信I/F部112が接続されるネットワーク3は、LANに限らず、WAN、PSTNを用いたネットワーク等であってもよい。さらに、ネットワーク3がインターネットに接続される場合、MFP100は、インターネットに接続されたコンピューターと通信が可能である。
外部記憶装置117は、CPU111により制御され、CD-ROM118が装着される。CPU111は、外部記憶装置117を介してCD-ROM118にアクセス可能である。CPU111は、外部記憶装置117に装着されたCD-ROM118に記録されたプログラムをRAM114にロードして実行する。なお、CPU111が実行するプログラムは、CD-ROM118に記録されたプログラムに限られず、HDD115に記憶されたプログラムをRAM114にロードして実行するようにしてもよい。この場合、通信I/F部112に接続されるネットワーク3を介して、ネットワーク3に接続された他のコンピューターが、MFP100のHDD115に記憶されたプログラムを書換える、または、新たなプログラムを追加して書き込むようにしてもよい。さらに、MFP100が、ネットワークに接続された他のコンピューターからプログラムをダウンロードして、そのプログラムをHDD115に記憶するようにしてもよい。ここでいうプログラムは、CPU111が直接実行可能なプログラムだけでなく、ソースプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。
なお、CPU111が実行するプログラムを記憶する媒体としては、CD-ROM118に限られず、光ディスク、半導体メモリであってもよい。
操作パネル160は、表示部161と操作部163とを含む。表示部161は、液晶表示装置(LCD)、有機ELD(Electro-Luminescence Display)等のディスプレイであり、ユーザーに対する指示メニューや取得した画像データに関する情報等を表示する。操作部163は、タッチパネル165と、複数のキーからなるハードキー部167と、を含む。ハードキー部167が含む複数のキーそれぞれは、接点スイッチを含み、CPU111に接続される。ハードキーは、ユーザーにより押下されると接点を閉じて、CPU111に接続される回路を閉じる。ハードキーは、MFP100を操作するユーザーにより押下されている間は回路を閉じ、ユーザーにより押下されていない間は回路を開く。
操作部163は、ハードキー部167が有する複数のキーが押下されると、押下されたキーに対応する指示、文字、数字などのデータの入力を受け付ける。タッチパネル165は、表示部161の上面または下面に設けられ、ユーザーにより押下された位置の座標をCPU111に出力する。タッチパネル165は、ユーザーが指またはスタイラスペンで指示した位置を検出し、検出した位置の座標をCPU111に出力する。タッチパネル165は、表示部161の表示面と同じまたはそれ以上のサイズであるのが好ましい。タッチパネル165は、表示部161に重畳して設けられるので、タッチパネル165は、ユーザーが表示部161の表示面を指示すれば、表示部161の表示面中でユーザーが指示した位置の座標をCPU111に出力する。タッチパネル165は、例えば、抵抗膜方式、表面弾性波方式、赤外線方式、電磁誘導方式、静電容量方式を用いることができ、その方式は限定されない。
図4は、本実施の形態の一つにおける自走装置のハードウェア構成の一例を示すブロック図である。図4を参照して、自走装置300は、メイン回路110Aと、自動原稿搬送装置120と、原稿読取部130と、画像形成部140と、給紙部150と、後処理部155と、操作パネル160と、電源制御ユニット170と、走行装置180と、を備える。自動原稿搬送装置120、原稿読取部130、画像形成部140、給紙部150、後処理部155および操作パネル160は、MFP100が備えるそれらと同じである。従って、ここでは説明を繰り返さない。メイン回路110Aは、自走装置300の全体を制御するCPU111Aと、無線通信部112Aと、ROM113と、RAM114と、HDD115と、外部記憶装置117と、位置センサー119と、を含む。ROM113、RAM114、HDD115、および外部記憶装置117は、MFP100が備えるメイン回路110が備えるそれらと同じである。したがって、ここでは説明を繰り返さない。
CPU111Aは、自動原稿搬送装置120、原稿読取部130、画像形成部140、給紙部150、後処理部155、操作パネル160、電源制御ユニット170および走行装置180と接続され、自走装置300の全体を制御する。無線通信部112Aは、無線局5と無線で通信可能であり、CPU111Aをネットワーク3に接続するためのインターフェースである。
位置センサー119は、全地球測位システム(Global Positioning System)受信機であり、複数のGPS衛星からの電波を受信することにより、現在位置を測定する。位置センサー119は、測定した現在位置を示す値、たとえば、緯度と経度とをCPU111Aに出力する。
CPU111Aは、HDD115に記憶された地図データを用いて、位置センサー119から入力される位置情報で特定される位置に基づいて、地図上の位置を特定する。さらに、CPU111Aは、地図上の位置として目的地がユーザーにより指定される場合、地図データに基づいて、現在位置から目的地までの経路を探索し、走行装置180に探索した経路を出力する。
走行装置180は、自走装置300の本体下部に設けられた車台であり、駆動輪と、操舵輪と、を含む。走行装置180は、駆動輪を駆動する駆動モータと、操舵輪を左右に操舵する操舵モータと、走行制御部181と、を含む。走行制御部181は、CPU111Aにより制御され、駆動モータおよび操舵モータを駆動して、走行装置180を走行させる。
CPU111Aは、走行装置180に経路を出力した後、目的地に到着するまで、位置センサー119により検出される現在位置に基づいて、経路を逸脱していないか否かを監視しており、経路を逸脱することを検出する場合には、再度経路を探索して、修正後の経路を走行装置180に出力する。なお、位置センサー119に加えて、障害物を検出するためのセンサーを搭載するようにしてもよい。障害物を検出するためのセンサーは、例えば、近接センサー、距離センサーである。この場合には、目的地まで障害物を避けて移動することによって目的地まで移動することができるので、経路を探索しなくてもよい。
電源制御ユニット170は、電源部171と、バッテリ173と、を含む。電源部171は、商用電源に接続される場合に、商用電源から供給される電力を、自走装置300の全体に供給する。バッテリ173は、電源部171から供給される電力を蓄積し、電源部171が商用電源に接続されていない状態で、蓄積した電力を自走装置300の全体に供給する。これにより、自走装置300が移動中に、メイン回路110、自動原稿搬送装置120、原稿読取部130、画像形成部140、給紙部150、後処理部155、操作パネル160、にバッテリ173から電力が供給されるので、自走装置300は、自走中に画像処理を実行することができる。
図5は、第1の実施の形態におけるMFPが備えるCPUが有する機能の一例を示すブロック図である。図5に示す機能は、MFP100が備えるCPU111が、ROM113、HDD115またはCD-ROM118に記憶された固定装置制御プログラムを実行することにより、CPU111により実現される機能である。固定装置制御プログラムは、画像処理プログラムの一部である。
図5を参照して、MFP100が備えるCPU111は、代替指示受付部51と、ジョブ受付部53と、ジョブ実行部55と、遠隔操作部57と、状態通知部59と、を含む。
ジョブ受付部53は、ジョブ実行部55が実行するためのジョブを受け付ける。ジョブ受付部53は、表示部161に設定画面を表示し、ユーザーが設定画面に従って操作部163に操作を入力する場合に、ジョブを受け付ける。また、ジョブ受付部53は、通信I/F部112が、ネットワーク3を介して接続されるコンピューターからジョブを受信する場合に、受信されたジョブを受け付ける。さらに、ジョブ受付部53は、ファクシミリ部116が別のファクシミリ装置からファクシミリデータを受信すると、ファクシミリデータを処理するジョブを受け付ける。ジョブ受付部53は、ジョブを受け付けることに応じて、受け付けられたジョブの実行をジョブ実行部55に指示する。
ジョブ実行部55は、ジョブ受付部53から入力されるジョブを実行する。具体的には、ジョブ実行部55は、ジョブで定められた画像処理を実行する。ジョブ実行部55が実行可能なジョブは、原稿読取ジョブ、画像形成ジョブ、データ送受信ジョブ、ファクシミリ送受信ジョブおよびデータ管理ジョブを含む。なお、ジョブ実行部55が実行可能な処理は、これらに限定されることなく、より少なくてもよいし、より多くの種類の処理を含んでもよい。
原稿読取ジョブは、原稿読取部130で原稿を読み取って得られる画像データをRAM114に記憶する画像処理を定める。画像形成ジョブは、データの画像を画像形成部140に給紙部150から供給される用紙に画像形成させる画像処理を定める。データ送受信ジョブは、通信I/F部112を介してネットワークに接続されたコンピューターからデータを受信する画像処理、または、HDD115または外部記憶装置117に記憶されたデータを通信I/F部112を介してネットワークに接続されたコンピューターに送信する画像処理を定める。ファクシミリ送受信ジョブは、ファクシミリデータの画像をファクシミリ部116に送信させる画像処理、または、ファクシミリデータの画像を外部から受信する画像処理を定める。データ管理ジョブは、HDD115または外部記憶装置117にデータを記憶する画像処理、HDD115または外部記憶装置117に記憶されたデータを変更または削除する画像処理、HDD115または外部記憶装置117に記憶されたデータのうちから1以上を処理対象に選択する画像処理を定める。データを変更する画像処理は、データを編集する画像処理、フォーマットを変更する画像処理を含む。
また、ジョブ実行部55は、原稿読取ジョブ、画像形成ジョブ、データ送受信ジョブ、ファクシミリ送受信ジョブおよびデータ管理ジョブのうち2以上を組み合わせたジョブを実行可能である。例えば、原稿読取ジョブと画像形成ジョブとを組み合わせることにより、原稿を読み取ったデータの画像を形成する画像処理を定めるコピージョブになる。また、データ受信ジョブと画像形成ジョブとを組み合わせる場合、コンピューターから受信されるデータの画像を形成する画像処理を定めるプリントジョブになる。
ジョブ実行部55は、ジョブ受付部53から入力されるジョブを、状態通知部59に出力する。ジョブ実行部55は、ジョブ受付部53から入力される順にジョブを実行する。ジョブ実行部55は、ジョブを実行している間に、ジョブ受付部53から別の新たなジョブが入力される場合がある。ジョブ実行部55が並列して実行することのできるジョブの組み合わせと、ジョブ実行部55が並列して実行することのできないジョブの組み合わせとがある。2つのジョブを実行するために使用するハードウェア資源が同じ場合は、2つのジョブを並列で実行することができないが、2つのジョブで使用するハードウェア資源が異なる場合は、2つのジョブを並列で実行することができる。例えば、画像形成ジョブは、画像形成部140および給紙部150を使用し、原稿読取ジョブは、自動原稿搬送装置120および原稿読取部130を使用するため、画像形成ジョブと原稿読取ジョブとを並列で実行することができる。
ジョブ実行部55は、実行中の第1のジョブと、ジョブ受付部53から入力される第2のジョブとが、並列で実行可能ならば第1のジョブと第2のジョブとを並列で実行するが、並列で実行不可能ならば、受け付けられた順が後の第2のジョブを待ち行列に設定し、第1のジョブが終了した後に第2のジョブを実行する。
状態通知部59は、ジョブ実行部55がジョブで定められる画像処理を実行する状態をサーバー200に通知する。画像処理を実行するための状態は、装置状態と、ジョブ状態とを含む。状態通知部59は、装置状態通知部61と、ジョブ状態通知部63とを含む。装置状態通知部61は、装置状態を検出し、検出された装置状態をサーバー200に通知する。装置状態は、MFP100が備えるハードウェア資源の状態を示す。MFP100が備えるハードウェア資源は、自動原稿搬送装置120、原稿読取部130、画像形成部140、給紙部150、後処理部155、操作パネル160、通信I/F部112、HDD115、ファクシミリ部116および外部記憶装置117を含む。ハードウェア資源の状態は、画像処理を実行できない状態であり、ハードウェア資源に不具合が発生したエラー状態と、消耗品が欠品する欠品状態と、を含む。
具体的には、装置状態通知部61は、ハードウェア資源を監視しており、ハードウェア資源の一部に発生した不具合を検出する場合に、不具合の発生したハードウェア資源の資源特定情報を含む装置状態情報を生成し、ハードウェア資源が使用する消耗品の欠品を検出する場合に、欠品した消耗品を特定するための消耗品特定情報を含む装置状態情報を生成する。装置状態通知部61は、装置状態を検出することに応じて、装置状態をサーバー200に通知するために、通信I/F部112を制御して、装置状態を示す装置状態情報をサーバー200に送信する。また、装置状態通知部61は、装置状態情報を遠隔操作部57に出力する。
ジョブ状態通知部63は、ジョブ状態を検出し、検出されたジョブ状態をサーバー200に通知する。ジョブ状態は、MFP100が受け付けたジョブの状態を示す。ジョブ状態は、ジョブが終了する日時を示す。ジョブ状態通知部63は、ジョブ実行部55が実行中または実行する予定のジョブそれぞれが終了する時刻を予測し、予測された終了時刻を含むジョブ状態情報を生成する。また、ジョブ受付部53が受け付けるジョブは、終了時刻が指定された終了時刻設定ジョブを含む。ジョブ状態通知部63は、ジョブ受付部53が終了時刻設定ジョブを受け付ける場合、終了時刻設定ジョブに対して予測された終了時刻と終了時刻設定ジョブで設定されている終了時刻とを含むジョブ状態情報を生成する。ジョブ状態通知部63は、ジョブ実行部55にジョブが入力されることに応じてジョブ状態情報を生成し、ジョブ状態をサーバー200に通知するために、通信I/F部112を制御して、ジョブ状態を示すジョブ状態情報をサーバー200に送信する。また、ジョブ状態通知部63は、ジョブ状態情報を遠隔操作部57に出力する。
ここで、サーバー200の機能について説明する。図6は、サーバーが備えるCPUの機能の一例を示すブロック図である。図6に示す機能は、サーバー200が備えるCPU201がROM202、HDD205またはCD-ROM210に記憶された移動制御プログラムを実行することにより、CPU201により実現される機能である。移動制御プログラムは、画像処理プログラムの一部である。
図6を参照して、サーバー200が備えるCPU201は、状態取得部250と、対象装置決定部260と、代替装置決定部270と、移動制御部280と、代替指示部290と、を含む。状態取得部250は、MFP100,100Aそれぞれが画像処理を実行するための状態を取得する。状態取得部250は、装置状態取得部251と、ジョブ状態取得部253と、を含む。装置状態取得部251は、通信I/F部112を制御して、MFP100,100Aそれぞれに装置状態情報の送信を要求し、MFP100,100Aそれぞれが送信する装置状態情報を受信する。装置状態情報は、MFP100,100Aそれぞれの装置状態を示す情報である。装置状態取得部251は、装置状態情報を受信する場合、受信された装置状態情報と、装置状態情報を送信してきた装置を識別するための装置識別情報との組を対象装置決定部260に出力する。
ジョブ状態取得部253は、通信I/F部112を制御して、MFP100,100Aそれぞれにジョブ状態情報の送信を要求し、MFP100,100Aそれぞれが送信するジョブ状態情報を受信する。ジョブ状態情報は、MFP100,100Aそれぞれのジョブ状態を示す情報である。ジョブ状態取得部253は、ジョブ状態情報を受信する場合、受信されたジョブ状態情報と、そのジョブ状態情報を送信してきた装置を識別するための装置識別情報との組を対象装置決定部260に出力する。
対象装置決定部260は、配置される位置が固定される画像形成装置、ここでは、MFP100,100Aのうちから対象装置を決定する。対象装置決定部260は、ジョブを実行することのできない装置、または、ジョブの実行が遅延することが予測される装置を、対象装置として決定する。対象装置決定部260は、対象装置を決定する場合、対象装置を識別するための装置識別情報を代替指示部290に出力する。
対象装置決定部260は、機能判断部261と、負荷判断部263と、を含む。機能判断部261は、装置状態取得部251から入力される装置状態情報と装置識別情報との組に基づいて、MFP100,100Aそれぞれについて、その装置が実行可能な1以上の画像処理の少なくとも1つが実行不可能な状態か否かを判断する。機能判断部261は、装置状態情報が、ハードウェア資源に不具合が発生したエラー状態を示す場合、その装置状態情報と組になる装置識別情報で特定される装置を対象装置に決定する。また、対象装置を決定する場合、機能判断部261は、エラー状態に含まれる資源特定情報で特定されるハードウェア資源で実行される画像処理を特定する。そして、機能判断部261は、対象装置の装置識別情報と、特定された画像処理を識別するための処理識別情報との組を代替装置決定部270に出力する。
また、機能判断部261は、装置状態情報が、消耗品が欠品する欠品状態を示す場合、その装置状態情報と組になる装置識別情報で特定される装置を対象装置に決定する。また、対象装置を決定する場合、機能判断部261は、欠品状態に含まれる消耗品特定情報で特定される消耗品を使用する画像処理を特定する。そして、機能判断部261は、対象装置の装置識別情報と、特定された画像処理を識別するための処理識別情報との組を代替装置決定部270に出力する。
負荷判断部263は、ジョブ状態取得部253から入力される装置状態情報とジョブ状態情報との組に基づいて、MFP100,100Aそれぞれについて、所定時間以上の遅延が予測されるジョブが存在するか否かを判断する。ジョブ状態情報は、複数のジョブごとに、終了する予定の時刻を示す。負荷判断部263は、開始から終了までの実行時間が所定の時間以上のジョブが存在する場合、実行時間が所定の時間以上のジョブより後のジョブが遅延すると判断し、そのジョブ状態情報と組になる装置識別情報で特定される装置を対象装置に決定する。そして、負荷判断部263は、対象装置の装置識別情報を代替装置決定部270に出力する。
また、負荷判断部263は、ジョブ状態情報が、終了時刻設定ジョブであることを示すジョブについて、設定された終了時刻が、予測された終了時刻より後ならば、終了時刻設定ジョブが遅延すると判断し、そのジョブ状態情報と組になる装置識別情報で特定される装置を対象装置に決定する。また、対象装置を決定する場合、負荷判断部263は、対象装置の装置識別情報と、終了時刻設定ジョブで定められる画像処理を識別するための処理識別情報との組を代替装置決定部270に出力する。
代替装置決定部270は、機能判断部261から対象装置の装置識別情報と処理識別情報との組が入力される場合、自律走行可能な装置、ここでは、自走装置300,301,302のうちから1つを、対象装置に代わる代替装置に決定する。代替装置決定部270は、機能判断部261から対象装置の装置識別情報と処理識別情報との組が入力される場合、自走装置300,301,302のうちで対象装置が実行不可能な状態となった画像処理を少なくとも実行可能な装置を代替装置に決定する。代替装置決定部270は、負荷判断部263から対象装置の装置識別情報と処理識別情報との組、または、対象装置の装置識別情報が入力される場合、自走装置300,301,302のうち、対象装置で遅延することが予測されるジョブを少なくとも実行可能な装置を代替装置に決定する。
代替装置決定部270は、機能特定部271を含む。機能特定部271は、機能判断部261または負荷判断部263から対象装置の装置識別情報と処理識別情報との組が入力される場合、処理識別情報で識別される画像処理を実行するためのハードウェア資源を特定する。また、機能特定部271は、負荷判断部263から対象装置の装置識別情報が入力され、処理識別情報が入力されない場合、対象装置が備えるハードウェア資源と同じハードウェア資源を特定する。
代替装置決定部270は、自走装置300,301,302のうちで、機能特定部271により特定されたハードウェア資源を有する装置を代替装置に決定する。代替装置決定部270は、機能特定部271により特定されたハードウェア資源を有する装置が複数の場合、移動制御部280から自走装置300,301,302それぞれの現在位置を示す位置情報が入力されるので、自走装置300,301,302のうちで対象装置に最も近い装置を代替装置に決定する。また、自走装置300,301,302のうちで、既に別の装置の代替装置となっている装置を除外するのが好ましい。代替装置決定部270は、代替装置を決定する場合、代替装置の装置識別情報を代替指示部290に出力するとともに、移動指示を移動制御部280に出力する。移動指示は、対象装置の装置識別情報と、代替装置の装置識別情報と、を含む。
代替指示部290は、対象装置決定部260から対象装置の装置識別情報が入力される場合、代替装置決定部270から代替装置の装置識別情報が入力される。代替指示部290は、対象装置決定部260から対象装置の装置識別情報が入力される場合、対象装置に代替指令を送信する。代替指令は、代替装置にジョブの実行を代替させることを対象装置に指示する指令である。ここでは、MFP100が対象装置に決定され、自走装置300が代替装置に決定される場合を例に具体的に説明する。代替指示部290は、ネットワークI/F204を制御して、対象装置に決定されたMFP100に代替指令を送信する。代替指令は、代替装置に決定された自走装置300の装置識別情報を含む。
移動制御部280は、自走装置300,301,302それぞれの移動を制御する。移動制御部280は、位置検出部281を含む。位置検出部281は、ネットワークI/F204を制御して、自走装置300,301,302それぞれの現在位置を検出する。自走装置300,301,302それぞれが、検出した位置を示す位置情報をサーバー200に送信する場合、位置検出部281は、ネットワークI/F204が自走装置300,301,302それぞれから送信される位置情報を受信すると、位置情報を送信してきた装置の現在位置を検出する。また、位置検出部281は、所定時間間隔で、自走装置300,301,302それぞれに位置情報の送信を要求するようにしてもよい。この場合、位置検出部281は、自走装置300,301,302それぞれが要求に応じて返信する位置情報をネットワークI/F204が受信すると、位置情報を送信してきた装置の現在位置を検出する。位置検出部281は、自走装置300,301,302それぞれの現在位置を検出する場合、装置識別情報と位置情報との組を代替装置決定部270に出力する。
移動制御部280は、代替装置決定部270から移動指示が入力されることに応じて、移動指示に含まれる代替装置の装置識別情報で特定される代替装置に、移動を指令する。ここでは、MFP100が対象装置に決定され、自走装置300が代替装置に決定される場合を例に具体的に説明する。移動制御部280は、ネットワークI/F204を制御して、代替装置に決定された自走装置300に移動指令を送信する。移動指令は、対象装置に代わってジョブを実行するために、対象装置が配置された位置の近傍への移動を指示する指令である。移動指令は、対象装置に決定されたMFP100の装置識別情報を含む。
ここで、図5を再度参照して、MFP100が備えるCPU111が有する代替指示受付部51は、通信I/F部112がサーバー200から送信される代替指令を受信する場合、代替指令を遠隔操作部57に出力する。遠隔操作部57は、代替指示受付部51から代替指令が入力され、状態通知部59から装置状態情報またはジョブ状態情報が入力される。遠隔操作部57は、代替指令が入力されることに応じて、代替指令に含まれる装置識別情報で特定される装置を代替装置に決定し、代替装置を遠隔操作する。具体的には、遠隔操作部57は、通信I/F部112を制御して、代替装置との間で通信経路を確立し、ジョブ受付部53により受け付けられたジョブを代替装置に実行させるための指令を送信する。遠隔操作部57は、代替指示受付部51から代替指令が入力されることに応じて、代替装置に通信経路の確立要求を送信し、代替装置との間で通信経路を確立するようにしてもよいし、遠隔操作部57は、代替指示受付部51から代替指令が入力された後に、代替装置から通信経路の確立要求を受信することに応じて、代替装置との間で通信経路を確立するようにしてもよい。
遠隔操作部57は、代替指示受付部51から代替指令が入力される段階で、状態通知部59から装置状態情報が入力されている場合、代替装置との間で通信経路が確立されてから、装置状態情報で特定される不具合が解消されるまで、代替装置を遠隔操作する。例えば、装置状態情報に資源特定情報が含まれる場合、遠隔操作部57は、装置状態情報に含まれる資源特定情報で特定されるハードウェア資源の不具合が解消されるまで、代替装置を遠隔操作する。また、装置状態情報に消耗品特定情報が含まれる場合、遠隔操作部57は、装置状態情報に含まれる消耗品特定情報で特定される消耗品が補充されるまで、代替装置を遠隔操作する。遠隔操作部57は、代替指示受付部51から代替指令が入力される段階で、状態通知部59から装置状態情報が入力されている場合は、ジョブ受付部53により受け付けられたジョブであって、ジョブ実行部55により実行されていないジョブを、代替装置に実行させるために、そのジョブの実行を依頼する指令を代替装置に通信I/F部112を介して送信する。遠隔操作部57は、資源特定情報で特定されるハードウェア資源の不具合が解消される場合、または、消耗品特定情報で特定される消耗品が補充される場合、代替装置との間で確立した通信経路を切断する。
また、遠隔操作部57は、代替指示受付部51から代替指令が入力される段階で、状態通知部59からジョブ状態情報が入力されている場合、代替装置との間で通信経路が確立されてから、ジョブの遅延が解消されるまで、代替装置を遠隔操作する。遠隔操作部57は、代替指示受付部51から代替指令が入力される段階で、ジョブ受付部53により受け付けられたジョブのうちに終了時刻設定ジョブが存在する場合、終了時刻設定ジョブを、代替装置に実行させるために、終了時刻設定ジョブの実行を依頼する指令を代替装置に通信I/F部112を介して送信する。また、遠隔操作部57は、代替指示受付部51から代替指令が入力される段階で、ジョブ受付部53により受け付けられたジョブのうちに開始から終了までの実行時間が所定の時間以上のジョブが存在する場合、実行時間が所定の時間以上のジョブより後のジョブを、代替装置に実行させるために、実行時間が所定の時間以上のジョブより後のジョブの実行を依頼する指令を代替装置に通信I/F部112を介して送信する。遠隔操作部57は、終了時刻設定ジョブまたは実行時間が所定の時間以上のジョブより後のジョブが代替装置により実行されると、代替装置との間で確立した通信経路を切断する。
図7は、自走装置が備えるCPUの機能の一例を示すブロック図である。図7に示す機能は、自走装置300が備えるCPU111AがROM113、HDD115またはCD-ROM118に記憶された自走装置制御プログラムを実行することにより、CPU111Aにより実現される機能である。自走装置制御プログラムは、画像処理プログラムの一部である。
図7を参照して、自走装置300が備えるCPU111Aは、移動指示受付部351と、ジョブ受付部353と、ジョブ実行部355と、移動制御部357と、位置情報送信部359と、を含む。
ジョブ受付部353は、ジョブ実行部355が実行するためのジョブを受け付ける。ジョブ受付部353は、表示部161に設定画面を表示し、ユーザーが設定画面に従って操作部163に操作を入力する場合に、ジョブを受け付ける。また、ジョブ受付部353は、無線通信部112Aが、ネットワーク3を介して接続されるコンピューターからジョブを受信する場合に、受信されたジョブを受け付ける。ジョブ受付部353は、ジョブを受け付けることに応じて、受け付けられたジョブの実行をジョブ実行部355に指示する。
ジョブ実行部355は、ジョブ受付部353から入力されるジョブを実行する。具体的には、ジョブ実行部355は、ジョブで定められた画像処理を実行する。ジョブ実行部355が実行可能なジョブは、原稿読取ジョブ、画像形成ジョブ、データ送受信ジョブ、およびデータ管理ジョブを含む。なお、ジョブ実行部355が実行可能な処理は、これらに限定されることなく、より少なくてもよいし、より多くの種類の処理を含んでもよい。
移動指示受付部351は、無線通信部112Aがサーバー200から送信される移動指令を受信する場合、移動指令をジョブ受付部353および移動制御部357に出力する。
ジョブ受付部353は、遠隔制御部361を含む。遠隔制御部361は、移動指示受付部351から移動指令が入力されることに応じて、移動指令に含まれる装置識別情報で特定される装置によって遠隔制御される。ここでは、移動指令にMFP100の装置識別情報が含まれる場合を例に具体的に説明する。遠隔制御部361は、移動指令が入力されることに応じて、無線通信部112Aを制御して、移動指令に含まれる装置識別情報で特定されるMFP100との間で通信経路を確立する。通信経路が確立されると、MFP100は、ジョブを送信する場合がある。無線通信部112AがMFP100からジョブを受信する場合、受信されたジョブをジョブ実行部355に出力し、ジョブ実行部355にジョブを実行させる。
遠隔制御部361は、MFP100との間で通信経路が確立されている間、MFP100から入力されるジョブをジョブ実行部355に実行させる。ジョブ受付部353は、移動指示受付部351から移動指令が入力されてから、MFP100との間で確立された通信経路が切断されるまでの間は、無線通信部112AがMFP100から受信するジョブを受け付けるが、無線通信部112AがMFP100以外の装置、例えば、ネットワーク3に接続されたコンピューターから受信するジョブを受け付けない。ただし、ジョブ受付部353は、ユーザーが操作部163に入力するジョブを受け付ける。
移動制御部357は、移動指示受付部351から移動指令が入力されることに応じて、自走装置300を移動指令に含まれる装置識別情報で特定されるMFP100が配置された位置から所定の範囲内に移動させる。具体的には、移動制御部357は、移動指令に含まれる装置識別情報で特定されるMFP100から所定の範囲内を目的地に設定し、HDD115に記憶された地図データに基づいて、現在位置から目的地までの経路を探索し、走行装置180を制御して、探索した経路に沿った移動を指示する。これにより、自走装置300が、MFP100が配置された位置の近傍に移動する。
位置情報送信部359は、所定時間間隔で、現在位置を取得するために位置センサー119を制御し、位置センサー119により測定された現在位置を示す値を含む位置情報をサーバー200に送信するために、無線通信部112Aを制御する。
図8は、画像処理システムにおける情報の流れの一例を示す図である。図8においては、上から下に時間音流れを示し、左から順に固定装置であるMFP100、サーバー200および自走装置300それぞれの処理を示している。図8を参照して、自走装置300が、現在位置を示す位置情報をサーバー200に送信する。ここでは、自走装置300を例に示しているが、他の自走装置301,302についても同様に、現在位置を示す位置情報をサーバー200に送信する。したがって、サーバー200は、自走装置300,301,302それぞれの位置を常に検出する。
一方、MFP100は、状態情報をサーバー200に送信する。MFP100が画像処理を実行するための状態を示す状態情報を、サーバー200に送信する。他のMFP100Aにおいても同様に、画像処理を実行するための状態を示す状態情報を、サーバー200に送信する。このため、サーバー200は、MFP100,100Aそれぞれについて、画像処理を実行するための状態を常に検出する。画像処理を実行するための状態は、ハードウェア資源の不具合を示す装置状態情報と、ジョブの遅延が予想させるジョブ状態情報とを含む。
そして、サーバー200は、MFP100から受信された状態情報に基づいて、MFP100において、画像処理を実行することができなくなる状態またはジョブが遅延する状態を検出する場合、MFP100に代わってジョブを実行可能な代替装置を決定する。ここでは、自走装置300を代替装置に決定する場合を例に示している。この場合、サーバー200は、自走装置300に移動指令を送信するとともに、MFP100に代替指令を送信する。移動指令を受信する自走装置300は、移動指令に含まれる装置識別情報からMFP100を特定し、MFP100が配置された位置から所定の範囲内に移動を開始する。
代替指令を受信するMFP100は、代替指令に含まれる装置識別情報から自走装置300を特定し、自走装置300との間で通信経路を確立する。そして、実行することができないジョブ、終了時刻設定ジョブで設定されている終了時刻までに終了できない終了時刻設定ジョブ、または、実行時間が所定時間以上のジョブの後に実行されるジョブを、自走装置300に送信し、自走装置300にジョブを実行させる。これにより、MFP100においてハードウェア資源の故障または消耗品の欠品により実行することができないジョブが発生する場合に、MFP100に投入されたが実行されないジョブ、または所定時間以上遅延するジョブが自走装置300で実行される。このため、ユーザーは、MFP100を操作するためにMFP100に近づいた場合に、MFP100が故障している状態、または、MFP100の負荷が大きく後続のジョブを開始するまで所定の時間が必要な状態の場合であっても、MFP100の近傍に移動してきた自走装置300にジョブを実行させることができるので、自走装置300がジョブを実行して出力される印刷物を取得することができる。
図9は、第1の実施の形態における固定装置制御処理の流れの一例を示すフローチャートである。固定装置制御処理は、MFP100が備えるCPU111が、ROM113、HDD115またはCD-ROM118に記憶された固定装置制御プログラムを実行することにより、CPU111により実行される処理である。固定装置制御プログラムは、画像処理プログラムの一部である。図9を参照して、MFP100が備えるCPU111は、ジョブを受け付けたか否かを判断する(ステップS01)。ジョブを受け付けたならば処理をステップS02に進めるが、そうでなければ処理をステップS04に進める。ここで受け付けるジョブは、ユーザーが操作部163に入力する操作に従って定まるジョブの他、通信I/F部112がコンピューターから受信するジョブ、ファクシミリ部116が別のファクシミリ装置から受信するファクシミリデータをプリントするジョブを含む。
次のステップS02においては、ジョブ状態決定処理を実行し、処理をステップS03に進める。ジョブ状態決定処理の詳細は後述するが、ステップS01においてジョブが受け付けられることにより、そのジョブまたは他のジョブに遅延が発生するか否かを判断する処理である。次のステップS03においては、ステップS01において受け付けられたジョブを待ち行列に追加し、処理をステップS04に進める。
ステップS04においては、装置状態決定処理を実行し、処理をステップS03に進める。装置状態決定処理の詳細は後述するが、MFP100のハードウェア資源の状態を決定する処理である。ハードウェア資源の状態は、ハードウェア資源の状態と、消耗品の状態とを含む。ハードウェア資源の状態は、ハードウェア資源が正常な状態と異常なエラー状態とのいずれかを示す。消耗品の状態は、消耗品が欠品していない状態と、欠品している欠品状態とのいずれかを示す。装置状態決定処理に置いて、エラー状態または欠品状態が決定される場合、状態フラグがエラーに設定される。
次のステップS05においては、代替指令を受信したか否かを判断する。通信I/F部112がサーバー200から代替指令を受信したならば処理をステップS06に進めるが、そうでなければ処理をステップS08に進める。代替指令は、代替装置を識別するための装置識別情報を含む。ここでは、代替指令が、自走装置300の装置識別情報を含む場合を例に説明する。
ステップS06においては、代替装置と通信経路を確立する。通信I/F部112を制御して、代替装置である自走装置300との間で通信経路を確立する。そして、動作モードを代替モードに切り換え(ステップS07)、処理をステップS08に進める。動作モードは、単独モードと代替モードとのいずれかに設定され、代替装置と通信経路を確立している間、代替モードに設定され、代替装置と通信経路を確立していない間は、単独モードに設定される。
ステップS08においては、動作モードによって処理を分岐させる。動作モードが単独モードに設定されているならば処理をステップS09に進め、動作モードが代替モードに設定されているならば処理をステップS13に進める。ステップS13においては、ジョブ代替処理を実行し、処理をステップS01に戻す。ジョブ代替処理の詳細は後述する。
ステップS09においては、状態フラグが正常に設定されているか否かを判断する。動作モードは、ステップS04において実行される装置状態決定処理において、正常およびエラーのいずれかに設定される。状態フラグが正常に設定されているならば処理をステップS10に進めるが、そうでなければ処理をステップS01に戻す。状態フラグがエラーに設定されている場合には、ジョブを実行することができないからである。
ステップS10においては、ジョブを実行中か否かを判断する。ジョブが実行中ならば処理をステップS11に進めるが、そうでなければ処理をステップS01に戻す。ステップS11においては、待機ジョブが存在するか否かを判断する。ステップS03において待ち行列に追加されたジョブが待機ジョブである。待機ジョブが存在するならば処理をステップS12に進めるが、そうでなければ処理をステップS01に戻す。ステップS12においては、最も先に待ち行列に追加されたジョブを実行し、処理をステップS01に戻す。これにより、MFP100に投入されたジョブを、投入された順に実行することができる。なお、複数のジョブを並列で実行することができる場合がある。例えば、プリントデータの画像を形成するプリントジョブを実行している間に、原稿を読み取るスキャンジョブを実行できる場合がある。したがって、待機ジョブがスキャンジョブの場合には、ステップS10においてプリントジョブが実行されていると判断される場合であっても、処理をステップS12に進めて、スキャンジョブを実行するようにすればよい。
なお、本実施の形態においては、状態フラグがエラーの場合には、MFP100でジョブを実行しないようにしたが、ハードウェア資源の一部がエラーの場合には、正常に動作するハードウェア資源が存在する場合がある。この場合には、正常に動作するハードウェア資源を用いるジョブを実行することができるので、正常に動作するハードウェア資源を用いるジョブを実行する場合には処理をステップS10に進めるようにしてもよい。また、ジョブのうち正常に動作するハードウェア資源を用いる部分をMFP100で実行し、ジョブの残りの部分を代替装置である自走装置300に実行させるようにしてもよい。例えば、ジョブが、コピージョブの場合には、MFP100で原稿を読み取る原稿読取処理を実行し、原稿を読み取って得られるデータを自走装置300に送信し、自走装置300にデータの画像を形成する画像形成処理を実行させる。
図10は、第1の実施の形態におけるジョブ状態決定処理の流れの一例を示すフローチャートである。ジョブ状態決定処理は、図9のステップS02において実行される処理である。ジョブ状態決定処理が実行される前の段階で、ジョブが受け付けられている(ステップS01)。ジョブ状態決定処理においては、ステップS01において受け付けられたジョブを処理対象とする。ここでは、処理対象のジョブを受付ジョブという。図10を参照して、CPU111は、受付ジョブが終了する時刻を予測し、処理をステップS22に進める。実行中のジョブが終了する時刻と、待ち行列に追加されている待機ジョブそれぞれの実行時間と、受付ジョブの実行時間と、をそれぞれ予測し、受付ジョブが終了する時刻を予測する。
ステップS22においては、受付ジョブが、終了時刻として設定時刻が設定された終了時刻設定ジョブか否かを判断する。受付ジョブに終了時刻が設定されているならば処理をステップS23に進めるが、そうでなければ処理をステップS24に進める。ステップS23においては、受付ジョブに設定されている設定時刻が、ステップS21において予測された終了時刻より後か否かを判断する。設定時刻が終了時刻より後ならば処理をステップS25に進めるが、そうでなければ処理をステップS24に進める。ステップS24においては、遅延フラグが設定されているか否かを判断する。遅延フラグは、後述するステップS30において設定され、長時間ジョブが受け付けられた場合に遅延フラグが設定される。遅延フラグが設定されていれば処理をステップS25に進めるが、そうでなければ処理をステップS28に進める。
ステップS25においては、受付ジョブを対象ジョブに設定し、処理をステップS26に進める。このため、受付ジョブが、終了時刻設定ジョブでかつ、設定時刻が予測された終了時刻より後の場合、または、受付ジョブが長時間ジョブより後に受け付けられるジョブの場合に、受付ジョブが対象ジョブに設定される。
ステップS26においては、ジョブ状態情報を生成し、処理をステップS27に進める。対象ジョブに設定された受付ジョブを識別するためのジョブ識別情報と、ステップS21において予測された終了時刻とを含むジョブ状態情報を生成する。また、対象上部に設定された受付ジョブが終了時刻設定ジョブの場合には、ジョブ識別情報と終了時刻に加えて設定時刻を含むジョブ状態情報を生成する。そして、サーバー200にジョブ状態情報を送信し(ステップS27)、処理をステップS28に進める。通信I/F部112を制御して、ジョブ状態情報をサーバー200に送信する。
ステップS28においては、実行時間がしきい値TH以上か中を判断する、実行時間は、受付ジョブを開始してから終了するまでの時間を予測した時間である。実行時間がしきい値TH以上ならば処理をステップS29に進めるが、そうでなければ処理を固定装置制御処理に戻す。ステップS29においては、受付ジョブを長時間ジョブに設定し、処理をステップS30に進める。ステップS30においては、遅延フラグを設定し、処理を固定装置制御処理に戻す。長時間ジョブは、対象ジョブに設定される場合と、対象ジョブに設定されない場合とがある。また、長時間ジョブが受け付けられると、遅延フラグが設定されるので、長時間ジョブより後に受け付けられるジョブが対象ジョブに設定される。
図11は、第1の実施の形態における装置状態決定処理の流れの一例を示すフローチャートである。装置状態決定処理は、図9のステップS04において実行される処理である。図11を参照して、ハードウェア資源にエラーが発生しているか否かを判断する。ハードウェア資源にエラーが発生しているならば処理をステップS33に進めるが、そうでなければ処理をステップS32に進める。ステップS32においては、消耗品が欠品しているか否かを判断する。消耗品が欠品しているならば処理をステップS33に進めるが、そうでなければ処理をステップS36に進める。ステップS36においては、状態フラグを正常に設定し、処理を固定装置制御処理に戻す。
ステップS33においては、状態フラグをエラーに設定し、処理をステップS34に進める。したがって、少なくとも、ハードウェア資源にエラーが発生している状態、または、消耗品が欠品している状態で、状態フラグがエラーに設定され、ハードウェア資源にエラーが発生していない状態、かつ、消耗品が欠品していない状態で、状態フラグが正常に設定される。
ステップS34においては、装置状態情報を生成し、処理をステップS35に進める。ステップS31において、ハードウェア資源にエラーが発生していると判断される場合には、エラーが発生しているハードウェア資源を特定するための資源特定情報を含む装置状態情報を生成し、ステップS32において、消耗品が欠品していると判断される場合には、欠品している消耗品を特定するための消耗品特定情報を含む装置状態情報を生成する。そして、サーバー200に装置状態情報を送信し(ステップS35)、処理を固定装置制御処理に戻す。通信I/F部112を制御して、装置状態情報をサーバー200に送信する。
図12は、ジョブ代替処理の流れの一例を示すフローチャートである。ジョブ代替処理は、図9のステップS13において実行される処理である。ジョブ代替処理が実行される前の段階で、サーバー200から代替指令が受信されており(ステップS05)、代替装置との間で通信経路が確立されている(ステップS06)。ここでは、代替指令に代替装置として自走装置300の装置識別情報が含まれており、自走装置300との間で通信経路が確立されている場合を例に説明する。
図12を参照して、CPU111は、待機ジョブが存在するか否かを判断する(ステップS41)。待機ジョブが存在するならば処理をステップS42に進めるが、待機ジョブが存在しなければ処理をステップS46に進める。
ステップS42においては、待機ジョブが対象ジョブに設定されているか否かを判断する。待機ジョブが複数の場合には、最も先に待ち行列に追加された待機ジョブを処理対象とし、処理対象の待機ジョブが対象ジョブに設定されているか否かを判断する。待機ジョブが対象ジョブに設定されているならば処理をステップS44に進めるが、そうでなければ処理をステップS43に進める。ステップS43においては、状態フラグが正常に設定されているか否かを判断する。状態フラグが正常に設定されているならば処理をステップS45進めるが、そうでなければ処理をステップS44に進める。
ステップS44においては、待機ジョブを代替装置に送信し、処理をステップS49に進める。具体的には、通信I/F部112を制御して、待機ジョブを代替装置である自走装置300に送信する。これにより、自走装置300によって、待機ジョブが実行される。
処理がステップS45に進む場合は、待機ジョブが対象ジョブでなく、状態フラグが正常に設定されている場合である。この場合には、ハードウェア資源にエラーが発生しておらず、かつ、消耗品が欠品しておらず、さらに、待機ジョブに遅延が発生していない場合である。したがって、ステップS45においては、待機ジョブを実行し、処理をステップS49に進める。
ステップS49においては、長時間ジョブが終了しているか否かを判断する。長時間ジョブは、対象ジョブに設定されていない場合、ステップS45において実行される。その長時間ジョブが実行されて終了しているならば処理をステップS50に進めるが、そうでなければ処理を固定装置制御処理に戻す。ステップS50においては、遅延フラグを解除して処理を固定装置制御処理に戻す。長時間ジョブが終了した後は、その後に受け付けられるジョブに遅延が発生しないことが予測されるので、遅延フラグを解除して、長時間ジョブが終了した後に受け付けられるジョブが対象ジョブに設定されないようにするためである。なお、長時間ジョブは、対象ジョブに設定されない場合、ハードウェア資源にエラーが発生しない場合、または、消耗品が欠品しない場合は、MFP100で実行されるが、ハードウェア資源にエラーが発生している場合、または、消耗品が欠品している場合は、ステップS44において、長時間ジョブが代替装置である自走装置300に送信され、自走装置300によって実行される場合がある。
一方、ステップS41において、待機ジョブが存在しないと判断される場合、ステップS46において、状態フラグが正常に設定されているか否かを判断する。状態フラグが正常に設定されているならば処理をステップS47に進めるが、そうでなければ処理を固定装置制御処理に戻す。
ステップS47においては、動作モードを単独モードに切り換え、処理をステップS48に進める。ステップS48においては、代替装置である自走装置300との間で確立された通信経路を切断し、処理をステップS49に進める。状態フラグが正常に設定される場合、ハードウェア資源に発生していたエラーが解消する場合、または、欠品していた消耗品が補充された場合である。処理がステップS47に進む場合は、待機ジョブが存在していない状態であり、遅延するジョブが存在せず、かつ、MFP100がジョブを実行可能な状態だからである。また、代替装置である自走装置300との間で確立された通信経路を切断することにより、自走装置300において、MFP100に代わってジョブを実行する必要がなくなったことを検出することができる。
図13は、移動制御処理の流れの一例を示すフローチャートである。移動制御処理は、サーバー200が備えるCPU201がROM202、HDD205またはCD-ROM210に記憶された移動制御プログラムを実行することにより、CPU201により実行される処理である。移動制御プログラムは、画像処理プログラムの一部である。図13を参照して、サーバー200が備えるCPU201は、位置情報を受信したか否かを判断する(ステップS201)。具体的には、CPU201は、ネットワークI/F204が、自走装置300,301,302のいずれかから位置情報を受信したか否かを判断する。位置情報を受信したならば処理をステップS202に進めるが、そうでなければ処理をステップS204に進める。ここでは、自走装置300から位置情報を受信する場合を例に説明する。
ステップS202においては、位置情報を送信してきた装置を特定する。ここでは、自走装置300が位置情報を送信してくるので、自走装置300を特定する。そして、特定された自走装置300の位置を記憶し(ステップS203)、処理をステップS204に進める。位置情報と自走装置300の装置識別情報とを関連付けて、HDD205に記憶する。
ステップS204においては、装置状態情報を受信したか否かを判断する。具体的には、CPU201は、ネットワークI/F204が、固定装置であるMFP100,100Aのいずれかから装置状態情報を受信したか否かを判断する。装置状態情報を受信したならば処理をステップS205に進めるが、そうでなければ処理をステップS206に進める。ここでは、MFP100から装置状態情報を受信する場合を例に説明する。次のステップS205においては、機能判断処理を実行し、処理をステップS208に進める。機能判断処理の詳細は後述するが、装置状態情報を送信してきたMFP100が実行できない状態の画像処理を決定する処理である。
ステップS206においては、ジョブ状態情報を受信したか否かを判断する。具体的には、CPU201は、ネットワークI/F204が、固定装置であるMFP100,100Aのいずれかからジョブ状態情報を受信したか否かを判断する。ジョブ状態情報を受信したならば処理をステップS207に進めるが、そうでなければ処理をステップS201に戻す。ここでは、MFP100からジョブ状態情報を受信する場合を例に説明する。次のステップS207においては、負荷判断処理を実行し、処理をステップS208に進める。負荷判断処理の詳細は後述するが、装置状態情報を送信してきたMFP100に置いて遅延するジョブで定められた画像処理を決定する処理である。
ステップS208においては、固定装置であるMFP100,100Aのうちから対象装置を決定する。具体的には、処理がステップS205から進む場合には、ステップS204において受信された装置状態情報を送信してきた装置を対象装置に決定する。また、処理がステップS207から進む場合には、ステップS206において受信されたジョブ状態情報を送信してきた装置を対象装置に決定する。
ステップS209においては、自走装置300,301,302のうちから、ステップS205において実行される機能判断処理により決定される画像処理、または、ステップS207において実行される負荷判断処理により決定される画像処理を実行可能な自走装置を候補に決定する。ここでは、自走装置300,301,302それぞれが候補に決定される場合を例に説明する。
ステップS210においては、複数の候補のうちからMFP100に最も近い候補を代替装置に決定する。自走装置300,301,302それぞれの位置情報が、ステップS203においてHDD205に記憶されているので、その位置情報を用いて、MFP100に最も近い装置を決定する。ここでは、自走装置300がMFP100に最も近い場合を例に説明する。
ステップS211においては、対象装置に決定されたMFP100に代替指令を送信し、処理をステップS212に進める。ネットワークI/F204を制御して、MFP100に代替指令を送信する。代替指令は、ステップS210において代替装置に決定された自走装置300の装置識別情報を含む。
ステップS212においては、代替装置に決定された自走装置300に移動指令を送信し、処理をステップS201に戻す。ネットワークI/F204を制御して、自走装置300に移動指令を送信する。移動指令は、ステップS208において対象装置に決定されたMFP100の装置識別情報を含む。
図14は、機能判断処理の流れの一例を示すフローチャートである。機能判断処理は、図13のステップS205において実行される処理である。機能判断処理が実行される前の段階で、装置状態情報が受信されている。ここでは、MFP100から装置状態情報が受信される場合を例に説明する。図14を参照して、CPU201は、装置状態情報に基づいて、MFP100がエラー状態か否かを判断する。装置状態情報が資源特定情報を含む場合、エラー状態と判断する。MFP100がエラー状態と判断する場合、処理をステップS223に進めるが、そうでなければ処理をステップS222に進める。
ステップS222においては、装置状態情報に基づいて、MFP100が欠品状態か否かを判断する。装置状態情報が消耗品特定情報を含む場合、欠品状態と判断する。MFP100が欠品状態と判断する場合、処理をステップS223に進めるが、そうでなければ処理を移動制御処理に戻す。
ステップS223においては、不具合の発生しているハードウェア資源を決定し、処理をステップS224に進める。処理がステップS221から進む場合、装置状態情報に含まれる資源特定情報で識別されるハードウェア資源を決定する。処理がステップS222から進む場合、装置状態情報に含まれる消耗品特定情報で識別される消耗品を用いるハードウェア資源を決定する。
ステップS224においては、ステップS223において決定されたハードウェア資源で実行される画像処理を決定し、処理を移動制御処理に戻す。
図15は、負荷判断処理の流れの一例を示すフローチャートである。負荷判断処理は、図13のステップS207において実行される処理である。負荷判断処理が実行される前の段階で、ジョブ状態情報が受信されている。ここでは、MFP100からジョブ状態情報が受信される場合を例に説明する。図15を参照して、CPU201は、ジョブ状態情報が設定時刻と終了時刻とを含み、設定時刻が終了時刻より後か否かを判断する。設定時刻が終了時刻より後ならば処理をステップS232に進めるが、そうでなければ処理をステップS233に進める。
ステップS233においては、ジョブ状態情報で特定されるジョブの実行時間がしきい値TH以上か否かを判断する。実行時間がしきい値TH以上ならば処理をステップS234に進めるが、そうでなければ処理を移動制御処理に戻す。ステップS234においては、ハードウェア資源を決定し、処理をステップS232に進める。ジョブ状態情報を送信してきた装置、ここでは、MFP100が備えるハードウェア資源を決定する。
ステップS232においては、画像処理を決定し、処理を移動制御処理に戻す。処理がステップS231から進む場合、終了時刻設定ジョブで定められた画像処理を決定する。処理がステップS234から進む場合、ステップS234において決定されたハードウェア資源で実行される画像処理を決定する。
図16は、自走装置制御処理の流れの一例を示すフローチャートである。自走装置制御処理は、自走装置300が備えるCPU111AがROM113、HDD115またはCD-ROM118に記憶された自走装置制御プログラムを実行することにより、CPU111Aにより実現される機能である。自走装置制御プログラムは、画像処理プログラムの一部である。図16を参照して、自走装置300が備えるCPU111Aは、位置情報を送信してから所定時間経過したか否かを判断する(ステップS301)。位置情報を送信してから所定時間が経過したならば処理をステップS302に進めるが、そうでなければ処理をステップS304に進める。所定時間は、位置情報を送信する間隔として、予め定めておけばよい。
ステップS302においては、現在位置を検出し、処理をステップS303に進める。位置センサー119を制御して、現在位置を検出する。ステップS303においては、サーバー200に現在位置を示す位置情報を送信し、処理をステップS304に進める。無線通信部112Aを制御して、サーバー200に位置情報を送信する。
ステップS304においては、サーバー200から移動指令を受信したか否かを判断する。無線通信部112Aを制御して、サーバー200から移動指令を受信する場合、処理をステップS305に進めるが、そうでなければ処理をステップS308に進める。移動指令は、対象装置の装置識別情報を含む。ここでは、MFP100の装置識別情報を含む移動指令を受信する場合を例に説明する。
ステップS305においては、移動指令に従った移動を開始する。移動指令に含まれる装置識別情報で特定されるMFP100を決定し、MFP100から所定の範囲内の位置を目的地として移動する。具体的には、MFP100から所定の範囲内の位置を目的地に設定し、HDD115に記憶された地図データに基づいて、現在位置から目的地までの経路を探索し、走行装置180を制御して、探索した経路に沿った移動を開始する。
ステップS306においては、無線通信部112Aを制御して、対象装置であるMFP100との間で通信経路を確立し、処理をステップS307に進める。そして、動作モードを代理モードに設定し(ステップS307)、処理をステップS314に進める。
一方、ステップS308においては、操作パネル160からジョブが入力されたか否かを判断する。ユーザーが操作部163を操作してジョブを入力する場合、操作パネル160からジョブが入力される。操作パネル160から入力されるジョブを受け付ける場合、処理をステップS312に進めるが、そうでなければ処理をステップS309に進める。ステップS312においては、操作部163が受け付けたジョブを待ち行列に追加し、処理をステップS314に進める。
ステップS309においては、無線通信部112Aがジョブを受信したか否かを判断する。ジョブを受信したならば処理をステップS310に進めるが、そうでなければ処理をステップS314に進める。ステップS310においては、動作モードが代理モードか否かを判断する。動作モードが代理モードならば処理をステップS311に進めるが、そうでなければ処理をステップS313に進める。
ステップS311においては、ジョブの送信元が対象装置か否かを判断する。ここでは、MFP100を対象装置としているので、MFP100からジョブを受信する場合は処理をステップS312に進めるが、そうでなければ処理をステップS313に進める。ステップS312においては、受信されたジョブを待ち行列に追加し、処理をステップS314に進める。ステップS313においては、エラー処理を実行し、処理をステップS314に進める。エラー処理は、例えば、ジョブの送信元に、ジョブを実行できないことを通知する処理である。
ステップS314においては、待機ジョブが存在するか否かを判断する。待機ジョブが存在するならば処理をステップS315に進めるが、待機ジョブが存在しなければ処理をステップS301に戻す。ステップS315においては、待機ジョブを実行し、処理をステップS316に進める。ステップS316においては、動作モードが代理モードか否かを判断する。動作モードが代理モードに設定されているならば処理をステップS317に進めるが、そうでなければ処理をステップS301に戻す。
ステップS317においては、ステップS306において確立された通信経路が切断されたか否かを判断する。通信経路が切断されているならば処理をステップS318に進めるが、そうでなければ処理をステップS301に戻す。ステップS318においては、動作モードを通常モードに設定し、処理をステップS319に進める。ステップS319においては、デフォルトで定められた位置に移動し、処理をステップS301に戻す。自走装置300のデフォルト位置を予め定めておけばよい。また、デフォルト位置が定められていない場合には、次に移動指示がサーバー200から受信されるまで、移動しないようにしてもよい。また、ユーザーが操作部163に移動を指示する操作を入力する場合には、その操作に従って移動するようにしてもよい。
上述したように、MFP100は、画像処理を実行できない状態から回復する場合、または、ジョブの遅延が解消する場合に、代替装置である自走装置300との間で確立された通信経路を切断するので、自走装置300は、通信経路が切断されることに応じて、動作モードを代理モードから通常モードに切り換える。これにより、自走装置300が、MFP100に代わってジョブを実行する代替装置の状態が継続するのを解消することができる。
以上説明したように、第1の実施の形態におけるサーバー200は、管理装置として機能し、MFP100,100Aのうち、画像処理が遅延する状態の装置、例えば、MFP100を対象装置に決定し、MFP100が対象装置として決定される場合、自走装置300,301,302のうちからMFP100に代わる代替装置を決定する。例えば、自走装置300を代替装置に決定する場合、自走装置300をMFP100から所定の範囲内に移動させるために自走装置300に指令を送信する。このため、MFP100における画像処理が遅延する場合に、ユーザーはMFP100の代わりに近傍に移動してきた自走装置300を使用することができる。このため、画像処理を指示するユーザーの移動時間が無駄になるのを防止することができる。また、MFP100にプリントジョブを送信する場合に、自走装置300でそのプリントジョブが実行されるので、MFP100の近傍に起動してきた自走装置300でプリントジョブを実行して出力される用紙を取得することができる。
また、MFP100が備えるハードウェア資源でエラーが発生する場合に、画像処理が実行不可能な状態と判断するので、MFP100に実行させる予定の画像処理をMFP100が実行できない場合であっても自走装置300に実行させることができる。
また、自走装置300,301,302のうちMFP100が実行不可能な状態となった画像処理を少なくとも実行可能な自走装置300を代替装置に決定するので、MFP100で実行不可能な状態となった画像処理を自走装置300に実行させることができる。
また、MFP100で受け付けられたジョブが所定時間以上遅延する状態が予測される場合に、自走装置300がMFP100から所定の範囲内に移動するので、MFP100におけるジョブの遅延を解消することができる。また、MFP100を操作擦るユーザーの待ち時間を短くすることができる。
また、MFP100で終了時刻設定ジョブを終了時刻までに終了できない状態が予測される場合に、自走装置300がMFP100から所定の範囲内に移動し、自走装置300に終了時刻設定ジョブを実行させる。このため、終了時刻設定ジョブを、それにより定められた終了時刻までに実行することができる。また、終了時刻設定ジョブの実行をMFP100に指示したユーザーは、MFP100に移動した時点で、自走装置300がMFP100から所定の範囲内に位置するので、終了時刻設定ジョブを実行した結果出力される用紙を手にするための移動距離を短くすることができる。
また、MFP100において、自走装置300にジョブを実行させたことをユーザーに通知するためのメッセージを、MFP100の表示部161に表示するようにしてもよい。この場合、ユーザーは、MFP100にジョブの出力結果を取りに移動した場合に、自走装置300で出力されたことを知ることができる。
また、MFP100で実行時間が所定時間以上となるジョブが受け付けられる場合に、自走装置300がMFP100から所定の範囲内に移動するので、実行時間が所定時間以上となるジョブより後に投入するジョブを自走装置300に投入することができるので、MFP100で実行時間が所定時間以上のジョブが完了するまで待つ必要がない。このため、ユーザーの待ち時間をできるだけ短くすることができる。
また、自走装置300は、MFP100により遠隔操作される間は、MFP100以外からは新たなジョブを受け付けないので、自走装置300は、MFP100から受け付けたジョブを直ちに実行することができる。
また、自走装置300は、MFP100から所定の範囲内に移動中にMFP100から受信されたジョブを実行するので、ジョブを終了するタイミングをできるだけ早くすることができる。
<第2の実施の形態>
第2の実施の形態における画像処理システム1は、第1の実施の形態における画像処理システムにおけるサーバー200の機能を、MFP100,100Aに持たせるようにしたものである。したがって、第2の実施の形態における画像処理システムは、図1に示した第1の実施の形態における画像処理システム1と異なる点は、サーバー200は必要なく、MFP100,100Aと、自走装置300,301,302とを含む。MFP100,100Aのハードウェア構成は、図3に示したMFP100のハードウェア構成と同じである。自走装置300,301,302のハードウェア構成は、図4に示したハードウェア構成と同じである。
図17は、第2の実施の形態におけるMFPが備えるCPUが有する機能の一例を示すブロック図である。図17に示す機能は、MFP100が備えるCPU111が、ROM113、HDD115またはCD-ROM118に記憶された固定装置制御プログラムを実行することにより、CPU111により実現される機能である。固定装置制御プログラムは、画像処理プログラムの一部である。図17を参照して、図5に示した機能と異なる点は、代替指示受付部51が削除された点、遠隔操作部57および状態通知部59が、遠隔操作部57Aおよび状態検出部59Aにそれぞれ変更された点、状態判断部70および代替装置決定部80が追加された点である。その他の機能は、図5に示した機能と同じなのでここでは説明を繰り返さない。
状態検出部59Aは、ジョブ実行部55がジョブで定められる画像処理を実行する状態を検出する。画像処理を実行するための状態は、装置状態と、ジョブ状態とを含む。状態検出部59Aは、装置状態検出部61Aと、ジョブ状態検出部63Aとを含む。
装置状態検出部61Aは、装置状態を検出し、検出された装置状態を状態判断部70に出力する。具体的には、装置状態検出部61Aは、ハードウェア資源を監視しており、ハードウェア資源の一部に発生した不具合を検出する場合に、不具合の発生したハードウェア資源の資源特定情報を含む装置状態情報を生成し、ハードウェア資源が使用する消耗品の欠品を検出する場合に、欠品した消耗品を特定するための消耗品特定情報を含む装置状態情報を生成する。装置状態検出部61Aは、装置状態を検出することに応じて、装置状態を状態判断部70に出力する。また、装置状態検出部61Aは、装置状態を検出した後、ハードウェア資源の不具合が解消する場合、または、消耗品の欠品が解消される場合、解消信号を状態判断部70に出力する。
ジョブ状態検出部63Aは、ジョブ状態を検出し、検出されたジョブ状態を状態判断部70に出力する。ジョブ状態は、MFP100が受け付けたジョブの状態を示す。ジョブ状態は、ジョブが終了する日時を示す。ジョブ状態検出部63Aは、ジョブ実行部55が実行中または実行する予定のジョブそれぞれが終了する時刻を予測し、予測された終了時刻を含むジョブ状態情報を生成する。また、ジョブ受付部53が受け付けるジョブは、終了時刻が指定された終了時刻設定ジョブを含む。ジョブ状態検出部63Aは、ジョブ受付部53が終了時刻設定ジョブを受け付ける場合、終了時刻設定ジョブに対して予測された終了時刻と終了時刻設定ジョブで設定されている終了時刻とを比較し、終了時刻設定ジョブで設定されている終了時刻まで終了時刻設定ジョブを終了できるか否かを判断する。ジョブ状態検出部63Aは、終了時刻設定ジョブで設定されている終了時刻まで終了時刻設定ジョブを終了できないと判断する場合、終了時刻設定ジョブに対して予測された終了時刻と、終了時刻設定ジョブで定められた画像処理を識別するための処理識別情報とを含むジョブ状態を状態判断部70に出力する。ジョブ状態検出部63Aは、ジョブ状態を状態判断部70に出力した後、実行されていない待機ジョブが存在しなくなる場合、遅延が解消したことを示す解消信号を状態判断部70に出力する。
状態判断部70は、MFP100の状態が、画像処理を実行できない状態であるか、または、ジョブが遅延する状態であるかを判断する。状態判断部70は、機能判断部71と、負荷判断部73と、を含む。機能判断部71は、実行可能な1以上の画像処理の少なくとも1つが実行不可能な状態か否かを判断する。機能判断部71、装置状態情報が、ハードウェア資源に不具合が発生したエラー状態を示す場合、エラー状態に含まれる資源特定情報で特定されるハードウェア資源で実行される画像処理を特定する。そして、機能判断部71は、特定された画像処理を識別するための処理識別情報を代替装置決定部80に出力する。また、機能判断部71は、装置状態情報が、消耗品が欠品する欠品状態を示す場合、欠品状態に含まれる消耗品特定情報で特定される消耗品を使用する画像処理を特定する。そして、機能判断部71は、特定された画像処理を識別するための処理識別情報を代替装置決定部80に出力する。また、機能判断部71は、処理識別情報を代替装置決定部80に出力した後に、解消信号が入力される場合、解消信号を代替装置決定部80に出力する。
負荷判断部73は、ジョブ状態情報に基づいて、ジョブが遅延する状態か否かを判断する。ジョブ状態情報は、複数のジョブごとに、終了する予定の時刻を示す。負荷判断部73は、所定時間以上の遅延が予測されるジョブが存在するか否かを判断する。負荷判断部73は、ジョブ状態情報に基づいて、開始から終了までの実行時間が所定の時間以上のジョブが存在する場合、実行時間が所定の時間以上のジョブより後のジョブが遅延すると判断し、MFP100が実行可能な画像処理のすべてを識別するための処理識別情報を代替装置決定部80に出力する。また、負荷判断部73は、ジョブ状態情報が処理識別情報を含む場合、その処理識別情報を代替装置決定部80に出力する。また、負荷判断部73は、処理識別情報を代替装置決定部80に出力した後に、解消信号が入力される場合、解消信号を代替装置決定部80に出力する。
代替装置決定部80は、機能判断部261または負荷判断部73から処理識別情報が入力される場合、自律走行可能な装置、ここでは、自走装置300,301,302のうちから1つを、MFP100に代わる代替装置に決定する。代替装置決定部80は、機能判断部71から処理識別情報が入力される場合、自走装置300,301,302のうちでMFP100が実行不可能な状態となった画像処理を少なくとも実行可能な装置を代替装置に決定する。代替装置決定部270は、負荷判断部73から処理識別情報が入力される場合、自走装置300,301,302のうち、MFP100で遅延することが予測されるジョブを少なくとも実行可能な装置を代替装置に決定する。
代替装置決定部80は、機能特定部81を含む。機能特定部81は、機能判断部71または負荷判断部73から処理識別情報が入力される場合、処理識別情報で識別される画像処理を実行するためのハードウェア資源を特定する。
代替装置決定部80は、自走装置300,301,302のうちで、機能特定部81により特定されたハードウェア資源を有する装置を代替装置に決定する。代替装置決定部80は、機能特定部81により特定されたハードウェア資源を有する装置が複数の場合、遠隔操作部57Aから自走装置300,301,302それぞれの位置情報が入力されるので、自走装置300,301,302のうちでMFP100に最も近い装置を代替装置に決定する。また、自走装置300,301,302のうちで、既に別の装置の代替装置となっている装置を除外するのが好ましい。代替装置決定部80は、代替装置を決定する場合、代替装置の装置識別情報を遠隔操作部57Aに出力する。また、代替装置決定部80は、代替装置の装置識別情報を遠隔操作部57Aに出力した後に、解消信号が入力される場合、解消信号を遠隔操作部57Aに出力する。
遠隔操作部57Aは、状態判断部70から代替装置の装置識別情報が入力されることに応じて、代替装置を遠隔操作する。具体的には、遠隔操作部57は、通信I/F部112を制御して、代替装置との間で通信経路を確立し、ジョブ受付部53により受け付けられたジョブを代替装置に実行させるための指令を送信する。遠隔操作部57Aは、代替装置に通信経路の確立要求を送信し、代替装置との間で通信経路を確立するようにしてもよいし、遠隔操作部57Aは、代替装置から通信経路の確立要求を受信することに応じて、代替装置との間で通信経路を確立するようにしてもよい。
遠隔操作部57Aは、代替装置との間で通信経路が確立されてから、代替装置決定部80から解消信号が入力されるまで、代替装置を遠隔操作する。換言すれば、ハードウェア資源にエラーが発生している場合にはそのエラーが解消するまで代替装置を遠隔操作し、消耗品が欠品している場合には、消耗品が補充されるまで代替装置を遠隔操作し、ジョブが遅延している場合には、その遅延が解消するまで代替装置を遠隔操作する。ジョブの遅延は、待機ジョブが存在しなくなると遅延が解消したと判断する。
遠隔操作部57Aは、代替装置決定部80から代替装置の装置識別情報が入力される段階で、ハードウェア資源にエラーが発生している場合、または、消耗品が欠品している場合には、ジョブ受付部53により受け付けられたジョブであって、ジョブ実行部55により実行されていないジョブを代替装置に実行させるために、そのジョブの実行を依頼する指令を代替装置に通信I/F部112を介して送信する。遠隔操作部57Aは、ハードウェア資源のエラーが解消する場合、または、消耗品が補充される場合に、代替装置との間で確立した通信経路を切断する。
また、遠隔操作部57Aは、代替装置決定部80から代替装置の装置識別情報が入力される段階で、ジョブの遅延が検出されている場合、代替装置との間で通信経路が確立されてから、待機ジョブが存在しなくなるまで、代替装置を遠隔操作する。遠隔操作部57Aは、ジョブ受付部53により受け付けられたジョブのうちに終了時刻設定ジョブが存在する場合、終了時刻設定ジョブを、代替装置に実行させるために、終了時刻設定ジョブの実行を依頼する指令を代替装置に通信I/F部112を介して送信する。また、遠隔操作部57Aは、ジョブ受付部53により受け付けられたジョブのうちに開始から終了までの実行時間が所定の時間以上のジョブが存在する場合、実行時間が所定の時間以上のジョブより後のジョブを、代替装置に実行させるために、実行時間が所定の時間以上のジョブより後のジョブの実行を依頼する指令を代替装置に通信I/F部112を介して送信する。遠隔操作部57Aは、終了時刻設定ジョブまたは実行時間が所定の時間以上のジョブより後のジョブが代替装置により実行されると、代替装置との間で確立した通信経路を切断する。
遠隔操作部57Aは、位置検出部91と、移動指示部93と、を含む。位置検出部91は、通信I/F部112を制御して、自走装置300,301,302それぞれの現在位置を検出する。自走装置300,301,302それぞれが、検出した位置を示す位置情報をサーバー200に送信する場合、位置検出部91は、通信I/F部112が自走装置300,301,302それぞれから送信される位置情報を受信すると、位置情報を送信してきた装置の現在位置を決定する。また、位置検出部91は、所定時間間隔で、自走装置300,301,302それぞれに位置情報の送信を要求するようにしてもよい。この場合、位置検出部91は、通信I/F部112が自走装置300,301,302それぞれから送信される位置情報を受信すると、位置情報を送信してきた装置の現在位置を決定する。位置検出部91は、自走装置300,301,302それぞれの現在位置を検出する場合、装置識別情報と位置情報との組を代替装置決定部80に出力する。
移動指示部93は、代替装置決定部80から入力される装置識別情報で特定される代替装置の移動を制御する。ここでは、代替装置決定部80から自走装置300の装置識別情報が入力される場合を例に説明する。移動指示部93は、通信I/F部112を制御して、代替装置である自走装置300に移動指令を送信する。移動指令は、MFP100に代わってジョブを実行するために、MFP100が配置された位置から所定の範囲内への移動を指示する指令である。移動指令は、MFP100の装置識別情報を含む。
自走装置300,301,302それぞれが備えるCPUの機能は、図7に示した機能と移動指令をサーバー200ではなくMFP100,100Aのいずれかから受信する点が異なるが、その他の機能は図7に示した機能と同じである。したがって、ここでは説明を繰り返さない。
図18は、第2の実施の形態における固定装置制御処理の流れの一例を示すフローチャートである。図18を参照して、図9に示した第1の実施の形態における固定装置制御処理と異なる点は、ステップS01の前に、ステップS51~ステップS53が追加された点、ステップS02およびステップS04がステップS02AおよびステップS04Aにそれぞれ変更された点、ステップS05とステップS06とに代えて、ステップS54~ステップS58が追加された点である。その他の処理は図9に示した処理と同じなのでここでは説明を繰り返さない。
ステップS51において、MFP100が備えるCPU111は、位置情報を受信したか否かを判断する。具体的には、CPU111は、通信I/F部112が、自走装置300,301,302のいずれかから位置情報を受信したか否かを判断する。位置情報を受信したならば処理をステップS52に進めるが、そうでなければ処理をステップS01に進める。ここでは、自走装置300から位置情報を受信する場合を例に説明する。
ステップS52においては、位置情報を送信してきた装置を特定する。ここでは、自走装置300が位置情報を送信してくるので、自走装置300を特定する。そして、特定された自走装置300の位置を記憶し(ステップS53)、処理をステップS01に進める。位置情報と自走装置300の装置識別情報とを関連付けて、HDD115に記憶する。
ステップS02Aにおいては、ジョブ状態決定処理を実行し、処理をステップS03に進める。ジョブ状態決定処理の詳細は後述する。ステップS03においては、ステップS01において受け付けられたジョブを待ち行列に追加し、処理をステップS04Aに進める。ステップS04Aにおいては、装置状態決定処理を実行し、処理をステップS54に進める。装置状態決定処理の詳細は後述する。
ステップS54においては、画像処理が決定されているか否かを判断する。ステップS02Aにおいてジョブ状態決定処理が実行される場合、または、ステップS04Aにおいて装置状態決定処理が実行される場合に、画像処理が決定される場合と画像処理が決定されない場合とがある。画像処理が決定される場合には、処理をステップS55に進めるが、そうでなければ処理をステップS08に進める。
ステップS55においては、決定されている画像処理を実行可能な自走装置を候補に決定する。ここでは、自走装置300,301,302それぞれが候補に決定される場合を例に説明する。ステップS56においては、複数の候補のうちからMFP100に最も近い候補を代替装置に決定する。自走装置300,301,302それぞれの位置情報が、ステップS53においてHDD115に記憶されているので、その位置情報を用いて、MFP100に最も近い装置を決定する。ここでは、自走装置300がMFP100に最も近い場合を例に説明する。
ステップS57においては、通信I/F部112を制御して、代替装置に決定された自走装置300との間で通信経路を確立し、処理をステップS58に進める。ステップS58においては、自走装置300に移動指令を送信する。移動指令は、MFP100の装置識別情報を含む。代替装置に決定された自走装置300に移動指令を送信し、処理をステップS58に進める。移動指令は、MFP100の装置識別情報を含む。
図19は、第2の実施の形態におけるジョブ状態決定処理の流れの一例を示すフローチャートである。図10に示した第1の実施の形態におけるジョブ状態決定処理と異なる点は、ステップS26がステップS26Aに変更された点、ステップS27が削除された点である。その他の処理は、図10に示した処理と同じなのでここでは説明を繰り返さない。ステップS26Aにおいては、図15に示した負荷判断処理を実行し、処理をステップS28に進める。
図20は、第2の実施の形態における装置状態決定処理の流れの一例を示すフローチャートである。図11に示した第1の実施の形態におけるジョブ状態決定処理と異なる点は、ステップS34がステップS34Aに変更された点、ステップS35が削除された点である。その他の処理は、図11に示した処理と同じなのでここでは説明を繰り返さない。ステップS34Aにおいては、図14に示した機能判断処理を実行し、処理を固定装置制御処理に戻す。
第2の実施の形態におけるMFP100は、画像処理が遅延する状態の場合に、自走装置300,301,302のうちからMFP100に代わる代替装置を決定する。例えば、自走装置300を代替装置に決定する場合、自走装置300をMFP100から所定の範囲内に移動させるために自走装置300に指令を送信する。このため、MFP100における画像処理が遅延する場合に、ユーザーはMFP100の代わりに近傍に移動してきた自走装置300を使用することができる。このため、画像処理を指示するユーザーの移動時間が無駄になるのを防止することができる。また、MFP100にプリントジョブを送信する場合に、自走装置300でそのプリントジョブが実行されるので、MFP100の近傍に起動してきた自走装置300でプリントジョブを実行して出力される用紙を取得することができる。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
<付記>
(1) 前記遠隔制御手段は、前記ジョブ実行手段が画像処理するために制御するハードェア資源の少なくとも一部が駆動不可能な状態となる場合、前記駆動不可能な状態のハードウェア資源が担当する画像処理が実行不可能な状態を検出する、請求項10に記載の画像形成装置。この局面に従えば、固定装置で実行できない画像処理を自走装置で実行させることができる。
(2) 前記遠隔制御手段は、前記ジョブ実行手段が画像処理するために用いられる消耗品が欠品する状態となる場合、前記欠品した消耗品を用いる画像処理が実行不可能な状態を検出する、請求項10に記載の画像形成装置。この局面に従えば、固定装置で実行できない画像処理を自走装置で実行させることができる。
(3) 前記遠隔制御手段は、前記ジョブ実行手段により受け付けられた終了時刻が定められた終了時刻設定ジョブを前記終了時刻までに終了できない状態が予測されることに応じて、前記自走装置に指令を送信する、請求項13に記載の画像形成装置。この局面に従えば、終了時刻設定ジョブを自走装置に実行させるので、終了時刻設定ジョブをそれにより定められた終了時刻までに実行することができる。
(4) 前記自走装置が複数の場合、前記複数の自走装置のうちで前記終了時刻設定ジョブを実行可能な1つを前記代替装置に決定する代替装置決定手段を、さらに備え、
前記遠隔制御手段は、前記終了時刻設定ジョブの実行を指示する指令を前記代替装置に送信する、(3)に記載の画像形成装置。この局面に従えば、終了時刻設定ジョブを実行可能な自走装置を決定することができる。
(5) 前記代替装置決定手段は、前記ジョブ実行手段により受け付けられたジョブの開始から終了までの実行時間が所定時間以上である状態が予測されることに応じて、前記自走装置に指令を送信する、請求項13に記載の画像形成装置。この局面に従えば、画像形成装置で受け付けられたジョブの遅延を解消することができる。
(6) 前記自走装置が複数の場合、前記複数の自走装置のうち前記ジョブ実行手段が実行可能な画像処理を少なくとも実行可能な自走装置を前記代替装置に決定する代替装置決定手段を、さらに備え、
前記遠隔制御手段は、前記実行時間が所定時間以上のジョブの後に受け付け付けられるジョブの実行を指示する指令を前記代替装置に送信する、(5)に記載の画像形成装置。この局面に従えば、画像形成装置で受け付けられたジョブの遅延を解消することができる。
(7) 前記遠隔制御手段は、画像処理が遅延する状態が所定時間継続することに応じて、前記自走装置に指令を送信する、請求項9~13のいずれかに記載の画像形成装置。この局面に従えば、画像処理が遅延する状態が所定時間継続しない場合は、自走装置を移動させないので、自走装置の移動を効率的にすることができる。
(8) 前記1以上の固定装置それぞれは、前記1以上の自走装置の少なくとも1つを遠隔制御するために前記自走装置に指令を送信する遠隔制御手段を、備え、
前記遠隔制御手段は、前記対象装置に決定される場合、前記代替装置にジョブを実行させるための指令を送信する、請求項1~8のいずれかに記載の管理装置。この局面に従えば、自走装置にジョブを実行させることができる。