(57)【特許請求の範囲】
【請求項１】
媒体上への画像の形成又は媒体上の画像の読み取りのうちの少なくとも一方を含む画像処理を実行する画像処理機構と、
表示装置と、
入力装置と、
ユーザからの入力を受け付けるウェブページを前記表示装置に表示させ、前記入力装置を介してユーザからの入力を受け取るウェブブラウザと、
前記画像処理機構の外部の外部装置からの要求ではなく、前記ウェブブラウザからの要求に応じて前記ウェブページを提供する第１のウェブサーバであって、アプリケーションに対応する設定情報を保持し、前記ウェブブラウザからの要求に応じて、前記アプリケーションが前記設定情報に従って実行されるようにする第１のウェブサーバと、
前記外部装置から、前記設定情報についての更新情報を受け取る第２のウェブサーバと、
前記外部装置から前記第２のウェブサーバに入力された前記更新情報により、前記第１のウェブサーバに保持された前記設定情報を更新する更新手段と、
を有する画像処理装置。
【請求項２】
前記更新手段は、前記第１のウェブサーバが保持する前記設定情報のバックアップを作成してから、前記第１のウェブサーバが保持する前記設定情報を前記更新情報により更新し、この更新が失敗した場合には、前記バックアップにより前記設定情報を復元する、ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記更新手段は、前記第２のウェブサーバが有する機能であり、前記第２のウェブサーバが前記外部装置から前記更新情報を受け取ると、受け取った前記更新情報により前記第１のウェブサーバ内の前記設定情報を更新する、
ことを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
前記第２のウェブサーバは、前記外部装置から入力された前記更新情報を保持し、
前記更新手段は、前記アプリケーションが起動されたときに前記アプリケーションから呼び出され、前記第２のウェブサーバが保持している前記更新情報を用いて前記第１のウェブサーバ内の前記設定情報を更新する、
ことを特徴とする請求項１又は２に記載の画像処理装置。
【請求項５】
前記第２のウェブサーバは、前記外部装置から入力された前記更新情報を保持し、
前記更新手段は、前記第１のウェブサーバが有する機能であり、前記アプリケーションが起動されたときに前記アプリケーションから呼び出され、前記第２のウェブサーバから前記更新情報を取得し、取得した前記更新情報により前記第１のウェブサーバ内の前記設定情報を更新する、
ことを特徴とする請求項１又は２に記載の画像処理装置。
【請求項６】
媒体上への画像の形成又は媒体上の画像の読み取りのうちの少なくとも一方を含む画像処理を実行する画像処理機構と、表示装置と、入力装置と、を有する画像処理装置に設けられるコンピュータを、
ユーザからの入力を受け付けるウェブページを前記表示装置に表示させ、前記入力装置を介してユーザからの入力を受け取るウェブブラウザ、
前記画像処理機構の外部の外部装置からの要求ではなく、前記ウェブブラウザからの要求に応じて前記ウェブページを提供する第１のウェブサーバであって、アプリケーションに対応する設定情報を保持し、前記ウェブブラウザからの要求に応じて、前記アプリケーションが前記設定情報に従って実行されるようにする第１のウェブサーバ、
前記外部装置から、前記設定情報についての更新情報を受け取る第２のウェブサーバ、
前記外部装置から前記第２のウェブサーバに入力された前記更新情報により、前記第１のウェブサーバに保持された前記設定情報を更新する更新手段、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置及びプログラムに関する。
【背景技術】
【０００２】
プリンタやスキャナ、デジタル複写機、デジタル複合機（プリンタ、スキャナ、複写機、ファクシミリ等の機能を併せ持つ装置）等の画像処理装置のローカルのユーザインタフェース（ＵＩ）をウェブ（ＷＷＷ：World Wide Web）技術を用いて実装する例が知られている。この種の画像処理装置では、装置内部にウェブサーバとウェブブラウザをインストールし、ウェブページの形で構成したＵＩ画面情報をウェブサーバからウェブブラウザに供給する。ウェブブラウザは、そのウェブページのデータからＵＩ画面の画像を生成し、画像処理装置が備える表示装置（例えばタッチパネル）に表示させる。また、画像処理装置の持つ各種の機能を利用したカスタムメイドのアプリケーションを、ＨＴＭＬ（HyperText Markup Language）やＪａｖａＳｃｒｉｐｔ（登録商標）等を用いてウェブアプリケーション（以下単に「アプリ」とも呼ぶ）として作成し、画像処理装置にインストールすることも行われている。この場合、ユーザが、画像処理装置のＵＩ画面上のメニュー等からあるアプリの実行を選択すると、装置内部のウェブブラウザからウェブサーバへそのアプリの実行要求が送られ、これに応じてウェブサーバがそのアプリを実行する。画像処理装置内には、各アプリの設定情報が格納されており、各アプリが実行される際には、対応する設定情報が読み込まれる。
【０００３】
特許文献１には、スキャナ装置内に各ユーザのクライアント装置の識別子に対応する個別記憶領域を設け、スキャンした画像を、ユーザが入力したクライアント識別子に対応した個別利用領域に格納することが開示されている。
【０００４】
特許文献２には、ＩＤ番号別に印字出力の管理情報を保持し、外部装置からの問合せに応じてその管理情報を応答する画像形成装置が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平１１−１２０３６９号公報
【特許文献２】特開平１１−１２３８６０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、画像処理装置のローカルのＵＩのために当該装置に内蔵したウェブサーバに対して画像処理装置の外部の装置（例えばインターネット上の装置）からのアクセスを認めると、ウェブサーバ内のウェブページの情報が外部装置に取得されることになり、セキュリティ上好ましくない。例えば、ウェブアプリケーションのスクリプトを含むウェブページが外部装置に取得された場合、そのスクリプトが解析され、画像処理装置に対する攻撃に利用される可能性がある。このため、ローカルＵＩのためのウェブサーバは、外部装置からのＨＴＴＰ（HyperText Transfer Protocol）要求を受け付けないように構成されている。
【０００７】
画像処理装置内のウェブサーバが提供するウェブアプリケーションの設定情報は、そのウェブアプリケーションを画像処理装置のコンピュータにインストールする際に、インストールファイルの一部としてそのウェブサーバの管理下に格納される。この格納された設定情報を更新しようとする場合、ウェブサーバは外部装置からの要求を受け付けないので、ウェブサーバからウェブブラウザを介してローカルＵＩに設定情報更新用のＵＩ画面を表示し、そのＵＩ画面に対して人が設定情報の更新値を手入力する必要がある。
【０００８】
ローカルＵＩ用のウェブサーバが外部装置からの要求を受け付けるようにすれば、設定情報の更新用データを外部装置からウェブサーバにアップロードし、設定情報を更新することができるので、ローカルＵＩに対して更新内容を手入力する手間がない。しかし、前述の通り、ローカルＵＩ用のウェブサーバに外部装置からのアクセスを認めると、セキュリティ上の問題が生じる。
【０００９】
本発明は、画像処理装置内でアプリケーションを提供するウェブサーバのセキュリティを確保しつつも、そのアプリケーションの設定情報を外部装置から更新できるようにすることを目的とする。
【課題を解決するための手段】
【００１０】
請求項１に係る発明は、媒体上への画像の形成又は媒体上の画像の読み取りのうちの少なくとも一方を含む画像処理を実行する画像処理機構と、表示装置と、入力装置と、ユーザからの入力を受け付けるウェブページを前記表示装置に表示させ、前記入力装置を介してユーザからの入力を受け取るウェブブラウザと、前記画像処理機構の外部の外部装置からの要求ではなく、前記ウェブブラウザからの要求に応じて前記ウェブページを提供する第１のウェブサーバであって、アプリケーションに対応する設定情報を保持し、前記ウェブブラウザからの要求に応じて、前記アプリケーションが前記設定情報に従って実行されるようにする第１のウェブサーバと、前記外部装置から、前記設定情報についての更新情報を受け取る第２のウェブサーバと、前記外部装置から前記第２のウェブサーバに入力された前記更新情報により、前記第１のウェブサーバに保持された前記設定情報を更新する更新手段と、を有する画像処理装置である。
【００１１】
請求項２に係る発明は、前記更新手段は、前記第１のウェブサーバが保持する前記設定情報のバックアップを作成してから、前記第１のウェブサーバが保持する前記設定情報を前記更新情報により更新し、この更新が失敗した場合には、前記バックアップにより前記設定情報を復元する、ことを特徴とする請求項１に記載の画像処理装置である。
【００１２】
請求項３に係る発明は、前記更新手段は、前記第２のウェブサーバが有する機能であり、前記第２のウェブサーバが前記外部装置から前記更新情報を受け取ると、受け取った前記更新情報により前記第１のウェブサーバ内の前記設定情報を更新する、ことを特徴とする請求項１又は２に記載の画像処理装置である。
【００１３】
請求項４に係る発明は、前記第２のウェブサーバは、前記外部装置から入力された前記更新情報を保持し、前記更新手段は、前記アプリケーションが起動されたときに前記アプリケーションから呼び出され、前記第２のウェブサーバが保持している前記更新情報を用いて前記第１のウェブサーバ内の前記設定情報を更新する、ことを特徴とする請求項１又は２に記載の画像処理装置である。
【００１４】
請求項５に係る発明は、前記第２のウェブサーバは、前記外部装置から入力された前記更新情報を保持し、前記更新手段は、前記第１のウェブサーバが有する機能であり、前記アプリケーションが起動されたときに前記アプリケーションから呼び出され、前記第２のウェブサーバから前記更新情報を取得し、取得した前記更新情報により前記第１のウェブサーバ内の前記設定情報を更新する、ことを特徴とする請求項１又は２に記載の画像処理装置である。
【００１５】
請求項６に係る発明は、媒体上への画像の形成又は媒体上の画像の読み取りのうちの少なくとも一方を含む画像処理を実行する画像処理機構と、表示装置と、入力装置と、を有する画像処理装置に設けられるコンピュータを、ユーザからの入力を受け付けるウェブページを前記表示装置に表示させ、前記入力装置を介してユーザからの入力を受け取るウェブブラウザ、前記画像処理機構の外部の外部装置からの要求ではなく、前記ウェブブラウザからの要求に応じて前記ウェブページを提供する第１のウェブサーバであって、アプリケーションに対応する設定情報を保持し、前記ウェブブラウザからの要求に応じて、前記アプリケーションが前記設定情報に従って実行されるようにする第１のウェブサーバ、前記外部装置から、前記設定情報についての更新情報を受け取る第２のウェブサーバ、前記外部装置から前記第２のウェブサーバに入力された前記更新情報により、前記第１のウェブサーバに保持された前記設定情報を更新する更新手段、として機能させるためのプログラムである。
【発明の効果】
【００１６】
請求項１，３乃至６に係る発明によれば、画像処理装置内でアプリケーションを提供するウェブサーバのセキュリティを確保しつつも、そのアプリケーションの設定情報を外部装置から更新できる。
【００１７】
請求項２に係る発明によれば、設定情報の更新が失敗した場合に、元の設定情報に戻してアプリケーションを実行することができる。
【図面の簡単な説明】
【００１８】
【図１】従来の画像処理装置の機能構成の例を示す図である。
【図２】第１の実施形態の画像処理装置の機能構成の例を示す図である。
【図３】第１の実施形態における更新部の処理手順の例を示す図である。
【図４】第２の実施形態の画像処理装置の機能構成の例を示す図である。
【図５】第２の実施形態における更新部の処理手順の例を示す図である。
【図６】ローカル用ウェブサーバが更新部を備える例における、画像処理装置の機能構成の例を示す図である。
【発明を実施するための形態】
【００１９】
まず図１を参照して、ローカルＵＩをウェブ技術により構成した従来の画像処理装置の機能構成の例を説明する。
【００２０】
図１に示す画像処理装置１００のうちのプリントエンジン１１０は、紙等の媒体に対して画像を形成（印刷）するための機構である。またスキャンエンジン１２０は、媒体上の画像を光学的に読み取り、読み取った画像を表す画像データを生成する機構である。
【００２１】
処理制御部１３０は、プリントエンジン１１０及びスキャンエンジン１２０を制御し、ユーザから指示された処理を実行する。例えば、処理制御部１３０は、ネットワークを介してパーソナルコンピュータ等から受信した印刷データをプリントエンジン１１０が受付可能な画像データに変換し、その画像データをプリントエンジン１１０に供給して印刷させる。また処理制御部１３０は、スキャンエンジン１２０を制御して原稿の画像を読み取り、読み取り結果の画像データをローカルの記憶領域に保存したり、ネットワーク上のパーソナルコンピュータ等に送信したりする。また、処理制御部１３０は、スキャンエンジン１２０で読み取った画像をプリントエンジン１１０に印刷させることで、複写処理を実現する。
【００２２】
ここでは、画像処理装置１００として、印刷、スキャン、複写の機能を備えるものを例示したが、これは一例にすぎない。画像処理装置１００は、例えばこのほかにファクシミリ送受信の機能を有していてもよいし、印刷のみ、スキャンのみ等の単機能装置であってもよい。この点は、後述する本発明の各実施形態についても同様である。
【００２３】
タッチパネル１４０は、画像処理装置１００のローカルＵＩのための装置であり、ＵＩ画面を表示したり、そのＵＩ画面に対するユーザからのタッチ操作による入力を受け付けたりする。なお、画像処理装置１００は、ローカルＵＩのための装置として、タッチパネルの代わりに、又はこれに加えて、表示装置と機械的なボタンやテンキーによる入力装置を有していてもよい。
【００２４】
タッチパネル１４０（又はローカルＵＩ用の表示装置）に表示されるＵＩ画面は、画像処理装置１００にインストールされたローカル用ウェブサーバ１５０からウェブページの形で提供される。すなわち、ＵＩ用のウェブページは、ウェブサーバ１５０から、同じく画像処理装置１００にインストールされたウェブブラウザ１６０に供給され、ウェブブラウザ１６０がそのウェブページのデータからＵＩ画面の画像を生成し、その画像をタッチパネル１４０に表示する。また、ウェブブラウザ１６０は、そのＵＩ画面に対するタッチ操作によるユーザの入力を取得し、その入力に応じたＨＴＴＰ要求をローカル用ウェブサーバ１５０に送る。
【００２５】
ウェブブラウザ１６０は、例えば起動時にメインメニュー画面を表すウェブページを要求するＨＴＴＰ要求をローカル用ウェブサーバ１５０に送り、これに応じて提供されたウェブページをタッチパネル１４０に表示する。ユーザがそのメインメニューのウェブページ上で所望のメニューを選択すると、ウェブブラウザ１６０は、選択されたメニューに設定されたＵＲＬ（Uniform Resource Locator）から生成したＨＴＴＰ要求をローカル用ウェブサーバ１５０に送る。選択されたメニューに設定されたＵＲＬが例えば別のメニューを指している場合、その別メニューのウェブページがローカル用ウェブサーバ１５０からウェブブラウザ１６０に返される。また、選択されたメニューに設定されたＵＲＬがウェブアプリケーション（図１では「アプリ」と表記）を指している場合、ローカル用ウェブサーバ１５０はそのアプリを呼び出す。呼び出されたアプリは処理を実行し、その処理の結果をローカル用ウェブサーバ１５０に返す。ローカル用ウェブサーバ１５０は、アプリの処理結果を含むウェブページを生成し、ウェブブラウザ１６０に返す。
【００２６】
図示例では、ローカル用ウェブサーバ１５０は、アプリ１、・・・、ＮのＮ個のアプリを提供可能であり、それら各アプリ１、・・・、Ｎにそれぞれ対応する設定情報１５２−１、・・・、１５２−Ｎ（以下区別の必要がないときは「設定情報１５２」と総称する）を保持している。ローカル用ウェブサーバ１５０から呼び出されたアプリは、対応する設定情報１５２に従って処理を実行する。
【００２７】
アプリの一例としては、ユーザのパスワード認証を実行するものがある。また、ユーザが登録した印刷データのリストを当該画像処理装置１００やこれと連携するネットワーク上の他の画像処理装置から収集し、収集したリストを併合して印刷対象選択画面を生成するアプリもある。このアプリは、画像処理装置１００と連携する他の画像処理装置のリストを設定情報として有しており、この設定情報を参照して連携先の各画像処理装置から当該ユーザの印刷データのリストを収集する。また、印刷部数や両面印刷の有無等の印刷設定用の画面を生成するアプリも考えられる。このアプリが提供する初期の印刷設定画面は、ユーザが登録したデフォルトの印刷設定を表示しており、ユーザは必要に応じ、その設定画面上で、設定項目の値をデフォルト値から変更する。このアプリについては、各ユーザのデフォルトの印刷設定の情報が、設定情報としてローカル用ウェブサーバ１５０に保持される。
【００２８】
以上に説明した画像処理装置１００の構成要素のうち破線で囲んだ図中の要素、すなわち処理制御部１３０、ローカル用ウェブサーバ１５０、ウェブブラウザ１６０及びアプリ群は、画像処理装置１００に内蔵されるコンピュータでそれら各要素に対応するプログラムを実行することにより、それぞれその機能を実現する。
【００２９】
前述の通り、ローカル用ウェブサーバ１５０は、当該ウェブサーバ１５０内の情報の保護等のセキュリティ上の理由から、画像処理装置１００の外部にある外部装置２００からの要求を受け付けない。このため、ローカル用ウェブサーバ１５０が管理する各アプリの設定情報１５２を、外部装置２００から指示により更新することはできない。従来の構成では、それら設定情報は、タッチパネル１４０から手入力で変更するよりない。
【００３０】
そこで、以下に、ローカル用ウェブサーバ１５０のセキュリティを確保しつつ、アプリの設定情報を更新するための仕組みを提案する。
＜第１の実施形態＞
【００３１】
まず図２を参照して、本発明に係る画像処理装置の第１の実施形態を説明する。図２の画像処理装置１００の構成要素のうち、図１に示した構成要素と同様のものには同一符号を付し、重複した説明を省略する。
【００３２】
図示のように、第１の実施形態の画像処理装置１００は、ローカル用ウェブサーバ１５０に加え、設定更新用ウェブサーバ１８０を有する。設定更新用ウェブサーバ１８０は、画像処理装置１００が内蔵するコンピュータ上で、以下に説明する設定更新用ウェブサーバ１８０の機能を記述したプログラムを実行することにより実現される。
【００３３】
設定更新用ウェブサーバ１８０は、インターネットやイントラネット上の装置からのＨＴＴＰ要求を受け付ける設定となっており、画像処理装置１００の外部にある外部装置２００から、ローカル用ウェブサーバ１５０が管理するアプリの設定情報１５２を更新する要求を受け付ける。
【００３４】
外部装置２００には、アプリの設定情報１５２の更新のための設定ツール（図示省略）がインストールされている。この設定ツールは、例えば、設定情報１５２の更新内容を規定する設定更新情報１８２の作成を支援する機能や、作成した設定更新情報１８２を設定更新用ウェブサーバ１８０にアップロードする機能を有する。
【００３５】
設定ツールにより作成される設定更新情報１８２は、対応するアプリの設定情報１５２の全項目の更新後の値を含んだもの（すなわち、その設定情報１５２と完全に置き換えられるもの）であってもよい。別の例では、設定更新情報１８２は、その設定情報１５２のうちの更新される項目の値を含むが、更新されない項目の値は含まないものであってもよい。外部装置２００の操作者（例えば画像処理装置の保守を請け負う保守作業者）は、例えば各画像処理装置１００にインストールされたアプリについての情報を管理するデータベース（図示省略）を参照して、対象の画像処理装置１００内の変更対象の設定情報１５２の内容を確認しつつ、設定更新情報１８２を作成してもよい。
【００３６】
設定更新情報１８２は、どのアプリに対応するものかを示す一意な識別情報（「アプリ識別情報」と呼ぶ）に対応づけられる。例えば、ローカル用ウェブサーバ１５０における各アプリの設定情報１５２の格納場所のパスがそれぞれ決まっているのならば、そのパスの情報をそのアプリの識別情報として用いてもよい（ただしこれは一例に過ぎない）。
【００３７】
設定ツールのアップロード機能は、設定更新情報１８２とアプリ識別情報とを互いに対応づけて、例えばＨＴＴＰのＰＯＳＴコマンドを用いて、設定更新用ウェブサーバ１８０に送信する。また、設定ツールは、複数のアプリの設定更新情報１８２（及びそれぞれに対応するアプリ識別情報）をアーカイブファイルにまとめ、アップロードする機能を有していてもよい。
【００３８】
設定更新用ウェブサーバ１８０は、外部装置２００から設定更新の要求を受け付ける前に、外部装置２００の認証を行ってもよい。例えば、外部からのアクセスはログイン認証ページに対するアクセスのみを認めるようにし、外部装置２００を操作するユーザがそのログイン認証ページに対して自らの正しいユーザ認証情報（例えばユーザＩＤとパスワードのペア）を入力して初めて、設定更新情報１８２のアップロードを受け付けるウェブページを外部装置２００に提供するようにしてもよい。ユーザが、このアップロード用ページに対して、用意した設定更新情報１８２をアップロード対象として指定し、送信操作を行うことで、外部装置２００から設定更新用ウェブサーバ１８０に対して、その設定更新情報１８２がアップロードされる。
【００３９】
設定更新用ウェブサーバ１８０は、ローカル用ウェブサーバ１５０と例えばＨＴＴＰを用いて通信する。ローカル用ウェブサーバ１５０は、画像処理装置１００の外部からのＨＴＴＰ要求は受け付けないが、画像処理装置１００内の同じコンピュータ上にあるシステム（例えばウェブブラウザ１６０）からのＨＴＴＰ要求は受け付ける。例えば、ローカル用ウェブサーバ１５０は、localhost、127.0.0.1、 ::1、といったループバックアドレスからのリクエストのみ受け付けるように構成されている。したがって、ローカル用ウェブサーバ１５０は、同じコンピュータ上のシステムであるや設定更新用ウェブサーバ１８０からの要求も受け付ける。この例では、設定更新用ウェブサーバ１８０は、ＨＴＴＰのやりとりによりローカル用ウェブサーバ１５０内の設定情報１５２を更新する。なお、ローカル用ウェブサーバ１５０が受け付ける要求の送信元アドレスはループバックアドレスに限られるものではなく、規約上外部からの要求の送信元として用いられることのない、あらかじめ定めたアドレスであってもよい。設定更新用ウェブサーバ１８０は、このようにあらかじめ定めたアドレスを送信元とする更新要求をローカル用ウェブサーバ１５０に送る。
【００４０】
外部装置２００から設定更新情報１８２のアップロードの要求（例えばＰＯＳＴコマンドを用いたもの）を受け取った設定更新用ウェブサーバ１８０は、その要求に応じて、更新部１８４を起動する。すなわち、設定更新情報１８２のアップロード先を示すＵＲＬは、更新部１８４のプログラムを指し示しており、アップロード要求により更新部１８４が実行されることになる。更新部１８４は、その要求と共に送られてきた設定更新情報１８２を用いて、ローカル用ウェブサーバ１５０に管理された、対応するアプリの設定情報１５２を更新する。この更新処理の例を図３に示す。
【００４１】
図３の処理では、更新部１８４は、まず、ユーザが画像処理装置１００を操作している状態かどうかを調べる（Ｓ１０）。画像処理装置１００の制御部（例えば処理制御部１３０）は、タッチパネル１４０等の入力部がユーザにより操作されているかどうかを監視しており、Ｓ１０で更新部１８４はその制御部に、画像処理装置１００が現在ユーザの操作を受けているかどうかを問い合わせる。Ｓ１０の問合せの結果、ユーザが画像処理装置１００を操作中である場合（Ｓ１０の判定結果がＹｅｓ）、更新部１８４は、設定情報１５２の更新は行わず、更新処理が失敗した旨の応答情報を生成し、設定更新用ウェブサーバ１８０はこの応答情報を、設定更新のＨＴＴＰ要求に対する応答として、外部装置２００の設定ツールに返す（Ｓ１２）。外部装置２００の設定ツールは、設定更新用ウェブサーバ１８０から更新失敗の応答情報を受け取ると、あらかじめ定められた時間だけ待った後、設定更新の要求を再送信（リトライ）する。リトライの回数に上限を設定しておき、その上限回数までリトライしても更新成功の応答を受け取ることができなかった場合に、画像処理装置１００がビジー（ユーザ操作中）で設定更新ができない旨のメッセージを設定ツールが出力するようにしてもよい。
【００４２】
Ｓ１０で、画像処理装置１００がユーザから操作されていないと判定された場合（判定結果がＮｏ）、更新部１８４は、画像処理装置１００の制御部に対して、画像処理装置１００の操作ロックを要求し、この要求に応じて制御部は画像処理装置１００を操作ロック状態、すなわち各入力部からのユーザの操作を受け付けない状態にする（Ｓ１４）。そして、この操作ロック状態で、Ｓ１６以降の更新処理を実行する。
【００４３】
このように図３の手順では、ユーザが画像処理装置１００を操作している場合には設定情報１５２の更新を行わず、操作していない場合には、画像処理装置１００を操作ロック状態としてから設定情報１５２の更新を行う。ユーザが操作中の場合、更新対象の設定情報１５２を用いたアプリの処理や、その設定情報１５２に対する書込が行われる可能性があり、このようなアプリ処理や書込の間にその設定情報１５２を更新すると、ユーザにとって予期せぬ処理結果となる可能性がある。そこで、この手順では，そのような予期せぬ結果を招かないよう、画像処理装置１００をユーザに操作されない状態としてから、設定情報１５２を更新するようにしている。
【００４４】
画像処理装置１００をロック状態とした後、更新部１８４は、設定更新情報１８２と共に受け取ったアプリ識別情報に対応するアプリの設定情報１５２をローカル用ウェブサーバ１５０から取得する（Ｓ１６）。例えばアプリ識別情報が当該アプリの設定情報１５２の格納場所のパスを示している場合、更新部１８４は、そのパスに格納されるデータを要求するＨＴＴＰ要求をローカル用ウェブサーバ１５０に送ればよい。そうでない場合は、更新部１８４は、アプリ識別情報と当該アプリの設定情報１５２のパスとの対応関係の情報（この情報は、更新部１８４からアクセス可能な形で画像処理装置１００内に記憶されている）を参照することで、設定更新情報１８２に対応する設定情報１５２のパスを求め、そのパスのデータをローカル用ウェブサーバ１５０に要求すればよい。
【００４５】
次に更新部１８４は、Ｓ１６で取得した設定情報１５２のバックアップを作成して保存する（Ｓ１８）。
【００４６】
次に更新部１８４は、ローカル用ウェブサーバ１５０に対して更新要求を発した回数が、あらかじめ定めた上限値未満であるか否かを判定し（Ｓ２０）、上限値未満であれば、その更新要求の回数を１増加させ、ローカル用ウェブサーバ１５０に対し、対応する設定情報１５２の更新を要求する（Ｓ２２）。例えば、設定更新情報１８２が、対応する設定情報１５２の全項目の値を設定情報１５２と同じ書式で表したもの（すなわち設定情報１５２の更新バージョン）である場合、ローカル用ウェブサーバ１５０内のその設定情報１５２をその設定更新情報１８２に置き換えることで、設定情報１５２の更新が達成される。このために、更新部１８４は、例えば、Ｓ１６で特定した設定情報１５２のパスに対してその設定更新情報１８２を書き込む要求（例えばＨＴＴＰのＰＵＴコマンド）をローカル用ウェブサーバ１５０に送ればよい。また、設定更新情報１８２が、設定情報１５２のうち更新された項目の値しか含まない場合は、更新部１８４は、Ｓ１６で取得した更新前の設定情報１５２のうちの更新対象項目の値を、その設定更新情報１８２内の更新対象項目の値により更新することで、更新後の設定情報１５２を作成し、Ｓ１６で特定した設定情報１５２のパスに対してその更新後の設定情報１５２を書き込む要求を、ローカル用ウェブサーバ１５０に送ればよい。
【００４７】
ローカル用ウェブサーバ１５０は、その更新部１８４からの書き込みの要求に応じて、保持している設定情報１５２を、その要求に付随する更新後の設定情報へと書き換える。ここで、その書き換えが成功裏に完了すると、更新部１８４に成功の旨を応答し、何らかの障害により書き換えが失敗すると、更新部１８４に失敗の旨を応答する。
【００４８】
更新部１８４は、Ｓ２２の更新要求に対するローカル用ウェブサーバ１５０からの応答が処理成功を示すものか否かを判定する（Ｓ２４）。その判定結果がＹｅｓ（処理成功）である場合には、外部装置２００の設定ツールに対して、更新要求に対する応答として、更新が成功した旨の応答を返す（Ｓ２６）。Ｓ２４の判定結果がＮｏの場合、更新部１８４は、Ｓ２０に戻る。
【００４９】
Ｓ２０で更新要求の回数が上限値未満であることが分かれば、更新部１８４は更新要求のリトライを行う。そうでなければ、更新部１８４は、設定情報１５２の更新を断念し、Ｓ１８でバックアップしておいた更新前の設定情報１５２をローカル用ウェブサーバ１５０に書き戻す（Ｓ２８）。この書き戻しは、例えば、ＨＴＴＰのＰＵＴコマンドを用いる等の方法で、設定情報１５２のパスに対してその更新前の設定情報１５２を書き込むようローカル用ウェブサーバ１５０に要求を行うことで実現される。このように上限回数までリトライしても更新が成功しなかった場合、更新部１８４は、外部装置２００の設定ツールに対して、更新要求に対する応答として、何らかの事情で更新ができない旨を示す応答を返す（Ｓ３０）。この応答は、Ｓ１２における画像処理装置１００が操作中である場合の更新失敗応答と同様のものでもよく、この場合、この応答を受け取った外部装置２００の設定ツールは、再度設定更新用ウェブサーバ１８０に更新要求を送る。別の例として、Ｓ３０の更新不可を示す応答をＳ１２の更新失敗応答とは別のものとし、Ｓ３０の応答を受け取った外部装置２００の設定ツールが、更新要求のリトライをせずに、何らかの事情で設定情報１５２の更新が不可能になっている旨のメッセージを画面表示するようにしてもよい。
【００５０】
Ｓ２６又はＳ３０の後、更新部１８４は、画像処理装置１００の制御部に対して、操作ロック状態の解除を要求する（Ｓ３２）。これにより画像処理装置１００は再びユーザの操作が受付可能な状態に戻る。また、このとき更新部１８４は、外部装置２００から受け取った設定更新情報１８２を設定更新用ウェブサーバ１８０内から削除してもよい。設定更新情報１８２を削除することで、万が一設定更新用ウェブサーバ１８０に不正アクセスがなされても、設定更新情報１８２が漏洩するリスクが低くなる。
【００５１】
なお、更新部１８４は、図３の手順を開始する前に、外部装置２００から受け取った設定更新情報１８２の妥当性を検証し、設定更新情報１８２が妥当なものでない場合は、Ｓ１０以下の処理に進まずに、設定更新情報１８２が妥当でない旨を示す応答を外部装置２００に返してもよい。ここでの妥当性の検証では、例えば、設定更新情報１８２があらかじめ定められた設定更新情報の構文に即しているかをチェックする。
【００５２】
以上説明したように、図２に示す第１の実施形態の装置構成によれば、外部装置２００はローカル用ウェブサーバ１５０に直接アクセスできないので、ローカル用ウェブサーバ１５０が提供するウェブページやアプリケーション等のセキュリティは確保される。その一方、外部装置２００は、画像処理装置１００内の設定更新用ウェブサーバ１８０にアクセスすることで、ローカル用ウェブサーバ１５０内のアプリの設定情報１５２の更新を要求することができる。仮に設定更新用ウェブサーバ１８０に不正アクセスがあったとしても、設定更新用ウェブサーバ１８０はローカル用ウェブサーバ１５０が有するＵＩの情報やアプリケーションを有していないので、それらの情報が漏洩したり不正利用されたりする可能性はきわめて低い。
＜第２の実施形態＞
【００５３】
次に、図４を参照して、第２の実施形態を説明する。図４において、図２に示した第１の実施形態の構成要素と同様の構成要素には同一符号を付し、重複した説明を省略する。
【００５４】
この第２の実施形態でも、上述の第１の実施形態と同様、設定情報１５２の更新要求を外部装置２００から受け付ける設定更新用ウェブサーバ１８０Ａを画像処理装置１００に設ける。上述の第１の実施形態では、設定更新用ウェブサーバ１８０が外部装置２００から更新要求を受けたことをトリガとして更新部１８４を起動し、その更新部１８４が設定情報１５２の更新処理を行った。これに対し、この第２の実施形態では、ローカル用ウェブサーバ１５０が起動したアプリが、自分の有する更新部１７２の機能を呼び出し、この更新部１７２がそのアプリの設定情報１５２の更新処理を行う。
【００５５】
この実施形態の設定更新用ウェブサーバ１８０Ａは、外部装置２００の設定ツールから、あるアプリ（図示例では「アプリ１」）についての設定更新情報１８２を含む更新要求を受け取ると、その設定更新情報１８２をコンテンツの形式に変換し、その設定更新情報１８２に対応するアプリの識別情報と対応づけて格納する。そして、外部装置２００の設定ツールに対して格納成功の旨を応答する。なお、設定更新用ウェブサーバ１８０Ａは、第１の実施形態と同様、受け取った設定更新情報１８２の妥当性を検証（例えば構文チェック）を行い、設定更新情報１８２が妥当なものでない場合は、その設定更新情報１８２を格納せずに、設定更新情報１８２が妥当でない旨を示す応答を外部装置２００に返してもよい。
【００５６】
一方、タッチパネル１４０に表示されたＵＩ画面に対するユーザの入力に応じてローカル用ウェブサーバ１５０がアプリを起動すると、起動されたアプリが更新部１７２を起動する。このときアプリは、更新部１７２に対し、自分の識別情報を渡す。
【００５７】
起動された更新部１７２は、設定更新用ウェブサーバ１８０Ａが保持している当該アプリの設定更新情報１８２を用いて、ローカル用ウェブサーバ１５０が保持する当該アプリの設定情報１５２を更新する。この更新処理の詳細な手順の一例を図５に示す。
【００５８】
図５の処理では、まず起動された更新部１７２は、ローカル用ウェブサーバ１５０から更新対象のアプリの設定情報１５２を取得すると共に（Ｓ４０）、設定更新用ウェブサーバ１８０Ａからそのアプリに対応する設定更新情報１８２を取得する（Ｓ４２）。更新部１７２は、自分を呼び出したアプリから当該アプリの識別情報を取得しているので、Ｓ４０及びＳ４２では，その識別情報に対応づけて格納されている設定情報１５２及び設定更新情報１８２を取得する。
【００５９】
次に更新部１７２は、Ｓ４０とＳ４２で取得した設定情報１５２及び設定更新情報１８２から、当該設定情報１５２に更新が必要か否かを判定する（Ｓ４４）。Ｓ４２で当該アプリに対応する設定更新情報１８２が設定更新用ウェブサーバ１８０Ａから取得できなかった場合（すなわち設定更新情報１８２がそもそも存在しない場合）は、Ｓ４４では設定情報１５２の更新は不要と判定される。また、Ｓ４０で取得した設定情報１５２が、Ｓ４２で取得した設定更新情報１８２が示す更新内容を既に反映済みのものである場合もＳ４４では設定情報１５２の更新は不要と判定される。これは、過去にその設定更新情報１８２に従って設定情報１５２を更新した後、設定更新用ウェブサーバ１８０Ａ内のその設定更新情報１８２が、外部装置２００からの当該アプリについての新たな設定更新情報により上書きされていない場合に生じる。
【００６０】
Ｓ４４で更新不要と判定した場合、更新部１７２は呼び出し元のアプリに対して処理完了を通知し、処理を終える。
【００６１】
Ｓ４４で更新が必要と判定した場合、更新部１７２は、第１の実施形態のＳ１４（図３）と同様、画像処理装置１００の制御部に対して画像処理装置１００のロックを要求する（Ｓ４６）。また、Ｓ４０で取得した設定情報１５２をバックアップする（Ｓ４８）。
【００６２】
その後の処理は、第１の実施形態のＳ２０以降の処理と似ている。すなわち更新部１７２は、ローカル用ウェブサーバ１５０に更新要求を発した回数が上限回数未満であるか否かを判定し（Ｓ５０）、上限回数未満であれば、その更新要求の回数のカウント値を１増加させ、ローカル用ウェブサーバ１５０内の当該アプリの設定情報１５２を更新する（Ｓ５２）。ここで、設定更新情報１８２が、対応する設定情報１５２の全項目の値を設定情報１５２と同じ書式で表したものであれば、更新部１７２は、アプリから受け取った識別情報に対応するパスに対応する格納場所に、その設定更新情報１８２を単に上書きすればよい。また、設定情報１５２のうち更新された項目の値しか含まない設定更新情報１８２の場合は、更新部１７２は、Ｓ４０で取得した更新前の設定情報１５２のうちの更新対象項目の値を、その設定更新情報１８２内の更新対象項目の値により更新することで、更新後の設定情報１５２を作成し、その設定情報１５２のパスに対して更新後の設定情報１５２を書き込めばよい。
【００６３】
更新部１７２は、設定情報１５２の更新が成功したか否かを判定し（Ｓ５４）、その判定結果が「成功」である場合には、画像処理装置１００のロックを解除し（Ｓ５６）、呼び出し元のアプリに対して更新成功の旨を応答する。これを受けてそのアプリは自らの処理を実行する。Ｓ５４の判定結果がＮｏの場合、更新部１７２は、Ｓ５０に戻る。
【００６４】
Ｓ５０で更新要求の回数が上限値未満であることが分かれば、更新部１７２は更新要求のリトライを行う。そうでなければ、更新部１７２は、設定情報１５２の更新を断念し、Ｓ４８でバックアップしておいた更新前の設定情報１５２をローカル用ウェブサーバ１５０に書き戻す（Ｓ５８）。Ｓ５８の後、更新部１７２は、画像処理装置１００のロックを解除し（Ｓ５６）、呼び出し元のアプリに対して更新失敗の応答を行う。
【００６５】
この第２の実施形態でも、第１の実施形態同様、ローカル用ウェブサーバ１５０は、外部装置２００から直接アクセスを受け付けない。それでいて、設定更新用ウェブサーバ１８０Ａと更新部１７２が設けられたことにより、ローカル用ウェブサーバ１５０が管理するアプリの設定情報１５２が、ネットワークを介した外部装置２００からの指示によって更新することができる。また、この第２の実施形態では、アプリの起動時に，更新部１７２がそのアプリの設定情報１５２に更新があるか否かをチェックし、更新があれば、その更新を行ってから、アプリの処理が開始される。
【００６６】
図４の例では、更新部１７２がアプリ自身の機能であったが、これは必須のことではない。アプリとは別のプログラムとして用意された更新部１７２をそのアプリが呼び出すようにしてもよい。この変形の１つの例として、図６に示すように、ローカル用ウェブサーバ１５０が更新部１５４のサービスを提供する構成も考えられる。この場合、タッチパネル１４０及びウェブブラウザ１６０を介したユーザの指示によりウェブアプリケーション（アプリ）が起動された場合、そのアプリは、最初に、ローカル用ウェブサーバ１５０に対して更新部１５４のサービスを要求する。更新部１５４が行うサービスの処理手順は、図５に示したものと同様でよい。
【００６７】
以上に例示した画像処理装置１００の、破線で囲んだ内蔵コンピュータ上の機能モジュール群は、その内蔵コンピュータに各機能モジュールの処理を表すプログラムを実行させることにより実現してもよい。ここで言う内蔵コンピュータは、例えば、ハードウエアとして、ＣＰＵ等のマイクロプロセッサ、ランダムアクセスメモリ（ＲＡＭ）およびリードオンリメモリ（ＲＯＭ）等のメモリ（一次記憶）、ＨＤＤ（ハードディスクドライブ）やＳＳＤ（ソリッドステートドライブ）、フラッシュメモリ等の二次記憶を制御する二次記憶コントローラ、各種Ｉ／Ｏ（入出力）インタフェース、無線又は有線のネットワークとの接続のための制御を行うネットワークインタフェース等が、たとえばバスを介して接続された回路構成を有する。また、そのバスに対し、例えばＩ／Ｏインタフェース経由で、ＣＤやＤＶＤ、ブルーレイディスクなどの可搬型ディスク記録媒体に対する読み取り及び／又は書き込みのためのディスクドライブ、フラッシュメモリなどの各種規格の可搬型の不揮発性記録媒体に対する読み取り及び／又は書き込みのためのメモリリーダライタ、などが接続されてもよい。上に例示した各機能モジュールの処理内容が記述されたプログラムがＣＤやＤＶＤ等の記録媒体を経由して、又はネットワーク等の通信手段経由で、フラッシュメモリやＨＤＤ等の二次記憶装置に保存され、コンピュータにインストールされる。二次記憶装置に記憶されたプログラムがＲＡＭに読み出されＣＰＵ等のマイクロプロセッサにより実行されることにより、上に例示した機能モジュール群が実現される。
【符号の説明】
【００６８】
１００  画像処理装置、１１０  プリントエンジン、１２０  スキャンエンジン、１３０  処理制御部、１４０  タッチパネル、１５０  ローカル用ウェブサーバ、１５２  設定情報、１５４  更新部、１６０  ウェブブラウザ、１７２  更新部、１８０，１８０Ａ  設定更新用ウェブサーバ、１８２  設定更新情報、１８４  更新部、２００  外部装置。
【図１】
0006327001.tif 000002
【図２】
0006327001.tif 000003
【図３】
0006327001.tif 000004
【図４】
0006327001.tif 000005
【図５】
0006327001.tif 000006
【図６】
0006327001.tif 000007