画像処理装置及びその制御方法
【課題】 互いに独立した複数のソフトウェアパーツを組み合わせて実現することでジョブを実行することで、ファームウェアの削除・更新を高速にでき、且つ、タイマジョブを遂行するソフトウェアパーツについて、一般のジョブに支障を来さない範囲で適宜削除・更新する。
【解決手段】 画像処理ジョブに関する1つのソフトウェアパーツについて更新する場合、タイマジョブとして実行待ちになっているジョブ中に、更新対象となるソフトウェアパーツが含まれているか否かを判定し(S11)、含まれていないと判定した場合には更新処理を行う(S12)。また、含まれているが、ネットワーク上の他の画像処理装置が備えるソフトウェアパーツで代替できると判断した場合には、該当するジョブを実行するソフトウェアパーツの再構築し、更新する(S15)。また、代替する画像処理装置が存在しないと判断した場合には、その更新要求を保留にするため、保存する(S14)。
【解決手段】 画像処理ジョブに関する1つのソフトウェアパーツについて更新する場合、タイマジョブとして実行待ちになっているジョブ中に、更新対象となるソフトウェアパーツが含まれているか否かを判定し(S11)、含まれていないと判定した場合には更新処理を行う(S12)。また、含まれているが、ネットワーク上の他の画像処理装置が備えるソフトウェアパーツで代替できると判断した場合には、該当するジョブを実行するソフトウェアパーツの再構築し、更新する(S15)。また、代替する画像処理装置が存在しないと判断した場合には、その更新要求を保留にするため、保存する(S14)。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、多機能画像処理装置におけるソフトウェアパーツの更新技術に関するものである。
【背景技術】
【0002】
ネットワークの利用が進み、ネットワーク上に様々なデバイスを設置することが行われている。通常、ネットワークには、各クライアントPCで共有する装置、例えば画像処理装置(印刷装置や、印刷・FAX・スキャナ・コピー等の複数の機能を有する複合機)を設置している。このような画像処理装置は、内部にCPU(プロセッサ)を搭載し、クライアントから受信したジョブを解析し、処理することが行われる。
【0003】
画像処理装置が実行できる機能は、その装置のハードウェアリソースの範囲内であれば、CPUが実行するプログラム(ファームウェア)を更新することで、容易に変更、追加することができる。また、通常、ジョブを受信した場合には、そのジョブをキューに登録し、順次実行することが多い。
【0004】
さて、上記のような画像処理装置において、ファームウェアを更新する場合には、その更新中に新たなジョブを受信することがないように、オフラインにした上でファームウェアの更新を行う。
【0005】
かかる技術に関連するものとして、ファームウェアの書き換えとプリントジョブの実行の最適化を目的とする技術が提案されている(例えば、特許文献1)。この技術は、プリントジョブとファームウェアの更新が同時に発生した場合、プリントジョブを他の画像処理装置に転送し、その転送後にファームウェアを更新するというものである。
【特許文献1】特開2003−054087号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
一方、投入と同時に処理が実行されるジョブとは異なり、実行タイミングが指定されるタイマージョブが知られている。しかしながら、ジョブキュー(ジョブ実行キュー)にジョブが登録されていないことを理由に、ソフトウェアを更新又は削除した場合に不都合を生じることがある。例えば、実際にはタイマージョブが登録されており、後にタイマージョブを実行する為にジョブ実行キューにタイマージョブを登録すると、タイマージョブ登録時のソフトウェアが変更又は削除されており不都合を生じることがある。
【0007】
一方、これまでの技術のファームウェアの更新は、画像処理装置におけるジョブの未登録が前提であった。ジョブを登録したままでも、ソフトウェア更新が行える行えるよう改善が望まれる。
【0008】
本発明はかかる問題点に鑑みなされたものであり、画像処理装置に登録されるタイマージョブを考慮したソフトウェア変更を行える技術を提供しようとするものである。
【0009】
また、ジョブを登録したままでも、ソフトウェア更新が行える行える技術を提供しようとするものである。
【課題を解決するための手段】
【0010】
上記課題を解決するため、例えば本発明の画像処理装置は以下の構成を備える。すなわち、
互いに独立して実行可能なソフトウェアパーツを記憶する書き換え可能な記憶保持手段を有し、前記ソフトウェアパーツを組み合わせて多種類のジョブを実行する画像処理装置であって、
処理実行タイミングが指定されたタイマジョブを登録する登録手段と、
該登録手段で登録されたタイマジョブの種類に依存し、利用されるソフトウェアパーツを特定する情報を記憶するソフトウェアパーツリスト記憶手段と、
所望とするソフトウェアパーツの変更要求が発生した場合、変更要求対象となるソフトウェアパーツが、前記登録手段で登録されたタイマジョブで利用されているか否かを、前記ソフトウェアパーツリスト記憶手段を参照することで判別する判別手段とを備える。
【発明の効果】
【0011】
本発明によれば、画像処理装置に登録されるタイマージョブを考慮したソフトウェア変更を行える。
【0012】
また、他の発明によれば、ジョブを登録したままでも、ソフトウェア更新が行える行える。
【発明を実施するための最良の形態】
【0013】
以下、添付図面に従って本発明に係る実施形態を詳細に説明する。
【0014】
<第1の実施形態>
第1の実施形態を説明する。
【0015】
まず本実施形態に関わるネットワーク上のシステム構成の一例を、図1を参照しながら説明する。
【0016】
ローカルエリアネットワーク(LAN)40上には、パーソナルコンピュータ等の汎用情報処理装置(以下、PC)10、11、複写機やプリンタなどの画像形成装置20、21、22、23が存在する。ネットワークは、LANだけでなく、インターネットでも構わない。また、図1は、PCが2台、画像形成装置が4台が接続されている例を示しているが、これらの数に制限はないし、接続されるノードもPC、画像形成装置以外のデバイスを含んでも構わない。
【0017】
次に、図2にて画像形成装置(MFP)20、21、22、23のコントローラブロック図の一例を説明する。
【0018】
メインコントローラ111は、主にCPU112と、バスコントローラ113、各種I/Oコントローラ回路とから構成される。CPU112とバスコントローラ113は制御装置110全体の動作を制御するものであり、CPU112はブート時にROM114からROM I/F115を経由して読込んだブート用プログラムに基づいて動作する。
【0019】
バスコントローラ113は各I/Fから入出力されるデータ転送を制御するものであり、バス競合時の調停やDMAデータ転送の制御を行う。DRAM116はDRAM I/F117によってメインコントローラ111と接続されており、CPU112が処理するプログラムをロードするため、及び、CPU112のワークエリアや、画像データを蓄積するためのエリアとして使用される。Codec118は、DRAM116に蓄積されたラスターイメージデータをMH/MR/MMR/JBIG/JPEG等の方式で圧縮し、また逆に圧縮され蓄積されたコードデータをラスターイメージデータに伸長(デコード)する。SRAM119はCodec118の一時的なワーク領域として使用される。Codec118はI/F120を介してメインコントローラ111と接続され、DRAM116との間のデータの転送は、バスコントローラ113によって制御されDMA転送される。
【0020】
Graphic Processor135は、画像回転、変倍処理の処理を行う。外部通信I/F121はI/F122によってメインコントローラ111と接続され、コネクタ122によってネットワーク40や公衆回線と接続される。汎用高速バス125には、拡張ボードを接続するための拡張コネクタ124とI/O制御部126とが接続される。汎用高速バスとしては、一般的にPCIバスがあげられる。I/O制御部126には、図示しないリーダー装置、プリンタ装置の各CPUと制御コマンドを送受信するための調歩同期シリアル通信コントローラ127が2チャンネル装備されている。このため、I/O制御部126には、I/Oバス128によって外部I/F回路140、145が接続されている。パネルI/F132は、LCDコントローラ131に接続され、図示しない操作部上の液晶画面に表示を行うためのI/Fを備える。また、パネルI/F132には、ハードキーやタッチパネルキーの入力を行うためのキー入力I/F130を有する。リアルタイムクロックモジュール133は、機器内で管理する日付と時刻を更新/保存するためのもので、バックアップ電池134によってバックアップされている。
【0021】
E−IDEインタフェース161は、外部記憶装置を接続するためのものである。本実施形態においては、このI/Fを介してハードディスクドライブ160を接続し、ハードディスク162へ画像データを記憶させたり、ハードディスク162から画像データを読み込ませたりする動作を行う。ハードディスク162には、本実施形態に係るOSをはじめ、各種ソフトウェアコードが保存されており、このソフトウェアコードのアップデイト処理などにも利用される。
【0022】
ソフトウェアコードは、いくつかのソフトウェアパーツに分かれており、それらのソフトウェアパーツそれぞれが、アップデイト、もしくは削除可能なパーツとなっている。このソフトウェアパーツのアップデイト処理時には、先ず、このハードディスク内にテンポラリ領域を設け、そのテンポラリ領域にアップデイトする新しいソフトウェアパーツを一時的に保存する。その後、正式な保存領域に格納されたソフトウェアパーツのアップデイト処理を行う。また、アップデイト処理を行う際は、同じハードディスク内に設けたバックアップ領域に、バックアップを行ってから実際のアップデイト処理が行われる。
【0023】
コネクタ142と147は、それぞれ図示しないリーダー装置やプリンタ装置に接続され、同調歩同期シリアルI/F(143,148)とビデオI/F(144,149)とから構成される。スキャナI/F140は、コネクタ142を介してリーダー装置と接続され、また、スキャナバス141によってメインコントローラ111と接続されている。また、スキャナI/F140は、リーダー装置から受け取った画像に対して所定の処理を施す機能を有し、さらに、リーダー装置から送られたビデオ制御信号をもとに生成した制御信号を、スキャナバス141に出力する機能も有する。スキャナバス141からDRAM116へのデータ転送は、バスコントローラ113によって制御される。
【0024】
プリンタI/F145は、コネクタ147を介してプリンタ装置(プリンタエンジン)と接続されている。このプリンタI/F145は、プリンタバス146によってメインコントローラ111と接続されており、メインコントローラ111から出力された画像データに所定の処理を施して、プリンタ装置へ出力する機能を有する。また、プリンタI/F145は、プリンタ装置から送られたビデオ制御信号をもとに生成した制御信号を、プリンタバス146に出力する機能も有する。DRAM116上に展開されたラスターイメージデータのプリンタ装置への転送は、バスコントローラ113によって制御され、プリンタバス146、ビデオI/F149を経由して、プリンタ装置へDMA転送される。
【0025】
上記構成において、本実施形態の画像形成装置20に電源が投入されると、CPU112は、ROM114のブートプログラムに従って装置全体の初期化処理を行なう。次いで、ハードディスクドライブ160を制御し、ハードディスク162に記憶されたOS(マルチタスクOS)をDRAM116に読み込む。この後、必要に応じて、各種プログラムパーツを同様にハードディスク162からRAM116に読み込み実行することで、複合機(MFP)として機能する。
【0026】
ここで、各種プログラムパーツは、それぞれが独立して実行するスレッドとして実行されるものであり、様々なものが含まれる。実施形態における画像形成装置は、スキャナ機能、プリンタ機能、複写機能、ファクシミリ機能、電子メール機能を搭載する。ここでスキャナ機能(原稿を読取る機能)に着目すると、原稿読み込みのための各種設定操作を行うためのUI制御、実際に設定されたパラメータに従って原稿を読込むスキャナ制御を有する。また、スキャナ機能には、読み込まれた原稿画像に対して各種補正処理を行う画像処理、並びに、送信(ファイルサーバ等のPC)に送信する処理も含まれる。これらはそれぞれがプログラムパーツとして互いに連携して処理する。このようにするとことで、例えば、複写機能でも、原稿を読込むためのスキャナ制御を共通のものとすることができ、装置のプログラム開発、管理を容易にできると共に、各プログラムパーツの更新や削除等の変更も容易にできるようになる。また、プリンタ機能(ネットワークプリンタ機能)や、複写機能でも、最終的にプリンタエンジンを利用して印刷を行うものであるので、プリンタエンジン制御に係るプログラムパーツを共通なものとすることができるのは理解できよう。
【0027】
次に、図3にて、図1におけるPC10(PC11も同様)の内部構成の一例を説明する。
【0028】
CPU4101は、全体の制御を行う中央演算装置であり、電源投入時はROM4105に格納されたブートプログラムに従って起動し、装置全体の初期化を行う。そして、ハードディスクユニット4106に記憶されたOSをメモリ4104(RAM)にロードし、OSを起動する。この後は、ユーザの指示に従って、ハードディスク4106に格納された所望とするアプリケーションプログラムをメモリ4104に読み込み、文書編集等を行うことになる。
【0029】
ネットワークインタフェース4102は、他の機器との間でネットワーク40を介したデータ通信を行うための制御部である。CPU4101によって実行されるソフトウェアは、LAN40を介して、印刷デバイスや他のネットワーク機器、あるいは他のコンピュータと双方向のデータのやり取りを行うことができる。周辺インタフェース4103は、周辺機器の制御を行うための制御部である。
【0030】
ハードディスクユニット4105は、上記の通り、OS、各種アプリケーションプログラム、プリンタドライバをはじめ、各アプリケーションで作成されたデータファイルを格納する。
【0031】
ディスプレイインタフェース4107は、PCの内部状態や、実行状態などを表示するための表示部を接続するため制御部である。キーボードインタフェース4108やマウスインタフェース4109は、計算機4100に対してユーザがデータや命令を入力するための入力装置を接続できる。周辺機器インタフェース4103は、USB、RS−232Cシリアル、IEEE1394などの仕様を実装した周辺機器を接続するための制御部である。
【0032】
次に、図4に、実施形態における画像形成装置20(他の装置も同様)のソフトウェアパーツのブロック図の一例を説明する。これらソフトウェアパーツは先に説明したように、当初はハードディスク162に格納されているものであり、装置が複合機として機能する際にはDRAM116に読み込まれ、CPU112によって実行されるものである。
図中、201はUI制御モジュールであり、画像形成装置の操作パネルからのユーザの操作を受け付け、下位のアプリケーション層に情報を渡したり、操作パネルに表示するビットマップ画像を決定したりする。202はFaxアプリであり、UI制御モジュールからの指示に従い、アドレス帳のハンドリングをしたり、Fax送信の指示を出したりする。203は送信アプリであり、UI制御モジュールからの指示に従い、アドレス帳のハンドリングをしたり、E−Mail送信やFTP送信などのプロトコル種に応じた制御を行ったりして、送信処理の指示を出す。
【0033】
205はBoxアプリであり、Storageデバイス(実施形態ではハードディスク162)に配備されたBox領域への格納指示や、文書の移動やコピーなどの操作を行う。206はコピー(複写)アプリであり、いわゆるコピー動作を指示する。204はスキャナ制御モジュールであり、スキャナ装置を制御するためのモジュールである。212は画像処理モジュールであり、スキャンした画像の回転や拡大・縮小、などの画像処理を行うモジュールである。207はLocalプリントアプリであり、Storageに保存された文書をプリント指示したり、ログのレポートなどのプリントを指示したりする。208はデータ受信モジュールであり、例えば外部からのPDLデータを受信するモジュールである。215は展開処理モジュールであり、PDLデータをラスターイメージに展開する処理を行う。210はFax制御モジュールであり、Faxデバイスを制御する。211は送信制御モジュールであり、E−Mailなどのプロトコル処理を行うモジュールである。213はStorage制御モジュールであり、ハードディスク内に領域が確保されたStorageデバイスを制御するモジュールである。214はプリンタ制御モジュールであり、プリンタデバイスを制御する。209は表示制御アプリであり、例えばPDLの受信状況など、デバイスの状況をUI制御モジュールに渡すための情報を整理するアプリである。216は通信制御モジュールであり、各ソフトウェアパーツ間の通信を司る役目を果たす。この通信の仕組みに関しては、図7で詳述する。
【0034】
上記のように、実施形態における画像形成装置は、様々な独立したソフトウェアパーツが用意され、且つ、それらが互いに連携することで、1つのジョブ処理を遂行することになる。各ソフトウェアパーツの通信は、IPアドレスとポート(もしくは引数)を介して行われる。1つの画像形成装置内での処理の場合、IPアドレスは同じであり、不要に思われる。しかしながら、実施形態では、複数の画像形成装置がネットワーク40に接続されており、且つ、それぞれの画像形成装置が自身が備えるリソース(スキャナ、プリンタエンジン等のハードウェア資源は勿論のこと、各種処理のソフトウェア資源)を互いに共有する。そのため、ソフトウェアパーツ間の通信にはIPアドレスを用いた。勿論、ネットワークを介しての通信が行えれば良い。IPアドレスの代わりにネットワーク上のユニークな名前を用いて通信を行なっても構わない。
【0035】
例えば、或る画像形成装置Aにて、複写機能を実行する場合、すなわち、原稿の読取や複写に関する諸設定(複写部数やステイプルする/しない等)を行ない、原稿を読取り、印刷する場合に考察する。この場合、実行されるソフトウェアパーツは、操作パネルのUI制御201、コピーアプリ206、スキャナ制御アプリ204、画像処理アプリ212、プリンタ制御アプリ214、更には、それらの連携処理を制御する通信制御アプリ216を必要とする。ここで、仮に、プリンタ制御アプリ214が、何らかの理由で、画像形成装置Aで実行できない場合、他の画像形成装置Bが有するプリンタ制御アプリ214を利用することも可能である。なお、画像形成装置Aでプリンタ制御アプリ214が実行できない理由としては、そのプリンタ制御アプリを削除した場合、或いは、ユーザが意図的に印刷出力先として画像形成装置Bを指定した場合等がある。
【0036】
上記の如く、画像形成装置Aにて、実行できないソフトウェアパーツについては、他の画像形成装置Bが有するソフトウェアパーツで代替する。そのため、画像形成装置Aがネットワーク40上に画像形成装置Bが存在すること、及び、その画像形成装置Bが有するソフトウェアパーツを検出することが必要になる。かかる技術としてが、UPnP等の技術を利用、もしくは、それを更に発展させることで実現できる。
【0037】
次に、実施形態におけるタイマジョブについて説明する。タイマジョブとは、ユーザが日タイミング指定し、その指定されたタイミングに処理を実行することを目的とするジョブを言う。ここでのタイミングとはユーザによる指定日時(分及び秒なども含む)により決定される場合、及び、指定時間の経過により決定される場合の何れも想定される。
【0038】
例えば、PC10上にて、文書編集等のアプリケーションを起動し、印刷指示する際に、印刷の出力時刻を指定する場合等がある。これは、指定した時刻に会議を行うことが予めわかっていて、その為の資料をその会議開催に向けて予め印刷指示しておくものと考えれば分かりやすい。また、指定したタイミングになったら、読み込んだ原稿画像を電子メールに添付して送信する場合等にも対処できる。
【0039】
上記のように、タイマジョブが発生すると、そのタイマジョブに関する情報は、ハードディスク162に予め確保されたタイマジョブリストに追加・格納し、その時刻の管理が行われる。そして、その時刻になった場合に、そのジョブについての未処理となっている各部分的な処理を、それに関連する各種ソフトウェアパーツを実行することで処理を行う。このとき、実施形態では、そのタイマジョブに利用されるソフトウェアパーツリストも併せて記憶するものとした。この理由は、実施形態では、ソフトウェアパーツがタイマジョブとして管理された後でも、各種ソフトウェアパーツの削除やアップデートを効率良く行うためである。なお、ソフトウェアパーツの削除、アップデート(更新)は、ネットワーク40を介してPC10等で画像形成装置のファームウェア(ソフトウェアパーツ)アップデートアプリケーションを起動することで行われる。すなわち、PC10等でアップデートアプリケーションを起動し、ネットワーク上の画像形成装置のIPアドレスを指定して、削除、アップデートを行うコマンドを発行する。アップデートの場合には後続してアップデート対象となるソフトウェアパーツ情報をその識別情報と共に、指定されたIPアドレス(画像形成装置)に送信する。なお、画像形成装置が有する拡張コネクタ124に、フレキシブルディスクやメモリカード等の記憶媒体をアクセスするドライブを接続している場合もある。このような装置では、変更要求情報を記憶した記憶媒体をそのドライブにセットし、操作パネルからの指示に応じて、アップデートするようにしても構わない。
【0040】
図5は、画像形成装置A(図1の画像形成装置20乃至23のいずれか)のハードディスク162に格納されたタイマージョブリストの一例を示している。
【0041】
登録されたタイマージョブは、そのジョブの種類とタイマージョブのキューを管理するための登録番号、タイマージョブの開始タイミングが管理される。また、タイマージョブを使用するために割り当てられたソフトウェアパーツとそのホスト名、並びにその所在地(IPアドレス)、さらには他の利用可能なソフトウェアパーツとそのホスト名、並びにその所在(IPアドレス)も図5のように管理される。
【0042】
タイマジョブの登録処理の詳細は後述するが、タイマジョブを登録する際には、個々のタイマジョブをユニークに管理するため、登録番号を発行する。また、そのジョブに利用されるソフトウェアパーツを抽出し、そのソフトウェアパーツの所在する画像形成装置のIPアドレスを格納する。なお、登録するIPアドレスは、そのジョブを受信した画像形成装置のIPアドレスを優先する。
【0043】
さて、図5では、例えば登録されたタイマージョブが2つのE−Mail(電子メール)送信、1つのコピーの例を示している。
【0044】
E−Mail送信の1つ目のジョブに関しては、登録番号が00100、処理時刻(タイマジョブが発生した日時より未来)が2005年9月5日の10時00分であることを示している。また、使用するソフトウェアパーツがUI制御モジュール、送信アプリ、スキャナ制御モジュール、画像処理モジュール、送信制御モジュールで構成されることを示している。また、最優先のホストはすべてA(ローカル)、IPアドレスはすべて172.24.11.111となっている。また、2番目以降の利用可能なソフトウェアパーツとして、画像処理モジュールのソフトウェアパーツがホスト名B、IPアドレスが172.24.11.112のもの、ホスト名がC、IPアドレスが172.24.11.113のものが登録されている。
【0045】
また、送信制御モジュールのソフトウェアパーツがホスト名X、IPアドレスが172.24.11.115のもの、ホスト名Y、IPアドレスが172.24.11.116のもの、ホスト名がZ、IPアドレスが172.24.11.117のものが登録されている。
【0046】
さらに、2つ目のE−Mail送信、1つのコピーに関しても図示のように登録されている。
【0047】
ここで、上記のタイマジョブリストが管理されている状況で、画像形成装置Aにおけるソフトウェアパーツの削除・更新依頼が発生した場合について説明する。ここでは、E−Mailにおける送信制御モジュールを削除依頼が発生した場合である。
【0048】
画像形成装置Aにおける送信制御モジュールが削除されると、画像形成装置AのCPU112は、その送信制御モジュールの代替ホスト(画像形成装置A以外の画像形成装置)が存在するか否かをタイマジョブリストを参照することで判断する。そして、代替ホストが存在することが確認できた場合には、タイマジョブリストの中の、送信制御モジュールを実行するホスト名「A」とそのIPアドレスを削除し、2番目以降のホスト名とIPアドレスを繰り上げる。
【0049】
また、代替ホストが存在しない場合には、E−Mailに関する送信制御モジュールの削除は一時的に保留状態にする。この保留状態は、タイマジョブリスト中に未完のE−Mailジョブが存在する限り維持する。換言すれば、タイマジョブを順次行って、未完のE−Mailジョブが存在しなくなった場合に、要求された送信制御モジュールを削除する。
【0050】
上記の如く、ソフトウェアパーツの削除要求が発生した場合であっても、それを利用したジョブが実行可能な状態を維持することが可能になる。
【0051】
図6は、代替ホストが存在する場合の、タイマジョブリストの構成を示している。図示のように、E−Mailジョブにおいて、送信制御モジュールの実行するホスト名「A」が削除されて、代替ホスト名「X」及びそのIPアドレスが繰り上がっている。
【0052】
次に図7にて、図4で説明した、各ソフトウェアパーツ間の通信を司る、通信制御モジュール216の処理の一例について説明する。
【0053】
通信制御モジュールは分散オブジェクトの概念を実現するためのモジュールである。
【0054】
通信制御モジュール以外の各ソフトウェアパーツは、その処理結果を送信する相手先モジュールを問わず通信処理を可能とする。
【0055】
E−Mailの場合、UI制御モジュール201Aは、通信制御モジュール216Aにその指示を渡す。これに伴い、通信制御モジュールは、送信アプリ203AにE−Mail送信の指示を出す。つまり、ジョブの種類毎に決まった順序で、各ソフトウェアパーツから受信した情報を、下位に位置するソフトウェアパールに送信することで、ジョブを遂行していく。
【0056】
図5の状態、すなわち、ソフトウェアパーツの削除がない場合のE−Mailタイマジョブの場合には、通信制御モジュール216Aは、先ず、UI制御モジュール201Aを起動し、処理項目を選択させる。ここでは、E−Mailの例を説明しているので、ユーザはE−Mailのタイマジョブを選択することになる。通信制御モジュール216Aが、E−Mailタイマジョブが指示されたと判断すると、次いで、E−Mailの送信アプリ203Aを起動し、原稿の読取りにかかる諸設定、送信先メールアドレス、及び送信するタイミングを入力させる。この結果、上記情報が取得されるので、通信制御モジュール216Aは、その内の原稿読み取りに関する情報と、出力先としてハードディスク162に、その際のファイル名を指示する情報をスキャナ制御モジュール204Aに渡し、原稿の読取りを開始させる。
【0057】
以上の結果、ハードディスク162には、E−Mail送信用の画像データファイルが格納されることになる。この後は、図7のタイマジョブで指示されたタイミングになるのを待ち、その日時になったと判断した場合、ハードディスク162に格納された画像データに対して所定の画像処理をおこなうべく、画像処理モジュール212Aを起動する。そして、その画像処理の結果である画像データ、及び、送信宛て先メールアドレスを、起動した送信制御モジュール211Aに渡して、E−Mail送信を行わせることになる。
【0058】
ここで、図6のように、ホストAの送信制御モジュール211Aを削除した場合について考察する。この場合、ホストAの送信制御モジュール211Aは利用できない(図7の破線部分)。従って、画像処理モジュールで生成された画像データを、ホストX(IPアドレスが174.24.11.115)の画像形成装置21の送信制御モジュール211Xに向けて送信する。この後の処理は、E−Mail送信処理がホストXで行う点が異なるだけであるので、説明は不要であろう。
【0059】
先ず、実施形態におけるタイマジョブの登録処理を図8のフローチャートに従って説明する。
【0060】
先ず、ステップS1において、タイマジョブを登録する。このタイマジョブには、既に説明したように、タイマE−Mailジョブ、タイマコピージョブがあるが、これ以外にも、PC10等からのタイマプリントジョブがある。タイマE−Mailジョブ、タイマコピージョブでは、UI制御によって、原稿を読み込み、ハードディスク162への画像データの登録まで行ない、それ以降の処理はタイマ設定されたタイミングまで待機状態にする。
【0061】
次に、ステップS2において、登録したタイマジョブに必要なソフトウェアパーツをサーチ(検索)する。このサーチは、タイマジョブの実行に際して利用するソフトウェアパーツを自ホスト、並びに、ネットワーク40上の他の画像形成装置に対して行う。自ホストに対して検索が行われると自装置の記憶手段に記憶されるソフトウェアパーツの中に必要なソフトウェアパーツが存在するか否を調べる。また、他の画像形成装置に必要なソフトウェアパーツが存在するか否かを調べるには、他の画像形成装置に対して必要とするソフトウェアパーツの種類を特定できる識別子と検索の依頼を送出する。さらに、他の画像形成装置については、必要とするソフトウェアパーツが存在する装置であれば画像形成装置に限定されることはない。
【0062】
この後、ステップS3に進んで、タイマジョブについて登録番号を発行し、タイマジョブリスト(図5、図6参照)に追加登録し、ユーザが指定したタイミングになるまで記憶管理する。
【0063】
次に、ソフトウェアパーツの変更要求(削除・更新要求)が発生した場合の処理を図9のフローチャートに従って説明する。また、ソフトウェアパーツの変更要求の入力は、例えば画像処理装置の操作部を介して行われる。また後述の第2の実施形態のS1701のように、外部の管理サーバからのソフトウェア変更要求を入力しても良い。また、実際の画像形成装置にはジョブキューに実行可能で即時実行されるジョブが登録されているケースが想定されるが、ジョブキューに登録されるジョブについては、第2の実施形態における図17で詳しく説明する。ここでは、ジョブキューに登録されるジョブによってソフトウェアパーツの変更に支障が無い場合を前提として説明を行う。
【0064】
先ず、ステップS11において、削除・更新対象となるソフトウェアパーツが、タイマジョブリスト中に登録されているか否かを判断する。タイマジョブリスト中に存在しない場合には、削除・更新対象ソフトウェアパーツはその時点でのタイマジョブとは無関係であるので、ステップS12に進んで、削除・更新処理を行う。
【0065】
また、削除・更新対象ソフトウェアパーツが、タイマジョブリストに存在する場合には、ステップS13に進み、タイマジョブリストを再スケジュール可能かどうかを判断する。なお、再スケジュールの処理については後述の図10で詳しく説明する。
【0066】
例えば、タイマジョブリストが図5の状態にある場合に、「送信制御モジュール」を削除、又は更新する要求が発生した場合、ホストAの「送信制御モジュール」を削除しても、ホストXの同モジュールで代替できる。従って、この場合は再スケジュール可と判断する。また、逆に、代替ホストが存在しない場合(ネットワーク上の画像形成装置が1つしか存在しない場合もこれに相当する)、再スケジュール不可と判断する。
【0067】
さて、ステップS13において、タイマジョブリストを再スケジュール不可であると判断した場合、ステップS14に進む。ここでは、その要求情報(更新要求であれば、更新後のソフトウェアパーツを含む)をハードディスクの所定のフォルダ内に一時的に保存する。すなわち、削除・更新処理を即時行なわない。ここで保留された未実行のソフトウェアパーツの変更(削除・更新)は、後述で詳しく説明する図11のフローチャートにより実行される。
【0068】
また、ステップS13において、タイマジョブリストを再スケジュール可であると判断した場合、ステップS15に処理を進め、再スケジュール処理を行う。
【0069】
ここで、上記ステップS15の再スケジュール処理を図10のフローチャートに従って説明する。
【0070】
ステップS21では、タイマジョブリスト中の、削除・更新対象となったソフトウェアパーツをタイマージョブの実行に利用し処理対象外にする。また、替わりに他のホストのソフトウェアパパーツを割り当て、タイマジョブリストを再構成する。すなわち、例えば「送信制御モジュール」を削除・更新する場合には、図5の状態から図6の状態のように、タイマジョブリストを再構築する。
【0071】
次いで、ステップS22に進んで、発生した変更要求が更新であるか、削除であるかを判断する。更新要求であると判断した場合には、ステップS23に進んで、旧ソフトウェアパーツがDRAM116に常駐している場合には、それを消去し、ハードディスク162内の旧ソフトウェアパーツを予め設定された待避フォルダ内に移動する。そして、更新後のソフトウェアパーツを実行可能とするためハードディスク162に格納する。
【0072】
次いで、ステップS24に進んで、更新後のソフトウェアパーツの動作チェックを行う。この動作チェックは、そのソフトウェアパーツの仕様によって予め決められたデータをそのソフトウェアパーツに渡し、その結果が正しい結果(期待した結果)であるか否かによって判断する。ソフトウェアパーツに入力されるデータは画像形成装置に記憶されているものとする。
【0073】
ステップS25では、更新後のソフトウェアパーツが正しい処理を行ったか否かを判定する。この判定で正しい処理が行えたと判断した場合には、ステップS26に進み、タイマジョブリストを、自装置に記憶した更新後のソフトウェアパーツを利用するように再構築(復旧)する。例えば、図6の状態から図5の状態に戻す。つまり、再びE−Mailジョブにおいて、送信制御モジュールの実行するホスト名「A」が再び割り当てられることとなる。但し、再構築後の送信制御モジュールは更新後の送信制御モジュールが割り当てられることとなる。
【0074】
また、更新後のソフトウェアパーツが正しい処理結果を帰さなかった場合、処理はステップS27に進んで、ステップS21で再構築したタイマジョブリストを元に戻す。また、予め設定された待避フォルダ内に待避した旧ソフトウェアパーツを、タイマジョブを実行する際に利用できるように元どおりの位置に戻す。
【0075】
一方、ステップS22において、発生した要求が削除要求であると判断した場合、処理はステップS28に進む。ここでは、要求されたソフトウェアパーツを削除する。なお、この結果、該当するソフトウェアパーツは存在しなくなるが、既に代替ホストが存在するので、タイマジョブに支障はない。
【0076】
最後に、実施形態におけるタイマジョブ処理を図11のフローチャートに従って説明する。
【0077】
このタイマジョブ処理は、リアルタイムクロックモジュール133による例えば1分毎の割り込み信号を受けて、CPU112が実行する。
【0078】
先ず、ステップS31で、現在のタイミング情報(日時分)Tcをリアルタイムクロックモジュールより取得する。
【0079】
次いで、ステップS32に進んで、タイマジョブリストを検索し、処理すべきタイマジョブが存在するか否かを判断する。具体的には、各タイマジョブの設定時刻Ti(i=1、2、…)としたとき、処理すべきタイマTi≦Tcの関係を有するタイマジョブが存在するかを判断する。Ti=Tcではなく、Ti≦Tcとしたのは、実施形態では1分間隔の割り込み処理であるため、最大で1分の誤差があるためである。勿論、30秒単位の割り込み処理を行うのであれば、この限りではない。
【0080】
さて、処理すべきタイマジョブが存在すると判断した場合には、ステップS33に進んで、該当するタイマジョブを、ホスト名で示されたソフトウェアパーツを順に実行していって、処理を行う。処理が完了すると、ステップS34に進み、該当するタイマジョブは管理不要となるので、タイマジョブリストより削除する。そして、処理すべきタイマジョブが存在する限り、ステップS33、S34を繰り返す。
【0081】
こうして、現在時刻において、処理すべきタイマジョブがなくなると、処理はステップS35に進む。このステップS35では、削除・更新要求情報がハードディスク162内に格納されているか否かを判断する。すなわち、先に説明した、図9のステップS14の処理が行われたか否かを判断していることになる。
【0082】
削除・更新要求情報はないと判断した場合には、現在のタイマジョブリストに変更はないので、本処理を終了する。
【0083】
一方、削除・更新要求情報がハードディスク162内に格納されていると判断した場合には、ステップS36に進み、削除・更新要求対象のソフトウェアパーツがタイマジョブリストに存在するか否かを判断する。もし存在しない場合、タイマジョブとは無関係なソフトウェアパーツの削除・更新処理であることになるので、ステップS37に進んで、ソフトウェアパーツの削除・更新処理を行い、本処理を終える。なお、ステップS36で、削除・更新要求されたソフトウェアパーツがタイマジョブリストに存在する場合には、その削除・更新処理は行わなず、本処理を終了する。
【0084】
以上説明したように本実施形態によれば、互いに独立したソフトウェアパーツを組み合わせて多種の機能を実現することによって、個々のソフトウェアパーツの開発が容易になる。また、所望とするソフトウェアパーツについての削除・更新要求が発生した場合、未完となっているタイマジョブとは無関係のソフトウェアパーツについては、すぐさま要求通りの処理を行う。その一方で、未完タイマジョブを構成するソフトウェアパーツに対する削除・更新要求が発生した場合、そのソフトウェアパーツの代替ホストが存在する限りは、少なくとも登録されたタイマジョブを実行可能にしつつも、要求通り削除・更新処理を行う。そして、削除・更新対象のソフトウェアパーツの代替ホストが存在しない場合には、該当するタイマジョブを完了してはじめて削除・更新処理を行うので、この場合にもタイマジョブが正常に動作することが約束される。
【0085】
<第2の実施形態>
第2の実施形態を説明する。
【0086】
図12は、本第2の実施形態おけるで多機能デジタル複合機(MFP)の外観図である。図12に示される多機能デジタル複合機(MFP)は第1の実施形態にも適用できる。
【0087】
図中、1100は複写機全体を示している。1101は、ADF(オートドキュメントフィーダ)であり、原稿束を自動的に順次スキャンするための装置である。1102は操作パネルであり、各種設定や調整、機器状況の確認、などを行う。1103はマルチ手差しであり特殊な用途を持った用紙などをセットする。1104はサイドペーパーデッキであり印刷のための用紙を大量に保持することが可能である。1105はカセットペーパーデッキであり、様々なサイズの用紙を各段に分けて保持することが出来る。1106はフィニッシャであり、ステープル処理、パンチ処理、製本処理など様々なフィニッシング処理を行うことが出来る。
【0088】
図13は、デジタル複写機1100の断面図を示したものである。1280はADF(オートドキュメントフィーダ)である。1201は、原稿載置台としてのプラテンガラスである。1202は、スキャナであり、走査用ミラー1204や照明ランプ1203等で構成される。スキャナが所定方向に往復走査されて反射光が走査用ミラー1204〜1206を介してレンズ1207を透過し、イメージセンサ1208内のCCDセンサに結像する。
【0089】
1209は、レーザやポリゴンスキャナ等で構成された露光制御部で、イメージセンサ部1208で電気信号に変換され、後述する所定の画像処理が行われた画像信号に基づいて変調されたレーザ光1219を感光体ドラム1211に照射する。感光体ドラム1211の周りには、1次帯電器1212、現像器1213、転写帯電器1216、前露光ランプ1214、クリーニング装置1215が装備されている。画像形成部1210において、感光体ドラム1211は不図示のモータにより、図に示す矢印の方向に回転しており、1次帯電器1212により所望の電位に帯電された後、露光制御部1209からのレーザ光1219が照射され、静電潜像が形成される。感光体ドラム1211上に形成された静電潜像は、現像器1213により現像されて、トナー像として可視化される。
【0090】
一方、右カセットデッキ1221、左カセットデッキ1222、上段カセット1223あるいは下段カセット1224からピックアップローラ1225、1226、1227、1228により給紙された記録紙は、給紙ローラ1229、1230、1231、1232により本体に送られる。そして、記録紙はレジストローラ1233により転写ベルト1234に給送される。この結果、可視化されたトナー像が転写帯電器1216により記録紙に転写される。転写後の感光体ドラム1211は、クリーナー装置1215により残留トナーが清掃され、前露光ランプ1214により残留電荷が消去される。転写後の記録紙は、分離帯電器1217によって感光体ドラム1211から分離され、転写ベルト1234によって定着器1235に送られる。定着器1235では加圧、加熱により定着され、排出ローラ1236により本体1100の機外に排出される。
【0091】
本体1100には、例えば4000枚の記録紙を収納し得るデッキ1250が装備されている。デッキ1250のリフタ1251は、ピックアップローラ1252に記録紙が常に当接するように記録紙の量に応じて上昇し、記録紙は給紙ローラ1253によって本体に送られる。また、100枚の記録紙を収容し得る、マルチ手差し1254が装備されている。
【0092】
さらに、図13において、1237は排紙フラッパであり、搬送パス1238側と排出パス1243側の経路を切り替える。1240は下搬送パスであり、排紙ローラ1236から送り出された記録紙を、反転パス1239を介し記録紙を裏返して再給紙パス1241に導く。左カセットデッキ1222から給紙ローラ1230により給紙された記録紙も、再給紙パス1241に導かれる。1242は記録紙を画像形成部1210に再給紙する再給紙ローラである。1244は排紙フラッパ1237の近傍に配置されて、この排紙フラッパ1237により排出パス1243側に切り替えられた記録紙を機外に排出する排出ローラである。
【0093】
両面記録(両面複写)時には、排紙フラッパ1237を上方に上げて、複写済みの記録紙を搬送パス1238、反転パス1239、下搬送パス1240を介して再給紙パス1241に導く。このとき、反転ローラ1245によって記録紙の後端が搬送パス1238から全て抜け出し、且つ、反転ローラ1245に記録紙が噛んだ状態の位置まで反転パス1239に引き込む。その後、反転ローラ1245を逆転させることによって搬送パス1240に送り出す。本体から記録紙を反転して排出する時には、排紙フラッパ1237を上方へ上げ、反転ローラ1245によって記録紙の後端が搬送パス1238に残った状態の位置まで反転パス1239に引き込む。そして、反転ローラ1245を逆転させることによって、記録紙を裏返して排出ローラ244側に送り出す。
【0094】
1290は、本体1100から排出した記録紙を揃えて閉じる排紙処理装置であり、一枚毎に排出される記録紙を処理トレイ1294に積載して揃える。一部の画像形成の排出が終了したら、記録紙束をステープルして排紙トレイ1292、又は、1293に束で排出する。排紙トレイ1293は不図示のモータで上下に移動制御され、画像形成動作開始前に処理トレイ1294の位置になるように移動し、以降排出された記録紙が積載されていくと紙面の高さが処理トレイ1294の位置になるように移動する。さらに、排紙トレイ1293に約2000枚の記録紙が積載された時に検知するように、排紙トレイ1293の下限を検知するトレイ下限センサ(不図示)が設けられている。1291は、排出された記録紙の間に挿入する区切り紙を積載する用紙トレイで、1295は、排出された記録紙をZ折りにするZ折り機である。また、1296は、排出された記録紙一部をまとめてセンター折りしステープルを行うことによって製本を行う製本機であり、製本された紙束は排出トレイ1297に排出される。
【0095】
図14は、本第2の実施形態におけるディジタルプリントシステムの構成図である。
【0096】
ここには、ネットワークに接続されたプリントサーバ1301、クライアントPC1302、カラーMFP1303及び白黒MFP1304がそれぞれ1つまたは複数個存在している。
【0097】
プリントサーバ1301は、2つの役割を持っている。1つ目は外部と情報の送受であり、入稿されるジョブの画像情報や設定情報などは、まずプリントサーバ1301に入力され、そのジョブが終了するとステータスなどの情報を外部に知らせる役割を持っている。もう1つはシステムの管理制御である。外部から入力されたジョブ及び、ディジタルプリント部の内部で発生したジョブは、プリントサーバ1301にて一元管理されている、また、ディジタルプリント部の内部にある全てのデバイスと全てのジョブの状況が監視できると共に、ジョブの一時停止、設定変更、印刷再開あるいは、ジョブの複製、移動、削除などの制御が行えるようになっている。
【0098】
クライアントPC1302は、入力されたアプリケーションファイルの編集、印刷指示、あるいは、プリントレディファイルの投入の役割と、プリントサーバ1301内で管理されているデバイスやジョブの監視や制御の補佐する役割を持っている。
【0099】
カラーMFP1303及び白黒MFP1304は、スキャン、プリント、コピーなど様々な機能を有する画像形成装置(図12、図13で既に説明した)であり、カラーMFPと白黒MFPとでスピードやコストなどが異なるため、それぞれの用途に応じて使い分ける必要がある。
【0100】
次に、図15を用いてMFPの構成について説明する。
【0101】
MFPは、自装置内部に複数のジョブのデータを記憶可能なハードディスク等のメモリを具備する。そして、スキャナから出力されたジョブデータに対し該メモリを介してプリンタ部でプリント可能にするコピー機能を実現する。また、コンピュータ等の外部装置から出力されたジョブデータに対し該メモリを介してプリント部でプリント可能にするプリント機能を実現する。この結果、複数の機能を具備した画像形成装置を構築している。
【0102】
MFPには、先に説明したように、フルカラー機器とモノクロ機器があり、色処理や内部データなどを除いて、基本的な部分において、フルカラー機器がモノクロ機器の構成を包含することが多い。そのため、ここではフルカラー機器を主に説明し、必要に応じて随時モノクロ機器の説明を加えることとする。
【0103】
又、本システムでは、上記の如く、複数の機能を具備した複合機能型の画像形成装置を有する。しかし、プリント機能のみを具備した単一機能型の画像形成装置等のSFP(Single Function Peripheral:単一機能周辺機器)を具備する構成でも良い。また、いずれか一方のタイプの画像形成装置のみを具備する構成でも良い。又、何れのタイプの画像形成装置であっても、複数台具備する構成でも良い。いずれにしても、本第2の実施形態の制御が実現可能な構成であればよい。
【0104】
図15に示すように、実施形態における画像形成装置は紙原稿などの画像を読み取り、読み取られた画像データを画像処理する入力画像処理部1401を有する。また、画像形成装置は、ファクシミリなどに代表される電話回線を利用した画像の送受信を行うFAX部1402を有する。更に、画像形成装置は、ネットワークを利用して画像データや装置情報をやりとりするNIC(Network Interface Card)部1403を備える。そして、画像形成装置は外部装置と画像データなどの情報交換を行う専用インターフェース部1404を備える。また、画像形成装置は、USB(Universal Serial Bus)メモリ(リムーバブルメディアの一種)に代表されるUSB機器と画像データなどを送受するUSBインターフェース(USB I/F)部1405を備えている。
【0105】
そして、MFP制御部1409では、MFPの用途に応じて画像データを一時保存したり、経路を決定したりといった交通整理の役割を担っている。
【0106】
次に、文書管理部1413は、複数の画像データを格納可能なハードディスク等のメモリを具備する。例えば、画像形成装置が具備する制御部(例えばMFP制御部のCPUなど)が主体となって、入力画像処理部1401からの画像データや、FAX部1402を介して入力されたファクシミリジョブの画像データを格納する。また、NIC部1403を介して入力されたコンピュータ等の外部装置からの画像データや、専用I/F部1404やUSB I/F部1405を介して入力された様々な画像データ等の複数種類の画像データも、このハードディスクに格納可能にしている。更に、該ハードディスクに格納された画像データを適宜読み出して、プリンタ部等の出力部1408に転送して、該プリンタ部1408によるプリント処理等の出力処理を実行可能に制御する。又、オペレータからの指示により、ハードディスクから読み出した画像データを、コンピュータや他の画像形成装置等の外部装置に転送可能に制御する。
【0107】
画像データを文書管理部1413に記憶する際には、必要に応じて、画像データを圧縮して格納したり、逆に圧縮して格納された画像データを読み出す際に元の画像データに伸張して戻したりするなどの処理に対して圧縮伸張部1412を介して行っている。また、データがネットワークを経由する際には、JPEG、JBIG、ZIPなど圧縮データを使用することも一般知られており、データがMFPに入った後、この圧縮伸張部1412にて解凍(伸張)される。
【0108】
また、リソース管理部1414は、フォント、カラープロファイル、ガンマテーブルなど共通に扱われる各種パラメータテーブルなどが格納されている。また、これらの情報は必要に応じて呼び出すことができると共に、新しいパラメータテーブルを格納したり、修正して更新したりすることができる。
【0109】
次に、MFP制御部1409は、PDLデータが入力された場合には、RIP部1407でRIP(Raster Image Processor)処理を施す。また、プリントする画像に対して、必要に応じて出力画像処理部1408でプリントのための画像処理を行ったりする。更に、その際に作られる画像データの中間データやプリントレディデータ(プリントのためのビットマップデータやそれを圧縮したデータ)を必要に応じて、文書管理部1413で再度格納することもできる。
【0110】
そして、画像形成を行うプリンタ部1410に送られる。プリンタ部でプリントアウトされたシートは後処理部1411へ送り込まれ、シートの仕分け処理やシートの仕上げ処理が行われる。
【0111】
ここで、MFP制御部1409は円滑にジョブを流す役割を担っており、MFPの使い方に応じて、以下のようにパス切り替えが行われている。但し、中間データとして画像データを必要に応じて格納することは一般に知られているが、ここでは文書管理部が始点、終点になる以外のアクセスは表記しない。また、必要に応じて利用される圧縮伸張部1412と後処理部、あるいは、全体のコアとなるMFP制御部1409などの処理は省略して、おおよそのフローがわかるように記載する。
A) 複写機能 :入力画像処理部→出力画像処理部→プリンタ部
B) FAX送信機能 :入力画像処理部→FAX部
C) FAX受信機能 :FAX部→出力画像処理部→プリンタ部
D) ネットワークスキャン :入力画像処理部→NIC部
E) ネットワークプリント :NIC部→RIP部→出力画像処理部→プリンタ部
F) 外部装置へのスキャン :入力画像処理部→専用I/F部
G) 外部装置からのプリント :専用I/F部→出力画像処理部→プリンタ部
H) 外部メモリへのスキャン :入力画像処理部→USB I/F部
I) 外部メモリからのプリント:USB I/F部→RIP部→出力画像処理部→プリンタ部
J) ボックススキャン機能 :入力画像処理部→出力画像処理部→文書管理部
K) ボックスプリント機能 :文書管理部→プリンタ部
L) ボックス受信機能 :NIC部→RIP部→出力画像処理部→文書管理部
M) ボックス送信機能 :文書管理部→NIC部
N) プレビュー機能 :文書管理部→操作部
上記以外にも、E−mailサービスやWebサーバ機能を初めとして、様々な機能との組み合わせが考えられるが、ここでは割愛する。
【0112】
また、ボックススキャン、ボックスプリント、ボックス受信、あるいは、ボックス送信とは、文書管理部1413を利用したデータの書き込みや読み出しを伴うMFPの処理機能である。また、ジョブ毎やユーザ毎に文書管理部内のメモリを分割して一次的にデータを保存して、ユーザIDやパスワードを組み合わせてデータの入出力を行う機能でもある。
【0113】
更に、操作部は、上記の様々なフローや機能を選択したり操作指示したりするためのものであるが、操作部1406の表示装置の高解像度化に伴い、文書管理部にある画像データをプレビューし、確認後OKならばプリントするといったこともできる。
【0114】
次に、図16を用いて、本第2の実施形態におけるMFPのソフトウェアモジュールの構成について説明する。図示の個々のソフトウェアモジュールは、先に説明した第1の実施形態と同様、それぞれが独立して実行できるものであり、書き換え可能な記憶装置(例えばハードディスクやフラッシュメモリ)に格納されているものである。なお、ハードディスクに格納されている場合には、RAMにロードして実行することになる。
【0115】
まず図15に示すブロックのうちデータ入力をつかさどるコンポーネントを制御するソフトウェアモジュールについて説明する。紙原稿などの画像を読み取り、読み取られた画像データを画像処理する入力画像処理部(スキャナデバイス)を制御するモジュールがスキャナデバイス制御モジュール1501である。FAX部の制御を行うモジュールはFAX制御モジュール1502である。ネットワークの制御を行うモジュールがネットワーク制御モジュール1503である。外部デバイスとのインターフェースを制御するモジュールが拡張インターフェース制御モジュール1504である。USB機器の制御を行うモジュールはUSB制御モジュール1505である。また、ユーザーインタフェース画面(UIパネル)を制御するモジュールはUI制御モジュール1506である。
【0116】
続いて図15に示すブロックのうち画像処理をつかさどるコンポーネントを制御するソフトウェアモジュールについて説明する。ネットワーク制御モジュール1503を通してユーザから投入されたPDFデータを展開しディスプレイリスト形式に変換するためのモジュールがPDL解釈モジュール1507である。また、PDL解釈モジュール1507によって変換されたディスプレイリストデータをイメージデータに変換するモジュールがレンダリングモジュール1508である。画像処理モジュール1515はオプション的に追加削除が可能であり、図16では一例としてOCR(文字認識)モジュール1516とPDF変換モジュール1517について記載している。OCRモジュール1516はイメージデータのOCR処理を行うためのモジュールであり、PDF変換モジュール1517はイメージデータをPDF形式に変換するために利用されるモジュールである。
【0117】
続いて図15に示すブロックのうち画像形成をつかさどるコンポーネントを制御するソフトウェアモジュールについて説明する。MFPに入力され各種画像処理が行なわれハードディスクに格納されているイメージデータの画像形成を行うモジュールがプリンタデバイス制御モジュール1514である。プリンタデバイス制御モジュールによって画像形成されると後処理工程に送られ様々な後処理が行なわれる。図16では一例として2種類の後処理モジュール1518、1519についてのみ記載しているがオプション追加することにより多段の後処理が可能になる。
【0118】
そして、MFPコントローラ1513では、各種ソフトウェアモジュールを統括する役目を担い、MFPの用途に応じて画像データを一時保存したり、経路を決定したりといった各種データの交通整理の役割を担っている。
【0119】
文書管理制御モジュール1510は、ハードディスクの管理を行う。例えば、画像形成装置が具備する制御部(例えばMFP制御部のCPUなど)が主体となって、スキャナデバイス制御モジュール1501からの画像データを記憶管理する。また、FAXデバイス制御モジュール1502を介して入力されたファクシミリジョブの画像データや、ネットワーク制御モジュール1503を介して入力されたコンピュータ等の外部装置からの画像データも管理する。更には、拡張I/Fモジュール1504やUSB制御モジュール1505を介して入力された様々な画像データ等の複数種類の画像データについて管理する。このハードディスクに格納された画像データは適宜読み出し可能で、プリンタデバイス制御モジュール1514等の出力モジュールに転送することで、該プリンタ部によるプリント処理等の出力処理を実行可能である。又、オペレータからの指示により、ハードディスクから読み出した画像データを、コンピュータや他の画像形成装置等の外部装置に転送可能に制御する。
【0120】
次に圧縮伸張モジュール1509は、画像データを文書管理部に記憶する際に画像データを圧縮して格納したり、逆に圧縮して格納された画像データを読み出す際に元の画像データに伸張して戻したりするなどの処理を行う場合に利用される。圧縮伸張はハードウェアで実現されている場合もあるが、その場合も圧縮伸張モジュール1509が圧縮伸張デバイスの制御を行なう。また、データがネットワークを経由する際には、JPEG、JBIG、ZIPなど圧縮データを使用することも一般知られており、データがMFPに入った後、この圧縮伸張モジュール1509にて解凍(伸張)される。
【0121】
また、リソース管理モジュール1511は、フォント、カラープロファイル、ガンマテーブルなど共通に扱われる各種パラメータテーブルなどを、必要に応じて呼び出すことができると共に、新しいパラメータテーブルを格納したり、修正して更新する。
【0122】
そして、画像形成を行うプリンタデバイス制御モジュール1514に送られる。プリンタ部でプリントアウトされたシートは後処理モジュール1518へ送り込まれ、シートの仕分け処理やシートの仕上げ処理が行われる。
【0123】
ソフトウェアモジュールのバージョンアップ管理をおこなうのがバージョンアップ管理モジュール1512である。バージョンアップ管理モジュール1512は各種モジュールのバージョン管理からモジュールのダウンロード、インストールなどを行う。
【0124】
上記はあくまで搭載されるソフトウェアモジュールの組み合わせの一例である。すなわち、上記以外にも、E−mailサービスやWebサーバ機能を初めとして、様々な機能との組み合わせにより搭載される様々なソフトウェアモジュールの構成が考えられる。ただし、ここでの説明については割愛する。また、ソフトウェアモジュールの粒度についても上記は一例にすぎず、もっと詳細な粒度で搭載される場合もあれば、大きな粒度で搭載される場合もある。
【0125】
図17は、ネットワーク構成の一例を示すブロック図である。
【0126】
サービスセンタ1601は、バージョンアップ管理サーバ1605やファイルサーバ1606などから成り立っている。ユーザ環境1602とサービスセンタ1601はインターネットや公衆回線などで結ばれており、必要情報のやり取りを行うことが出来る。
【0127】
ここでサービスセンタ1601におけるバージョンアップ管理サーバ1605はユーザ環境1602に設置されているMFP1603に搭載されているファームウェアのバージョン管理を行うサーバである。バージョンアップが必要になった場合はバージョンアップ管理サーバ1605から各MFP1603に通知を行うか、または、各MFP1603からのバージョンアップの有無の問い合わせに対する返答を行う。ファイルサーバ1606はMFPファームウェアソフトを格納している。
【0128】
ユーザ環境1602におけるMFP1603は自身に搭載されるファームウェアのバージョン管理を行う場合もあればプリントサーバ1604がバージョン管理を行う場合もある。
【0129】
図18はMFPにおけるソフトウェアのバージョンアップ処理手順を示すフローチャートである。
【0130】
ステップS1701ではMFPがサービスセンタ1601のバージョンアップ管理サーバ1605から、バージョンアップ通知(バージョンアップのソフトウェアモジュールの識別情報を含む)を受信する。これは実施の一例でありMFPからサービスセンタ601に対してバージョンアップの有無を問い合わせ、バージョンアップ有りと判断することで開始するようにしても構わない。ここでは、サービスセンタ1601が、MFPのバージョンアップの通知を発行したものとして説明する。
【0131】
ステップS1702に処理が進むと、MFP内部に保持しているジョブリストを取得する。ジョブリストの構造は図19に示す形式をしており、MFPに投入されたジョブがリスト形式で保持されている。このジョブリストは、ジョブキューに登録される各ジョブを表す。このジョブキューに登録されているジョブは実行可能になれば即時実行されるものであり、上に説明したタイマージョブの登録とは区別される。
【0132】
続いてステップS1703において、取得されたジョブリスト(図19)中に実行待ちのジョブが存在するかどうかの判定を行う。ジョブリスト中に実行待ちジョブが存在しなかった場合は即座にバージョンアップを行うことが可能である。従って、ステップS1713に進み、実際にバージョンアップしようとするソフトウェアモジュールをダウンロードしてバージョンアップを実行して、一連のバージョンアップ処理を終了する。
【0133】
ジョブリスト中に実行待ちジョブが存在した場合はステップS1704に進みキャリブレーションのスケジュールが存在するかのチェックを行う。MFPでは出力物の画質の均質化を図るために定期的にキャリブレーションが行われる。このため、もしキャリブレーションがスケジューリングされている場合は、キャリブレーションと並行してファームウェアのバージョンアップが可能である。ステップS1704においてキャリブレーションのスケジュールありと判別された場合は、ステップS1707に進み、キャリブレーションが実行されるタイミングを待つ。そしてキャリブレーションが実行されるタイミングになるとステップS1713に進みバージョンアップを実行して、一連のバージョンアップ処理を終了する。
【0134】
また、ステップS1704においてキャリブレーションのスケジュールなしと判断された場合はサブルーチンであるステップS1705に進む。このサブルーチンについては図20を用いて以下に説明する。
【0135】
図20は、ジョブ種毎のバージョンアップチェックのフローである。先ず、ステップS1901ではジョブリスト(図19)を取得する。ステップS1902では、ジョブ種毎の利用ソフトモジュール一覧テーブルを取得する。このテーブルのフォーマットは図21に示すとおり、ジョブ種毎に利用するソフトモジュールのリスト形式になっている。図21では一例として4種類のジョブ種についてのみ記載したが、もちろんMFPで実行可能な全てのジョブ種について記載されているものである。
【0136】
ステップS1903からステップS1908はループになっておりステップS1901で取得したジョブリストから一つずつジョブを取り出してチェックを行う。ジョブリスト中の全てのジョブについてチェックが終了するとループを抜ける。
【0137】
ステップS1904ではジョブリストから取り出されたジョブのジョブ種を取得する。続いてステップS1905では、ステップS1902で取得したテーブル(図21)のジョブ種列とステップS1904で取得したジョブ種の比較検索を行い、そのジョブ種で利用するソフトモジュール一覧を取得する。
【0138】
ステップS1906では今回バージョンアップが行われるソフトモジュール名の取得を行う。ステップS1907ではステップS1905で取得された該ジョブで利用されるソフトモジュールと、ステップS1906で取得されたソフトモジュールの比較を行い該ジョブ実行中にバージョンアップが可能であるかのチェックを行う。
【0139】
例えば、今回バージョンアップされるモジュールがスキャナデバイス制御モジュールであり、該ジョブ種がPDLプリントジョブであったとする。PDLプリントジョブで利用されるソフトモジュールは、「ネットワーク制御モジュール、PDL解釈モジュール、レンダリングモジュール、圧縮伸張モジュール、文書管理モジュール、プリンタデバイス制御モジュール」である。従って、PDLプリントジョブ実行中にスキャナデバイス制御モジュールは利用しない。そのためPDLバージョンアップ可能であると判定される。しかし、バージョンアップモジュールが例えば文書管理モジュールであった場合は、該ジョブ実行中にはバージョンアップを行うことは不可能であるため、次のジョブのチェックを行う。
【0140】
ステップS1907においてバージョンアップ可能であると判定された場合はステップS1908に進み、バージョンアップモジュールを利用しないジョブ有りを示す情報を返り値に設定し本ループを抜ける。
【0141】
逆にステップS1907で該ジョブ実行中にはバージョンアップ不可と判定された場合は、ステップS1909に進み、ループにより次のジョブリスト中の次のジョブの判定を行う。もし、ジョブリスト中の全てのジョブについてチェックを行ったが、バージョンアップ可能なジョブが見つからなかった場合はループを抜けステップS1910に進む。ステップSイ1910では、バージョンアップモジュールを利用するジョブのみが残っていることを示す情報を返り値として決定し、本ルーチンを終了する。
【0142】
図18の説明に戻る。ステップS1705のサブルーチン(図20)を実行した結果をステップS1706で判定する。サブルーチン(図20)を実行した結果、ジョブリスト中にバージョンアップモジュールを利用しないジョブが存在すると判定された場合はステップS1708に進み、バージョンアップモジュールを利用しないジョブが実行されるのを待つ。そして、そのジョブが実行されるタイミング(ジョブ実行期間)でステップS1713に進みバージョンアップを実行して、一連のバージョンアップ処理を終了する。
【0143】
また、ステップS1706の判定においてバージョンアップモジュールを利用するジョブのみが残っていると判定された場合(ステップS1910)は、ステップS1709に示されるサブルーチン(図22)に進みさらに詳細なチェックを行う。
【0144】
図22は、上記ステップS1709のジョブの実行フェーズ毎のバージョンアップチェック処理を示すフローチャートである。
【0145】
先ず、ステップS11101ではジョブリスト(図19)を取得する。ステップS11102では今回バージョンアップを行うソフトモジュール名の取得を行う。ステップS11103では、ジョブ実行フェーズ毎の利用ソフトモジュール一覧テーブルを取得する(図23(a),(b))。
【0146】
このテーブルはジョブ種毎に実行フェーズを分け、それぞれのフェーズにどのソフトモジュールを利用するかの一覧を示したテーブルである。例えばコピージョブでは、「UI操作、スキャン実行、プリント実行」の3つのフェーズに分割され、それぞれUI操作フェーズにはUI画面モジュールが利用される。スキャン実行フェーズにはスキャナデバイス制御モジュール、圧縮伸張モジュール、文書管理制御モジュールが利用される。プリント実行フェーズには圧縮伸張モジュール、文書管理モジュール、プリントデバイス制御モジュールが利用されることが分かる。
【0147】
図23(a),(b)に示した2つのテーブルは一例としてPDLプリントジョブおよびコピージョブにおける一覧を示したものであり、勿論、他のジョブ種についても同様のテーブルが存在する。また、ジョブ種毎に利用するモジュールも機器によって異なる場合があり、これも一例を示したに過ぎない。
【0148】
続いてステップS11104ではソフトモジュール毎のバージョンアップ所要時間テーブル(図24)を取得する。このテーブルは、各モジュールについてサービスセンタ601に存在するファイルサーバ606からバージョンアップモジュールをダウンロードするために必要な予想時間が格納されている。また、ダウンロードしたモジュールを利用して実際にバージョンアップを行うために必要な時間も格納されている。なお、このテーブルはサービスセンタ601に存在するファイルサーバ606から取得することが出来る。
【0149】
続いてステップS11105からステップS11112はループになっておりステップS11101で取得したジョブリスト中に存在するジョブ数回ループし登録されている全ジョブについてチェックを行う。ステップS11106では該ジョブのジョブ種を取得する。ステップS11107では、ステップS1106で取得したジョブ種とステップS11103で取得したジョブ実行フェーズ毎の利用ソフトモジュール一覧テーブルの比較を行い、該ジョブの実行フェーズを取得する。例えば該ジョブ種がPDLプリントジョブだった場合はデータ受信フェーズ、PDL展開フェーズ、プリントフェーズの3つのフェーズが取得される。
【0150】
ステップS11108ではステップS11102で取得された今回バージョンアップを行うモジュール名とステップS11104で取得されたソフトモジュール毎のバージョンアップ所用時間テーブルからバージョンアップに必要な時間を計算する。例えば今回バージョンアップを行うモジュールがプリントデバイス制御モジュールであった場合はダウンロード予想時間とバージョンアップ所要時間の合計で100秒必要と言う計算結果を得ることが出来る。
【0151】
続いてステップS11109では、ステップS11107で取得したジョブ実行フェーズそれぞれの所要時間を計算する。フェーズ毎に異なるために不図示であるが例えばPDL展開フェーズであれば、PDLデータのデータサイズから計算できる値であり、例えばコピージョブのスキャンフェーズではコピー原稿の枚数から計算できる値である。
【0152】
ステップS11110では、ステップS11107で取得したジョブ実行フェーズと、ステップS11108で計算したバージョンアップ所要時間と、ステップS11109で計算したジョブの実行フェーズ毎の所要時間から、該ジョブ実行中に並行してバージョンアップが可能であるかの判定を行う。
【0153】
例えばプリントデバイス制御モジュールのバージョンアップを行いたい場合に、ステップS11108ではプリントデバイス制御モジュールのバージョンアップに必要な時間は100秒であると計算される。現在チェック中のジョブがPDLプリントジョブでPDLデータのサイズが50メガバイトであった時にPDL展開フェーズで必要な実行時間が180秒という結果がステップS11109の計算で得られたとする。この場合、該ジョブ実行中のPDL展開フェーズにプリントデバイスのバージョンアップが可能であると判定される。
【0154】
ステップS11110でバージョンアップ可能なジョブ実行フェーズがあると判定された場合はループを抜けステップS11111に進みジョブの実行フェーズ毎のバージョンアップチェックフローを終了する。
【0155】
また、ステップS11110でバージョンアップ可能なジョブ実行フェーズが無いと判定された場合はループを繰り返しジョブリストに登録されている全ジョブについてチェックを行う。全ジョブのチェックを行ったがバージョンアップ可能なジョブが見つからなかった場合はループを抜けステップS11113に進み、ジョブの実行フェーズ毎のバージョンアップチェックフローを終了する。
【0156】
図18の説明に戻る。上記のステップS1709のサブルーチン(図22)を実行した結果をステップS1710で判定する。サブルーチン(図22)を実行した結果、ジョブリスト中にジョブ実行と並行してバージョンアップ可能なジョブ(ジョブの実行フェーズに分割して詳細検索した結果、並行バージョンアップ可能(Yes)と判断されたジョブ)が存在すると判定された場合、ステップS1711に進む。ここでは、バージョンアップを並行して行うことが可能なジョブが実行されるタイミングを待つ。そして該タイミングになるとステップS1712に進みジョブ実行中のバージョンアップ可能フェーズになるのを待つ。そして、バージョンアップ可能フェーズになるとステップS1713に進みバージョンアップを実行して、一連のバージョンアップ処理を終了する。
【0157】
また、ステップS1710でジョブ実行と並行してバージョンアップ不可と判定された場合は、現在ジョブリストに登録されているジョブの処理がすべて完了するまではバージョンアップは不可能であると判断されるので、ステップS1714に進む。ここでは、現在、実行待ちのジョブが全て終了するのを待つ。そして現在ジョブリストに登録されている全てのジョブが実行完了したタイミングでステップS1702に進み再びバージョンアップの処理を繰り返す。
【0158】
以上説明したように本第2の実施形態によれば、ソフトウェアモジュール(ソフトウェアパーツ)のバージョンアップを行う際に、ジョブキューにある実行待ちにあるジョブの内容に基づいてバージョンアップのタイミングを調整する。従って、MFP等の画像処理装置の稼働率を維持したまま、ソフトウェアモジュールの更新処理が行える。
【0159】
<第3の実施形態>
第2の実施形態における処理、及び、第1の実施形態における処理は、何れか片方の実施形態の処理を実行しても良いし、或は、双方の実施形態の処理を実行するようにしても良い。
【0160】
例えば、図18、20、22、及び、図9乃至12の全てフローチャートを実行し、ソフトウェアパーツ更新の可否を判断し、該判断に基づきソフトウェアパーツの変更(削除・更新)を行うようにしても良い。また、第2の実施形態における処理のみを実行させるようにしても良い。
【0161】
<第4の実施形態>
上に説明した各実施形態では、変更対象として、1のジョブを実行する場合に利用される複数のソフトウェアパーツの何れかを変更対象に説明してきた。しかし、変更するソフトウェアの単位はこれに限定されない。例えば、図5に示ではコピージョブが5つのソフトウェアパーツから構成されるよう説明した。このコピージョブが2以上4以下のソフトウェアパーツから構成される場合でも上述のフローチャートに適用できる。また、1のジョブを実行するソフトウェアが一つのパーツからなる場合でも上述のフローチャートを適用することができる。勿論、ジョブ種がコピージョブ以外のE−mailなどでも、ソフトウェアパーツの単位を変更し、上述のフローチャートを適用できることは言うまでも無い。
【0162】
<第5の実施形態>
上に説明した各実施形態では、画像形成装置に記憶されたソフトウェアに係る変更処理を説明したが、これはに限定されない。例えば、画像形成装置に係るソフトウェアがネットワーク上の外部の情報処理装置(画像処理装置)に記憶され、画像形成装置が情報処理装置(画像処理装置)に記憶されるソフトウェアを利用し処理を行う形態も想定される。この場合には、情報処理装置(画像処理装置)に記憶されるソフトウェアと画像形成装置に登録されるジョブとに基づき、上述の各フローチャートが実行されることとなる。
【0163】
以上、本発明にかかる実施形態を説明したが、本発明は、画像処理装置等で実行されるコンピュータプログラムによって実現している。従って、当然、それを実現するためのコンピュータプログラムも本発明の範疇にある。また、コンピュータプログラムは、CDROMやメモリカード等のコンピュータ可読記憶媒体に格納されていて、それを装置にセットしてシステムにコピーもしくはインストールされることで実行可能になる。それ故、当然、そのようなコンピュータ可読記憶媒体も本発明の範疇に入る。
【図面の簡単な説明】
【0164】
【図1】第1の実施形態におけるシステム構成図である。
【図2】第1の実施形態における画像形成装置のブロック構成図である。
【図3】第1の実施形態におけるPCのブロック構成図である。
【図4】第1の実施形態における画像形成装置のソフトウェアパーツのブロック構成図である。
【図5】第1の実施形態におけるタイマジョブリストの一例を示す図である。
【図6】第1の実施形態における再構成後のタイマジョブリストの一例を示す図である。
【図7】第1の実施形態における分散システムの処理の流れを示す図である。
【図8】第1の実施形態における画像形成装置のタイマジョブ登録処理手順を示すフローチャートである。
【図9】第1の実施形態におけるソフトウェアパーツの削除・更新要求の発生時の処理手順を示すフローチャートである。
【図10】図9のステップS15の詳細を示すフローチャートである。
【図11】第1の実施形態におけるタイマジョブ処理の処理手順を示すフローチャートである。
【図12】第2の実施形態において利用する画像形成装置の外観図である。
【図13】第2の実施形態における画像形成装置の断面構造図である。
【図14】第2の実施形態における印刷システムの構成図である。
【図15】第2の実施形態における画像形成装置のブロック構成図である。
【図16】第2の実施形態における画像形成装置のソフトウェアモジュールの構成を示す図である。
【図17】第2の実施形態におけるサービスセンタとユーザ環境との関係を示す図である。
【図18】第2の実施形態における画像形成装置のソフトウェアモジュールのバージョンアップ処理手順を示すフローチャートである。
【図19】第2の実施形態における画像形成装置が保持しているジョブリストの一例を示す図である。
【図20】図18におけるステップS1705の詳細を示すフローチャートである。
【図21】第2の実施形態における利用ソフトモジュール一覧テーブルを示す図である。
【図22】図18におけるステップS1709の詳細を示すフローチャートである。
【図23】第2の実施形態におけるジョブにおける各シーケンス別に利用するソフトモジュールの一覧テーブルを示す図である。
【図24】第2の実施形態における各ソフトウェアモジュール毎の更新時間とダウンロード時間のリストを示す図である。
【技術分野】
【0001】
本発明は、多機能画像処理装置におけるソフトウェアパーツの更新技術に関するものである。
【背景技術】
【0002】
ネットワークの利用が進み、ネットワーク上に様々なデバイスを設置することが行われている。通常、ネットワークには、各クライアントPCで共有する装置、例えば画像処理装置(印刷装置や、印刷・FAX・スキャナ・コピー等の複数の機能を有する複合機)を設置している。このような画像処理装置は、内部にCPU(プロセッサ)を搭載し、クライアントから受信したジョブを解析し、処理することが行われる。
【0003】
画像処理装置が実行できる機能は、その装置のハードウェアリソースの範囲内であれば、CPUが実行するプログラム(ファームウェア)を更新することで、容易に変更、追加することができる。また、通常、ジョブを受信した場合には、そのジョブをキューに登録し、順次実行することが多い。
【0004】
さて、上記のような画像処理装置において、ファームウェアを更新する場合には、その更新中に新たなジョブを受信することがないように、オフラインにした上でファームウェアの更新を行う。
【0005】
かかる技術に関連するものとして、ファームウェアの書き換えとプリントジョブの実行の最適化を目的とする技術が提案されている(例えば、特許文献1)。この技術は、プリントジョブとファームウェアの更新が同時に発生した場合、プリントジョブを他の画像処理装置に転送し、その転送後にファームウェアを更新するというものである。
【特許文献1】特開2003−054087号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
一方、投入と同時に処理が実行されるジョブとは異なり、実行タイミングが指定されるタイマージョブが知られている。しかしながら、ジョブキュー(ジョブ実行キュー)にジョブが登録されていないことを理由に、ソフトウェアを更新又は削除した場合に不都合を生じることがある。例えば、実際にはタイマージョブが登録されており、後にタイマージョブを実行する為にジョブ実行キューにタイマージョブを登録すると、タイマージョブ登録時のソフトウェアが変更又は削除されており不都合を生じることがある。
【0007】
一方、これまでの技術のファームウェアの更新は、画像処理装置におけるジョブの未登録が前提であった。ジョブを登録したままでも、ソフトウェア更新が行える行えるよう改善が望まれる。
【0008】
本発明はかかる問題点に鑑みなされたものであり、画像処理装置に登録されるタイマージョブを考慮したソフトウェア変更を行える技術を提供しようとするものである。
【0009】
また、ジョブを登録したままでも、ソフトウェア更新が行える行える技術を提供しようとするものである。
【課題を解決するための手段】
【0010】
上記課題を解決するため、例えば本発明の画像処理装置は以下の構成を備える。すなわち、
互いに独立して実行可能なソフトウェアパーツを記憶する書き換え可能な記憶保持手段を有し、前記ソフトウェアパーツを組み合わせて多種類のジョブを実行する画像処理装置であって、
処理実行タイミングが指定されたタイマジョブを登録する登録手段と、
該登録手段で登録されたタイマジョブの種類に依存し、利用されるソフトウェアパーツを特定する情報を記憶するソフトウェアパーツリスト記憶手段と、
所望とするソフトウェアパーツの変更要求が発生した場合、変更要求対象となるソフトウェアパーツが、前記登録手段で登録されたタイマジョブで利用されているか否かを、前記ソフトウェアパーツリスト記憶手段を参照することで判別する判別手段とを備える。
【発明の効果】
【0011】
本発明によれば、画像処理装置に登録されるタイマージョブを考慮したソフトウェア変更を行える。
【0012】
また、他の発明によれば、ジョブを登録したままでも、ソフトウェア更新が行える行える。
【発明を実施するための最良の形態】
【0013】
以下、添付図面に従って本発明に係る実施形態を詳細に説明する。
【0014】
<第1の実施形態>
第1の実施形態を説明する。
【0015】
まず本実施形態に関わるネットワーク上のシステム構成の一例を、図1を参照しながら説明する。
【0016】
ローカルエリアネットワーク(LAN)40上には、パーソナルコンピュータ等の汎用情報処理装置(以下、PC)10、11、複写機やプリンタなどの画像形成装置20、21、22、23が存在する。ネットワークは、LANだけでなく、インターネットでも構わない。また、図1は、PCが2台、画像形成装置が4台が接続されている例を示しているが、これらの数に制限はないし、接続されるノードもPC、画像形成装置以外のデバイスを含んでも構わない。
【0017】
次に、図2にて画像形成装置(MFP)20、21、22、23のコントローラブロック図の一例を説明する。
【0018】
メインコントローラ111は、主にCPU112と、バスコントローラ113、各種I/Oコントローラ回路とから構成される。CPU112とバスコントローラ113は制御装置110全体の動作を制御するものであり、CPU112はブート時にROM114からROM I/F115を経由して読込んだブート用プログラムに基づいて動作する。
【0019】
バスコントローラ113は各I/Fから入出力されるデータ転送を制御するものであり、バス競合時の調停やDMAデータ転送の制御を行う。DRAM116はDRAM I/F117によってメインコントローラ111と接続されており、CPU112が処理するプログラムをロードするため、及び、CPU112のワークエリアや、画像データを蓄積するためのエリアとして使用される。Codec118は、DRAM116に蓄積されたラスターイメージデータをMH/MR/MMR/JBIG/JPEG等の方式で圧縮し、また逆に圧縮され蓄積されたコードデータをラスターイメージデータに伸長(デコード)する。SRAM119はCodec118の一時的なワーク領域として使用される。Codec118はI/F120を介してメインコントローラ111と接続され、DRAM116との間のデータの転送は、バスコントローラ113によって制御されDMA転送される。
【0020】
Graphic Processor135は、画像回転、変倍処理の処理を行う。外部通信I/F121はI/F122によってメインコントローラ111と接続され、コネクタ122によってネットワーク40や公衆回線と接続される。汎用高速バス125には、拡張ボードを接続するための拡張コネクタ124とI/O制御部126とが接続される。汎用高速バスとしては、一般的にPCIバスがあげられる。I/O制御部126には、図示しないリーダー装置、プリンタ装置の各CPUと制御コマンドを送受信するための調歩同期シリアル通信コントローラ127が2チャンネル装備されている。このため、I/O制御部126には、I/Oバス128によって外部I/F回路140、145が接続されている。パネルI/F132は、LCDコントローラ131に接続され、図示しない操作部上の液晶画面に表示を行うためのI/Fを備える。また、パネルI/F132には、ハードキーやタッチパネルキーの入力を行うためのキー入力I/F130を有する。リアルタイムクロックモジュール133は、機器内で管理する日付と時刻を更新/保存するためのもので、バックアップ電池134によってバックアップされている。
【0021】
E−IDEインタフェース161は、外部記憶装置を接続するためのものである。本実施形態においては、このI/Fを介してハードディスクドライブ160を接続し、ハードディスク162へ画像データを記憶させたり、ハードディスク162から画像データを読み込ませたりする動作を行う。ハードディスク162には、本実施形態に係るOSをはじめ、各種ソフトウェアコードが保存されており、このソフトウェアコードのアップデイト処理などにも利用される。
【0022】
ソフトウェアコードは、いくつかのソフトウェアパーツに分かれており、それらのソフトウェアパーツそれぞれが、アップデイト、もしくは削除可能なパーツとなっている。このソフトウェアパーツのアップデイト処理時には、先ず、このハードディスク内にテンポラリ領域を設け、そのテンポラリ領域にアップデイトする新しいソフトウェアパーツを一時的に保存する。その後、正式な保存領域に格納されたソフトウェアパーツのアップデイト処理を行う。また、アップデイト処理を行う際は、同じハードディスク内に設けたバックアップ領域に、バックアップを行ってから実際のアップデイト処理が行われる。
【0023】
コネクタ142と147は、それぞれ図示しないリーダー装置やプリンタ装置に接続され、同調歩同期シリアルI/F(143,148)とビデオI/F(144,149)とから構成される。スキャナI/F140は、コネクタ142を介してリーダー装置と接続され、また、スキャナバス141によってメインコントローラ111と接続されている。また、スキャナI/F140は、リーダー装置から受け取った画像に対して所定の処理を施す機能を有し、さらに、リーダー装置から送られたビデオ制御信号をもとに生成した制御信号を、スキャナバス141に出力する機能も有する。スキャナバス141からDRAM116へのデータ転送は、バスコントローラ113によって制御される。
【0024】
プリンタI/F145は、コネクタ147を介してプリンタ装置(プリンタエンジン)と接続されている。このプリンタI/F145は、プリンタバス146によってメインコントローラ111と接続されており、メインコントローラ111から出力された画像データに所定の処理を施して、プリンタ装置へ出力する機能を有する。また、プリンタI/F145は、プリンタ装置から送られたビデオ制御信号をもとに生成した制御信号を、プリンタバス146に出力する機能も有する。DRAM116上に展開されたラスターイメージデータのプリンタ装置への転送は、バスコントローラ113によって制御され、プリンタバス146、ビデオI/F149を経由して、プリンタ装置へDMA転送される。
【0025】
上記構成において、本実施形態の画像形成装置20に電源が投入されると、CPU112は、ROM114のブートプログラムに従って装置全体の初期化処理を行なう。次いで、ハードディスクドライブ160を制御し、ハードディスク162に記憶されたOS(マルチタスクOS)をDRAM116に読み込む。この後、必要に応じて、各種プログラムパーツを同様にハードディスク162からRAM116に読み込み実行することで、複合機(MFP)として機能する。
【0026】
ここで、各種プログラムパーツは、それぞれが独立して実行するスレッドとして実行されるものであり、様々なものが含まれる。実施形態における画像形成装置は、スキャナ機能、プリンタ機能、複写機能、ファクシミリ機能、電子メール機能を搭載する。ここでスキャナ機能(原稿を読取る機能)に着目すると、原稿読み込みのための各種設定操作を行うためのUI制御、実際に設定されたパラメータに従って原稿を読込むスキャナ制御を有する。また、スキャナ機能には、読み込まれた原稿画像に対して各種補正処理を行う画像処理、並びに、送信(ファイルサーバ等のPC)に送信する処理も含まれる。これらはそれぞれがプログラムパーツとして互いに連携して処理する。このようにするとことで、例えば、複写機能でも、原稿を読込むためのスキャナ制御を共通のものとすることができ、装置のプログラム開発、管理を容易にできると共に、各プログラムパーツの更新や削除等の変更も容易にできるようになる。また、プリンタ機能(ネットワークプリンタ機能)や、複写機能でも、最終的にプリンタエンジンを利用して印刷を行うものであるので、プリンタエンジン制御に係るプログラムパーツを共通なものとすることができるのは理解できよう。
【0027】
次に、図3にて、図1におけるPC10(PC11も同様)の内部構成の一例を説明する。
【0028】
CPU4101は、全体の制御を行う中央演算装置であり、電源投入時はROM4105に格納されたブートプログラムに従って起動し、装置全体の初期化を行う。そして、ハードディスクユニット4106に記憶されたOSをメモリ4104(RAM)にロードし、OSを起動する。この後は、ユーザの指示に従って、ハードディスク4106に格納された所望とするアプリケーションプログラムをメモリ4104に読み込み、文書編集等を行うことになる。
【0029】
ネットワークインタフェース4102は、他の機器との間でネットワーク40を介したデータ通信を行うための制御部である。CPU4101によって実行されるソフトウェアは、LAN40を介して、印刷デバイスや他のネットワーク機器、あるいは他のコンピュータと双方向のデータのやり取りを行うことができる。周辺インタフェース4103は、周辺機器の制御を行うための制御部である。
【0030】
ハードディスクユニット4105は、上記の通り、OS、各種アプリケーションプログラム、プリンタドライバをはじめ、各アプリケーションで作成されたデータファイルを格納する。
【0031】
ディスプレイインタフェース4107は、PCの内部状態や、実行状態などを表示するための表示部を接続するため制御部である。キーボードインタフェース4108やマウスインタフェース4109は、計算機4100に対してユーザがデータや命令を入力するための入力装置を接続できる。周辺機器インタフェース4103は、USB、RS−232Cシリアル、IEEE1394などの仕様を実装した周辺機器を接続するための制御部である。
【0032】
次に、図4に、実施形態における画像形成装置20(他の装置も同様)のソフトウェアパーツのブロック図の一例を説明する。これらソフトウェアパーツは先に説明したように、当初はハードディスク162に格納されているものであり、装置が複合機として機能する際にはDRAM116に読み込まれ、CPU112によって実行されるものである。
図中、201はUI制御モジュールであり、画像形成装置の操作パネルからのユーザの操作を受け付け、下位のアプリケーション層に情報を渡したり、操作パネルに表示するビットマップ画像を決定したりする。202はFaxアプリであり、UI制御モジュールからの指示に従い、アドレス帳のハンドリングをしたり、Fax送信の指示を出したりする。203は送信アプリであり、UI制御モジュールからの指示に従い、アドレス帳のハンドリングをしたり、E−Mail送信やFTP送信などのプロトコル種に応じた制御を行ったりして、送信処理の指示を出す。
【0033】
205はBoxアプリであり、Storageデバイス(実施形態ではハードディスク162)に配備されたBox領域への格納指示や、文書の移動やコピーなどの操作を行う。206はコピー(複写)アプリであり、いわゆるコピー動作を指示する。204はスキャナ制御モジュールであり、スキャナ装置を制御するためのモジュールである。212は画像処理モジュールであり、スキャンした画像の回転や拡大・縮小、などの画像処理を行うモジュールである。207はLocalプリントアプリであり、Storageに保存された文書をプリント指示したり、ログのレポートなどのプリントを指示したりする。208はデータ受信モジュールであり、例えば外部からのPDLデータを受信するモジュールである。215は展開処理モジュールであり、PDLデータをラスターイメージに展開する処理を行う。210はFax制御モジュールであり、Faxデバイスを制御する。211は送信制御モジュールであり、E−Mailなどのプロトコル処理を行うモジュールである。213はStorage制御モジュールであり、ハードディスク内に領域が確保されたStorageデバイスを制御するモジュールである。214はプリンタ制御モジュールであり、プリンタデバイスを制御する。209は表示制御アプリであり、例えばPDLの受信状況など、デバイスの状況をUI制御モジュールに渡すための情報を整理するアプリである。216は通信制御モジュールであり、各ソフトウェアパーツ間の通信を司る役目を果たす。この通信の仕組みに関しては、図7で詳述する。
【0034】
上記のように、実施形態における画像形成装置は、様々な独立したソフトウェアパーツが用意され、且つ、それらが互いに連携することで、1つのジョブ処理を遂行することになる。各ソフトウェアパーツの通信は、IPアドレスとポート(もしくは引数)を介して行われる。1つの画像形成装置内での処理の場合、IPアドレスは同じであり、不要に思われる。しかしながら、実施形態では、複数の画像形成装置がネットワーク40に接続されており、且つ、それぞれの画像形成装置が自身が備えるリソース(スキャナ、プリンタエンジン等のハードウェア資源は勿論のこと、各種処理のソフトウェア資源)を互いに共有する。そのため、ソフトウェアパーツ間の通信にはIPアドレスを用いた。勿論、ネットワークを介しての通信が行えれば良い。IPアドレスの代わりにネットワーク上のユニークな名前を用いて通信を行なっても構わない。
【0035】
例えば、或る画像形成装置Aにて、複写機能を実行する場合、すなわち、原稿の読取や複写に関する諸設定(複写部数やステイプルする/しない等)を行ない、原稿を読取り、印刷する場合に考察する。この場合、実行されるソフトウェアパーツは、操作パネルのUI制御201、コピーアプリ206、スキャナ制御アプリ204、画像処理アプリ212、プリンタ制御アプリ214、更には、それらの連携処理を制御する通信制御アプリ216を必要とする。ここで、仮に、プリンタ制御アプリ214が、何らかの理由で、画像形成装置Aで実行できない場合、他の画像形成装置Bが有するプリンタ制御アプリ214を利用することも可能である。なお、画像形成装置Aでプリンタ制御アプリ214が実行できない理由としては、そのプリンタ制御アプリを削除した場合、或いは、ユーザが意図的に印刷出力先として画像形成装置Bを指定した場合等がある。
【0036】
上記の如く、画像形成装置Aにて、実行できないソフトウェアパーツについては、他の画像形成装置Bが有するソフトウェアパーツで代替する。そのため、画像形成装置Aがネットワーク40上に画像形成装置Bが存在すること、及び、その画像形成装置Bが有するソフトウェアパーツを検出することが必要になる。かかる技術としてが、UPnP等の技術を利用、もしくは、それを更に発展させることで実現できる。
【0037】
次に、実施形態におけるタイマジョブについて説明する。タイマジョブとは、ユーザが日タイミング指定し、その指定されたタイミングに処理を実行することを目的とするジョブを言う。ここでのタイミングとはユーザによる指定日時(分及び秒なども含む)により決定される場合、及び、指定時間の経過により決定される場合の何れも想定される。
【0038】
例えば、PC10上にて、文書編集等のアプリケーションを起動し、印刷指示する際に、印刷の出力時刻を指定する場合等がある。これは、指定した時刻に会議を行うことが予めわかっていて、その為の資料をその会議開催に向けて予め印刷指示しておくものと考えれば分かりやすい。また、指定したタイミングになったら、読み込んだ原稿画像を電子メールに添付して送信する場合等にも対処できる。
【0039】
上記のように、タイマジョブが発生すると、そのタイマジョブに関する情報は、ハードディスク162に予め確保されたタイマジョブリストに追加・格納し、その時刻の管理が行われる。そして、その時刻になった場合に、そのジョブについての未処理となっている各部分的な処理を、それに関連する各種ソフトウェアパーツを実行することで処理を行う。このとき、実施形態では、そのタイマジョブに利用されるソフトウェアパーツリストも併せて記憶するものとした。この理由は、実施形態では、ソフトウェアパーツがタイマジョブとして管理された後でも、各種ソフトウェアパーツの削除やアップデートを効率良く行うためである。なお、ソフトウェアパーツの削除、アップデート(更新)は、ネットワーク40を介してPC10等で画像形成装置のファームウェア(ソフトウェアパーツ)アップデートアプリケーションを起動することで行われる。すなわち、PC10等でアップデートアプリケーションを起動し、ネットワーク上の画像形成装置のIPアドレスを指定して、削除、アップデートを行うコマンドを発行する。アップデートの場合には後続してアップデート対象となるソフトウェアパーツ情報をその識別情報と共に、指定されたIPアドレス(画像形成装置)に送信する。なお、画像形成装置が有する拡張コネクタ124に、フレキシブルディスクやメモリカード等の記憶媒体をアクセスするドライブを接続している場合もある。このような装置では、変更要求情報を記憶した記憶媒体をそのドライブにセットし、操作パネルからの指示に応じて、アップデートするようにしても構わない。
【0040】
図5は、画像形成装置A(図1の画像形成装置20乃至23のいずれか)のハードディスク162に格納されたタイマージョブリストの一例を示している。
【0041】
登録されたタイマージョブは、そのジョブの種類とタイマージョブのキューを管理するための登録番号、タイマージョブの開始タイミングが管理される。また、タイマージョブを使用するために割り当てられたソフトウェアパーツとそのホスト名、並びにその所在地(IPアドレス)、さらには他の利用可能なソフトウェアパーツとそのホスト名、並びにその所在(IPアドレス)も図5のように管理される。
【0042】
タイマジョブの登録処理の詳細は後述するが、タイマジョブを登録する際には、個々のタイマジョブをユニークに管理するため、登録番号を発行する。また、そのジョブに利用されるソフトウェアパーツを抽出し、そのソフトウェアパーツの所在する画像形成装置のIPアドレスを格納する。なお、登録するIPアドレスは、そのジョブを受信した画像形成装置のIPアドレスを優先する。
【0043】
さて、図5では、例えば登録されたタイマージョブが2つのE−Mail(電子メール)送信、1つのコピーの例を示している。
【0044】
E−Mail送信の1つ目のジョブに関しては、登録番号が00100、処理時刻(タイマジョブが発生した日時より未来)が2005年9月5日の10時00分であることを示している。また、使用するソフトウェアパーツがUI制御モジュール、送信アプリ、スキャナ制御モジュール、画像処理モジュール、送信制御モジュールで構成されることを示している。また、最優先のホストはすべてA(ローカル)、IPアドレスはすべて172.24.11.111となっている。また、2番目以降の利用可能なソフトウェアパーツとして、画像処理モジュールのソフトウェアパーツがホスト名B、IPアドレスが172.24.11.112のもの、ホスト名がC、IPアドレスが172.24.11.113のものが登録されている。
【0045】
また、送信制御モジュールのソフトウェアパーツがホスト名X、IPアドレスが172.24.11.115のもの、ホスト名Y、IPアドレスが172.24.11.116のもの、ホスト名がZ、IPアドレスが172.24.11.117のものが登録されている。
【0046】
さらに、2つ目のE−Mail送信、1つのコピーに関しても図示のように登録されている。
【0047】
ここで、上記のタイマジョブリストが管理されている状況で、画像形成装置Aにおけるソフトウェアパーツの削除・更新依頼が発生した場合について説明する。ここでは、E−Mailにおける送信制御モジュールを削除依頼が発生した場合である。
【0048】
画像形成装置Aにおける送信制御モジュールが削除されると、画像形成装置AのCPU112は、その送信制御モジュールの代替ホスト(画像形成装置A以外の画像形成装置)が存在するか否かをタイマジョブリストを参照することで判断する。そして、代替ホストが存在することが確認できた場合には、タイマジョブリストの中の、送信制御モジュールを実行するホスト名「A」とそのIPアドレスを削除し、2番目以降のホスト名とIPアドレスを繰り上げる。
【0049】
また、代替ホストが存在しない場合には、E−Mailに関する送信制御モジュールの削除は一時的に保留状態にする。この保留状態は、タイマジョブリスト中に未完のE−Mailジョブが存在する限り維持する。換言すれば、タイマジョブを順次行って、未完のE−Mailジョブが存在しなくなった場合に、要求された送信制御モジュールを削除する。
【0050】
上記の如く、ソフトウェアパーツの削除要求が発生した場合であっても、それを利用したジョブが実行可能な状態を維持することが可能になる。
【0051】
図6は、代替ホストが存在する場合の、タイマジョブリストの構成を示している。図示のように、E−Mailジョブにおいて、送信制御モジュールの実行するホスト名「A」が削除されて、代替ホスト名「X」及びそのIPアドレスが繰り上がっている。
【0052】
次に図7にて、図4で説明した、各ソフトウェアパーツ間の通信を司る、通信制御モジュール216の処理の一例について説明する。
【0053】
通信制御モジュールは分散オブジェクトの概念を実現するためのモジュールである。
【0054】
通信制御モジュール以外の各ソフトウェアパーツは、その処理結果を送信する相手先モジュールを問わず通信処理を可能とする。
【0055】
E−Mailの場合、UI制御モジュール201Aは、通信制御モジュール216Aにその指示を渡す。これに伴い、通信制御モジュールは、送信アプリ203AにE−Mail送信の指示を出す。つまり、ジョブの種類毎に決まった順序で、各ソフトウェアパーツから受信した情報を、下位に位置するソフトウェアパールに送信することで、ジョブを遂行していく。
【0056】
図5の状態、すなわち、ソフトウェアパーツの削除がない場合のE−Mailタイマジョブの場合には、通信制御モジュール216Aは、先ず、UI制御モジュール201Aを起動し、処理項目を選択させる。ここでは、E−Mailの例を説明しているので、ユーザはE−Mailのタイマジョブを選択することになる。通信制御モジュール216Aが、E−Mailタイマジョブが指示されたと判断すると、次いで、E−Mailの送信アプリ203Aを起動し、原稿の読取りにかかる諸設定、送信先メールアドレス、及び送信するタイミングを入力させる。この結果、上記情報が取得されるので、通信制御モジュール216Aは、その内の原稿読み取りに関する情報と、出力先としてハードディスク162に、その際のファイル名を指示する情報をスキャナ制御モジュール204Aに渡し、原稿の読取りを開始させる。
【0057】
以上の結果、ハードディスク162には、E−Mail送信用の画像データファイルが格納されることになる。この後は、図7のタイマジョブで指示されたタイミングになるのを待ち、その日時になったと判断した場合、ハードディスク162に格納された画像データに対して所定の画像処理をおこなうべく、画像処理モジュール212Aを起動する。そして、その画像処理の結果である画像データ、及び、送信宛て先メールアドレスを、起動した送信制御モジュール211Aに渡して、E−Mail送信を行わせることになる。
【0058】
ここで、図6のように、ホストAの送信制御モジュール211Aを削除した場合について考察する。この場合、ホストAの送信制御モジュール211Aは利用できない(図7の破線部分)。従って、画像処理モジュールで生成された画像データを、ホストX(IPアドレスが174.24.11.115)の画像形成装置21の送信制御モジュール211Xに向けて送信する。この後の処理は、E−Mail送信処理がホストXで行う点が異なるだけであるので、説明は不要であろう。
【0059】
先ず、実施形態におけるタイマジョブの登録処理を図8のフローチャートに従って説明する。
【0060】
先ず、ステップS1において、タイマジョブを登録する。このタイマジョブには、既に説明したように、タイマE−Mailジョブ、タイマコピージョブがあるが、これ以外にも、PC10等からのタイマプリントジョブがある。タイマE−Mailジョブ、タイマコピージョブでは、UI制御によって、原稿を読み込み、ハードディスク162への画像データの登録まで行ない、それ以降の処理はタイマ設定されたタイミングまで待機状態にする。
【0061】
次に、ステップS2において、登録したタイマジョブに必要なソフトウェアパーツをサーチ(検索)する。このサーチは、タイマジョブの実行に際して利用するソフトウェアパーツを自ホスト、並びに、ネットワーク40上の他の画像形成装置に対して行う。自ホストに対して検索が行われると自装置の記憶手段に記憶されるソフトウェアパーツの中に必要なソフトウェアパーツが存在するか否を調べる。また、他の画像形成装置に必要なソフトウェアパーツが存在するか否かを調べるには、他の画像形成装置に対して必要とするソフトウェアパーツの種類を特定できる識別子と検索の依頼を送出する。さらに、他の画像形成装置については、必要とするソフトウェアパーツが存在する装置であれば画像形成装置に限定されることはない。
【0062】
この後、ステップS3に進んで、タイマジョブについて登録番号を発行し、タイマジョブリスト(図5、図6参照)に追加登録し、ユーザが指定したタイミングになるまで記憶管理する。
【0063】
次に、ソフトウェアパーツの変更要求(削除・更新要求)が発生した場合の処理を図9のフローチャートに従って説明する。また、ソフトウェアパーツの変更要求の入力は、例えば画像処理装置の操作部を介して行われる。また後述の第2の実施形態のS1701のように、外部の管理サーバからのソフトウェア変更要求を入力しても良い。また、実際の画像形成装置にはジョブキューに実行可能で即時実行されるジョブが登録されているケースが想定されるが、ジョブキューに登録されるジョブについては、第2の実施形態における図17で詳しく説明する。ここでは、ジョブキューに登録されるジョブによってソフトウェアパーツの変更に支障が無い場合を前提として説明を行う。
【0064】
先ず、ステップS11において、削除・更新対象となるソフトウェアパーツが、タイマジョブリスト中に登録されているか否かを判断する。タイマジョブリスト中に存在しない場合には、削除・更新対象ソフトウェアパーツはその時点でのタイマジョブとは無関係であるので、ステップS12に進んで、削除・更新処理を行う。
【0065】
また、削除・更新対象ソフトウェアパーツが、タイマジョブリストに存在する場合には、ステップS13に進み、タイマジョブリストを再スケジュール可能かどうかを判断する。なお、再スケジュールの処理については後述の図10で詳しく説明する。
【0066】
例えば、タイマジョブリストが図5の状態にある場合に、「送信制御モジュール」を削除、又は更新する要求が発生した場合、ホストAの「送信制御モジュール」を削除しても、ホストXの同モジュールで代替できる。従って、この場合は再スケジュール可と判断する。また、逆に、代替ホストが存在しない場合(ネットワーク上の画像形成装置が1つしか存在しない場合もこれに相当する)、再スケジュール不可と判断する。
【0067】
さて、ステップS13において、タイマジョブリストを再スケジュール不可であると判断した場合、ステップS14に進む。ここでは、その要求情報(更新要求であれば、更新後のソフトウェアパーツを含む)をハードディスクの所定のフォルダ内に一時的に保存する。すなわち、削除・更新処理を即時行なわない。ここで保留された未実行のソフトウェアパーツの変更(削除・更新)は、後述で詳しく説明する図11のフローチャートにより実行される。
【0068】
また、ステップS13において、タイマジョブリストを再スケジュール可であると判断した場合、ステップS15に処理を進め、再スケジュール処理を行う。
【0069】
ここで、上記ステップS15の再スケジュール処理を図10のフローチャートに従って説明する。
【0070】
ステップS21では、タイマジョブリスト中の、削除・更新対象となったソフトウェアパーツをタイマージョブの実行に利用し処理対象外にする。また、替わりに他のホストのソフトウェアパパーツを割り当て、タイマジョブリストを再構成する。すなわち、例えば「送信制御モジュール」を削除・更新する場合には、図5の状態から図6の状態のように、タイマジョブリストを再構築する。
【0071】
次いで、ステップS22に進んで、発生した変更要求が更新であるか、削除であるかを判断する。更新要求であると判断した場合には、ステップS23に進んで、旧ソフトウェアパーツがDRAM116に常駐している場合には、それを消去し、ハードディスク162内の旧ソフトウェアパーツを予め設定された待避フォルダ内に移動する。そして、更新後のソフトウェアパーツを実行可能とするためハードディスク162に格納する。
【0072】
次いで、ステップS24に進んで、更新後のソフトウェアパーツの動作チェックを行う。この動作チェックは、そのソフトウェアパーツの仕様によって予め決められたデータをそのソフトウェアパーツに渡し、その結果が正しい結果(期待した結果)であるか否かによって判断する。ソフトウェアパーツに入力されるデータは画像形成装置に記憶されているものとする。
【0073】
ステップS25では、更新後のソフトウェアパーツが正しい処理を行ったか否かを判定する。この判定で正しい処理が行えたと判断した場合には、ステップS26に進み、タイマジョブリストを、自装置に記憶した更新後のソフトウェアパーツを利用するように再構築(復旧)する。例えば、図6の状態から図5の状態に戻す。つまり、再びE−Mailジョブにおいて、送信制御モジュールの実行するホスト名「A」が再び割り当てられることとなる。但し、再構築後の送信制御モジュールは更新後の送信制御モジュールが割り当てられることとなる。
【0074】
また、更新後のソフトウェアパーツが正しい処理結果を帰さなかった場合、処理はステップS27に進んで、ステップS21で再構築したタイマジョブリストを元に戻す。また、予め設定された待避フォルダ内に待避した旧ソフトウェアパーツを、タイマジョブを実行する際に利用できるように元どおりの位置に戻す。
【0075】
一方、ステップS22において、発生した要求が削除要求であると判断した場合、処理はステップS28に進む。ここでは、要求されたソフトウェアパーツを削除する。なお、この結果、該当するソフトウェアパーツは存在しなくなるが、既に代替ホストが存在するので、タイマジョブに支障はない。
【0076】
最後に、実施形態におけるタイマジョブ処理を図11のフローチャートに従って説明する。
【0077】
このタイマジョブ処理は、リアルタイムクロックモジュール133による例えば1分毎の割り込み信号を受けて、CPU112が実行する。
【0078】
先ず、ステップS31で、現在のタイミング情報(日時分)Tcをリアルタイムクロックモジュールより取得する。
【0079】
次いで、ステップS32に進んで、タイマジョブリストを検索し、処理すべきタイマジョブが存在するか否かを判断する。具体的には、各タイマジョブの設定時刻Ti(i=1、2、…)としたとき、処理すべきタイマTi≦Tcの関係を有するタイマジョブが存在するかを判断する。Ti=Tcではなく、Ti≦Tcとしたのは、実施形態では1分間隔の割り込み処理であるため、最大で1分の誤差があるためである。勿論、30秒単位の割り込み処理を行うのであれば、この限りではない。
【0080】
さて、処理すべきタイマジョブが存在すると判断した場合には、ステップS33に進んで、該当するタイマジョブを、ホスト名で示されたソフトウェアパーツを順に実行していって、処理を行う。処理が完了すると、ステップS34に進み、該当するタイマジョブは管理不要となるので、タイマジョブリストより削除する。そして、処理すべきタイマジョブが存在する限り、ステップS33、S34を繰り返す。
【0081】
こうして、現在時刻において、処理すべきタイマジョブがなくなると、処理はステップS35に進む。このステップS35では、削除・更新要求情報がハードディスク162内に格納されているか否かを判断する。すなわち、先に説明した、図9のステップS14の処理が行われたか否かを判断していることになる。
【0082】
削除・更新要求情報はないと判断した場合には、現在のタイマジョブリストに変更はないので、本処理を終了する。
【0083】
一方、削除・更新要求情報がハードディスク162内に格納されていると判断した場合には、ステップS36に進み、削除・更新要求対象のソフトウェアパーツがタイマジョブリストに存在するか否かを判断する。もし存在しない場合、タイマジョブとは無関係なソフトウェアパーツの削除・更新処理であることになるので、ステップS37に進んで、ソフトウェアパーツの削除・更新処理を行い、本処理を終える。なお、ステップS36で、削除・更新要求されたソフトウェアパーツがタイマジョブリストに存在する場合には、その削除・更新処理は行わなず、本処理を終了する。
【0084】
以上説明したように本実施形態によれば、互いに独立したソフトウェアパーツを組み合わせて多種の機能を実現することによって、個々のソフトウェアパーツの開発が容易になる。また、所望とするソフトウェアパーツについての削除・更新要求が発生した場合、未完となっているタイマジョブとは無関係のソフトウェアパーツについては、すぐさま要求通りの処理を行う。その一方で、未完タイマジョブを構成するソフトウェアパーツに対する削除・更新要求が発生した場合、そのソフトウェアパーツの代替ホストが存在する限りは、少なくとも登録されたタイマジョブを実行可能にしつつも、要求通り削除・更新処理を行う。そして、削除・更新対象のソフトウェアパーツの代替ホストが存在しない場合には、該当するタイマジョブを完了してはじめて削除・更新処理を行うので、この場合にもタイマジョブが正常に動作することが約束される。
【0085】
<第2の実施形態>
第2の実施形態を説明する。
【0086】
図12は、本第2の実施形態おけるで多機能デジタル複合機(MFP)の外観図である。図12に示される多機能デジタル複合機(MFP)は第1の実施形態にも適用できる。
【0087】
図中、1100は複写機全体を示している。1101は、ADF(オートドキュメントフィーダ)であり、原稿束を自動的に順次スキャンするための装置である。1102は操作パネルであり、各種設定や調整、機器状況の確認、などを行う。1103はマルチ手差しであり特殊な用途を持った用紙などをセットする。1104はサイドペーパーデッキであり印刷のための用紙を大量に保持することが可能である。1105はカセットペーパーデッキであり、様々なサイズの用紙を各段に分けて保持することが出来る。1106はフィニッシャであり、ステープル処理、パンチ処理、製本処理など様々なフィニッシング処理を行うことが出来る。
【0088】
図13は、デジタル複写機1100の断面図を示したものである。1280はADF(オートドキュメントフィーダ)である。1201は、原稿載置台としてのプラテンガラスである。1202は、スキャナであり、走査用ミラー1204や照明ランプ1203等で構成される。スキャナが所定方向に往復走査されて反射光が走査用ミラー1204〜1206を介してレンズ1207を透過し、イメージセンサ1208内のCCDセンサに結像する。
【0089】
1209は、レーザやポリゴンスキャナ等で構成された露光制御部で、イメージセンサ部1208で電気信号に変換され、後述する所定の画像処理が行われた画像信号に基づいて変調されたレーザ光1219を感光体ドラム1211に照射する。感光体ドラム1211の周りには、1次帯電器1212、現像器1213、転写帯電器1216、前露光ランプ1214、クリーニング装置1215が装備されている。画像形成部1210において、感光体ドラム1211は不図示のモータにより、図に示す矢印の方向に回転しており、1次帯電器1212により所望の電位に帯電された後、露光制御部1209からのレーザ光1219が照射され、静電潜像が形成される。感光体ドラム1211上に形成された静電潜像は、現像器1213により現像されて、トナー像として可視化される。
【0090】
一方、右カセットデッキ1221、左カセットデッキ1222、上段カセット1223あるいは下段カセット1224からピックアップローラ1225、1226、1227、1228により給紙された記録紙は、給紙ローラ1229、1230、1231、1232により本体に送られる。そして、記録紙はレジストローラ1233により転写ベルト1234に給送される。この結果、可視化されたトナー像が転写帯電器1216により記録紙に転写される。転写後の感光体ドラム1211は、クリーナー装置1215により残留トナーが清掃され、前露光ランプ1214により残留電荷が消去される。転写後の記録紙は、分離帯電器1217によって感光体ドラム1211から分離され、転写ベルト1234によって定着器1235に送られる。定着器1235では加圧、加熱により定着され、排出ローラ1236により本体1100の機外に排出される。
【0091】
本体1100には、例えば4000枚の記録紙を収納し得るデッキ1250が装備されている。デッキ1250のリフタ1251は、ピックアップローラ1252に記録紙が常に当接するように記録紙の量に応じて上昇し、記録紙は給紙ローラ1253によって本体に送られる。また、100枚の記録紙を収容し得る、マルチ手差し1254が装備されている。
【0092】
さらに、図13において、1237は排紙フラッパであり、搬送パス1238側と排出パス1243側の経路を切り替える。1240は下搬送パスであり、排紙ローラ1236から送り出された記録紙を、反転パス1239を介し記録紙を裏返して再給紙パス1241に導く。左カセットデッキ1222から給紙ローラ1230により給紙された記録紙も、再給紙パス1241に導かれる。1242は記録紙を画像形成部1210に再給紙する再給紙ローラである。1244は排紙フラッパ1237の近傍に配置されて、この排紙フラッパ1237により排出パス1243側に切り替えられた記録紙を機外に排出する排出ローラである。
【0093】
両面記録(両面複写)時には、排紙フラッパ1237を上方に上げて、複写済みの記録紙を搬送パス1238、反転パス1239、下搬送パス1240を介して再給紙パス1241に導く。このとき、反転ローラ1245によって記録紙の後端が搬送パス1238から全て抜け出し、且つ、反転ローラ1245に記録紙が噛んだ状態の位置まで反転パス1239に引き込む。その後、反転ローラ1245を逆転させることによって搬送パス1240に送り出す。本体から記録紙を反転して排出する時には、排紙フラッパ1237を上方へ上げ、反転ローラ1245によって記録紙の後端が搬送パス1238に残った状態の位置まで反転パス1239に引き込む。そして、反転ローラ1245を逆転させることによって、記録紙を裏返して排出ローラ244側に送り出す。
【0094】
1290は、本体1100から排出した記録紙を揃えて閉じる排紙処理装置であり、一枚毎に排出される記録紙を処理トレイ1294に積載して揃える。一部の画像形成の排出が終了したら、記録紙束をステープルして排紙トレイ1292、又は、1293に束で排出する。排紙トレイ1293は不図示のモータで上下に移動制御され、画像形成動作開始前に処理トレイ1294の位置になるように移動し、以降排出された記録紙が積載されていくと紙面の高さが処理トレイ1294の位置になるように移動する。さらに、排紙トレイ1293に約2000枚の記録紙が積載された時に検知するように、排紙トレイ1293の下限を検知するトレイ下限センサ(不図示)が設けられている。1291は、排出された記録紙の間に挿入する区切り紙を積載する用紙トレイで、1295は、排出された記録紙をZ折りにするZ折り機である。また、1296は、排出された記録紙一部をまとめてセンター折りしステープルを行うことによって製本を行う製本機であり、製本された紙束は排出トレイ1297に排出される。
【0095】
図14は、本第2の実施形態におけるディジタルプリントシステムの構成図である。
【0096】
ここには、ネットワークに接続されたプリントサーバ1301、クライアントPC1302、カラーMFP1303及び白黒MFP1304がそれぞれ1つまたは複数個存在している。
【0097】
プリントサーバ1301は、2つの役割を持っている。1つ目は外部と情報の送受であり、入稿されるジョブの画像情報や設定情報などは、まずプリントサーバ1301に入力され、そのジョブが終了するとステータスなどの情報を外部に知らせる役割を持っている。もう1つはシステムの管理制御である。外部から入力されたジョブ及び、ディジタルプリント部の内部で発生したジョブは、プリントサーバ1301にて一元管理されている、また、ディジタルプリント部の内部にある全てのデバイスと全てのジョブの状況が監視できると共に、ジョブの一時停止、設定変更、印刷再開あるいは、ジョブの複製、移動、削除などの制御が行えるようになっている。
【0098】
クライアントPC1302は、入力されたアプリケーションファイルの編集、印刷指示、あるいは、プリントレディファイルの投入の役割と、プリントサーバ1301内で管理されているデバイスやジョブの監視や制御の補佐する役割を持っている。
【0099】
カラーMFP1303及び白黒MFP1304は、スキャン、プリント、コピーなど様々な機能を有する画像形成装置(図12、図13で既に説明した)であり、カラーMFPと白黒MFPとでスピードやコストなどが異なるため、それぞれの用途に応じて使い分ける必要がある。
【0100】
次に、図15を用いてMFPの構成について説明する。
【0101】
MFPは、自装置内部に複数のジョブのデータを記憶可能なハードディスク等のメモリを具備する。そして、スキャナから出力されたジョブデータに対し該メモリを介してプリンタ部でプリント可能にするコピー機能を実現する。また、コンピュータ等の外部装置から出力されたジョブデータに対し該メモリを介してプリント部でプリント可能にするプリント機能を実現する。この結果、複数の機能を具備した画像形成装置を構築している。
【0102】
MFPには、先に説明したように、フルカラー機器とモノクロ機器があり、色処理や内部データなどを除いて、基本的な部分において、フルカラー機器がモノクロ機器の構成を包含することが多い。そのため、ここではフルカラー機器を主に説明し、必要に応じて随時モノクロ機器の説明を加えることとする。
【0103】
又、本システムでは、上記の如く、複数の機能を具備した複合機能型の画像形成装置を有する。しかし、プリント機能のみを具備した単一機能型の画像形成装置等のSFP(Single Function Peripheral:単一機能周辺機器)を具備する構成でも良い。また、いずれか一方のタイプの画像形成装置のみを具備する構成でも良い。又、何れのタイプの画像形成装置であっても、複数台具備する構成でも良い。いずれにしても、本第2の実施形態の制御が実現可能な構成であればよい。
【0104】
図15に示すように、実施形態における画像形成装置は紙原稿などの画像を読み取り、読み取られた画像データを画像処理する入力画像処理部1401を有する。また、画像形成装置は、ファクシミリなどに代表される電話回線を利用した画像の送受信を行うFAX部1402を有する。更に、画像形成装置は、ネットワークを利用して画像データや装置情報をやりとりするNIC(Network Interface Card)部1403を備える。そして、画像形成装置は外部装置と画像データなどの情報交換を行う専用インターフェース部1404を備える。また、画像形成装置は、USB(Universal Serial Bus)メモリ(リムーバブルメディアの一種)に代表されるUSB機器と画像データなどを送受するUSBインターフェース(USB I/F)部1405を備えている。
【0105】
そして、MFP制御部1409では、MFPの用途に応じて画像データを一時保存したり、経路を決定したりといった交通整理の役割を担っている。
【0106】
次に、文書管理部1413は、複数の画像データを格納可能なハードディスク等のメモリを具備する。例えば、画像形成装置が具備する制御部(例えばMFP制御部のCPUなど)が主体となって、入力画像処理部1401からの画像データや、FAX部1402を介して入力されたファクシミリジョブの画像データを格納する。また、NIC部1403を介して入力されたコンピュータ等の外部装置からの画像データや、専用I/F部1404やUSB I/F部1405を介して入力された様々な画像データ等の複数種類の画像データも、このハードディスクに格納可能にしている。更に、該ハードディスクに格納された画像データを適宜読み出して、プリンタ部等の出力部1408に転送して、該プリンタ部1408によるプリント処理等の出力処理を実行可能に制御する。又、オペレータからの指示により、ハードディスクから読み出した画像データを、コンピュータや他の画像形成装置等の外部装置に転送可能に制御する。
【0107】
画像データを文書管理部1413に記憶する際には、必要に応じて、画像データを圧縮して格納したり、逆に圧縮して格納された画像データを読み出す際に元の画像データに伸張して戻したりするなどの処理に対して圧縮伸張部1412を介して行っている。また、データがネットワークを経由する際には、JPEG、JBIG、ZIPなど圧縮データを使用することも一般知られており、データがMFPに入った後、この圧縮伸張部1412にて解凍(伸張)される。
【0108】
また、リソース管理部1414は、フォント、カラープロファイル、ガンマテーブルなど共通に扱われる各種パラメータテーブルなどが格納されている。また、これらの情報は必要に応じて呼び出すことができると共に、新しいパラメータテーブルを格納したり、修正して更新したりすることができる。
【0109】
次に、MFP制御部1409は、PDLデータが入力された場合には、RIP部1407でRIP(Raster Image Processor)処理を施す。また、プリントする画像に対して、必要に応じて出力画像処理部1408でプリントのための画像処理を行ったりする。更に、その際に作られる画像データの中間データやプリントレディデータ(プリントのためのビットマップデータやそれを圧縮したデータ)を必要に応じて、文書管理部1413で再度格納することもできる。
【0110】
そして、画像形成を行うプリンタ部1410に送られる。プリンタ部でプリントアウトされたシートは後処理部1411へ送り込まれ、シートの仕分け処理やシートの仕上げ処理が行われる。
【0111】
ここで、MFP制御部1409は円滑にジョブを流す役割を担っており、MFPの使い方に応じて、以下のようにパス切り替えが行われている。但し、中間データとして画像データを必要に応じて格納することは一般に知られているが、ここでは文書管理部が始点、終点になる以外のアクセスは表記しない。また、必要に応じて利用される圧縮伸張部1412と後処理部、あるいは、全体のコアとなるMFP制御部1409などの処理は省略して、おおよそのフローがわかるように記載する。
A) 複写機能 :入力画像処理部→出力画像処理部→プリンタ部
B) FAX送信機能 :入力画像処理部→FAX部
C) FAX受信機能 :FAX部→出力画像処理部→プリンタ部
D) ネットワークスキャン :入力画像処理部→NIC部
E) ネットワークプリント :NIC部→RIP部→出力画像処理部→プリンタ部
F) 外部装置へのスキャン :入力画像処理部→専用I/F部
G) 外部装置からのプリント :専用I/F部→出力画像処理部→プリンタ部
H) 外部メモリへのスキャン :入力画像処理部→USB I/F部
I) 外部メモリからのプリント:USB I/F部→RIP部→出力画像処理部→プリンタ部
J) ボックススキャン機能 :入力画像処理部→出力画像処理部→文書管理部
K) ボックスプリント機能 :文書管理部→プリンタ部
L) ボックス受信機能 :NIC部→RIP部→出力画像処理部→文書管理部
M) ボックス送信機能 :文書管理部→NIC部
N) プレビュー機能 :文書管理部→操作部
上記以外にも、E−mailサービスやWebサーバ機能を初めとして、様々な機能との組み合わせが考えられるが、ここでは割愛する。
【0112】
また、ボックススキャン、ボックスプリント、ボックス受信、あるいは、ボックス送信とは、文書管理部1413を利用したデータの書き込みや読み出しを伴うMFPの処理機能である。また、ジョブ毎やユーザ毎に文書管理部内のメモリを分割して一次的にデータを保存して、ユーザIDやパスワードを組み合わせてデータの入出力を行う機能でもある。
【0113】
更に、操作部は、上記の様々なフローや機能を選択したり操作指示したりするためのものであるが、操作部1406の表示装置の高解像度化に伴い、文書管理部にある画像データをプレビューし、確認後OKならばプリントするといったこともできる。
【0114】
次に、図16を用いて、本第2の実施形態におけるMFPのソフトウェアモジュールの構成について説明する。図示の個々のソフトウェアモジュールは、先に説明した第1の実施形態と同様、それぞれが独立して実行できるものであり、書き換え可能な記憶装置(例えばハードディスクやフラッシュメモリ)に格納されているものである。なお、ハードディスクに格納されている場合には、RAMにロードして実行することになる。
【0115】
まず図15に示すブロックのうちデータ入力をつかさどるコンポーネントを制御するソフトウェアモジュールについて説明する。紙原稿などの画像を読み取り、読み取られた画像データを画像処理する入力画像処理部(スキャナデバイス)を制御するモジュールがスキャナデバイス制御モジュール1501である。FAX部の制御を行うモジュールはFAX制御モジュール1502である。ネットワークの制御を行うモジュールがネットワーク制御モジュール1503である。外部デバイスとのインターフェースを制御するモジュールが拡張インターフェース制御モジュール1504である。USB機器の制御を行うモジュールはUSB制御モジュール1505である。また、ユーザーインタフェース画面(UIパネル)を制御するモジュールはUI制御モジュール1506である。
【0116】
続いて図15に示すブロックのうち画像処理をつかさどるコンポーネントを制御するソフトウェアモジュールについて説明する。ネットワーク制御モジュール1503を通してユーザから投入されたPDFデータを展開しディスプレイリスト形式に変換するためのモジュールがPDL解釈モジュール1507である。また、PDL解釈モジュール1507によって変換されたディスプレイリストデータをイメージデータに変換するモジュールがレンダリングモジュール1508である。画像処理モジュール1515はオプション的に追加削除が可能であり、図16では一例としてOCR(文字認識)モジュール1516とPDF変換モジュール1517について記載している。OCRモジュール1516はイメージデータのOCR処理を行うためのモジュールであり、PDF変換モジュール1517はイメージデータをPDF形式に変換するために利用されるモジュールである。
【0117】
続いて図15に示すブロックのうち画像形成をつかさどるコンポーネントを制御するソフトウェアモジュールについて説明する。MFPに入力され各種画像処理が行なわれハードディスクに格納されているイメージデータの画像形成を行うモジュールがプリンタデバイス制御モジュール1514である。プリンタデバイス制御モジュールによって画像形成されると後処理工程に送られ様々な後処理が行なわれる。図16では一例として2種類の後処理モジュール1518、1519についてのみ記載しているがオプション追加することにより多段の後処理が可能になる。
【0118】
そして、MFPコントローラ1513では、各種ソフトウェアモジュールを統括する役目を担い、MFPの用途に応じて画像データを一時保存したり、経路を決定したりといった各種データの交通整理の役割を担っている。
【0119】
文書管理制御モジュール1510は、ハードディスクの管理を行う。例えば、画像形成装置が具備する制御部(例えばMFP制御部のCPUなど)が主体となって、スキャナデバイス制御モジュール1501からの画像データを記憶管理する。また、FAXデバイス制御モジュール1502を介して入力されたファクシミリジョブの画像データや、ネットワーク制御モジュール1503を介して入力されたコンピュータ等の外部装置からの画像データも管理する。更には、拡張I/Fモジュール1504やUSB制御モジュール1505を介して入力された様々な画像データ等の複数種類の画像データについて管理する。このハードディスクに格納された画像データは適宜読み出し可能で、プリンタデバイス制御モジュール1514等の出力モジュールに転送することで、該プリンタ部によるプリント処理等の出力処理を実行可能である。又、オペレータからの指示により、ハードディスクから読み出した画像データを、コンピュータや他の画像形成装置等の外部装置に転送可能に制御する。
【0120】
次に圧縮伸張モジュール1509は、画像データを文書管理部に記憶する際に画像データを圧縮して格納したり、逆に圧縮して格納された画像データを読み出す際に元の画像データに伸張して戻したりするなどの処理を行う場合に利用される。圧縮伸張はハードウェアで実現されている場合もあるが、その場合も圧縮伸張モジュール1509が圧縮伸張デバイスの制御を行なう。また、データがネットワークを経由する際には、JPEG、JBIG、ZIPなど圧縮データを使用することも一般知られており、データがMFPに入った後、この圧縮伸張モジュール1509にて解凍(伸張)される。
【0121】
また、リソース管理モジュール1511は、フォント、カラープロファイル、ガンマテーブルなど共通に扱われる各種パラメータテーブルなどを、必要に応じて呼び出すことができると共に、新しいパラメータテーブルを格納したり、修正して更新する。
【0122】
そして、画像形成を行うプリンタデバイス制御モジュール1514に送られる。プリンタ部でプリントアウトされたシートは後処理モジュール1518へ送り込まれ、シートの仕分け処理やシートの仕上げ処理が行われる。
【0123】
ソフトウェアモジュールのバージョンアップ管理をおこなうのがバージョンアップ管理モジュール1512である。バージョンアップ管理モジュール1512は各種モジュールのバージョン管理からモジュールのダウンロード、インストールなどを行う。
【0124】
上記はあくまで搭載されるソフトウェアモジュールの組み合わせの一例である。すなわち、上記以外にも、E−mailサービスやWebサーバ機能を初めとして、様々な機能との組み合わせにより搭載される様々なソフトウェアモジュールの構成が考えられる。ただし、ここでの説明については割愛する。また、ソフトウェアモジュールの粒度についても上記は一例にすぎず、もっと詳細な粒度で搭載される場合もあれば、大きな粒度で搭載される場合もある。
【0125】
図17は、ネットワーク構成の一例を示すブロック図である。
【0126】
サービスセンタ1601は、バージョンアップ管理サーバ1605やファイルサーバ1606などから成り立っている。ユーザ環境1602とサービスセンタ1601はインターネットや公衆回線などで結ばれており、必要情報のやり取りを行うことが出来る。
【0127】
ここでサービスセンタ1601におけるバージョンアップ管理サーバ1605はユーザ環境1602に設置されているMFP1603に搭載されているファームウェアのバージョン管理を行うサーバである。バージョンアップが必要になった場合はバージョンアップ管理サーバ1605から各MFP1603に通知を行うか、または、各MFP1603からのバージョンアップの有無の問い合わせに対する返答を行う。ファイルサーバ1606はMFPファームウェアソフトを格納している。
【0128】
ユーザ環境1602におけるMFP1603は自身に搭載されるファームウェアのバージョン管理を行う場合もあればプリントサーバ1604がバージョン管理を行う場合もある。
【0129】
図18はMFPにおけるソフトウェアのバージョンアップ処理手順を示すフローチャートである。
【0130】
ステップS1701ではMFPがサービスセンタ1601のバージョンアップ管理サーバ1605から、バージョンアップ通知(バージョンアップのソフトウェアモジュールの識別情報を含む)を受信する。これは実施の一例でありMFPからサービスセンタ601に対してバージョンアップの有無を問い合わせ、バージョンアップ有りと判断することで開始するようにしても構わない。ここでは、サービスセンタ1601が、MFPのバージョンアップの通知を発行したものとして説明する。
【0131】
ステップS1702に処理が進むと、MFP内部に保持しているジョブリストを取得する。ジョブリストの構造は図19に示す形式をしており、MFPに投入されたジョブがリスト形式で保持されている。このジョブリストは、ジョブキューに登録される各ジョブを表す。このジョブキューに登録されているジョブは実行可能になれば即時実行されるものであり、上に説明したタイマージョブの登録とは区別される。
【0132】
続いてステップS1703において、取得されたジョブリスト(図19)中に実行待ちのジョブが存在するかどうかの判定を行う。ジョブリスト中に実行待ちジョブが存在しなかった場合は即座にバージョンアップを行うことが可能である。従って、ステップS1713に進み、実際にバージョンアップしようとするソフトウェアモジュールをダウンロードしてバージョンアップを実行して、一連のバージョンアップ処理を終了する。
【0133】
ジョブリスト中に実行待ちジョブが存在した場合はステップS1704に進みキャリブレーションのスケジュールが存在するかのチェックを行う。MFPでは出力物の画質の均質化を図るために定期的にキャリブレーションが行われる。このため、もしキャリブレーションがスケジューリングされている場合は、キャリブレーションと並行してファームウェアのバージョンアップが可能である。ステップS1704においてキャリブレーションのスケジュールありと判別された場合は、ステップS1707に進み、キャリブレーションが実行されるタイミングを待つ。そしてキャリブレーションが実行されるタイミングになるとステップS1713に進みバージョンアップを実行して、一連のバージョンアップ処理を終了する。
【0134】
また、ステップS1704においてキャリブレーションのスケジュールなしと判断された場合はサブルーチンであるステップS1705に進む。このサブルーチンについては図20を用いて以下に説明する。
【0135】
図20は、ジョブ種毎のバージョンアップチェックのフローである。先ず、ステップS1901ではジョブリスト(図19)を取得する。ステップS1902では、ジョブ種毎の利用ソフトモジュール一覧テーブルを取得する。このテーブルのフォーマットは図21に示すとおり、ジョブ種毎に利用するソフトモジュールのリスト形式になっている。図21では一例として4種類のジョブ種についてのみ記載したが、もちろんMFPで実行可能な全てのジョブ種について記載されているものである。
【0136】
ステップS1903からステップS1908はループになっておりステップS1901で取得したジョブリストから一つずつジョブを取り出してチェックを行う。ジョブリスト中の全てのジョブについてチェックが終了するとループを抜ける。
【0137】
ステップS1904ではジョブリストから取り出されたジョブのジョブ種を取得する。続いてステップS1905では、ステップS1902で取得したテーブル(図21)のジョブ種列とステップS1904で取得したジョブ種の比較検索を行い、そのジョブ種で利用するソフトモジュール一覧を取得する。
【0138】
ステップS1906では今回バージョンアップが行われるソフトモジュール名の取得を行う。ステップS1907ではステップS1905で取得された該ジョブで利用されるソフトモジュールと、ステップS1906で取得されたソフトモジュールの比較を行い該ジョブ実行中にバージョンアップが可能であるかのチェックを行う。
【0139】
例えば、今回バージョンアップされるモジュールがスキャナデバイス制御モジュールであり、該ジョブ種がPDLプリントジョブであったとする。PDLプリントジョブで利用されるソフトモジュールは、「ネットワーク制御モジュール、PDL解釈モジュール、レンダリングモジュール、圧縮伸張モジュール、文書管理モジュール、プリンタデバイス制御モジュール」である。従って、PDLプリントジョブ実行中にスキャナデバイス制御モジュールは利用しない。そのためPDLバージョンアップ可能であると判定される。しかし、バージョンアップモジュールが例えば文書管理モジュールであった場合は、該ジョブ実行中にはバージョンアップを行うことは不可能であるため、次のジョブのチェックを行う。
【0140】
ステップS1907においてバージョンアップ可能であると判定された場合はステップS1908に進み、バージョンアップモジュールを利用しないジョブ有りを示す情報を返り値に設定し本ループを抜ける。
【0141】
逆にステップS1907で該ジョブ実行中にはバージョンアップ不可と判定された場合は、ステップS1909に進み、ループにより次のジョブリスト中の次のジョブの判定を行う。もし、ジョブリスト中の全てのジョブについてチェックを行ったが、バージョンアップ可能なジョブが見つからなかった場合はループを抜けステップS1910に進む。ステップSイ1910では、バージョンアップモジュールを利用するジョブのみが残っていることを示す情報を返り値として決定し、本ルーチンを終了する。
【0142】
図18の説明に戻る。ステップS1705のサブルーチン(図20)を実行した結果をステップS1706で判定する。サブルーチン(図20)を実行した結果、ジョブリスト中にバージョンアップモジュールを利用しないジョブが存在すると判定された場合はステップS1708に進み、バージョンアップモジュールを利用しないジョブが実行されるのを待つ。そして、そのジョブが実行されるタイミング(ジョブ実行期間)でステップS1713に進みバージョンアップを実行して、一連のバージョンアップ処理を終了する。
【0143】
また、ステップS1706の判定においてバージョンアップモジュールを利用するジョブのみが残っていると判定された場合(ステップS1910)は、ステップS1709に示されるサブルーチン(図22)に進みさらに詳細なチェックを行う。
【0144】
図22は、上記ステップS1709のジョブの実行フェーズ毎のバージョンアップチェック処理を示すフローチャートである。
【0145】
先ず、ステップS11101ではジョブリスト(図19)を取得する。ステップS11102では今回バージョンアップを行うソフトモジュール名の取得を行う。ステップS11103では、ジョブ実行フェーズ毎の利用ソフトモジュール一覧テーブルを取得する(図23(a),(b))。
【0146】
このテーブルはジョブ種毎に実行フェーズを分け、それぞれのフェーズにどのソフトモジュールを利用するかの一覧を示したテーブルである。例えばコピージョブでは、「UI操作、スキャン実行、プリント実行」の3つのフェーズに分割され、それぞれUI操作フェーズにはUI画面モジュールが利用される。スキャン実行フェーズにはスキャナデバイス制御モジュール、圧縮伸張モジュール、文書管理制御モジュールが利用される。プリント実行フェーズには圧縮伸張モジュール、文書管理モジュール、プリントデバイス制御モジュールが利用されることが分かる。
【0147】
図23(a),(b)に示した2つのテーブルは一例としてPDLプリントジョブおよびコピージョブにおける一覧を示したものであり、勿論、他のジョブ種についても同様のテーブルが存在する。また、ジョブ種毎に利用するモジュールも機器によって異なる場合があり、これも一例を示したに過ぎない。
【0148】
続いてステップS11104ではソフトモジュール毎のバージョンアップ所要時間テーブル(図24)を取得する。このテーブルは、各モジュールについてサービスセンタ601に存在するファイルサーバ606からバージョンアップモジュールをダウンロードするために必要な予想時間が格納されている。また、ダウンロードしたモジュールを利用して実際にバージョンアップを行うために必要な時間も格納されている。なお、このテーブルはサービスセンタ601に存在するファイルサーバ606から取得することが出来る。
【0149】
続いてステップS11105からステップS11112はループになっておりステップS11101で取得したジョブリスト中に存在するジョブ数回ループし登録されている全ジョブについてチェックを行う。ステップS11106では該ジョブのジョブ種を取得する。ステップS11107では、ステップS1106で取得したジョブ種とステップS11103で取得したジョブ実行フェーズ毎の利用ソフトモジュール一覧テーブルの比較を行い、該ジョブの実行フェーズを取得する。例えば該ジョブ種がPDLプリントジョブだった場合はデータ受信フェーズ、PDL展開フェーズ、プリントフェーズの3つのフェーズが取得される。
【0150】
ステップS11108ではステップS11102で取得された今回バージョンアップを行うモジュール名とステップS11104で取得されたソフトモジュール毎のバージョンアップ所用時間テーブルからバージョンアップに必要な時間を計算する。例えば今回バージョンアップを行うモジュールがプリントデバイス制御モジュールであった場合はダウンロード予想時間とバージョンアップ所要時間の合計で100秒必要と言う計算結果を得ることが出来る。
【0151】
続いてステップS11109では、ステップS11107で取得したジョブ実行フェーズそれぞれの所要時間を計算する。フェーズ毎に異なるために不図示であるが例えばPDL展開フェーズであれば、PDLデータのデータサイズから計算できる値であり、例えばコピージョブのスキャンフェーズではコピー原稿の枚数から計算できる値である。
【0152】
ステップS11110では、ステップS11107で取得したジョブ実行フェーズと、ステップS11108で計算したバージョンアップ所要時間と、ステップS11109で計算したジョブの実行フェーズ毎の所要時間から、該ジョブ実行中に並行してバージョンアップが可能であるかの判定を行う。
【0153】
例えばプリントデバイス制御モジュールのバージョンアップを行いたい場合に、ステップS11108ではプリントデバイス制御モジュールのバージョンアップに必要な時間は100秒であると計算される。現在チェック中のジョブがPDLプリントジョブでPDLデータのサイズが50メガバイトであった時にPDL展開フェーズで必要な実行時間が180秒という結果がステップS11109の計算で得られたとする。この場合、該ジョブ実行中のPDL展開フェーズにプリントデバイスのバージョンアップが可能であると判定される。
【0154】
ステップS11110でバージョンアップ可能なジョブ実行フェーズがあると判定された場合はループを抜けステップS11111に進みジョブの実行フェーズ毎のバージョンアップチェックフローを終了する。
【0155】
また、ステップS11110でバージョンアップ可能なジョブ実行フェーズが無いと判定された場合はループを繰り返しジョブリストに登録されている全ジョブについてチェックを行う。全ジョブのチェックを行ったがバージョンアップ可能なジョブが見つからなかった場合はループを抜けステップS11113に進み、ジョブの実行フェーズ毎のバージョンアップチェックフローを終了する。
【0156】
図18の説明に戻る。上記のステップS1709のサブルーチン(図22)を実行した結果をステップS1710で判定する。サブルーチン(図22)を実行した結果、ジョブリスト中にジョブ実行と並行してバージョンアップ可能なジョブ(ジョブの実行フェーズに分割して詳細検索した結果、並行バージョンアップ可能(Yes)と判断されたジョブ)が存在すると判定された場合、ステップS1711に進む。ここでは、バージョンアップを並行して行うことが可能なジョブが実行されるタイミングを待つ。そして該タイミングになるとステップS1712に進みジョブ実行中のバージョンアップ可能フェーズになるのを待つ。そして、バージョンアップ可能フェーズになるとステップS1713に進みバージョンアップを実行して、一連のバージョンアップ処理を終了する。
【0157】
また、ステップS1710でジョブ実行と並行してバージョンアップ不可と判定された場合は、現在ジョブリストに登録されているジョブの処理がすべて完了するまではバージョンアップは不可能であると判断されるので、ステップS1714に進む。ここでは、現在、実行待ちのジョブが全て終了するのを待つ。そして現在ジョブリストに登録されている全てのジョブが実行完了したタイミングでステップS1702に進み再びバージョンアップの処理を繰り返す。
【0158】
以上説明したように本第2の実施形態によれば、ソフトウェアモジュール(ソフトウェアパーツ)のバージョンアップを行う際に、ジョブキューにある実行待ちにあるジョブの内容に基づいてバージョンアップのタイミングを調整する。従って、MFP等の画像処理装置の稼働率を維持したまま、ソフトウェアモジュールの更新処理が行える。
【0159】
<第3の実施形態>
第2の実施形態における処理、及び、第1の実施形態における処理は、何れか片方の実施形態の処理を実行しても良いし、或は、双方の実施形態の処理を実行するようにしても良い。
【0160】
例えば、図18、20、22、及び、図9乃至12の全てフローチャートを実行し、ソフトウェアパーツ更新の可否を判断し、該判断に基づきソフトウェアパーツの変更(削除・更新)を行うようにしても良い。また、第2の実施形態における処理のみを実行させるようにしても良い。
【0161】
<第4の実施形態>
上に説明した各実施形態では、変更対象として、1のジョブを実行する場合に利用される複数のソフトウェアパーツの何れかを変更対象に説明してきた。しかし、変更するソフトウェアの単位はこれに限定されない。例えば、図5に示ではコピージョブが5つのソフトウェアパーツから構成されるよう説明した。このコピージョブが2以上4以下のソフトウェアパーツから構成される場合でも上述のフローチャートに適用できる。また、1のジョブを実行するソフトウェアが一つのパーツからなる場合でも上述のフローチャートを適用することができる。勿論、ジョブ種がコピージョブ以外のE−mailなどでも、ソフトウェアパーツの単位を変更し、上述のフローチャートを適用できることは言うまでも無い。
【0162】
<第5の実施形態>
上に説明した各実施形態では、画像形成装置に記憶されたソフトウェアに係る変更処理を説明したが、これはに限定されない。例えば、画像形成装置に係るソフトウェアがネットワーク上の外部の情報処理装置(画像処理装置)に記憶され、画像形成装置が情報処理装置(画像処理装置)に記憶されるソフトウェアを利用し処理を行う形態も想定される。この場合には、情報処理装置(画像処理装置)に記憶されるソフトウェアと画像形成装置に登録されるジョブとに基づき、上述の各フローチャートが実行されることとなる。
【0163】
以上、本発明にかかる実施形態を説明したが、本発明は、画像処理装置等で実行されるコンピュータプログラムによって実現している。従って、当然、それを実現するためのコンピュータプログラムも本発明の範疇にある。また、コンピュータプログラムは、CDROMやメモリカード等のコンピュータ可読記憶媒体に格納されていて、それを装置にセットしてシステムにコピーもしくはインストールされることで実行可能になる。それ故、当然、そのようなコンピュータ可読記憶媒体も本発明の範疇に入る。
【図面の簡単な説明】
【0164】
【図1】第1の実施形態におけるシステム構成図である。
【図2】第1の実施形態における画像形成装置のブロック構成図である。
【図3】第1の実施形態におけるPCのブロック構成図である。
【図4】第1の実施形態における画像形成装置のソフトウェアパーツのブロック構成図である。
【図5】第1の実施形態におけるタイマジョブリストの一例を示す図である。
【図6】第1の実施形態における再構成後のタイマジョブリストの一例を示す図である。
【図7】第1の実施形態における分散システムの処理の流れを示す図である。
【図8】第1の実施形態における画像形成装置のタイマジョブ登録処理手順を示すフローチャートである。
【図9】第1の実施形態におけるソフトウェアパーツの削除・更新要求の発生時の処理手順を示すフローチャートである。
【図10】図9のステップS15の詳細を示すフローチャートである。
【図11】第1の実施形態におけるタイマジョブ処理の処理手順を示すフローチャートである。
【図12】第2の実施形態において利用する画像形成装置の外観図である。
【図13】第2の実施形態における画像形成装置の断面構造図である。
【図14】第2の実施形態における印刷システムの構成図である。
【図15】第2の実施形態における画像形成装置のブロック構成図である。
【図16】第2の実施形態における画像形成装置のソフトウェアモジュールの構成を示す図である。
【図17】第2の実施形態におけるサービスセンタとユーザ環境との関係を示す図である。
【図18】第2の実施形態における画像形成装置のソフトウェアモジュールのバージョンアップ処理手順を示すフローチャートである。
【図19】第2の実施形態における画像形成装置が保持しているジョブリストの一例を示す図である。
【図20】図18におけるステップS1705の詳細を示すフローチャートである。
【図21】第2の実施形態における利用ソフトモジュール一覧テーブルを示す図である。
【図22】図18におけるステップS1709の詳細を示すフローチャートである。
【図23】第2の実施形態におけるジョブにおける各シーケンス別に利用するソフトモジュールの一覧テーブルを示す図である。
【図24】第2の実施形態における各ソフトウェアモジュール毎の更新時間とダウンロード時間のリストを示す図である。
【特許請求の範囲】
【請求項1】
互いに独立して実行可能なソフトウェアパーツを記憶する書き換え可能な記憶保持手段を有し、前記ソフトウェアパーツを組み合わせて多種類のジョブを実行する画像処理装置であって、
処理実行タイミングが指定されたタイマジョブを登録する登録手段と、
該登録手段で登録されたタイマジョブの種類に依存し、利用されるソフトウェアパーツを特定する情報を記憶するソフトウェアパーツリスト記憶手段と、
所望とするソフトウェアパーツの変更要求が発生した場合、変更要求対象となるソフトウェアパーツが、前記登録手段で登録されたタイマジョブで利用されているか否かを、前記ソフトウェアパーツリスト記憶手段を参照することで判別する判別手段と
を備えることを特徴とする画像処理装置。
【請求項2】
更に、ネットワーク通信手段と、
登録しようとするタイマジョブを実行する際に利用するソフトウェアパーツの所在を、ローカルな画像処理装置自身、及び、前記ネットワーク通信手段を介して他の画像処理装置の中から検索する検索手段とを備え、
前記ソフトウェアパーツリスト記憶手段は、登録したタイマジョブの種類に応じて、当該タイマジョブを実行する際に利用するソフトウェアパーツを識別する情報と、前記検索手段で検索された画像処理装置の所在情報とを記憶することを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記判別手段は、変更対象のソフトウェアパーツが、ローカルな画像処理装置自身に記憶されているか否か、及び、代替となる他の画像形成装置に存在するか否かを判別することを特徴とする請求項1又は2に記載の画像処理装置。
【請求項4】
前記判別手段によって、変更対象のソフトウェアパーツがローカルな画像処理装置に存在し、代替となる他の画像処理装置に存在すると判断した場合、代替となる他の画像処理装置で実行させるべく、前記ソフトウェアパーツリスト記憶手段に記憶された情報を再構成する再構成手段と、
前記判別手段によって、変更対象のソフトウェアパーツがローカルな画像処理装置に存在し、代替となる他の画像処理装置に存在しないと判断した場合、要求された変更要求に関する情報を、保留状態に移行する変更保留手段と、
前記判別手段で前記入力手段で入力した変更対象のソフトウェアパーツを利用するタイマジョブが存在しない、或いは、前記変更対象のソフトウェアパーツを所有する代替となる他の画像処理装置が存在すると判断した場合、前記変更要求に従って該当するソフトウェアパーツの変更処理を実行する第1の変更手段と、
実行待ち状態にあるタイマジョブで利用されるソフトウェアパーツ内に、前記変更保留手段で保留された変更要求の対象となったソフトウェアパーツが存在しなくなった場合に、前記変更要求に従って該当するソフトウェアパーツを変更する第2の変更手段と
を備えることを特徴とする請求項3に記載の画像処理装置。
【請求項5】
前記変更要求には、新バージョンのソフトウェアパーツでの置き換え要求、該当するソフトウェアパーツの削除要求が含まれることを特徴とする請求項1又は4に記載の画像処理装置。
【請求項6】
ソフトウェアを記憶する書き換え可能な記憶保持手段を有し、前記ソフトウェアを稼動することによりジョブを実行する画像処理装置であって、
処理の実行タイミングが指定されたタイマージョブを登録する登録手段と、
前記登録されたタイマジョブに応じたソフトウェアの種類を特定する特定手段と、
ソフトウェアの変更要求が発生した場合、変更要求の対象となるソフトウェアが、前記登録手段により登録したタイマージョブに関連するソフトウェアかを判別する判別手段と、
前記判別手段により関連するソフトウェアと判別した場合に、前記変更要求が発生したソフトウェアの変更処理を抑制する抑制手段と
を有することを特徴とする画像処理装置。
【請求項7】
前記変更要求には更新要求又は削除要求が含まれることを特徴とする請求項6に記載の画像処理装置。
【請求項8】
互いに独立して実行可能なソフトウェアパーツを記憶する書き換え可能な記憶保持手段を有し、前記ソフトウェアパーツを組み合わせて多種類のジョブを実行する画像処理装置の制御方法であって、
処理実行タイミングが指定されたタイマジョブを登録する登録工程と、
該登録工程で登録されたタイマジョブの種類に依存し、利用されるソフトウェアパーツを特定する情報を記憶するソフトウェアパーツリスト記憶工程と、
所望とするソフトウェアパーツの変更要求が発生した場合、変更要求対象となるソフトウェアパーツが、前記登録工程で登録されたタイマジョブで利用されているか否かを、前記ソフトウェアパーツリスト記憶手段を参照することで判別する判別工程と
を備えることを特徴とする画像処理装置の制御方法。
【請求項9】
請求項8に記載の各工程をコンピュータに実行させ、画像処理装置として機能させるためのコンピュータプログラム。
【請求項10】
請求項9に記載のコンピュータプログラムを格納したことを特徴とするコンピュータ可読記憶媒体。
【請求項11】
ソフトウェアを記憶する書き換え可能な記憶保持手段を有し、前記ソフトウェアを稼動することによりジョブを実行する画像処理装置の制御方法であって、
処理の実行タイミングが指定されたタイマージョブを登録する登録工程と、
前記登録されたタイマジョブに応じたソフトウェアの種類を特定する特定工程と、
ソフトウェアの変更要求が発生した場合、変更要求の対象となるソフトウェアが、前記登録工程により登録したタイマージョブに関連するソフトウェアかを判別する判別工程と、
前記判別工程により関連するソフトウェアと判別した場合に、前記変更要求が発生したソフトウェアの変更処理を抑制する抑制工程と
を有することを特徴とする画像処理装置の制御方法。
【請求項12】
請求項11に記載の各工程をコンピュータに実行させ、画像処理装置として機能させるためのコンピュータプログラム。
【請求項13】
請求項12に記載のコンピュータプログラムを格納したことを特徴とするコンピュータ可読記憶媒体。
【請求項14】
互いに独立して実行可能なソフトウェアパーツを記憶する書き換え可能な記憶保持手段と、当該ソフトウェアパーツを組み合わせて1のジョブを実行する画像処理装置であって、
処理すべきジョブを記憶する記憶手段と、
所望のソフトウェアパーツを新バージョンのソフトウェアパーツで更新を行う際、更新対象となるソフトウェアパーツを利用しないジョブが前記記憶手段に存在するか否かを判断する判断手段と、
該判断手段で前記更新対象となるソフトウェアパーツを利用しないジョブが存在すると判断した場合、当該ジョブの実行期間を、新バージョンのソフトウェアパーツの更新するタイミングとして決定する第1のタイミング決定手段と、
前記判断手段で前記更新対象となるソフトウェアパーツを利用するジョブのみが存在すると判断した場合、前記記憶手段に記憶されているジョブの遂行する際の各フェーズ毎に要する処理時間と、前記新バージョンのソフトウェアパーツの更新に要する時間とから、前記新バージョンのソフトウェアパーツの更新処理と並行して実行可能なジョブ、及びフェーズを検出することで、更新タイミングを決定する第2のタイミング決定手段と、
前記第1のタイミング決定手段、或いは、前記第2のタイミング決定手段で決定されたタイミングになった場合、前記新バージョンのソフトウェアパーツの更新を実行する更新手段と
を備えることを特徴とする画像処理装置。
【請求項15】
前記第2のタイミング決定手段で、前記新バージョンのソフトウェアパーツの更新処理と並行して実行可能なジョブ、及びフェーズが検出できなかった場合、全ジョブが完了した後に前記新バージョンのソフトウェアパーツで更新することを特徴とする請求項14に記載の画像処理装置。
【請求項16】
更に、ネットワーク通信手段を有し、当該ネットワーク通信手段を介して、前記新バージョンのソフトウェアパーツを取得することを特徴とする請求項14に記載の画像処理装置。
【請求項17】
原稿読取手段、印刷手段、Fax通信手段を更に備え、前記ネットワーク通信手段の組み合わせにより、ネットワークプリンタ、原稿複写、原稿画像データのFax送信、原稿画像を添付した電子メール機能を有することを特徴とする請求項16に記載の画像処理装置。
【請求項18】
互いに独立して実行可能なソフトウェアパーツを記憶する書き換え可能な記憶保持手段と、当該ソフトウェアパーツを組み合わせて1のジョブを実行する画像処理装置の制御方法であって、
処理すべきジョブを所定の記憶手段に格納する格納工程と、
所望のソフトウェアパーツを新バージョンのソフトウェアパーツで更新を行う際、更新対象となるソフトウェアパーツを利用しないジョブが前記記憶手段に存在するか否かを判断する判断工程と、
該判断工程で前記更新対象となるソフトウェアパーツを利用しないジョブが存在すると判断した場合、当該ジョブの実行期間を、新バージョンのソフトウェアパーツの更新するタイミングとして決定する第1のタイミング決定工程と、
前記判断工程で前記更新対象となるソフトウェアパーツを利用するジョブのみが存在すると判断した場合、前記記憶手段に記憶されているジョブの遂行する際の各フェーズ毎に要する処理時間と、前記新バージョンのソフトウェアパーツの更新に要する時間とから、前記新バージョンのソフトウェアパーツの更新処理と並行して実行可能なジョブ、及びフェーズを検出することで、更新タイミングを決定する第2のタイミング決定工程と、
前記第1のタイミング決定工程、或いは、前記第2のタイミング決定工程で決定されたタイミングになった場合、前記新バージョンのソフトウェアパーツの更新を実行する更新工程と
を備えることを特徴とする画像処理装置の制御方法。
【請求項19】
請求項18に記載の各工程をコンピュータに実行させ、画像処理装置として機能させるためのコンピュータプログラム。
【請求項20】
請求項19に記載のコンピュータプログラムを格納したことを特徴とするコンピュータ可読記憶媒体。
【請求項1】
互いに独立して実行可能なソフトウェアパーツを記憶する書き換え可能な記憶保持手段を有し、前記ソフトウェアパーツを組み合わせて多種類のジョブを実行する画像処理装置であって、
処理実行タイミングが指定されたタイマジョブを登録する登録手段と、
該登録手段で登録されたタイマジョブの種類に依存し、利用されるソフトウェアパーツを特定する情報を記憶するソフトウェアパーツリスト記憶手段と、
所望とするソフトウェアパーツの変更要求が発生した場合、変更要求対象となるソフトウェアパーツが、前記登録手段で登録されたタイマジョブで利用されているか否かを、前記ソフトウェアパーツリスト記憶手段を参照することで判別する判別手段と
を備えることを特徴とする画像処理装置。
【請求項2】
更に、ネットワーク通信手段と、
登録しようとするタイマジョブを実行する際に利用するソフトウェアパーツの所在を、ローカルな画像処理装置自身、及び、前記ネットワーク通信手段を介して他の画像処理装置の中から検索する検索手段とを備え、
前記ソフトウェアパーツリスト記憶手段は、登録したタイマジョブの種類に応じて、当該タイマジョブを実行する際に利用するソフトウェアパーツを識別する情報と、前記検索手段で検索された画像処理装置の所在情報とを記憶することを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記判別手段は、変更対象のソフトウェアパーツが、ローカルな画像処理装置自身に記憶されているか否か、及び、代替となる他の画像形成装置に存在するか否かを判別することを特徴とする請求項1又は2に記載の画像処理装置。
【請求項4】
前記判別手段によって、変更対象のソフトウェアパーツがローカルな画像処理装置に存在し、代替となる他の画像処理装置に存在すると判断した場合、代替となる他の画像処理装置で実行させるべく、前記ソフトウェアパーツリスト記憶手段に記憶された情報を再構成する再構成手段と、
前記判別手段によって、変更対象のソフトウェアパーツがローカルな画像処理装置に存在し、代替となる他の画像処理装置に存在しないと判断した場合、要求された変更要求に関する情報を、保留状態に移行する変更保留手段と、
前記判別手段で前記入力手段で入力した変更対象のソフトウェアパーツを利用するタイマジョブが存在しない、或いは、前記変更対象のソフトウェアパーツを所有する代替となる他の画像処理装置が存在すると判断した場合、前記変更要求に従って該当するソフトウェアパーツの変更処理を実行する第1の変更手段と、
実行待ち状態にあるタイマジョブで利用されるソフトウェアパーツ内に、前記変更保留手段で保留された変更要求の対象となったソフトウェアパーツが存在しなくなった場合に、前記変更要求に従って該当するソフトウェアパーツを変更する第2の変更手段と
を備えることを特徴とする請求項3に記載の画像処理装置。
【請求項5】
前記変更要求には、新バージョンのソフトウェアパーツでの置き換え要求、該当するソフトウェアパーツの削除要求が含まれることを特徴とする請求項1又は4に記載の画像処理装置。
【請求項6】
ソフトウェアを記憶する書き換え可能な記憶保持手段を有し、前記ソフトウェアを稼動することによりジョブを実行する画像処理装置であって、
処理の実行タイミングが指定されたタイマージョブを登録する登録手段と、
前記登録されたタイマジョブに応じたソフトウェアの種類を特定する特定手段と、
ソフトウェアの変更要求が発生した場合、変更要求の対象となるソフトウェアが、前記登録手段により登録したタイマージョブに関連するソフトウェアかを判別する判別手段と、
前記判別手段により関連するソフトウェアと判別した場合に、前記変更要求が発生したソフトウェアの変更処理を抑制する抑制手段と
を有することを特徴とする画像処理装置。
【請求項7】
前記変更要求には更新要求又は削除要求が含まれることを特徴とする請求項6に記載の画像処理装置。
【請求項8】
互いに独立して実行可能なソフトウェアパーツを記憶する書き換え可能な記憶保持手段を有し、前記ソフトウェアパーツを組み合わせて多種類のジョブを実行する画像処理装置の制御方法であって、
処理実行タイミングが指定されたタイマジョブを登録する登録工程と、
該登録工程で登録されたタイマジョブの種類に依存し、利用されるソフトウェアパーツを特定する情報を記憶するソフトウェアパーツリスト記憶工程と、
所望とするソフトウェアパーツの変更要求が発生した場合、変更要求対象となるソフトウェアパーツが、前記登録工程で登録されたタイマジョブで利用されているか否かを、前記ソフトウェアパーツリスト記憶手段を参照することで判別する判別工程と
を備えることを特徴とする画像処理装置の制御方法。
【請求項9】
請求項8に記載の各工程をコンピュータに実行させ、画像処理装置として機能させるためのコンピュータプログラム。
【請求項10】
請求項9に記載のコンピュータプログラムを格納したことを特徴とするコンピュータ可読記憶媒体。
【請求項11】
ソフトウェアを記憶する書き換え可能な記憶保持手段を有し、前記ソフトウェアを稼動することによりジョブを実行する画像処理装置の制御方法であって、
処理の実行タイミングが指定されたタイマージョブを登録する登録工程と、
前記登録されたタイマジョブに応じたソフトウェアの種類を特定する特定工程と、
ソフトウェアの変更要求が発生した場合、変更要求の対象となるソフトウェアが、前記登録工程により登録したタイマージョブに関連するソフトウェアかを判別する判別工程と、
前記判別工程により関連するソフトウェアと判別した場合に、前記変更要求が発生したソフトウェアの変更処理を抑制する抑制工程と
を有することを特徴とする画像処理装置の制御方法。
【請求項12】
請求項11に記載の各工程をコンピュータに実行させ、画像処理装置として機能させるためのコンピュータプログラム。
【請求項13】
請求項12に記載のコンピュータプログラムを格納したことを特徴とするコンピュータ可読記憶媒体。
【請求項14】
互いに独立して実行可能なソフトウェアパーツを記憶する書き換え可能な記憶保持手段と、当該ソフトウェアパーツを組み合わせて1のジョブを実行する画像処理装置であって、
処理すべきジョブを記憶する記憶手段と、
所望のソフトウェアパーツを新バージョンのソフトウェアパーツで更新を行う際、更新対象となるソフトウェアパーツを利用しないジョブが前記記憶手段に存在するか否かを判断する判断手段と、
該判断手段で前記更新対象となるソフトウェアパーツを利用しないジョブが存在すると判断した場合、当該ジョブの実行期間を、新バージョンのソフトウェアパーツの更新するタイミングとして決定する第1のタイミング決定手段と、
前記判断手段で前記更新対象となるソフトウェアパーツを利用するジョブのみが存在すると判断した場合、前記記憶手段に記憶されているジョブの遂行する際の各フェーズ毎に要する処理時間と、前記新バージョンのソフトウェアパーツの更新に要する時間とから、前記新バージョンのソフトウェアパーツの更新処理と並行して実行可能なジョブ、及びフェーズを検出することで、更新タイミングを決定する第2のタイミング決定手段と、
前記第1のタイミング決定手段、或いは、前記第2のタイミング決定手段で決定されたタイミングになった場合、前記新バージョンのソフトウェアパーツの更新を実行する更新手段と
を備えることを特徴とする画像処理装置。
【請求項15】
前記第2のタイミング決定手段で、前記新バージョンのソフトウェアパーツの更新処理と並行して実行可能なジョブ、及びフェーズが検出できなかった場合、全ジョブが完了した後に前記新バージョンのソフトウェアパーツで更新することを特徴とする請求項14に記載の画像処理装置。
【請求項16】
更に、ネットワーク通信手段を有し、当該ネットワーク通信手段を介して、前記新バージョンのソフトウェアパーツを取得することを特徴とする請求項14に記載の画像処理装置。
【請求項17】
原稿読取手段、印刷手段、Fax通信手段を更に備え、前記ネットワーク通信手段の組み合わせにより、ネットワークプリンタ、原稿複写、原稿画像データのFax送信、原稿画像を添付した電子メール機能を有することを特徴とする請求項16に記載の画像処理装置。
【請求項18】
互いに独立して実行可能なソフトウェアパーツを記憶する書き換え可能な記憶保持手段と、当該ソフトウェアパーツを組み合わせて1のジョブを実行する画像処理装置の制御方法であって、
処理すべきジョブを所定の記憶手段に格納する格納工程と、
所望のソフトウェアパーツを新バージョンのソフトウェアパーツで更新を行う際、更新対象となるソフトウェアパーツを利用しないジョブが前記記憶手段に存在するか否かを判断する判断工程と、
該判断工程で前記更新対象となるソフトウェアパーツを利用しないジョブが存在すると判断した場合、当該ジョブの実行期間を、新バージョンのソフトウェアパーツの更新するタイミングとして決定する第1のタイミング決定工程と、
前記判断工程で前記更新対象となるソフトウェアパーツを利用するジョブのみが存在すると判断した場合、前記記憶手段に記憶されているジョブの遂行する際の各フェーズ毎に要する処理時間と、前記新バージョンのソフトウェアパーツの更新に要する時間とから、前記新バージョンのソフトウェアパーツの更新処理と並行して実行可能なジョブ、及びフェーズを検出することで、更新タイミングを決定する第2のタイミング決定工程と、
前記第1のタイミング決定工程、或いは、前記第2のタイミング決定工程で決定されたタイミングになった場合、前記新バージョンのソフトウェアパーツの更新を実行する更新工程と
を備えることを特徴とする画像処理装置の制御方法。
【請求項19】
請求項18に記載の各工程をコンピュータに実行させ、画像処理装置として機能させるためのコンピュータプログラム。
【請求項20】
請求項19に記載のコンピュータプログラムを格納したことを特徴とするコンピュータ可読記憶媒体。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【公開番号】特開2007−108957(P2007−108957A)
【公開日】平成19年4月26日(2007.4.26)
【国際特許分類】
【出願番号】特願2005−298100(P2005−298100)
【出願日】平成17年10月12日(2005.10.12)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成19年4月26日(2007.4.26)
【国際特許分類】
【出願日】平成17年10月12日(2005.10.12)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]