以下、本発明について実施形態をもって説明するが、本発明は、後述する実施形態に限定されるものではない。図1は、本実施形態の画像処理システム100の概略図である。画像処理システム100は、ネットワーク110と、ネットワーク110に接続される管理端末120と、画像処理装置130a、130b、130cとを含んで構成されている。ネットワーク110は、例えば、イーサネット(登録商標)およびTCP/IPプロトコルを使用したネットワークとして構成されている。また、ネットワーク110は、ローカルエリアネットワーク(LAN)として実装することができる。
管理端末120は、パーソナルコンピュータ(以降、単にPCとして参照する。)または他の形式のコンピュータとすることができる。管理端末120は、画像処理装置130a、130b、130cの処理機能やUIを追加・修正するために使用される。具体的には、管理端末120は、当該画像処理装置の処理機能を実現するプログラムであるプラグインモジュール(以降、単にプラグインとして参照する。)、当該画像処理装置の操作パネル等の表示装置に表示されるUIを構築するUI設定情報の更新に用いられるUI設定情報のテンプレート(以降、UIテンプレートとして参照する。)、およびUIを更新する旨の指令を、ネットワーク110を介して画像処理装置130a、130b、130cに送信する。画像処理装置に130a、130b、130cに対するUIテンプレートの送信やUIの更新指令は、例えば、XML(Extensible Markup Language)などの構造化言語を利用したSOAP(Simple Object Access Protocol)によるメッセージ通信によって行われる。なお、UIテンプレートについては、より詳細に後述する。
管理端末120は、PENTIUM(登録商標)または互換プロセッサを搭載し、WINDOWS(登録商標)シリーズ、UNIX(登録商標)、LINUX(登録商標)、MAC(登録商標)OSなどのOSの管理下で、プログラムを実行する。また、管理端末120は、プログラムを実行するための実行空間を提供するRAM(Random Access Memory)、プログラムやデータなどを持続的に保持するためのハードディスク装置(以降、単にHDDとして参照する。)などを含んでおり、上述した管理端末120の機能を実現するプログラムを実行することにより、当該機能を管理端末120上に実現する。
画像処理装置130a、130b、130cは、CCD(Charge Coupled Device)センサなどを含んで構成されるスキャナ装置を含むMFP(Multi Function Peripheral)などの画像処理装置として構成されている。また、画像処理装置130a、130b、130cは、スキャナ装置で読み取った画像データを、ネットワーク110を介して、画像データを蓄積して管理するファイルサーバ(図示せず)や、SMTP(Simple Mail Transfer Protocol)等のメール送信プロトコルに準拠して電子メールを送信するメール送信サーバ(図示せず)に配信する。さらに、画像処理装置130a、130b、130cは、管理端末120からネットワーク110を介して、UIテンプレートやUIの更新指令等を受領して、当該画像処理装置が備える操作パネル等に表示されるUIを更新する。
また、画像処理装置130a、130b、130cが、MFPとして実装される場合、プロセッサ、RAM、HDDなどを含んで実装されており、UNIX(登録商標)、LINUX(登録商標)などのOSの制御下で、アセンブラ、C、C++、JAVA(登録商標)、Java(登録商標)Scriptなどのプログラミング言語で記述された本実施形態のプログラムを実行し、後述する機能を当該画像処理装置上で実現する。
さらに、画像処理装置130a、130b、130cは、必要に応じて、Firefox(登録商標)といったブラウザプログラムを実装し、HTML(HyperText Markup Language)、XHTML(Extensible HyperText Markup Language)、XMLなどの構造化文書を使用して、管理端末120との間でデータ共有を行うことができる。
図2は、本実施形態の画像処理システム100に含まれる画像処理装置130aの機能ブロック図である。以下、図2を参照して、画像処理装置130aが実装する処理機能について説明する。なお、画像処理装置130b、130cについては、画像処理装置130aと同様の機能を実装するので、以下、より詳細な説明は省略する。
画像処理装置130aは、データ入力処理部211と、データ仕分け処理部212と、メール送信プラグイン230と、フォルダ保存プラグイン240とを含んでいる。
データ入力処理部211は、画像処理装置130aに含まれるスキャナ装置(図示せず)がスキャニングし、レベル補正、ガンマ補正、エッジ処理などの画像処理およびA/D変換を施した画像データを受領する。また、データ入力処理部211は、画像処理装置130aの操作パネルに表示されるUIを用いてユーザが選択した機能処理の実行命令や、当該機能処理に関連するプラグインが使用するメール送信先特定情報(例えば、メールアドレス等)やファイル保存先特定情報(例えば、ファイルパス等)などのメタデータをUI処理部221から受領し、画像データとともにデータ仕分け処理部212に渡す。実行命令には、ユーザが選択した機能処理を特定するためのID等の識別情報が含まれている。
データ仕分け処理部212は、受領した実行命令から実行すべき機能処理を判断し、該当する機能処理手段であるプラグイン、本実施形態では、メール送信プラグイン230またはフォルダ保存プラグイン240に画像データを渡す。
メール送信プラグイン230は、画像データを電子メールに添付して送信する機能手段であり、配信処理部232と、更新処理部234とを含んでいる。配信処理部232は、データ仕分け処理部212から画像データおよびメール送信先特定情報を受領し、当該画像データを添付ファイルとして電子メールに添付し、当該メール送信先特定情報で指定された電子メールの送信先を指定して、画像データをメール送信サーバに送信する。更新処理部234は、更新制御処理部213の指示により、後述するメール送信プラグイン230用のUIテンプレートを用いて、メール送信プラグイン230に関連するUI設定情報を更新する。
フォルダ保存プラグイン240は、画像データをネットワーク110に接続されたファイルサーバやPC等のデータフォルダに保存する機能手段であり、配信処理部242と、更新処理部244とを含んでいる。配信処理部242は、データ仕分け処理部212から画像データおよびファイル保存先情報を受領し、当該ファイル保存先特定情報で指定されたファイルの保存先を指定して、画像データをファイルサーバ等に送信する。更新処理部244は、更新制御処理部213の指示により、後述するフォルダ保存プラグイン240用のUIテンプレートを用いて、フォルダ保存プラグイン240に関連するUI設定情報を更新する。
また、画像処理装置130aは、更新制御処理部213と、更新対象選択処理部214と、更新処理部215と、後述するUIテンプレートを格納するHDD等の記憶装置220とを含んでいる。
更新制御処理部213は、UIを更新する指令を管理端末120から受領すると、後述するバックアップ処理部217にUI設定情報をバックアップさせる。更新制御処理部213は、バックアップされたUI設定情報を取得し、RAM等にバッファリングする。また、更新制御処理部213は、更新対象選択処理部214を呼び出し、更新すべきUI設定情報を特定させる。さらに、更新制御処理部213は、更新すべきUI設定情報に関連する更新処理部215、234、244を呼び出し、当該UI設定情報に対して更新処理を実施する。
更新対象選択処理部214は、更新制御処理部213から呼び出されると、記憶装置220からUIテンプレートを取得して、バッファリングされたUI設定情報と比較し、更新すべきUI設定情報を特定し、当該UI設定情報を更新制御処理部213に通知する。本実施形態では、更新対象選択処理部214は、UI設定情報のバージョン情報およびUIテンプレートのバージョン情報を利用して、UI設定情報の更新が必要か否か判断する。
更新処理部215は、更新制御処理部213の指示により、後述するプラグイン共通のUIテンプレートを用いて、UI設定情報のうちプラグインに共通するUI設定情報を更新する。
記憶装置220は、UIを構築するHTML、XHTML、XMLなどのマークアップ言語で記述された構造化文書であるUIテンプレートが格納されている。本実施形態では、UIテンプレートとして、プラグイン共通のUIテンプレート、メール送信プラグイン230用のUIテンプレート、およびフォルダ保存プラグイン240用のUIテンプレートが保存されており、これらのUIテンプレートは、UI設定情報を更新するために使用される。なお、これらのUIテンプレートについては、より詳細に後述する。
画像処理装置130aは、リストア処理部216と、バックアップ処理部217と、UI設定情報が格納される記憶装置218と、UI設定情報のバックアップデータが格納される記憶装置219と、UI処理部221とを含んでいる。
リストア処理部216は、更新制御処理部213から更新処理が終了した旨の通知を受領すると、RAM等にバッファリングされている更新処理が施されたUI設定情報を、操作パネルに表示されるUIを構築するUI設定情報として記憶装置218に保存する。
バックアップ処理部217は、更新制御処理部213からUI設定情報をバックアップする旨の指令を受領すると、記憶装置218に格納されているUI設定情報をバックアップデータとして記憶装置219に格納する。また、バックアップ処理部217は、記憶装置219にバックアップしたUI設定情報を更新制御処理部213に渡す。本実施形態では、バックアップ処理部217は、更新制御処理部213の指示により、UI設定情報をバックアップするが、他の実施形態では、バックアップ処理部217が、定期的にUI設定情報をバックアップしてもよい。
UI処理部221は、記憶装置218に格納されたUI設定情報を基に、画像処理装置130aの操作パネルにUIを表示する。また、UI処理部221は、ユーザが当該UIを押下することによって発行された機能処理の実行命令等をスキャナ装置に通知し、スキャナ装置にスキャニングを実行させる。さらに、UI処理部221は、各プラグインが使用するメール送信先特定情報やファイル保存先特定情報などのメタデータをデータ入力処理部211に送信する。
図3は、本実施形態のUIを構築するUI設定情報の実施形態を示した図である。以下、図3を参照して、UI設定情報300について説明する。
図3に示すUI設定情報300は、XML形式のテキストファイルであり、適切な名前空間により定義された各種のタグを用いて記述されている。画像処理装置130a、130b、130cは、当該UI設定情報300を用いて、当該画像処理装置の操作パネルにUIを表示する。
UI設定情報300は、3つのセクション310、320、330で構成されている。タグ<Screen id="1">で既定されるセクション310は、各プラグインに共通するUI設定情報である。また、タグ<Screen id="2">で既定されるセクション320は、メール送信プラグイン230のUI設定情報である。さらに、タグ<Screen id="3">で既定されるセクション330は、フォルダ保存プラグイン240のUI設定情報である。
UI設定情報300の各セクションは、それぞれバージョン情報を有しており、セクション310は、タグ<PluginCommon version="1">でバージョン情報「1」が設定されている。また、セクション320は、タグ<Plugin type="SMTPMail" version="1">で、プラグインの種類(メール送信プラグイン)とともにバージョン情報「1」が設定されている。さらに、セクション330は、タグ<Plugin type="Folder" version="1">で、プラグインの種類(フォルダ保存プラグイン)とともにバージョン情報「1」が設定されている。
さらに、セクション320は、タグ<default>でUIに表示されるユーザのカスタマイズ情報「@foo.jp」が設定されており、ユーザは、当該タグを用いて任意の文字列をUIに表示することができる。本実施形態では、タグ<default>を使用してユーザのカスタマイズ情報を特定しているが、他の実施形態では、ユーザのカスタマイズ情報を特定できる限り、その他の様々なタグを用いてもよい。
なお、本実施形態のUI設定情報300は、XML形式のテキストファイルであるが、UIの構築ができる限り、HTML、HXTML、XML言語およびこれらの組み合わされたテキストファイルを使用してもよい。また、本実施形態では、1つのテキストファイルに各プラグインに対応したUI設定情報が記述されているが、他の実施形態では、各UI設定情報を個別のテキストファイルに記述してもよい。
図4は、図3に示すUI設定情報300を作成する際に利用されるUIテンプレートの実施形態を示した図である。以下、図4を参照して、本実施形態のUIテンプレート410、420、430について説明する。
UIテンプレート410は、プラグイン共通のUIテンプレートであり、UI設定情報300のセクション310に対応している。また、UIテンプレート420は、メール送信プラグイン230用のUIテンプレートであり、UI設定情報300のセクション320に対応している。さらに、UIテンプレート430は、フォルダ保存プラグイン240用のUIテンプレートであり、UI設定情報300のセクション330に対応している。本実施形態の画像処理装置は、これらのUIテンプレートを用いて、当該画像処理装置のUI設定情報を更新する。
UIテンプレート410、420、430は、UI設定情報300と同様のXML形式のテキストファイルであり、適切な名前空間により既定されたタグを用いて記述されている。UIテンプレート410、420、430は、それぞれバージョン情報を有しており、本実施形態の画像処理装置は、このバージョン情報を用いて、UI設定情報の更新の必要の有無を判断する。本実施形態では、UIテンプレート410は、PluginCommonUIタグのversion属性によりバージョン情報「1」が設定されており、UIテンプレート420および430は、PluginUIタグのversion属性によりバージョン情報「1」が設定されている。
UIテンプレート410、420、430は、UI設定情報300とは異なりユーザのカスタマイズ情報が記述されていないが、UIテンプレート410、420、430のその他の記述内容は、UI設定情報300とほぼ同じであるため、詳細な説明は省略する。
図5は、図3に示すUI設定情報300を基に構築されるUIの実施形態を示した図である。以下、図5を参照して、本実施形態の画像処理装置の操作パネルに表示されるUI510、520、530について説明する。
UI510は、本実施形態の画像処理装置がスキャニングした画像データを配信する方法を選択するためのUIであり、UI設定情報300のセクション310を基に構築される。UI510は、「メール送信」ボタン512と、「フォルダ保存」ボタン514とを含んでおり、ユーザは、これらのボタンを押下することにより、画像データの配信方法を選択することができる。
UI520は、UI510の「メール送信」ボタン512を押下したときに表示されるUIであり、UI設定情報300のセクション320を基に構築される。また、UI520は、メール送信先を指定するためのエディットボックス522を含んでおり、ユーザは、エディットボックス522を用いて画像データの送信先のメールアドレスを入力し、画像データの送信先を指定する。ユーザが、画像データの送信先を指定して実行ボタン(図示せず)等を押下すると、メール送信プラグイン230が、当該指定されたメール送信先に、画像データを電子メールの添付ファイルとして送信する。なお、本実施形態では、ユーザカスタマイズ情報として「@foo.jp」がエディットボックス522に表示されているが、ユーザが指定した任意の文字列を表示することができる。
UI530は、UI510の「フォルダ保存」ボタン514が押下されたときに、操作パネルに表示されるUIであり、UI設定情報300のセクション330を基に構築される。また、UI530は、フォルダ保存先を指定するためのエディットボックス532を含んでおり、ユーザは、エディットボックス532を用いて画像データの保存先のパス等を指定する。ユーザが、画像データの保存先を指定して実行ボタン(図示せず)等を押下すると、フォルダ保存プラグイン240が、指定された保存先に画像データを送信して保存させる。
なお、本実施形態のUI510には、画像データをメール送信し、またはフォルダ保存する2種類の機能処理を選択するボタンが示されているが、他の実施形態では、様々な種類の機能処理用のボタンを表示することができる。
図6は、本実施形態の画像処理装置が実施するUIの更新処理のフローチャートを示した図である。以下、図6を参照して、UIの更新処理について説明する。
図6の処理は、ステップS601で開始し、本実施形態では、画像処理装置130a、130b、130cが、管理端末120からネットワーク110を介して、UIの更新指令およびUIテンプレートを受領することにより開始する。他の実施形態では、画像処理装置130a、130b、130cの記憶装置220にUIテンプレートを格納しておき、当該画像処理装置の操作パネルからUIの更新指令を発行することにより、図6の処理を開始することができる。さらに、他の実施形態では、UIテンプレートが画像処理装置130a、130b、130cの記憶装置220に格納されたことをトリガとして、図6の処理を開始することもできる。
画像処理装置130a、130b、130cは、UIの更新指令およびUIテンプレートを受領すると、ステップS601で更新制御処理部213を呼び出す。ステップS602では、更新制御処理部213がバックアップ処理部217を呼び出して、記憶装置218に格納されているUI設定情報を記憶装置219にバックアップさせる。ステップS603では、更新制御処理部213が、バックアップされたUI設定情報をバックアップ処理部217から受領する。なお、本実施形態では、バックアップされたUI設定情報を使用して更新処理を実施するが、他の実施形態では、バックアップ処理を行わずに、記憶装置218から取得したUI設定情報を使用して更新処理を実施してもよい。
ステップS604では、更新制御処理部213が更新対象選択処理部214を呼び出し、更新対象選択処理部214は、ステップS603で取得したUI設定情報に対してパース処理を実施して、検出したScreenタグのtype属性がPluginかどうか判断する。ステップS604の判定で、UI設定情報のScreenタグのtype属性がPluginである場合(yes)、処理をステップS605に分岐させる。ステップS605では、更新対象選択処理部214が、ステップS604で検出したScreenタグによって定義されたセクションからPluginタグのtype属性を検出し、検出されたtype属性に対応するプラグインのUIテンプレートを記憶装置220から取得する。なお、UIテンプレートの識別は、その名称により行うことができ、また、記憶装置220内でUIテンプレートごとに固有の記憶領域を割り当てることによって実現できる。
ステップS606では、更新対象選択処理部214が、UI設定情報のPluginタグのversion属性からバージョン情報を取得する。ステップS607では、更新対象選択処理部214が、ステップS605で取得したUIテンプレートのPluginUIタグのversion属性からバージョン情報を取得し、バックアップされたUI設定情報のバージョン情報がUIテンプレートのバージョン情報よりも古いかどうか判断する。ステップS607の判定で、バックアップされたUI設定情報のバージョン情報がUIテンプレートのバージョン情報よりも古いと判断した場合(yes)、処理をステップS608に分岐させ、UI設定情報を更新する。一方、ステップS607の判定で、バックアップされたUI設定情報のバージョン情報がUIテンプレートのバージョン情報よりも古くないと判断した場合(no)、処理をステップS612に分岐させる。なお、ステップS608のUI設定情報の更新処理については、より詳細に後述する。
一方、ステップS604の判定で、UI設定情報のScreenタグのtype属性がPluginでない場合、本実施形態では「plugin common」の場合(no)、処理をステップS609に分岐させる。ステップS609では、更新制御処理部213が、記憶装置220からプラグイン共通のUIテンプレートを取得する。ステップS610では、更新対象選択処理部214が、UI設定情報のPluginCommonUIタグのversion属性からバージョン情報を取得する。
ステップS611では、更新対象選択処理部214が、ステップS609で取得したUIテンプレートのPluginCommonUIタグのversion属性からバージョン情報を取得し、バックアップされたUI設定情報のバージョン情報がUIテンプレートのバージョン情報よりも古いかどうか判断する。ステップS611の判定で、バックアップされたUI設定情報のバージョン情報がUIテンプレートのバージョン情報よりも古いと判断した場合(yes)、処理をステップS608に分岐させ、UI設定情報を更新する。一方、ステップS611の判定で、バックアップされたUI設定情報のバージョン情報がUIテンプレートのバージョン情報よりも古くないと判断した場合(no)、処理をステップS612に分岐させる。
ステップS612では、更新対象選択処理部214が、ステップS603で取得したUI設定情報に対してさらにパース処理を実施し、他にScreenタグで既定されたセクションが存在するか否か判断する。ステップS612の判定で、他にScreenタグで既定されたセクションが存在する場合(yes)、処理をステップS604に分岐させる。一方、ステップS612の判定で、他にScreenタグで既定されたセクションが存在しない場合(no)、ステップS613で、更新制御処理部213が、リストア処理部216を呼び出し、リストア処理部216は、ステップS608で更新されたUI設定情報を記憶装置218に格納し、ステップS614で処理が終了する。
図7は、本実施形態の画像処理装置が実施するUI設定情報の更新処理のフローチャートを示した図である。また、図8は、図7に示す更新前のUI設定情報810、メール送信プラグイン230用のUIテンプレート820および更新後のUI設定情報830を示した図である。以下、図7および図8を参照して、UI設定情報の更新処理について説明する。
本実施形態の画像処理装置は、図6の処理で、更新対象選択処理部214が、更新する必要があると判断したUI設定情報に対してのみ更新処理を実施する。図7の処理は、ステップS701から開始し、図6の処理のステップS608で、更新制御処理部213が、更新処理部215、234、244のいずれかを呼び出すことにより開始する。本実施形態では、呼び出すべき更新処理部の選択は、UI設定情報に記述されたScreenタグのtype属性を使用して行うことができる。なお、説明を明確にするために、メール送信プラグイン230の更新処理部234が、UI設定情報810に対して更新処理を実施する場合について説明する。
ステップS702では、更新処理部234が、更新処理の対象であるUI設定情報にユーザのカスタマイズ情報が存在するかどうか判断し、ユーザ情報が存在する場合には(yes)、処理をステップS703に分岐させる。ステップS703では、更新処理部234が、カスタマイズ情報をRAMやレジスタ等の一時記憶装置に待避する。本実施形態では、図8に示すUI設定情報810のタグ<default>で設定された「@foo.jp」812がカスタマイズ情報に相当する。ステップS704では、更新処理部234が、更新処理の対象となるUI設定情報814を、UIテンプレート820の内容に置き換える。ステップS705では、更新処理部234が、ステップS704で置き換えられたUI設定情報に対してカスタマイズ情報を追加し、ステップS707で処理が終了する。
一方、ステップS702の判定で、UI設定情報にユーザのカスタマイズ情報が存在しないと判断した場合(no)、処理をステップS706に分岐させる。ステップS706では、更新処理部234が、更新処理の対象となるUI設定情報をUIテンプレート820の内容に置き換え、ステップS707で処理が終了する。
上述したように、本実施形態の画像処理装置は、多数存在するUI設定情報のうち、更新する必要があると判断したUI設定情報に対してのみ更新処理を実施するため、UIの更新処理を効率的に行うことができる。また、本実施形態の画像処理装置では、更新前のUI設定情報に設定されたユーザのカスタマイズ情報が更新後のUI設定情報に追加されるため、UIの更新後も継続してユーザのカスタマイズ情報をUIに表示することができる。
図8に示すUI設定情報830は、図7の更新処理によって生成されたUI設定情報である。本実施形態では、新たなUIとして追加されたUIテンプレート820のエディットボックスの記述822が、UI設定情報830のセクション834に追加されており、UI設定情報810のカスタマイズ情報812が、UI設定情報830のセクション832に追加されている。
図9は、図7の更新処理を施したUI設定情報830に基づくUIの実施形態を示した図である。本実施形態の画像処理装置は、更新処理を施したUI設定情報を記憶装置218に格納し、当該UI設定情報を基に、更新されたUIを構築する。以下、UI設定情報830に基づいて構築されたUI900について説明する。
図9に示すUI900は、メール送信先のメールアドレスを指定可能なエディットボックス910と、当該メールの件名を入力可能なエディットボックス912とを含んでいる。エディットボックス910には、更新処理後も継続してユーザのカスタマイズ情報「@foo.jp」が表示されており、図5を参照して説明したように、ユーザは、画像データの送信先のメールアドレスをエディットボックス910に入力して、メール送信先を指定することができる。エディットボックス912は、図7の更新処理によって新たに追加されたエディットボックスである。ユーザは、添付ファイルとして画像データを送信する電子メールの件名をエディットボックス912に入力して、電子メールの件名を指定することができる。
図10は、他の実施形態のUIの更新処理のフローチャートを示した図である。以下、図10を参照して他の実施形態のUIの更新処理について説明する。
図10の処理はステップS1001で開始し、ユーザが画像処理装置130a、130b、130cの操作パネルを操作することなどにより、画像データの配信方法を選択するUIを起動する要求が発行され、当該画像処理装置が当該要求を受領することより開始する。本実施形態では、図10の処理が実行される前に、新たなUIが追加されたUIテンプレートが、予め画像処理装置130a、130b、130cの記憶装置220に格納されていることを要する。
ステップS1002では、ユーザが操作パネルを押下することなどによって生成された画像データの配信方法を選択するUIを起動させるイベントが、画像処理装置130a、130b、130cのUI処理部221に通知され、UI処理部221が、UIの更新指令を更新制御処理部213に送信する。ステップS1003では、図6の更新処理が実施される。ステップS1004では、UI処理部221が、ステップS1003の処理で更新されたUI設定情報を基にUIを構築して、画像処理装置130a、130b、130cの操作パネルに表示し、ステップS1005で処理が終了する。
図11は、他の実施形態の画像処理システム1100の概略図である。画像処理システム1100は、ネットワーク1110と、ネットワーク1110に接続される管理端末1120と、画像処理装置1130a、1130b、1130cと、配信サーバ1140とを含んでいる。図1を参照して説明した画像処理システム100と比べて、画像処理システム1100は、配信サーバ1140を備えている点で異なるが、その他の点については、画像処理システム100と同様であるため、以下、共通する点についての説明は省略する。
配信サーバ1140は、画像処理装置1130a、1130b、1130cがスキャニングした画像データの配信処理や、当該画像処理装置のUIの更新処理を行う。具体的には、配信サーバ1140は、画像処理装置1130a、1130b、1130cでスキャニングした画像データを電子メールで送信し、または当該画像データをデータフォルダに保存する等の配信処理を行うプラグインを備えている。また、配信サーバ1140は、UIテンプレートを保有しており、管理端末1120等からの指示により、画像処理装置1130a、1130b、1130cのUI設定情報およびUIテンプレートを用いて、当該画像処理装置のUIを更新する。
なお、配信サーバ1140は、PENTIUM(登録商標)または互換プロセッサを搭載し、WINDOWS(登録商標)200Xサーバ、UNIX(登録商標)、LINUX(登録商標)などのOSの管理下で、本実施形態のプログラムを実行する。また、配信サーバ1140は、プログラムを実行するための実行空間を提供するRAM、プログラムやデータなどを持続的に保持するためのHDDなどを含んでおり、本実施形態のプログラムの実行することにより、後述する機能を配信サーバ1140上に実現する。
図12は、図11に示す画像処理システム1100に含まれる画像処理装置1130aおよび配信サーバ1140の機能ブロック図である。以下、図12を参照して、画像処理装置1130aおよび配信サーバ1140が実装する処理機能について説明する。なお、画像処理装置1130b、1130cについては、画像処理装置1130aと同様の機能を実装するので、以下、より詳細な説明は省略する。
配信サーバ1140は、データ入力処理部1211と、データ仕分け処理部1212と、メール送信プラグイン1230と、フォルダ保存プラグイン1240とを含んでいる。
データ入力処理部1211は、画像処理装置1130aから画像データ、ユーザが選択した機能処理の実行命令、および当該機能処理に関連するプラグインが使用するメール送信先特定情報やファイル保存先特定情報などのメタデータを受領する。また、データ入力処理部1211は、当該画像データおよびメタデータをデータ仕分け処理部1212に渡す。実行命令には、ユーザが選択した機能処理を特定するためのID等の情報が含まれている。
データ仕分け処理部1212は、受領した実行命令から実行すべき機能処理を判断し、該当する機能処理手段であるプラグイン、本実施形態では、メール送信プラグイン1230またはフォルダ保存プラグイン1240に画像データを渡す。
メール送信プラグイン1230は、画像データを添付ファイルとして電子メールで送信する機能手段であり、配信処理部1232と、更新処理部1234とを含んでいる。配信処理部1232は、データ仕分け処理部1212から画像データおよびメール送信先特定情報を受領する。また、配信処理部1232は、受領した画像データを添付ファイルとし、メール送信先特定情報で指定されたメール送信先を指定して、メール送信サーバ(図示せず)に画像データを送信する。更新処理部1234は、後述する更新制御処理部1213の指示により、メール送信プラグイン1230用のUIテンプレートを用いて、メール送信プラグイン1230に関連するUI設定情報を更新する。
フォルダ保存プラグイン1240は、画像データをネットワーク1110に接続されたファイルサーバやPC等のデータフォルダに保存する機能手段であり、配信処理部1242と、更新処理部1244とを含んでいる。配信処理部1242は、データ仕分け処理部1212から画像データおよびファイル保存先情報を受領する。また、配信処理部1242は、ファイル保存先特定情報で指定されたファイル保存先を指定して、画像データをファイルサーバに送信する。更新処理部1244は、後述する更新制御処理部1213の指示により、フォルダ保存プラグイン1240用のUIテンプレートを用いて、フォルダ保存プラグイン1240に関連するUI設定情報を更新する。
また、配信サーバ1140は、更新制御処理部1213と、更新対象選択処理部1214と、更新処理部1215と、UIテンプレートが格納されるHDD等の記憶装置1216とを含んでいる。
更新制御処理部1213は、管理端末1120からUIを更新する指令を受領し、本実施形態の画像処理装置にUI設定情報をバックアップする旨の指令を送付して、UI設定情報をバックアップさせる。そして、更新制御処理部1213は、当該画像処理装置からバックアップされたUI設定情報を取得し、配信サーバ1140のRAM等にバッファリングする。また、更新制御処理部1213は、更新対象選択処理部1214を呼び出し、更新すべきUI設定情報を特定する。さらに、更新制御処理部1213は、当該更新すべきUI設定情報に関連する更新処理部1215、1234、1244を呼び出し、当該UI設定情報に対して更新処理を実施して、更新したUI設定情報を当該画像処理装置に送信する。
UIを更新する指令は、本実施形態のように、管理端末1120から受領することもできる。他の実施形態では、ユーザが画像処理装置の操作パネル等を操作することにより、画像処理装置にUIを起動する要求を発行し、画像処理装置が当該起動要求を受領して、配信サーバ1140にUIの更新指令を送付することもできる。さらに、他の実施形態では、ユーザが画像処理装置の操作パネル等を操作することにより、UIを更新する要求を発行し、当該要求を受領した画像処理装置が、配信サーバ1140にUIの更新指令を送付することもできる。
更新対象選択処理部1214は、更新制御処理部1213から呼び出されると、UIテンプレートが格納された記憶装置1216から該当するUIテンプレートを取得して、バッファリングされたUI設定情報と比較し、更新すべきUI設定情報を特定し、更新制御処理部1213に通知する。本実施形態では、更新対象選択処理部1214は、UI設定情報のバージョン情報およびUIテンプレートのバージョン情報を利用して、UI設定情報の更新が必要か否か判断する。
更新処理部1215は、更新制御処理部1213の指示により、プラグイン共通のUIテンプレートを用いて、UI設定情報のうち各プラグインに共通するUI設定情報に対して更新処理を実施する。
記憶装置1216は、UIを構築するHTML、XHTML、XMLなどのマークアップ言語で記述された構造化文書であるUIテンプレートが格納されている。本実施形態では、図2の実施形態と同様に、UIテンプレートとして、プラグイン共通のUIテンプレート、メール送信プラグイン1230用のUIテンプレート、およびフォルダ保存プラグイン1240用のUIテンプレートが保存されており、これらのUIテンプレートは、UI設定情報を更新するために使用される。
画像処理装置1130aは、データ出力処理部1221と、UI処理部1222と、リストア処理部1223と、バックアップ処理部1224と、UI設定情報が格納される記憶装置1225と、UI設定情報のバックアップデータが格納される記憶装置1226とを含んでいる。
データ出力処理部1221は、画像処理装置1130aに含まれるスキャナ装置(図示せず)がスキャニングし、レベル補正、ガンマ補正、エッジ処理などの画像処理およびA/D変換を施した画像データを受領する。また、データ出力処理部1221は、ユーザが選択した機能処理の実行命令や、当該機能処理に関連するプラグインが使用するメール送信先特定情報やファイル保存先特定情報などのメタデータをUI処理部1222から受領し、配信サーバ1140に送信する。
UI処理部1222は、記憶装置1225に格納されたUI設定情報を基にUIフェースを構築し、画像処理装置1130aの操作パネルにUIを表示する。また、UI処理部1222は、ユーザが操作パネルに表示されたUIを押下することによって発行された機能処理の実行命令等をスキャナ装置に通知し、スキャナ装置にスキャニングを実行させる。さらに、UI処理部1222は、各プラグインが使用するメール送信先特定情報やファイル保存先特定情報などのメタデータをデータ出力処理部1221に送信する。
リストア処理部1223は、配信サーバ1140から更新処理が終了した旨の通知とともに、更新されたUI設定情報を受領すると、当該UI設定情報を記憶装置1225に格納する。
バックアップ処理部1224は、配信サーバ1140からUI設定情報をバックアップする旨の指令を受領すると、記憶装置1225に格納されているUI設定情報をバックアップデータとして記憶装置1226に格納する。また、バックアップ処理部1224は、当該バックアップしたUI設定情報を配信サーバ1140に送信する。本実施形態では、バックアップ処理部1224は、配信サーバ1140の指示により、UI設定情報をバックアップするが、他の実施形態では、バックアップ処理部1224が、定期的にUI設定情報をバックアップしてもよい。
これまで本実施形態につき説明してきたが、本発明は、上述した実施形態に限定されるものではなく、他の実施形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。