(57)【特許請求の範囲】
【請求項１】
親機となる画像処理装置と、子機となる画像処理装置とが通信可能に接続されており、前記親機となる画像処理装置と前記子機となる画像処理装置とが連携してジョブを実行する画像処理システムであって、
前記子機となる画像処理装置は、
前記子機となる画像処理装置単体で実行される単体ジョブを実行する通常ジョブ制御手段と、
前記通常ジョブ制御手段と並列して処理の実行が可能であって、前記親機となる画像処理装置と連携して実行される連携ジョブを実行する連携ジョブ制御手段と、
前記親機となる画像処理装置と、前記子機となる画像処理装置とがそれぞれ有する前記連携ジョブを実行するための機能モジュールのバージョンの差異を検知する検知手段と、
前記差異が検知されたとき、前記連携ジョブを実行できるバージョンの機能モジュールを導入する導入手段と、
前記導入手段により導入された機能モジュールと、前記導入手段により導入される前から有する機能モジュールと、がそれぞれ独立して動作できるように管理する管理手段と、
前記導入手段により導入された機能モジュールと前記導入手段により導入される前から有する機能モジュールとのどちらにより前記連携ジョブを実行するか判断する判断手段と、
前記連携ジョブの実行後に前記導入手段により導入された前記機能モジュールを無効化する無効化手段と、を有する画像処理システム。
【請求項２】
親機となる画像処理装置と通信可能に接続されており、前記親機となる画像処理装置と連携してジョブを実行する画像処理装置であって、
当該画像処理装置単体で実行される単体ジョブを実行する通常ジョブ制御手段と、
前記通常ジョブ制御手段と並列して処理の実行が可能であって、前記親機となる画像処理装置と連携して実行される連携ジョブを実行する連携ジョブ制御手段と、
前記親機となる画像処理装置と、当該画像処理装置とがそれぞれ有する前記連携ジョブを実行するための機能モジュールのバージョンの差異を検知する検知手段と、
前記差異が検知されたとき、前記連携ジョブを実行できるバージョンの機能モジュールを導入する導入手段と、
前記導入手段により導入された機能モジュールと、前記導入手段により導入される前から有する機能モジュールと、がそれぞれ独立して動作できるように管理する管理手段と、
前記導入手段により導入された機能モジュールと前記導入手段により導入される前から有する機能モジュールとのどちらにより前記連携ジョブを実行するか判断する判断手段と、
前記連携ジョブの実行後に前記導入手段により導入された前記機能モジュールを無効化する無効化手段と、を有する画像処理装置。
【請求項３】
前記導入手段により導入された前記機能モジュールは、
当該画像処理装置の有する記憶領域に格納されており、
前記無効化手段は、
前記導入手段により導入された前記機能モジュールを前記記憶領域から削除して前記機能モジュールを無効化する請求項２記載の画像処理装置。
【請求項４】
前記導入手段により導入された前記機能モジュールは、
当該画像処理装置の有する記憶領域に格納されており、
前記無効化手段は、
前記導入手段により導入された前記機能モジュールを不活性化させて前記記憶領域内で保持する請求項２記載の画像処理装置。
【請求項５】
前記導入手段は、
前記記憶領域に保持された前記不活性化された前記機能モジュールを活性化させることで前記機能モジュールを導入する請求項４記載の画像処理装置。
【請求項６】
機能モジュールが格納された機能モジュール管理サーバと接続されており、
前記導入手段は、
前記機能モジュール管理サーバから前記連携ジョブを実行するための機能モジュールを取得して導入する請求項２ないし５の何れか一項に記載の画像処理装置。
【請求項７】
前記導入手段は、
前記親機となる画像処理装置から前記連携ジョブを実行するための機能モジュールを取得して導入する請求項２ないし５の何れか一項に記載の画像処理装置。
【請求項８】
前記記憶領域に保持された不活性化されている前記機能モジュールの一覧を表示させる表示手段を有する請求項４記載の画像処理装置。
【請求項９】
前記管理手段は、
前記記憶領域に保持された不活性化されている前記機能モジュールのバージョンを更新する請求項４記載の画像処理装置。
【請求項１０】
親機となる画像処理装置と、子機となる画像処理装置とが通信可能に接続されており、前記親機となる画像処理装置と前記子機となる画像処理装置とが連携してジョブを実行する画像処理システムによる画像処理方法であって、
前記子機となる画像処理装置による
前記子機となる画像処理装置単体で実行される単体ジョブを実行する通常ジョブ制御手順と、
前記通常ジョブ制御手順と並列して処理の実行が可能であって、前記親機となる画像処理装置と連携して実行される連携ジョブを実行する連携ジョブ制御手順と、
前記親機となる画像処理装置と、前記子機となる画像処理装置とがそれぞれ有する前記連携ジョブを実行するための機能モジュールのバージョンの差異を検知する検知手順と、
前記差異が検知されたとき、前記連携ジョブを実行できるバージョンの機能モジュールを導入する導入手順と、
前記導入手順において導入された機能モジュールと、前記導入手順において導入される前から有する機能モジュールと、がそれぞれ独立して動作できるように管理する管理手順と、
前記導入手順において導入された機能モジュールと前記導入手順において導入される前から有する機能モジュールとのどちらにより前記連携ジョブを実行するか判断する判断手順と、
前記連携ジョブの実行後に前記導入手順において導入された前記機能モジュールを無効化する無効化手順と、を有する画像処理方法。
【請求項１１】
親機となる画像処理装置と通信可能に接続されており、前記親機となる画像処理装置と連携してジョブを実行する画像処理装置により実行される画像処理プログラムであって、
前記画像処理装置に、
前記画像処理装置単体で実行される単体ジョブを実行する通常ジョブ制御ステップと、
前記通常ジョブ制御ステップと並列して処理の実行が可能であって、前記親機となる画像処理装置と連携して実行される連携ジョブを実行する連携ジョブ制御ステップと、
前記親機となる画像処理装置と、前記画像処理装置とがそれぞれ有する前記連携ジョブを実行するための機能モジュールのバージョンの差異を検知する検知ステップと、
前記差異が検知されたとき、前記連携ジョブを実行できるバージョンの機能モジュールを導入する導入ステップと、
前記導入ステップにおいて導入された機能モジュールと、前記導入ステップにおいて導入される前から有する機能モジュールと、がそれぞれ独立して動作できるように管理する管理ステップと、
前記導入ステップにおいて導入された機能モジュールと前記導入ステップにおいて導入される前から有する機能モジュールとのどちらにより前記連携ジョブを実行するか判断する判断ステップと、
前記連携ジョブの実行後に前記導入ステップにおいて導入された前記機能モジュールを無効化する無効化ステップと、を実行させる画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、親機となる画像処理装置と、子機となる画像処理装置とが通信可能に接続されており、前記親機となる画像処理装置と前記子機となる画像処理装置とが連携してジョブを実行する画像処理システム、画像処理装置、画像処理方法及び画像処理プログラムに関する。
【背景技術】
【０００２】
従来から、ネットワーク等により接続された複数の機器同士が連携して動作する画像処理システムが知られている。この画像処理システムでは、親機と子機が連携して動作する前に、親機が子機のソフトウェアのバージョンを確認し、子機のソフトウェアのバージョンが親機のソフトウェアのバージョンよりも低い場合に、子機のソフトウェアをアップグレードし、親機と同じソフトウェアのバージョンにする技術がある。
【０００３】
例えば特許文献１には、ファームウェアと印刷ジョブを作成するプリンタドライバとのバージョン調整を適切に行う目的で、プリンタドライバとファームウェアのバージョンに不整合があるとき、ファームウェアを取得し、更新する画像形成装置が記載されている。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記従来の技術の画像処理システムでは、連携動作のために変更したソフトウェアのバージョンが連携動作の終了後も維持されるため、結果としてシステム管理者の意図しないソフトウェアのバージョン変更が行われたことになり、従来のソフトウェア実行環境が失われてしまうという問題があった。
【０００５】
本発明は、上記事情を鑑みてこれを解決すべく成されたものであり、連携動作時にソフトウェァのバージョンを変更した場合でも、従来のソフトウェアバージョンを動作できる状態で保持することが可能な画像処理システム、画像処理装置、画像処理方法及び画像処理プログラムを提供することを目的としている。
【課題を解決するための手段】
【０００６】
本発明は、上記目的を達成すべく以下の如き構成を採用した。
【０００７】
本発明は、親機となる画像処理装置と、子機となる画像処理装置とが通信可能に接続されており、前記親機となる画像処理装置と前記子機となる画像処理装置とが連携してジョブを実行する画像処理システムであって、前記子機となる画像処理装置は、前記子機となる画像処理装置単体で実行される単体ジョブを実行する通常ジョブ制御手段と、前記通常ジョブ制御手段と並列して処理の実行が可能であって、前記親機となる画像処理装置と連携して実行される連携ジョブを実行する連携ジョブ制御手段と、前記親機となる画像処理装置と、前記子機となる画像処理装置とがそれぞれ有する前記連携ジョブを実行するための機能モジュールのバージョンの差異を検知する検知手段と、前記差異が検知されたとき、前記連携ジョブを実行できるバージョンの機能モジュールを導入する導入手段と、前記導入手段により導入された機能モジュールと、前記導入手段により導入される前から有する機能モジュールと、がそれぞれ独立して動作できるように管理する管理手段と、前記導入手段により導入された機能モジュールと前記導入手段により導入される前から有する機能モジュールとのどちらにより前記連携ジョブを実行するか判断する判断手段と、前記連携ジョブの実行後に前記導入手段により導入された前記機能モジュールを無効化する無効化手段と、を有する。
【０００８】
本発明は、親機となる画像処理装置と通信可能に接続されており、前記親機となる画像処理装置と連携してジョブを実行する画像処理装置であって、当該画像処理装置単体で実行される単体ジョブを実行する通常ジョブ制御手段と、前記通常ジョブ制御手段と並列して処理の実行が可能であって、前記親機となる画像処理装置と連携して実行される連携ジョブを実行する連携ジョブ制御手段と、前記親機となる画像処理装置と、前記子機となる画像処理装置とがそれぞれ有する前記連携ジョブを実行するための機能モジュールのバージョンの差異を検知する検知手段と、前記差異が検知されたとき、前記連携ジョブを実行できるバージョンの機能モジュールを導入する導入手段と、前記導入手段により導入された機能モジュールと、前記導入手段により導入される前から有する機能モジュールと、がそれぞれ独立して動作できるように管理する管理手段と、前記導入手段により導入された機能モジュールと前記導入手段により導入される前から有する機能モジュールとのどちらにより前記連携ジョブを実行するか判断する判断手段と、前記連携ジョブの実行後に前記導入手段により導入された前記機能モジュールを無効化する無効化手段と、を有する。
【０００９】
また本発明の画像処理装置において、前記導入手段により導入された前記機能モジュールは、当該画像処理装置の有する記憶領域に格納されており、前記無効化手段は、前記導入手段により導入された前記機能モジュールを前記記憶領域から削除して前記機能モジュールを無効化する。
【００１０】
また本発明の画像処理装置において、前記導入手段により導入された前記機能モジュールは、当該画像処理装置の有する記憶領域に格納されており、前記無効化手段は、前記導入手段により導入された前記機能モジュールを不活性化させて前記記憶領域内で保持する。
【００１１】
また本発明の画像処理装置において、前記導入手段は、前記記憶領域に保持された前記不活性化された前記機能モジュールを活性化させることで前記機能モジュールを導入する。
【００１２】
また本発明の画像処理装置は、機能モジュールが格納された機能モジュール管理サーバと接続されており、前記導入手段は、前記機能モジュール管理サーバから前記連携ジョブを実行するための機能モジュールを取得して導入する。
【００１３】
また本発明の画像処理装置において、前記導入手段は、前記親機となる画像処理装置から前記連携ジョブを実行するための機能モジュールを取得して導入する。
【００１４】
また本発明の画像処理装置は、前記記憶領域に保持された不活性化されている前記機能モジュールの一覧を表示させる表示手段を有する。
【００１５】
また本発明の画像処理装置において、前記管理手段は、前記記憶領域に保持された前記不活性化されている前記機能モジュールのバージョンを更新する。
【００１６】
本発明は、親機となる画像処理装置と、子機となる画像処理装置とが通信可能に接続されており、前記親機となる画像処理装置と前記子機となる画像処理装置とが連携してジョブを実行する画像処理システムによる画像処理方法であって、前記子機となる画像処理装置による、前記子機となる画像処理装置単体で実行される単体ジョブを実行する通常ジョブ制御手順と、前記通常ジョブ制御手順と並列して処理の実行が可能であって、前記親機となる画像処理装置と連携して実行される連携ジョブを実行する連携ジョブ制御手順と、前記親機となる画像処理装置と、前記子機となる画像処理装置とがそれぞれ有する前記連携ジョブを実行するための機能モジュールのバージョンの差異を検知する検知手順と、前記差異が検知されたとき、前記連携ジョブを実行できるバージョンの機能モジュールを導入する導入手順と、前記導入手順において導入された機能モジュールと、前記導入手順において導入される前から有する機能モジュールと、がそれぞれ独立して動作できるように管理する管理手順と、前記導入手順において導入された機能モジュールと前記導入手順において導入される前から有する機能モジュールとのどちらにより前記連携ジョブを実行するか判断する判断手順と、前記連携ジョブの実行後に前記導入手順において導入された前記機能モジュールを無効化する無効化手順と、を有する。
【００１７】
本発明は、親機となる画像処理装置と通信可能に接続されており、前記親機となる画像処理装置と連携してジョブを実行する画像処理装置により実行される画像処理プログラムであって、前記画像処理装置に、前記画像処理装置単体で実行される単体ジョブを実行する通常ジョブ制御ステップと、前記通常ジョブ制御ステップと並列して処理の実行が可能であって、前記親機となる画像処理装置と連携して実行される連携ジョブを実行する連携ジョブ制御ステップと、前記親機となる画像処理装置と、前記子機となる画像処理装置とがそれぞれ有する前記連携ジョブを実行するための機能モジュールのバージョンの差異を検知する検知ステップと、前記差異が検知されたとき、前記連携ジョブを実行できるバージョンの機能モジュールを導入する導入ステップと、前記導入ステップにおいて導入された機能モジュールと、前記導入ステップにおいて導入される前から有する機能モジュールと、がそれぞれ独立して動作できるように管理する管理ステップと、前記導入ステップにおいて導入された機能モジュールと前記導入ステップにおいて導入される前から有する機能モジュールとのどちらにより前記連携ジョブを実行するか判断する判断ステップと、前記連携ジョブの実行後に前記導入ステップにおいて導入された前記機能モジュールを無効化する無効化ステップと、を実行させる。
【発明の効果】
【００１８】
本発明によれば、連携動作時にソフトウェアのバージョンを変更した場合でも、従来のソフトウェアバージョンを動作できる状態で保持することができる。
【図面の簡単な説明】
【００１９】
【図１】第一の実施形態の画像処理システムのシステム構成及び画像処理システムを構成する機器のハードウェア構成を示す図である。
【図２】第一の実施形態の画像処理システムを構成する機器の機能構成を説明する図である。
【図３】第一の実施形態のバージョン管理テーブルの一例を示す図である。
【図４】第一の実施形態の画像処理システムにおいて親機となる画像処理装置の動作を説明するフローチャートである。
【図５】第一の実施形態の画像処理システムにおいて子機となる画像処理装置の動作を説明するフローチャートである。
【図６】第一の実施形態の画像処理システムの動作を説明する第一のシーケンス図である。
【図７】第一の実施形態の画像処理システムの動作を説明する第二のシーケンス図である。
【図８】第一の実施形態の画像処理システムの変形例を示す図である。
【図９】第二の実施形態の画像処理システムの動作を説明する第一のシーケンス図である。
【図１０】第二の実施形態の画像処理システムの動作を説明する第二のシーケンス図である。
【図１１】第三の実施形態の画像処理システムの動作を説明するシーケンス図である。
【図１２】第四の実施形態の画像処理システムの動作を説明する第一のシーケンス図である。
【図１３】第四の実施形態の画像処理システムの動作を説明する第二のシーケンス図である。
【図１４】第五の実施形態の画像処理装置における操作画面の例を示す図である。
【図１５】第五の実施形態におけるバージョン管理テーブルの書き換えを説明する図である。
【発明を実施するための形態】
【００２０】
本発明では、連携動作時に連携元となる親機と連携先となる子機とでソフトウェアバージョンが異なる場合、子機の従来のソフトウェアを保持したまま、子機に親機のソフトウェアと整合がとれたバージョンのソフトウェアを一時的に導入する。
【００２１】
（第一の実施形態）
以下に図面を参照して本発明の第一の実施形態について説明する。図１は、第一の実施形態の画像処理システムのシステム構成及び画像処理システムを構成する機器のハードウェア構成を示す図である。
【００２２】
本実施形態の画像処理システム１００は、画像処理装置２００、３００、機能モジュール管理サーバ４００がＬＡＮ（Local Area Network）を介して接続されている。以下の本実施形態の説明では、画像処理装置２００を連携元となる親機とし、画像処理装置３００を連携先となる子機として説明する。
【００２３】
親機となる画像処理装置２００は、複数台の画像処理装置を連携させて行う連携ジョブの制御を行っており、子機となる画像処理装置３００に対して連携ジョブの中で画像処理装置３００が行う処理の依頼を行う。子機となる画像処理装置３００は、親機の画像処理装置２００から依頼された連携ジョブの子機担当分の処理を実行する。本実施形態の画像処理システム１００では、画像処理装置２００は、連携ジョブを実行するときに画像処理装置３００の機能モジュールのバージョンが画像処理装置２００と異なっていた場合、画像処理装置３００の機能モジュールのバージョンを変更して連携ジョブを実行させる。
【００２４】
以下に画像処理システム１００を構成する機器のハードウェア構成について説明する。本実施形態では、画像処理装置２００、３００は同様のハードウェア構成を有するため、画像処理装置２００を例として説明する。
【００２５】
画像処理装置２００は、ＣＰＵ（Central Processing Unit）２１、ＲＡＭ（Random Access Memory）２２、ＲＯＭ（Read Only Memory）２３、ＨＤＤ（Hard Disk Drive）２４、ネットワーク通信制御部２５、操作部２６を有し、データバスＢを介して接続されている。
【００２６】
ＣＰＵ２１は、画像処理装置２００全体の制御演算を行う。ＲＡＭ２２は、一時的な記憶場所として利用される。ＲＯＭ２３は、プログラム、フォント、及びその他の静的なデータが格納されている。ＨＤＤ２４は、不揮発性のデータを格納しておく。スキャナ２５は、原稿の読み取りを行う。ネットワーク通信制御部２５は、ＬＡＮ等のネットワークに接続され、外部の機器やサーバとの通信を可能とする。操作部２６は、ユーザがボタンやテキスト入力などユーザが画像処理装置２００を操作するためのユーザインタフェースを提供する。
【００２７】
本発明の画像処理プログラムは画像処理装置２００を動作させるプログラムの一部である。本発明の画像処理プログラムは、例えばＲＯＭ２３に格納されており、ＣＰＵ２１がこの画像処理プログラムを読み出してＲＡＭ２２に展開し、実行することで画像処理装置２００が動作する。また画像処理プログラムは、ネットワーク通信制御部２５によりネットワークを介してダウンロードされても良い。また画像処理プログラムは、例えばＵＳＢ（Universal Serial Bus）メモリや光ディスク等の画像処理装置２００に読取可能な記録媒体に記録さてれおり、記録媒体から読み出されてＲＯＭ２３に格納されても良い。
【００２８】
本実施形態の画像処理装置３００の有するＣＰＵ３１、ＲＡＭ３２、ＲＯＭ３３、ＨＤＤ３４、ネットワーク通信制御部３５、操作部３６は、画像処理装置２００と同様の機能構成を有するので説明を省略する。
【００２９】
尚本実施形態の画像処理装置２００、３００は、例えば複合機等の画像処理装置により実現されても良い。画像処理装置２００、３００が画像処理装置である場合には、画像処理装置２００、３００はスキャナやプロッタを有することが好ましい。
【００３０】
また本実施形態の機能モジュール管理サーバ４００の有するＣＰＵ４１、ＲＡＭ４２、ＲＯＭ４３、ＨＤＤ４４、ネットワーク通信制御部４５は、画像処理装置２００と同様の機能構成を有するので説明を省略する。本実施形態の機能モジュール管理サーバ４００は、例えば一般のコンピュータ等により実現される。
【００３１】
次に、本実施形態の画像処理システム１００を構成する機器の機能構成について説明する。図２は、第一の実施形態の画像処理システムを構成する機器の機能構成を説明する図である。
【００３２】
始めに親機である画像処理装置２００について説明する。本実施形態の画像処理装置２００は、ジョブ制御部２１０、通信部２２０、動作機能モジュールバージョン管理部２３０を有する。
【００３３】
ジョブ制御部２１０は、動作用のバージョンを有しており、ジョブの制御を行う。通信部２２０は、画像処理装置間の通信を行う。動作機能モジュールバージョン管理部２３０は、自機の有する機能モジュールのバージョンを管理する。
【００３４】
次に子機である画像処理装置３００について説明する。本実施形態の画像処理装置３００は、機能モジュールバージョン差異検知部３１０、機能モジュールバージョン導入部３２０、動作機能モジュールバージョン管理部３３０、動作機能モジュールバージョン判断部３４０、変更機能モジュールバージョン無効化部３５０、通信部３６０、連携ジョブ制御部３７０、通常ジョブ制御部３７５、不活性化機能モジュール確認部３８０、不活性化機能モジュール削除部３９０を有する。
【００３５】
機能モジュールバージョン差異検知部３１０は、連携動作を行う際に、画像処理装置間のバージョンの差異を検知する。また機能モジュールバージョン差異検知部３１０は、バージョンの差異が検知された場合、バージョン変更によって連携動作が可能か否かを判断する。機能モジュールバージョン導入部３２０は、機能モジュールを自機内に導入する。
【００３６】
動作機能モジュールバージョン管理部３３０は、同一機能の異なるバージョンの機能モジュールをジョブの種類によって使いわけ、同時に動作させて管理する。また動作機能モジュールバージョン管理部３３０は、自機の持つ機能モジュールを管理する。動作機能モジュールバージョン管理部３３０による機能モジュールの管理の詳細は後述する。
【００３７】
動作機能モジュールバージョン判断部３４０は、連携動作用に導入したバージョンと元のバージョンのどちらで動作するかを判断する。変更機能モジュールバージョン無効化部３５０は、連携動作終了後、連携動作用に導入したバージョンを使用不可とする。
【００３８】
通信部３６０は、画像処理装置同士の通信を行う。連携ジョブ制御部３７０は、連携動作用のバージョンを持っており、連携動作用のジョブを制御する。通常ジョブ制御部３７５は、通常動作用のバージョンを持っており、通常動作用のジョブを制御する。尚通常動作とは、子機自身が単体で行う動作を示す。
【００３９】
不活性化機能モジュール確認部３８０は、画像処理装置３００の有する記憶領域内に不活性状態で保持されているモジュールを確認する。不活性化機能モジュール削除部３９０は、不活性状態のモジュールを削除する。尚不活性化状態とは、使用不可能な状態を示す。
【００４０】
次に本実施形態の機能モジュール管理サーバ４００について説明する。本実施形態の機能モジュール管理サーバ４００は、記憶領域５１０、通信部４２０を有する。記憶領域５１０は、バージョンの異なる機能モジュールを保持する。通信部４２０は画像処理装置２００、３００との通信を行う。
【００４１】
以下に、図３を参照して本実施形態の動作機能モジュールバージョン管理部３３０について説明する。図３は、第一の実施形態のバージョン管理テーブルの一例を示す図である。本実施形態の３３０は、画像処理装置３００の機能モジュールのバージョンをバージョン管理テーブル３０により管理する。
【００４２】
バージョン管理テーブル３０では、機能モジュールであるアプリケーションと、画像処理装置３００の動作状態、バージョン、機能モジュールで実行可能な機能が対応付けられている。例えばコピー機能を実現するコピーアプリケーションは、画像処理装置３００が担当動作を行う場合には、バージョンＶｅｒ１．２で動作する。また画像処理装置３００が連携動作を行う場合には、バージョンＶｅｒ１．４で動作する。尚単体動作とは、画像処理装置３００に入力されたジョブを画像処理装置３００自身のみで実行する動作である。
【００４３】
本実施形態の動作機能モジュールバージョン管理部３３０は、連携動作を行う連携ジョブが入力された場合は連携動作でのバージョンを選択し、通常動作を行うジョブが入力された場合は通常動作でのバージョンを選択する。
【００４４】
以下に図４、図５を参照して本実施形態の画像処理システム１００の動作を説明する。図４は、第一の実施形態の画像処理システムにおいて親機となる画像処理装置の動作を説明するフローチャートである。
【００４５】
親機である画像処理装置２００は、連携動作の実行指示を受けると、子機である画像処理装置３００へ連携ジョブの実行が可能か否かを問い合わせる（ステップＳ４０１）。画像処理装置３００での連携ジョブの実行が可能であった場合（ステップＳ４０２）、画像処理装置２００は画像処理装置３００へ連携ジョブの実行を指示する（ステップＳ４０３）。画像処理装置２００は、画像処理装置３００において連携ジョブの実行が完了すると（ステップＳ４０４）、処理を終了する。
【００４６】
図５は、第一の実施形態の画像処理システムにおいて子機となる画像処理装置の動作を説明するフローチャートである。
【００４７】
画像処理システム１００において子機となる画像処理装置３００は、親機である画像処理装置２００から連携ジョブの実行が可能か否かの問い合わせを受けると、自機の動作設定が完了したか否かを判断する（ステップＳ５０１）。ステップＳ５０１において動作設定が完了すると、画像処理装置３００は、機能モジュールバージョン差異検知部３１０による検知結果から、機能モジュールのバージョン変更により連携ジョブの実行が可能か否かを判断する（ステップＳ５０２）。
【００４８】
本実施形態の機能モジュールバージョン差異検知部３１０は、例えば問い合わせのあった連携ジョブの実行に必要な機能モジュールのバージョンと、自機の通常動作時の機能モジュールのバージョンとをバージョン管理テーブル３０を参照して比較する。２つのバージョンに差異がある場合、機能モジュールバージョン差異検知部３１０は、バージョン管理テーブル３０の連携動作時のバージョンで、連携ジョブが実行できるか否かを判断する。機能モジュールバージョン差異検知部３１０は、連携動作時のバージョンと、連携ジョブの実行に必要にバージョンとが対応していれば連携ジョブの実行可能と判断し、対応していなければ連携ジョブの実行不可能と判断する。
【００４９】
ステップＳ５０２において連携ジョブの実行は不可能と判断した場合、画像処理装置３００は画像処理装置２００に連携ジョブの実行不可を通知し（ステップＳ５０３）、処理を終了する。
【００５０】
ステップＳ５０２において、連携ジョブの実行が可能と判断した場合、画像処理装置３００は、画像処理装置２００から連携ジョブの実行指示を受けたか否かを判断する（ステップＳ５０４）。
【００５１】
ステップＳ５０４において実行指示を受けると、画像処理装置３００は連携ジョブ実行のために機能モジュールのバージョン変更が必要か否かを判断する（ステップＳ５０５）。ステップＳ５０５においてバージョン変更が必要と判断された場合、機能モジュールバージョン導入部３２０は、バージョンを変更したコンポーネントを導入する（ステップＳ５０６）。ステップＳ５０５においてバージョン変更が不要と判断された場合、後述するステップＳ５０８へ進む。
【００５２】
ステップＳ５０６に続いて、動作機能モジュールバージョン管理部３３０は、バージョンを変更したコンポーネントを起動する（ステップＳ５０７）。尚このときバージョン変更前の機能モジュールは保持されており、同時に動作している。続いて画像処理装置３００は、バージョン変更後の機能モジュール（以下、バージョン変更機能モジュール）で連携ジョブを実行するか否かを判断する（ステップＳ５０８）。
【００５３】
ステップＳ５０８で連携ジョブを実行すると判断された場合、動作機能モジュールバージョン判断部３４０は、バージョン変更機能モジュールで連携ジョブを実行する（ステップＳ５０９）。ステップＳ５０８で連携ジョブを実行しないと判断された場合、動作機能モジュールバージョン判断部３４０はバージョン変更前の機能モジュールで連携ジョブを実行する（ステップＳ５１０）。
【００５４】
画像処理装置３００は、連携ジョブの実行が完了すると（ステップＳ５１１）、バージョン変更機能モジュールが存在するか否かを判断する（ステップＳ５１２）。ステップＳ５１２において、バージョン変更機能モジュールが存在する場合、変更機能モジュールバージョン無効化部３５０は、バージョン変更機能モジュールを使用不可とし（ステップＳ５１３）、処理を終了する。ステップＳ５１２においてバージョン変更機能モジュールが存在しない場合、画像処理装置３００は処理を終了する。
【００５５】
以上に説明したように、本実施形態では、機能モジュールのバージョンを変更した際に、バージョン変更前の機能モジュールも動作させておく。そしてどちらかのバージョンの機能モジュールにより連携ジョブを実行した後にバージョンが変更された機能モジュールを使用不可とする。
【００５６】
以下に、図６を参照して本実施形態の画像処理装置２００、３００の各部のやりとりを説明する。図６は、第一の実施形態の画像処理システムの動作を説明する第一のシーケンス図である。
【００５７】
本実施形態の画像処理システム１００において、利用者により画像処理装置２００、３００による連携ジョブの実行が指示されると、画像処理装置２００のジョブ制御部２１０は、連携実行を指示される（ステップＳ６０１）。ジョブ制御部２１０は、この指示を受けて通信部２２０を介して画像処理装置３００へ連携実行指示を行う。尚この連携指示と同時に画像処理装置２００のバージョン情報を画像処理装置３００へ渡す。
【００５８】
画像処理装置３００では、通信部３６０を介して動作機能モジュールバージョン管理部３３０へ機能モジュールの取得要求を伝える（ステップＳ６０３、６０４）。動作機能モジュールバージョン管理部３３０は、機能モジュール取得要求と同時に送信されたバージョン情報を機能モジュールバージョン差異検知部３１０へ渡す（ステップＳ６０５）。
【００５９】
機能モジュールバージョン差異検知部３１０は、渡されたバージョン情報から連携ジョブが実行可能か否かを通信部３６０へ通知する（ステップＳ６０６）。本実施形態では、連携ジョブの実行可能とした。この通知は、通信部３６０、通信部２２０を介して画像処理装置２００のジョブ制御部２１０へ伝えられる（ステップＳ６０７、６０８）。
【００６０】
以下に機能モジュールバージョン差異検知部３１０により機能モジュールのバージョンに差異があると検知された場合について説明する。
【００６１】
画像処理装置３００では、機能モジュールバージョン差異検知部３１０により機能モジュールのバージョンに差異があると検知されると、動作機能モジュールバージョン管理部３３０にその旨が通知される（ステップＳ６０９）。動作機能モジュールバージョン管理部３３０は、この通知を受けて機能モジュールバージョン導入部３２０へバージョン変更要求を行う（ステップＳ６１０）。このとき動作機能モジュールバージョン管理部３３０は、変更後のバージョン情報も機能モジュールバージョン導入部３２０へ渡す。
【００６２】
機能モジュールバージョン導入部３２０は、バージョンの異なる機能モジュールの導入処理を行う（ステップＳ６１１）。続いて機能モジュールバージョン導入部３２０は、バージョン変更要求を動作機能モジュールバージョン管理部３３０へ行う（ステップＳ６１２）。動作機能モジュールバージョン管理部３３０は、この要求を受けて該当する機能モジュールのバージョン変更処理を行う（ステップＳ６１３）。バージョン変更処理とは、変更するバージョンを画像処理装置３００の中の記憶媒体（ＲＡＭ３２もしくはＨＤＤ３４）に保存し、変更するバージョンを利用し処理できるようにすることである。
【００６３】
続いて動作機能モジュールバージョン管理部３３０は、動作機能モジュールバージョン判断部３４０に対して連携ジョブの実行に利用するバージョンを確認する（ステップＳ６１４）。動作機能モジュールバージョン判断部３４０は、確認結果を動作機能モジュールバージョン管理部３３０に返す（ステップＳ６１５）。
【００６４】
続いて動作機能モジュールバージョン管理部３３０は、連携ジョブ制御部３７０に連携ジョブの実行を指示する（ステップＳ６１６）。連携ジョブの実行が完了すると、連携ジョブ制御部３７０は、変更機能モジュールバージョン無効化部３５０に対して実行完了後の後処理を要求する（ステップＳ６１７）。尚連携機ジョブの実行完了は、画像処理装置２００にも通知される。
【００６５】
変更機能モジュールバージョン無効化部３５０は、バージョンを変更した機能モジュールを無効化する方法を判断し、ＲＡＭ３２もしくはＨＤＤ３４にあるバージョン変更機能モジュールを使用不可とし（ステップＳ６１８）、連携ジョブ制御部３７０へ通知する（ステップＳ６１９）。連携ジョブ制御部３７０はバージョン変更機能モジュールが使用不可になった際に、動作機能モジュールバージョン管理部３３０に対して連携ジョブ実行後の状態通知を行う（ステップＳ６２０）。動作機能モジュールバージョン管理部３３０はそれを受けて、バージョン管理テーブル３０を書き換える。バージョン管理テーブル３０の書き換えの詳細は後述する。
【００６６】
次に機能モジュールバージョン差異検知部３１０により機能モジュールのバージョンに差異が検知されなかった場合について説明する。
【００６７】
機能モジュールバージョン差異検知部３１０でバージョンの差異が検知されない場合（ステップＳ６２１）、動作機能モジュールバージョン管理部３３０は、動作機能モジュールバージョン判断部３４０に連携ジョブの動作利用バージョンの確認を行う（ステップＳ６２２）。動作機能モジュールバージョン判断部３４０は、確認結果を動作機能モジュールバージョン管理部３３０に返す（ステップＳ６２３）。
【００６８】
続いて動作機能モジュールバージョン管理部３３０は、連携ジョブ制御部３７０に連携ジョブの実行を指示する（ステップＳ６２４）。連携ジョブの実行が完了すると、連携ジョブ実行完了が画像処理装置２００に通知される。
【００６９】
以上のように、本実施形態では、同一の画像処理装置内で、変更のバージョンの機能モジュールと整合後のバージョンの機能モジュールとを両方とも動作可能状態で持つことができる。さらに本実施形態では、同一の画像処理装置内で２つのバージョンの機能モジュールを同時に動作させることもできる。以下に画像処理装置３００において２つのバージョンの機能モジュールを同時に動作させる例を説明する。
【００７０】
図７は、第一の実施形態の画像処理システムの動作を説明する第二のシーケンス図である。図７のステップＳ７０１からステップＳ７１６までの処理は、図６のステップＳ６０１からステップＳ６１６までの処理と同様であるから説明を省略する。
【００７１】
利用者から、画像処理装置３００単体で実行される単体ジョブの実行要求が入力されると（ステップＳ７１７）、動作機能モジュールバージョン管理部３３０は、動作機能モジュールバージョン判断部３４０に入力されたジョブが単体ジョブであることを通知し、単体ジョブを実行する際に利用するバージョンの確認を依頼する（ステップＳ７１８）。
【００７２】
動作機能モジュールバージョン判断部３４０は、確認結果（単体ジョブで利用するバージョン）を動作機能モジュールバージョン管理部３３０に返す（ステップＳ７１９）。動作機能モジュールバージョン管理部３３０は、通常ジョブ制御部３７５に単体ジョブの実行を要求する（ステップＳ７２０）。通常ジョブ制御部３７５は、単体ジョブの実行が完了すると実行完了を動作機能モジュールバージョン管理部３３０を介して、利用者に通知する（ステップＳ７２１、７２２）。
【００７３】
このように本実施形態の画像処理装置３００では、単体ジョブは通常動作として実行されるため、連携ジョブの実行に影響を与えず、単体ジョブと連携ジョブとを同時に実行することができる。
【００７４】
尚図７では、画像処理装置２００と画像処理装置３００とが連携ジョブの実行中に画像処理装置３００の単体ジョブが入力された場合を説明しているが、単体ジョブはどのタイミングで入力されても良い。本実施形態の画像処理装置３００では、連携ジョブの実行は連携ジョブ制御部３７０が行い、単体ジョブの実行は通常ジョブ制御部３７５が行う。本実施形態の連携ジョブ制御部３７０と通常ジョブ制御部３７５は、並行して処理を実行できるものとした。
【００７５】
また本実施形態では、連携動作時に子機である画像処理装置３００の機能モジュールのバージョンを変更するか否かを子機側で判断させる形態として説明したが、これに限定されない。例えば機能モジュールのバージョン変更の判断は、親機側の画像処理装置２００で行っても良い。この場合、親機である画像処理装置２００に、機能モジュールバージョン差異検知部３１０と動作機能モジュールバージョン判断部３４０とが設けられていることが好ましい。
【００７６】
図８は、第一の実施形態の画像処理システムの変形例を示す図である。図８に示す画像処理システム１００Ａの親機である画像処理装置２００Ａは、画像処理装置２００の有する各部に加え、機能モジュールバージョン差異検知部３１０と動作機能モジュールバージョン判断部３４０とが設けられている。また画像処理システム１００Ａの子機である画像処理装置３００は、機能モジュールバージョン差異検知部３１０と動作機能モジュールバージョン判断部３４０とを有していない。
【００７７】
図８に示す構成とすれば、子機側である画像処理装置３００の機能モジュールのバージョンを変更するか否かを親機側である画像処理装置２００で行うことができる。
【００７８】
以上に説明したように、本実施形態によれば、単体ジョブを実行する通常ジョブ制御部と、連携ジョブを実行する連携ジョブ制御部とをそれぞれ有し、単体ジョブと連携ジョブとを同時に実行することができる。さらに連携ジョブの実行時に機能モジュールのバージョンを変更した場合は、連携ジョブの実行後にバージョンが変更された機能モジュールを使用不可とする。したがって本実施形態によれば、連携動作時にソフトウェァのバージョンを変更した場合でも、従来のソフトウェアバージョンを動作できる状態で保持することができる。
【００７９】
（第二の実施形態）
以下に図面を参照して本発明の第二の実施形態について説明する。本発明の第二の実施形態では、連携ジョブ実行後の後処理のみ第一の実施形態と相違する。したがって以下の第二の実施形態の説明では、第一の実施形態と同様の機能構成を有するものには第一の実施形態の説明で用いた符号と同様の符号を付与し、その説明を省略する。
【００８０】
図９は、第二の実施形態の画像処理システムの動作を説明する第一のシーケンス図である。図９では、変更機能モジュールバージョン無効化部３５０は、バージョン変更機能モジュールを削除することで使用不可としている。
【００８１】
図９のステップＳ９０１からステップＳ９１７までの処理は、図６のステップＳ６０１からステップＳ６１７までの処理と同様であるから説明を省略する。
【００８２】
ステップＳ９１７において、連携ジョブ制御部３７０が変更機能モジュールバージョン無効化部３５０に対して実行完了後の後処理を要求すると、変更機能モジュールバージョン無効化部３５０は、ＲＡＭ３２もしくはＨＤＤ３４にあるバージョン変更機能モジュールを削除する（ステップＳ９１８）。
【００８３】
そして変更機能モジュールバージョン無効化部３５０は、削除したことを連携ジョブ制御部３７０へ通知する（ステップＳ９１９）。連携ジョブ制御部３７０はバージョン変更機能モジュールが削除されたことを、動作機能モジュールバージョン管理部３３０に通知する（ステップＳ９２０）。
【００８４】
図１０は、第二の実施形態の画像処理システムの動作を説明する第二のシーケンス図である。図１０では、変更機能モジュールバージョン無効化部３５０は、バージョン変更機能モジュールを不活性化することで使用不能としている。
【００８５】
図１０のステップＳ１００１からステップＳ１０１７までの処理は、図６のステップＳ６０１からステップＳ６１７までの処理と同様であるから説明を省略する。
【００８６】
ステップＳ１０１７において、連携ジョブ制御部３７０が変更機能モジュールバージョン無効化部３５０に対して実行完了後の後処理を要求すると、変更機能モジュールバージョン無効化部３５０は、ＲＡＭ３２もしくはＨＤＤ３４にあるバージョン変更機能モジュールを不活性化する（ステップＳ１０１８）。
【００８７】
そして変更機能モジュールバージョン無効化部３５０は、バージョン変更機能モジュールが無効化されたことを連携ジョブ制御部３７０へ通知する（ステップＳ１０１９）。連携ジョブ制御部３７０はバージョン変更機能モジュールが無効化されたことを、動作機能モジュールバージョン管理部３３０に通知する（ステップＳ１０２０）。
【００８８】
図１０の例では、バージョン変更機能モジュールは無効化されるが、画像処理装置３００のＲＡＭ３２もしくはＨＤＤ３４に残されるため、再利用することができる。
【００８９】
（第三の実施形態）
以下に図面を参照して本発明の第三の実施形態について説明する。本発明の第三の実施形態では、機能モジュールのバージョン変更時の動作のみ第一の実施形態と相違する。したがって以下の第三の実施形態の説明では、第一の実施形態と同様の機能構成を有するものには第一の実施形態の説明で用いた符号と同様の符号を付与し、その説明を省略する。
【００９０】
本実施形態では、画像処理装置３００の記憶媒体に不活性化されたバージョン変更機能モジュールが保持されていることを前提としている。不活性化されたバージョン変更機能モジュールが保持されている場合とは、例えば図１０で説明したように、連携ジョブの実行後にバージョン変更機能モジュールが不活性化されて無効化された場合である。
【００９１】
図１１は、第三の実施形態の画像処理システムの動作を説明するシーケンス図である。
【００９２】
図１１のステップＳ１１０１からステップＳ１１０９までの処理は、図６のステップＳ６０１からステップＳ６０９までの処理と同様であるから説明を省略する。
【００９３】
ステップＳ１１０９でバージョンに差異があった場合、動作機能モジュールバージョン管理部３３０は、機能モジュールバージョン導入部３２０に対してバージョン変更要求を行う（ステップＳ１１１０）。このとき動作機能モジュールバージョン管理部３３０は、バージョン変更対象の機能モジュールを機器内で持っている旨を機能モジュールバージョン導入部３２０に伝える。
【００９４】
これを受けて機能モジュールバージョン導入部３２０は、バージョン変更対象の機能モジュールを導入する（ステップＳ１１１１）。そして機能モジュールバージョン導入部３２０は、動作機能モジュールバージョン管理部３３０に対してバージョン変更要求を行う（ステップＳ１１１２）。
【００９５】
動作機能モジュールバージョン管理部３３０は、要求を受けて画像処理装置３００の記憶媒体に保持された不活性化された機能モジュールを活性化させ、バージョン変更機能モジュールとする（ステップＳ１１１３）。
【００９６】
図１１のステップＳ１１１４からステップＳ１１２０までの処理は、図６のステップＳ６１４からステップＳ６２０までの処理と同様であるから説明を省略する。
【００９７】
（第四の実施形態）
以下に図面を参照して本発明の第四の実施形態について説明する。本発明の第四の実施形態では、機能モジュールのバージョン変更時の動作のみ第一の実施形態と相違する。したがって以下の第四の実施形態の説明では、第一の実施形態と同様の機能構成を有するものには第一の実施形態の説明で用いた符号と同様の符号を付与し、その説明を省略する。
【００９８】
本実施形態では、画像処理装置３００の記憶媒体に連携動作時のバージョンの機能モジュールが保持されていないことを前提としている。連携動作時のバージョンの機能モジュールが保持されていない場合とは、例えば図９で説明したように、連携ジョブの実行後にバージョン変更機能モジュールが削除された場合である。
【００９９】
本実施形態では、連携動作時のバージョンの機能モジュールを機能モジュール管理サーバ４００から取得する場合の動作と、親機である画像処理装置２００から取得する場合の動作について説明する。
【０１００】
始めに、機能モジュール管理サーバ４００からバージョン変更機能モジュールを取得する場合の動作を説明する。図１２は、第四の実施形態の画像処理システムの動作を説明する第一のシーケンス図である。
【０１０１】
図１２のステップＳ１２０１からステップＳ１２０９までの処理は、図６のステップＳ６０１からステップＳ６０９までの処理と同様であるから説明を省略する。
【０１０２】
ステップＳ１２０９でバージョンに差異があった場合、動作機能モジュールバージョン管理部３３０は、機能モジュールバージョン導入部３２０に対してバージョン変更要求を行う（ステップＳ１２１０）。このとき動作機能モジュールバージョン管理部３３０は、バージョン変更対象の機能モジュールが機器に存在しない旨を機能モジュールバージョン導入部３２０に伝える。
【０１０３】
これを受けて機能モジュールバージョン導入部３２０は、バージョン変更対象の機能モジュールを導入する（ステップＳ１２１１）。続いて機能モジュールバージョン導入部３２０は、通信部３６０にバージョン変更機能モジュールの取得要求を行う（ステップＳ１２１２）。
【０１０４】
通信部３６０は、機能モジュール管理サーバ４００の通信部４２０へバージョン変更機能モジュールの取得要求を行う（ステップＳ１２１３）。機能モジュール管理サーバ４００の通信部４２０は、この取得要求を記憶領域４１０へ渡し（ステップＳ１２１４）、記憶領域４１０からバージョン変更機能モジュールを取得する（ステップＳ１２１５）。通信部４２０は、取得したバージョン変更機能モジュールを画像処理装置３００の機能モジュールバージョン導入部３２０へ渡す（ステップＳ１２１６）。
【０１０５】
機能モジュールバージョン導入部３２０は、これを受けて動作機能モジュールバージョン管理部３３０へバージョン変更要求を行う（ステップＳ１２１７）。動作機能モジュールバージョン管理部３３０は、要求を受けてバージョン変更処理を行う（ステップＳ１２１８）。
【０１０６】
図１２のステップＳ１２１９からステップＳ１２２５までの処理は、図６のステップＳ６１４からステップＳ６２０までの処理と同様であるから説明を省略する。
【０１０７】
次に、親機である画像処理装置２００からバージョン変更機能モジュールを取得する場合の動作を説明する。図１３は、第四の実施形態の画像処理システムの動作を説明する第二のシーケンス図である。
【０１０８】
図１３のステップＳ１３０１からステップＳ１３１２までの処理は、図１２のステップＳ１２０１からステップＳ１２１２までの処理と同様であるから説明を省略する。
【０１０９】
ステップＳ１３１２においてバージョン変更機能モジュールの取得要求を受けると、通信部３６０は、画像処理装置２００の通信部２２０へバージョン変更機能モジュールの取得要求を行う（ステップＳ１３１３）。画像処理装置２００の通信部２２０は、この取得要求を動作機能モジュールバージョン管理部２３０へ渡し（ステップＳ１３１４）、動作機能モジュールバージョン管理部２３０からバージョン変更機能モジュールを取得する（ステップＳ１３１５）。通信部２２０は、取得したバージョン変更機能モジュールを画像処理装置３００の機能モジュールバージョン導入部３２０へ渡す（ステップＳ１３１６）。
【０１１０】
図１３のステップＳ１２１７からステップＳ１３２５までの処理は、図１２のステップＳ１２１７からステップＳ１２２５までの処理と同様であるから説明を省略する。
【０１１１】
以上に説明したように、本実施形態では、画像処理装置３００内に連携動作時のバージョンの機能モジュールが存在しなくても、外部の機器から取得することができる。
【０１１２】
（第五の実施形態）
以下に図面を参照して本発明の第五の実施形態について説明する。本発明の第五の実施形態では、機能モジュールのバージョン等の状態を表示させるユーザインタフェイスを有する。以下の第五の実施形態の説明では、第一の実施形態と同様の機能構成を有するものには第一の実施形態の説明で用いた符号と同様の符号を付与し、その説明を省略する。
【０１１３】
本実施形態では、子機である画像処理装置３００の操作部３６に、画像処理装置３００内の機能モジュールの状態を表示させても良い。
【０１１４】
図１４は、第五の実施形態の画像処理装置における操作画面の例を示す図である。図１４では、画像処理装置３００内に不活性化された機能モジュールを保持していることを前提としており、画面１４０には、画像処理装置３００内の不活性化された機能モジュールの一覧が操作部３６に表示されている。
【０１１５】
この場合、不活性化機能モジュール確認部３８０は、動作機能モジュールバージョン管理部３３０にバージョン管理テーブル３０で管理している機能モジュールの一覧を問い合わせ、その問合せ結果を操作部３６上の画面１４０として表示させる。画面１４０上では、バージョン管理テーブル３０で管理されているデータを確認することができる。このとき画面１４０は画像処理装置３００ではなく、画像処理装置２００の操作部２６に表示されても良い。また画面１４０は、画像処理装置３００と接続された他の機器に設けられた専用アプリケーションやウェブブラウザ等により表示されても良い。
【０１１６】
また本実施形態では、画面１４０を操作することで機能モジュールのバージョンを更新することができる。画面１４０において「機能モジュールを更新」ボタンが押下されると、操作部３６の表示は画面１４１へ切り替わる。画面１４１では、更新前の機能モジュールのバージョンと、更新後の機能モジュールのバージョンとが表示されており、システム管理者は画面１４１により更新前と更新後の機能モジュールのバージョンを確認できる。
【０１１７】
画面１４１に表示される項目は、動作機能モジュールバージョン管理部３３０が保持しているデータでもよいし、それに紐づく情報でよい。システム管理者が更新を許可することで、機能モジュールのバージョンの更新が開始される。システム管理者が更新を許可しない場合、更新を実行せず、機能モジュール一覧が表示された画面１４０に戻る。
【０１１８】
機能モジュールのバージョンの更新が完了すると、操作部３６には完了を通知する画面１４２が表示され、新たに不活性化された機能モジュールの一覧が画面１４３に表示される。バージョンアップされた機能モジュールは活性化された状態となるため、画面１４３に表示される不活性化された機能モジュールの一覧から消える。図１４では、コピーを実行する機能モジュールのバージョン１．２をバージョン１．４に更新した場合を示している。画面１４３では、不活性化されたバージョン１．４の機能モジュールは消えていることがわかる。
【０１１９】
また本実施形態では、画面１４０の状態から、不活性化された機能モジュールの保持期間を設定することができる。画面１４０において、保持期間を設定する機能モジュールが選択されて「機能モジュール保持期間を設定」ボタンが押下されると、機能モジュール保持期間の設定画面１４４が操作部３６に表示される。
【０１２０】
設定画面１４４にて、選択された機能モジュールの保持期間の入力が完了すると、画面１４０に機能モジュールの保持期間を示す項目が追加された画面１４５が表示される。尚保持期間の入力は、例えば操作部３６に備えついているハードウェアテンキー、またはソフトウェアキーにより行われても良い。本実施形態では、保持期間の入力は、保持する日時を入力する形態となっているが、保持する期間を入力する形態でもよい。
【０１２１】
設定画面１４４において保持期間の設定がキャンセルされた場合、設定を実行せず画面１４０に戻る。また本実施形態では、保持期間が過ぎた機能モジュールは削除される。画面１４６では、保持期間が過ぎた不活性化された機能モジュールが削除されているのがわかる。
【０１２２】
本実施形態では、システム管理者の操作により機能モジュールのバージョンが更新（変更）された場合、動作機能モジュールバージョン管理部３３０がバージョン管理テーブル３０の書き換えを行う。
【０１２３】
図１５は、第五の実施形態におけるバージョン管理テーブルの書き換えを説明する図である。図１５では、機能モジュールの保持期限の項目が追加されバージョン管理テーブル３０Ａを示す。
【０１２４】
本実施形態では、バージョンの更新対象となる機能モジュールは、動作状態が「単体動作」となっているものである。動作状態が「連携動作」となっている機能モジュールは、連携動作時のみ動作する機能モジュールである。
【０１２５】
本実施形態では、バージョンを更新することで、動作状態が「単体動作」となっている機能モジュールが指定されたバージョンの機能モジュールに更新される。本実施形態では、バージョン１．２をバージョン１．４に更新することを指示しているため、コピーを実行する機能モジュールのうち、単体動作の機能モジュールのバージョン情報は、ライン５１に示すように動作機能モジュールバージョン管理部３３０により書き換えられる。
【０１２６】
またこのとき、ＨＤＤ３４等の永続領域に保存されているバージョン１．３の機能モジュールのプログラムデータは機能モジュールバージョン導入部３２０によりプ記憶領域上から削除される。
【０１２７】
また本実施形態では、機能モジュールの保持期間が設定された場合には、バージョン管理テーブル３０Ａの対応する情報を書き換える。本実施形態のバージョン管理テーブル３０Ａでは、例えばライン５２に示すように、機能モジュールの保持期間が画面１４４で設定された保持期間へ書き換えられる。
【０１２８】
保持期間が過ぎた機能モジュールのプログラムデータは、機能モジュールバージョン導入部３２０によりＨＤＤ３４等の永続領域から削除される。
【０１２９】
以上に説明したように、本実施形態によれば、画像処理装置内で不活性化された状態で保持されている機能モジュールの状態をシステム管理者が把握することができる。また本実施形態によれば、外部から機能モジュールを取得せずに画像処理装置内部で機能モジュールのバージョンの更新を行うことができる。また不活性状態で保持期間を過ぎた機能モジュールを自動的に削除できるので、システム管理者の負担を軽減することができる。
【０１３０】
以上、各実施形態に基づき本発明の説明を行ってきたが、上記実施形態に示した要件に本発明が限定されるものではない。これらの点に関しては、本発明の主旨をそこなわない範囲で変更することができ、その応用形態に応じて適切に定めることができる。
【符号の説明】
【０１３１】
１００  画像処理システム
２００、３００  画像処理装置
２１０  ジョブ制御部
２２０、３６０、４２０  通信部
２３０、３３０  動作機能モジュールバージョン管理部
３１０  機能モジュールバージョン差異検知部
３２０  機能モジュールバージョン導入部
３４０  動作機能モジュールバージョン判断部
３５０  変更機能モジュールバージョン無効化部
３７０  連携ジョブ制御部
３７５  通常ジョブ制御部
３８０  不活性化機能モジュール確認部
３９０  不活性化機能モジュール削除部
４００  機能モジュール管理サーバ
【先行技術文献】
【特許文献】
【０１３２】
【特許文献１】特開２００９−０５６６０８号公報
【図１】
0005664025.tif 000002
【図２】
0005664025.tif 000003
【図３】
0005664025.tif 000004
【図４】
0005664025.tif 000005
【図５】
0005664025.tif 000006
【図６】
0005664025.tif 000007
【図７】
0005664025.tif 000008
【図８】
0005664025.tif 000009
【図９】
0005664025.tif 000010
【図１０】
0005664025.tif 000011
【図１１】
0005664025.tif 000012
【図１２】
0005664025.tif 000013
【図１３】
0005664025.tif 000014
【図１４】
0005664025.tif 000015
【図１５】
0005664025.tif 000016