以下、図面に基づき本発明の各種実施の形態を説明する。
図1は、本発明の実施の形態に係るオフィス等で運用される画像形成システム5の構成例を示す図である。画像形成システム5は、LAN(Local Area Network)などのネットワーク3に、複数台の画像処理装置30、画像処理装置30に格納されて該画像処理装置30を動作させるプログラムの更新等を管理する管理サーバ10、ユーザ端末50、操作表示装置70、などを接続して構成される。さらに、画像処理装置3を動作させるプログラムのリリース元のメーカ等に設置された外部装置2がインターネット等の広域ネットワークを介して管理サーバ10に通信可能に接続されている。
管理サーバ10は、PC(Personal Computer)端末等のコンピュータ装置である。管理サーバ10は、外部装置2から画像処理装置30を動作させる新たなバージョンのプログラムを受信し、該プログラムを各画像処理装置30に配信して、各画像処理装置30に格納されているプログラムを新たなバージョンのプログラムに更新させる機能を果たす。
画像処理装置30は、スキャナで原稿を光学的に読み取って得た画像データに基づく画像を記録紙に印刷するコピージョブ、読み取った原稿の画像データをファイル等にして保存する保存ジョブ、読み取った原稿の画像データをファイル等にして外部へ送信する送信ジョブ、PCから受信した印刷データに基づく画像を記録紙に印刷して出力するプリントジョブ、ファクシミリ手順に従って画像データを送受信するFAXジョブなどのジョブを実行する機能を備えた、所謂、複合機である。以後、画像処理装置30をMFPとも記す。また、画像処理装置30は、管理サーバ10からの指示に従って、自装置が格納しているプログラム(自装置を動作させるプログラム)を別のバージョンのプログラムに書き換えて更新する機能を果たす。
ユーザ端末50は、PC端末等のコンピュータ装置であり、プリンタドライバプログラムがインストールされてジョブを画像処理装置30に送信する機能を果たす。
操作表示装置70は、画像処理装置30に実行させるジョブの投入に関する操作を受け付けたり、受け付けたジョブの情報を画像処理装置30に送信して該ジョブの実行を指示したりする機能を果たすタブレット等の携帯型情報処理装置である。
外部装置2は、画像処理装置30に格納されて該画像処理装置30を動作させるプログラムの提供元(メーカ等)が新たなバージョンのプログラムを提供可能になった場合にそのことを管理サーバ10に通知したり、新たなバージョンのプログラムを管理サーバ10に配信したりする機能を果たす。新たなバージョンのプログラムは、たとえば、画像処理装置30で使用中のプログラムに不具合が発見されたときに、この不具合を取り除く場合や、画像処理装置30の性能や機能を向上させる場合などに作成されて提供される。
また、外部装置2は、新たなバージョンのプログラム(新プログラム)に更新する前の旧バージョンのプログラム(旧プログラム)で正常に動作していた機能が、更新後の新プログラムで正常に動作しなくなる現象、所謂、デグレード、が生じた場合に、デグレードの発生及びその内容を管理サーバ10に通知する機能を果たす。
管理サーバ10は、外部装置2から新プログラムにデグレードが生じた通知を受けた場合、管理対象の各画像処理装置30を動作させているプログラムのバージョンを確認し、デグレードの生じた新プログラムで動作する画像処理装置30の内の一部に対して、旧プログラムにバージョンダウンするようにプログラムの書き換えを指示する。これにより、管理対象の複数台の画像処理装置30において、デグレードの生じた新プログラムで動作する画像処理装置30と旧プログラムで動作する画像処理装置30が混在する状態を形成する。
なお、プログラムで動作する状態とは、このプログラムで実際に画像処理装置30が稼動する稼動状態のほか、稼動したならばこのプログラムで稼動する画像処理装置30のすべての状態を含む。すなわち、通常の稼動状態のほか、低消費電力状態、スタンバイ状態、休止状態(スリープ状態)などの全ての状態を含む。
このほか、管理サーバ10は、各画像処理装置30で稼動中のプログラムのバージョンや各画像処理装置30の稼動状態を管理する。稼動状態とは、電源オフ、スリープ状態、ジョブ処理中、待機中などの状態である。さらに、管理サーバ10は、各バージョンのプログラムで生じた不具合、各バージョンのプログラムで改修された不具合などの情報(不具合管理情報)を記憶管理する不具合管理部としての機能も果たす。
図2は、本発明の実施の形態に係る管理サーバ10の概略構成を示すブロック図である。管理サーバ10は、当該管理サーバ10の動作を統括的に制御する制御部としてのCPU(Central Processing Unit)11を有している。CPU11にはバスを通じてROM(Read Only Memory)12、RAM(Random Access Memory)13、不揮発メモリ14、ハードディスク装置15、ネットワーク送信部16、操作パネル20、認証部17などが接続されている。
CPU11は、OS(Operating System)プログラムをベースとし、その上で、ミドルウェアやアプリケーションプログラムなどを実行する。ROM12には、各種のプログラムが格納されており、これらのプログラムに従ってCPU11が各種処理を実行することで管理サーバ10の各機能が実現される。
RAM13は、CPU11がプログラムに基づいて処理を実行する際に各種のデータを一時的に格納するワークメモリなどとして使用される。
不揮発メモリ14は、電源をオフにしても記憶内容が破壊されないメモリ(フラッシュメモリ)であり、各種設定情報の保存などに使用される。また、不揮発メモリ14には、ユーザ認証に使用されるユーザ登録情報、ユーザに対して各種問い合わせや通知を行うためのユーザの連絡先情報(例えば、携帯端末情報)等が記憶される。
ハードディスク装置15は、大容量不揮発の記憶装置であり、各種のプログラムやデータを記憶する。また、ハードディスク装置15は、外部装置2から配信された更新プログラムを格納する。各画像処理装置30に格納されるプログラムのバージョン情報、各バージョンのプログラムで生じた不具合や改修箇所に関する不具合管理情報等は、不揮発メモリ14あるいはハードディスク装置15に記憶される。
ネットワーク通信部16は、ネットワーク3を通じて外部装置2や画像処理装置30、その他の各種の装置と通信する機能を果たす。特に、ネットワーク通信部16は、外部装置2から新プログラムが提供可能となった通知(更新可能通知)やデグレード発生の通知を受信する通知受信部、ジョブの情報を受信するジョブ情報受信部としての機能を果たす。
操作パネル20は、操作部21と表示部22を備えている。表示部22は、各種の操作画面、設定画面等を表示する機能を果たす。表示部22は液晶ディスプレイとそのドライバなどで構成される。操作部21はユーザから各種の操作を受ける機能を果たす。操作部21は、文字、数字、記号等の入力を受けるキーボード等と、表示部22の表示面上に設けられたタッチスクリーンを備えている。タッチスクリーンは、表示部22の表示面がタッチペンや指などで接触操作された座標位置を検出する。
認証部17は、管理サーバ10を使用するユーザを認証する。認証方法は、パスワード、指紋、静脈などを用いた任意の方法でよい。
管理サーバ10のCPU11はプログラムに基づいて動作することにより、管理対象の画像処理装置30を動作させているプログラムのバージョンを確認する確認部、デグレードが生じた場合に、一部の画像処理装置30に対して、デグレードしたプログラムの旧バージョンのプログラムにバージョンダウンするようにプログラムの書き換えを指示して、管理対象の複数の画像形成装置30の中に、デグレードしたプログラムで動作する画像処理装置30と旧バージョンのプログラムで動作する画像処理装置30が混在する状態を形成するように制御する制御部、プログラムのバージョン毎に、発生した不具合を示す不具合管理情報を記憶管理する不具合管理部等の機能を果たす。
図3は、画像処理装置30の概略構成を示すブロック図である。画像処理装置30は、当該画像処理装置30の動作を統括的に制御するCPU31を有している。CPU31にはバスを通じてROM32、RAM33、不揮発メモリ34、ハードディスク装置35、画像読取部36、自動原稿搬送部(ADF:Auto Document Feeder)37、操作パネル38、ネットワーク通信部42、画像処理部43、プリンタ部44、ファクシミリ通信部45、認証部46、近接無線通信部47などが接続されている。
CPU31は、OSプログラムをベースとし、その上で、ミドルウェアやアプリケーションプログラムなどを実行する。ROM32には、各種のプログラムが格納されており、これらのプログラムに従ってCPU31が各種処理を実行することで画像処理装置30の各機能が実現される。
RAM33は、CPU31がプログラムに基づいて処理を実行する際に各種のデータを一時的に格納するワークメモリや画像データを格納する画像メモリなどとして使用される。
不揮発メモリ34は、電源をオフにしても記憶内容が破壊されないメモリ(フラッシュメモリ)であり、各種設定情報の保存などに使用される。また、不揮発メモリ34には、ユーザ認証に使用されるユーザ登録情報などが記憶される。
ハードディスク装置35は、大容量不揮発の記憶装置であり、印刷データ、画像データなどのほか各種のプログラムやデータが記憶される。
画像読取部36は、原稿を光学的に読み取って画像データを取得する機能を果たす。画像読取部36は、例えば、原稿に光を照射する光源と、その反射光を受けて原稿を幅方向に1ライン分読み取るラインイメージセンサと、ライン単位の読取位置を原稿の長さ方向に順次移動させる移動ユニットと、原稿からの反射光をラインイメージセンサに導いて結像させるレンズやミラーなどからなる光学経路と、ラインイメージセンサの出力するアナログ画像信号をデジタルの画像データに変換する変換部などを備えて構成される。
自動原稿搬送部37は、原稿台にセットされた原稿をその最上のものから1枚ずつ順に繰り出して搬送し、画像読取部36の読み取り位置を通過させて所定の排紙位置へ排紙する機能を果たす。画像読取部36は、プラテンガラス上に載置された原稿を読み取る機能と、自動原稿搬送部37によって搬送される原稿を順次読み取る機能を備えている。
操作パネル38は、操作部39と表示部40を備えている。表示部40は各種の操作画面、設定画面等を表示する機能を果たし、液晶ディスプレイなどで構成される。操作部39はユーザから各種の操作を受けるスタートボタンやテンキーなど各種のハードキーと、表示部40の表示面に設けられたタッチスクリーンで構成される。タッチスクリーンは管理サーバ10に備えられるものと同様である。操作パネル38は、ユーザによるジョブの設定を受け付ける。
ネットワーク通信部42は、ネットワークを通じて各種の装置や携帯端末等と通信する機能を果たす。特に、ネットワーク通信部42は、管理サーバ10との通信を行い、画像処理装置30の状態を管理サーバ10に通知し、管理サーバ10から送信されるプログラムを受信する。また、ジョブ情報を管理サーバ10に送信したり、管理サーバ10から各種の指示を受信したりする。さらに、ユーザ端末50や操作表示装置70からジョブ情報やジョブを受信する機能を果たす。
近接無線通信部47は、比較的近距離での無線通信を、操作表示装置70との間で行い、ジョブ情報やジョブの受信、各種の指示の受信、操作表示装置70に対して各種の指示の送信等を行う。
画像処理部43は、画像の拡大縮小、回転などの処理のほか、印刷データをイメージデータに変換するラスタライズ処理、画像データの圧縮、伸張処理などを行う。
プリンタ部44は、画像データに応じた画像を記録紙上に画像形成する機能を果たす。ここでは、記録紙の搬送装置と、感光体ドラムと、帯電装置と、レーザーユニットと、現像装置と、転写分離装置と、クリーニング装置と、定着装置とを有し、電子写真プロセスによって画像形成を行う、所謂、レーザープリンタとして構成されている。画像形成は他の方式でもかまわない。
ファクシミリ通信部45は、ファクシミリ機能を備えた装置と電話回線を通じて画像データを送受信する機能を果たす。
認証部46は、画像処理装置30を使用するユーザを認証する。認証方法は、パスワード、指紋、静脈などを用いた任意の方法でよい。
図4は、ユーザ端末50の概略構成を示すブロック図である。ユーザ端末50は、当該ユーザ端末50の動作を統括的に制御するCPU51を有している。CPU51にはバスを通じてROM52、RAM53、不揮発メモリ54、ハードディスク装置55、ネットワーク送信部56、操作パネル60、認証部63などが接続されている。汎用のPC等で構成されてもかまわない。
CPU51は、OSプログラムをベースとし、その上で、ミドルウェアやアプリケーションプログラムなどを実行する。ROM52には、各種のプログラムが格納されており、これらのプログラムに従ってCPU51が各種処理を実行することでユーザ端末50の各機能が実現される。
RAM53は、CPU51がプログラムに基づいて処理を実行する際に各種のデータを一時的に格納するワークメモリなどとして使用される。
不揮発メモリ54は、電源をオフにしても記憶内容が破壊されないメモリ(フラッシュメモリ)であり、各種設定情報の保存などに使用される。
ハードディスク装置55は、大容量不揮発の記憶装置であり、各種のプログラムやデータを記憶する。ハードディスク装置55には、画像処理装置30に対応したプリンタドライバプログラムが記憶される。
ネットワーク通信部56は、ネットワークを通じて各種の装置や携帯端末等と通信する機能を果たす。特に、ネットワーク通信部56は、管理サーバ10や画像処理装置30にジョブ情報やジョブを送信する機能を果たす。
操作パネル60は、操作部61と表示部62を備えている。表示部62は各種の操作画面、設定画面等を表示する機能を果たし、その構成は管理サーバ10に備えられる操作パネル20の表示部22と同様である。操作部62は、ユーザから各種の操作を受ける機能を果たし、その構成は管理サーバ10に備えられる操作パネル20の操作部21と同様である。
認証部63は、外部装置50にアクセスする管理者を認証する。認証方法は、パスワード、指紋、静脈などを用いた任意の方法でよい。
図5は、操作表示装置70の概略構成を示すブロック図である。操作表示装置70は、当該操作表示装置70の動作を統括的に制御するCPU71を有している。CPU71にはバスを通じてROM72、RAM73、不揮発メモリ74、操作部75、表示部76、ハードディスク装置77、近接無線通信部78、ネットワーク送信部79、認証部80などが接続されている。
CPU71は、OSプログラムをベースとし、その上で、ミドルウェアやアプリケーションプログラムなどを実行する。ROM72には、各種のプログラムが格納されており、これらのプログラムに従ってCPU71が各種処理を実行することで操作表示装置70の各機能が実現される。
RAM73は、CPU71がプログラムに基づいて処理を実行する際に各種のデータを一時的に格納するワークメモリなどとして使用される。
不揮発メモリ74は、電源をオフにしても記憶内容が破壊されないメモリ(フラッシュメモリ)であり、各種設定情報の保存などに使用される。
ハードディスク装置75は、大容量不揮発の記憶装置であり、各種のプログラムやデータを記憶する。
近接無線通信部78は、画像処理装置30が有する近接無線通信部47と同様であり、画像処理装置30との間で無線通信を行い、ジョブ情報、各種の指示の送受信を行う。
ネットワーク通信部79は、ネットワークを通じて各種の装置と通信する機能を果たす。特に、ネットワーク通信部79は、管理サーバ10や画像処理装置30との間でジョブ情報、ジョブ、各種の指示の送受信を行う。
表示部72は各種の操作画面、設定画面等を表示する機能を果たし、液晶ディスプレイとそのドライバなどで構成される。操作部75は文字、数字、記号等の入力を受けるキーボード等と、表示部76の表示面上に設けられたタッチスクリーンを備えている。
認証部80は、操作表示装置70の使用者を認証する。認証方法は、パスワード、指紋、静脈などを用いた任意の方法でよい。
次に、本実施の形態に係る画像形成システム5におけるプログラムの更新動作について説明する。
図6は、プログラムの更新に関して管理サーバ10が行う処理の流れの概要を示している。
まず、管理サーバ10は、管理対象の複数台の画像処理装置30の状態を管理しているか否かを判断する(ステップS001)。ここでは、管理サーバ10は、各画像処理装置30が使用中のプログラムのバージョン、各画像処理装置30の稼動状態(ジョブ処理状態、待機状態、スリープ状態、電源オフ状態等)を管理する。具体的には、図7に示すようなMFP管理テーブル91を自機の不揮発メモリ14に作成し記憶して各画像処理装置30の状態を管理する。MFP管理テーブル91には、管理対象の画像処理装置30毎に、その装置ID(MFP1、MFP2等)、使用中のプログラムのバージョン、装置の稼動状態が登録される。
管理サーバ10が画像処理装置30の状態を管理している場合(ステップS001;Yes)、画像処理装置30に格納されて画像処理装置30を動作させるプログラムの更新可能通知が外部装置2から受信されるか否かを監視する(ステップS012)。更新可能通知は、外部装置2が新たなバージョンのプログラムを提供可能になったことを示す通知である。
外部装置2からプログラムの更新可能通知を受信したら(ステップS002;Yes)、該更新可能通知に対応する新たなバージョンのプログラム(新プログラム)を外部装置2から受信して、自機のハードディスク装置15に保存する(ステップS003)。
管理サーバ10は、新プログラムの受信・保存が完了したら、管理対象の画像処理装置30の中に、プログラムの書き換えが可能な状態の画像処理装置30が存在するか否かを確認する(ステップS004)。ジョブ処理状態、電源オフ状態、スリープ状態はプログラムの書き換えが不可の状態であり、待機状態はプログラムの書き換えが可能な状態である。
プログラムの書き換えが可能な状態の画像処理装置30が存在する場合(ステップS004;Yes)、その画像処理装置30が格納しているプログラムであって該画像処理装置30を動作させるプログラム(稼動プログラムとする)を新プログラムに書き換えて更新する(ステップS005)。更新前のプログラムを旧プログラムとする。管理サーバ10は、書き換え可能な状態でなかった画像処理装置30が書き換え可能な状態に変化したら、順次、その画像処理装置30の稼動プログラムを新プログラムに更新する。通常は、数時間から1日程度で管理対象のすべての画像処理装置30の稼動プログラムが新プログラムに更新される。
さらに管理サーバ10は、外部装置2からデグレードの通知を受信したか否かを監視する(ステップS006)。外部装置2からデグレードの通知を受信したら(ステップS006;Yes)、該通知を解析し、かつMFP管理テーブル91(もしくは、後述するプログラム管理テーブル92(図8、図9))を参照して、該通知の示すデグレードしたプログラムと同じバージョンのプログラムを稼動プログラムとする画像処理装置30が存在するか否かを判断する(ステップS007)。
デグレードしたプログラムと同じバージョンのプログラムを稼動プログラムとする画像処理装置30が存在する場合(ステップS007;Yes)、管理対象の複数台の画像処理装置30において、デグレードしたプログラムを稼動プログラムとする画像処理装置30と、該デグレードしたプログラムの旧バージョンのプログラム(旧プログラム)を稼動プログラムとする画像処理装置30が混在する状態を形成する。具体的には、デグレードしたプログラムを稼動プログラムとする画像処理装置30の内の一部について、稼動プログラムを旧プログラムに書き換えるように制御する(ステップS008)。
旧プログラムは新プログラムで改修した機能に不具合があり、デグレードした新プログラムには旧プログラムで正常に動作していた機能に不具合があるので、新旧プログラムはこれらの不具合について補完関係にある。そこで、新プログラムにデグレードが発生した通知を受けた場合に、管理対象の一部の画像処理装置30の稼動プログラムを旧プログラムに書き換えて、新プログラムで動作する画像処理装置30と旧プログラムで動作する画像処理装置30が混在する状態を形成する。これにより、新プログラムで不具合の生じる機能は旧プログラムで動作する画像処理装置30に実行させ、旧プログラムで不具合の生じる機能は新プログラムで動作する画像処理装置30に実行させる、といった制御が可能になり、画像形成システム5全体として、新プログラムと旧プログラムを併用して、効率よくジョブを実行することが可能になる。
図8、図9は、管理サーバ10が記憶管理するプログラム管理テーブル92の一例およびその登録内容の遷移例を示す。この例では、管理サーバ10が管理対象とする画像処理装置30はMFP1(シリアル番号A001と、MFP2(シリアル番号B001)の2台とする。
プログラム管理テーブル92(1)は、バージョン1のプログラムが2台のMFP1、MFP2にインストールされた直後の2015年12月24日15時にけるプログラム管理テーブル92の登録内容を示す。プログラム管理テーブル92は、プログラムのバージョン毎に、バージョン情報、そのバージョンのプログラムを稼動プログラムとするMFPの台数およびシリアル番号、そのバージョンのプログラムが管理サーバ10にアップロードされた日時、そのバージョンのプログラムが各MFPにインストールされた日時、そのバージョンのプログラムについて報告されてえる不具合の内容、該不具合の報告を受けた日時、デグレードの有無、デグレードの有無、デグレードの内容、が登録される。
プログラム管理テーブル92(2)は、管理サーバ10が外部装置2からバージョン1で発生した不具合の連絡を受けた直後の2016年1月7日16時におけるプログラム管理テーブル92の登録内容を示す。バージョン1のプログラムについてFAX同報送信の不具合が報告されている。
プログラム管理テーブル92(3)は、管理サーバ10が外部装置2からバージョン1の不具合(FAX同報送信)を改修したバージョン2のプログラムを取得した直後の2016年1月13日17時におけるプログラム管理テーブル92を示している。
図9に示すプログラム管理テーブル92(4)は、MFP1、MFP2の稼動プログラムがバージョン2に書き換えられた直後の2016年1月13日19時におけるプログラム管理テーブル92を示す。
プログラム管理テーブル92(5)は、管理サーバ10が外部装置2からバージョン2で発生した不具合(デグレード)の連絡を受けた直後の2016年2月1日20時におけるプログラム管理テーブル92の登録内容を示す。バージョン2のプログラムについてインターネットFAX同報送信の不具合が報告されている。バージョン2はバージョン1で正常に動作したインターネットFAX同報送信で不具合が生じる。
プログラム管理テーブル92(6)は、バージョン2のデグレードの報告を受けて、管理サーバ10が、バージョン1のプログラムで動作するMFPとバージョン2で動作するMFPが混在するように一部のMFPのプログラムをバージョン1に書き換えさせた直後の2016年2月1日21時におけるプログラム管理テーブル92を示す。この例では、シリアル番号A001のMFP1のプログラムをバージョン2からバージョン1に書き換えている。これにより、バージョン1のプログラムで動作するMFP1(A001)バージョン2のプログラムで動作するMFP2(B001)が混在する状態が形成されている。
この例のように、管理サーバ10が管理対象とする画像処理装置30が2台であれば、デグレードの通知を受けた場合に、新プログラム(バージョン2)で動作する画像処理装置30と旧プログラム(バージョン1)で動作する画像処理装置30が1台ずつとなるようにすればよい。3台以上の場合は、いずれか一方の台数を他方の台数より多くすることができる。この場合の台数の決め方を以下に示す。
<決め方1>
デグレードした新プログラムで動作する画像処理装置30より旧プログラムで動作する画像処理装置30が多くなるようにする。
旧プログラムは報告されている不具合以外の機能については多くの使用実績があり、信頼性が高い。したがって、旧プログラムで不具合の生じる機能はその不具合を改修した新プログラムで動作する画像処理装置30で実行し、旧プログラムで不具合のない機能は旧プログラムで動作する画像処理装置30で実行することが望ましいので、これに対応して、旧プログラムで動作する画像処理装置30の台数を新プログラムで動作する画像処理装置30より多くする。
<決め方2>
デグレードした新プログラムで、所定の重要な機能の品質が旧プログラムより低下する場合は、新プログラムで動作する画像処理装置より旧プログラムで動作する画像処理装置が多くなるようにする。重要な機能としては、たとえば、省エネルギーに関する機能、セキュリティに関する機能がある。重要な機能はより多くの画像処理装置30で実行可能にしておくことが望ましいことによる。
新プログラムでデグレードが生じた場合に、新プログラムで動作する画像処理装置30と旧プログラムで動作する画像処理装置30との比率を予め設定しておくようにしてもよい。図10は、管理サーバ10が記憶する分配比率テーブル94を示している。分配比率テーブル94には、プログラムのバージョン毎に、そのバージョンのプログラムの分配比、分配比率、稼動台数(そのバージョンのプログラムで動作する画像処理装置30の台数)が登録される。管理サーバ10は、管理対象の画像処理装置30の全台数と分配比率とからそれぞれのバージョンの稼動台数を求める。なお、そのバージョンのプログラムで動作する画像処理装置30とは、そのバージョンのプログラムに基づいて実際に動作中(稼動中)の画像処理装置30のほかスリープ状態や電源OFF状態の場合も含み、そのバージョンのプログラムを格納し、動作した場合にそのバージョンのプログラムで動作する画像処理装置30である。
図11は、分解比率等を設定するための管理者画面100の一例を示す。管理者画面100は、管理サーバ10の操作パネル20に表示される。管理者画面100には、分配比率テーブル94の内容がそのまま表示され、ユーザがいずれかの欄の値を変更すると、関連する欄の値が自動的に変更される。
たとえば、分配比を変更する場合、ユーザは、分配比の欄101の該当する数字欄をタッチ操作で選択した後、具体的な数字をテンキー等の数字入力釦で入力する。該入力操作にて分配比が変更されると、管理サーバ10は対応する分配比率の欄102の値を自動的に変更する。具体的には、分配比率の欄102の分母の値は、分配比の欄101に入力された数字の合計値が入り、分配比率の欄102の分子には、そのバージョンにおける分配比の欄101の数字が入力される。
分配比の変更に伴って分配比率が自動変更されると、変更された分配比率に基づき、稼働台数の欄103の数値も自動で変更される。稼働台数の算出(計算)は、管理サーバ10が管理している画像処理装置30の全台数に、分配比率をかけた値となる。このように、分配比の変更操作に伴い、分配比率、稼働台数の値が連動して自動的に変更される。
変更内容を確定する場合は、管理者画面100の左下部にある確定釦104を押下する。確定釦104を押下することで、不揮発メモリ14に分配比、分配比率、稼働台数が記憶される。すなわち、不揮発メモリ14に記憶されている分配比率テーブル94の各値が更新される。入力した数字(分配比)を、1つ前の状態に戻す時には、管理者画面100の左下部にあるキャンセル釦95を押下することで、入力値を戻すことが可能となる。また、管理者画面100の右下部の戻る釦106は、現在の管理者画面100の一つ前の階層の画面に遷移するための釦である。
なお、新プログラムの不具合が省エネルギーに関する機能やセキュリティに関する機能など所定の重要な機能に関する不具合である場合、旧プログラムで動作する画像処理装置30の台数(旧プログラムの稼動台数)が新プログラムで動作する画像処理装置30の台数(新プログラムの稼動台数)より多くなるように、分配比や分配比率の入力内容を制限するようにしてもよい。
図12は、図6のステップS008の詳細を示している。図12では特に、新プログラムで動作する画像処理装置30と旧プログラムで動作する画像処理装置30の台数を決定する部分の処理を詳細に示す。
まず、管理サーバ10は、MFP管理テーブル91あるいはプログラム管理テーブル92を参照して管理対象の画像処理装置30の台数を確認する(ステップS011)。管理対象の画像処理装置30が2台ならば(ステップS012;No)、新プログラムの稼動台数を1台、旧プログラムの稼動台数を1台に決定し、該決定した稼動台数となるように必要に応じて画像処理装置30の稼動プログラムを書き換える(ステップS013)。
管理対象の画像処理装置30の台数が3台以上ならば(ステップS012;Yes)、新プログラムでデグレードした機能が省エネルギーに関する機能またはセキュリティに関する機能か否かを判断する(ステップS014)。新プログラムでデグレードした機能が省エネルギーに関する機能でもセキュリティに関する機能でもない場合は(ステップS014;No)、少なくとも、新プログラム1台、旧プログラム1台の稼動台数がそれぞれ確保されるように画像処理装置30の稼動プログラムを書き換える(ステップS015)。この場合の分配比は任意でよく、新プログラムで動作する画像処理装置30の台数と旧プログラムで動作する画像処理装置30の台数は、前者が多くても、前者が少なくても、あるいは、全台数が偶数の場合は前者と後者が等しくてもよい。
新プログラムでデグレードした機能が省エネルギーに関する機能またはセキュリティに関する機能である場合は(ステップS014;Yes)、分配比率テーブル94を参照し(ステップS016)、新プログラムで動作する画像処理装置30の台数と、旧プログラムで動作する画像処理装置30の台数を算出もしくは取得する(ステップS017)。そして、新プログラムで動作する画像処理装置30の台数と旧プログラムで動作する画像処理装置30の台数がそれぞれステップS017で算出もしくは取得した台数になるように、必要に応じて画像処理装置30の稼動プログラムを書き換える(ステップS018)。
次に、画像形成システム5において、ジョブの実行に不具合が生じないようにジョブの種類に応じてジョブの実行先を制御する動作について説明する。
画像形成システム5では、画像処理装置30やユーザ端末50、操作表示装置70から投入されたジョブが、そのジョブの実行に不具合のあるバージョンのプログラムで動作する画像処理装置30で実行されないように、ジョブの実行先を制御する。以下、該制御を実現する複数のケースについて説明する。ジョブ投入時に指定されたジョブの実行先の画像処理装置30を操作対象の画像処理装置30と呼ぶものとする。
<ケース1>
ケース1では、投入されたジョブの実行先を管理サーバ10が決定する。図13は、ケース1において管理サーバ10が行う処理の流れを示している。管理サーバ10は、画像処理装置30あるいはユーザ端末50、操作表示装置70から、投入されたジョブのジョブ情報を受信すると(ステップS021;Yes)、該ジョブの実行に不具合のあるバージョンのプログラムの有無を確認する(ステップS022)。具体的には、プログラム管理テーブル92に登録されている「報告されている不具合内容」のいずれかと受信したジョブ(あるいは該ジョブで使用する機能)が一致するか否かを調べ、一致するものがあれば、該ジョブの実行に不具合のあるバージョンのプログラムがあると判断する。
受信したジョブの実行に不具合の有るバージョンのプログラムが無ければ(ステップS023;No)、任意もしくは操作対象の画像処理装置30にジョブを実行させる(ステップS024)。
たとえば、操作対象の画像処理装置30が設定されていれば、該操作対象の画像処理装置30にジョブを実行させる。
操作対象の画像処理装置30の設定が無ければ、管理サーバ10が任意に決定した画像処理装置30に該ジョブを実行させる。この場合、管理サーバ10は、投入したジョブの内容と画像処理装置30が有する機能との比較、投入したユーザの位置と画像処理装置30の設置位置との関係、ジョブの実行履歴、画像処理装置30の状態(スリープ等)など各種の条件に基づいてジョブの実行先を決定する。
受信したジョブの実行に不具合の有るバージョンのプログラムが存在する場合は(ステップS023;Yes)、そのバージョンのプログラムを稼動プログラムとする画像処理装置30以外の画像処理装置30の中から、該ジョブの実行先を決定し、該決定した画像処理装置30にジョブを実行させる。たとえば、操作対象の画像処理装置30が該ジョブの実行に不具合のあるバージョンのプログラムで動作する画像処理装置30でなければ、操作対象の画像処理装置30にジョブを実行させる。一方、操作対象の画像処理装置30が該ジョブの実行に不具合のあるバージョンのプログラムで動作する画像処理装置30の場合は、該ジョブの実行に不具合の無いプログラムで動作する他の画像処理装置30の中から該ジョブの実行先を決定し、その決定した画像処理装置30に該ジョブを実行させる。
<ケース2>
ケース2では、操作対象の画像処理装置30の操作パネル38でジョブの投入を受け付け、操作対象の画像処理装置30が該ジョブの実行に不具合のあるバージョンのプログラムで動作する画像処理装置30か否かを管理サーバ10で判断する。
図14は、ケース2において操作対象の画像処理装置30が行う処理を示す流れ図である。操作対象の画像処理装置30は自装置の操作パネル38でジョブの投入操作を受けると(ステップS101;Yes)、該ジョブの情報(ジョブ投入時に受けた操作釦の情報)を自装置のメモリ(RAM33や不揮発メモリ34)に保存する(ステップS102)。
次に、上記ジョブの情報を管理サーバ10に送信し(ステップS103)、管理サーバ10からの該ジョブの実行先に関する判断結果の受信を待つ(ステップS104;No)。管理サーバ10から判断結果を受信したら(ステップS104;Yes)、その判断結果に応じて以下の処理を行う(ステップS105〜S108)。
管理サーバ10から受けた判断結果が、当該画像処理装置30を動作させているプログラム(稼動プログラム)が該ジョブの実行に不具合のない(該ジョブの実行において不具合が生じる報告を受けていない)バージョンのプログラムであって、当該画像処理装置30によるジョブの実行を指示するものである場合は(ステップS105:実行指示)、画像処理装置30は、自機で該ジョブを実行する(ステップS106)。
管理サーバ10から受けた判断結果が、当該画像処理装置30を動作させているプログラムが該ジョブの実行に不具合のある(該ジョブの実行において不具合が生じる報告を受けている)バージョンのプログラムであり、該ジョブの実行に不具合のないバージョンのプログラムで動作する他の画像処理装置30を1台以上検出したことを示すものであれば(ステップS105:検出情報)、該ジョブの実行先の決定に関する選択をユーザから受け、その選択に応じた処理を実行する(ステップS107)。
管理サーバ10から受けた判断結果が、当該画像処理装置30を動作させているプログラムが該ジョブの実行に不具合のあるバージョンのプログラムであり、該ジョブの実行に不具合のないバージョンのプログラムで動作する他の画像処理装置30を検出できなかったことを示すものであれば(ステップS105:実行不可)、当該画像処理装置30の操作パネル38に、当該ジョブの実行に不具合発生の実績がないバージョンのプログラムで動作する画像処理装置30が管理対象の中に1台もないことを表示し、該ジョブの実行をキャンセルする(ステップS108)。
図15は、図14のステップS106の詳細を示す流れ図である。画像処理装置30は、投入されたジョブを自機で実行する旨を自機の操作パネル38に表示する(ステップS111)。そして、画像処理装置30のCPU31は、図14のステップS102で保存したジョブ情報をメモリから読み出し、該ジョブ情報に基づいてジョブを生成し(ステップS112)、該ジョブを実行する(ステップS113〜S118)。
詳細には、ステップS112で生成したジョブの種類を判別し(ステップS113)、コピージョブであれば(ステップS113;コピージョブ)、コピージョブを実行して(ステップS114)、本処理を終了する。プリントジョブであれば(ステップS113;プリントジョブ)、プリントジョブを実行して(ステップS115)、本処理を終了する。
FAXジョブであれば(ステップS113;FAXジョブ)、FAXジョブを実行して(ステップS116)、本処理を終了する。送信ジョブ(FAXジョブ以外の送信ジョブ)であれば(ステップS113;送信ジョブ)、該送信ジョブを実行して(ステップS117)、本処理を終了する。保存ジョブであれば(ステップS113;保存ジョブ)、保存ジョブを実行して(ステップS118)、本処理を終了する。
図16は、図14のS107の詳細を示す流れ図である。画像処理装置30は、管理サーバ10から受信した、不具合の報告されていないバージョンのプログラムで動作する画像処理装置30の情報を含む実行先選択画面を自機の操作パネル38に表示する(ステップS121)。実行先選択画面には、管理サーバ10から通知された、不具合の報告されていないバージョンのプログラムで動作する他の画像処理装置30の一覧と、該一覧に表示された個々の画像処理装置30を選択するための選択釦と、不具合が生じることを承知でジョブを自機で実行することを選択するためのリスク実行釦と、ジョブの実行をキャンセルするキャンセル釦等が表示される。
実行先選択画面に表示した選択肢に対する選択操作をユーザから受けると(ステップS122;Yes)、その選択操作の内容を判別する(ステップS123)。実行先選択画面に表示した一覧の中のいずれかの画像処理装置30を選択する操作を受けた場合は(ステップS123;他機依頼)、選択された画像処理装置30にジョブを実行させる処理を行う(ステップS124)。
リスク実行釦が選択された場合は(ステップS123;リスク実行)、自機でジョブを実行する(ステップS125)。キャンセル釦が選択された場合は(ステップS123;キャンセル)、該ジョブの実行をキャンセルする(ステップS126)。
図17は、図16のステップS124の詳細を示す流れ図である。画像処理装置30のCPU31は、図14のステップS102で保存したジョブ情報をメモリから読み出して取得し(ステップS131)、実行先選択画面の一覧から選択された他の画像処理装置30に該ジョブ情報と、該ジョブ情報が示すジョブの実行指示を送信する(ステップS132)。その後、自機の操作パネル38に、ユーザの選択した画像処理装置30にジョブ情報を送信し、該ジョブ情報が示すジョブの実行を指示した旨を表示する(ステップS133)。
図18は、図17のS132で送信したジョブ情報およびジョブの実行指示を受信する画像処理装置30が行う処理を示す流れ図である。他の画像処理装置30からジョブ情報とジョブの実行指示を受信したら(ステップS201;Yes)、他の画像処理装置30から依頼されたジョブを自機で実行する旨を自機の操作パネル38に表示する(ステップS202)。また、受信したジョブ情報に基づいてジョブを生成し(ステップS203)、該ジョブを実行する(ステップS204〜S209)。
詳細には、ステップS203で生成したジョブの種類を判別し(ステップS204)、コピージョブであれば(ステップS204;コピージョブ)、コピージョブを実行して(ステップS205)、本処理を終了する。プリントジョブであれば(ステップS204;プリントジョブ)、プリントジョブを実行して(ステップS206)、本処理を終了する。
FAXジョブであれば(ステップS204;FAXジョブ)、FAXジョブを実行して(ステップS207)、本処理を終了する。送信ジョブ(FAXジョブ以外の送信ジョブ)であれば(ステップS204;送信ジョブ)、該送信ジョブを実行して(ステップS208)、本処理を終了する。保存ジョブであれば(ステップS204;保存ジョブ)、保存ジョブを実行して(ステップS209)、本処理を終了する。
図19は、図16のステップS125の詳細を示す流れ図である。自機の稼動プログラムで過去に生じた不具合の状況、たとえば、不具合の発生件数、発生確率、不具合の内容等を表示し、このような不具合が生じるリスクを承知でジョブを自機で実行する旨を自機の操作パネル38に表示する(ステップS141)。
次に、図14のステップS102で保存したジョブ情報をメモリから読み出し、該ジョブ情報に基づいてジョブを生成し(ステップS142)、該ジョブを実行する(ステップS143〜S148)。
詳細には、ステップS142で生成したジョブの種類を判別し(ステップS143)、コピージョブであれば(ステップS143;コピージョブ)、コピージョブを実行して(ステップS144)、本処理を終了する。プリントジョブであれば(ステップS143;プリントジョブ)、プリントジョブを実行して(ステップS145)、本処理を終了する。
FAXジョブであれば(ステップS143;FAXジョブ)、FAXジョブを実行して(ステップS146)、本処理を終了する。送信ジョブ(FAXジョブ以外の送信ジョブ)であれば(ステップS143;送信ジョブ)、該送信ジョブを実行して(ステップS147)、本処理を終了する。保存ジョブであれば(ステップS143;保存ジョブ)、保存ジョブを実行して(ステップS148)、本処理を終了する。
図20は、図14のステップS113で操作対象の画像処理装置30によって送信されたジョブ情報を受信した管理サーバ10が行う処理を示す流れ図である。
管理サーバ10は、操作対象の画像処理装置30からジョブ情報を受信すると(ステップS301;Yes)、自装置で記憶管理しているプログラム管理テーブル92を参照して、操作対象の画像処理装置30を動作させているプログラムについて報告されている不具合の有無、および報告されている不具合がある場合はその不具合の内容が、ステップS301で受信したジョブ情報が示すジョブ(あるいは該ジョブの実行で使用する機能)と一致するか否か、すなわち、操作対象の画像処理装置30を動作させているバージョンのプログラムに、ジョブ情報が示すジョブの実行で不具合が発生した実績があるか否かを確認する(ステップS302)。
操作対象の画像処理装置30を動作させているバージョンのプログラムに、ステップS301で受信したジョブ情報が示すジョブの実行で不具合が発生した実績(報告)がなければ(ステップS303;Yes)、操作対象の画像処理装置30に対して自機でジョブを実行する旨の実行指示を判断結果として送信して(ステップS304)本処理を終了する。
操作対象の画像処理装置30を動作させているバージョンのプログラムに、ステップS301で受信したジョブ情報が示すジョブの実行で不具合が発生した実績がある場合は(ステップS303;No)、該ジョブ情報が示すジョブの実行で不具合が発生した実績のないバージョンのプログラムで動作する画像処理装置30を、プログラム管理テーブル92を参照して検索する(ステップS305)。
検索の結果、該当する画像処理装置30が無ければ(ステップS306;No)、受信したジョブ情報が示すジョブの実行で不具合が発生した実績のない画像処理装置30が管理対象の中に存在しない旨、および該ジョブの実行不可を示す判断結果を、操作対象の画像処理装置30に送信して(ステップS307)本処理を終了する。
検索の結果、該当する画像処理装置30が存在すれば(ステップS306;Yes)、該当する画像処理装置30の情報を含む判断結果を、操作対象の画像処理装置30に送信して(ステップS308)本処理を終了する。
<ケース3>
ケース3では、操作表示装置70でジョブの投入を受け付け、操作対象の画像処理装置30が該ジョブの実行に不具合のあるバージョンのプログラムで動作する画像処理装置30か否かを管理サーバ10で判断する。操作表示装置70は、操作対象の画像処理装置30が予め設定されており、操作対象の画像処理装置30に対するジョブの投入操作を受け付ける。
図21は、ケース3において操作表示装置70が行う処理を示す流れ図である。操作表示装置70は、自装置の操作部75でジョブの投入操作を受けると(ステップS401;Yes)、該ジョブの情報(ジョブ投入時に受けた操作釦の情報)を自装置のメモリ(RAM72や不揮発メモリ74)に保存する(ステップS402)。
次に、上記ジョブの情報と操作対象の画像処理装置30の情報を管理サーバ10に送信し(ステップS403)、管理サーバ10からの該ジョブの実行先に関する判断結果の受信を待つ(ステップS404;No)。管理サーバ10から判断結果を受信したら(ステップS404;Yes)、その判断結果に応じて以下の処理を行う(ステップS405〜S408)。
管理サーバ10から受けた判断結果が、操作対象の画像処理装置30を動作させているプログラムが、ステップS401で受けたジョブの実行に不具合のない(該ジョブの実行に不具合が生じる報告を受けていない)バージョンのプログラムであることを示す場合は(ステップS405:実行指示)、操作表示装置70は、操作対象の画像処理装置30に該ジョブを実行させる(ステップS406)。
管理サーバ10から受けた判断結果が、操作対象の画像処理装置30を動作させているプログラムが、ステップS401で受けたジョブの実行に不具合のある(該ジョブの実行に不具合が生じる報告を受けている)バージョンのプログラムであり、該ジョブの実行に不具合のないバージョンのプログラムで動作する他の画像処理装置30を1台以上検出したことを示すものであれば(ステップS405:検出情報)、該ジョブの実行先の決定に関する選択をユーザから受け、その選択に応じた処理を実行する(ステップS407)。
管理サーバ10から受けた判断結果が、操作対象の画像処理装置30を動作させているプログラムが、ステップS401で受けたジョブの実行に不具合のあるバージョンのプログラムであり、該ジョブの実行に不具合のないバージョンのプログラムで動作する他の画像処理装置30を検出できなかったことを示すものであれば(ステップS405:実行不可)、操作表示装置70の表示部76に、当該ジョブの実行において不具合発生の実績がないバージョンのプログラムで動作する画像処理装置30が管理対象の中に1台もないことを表示し、該ジョブの実行をキャンセルする(ステップS408)。
図22は、図21のステップS406で送信されたジョブ情報等を受信した操作対象の画像処理装置30が行う処理を示す流れ図である。操作対象の画像処理装置30は、操作表示装置70からジョブ情報とジョブの実行指示を受信すると(ステップS501;Yes)、操作表示装置70から受信したジョブ情報が示すジョブを自機で実行する旨を自装置の操作パネル38に表示する(ステップS502)。そして、ステップS501で受信したジョブ情報に基づいてジョブを生成し(ステップS503)、該ジョブを実行する(ステップS504〜S509)。
詳細には、ステップS503で生成したジョブの種類を判別し(ステップS504)、コピージョブであれば(ステップS504;コピージョブ)、コピージョブを実行して(ステップS505)、本処理を終了する。プリントジョブであれば(ステップS504;プリントジョブ)、プリントジョブを実行して(ステップS506)、本処理を終了する。
FAXジョブであれば(ステップS504;FAXジョブ)、FAXジョブを実行して(ステップS507)、本処理を終了する。送信ジョブ(FAXジョブ以外の送信ジョブ)であれば(ステップS504;送信ジョブ)、該送信ジョブを実行して(ステップS508)、本処理を終了する。保存ジョブであれば(ステップS504;保存ジョブ)、保存ジョブを実行して(ステップS509)、本処理を終了する。
図23は、図21のS407の詳細を示す流れ図である。操作表示装置70は、管理サーバ10から受信した、不具合の報告されていないバージョンのプログラムで動作する画像処理装置30の情報を含む、実行先選択画面を自装置の表示部76に表示する(ステップS421)。実行先選択画面には、管理サーバ10から通知された、不具合の報告されていないバージョンのプログラムで動作する画像処理装置30の一覧と、該一覧に表示された個々の画像処理装置30を選択するための選択釦と、不具合が生じることを承知でジョブを操作対象の画像処理装置30で実行することを選択するためのリスク実行釦と、ジョブの実行をキャンセルするキャンセル釦等が表示される。
実行先選択画面に表示した選択肢に対する選択操作をユーザから受けると(ステップS422;Yes)、その選択操作の内容を判別する(ステップS423)。実行先選択画面に表示した一覧の中のいずれかの画像処理装置30を選択する操作を受けた場合は(ステップS423;選択MFPで実行)、選択された画像処理装置30にジョブを実行させる処理を行う(ステップS424)。
リスク実行釦が選択された場合は(ステップS423;リスク実行)、操作対象の画像処理装置30に、ジョブ情報とジョブの実行指示と不具合の生じるリスクに関する情報を送信し、リスクを承知でジョブを実行させる(ステップS425)。キャンセル釦が選択された場合は(ステップS423;キャンセル)、該ジョブの実行をキャンセルする(ステップS426)。
図24は、図23のステップS424の詳細を示す流れ図である。操作表示装置70のCPU71は、図21のステップS402で保存したジョブ情報をメモリから読み出して取得し(ステップS431)、実行先選択画面の一覧から選択された画像処理装置30に該ジョブ情報と、該ジョブ情報が示すジョブの実行指示を送信する(ステップS432)。その後、自装置の表示部76に、ユーザの選択した画像処理装置30にジョブ情報を送信し、該ジョブ情報が示すジョブの実行を指示した旨を表示する(ステップS433)。
図24のS432で送信したジョブ情報およびジョブの実行指示を受信する画像処理装置30が行う処理は、図22に示す処理と同一であり、その説明は省略する。
図25は、図23のステップS425で送信したジョブ情報、ジョブの実行指示、リスク情報を受信する操作対象の画像処理装置30が行う処理を示す流れ図である。操作対象の画像処理装置30は、操作表示装置70からジョブ情報、ジョブの実行指示、リスク情報を受信すると(ステップS521;Yes)、自機の稼動プログラムで過去に生じた不具合の状況、たとえば、不具合の発生件数、発生確率、不具合の内容等を表示し、このような不具合が生じるリスクを承知でジョブを自機で実行する旨を自機の操作パネル38に表示する(ステップS522)。
次に、ステップS521で受信したジョブ情報に基づいてジョブを生成し(ステップS523)、該ジョブを実行する(ステップS524〜S529)。
詳細には、ステップS523で生成したジョブの種類を判別し(ステップS524)、コピージョブであれば(ステップS524;コピージョブ)、コピージョブを実行して(ステップS525)、本処理を終了する。プリントジョブであれば(ステップS524;プリントジョブ)、プリントジョブを実行して(ステップS526)、本処理を終了する。
FAXジョブであれば(ステップS524;FAXジョブ)、FAXジョブを実行して(ステップS527)、本処理を終了する。送信ジョブ(FAXジョブ以外の送信ジョブ)であれば(ステップS524;送信ジョブ)、該送信ジョブを実行して(ステップS528)、本処理を終了する。保存ジョブであれば(ステップS524;保存ジョブ)、保存ジョブを実行して(ステップS529)、本処理を終了する。
図26は、図21のステップS403で操作表示装置70によって送信されたジョブ情報を受信した管理サーバ10が行う処理を示す流れ図である。管理サーバ10は、操作表示装置70からジョブ情報と、操作対象の画像処理装置30の情報(装置ID等)を受信すると(ステップS601;Yes)、自装置で記憶管理しているプログラム管理テーブル92を参照して、操作対象の画像処理装置30を動作させているバージョンのプログラムについて報告されている不具合の有無、および報告されている不具合がある場合はその不具合の内容が、ステップS601で受信したジョブ情報が示すジョブ(あるいは該ジョブの実行で使用する機能)と一致するか否か、すなわち、操作対象の画像処理装置30を動作させているバージョンのプログラムに、ジョブ情報が示すジョブの実行で不具合が発生した実績があるか否かを確認する(ステップS602)。
操作対象の画像処理装置30を動作させているバージョンのプログラムに、ステップS601で受信したジョブ情報が示すジョブの実行で不具合が発生した実績がなければ(ステップS603;Yes)、操作対象の画像処理装置30に自機でジョブを実行する旨の実行指示を判断結果として送信して(ステップS604)本処理を終了する。
操作対象の画像処理装置30を動作させているバージョンのプログラムに、ステップS601で受信したジョブ情報が示すジョブの実行で不具合が発生した実績がある場合は(ステップS603;No)、該ジョブ情報が示すジョブの実行で不具合が発生した実績のないバージョンのプログラムで動作する画像処理装置30を、プログラム管理テーブル92を参照して検索する(ステップS605)。
検索の結果、該当する画像処理装置30が無ければ(ステップS606;No)、受信したジョブ情報が示すジョブの実行で不具合が発生した実績のない画像処理装置30が管理対象の中に存在しない旨、および該ジョブの実行不可を示す判断結果を、操作表示装置70に送信して(ステップS607)本処理を終了する。
検索の結果、該当する画像処理装置30が存在すれば(ステップS606;Yes)、該当する画像処理装置30の情報を示す判断結果を、操作表示装置70に送信して(ステップS608)本処理を終了する。
<ケース4>
ケース4では、画像処理装置30でジョブの投入を受け付け、当該画像処理装置30の稼動プログラムが該ジョブの実行に不具合のあるバージョンのプログラムか否かを自装置で判断する。
図27は、ケース4において画像処理装置30が行う処理を示す流れ図である。画像処理装置30は、自装置の操作パネル38でジョブの投入操作を受けると(ステップS701;Yes)、該ジョブの情報(ジョブ投入時に受けた操作釦の情報)を自装置のメモリ(RAM33や不揮発メモリ34)に保存する(ステップS702)。
次に、管理サーバ10が記憶管理しているプログラム管理テーブル92を管理サーバ10から取得して参照し、自装置を動作させているバージョンのプログラムについて報告されている不具合の有無、および報告されている不具合がある場合はその不具合の内容が、ステップS701で投入されたたジョブ(あるいは該ジョブの実行で使用する機能)と一致するか否か、すなわち、自装置を稼動させているバージョンのプログラムに、ステップS701で投入されたものと同種のジョブの実行で不具合が発生した実績があるか否かを確認する(ステップS703)。
不具合が発生した実績がなければ(ステップS704;Yes)、自機でジョブを実行して(ステップS705)本処理を終了する。
不具合が発生した実績がある場合は(ステップS704;No)、該ジョブの実行で不具合が発生した実績のないバージョンのプログラムで動作する画像処理装置30を、管理サーバ10から取得したプログラム管理テーブル92を参照して検索する(ステップS706)。
検索の結果、該当する画像処理装置30が無ければ(ステップS707;No)、投入されたジョブの実行で不具合が発生した実績のない画像処理装置30が管理対象の中に存在しない旨、および該ジョブの実行不可を自装置の操作パネル38に表示し、該ジョブの実行をキャンセルして(ステップS708)本処理を終了する。
検索の結果、該当する画像処理装置30が存在すれば(ステップS707;Yes)、ジョブの実行先の決定に関する選択の操作を受け付け、その選択に従って処理を実行し(ステップS709)本処理を終了する。
なお、ステップS709の詳細は、図16に示す処理(ステップS121〜S126)と同一であり、その説明は省略する。また、不具合の無いバージョンのプログラムで動作する他の画像処理装置30がジョブ情報等を受信し、その受信したジョブ情報に基づくジョブを実行する処理は、図18に示す処理(ステップS201〜S209)と同一である。リスクを承知でジョブを自機で実行する場合の処理は、図19に示す処理(ステップS151〜S148)と同一である。
<ケース5>
ケース5は、操作表示装置70でジョブの投入を受け付け、操作表示装置70に対して予め設定されている操作対象の画像処理装置30が該ジョブの実行に不具合のあるバージョンのプログラムで稼動する画像処理装置30か否かを操作対象の画像処理装置30で判断する。
図28は、ケース5において操作表示装置70が行う処理を示す流れ図である。操作表示装置70は、自装置の操作部75でジョブの投入操作を受けると(ステップS801;Yes)、該ジョブの情報(ジョブ投入時に受けた操作釦の情報)を自装置のメモリ(RAM72や不揮発メモリ74)に保存する(ステップS802)。
次に、上記ジョブの情報を操作対象の画像処理装置30に送信し(ステップS803)、操作対象の画像処理装置30からの該ジョブの実行先に関する判断結果の受信を待つ(ステップS804;No)。操作対象の画像処理装置30から判断結果を受信したら(ステップS804;Yes)、その判断結果に応じて以下の処理を行う(ステップS805〜S808)。
操作対象の画像処理装置30から受けた判断結果が、操作対象の画像処理装置30でジョブを実行することを示す場合は(ステップS805;操作対象で実行)、操作表示装置70は、操作対象の画像処理装置30でジョブが実行される旨を当該操作表示装置70の表示部76に表示して(ステップS807)本処理を終了する。
操作対象の画像処理装置30から受けた判断結果が、操作対象の画像処理装置30を動作させているプログラムが、ステップS801で受けたジョブの実行に不具合のある(該ジョブの実行に不具合が生じる報告を受けている)バージョンのプログラムであり、該ジョブの実行に不具合のないバージョンのプログラムで動作する他の画像処理装置30を1台以上検出したことを示すものであれば(ステップS805:検出情報)、該ジョブの実行先の決定に関する選択をユーザから受け、その選択に応じた処理を実行する(ステップS807)。
操作対象の画像処理装置30から受けた判断結果が、操作対象の画像処理装置30を稼動させているプログラムが、ステップS801で受けたジョブの実行に不具合のあるバージョンのプログラムであり、該ジョブの実行に不具合のないバージョンのプログラムで稼動する他の画像処理装置30を検出できなかったことを示すものであれば(ステップS805:実行不可)、自装置の表示部76に、投入されたジョブの実行において不具合発生の実績がないバージョンのプログラムで稼動する画像処理装置30が管理対象の中に1台もないことを表示し、該ジョブの実行をキャンセルする(ステップS808)。
図29は、図28のステップS803で送信されたジョブ情報を受信した操作対象の画像処理装置30が行う処理を示す流れ図である。操作対象の画像処理装置30は、操作表示装置70からジョブ情報を受信すると(ステップS901;Yes)、該ジョブ情報を自装置のメモリに保存する(ステップS902)。
次に、管理サーバ10が記憶管理しているプログラム管理テーブル92を管理サーバ10から取得して参照し、自装置を稼動させているバージョンのプログラムについて報告されている不具合の有無、および報告されている不具合がある場合はその不具合の内容が、ステップS901で受信したジョブ情報が示すジョブ(あるいは該ジョブの実行で使用する機能)と一致するか否か、すなわち、自装置を稼動させているバージョンのプログラムに、ステップS901で受信したジョブ情報が示すジョブと同種のジョブの実行で不具合が発生した実績があるか否かを確認する(ステップS903)。
不具合が発生した実績がなければ(ステップS904;Yes)、自機でジョブを実行して(ステップS905)本処理を終了する。
不具合が発生した実績がある場合は(ステップS904;No)、該ジョブの実行で不具合が発生した実績のないバージョンのプログラムで稼動する画像処理装置30を、管理サーバ10から取得したプログラム管理テーブル92を参照して検索する(ステップS906)。
検索の結果、該当する画像処理装置30が無ければ(ステップS907;No)、ステップS901で受信したジョブ情報が示すジョブの実行で不具合が発生した実績のない画像処理装置30が管理対象の中に存在しない旨、および該ジョブの実行不可を自装置の操作表示装置70に通知して(ステップS908)本処理を終了する。
検索の結果、該当する画像処理装置30が存在すれば(ステップS907;Yes)、該当する画像処理装置30の情報を示す判断結果を、操作表示装置70に送信して(ステップS909)本処理を終了する。
図30は、図29のステップS905の詳細を示している。操作対象の画像処理装置30は、操作表示装置70で投入されたジョブを操作対象の画像処理装置30で実行する旨を操作表示装置70に送信して表示させる(ステップS931)。次に、図29のステップS902で保存したジョブ情報をメモリから読み出し、該ジョブ情報に基づいてジョブを生成し(ステップS932)、該ジョブを実行する(ステップS933〜S938)。
詳細には、ステップS932で生成したジョブの種類を判別し(ステップS933)、コピージョブであれば(ステップS933;コピージョブ)、コピージョブを実行して(ステップS934)、本処理を終了する。プリントジョブであれば(ステップS933;プリントジョブ)、プリントジョブを実行して(ステップS935)、本処理を終了する。
FAXジョブであれば(ステップS933;FAXジョブ)、FAXジョブを実行して(ステップS936)、本処理を終了する。送信ジョブ(FAXジョブ以外の送信ジョブ)であれば(ステップS933;送信ジョブ)、該送信ジョブを実行して(ステップS937)、本処理を終了する。保存ジョブであれば(ステップS933;保存ジョブ)、保存ジョブを実行して(ステップS938)、本処理を終了する。
なお、図28のステップS807の詳細は、図23に示す処理(ステップS421〜S426)と同一であり、その説明は省略する。また、不具合の無いバージョンのプログラムで稼動する他の画像処理装置30がジョブ情報等を受信し、その受信したジョブ情報に基づくジョブを実行する処理は、図22に示す処理(ステップS501〜S509)と同一である。リスクを承知でジョブを自機で実行する場合の処理は、図25に示す処理(ステップS521〜S529)と同一である。
<ケース6>
ユーザ端末50にインストールされてユーザ端末50で実行されるプリンタドライバプログラムが、ジョブを受け付け、さらに該ジョブの実行先の判断を行う。
図31は、ケース6においてプリンタドライバプログラムに従って動作するユーザ端末50(情報処理装置)が行う処理を示す流れ図である。ユーザ端末50は、自端末の操作パネル60でジョブの投入操作を受けると(ステップS1001;Yes)、該ジョブの情報(ジョブ投入時に受けた操作釦の情報)を自端末のメモリ(RAM53や不揮発メモリ54)に保存する(ステップS1002)。
次に、管理サーバ10が記憶管理しているプログラム管理テーブル92を管理サーバ10から取得して参照し、操作対象の画像処理装置30を動作させているバージョンのプログラムについて報告されている不具合の有無、および報告されている不具合がある場合はその不具合の内容が、ステップS1001で投入されたたジョブ(あるいは該ジョブの実行で使用する機能)と一致するか否か、すなわち、操作対象の画像処理装置30を動作させているバージョンのプログラムに、ステップS1001で投入されたジョブと同種のジョブの実行で不具合が発生した実績があるか否かを確認する(ステップS1003)。
不具合が発生した実績がなければ(ステップS1004;Yes)、操作対象の画像処理装置30にジョブを送信して実行させる(ステップS1005)。
不具合の発生した実績がある場合は(ステップS1004;No)、該ジョブの実行で不具合が発生した実績のないバージョンのプログラムで動作する画像処理装置30を、管理サーバ10から取得したプログラム管理テーブル92を参照して検索する(ステップS1006)。
検索の結果、該当する画像処理装置30が無ければ(ステップS1007;No)、投入されたジョブの実行で不具合が発生した実績のない画像処理装置30が管理対象の中に存在しない旨、および該ジョブの実行不可を自端末50の操作パネル60に表示し、該ジョブの実行をキャンセルして(ステップS1008)本処理を終了する。
検索の結果、該当する画像処理装置30が存在すれば(ステップS1007;Yes)、実行先の決定に関する選択の操作を受け付け、その選択に従って処理を実行して(ステップS1009)本処理を終了する。
なお、ステップS1009の詳細は、操作表示装置70をユーザ端末50に入れ替えれば図23に示す処理(ステップS421〜S426)と同一であり、その説明は省略する。
次に、管理サーバ10が外部装置2から新たなバージョンのプログラムへの更新可能通知を受信した場合に行うプログラムの更新処理の第2の態様について説明する。
図6に示す処理では、管理対象のすべての画像処理装置30について、各画像処理装置30がプログラムの書き換え可能な状態になったらその画像処理装置30についてプログラムを更新する制御を行った。プログラムの更新処理の第2の態様では、外部装置2から新たなバージョンのプログラムの発行通知(更新可能通知)を受けた場合、該発行通知を受けてから所定期間が経過するまで、もしくは、該新たなバージョンのプログラム(新プログラム)にデグレードが無いことが所定量の使用実績により確認されるまで、管理対象の複数の画像処理装置30のうちの少なくとも1台は、新たなバージョンのプログラムへの更新を禁止する。
図32は、第2の態様に係るプログラムの更新処理の流れを示している。管理サーバ10が2台以上の画像処理装置30を管理対象とする状態で(ステップS1101;Yes)、外部装置2から新プログラムへの更新可能通知を受信すると(ステップS1102;Yes)、管理サーバ10は、該更新可能通知を受信してからの経過時間の計測を開始する(ステップS1103)。
計測している経過時間が予め定めた基準時間以下の場合は(ステップS1104;No)、少なくとも1台の画像処理装置30は新プログラムへの更新を禁止して旧プログラムで動作させる(ステップS1105)。更新を禁止しない画像処理装置30については、その画像処理装置30がプログラムの書き換え可能な状態になったらその画像処理装置30のプログラムを新プログラムに更新する。
計測している経過時間が予め定めた基準時間を超えた場合は(ステップS1104;;Yes)、新プログラムへの更新禁止を解除し、管理対象のすべての画像処理装置30のプログラムを新プログラムに更新させる(ステップS1106)。
更新可能通知を受信してから基準時間が経過するまでの間は、新プログラムで動作する画像処理装置30と旧プログラムで動作する画像処理装置30が混在する状態が形成される。そこで、たとえば、旧プログラムで不具合が生じたが新プログラムで改修された機能を使用するジョブは新プログラムで動作する画像処理装置30に実行させ、旧プログラムで不具合の生じた機能を使用しないジョブは旧プログラムで動作する画像処理装置30に実行させるようにジョブの実行先を選択する。
なお、図32の流れ図では、経過時間を基準に、更新の禁止・禁止解除を切り換えたが、新プログラムにデグレードが無いことが所定量の使用実績(管理対象以外の画像処理装置30、たとえば、他のオフィスにおける使用実績)により確認されるまで、少なくとも1台の画像処理装置30について新プログラムへの更新を禁止するようにしてもよい。
基準時間は適宜に設定すればよいが、たとえば、1か月〜数か月が適当であろう。
以上、本発明の実施の形態を図面によって説明してきたが、具体的な構成は実施の形態に示したものに限られるものではなく、本発明の要旨を逸脱しない範囲における変更や追加があっても本発明に含まれる。
実施の形態では、ジョブの投入操作を操作パネル38や操作表示装置70で受け付けたが、投入操作は、操作パネルのハード釦やタッチスクリーンに表示した操作釦に対する押下やタッチの操作によって受け付ける必要はなく、任意の方法でよい。たとえば、空中で行われる操作(ジェスチャー)をカメラで撮影して解析することで、空中で行われた操作によって各種の入力操作や選択操作を可能とするユーザI/F、ユーザが操作パネルや操作画面を見る視線を検出し、その視線の動きで操作釦の押下や選択を可能とするようなユーザI/F、音声で操作内容を指示するユーザI/Fなどにより、ジョブの投入やその他の選択操作を受け付けるようにしてもよい。
個々の画像処理装置30の稼動プログラムを書き換えるためのシーケンスは任意でよい。たとえば、新プログラムへの更新や旧プログラムへの書き換えを管理サーバ10が各画像処理装置30に指示する方式、各画像処理装置30が新プログラムの有無や旧プログラムへの書き換えの有無を周期的あるいは適時に管理サーバ10に問い合わせし該当のプログラムがあればダウンロードして更新する方式、など任意でよい。