説明

画像処理装置及びその制御方法

【課題】 Webサーバにより提供される画面を表示するためのWebブラウザを備えた情報処理装置において、Webサーバとの通信が正しくできない場合、情報処理装置の機能が利用できない。
【解決手段】 画像処理装置は、Webサーバが送信した操作画面のHTMLデータを受信できたときは、当該操作画面のHTMLデータをレンダリングして操作部に表示する。一方、通信エラーにより操作画面のHTMLデータを受信できなかったときは、画像処理装置が有する少なくとも1つの画像処理機能に係る操作を行うための代替の操作画面を操作部に表示する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置及びその制御方法に関する。
【背景技術】
【0002】
近年、スキャナやプリンタを備えたMFP(Multi Function Peripheral)のような周辺機器デバイスでも、Webブラウザを備えているものがある。
【0003】
特許文献1には、Webサーバにより提供される画面をMFPのWebブラウザに表示し、操作画面としてユーザからの各種指示を受け付け可能であることが記載されている。特許文献1によれば、MFPが備える各機能を利用するための指示を入力する操作画面を、Webサーバが提供する。即ち、MFPのユーザは、Webブラウザ上に表示された操作画面を介して、MFPに対する指示を入力する。そして、入力された指示はMFPのWebブラウザによってWebサーバに通知される。通知を受けたWebサーバは、ユーザから入力された指示の内容に従って、MFPに対して各種処理の実行を依頼する。そして、この依頼を受けたMFPは、依頼された処理を実行する。これにより、MFPを操作するための全メニューデータをMFP内で保持しておく必要がなくなり、またメニューデータの変更もWebサーバのみの変更で済む。
【0004】
一方、情報処理装置とWebサーバの関係は、複数の情報処理装置が1つのWebサーバに接続する形式が多い。そのため、複数の情報処理装置が同時に接続を行った際には、Webサーバの負荷が大きくなる。このような場合に、特許文献2のようなサービス代行方法がある。特許文献2によれば、Webサーバの状態を監視してWebサーバが負荷により処理できないと判断した場合、代行サーバで要求のみを受け付ける。そして、Webサーバが回復した場合に、要求を代行サーバからWebサーバに行う。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2006−127503号公報
【特許文献2】特開2003−288285号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、特許文献1のようなシステムは、単純にメニューの管理だけでなく、画面のカスタマイズの用途にも使用が可能である。そのようなシステムを考えた場合、MFPの操作画面はすべてWebブラウザの表示する画面で行うことが想定できるが、以下のような課題がある。
【0007】
たとえば、ネットワークの障害やWebサーバの障害により、Webサーバとの正常な通信ができない場合、MFPのWebブラウザには通信エラーの画面が表示されることになる。しかしながら、MFPが基本的に持っているコピー機能については、ネットワークを使用しない機能であるため、Webサーバとつながらないオフライン状態でも作業を行いたい。
【0008】
特許文献1によれば、Webサーバと接続できない場合にはエラーメッセージが表示される。あるいは、接続できるまでリトライを行うだけなので、このような課題は解決できない。一方、特許文献2によれば、Webサーバと接続できない場合は、代行サーバへの転送もできないので、特許文献2によっても、このような課題は解決できない。
【0009】
本発明は、前述した課題を解決することを目的とする。すなわち本発明は例えば、MFPがWebサーバと正常に通信できない場合に、MFPの内部に持つユーザインタフェースを呼び出すための代替機能を提供することを目的とする。
【課題を解決するための手段】
【0010】
本発明の一側面によれば、少なくとも1つの画像処理機能を実行可能な画像処理装置であって、HTTPにより通信を行うHTTP通信手段と、前記HTTP通信手段を介して、Webサーバに対して操作画面のHTMLデータを要求する要求手段と、前記要求手段による要求に応答して前記Webサーバが送信した操作画面のHTMLデータを受信し、当該操作画面のHTMLデータをレンダリングして操作部に表示する表示制御手段とを有し、前記表示制御手段は、通信エラーにより操作画面のHTMLデータを受信できなかったときは、前記少なくとも1つの画像処理機能に係る操作を行うための代替の操作画面を前記操作部に表示することを特徴とする画像処理装置が提供される。
【発明の効果】
【0011】
本発明によれば、画像処理装置がWebサーバに接続できない場合でも、画像処理装置内の代替の操作画面を表示するようにすることで、画像処理装置の機能を実行することができる。
【図面の簡単な説明】
【0012】
【図1】実施形態における情報処理システムの全体構成例を示す図。
【図2】実施形態におけるMFPのハードウェア及びソフトウェア構成を示すブロック図。
【図3】実施形態におけるWebサーバの構成例を示すブロック図。
【図4】実施形態における代替機能リストの模式図。
【図5】(a)はサーバビジー時のHTMLデータの例を示す図、(b)はGUIボタンを合成したHTMLデータの例を示す図。
【図6】(a)はサーバビジー時のWebブラウザの表示例を示す図、(b)はGUIボタンを合成した時のWebブラウザの表示例を示す図、(c)はWebブラウザでのメニュー表示例を示す図。
【図7】実施形態におけるHTTP応答処理のフローチャート。
【図8】実施形態におけるWebブラウザ制御処理のフローチャート。
【図9】実施形態におけるWebサーバの他サーバへの要求受信処理のフローチャート。
【発明を実施するための形態】
【0013】
[第1の実施形態]
まず、第1の実施形態におけるMFPについて説明する。MFPは、少なくとも1つの画像処理機能を実行可能に構成された画像処理装置である。第1の実施形態では、本発明の画像処理装置の一例であるMFPが、Webブラウザにより、Webサーバに画像処理装置のUIメニューを要求する例を説明する。その中で、Webサーバとの通信が正常に行われなかった場合のユーザインタフェース(UI)表示処理の例を説明する。
【0014】
<システム構成図>
図1は、本発明を適用可能なシステムの全体構成例を示す図であり、(a)が第1の実施形態を示している。図1(a)に示すように、MFP110およびWebサーバ120は、イーサネット(登録商標)などのLAN100に接続されている。
【0015】
MFP110は、コピー機能を有する。それとともに、原稿画像を読み取り、読み取って得られた画像データ(文書データと呼ぶ場合もある)を、FTPプロトコルやSMBプロトコル等を用いてLAN100上の指定した装置に送信するデータ送信機能を有する。また、画像を添付ファイルとしてEメールを作成し、Eメールサーバ(不図示)を利用してEメールを送信することもできる。
【0016】
サーバ120は、Webサーバである。Webサーバ上のWebアプリケーションは、MFP110からの要求に応答して、MFP110に表示するHTMLページを送信する。ただし、本実施形態におけるシステムにおいては、これらの構成機器の数に制限はない。また、本実施形態では接続方法としてLANを適用しているが、これに限られることはない。例えば、WAN(公衆回線)などの任意のネットワーク、USBなどのシリアル伝送方式、セントロニクスやSCSIなどのパラレル伝送方式なども適用可能である。
【0017】
<MFPのハードウェア構成図>
MFP110は、図2(a)に示すように次の構成要素から構成される。すなわち、画像入力MFPであるスキャナ部112、画像出力MFPであるプリンタ部113、MFP110の制御を司るコントローラ200、および操作部111である。
【0018】
スキャナ部112は、原稿上の画像を露光走査して得られた反射光をCCDに入力することで画像の情報を電気信号に変換する。さらに電気信号をR,G,B各色からなる輝度信号に変換し、当該輝度信号をデジタル画像データとしてコントローラ200に対して出力する。なお原稿は原稿フィーダにセットされ、ユーザが操作部111から読み取り開始を指示すると、コントローラ200からスキャナ部112に原稿読み取り指示が与えられる。スキャナ部112は、この指示を受けると原稿フィーダから原稿を1枚ずつフィードして、原稿の読み取り動作を行う。なお、原稿の読み取り方法は原稿フィーダによる自動送り方式ではなく、原稿を不図示のガラス面上に載置し露光部を移動させることで原稿の走査を行う方法であってもよい。
【0019】
プリンタ部113は、コントローラ200から受け取った画像データを用紙上に画像として形成する画像形成MFPである。なお、本実施形態において画像形成方式は感光体ドラムや感光体ベルトを用いた電子写真方式となっているが、これに限られることはない。例えば、微少ノズルアレイからインクを吐出して用紙上に印字するインクジェット方式などでも適用可能である。
【0020】
コントローラ200は操作部111、スキャナ部112、プリンタ部113と電気的に接続されている一方、LAN100にもネットワークインタフェース(I/F)206を介して接続されている。すなわち、LAN100を経由して他の機器と接続されている。これによりHTTPプロトコルによる通信が可能となっている。
【0021】
CPU201は、ROM202に記憶された制御プログラム等に基づいて接続中の各種MFPへのアクセス及び他のMFPからのアクセスを統括的に制御する。それと共に、コントローラ200内部で行われる各種処理についても統括的に制御する。この制御には、後述のフローチャートに従う処理を実現するためのプログラムの実行も含む。
【0022】
ROM202には装置のブートプログラムや固定的なデータなどが格納されている。RAM203は、CPU201が動作するためのシステムワークメモリであり、かつ画像データを一時記憶するためのメモリでもある。RAM203は、電源のバックアップ等により記憶した内容を装置本体の電源オフ後も保持しておく領域と、電源オフ後には記憶した内容が消去されてしまう領域により構成されている。HDD204はハードディスクドライブであり、システムソフトウェアや画像データを格納することが可能となっている。
【0023】
操作部I/F205は、システムバス211と操作部111とを接続するためのインタフェース部である。操作部I/F205は、操作部111に表示するための画像データをシステムバス211から受け取り操作部111に出力すると共に、操作部111から入力された情報をシステムバス211へと出力する。ネットワークI/F206はLAN100及びシステムバス211に接続し、情報の入出力を行う。スキャナI/F207は、スキャナ部112から受け取った画像データに対して、補正、加工、及び編集を行う。なお、スキャナI/F207は、受け取った画像データがカラー原稿か白黒原稿か、文字原稿か写真原稿かなどを判定する機能を持つ。
【0024】
画像形成部208は画像データの方向変換、画像圧縮、伸張部などを行う。また、HDD204に保存されている画像同士を合成して一枚の画像にすることが可能である。プリンタI/F209は、画像形成部208から送られた画像データを受け取り、この画像データに付随させられている属性データを参照しながら画像データに画像形成を施す。画像形成後の画像データは、プリンタ部113に出力される。
【0025】
なお、本実施形態では、MFPがUI表示を実行するネットワークMFPであるが、汎用スキャナや汎用プリンタなどを接続した汎用コンピュータ等、これ以外の画像処理装置であってもよい。
【0026】
<Webサーバのハードウェア構成図>
図3(a)は、図1(a)に示したWebサーバ120のハードウェア構成を示すブロック図である。図3(a)において、CPU301、RAM302、ROM303、ネットワークI/F305、ハードディスクドライブ(HDD)306がシステムバス310を介して互いに通信可能に接続されている。また、CRT等の表示装置307、キーボード等の入力装置304、及びマウス等のポインティングデバイス308が、システムバス309を介して互いに通信可能に接続されている。
【0027】
ROM303或いはHDD306には、オペレーティングシステムやWebアプリケーションなどの制御プログラムが格納されている。CPU301は、当該制御プログラムを必要に応じてROM303或いはHDD306からRAM302上へ読み出して実行することで、コンピュータとしての機能を発揮する。また、CPU301は、表示装置307を介して各種情報の表示を行うと共に、入力装置304やポインティングデバイス308からユーザ指示等を受け付ける。さらに、ネットワークI/F305を介してLAN100上の他の装置との通信を行う。
【0028】
<MFPのソフトウェア構成図>
図2(b)は、本実施形態のMFPのUI表示処理に係るMFP110のソフトウェアモジュール構成を示す図である。これらソフトウェアモジュールは、実際には、例えばMFP110のHDD204に制御プログラム204aとして格納され、RAM203にロードされCPU201によって実行されるものである。
【0029】
画面管理部401は、認証部402、機能UI部403、Webブラウザ405等のUI画面を持つモジュールの表示を切り替える表示制御を行う。他のソフトウェアモジュールからの指示により、各モジュールのUIを操作部I/F205を介して操作部111に表示する。認証部402はデバイスを操作するユーザのユーザ認証を行うためのモジュールである。本実施形態では操作部111から操作部I/F205を介して認証情報を受け取ることによりユーザの認証を行う。本例では、ユーザの情報はRAM203又はHDD204に保持され、ユーザは「管理者」と「一般ユーザ」に分かれるものとする。
【0030】
機能UI部403は、機能を選択させるメニューUI、コピー機能のUI、データ送信機能のUI、及びMFP110の設定を行うための設定用UIなどのMFP110の内部機能を使用させるためのUIを表示するソフトウェアモジュールである。また、ユーザから受け取った各機能の実行指示をジョブ管理部407に通知し、各機能のジョブの実行を指示する。このソフトウェアモジュールは、WebアプリケーションとWebブラウザを用いたUI表示行わずに、MFP110単体で機能を提供するときに使用するものである。以降Webサーバが提供するUIと区別するために、機能UI部403が表示するメニューUIを「組み込みメニューUI」、コピー機能のUIを「組み込みコピーUI」、送信機能のUIを「組み込み送信UI」と表現する。そして、機能UI部403が表示する設定用UIを「組み込み設定用UI」と表現する。
【0031】
HTTP通信部404はネットワークI/F206を操作してHTTPプロトコルにより通信を行うソフトウェアモジュールである。Webブラウザ405はHTTP通信部404を介してWebサーバ120と通信を行うブラウザである。Webブラウザ405はWebサーバ120に対して、HTMLで記載された操作画面の取得要求を行う。また、HTTP通信部404を介してWebサーバ120から受け取った操作画面のHTMLデータをレンダリングして操作部111に表示する。また、操作部111に表示した操作画面に対する入力をWebサーバ120に通知を行う。
【0032】
さらに本実施形態におけるWebブラウザ405は、Webサーバ120から受け取ったデバイス機能実行のためのジョブ定義情報をジョブ情報解析部406に渡し、ジョブの実行を行うことを可能とする。また、Webブラウザ405はHTMLデータ内に記載されたスクリプトを解釈して画面管理部401に指示を行い、指定のモジュールのUIを操作部111に表示させる機能を有する。
【0033】
ジョブ情報解析部406は、Webブラウザ405から受け取ったジョブ定義情報を解析し、解析結果をジョブ管理部407に通知し、各ジョブを実行する。ジョブ管理部407は、機能UI部403やジョブ情報解析部406からの指示を受けてジョブ情報を管理し、順次実行をジョブ実行部408に指示する。ジョブ実行部408は、ジョブ設定に基づいて処理を実行するモジュールである。たとえばジョブがコピージョブであれば、スキャナ部112を操作して紙原稿を読み取りHDD204に画像データを一時保存する。そして、プリンタ部113を操作してHDD204内の一時保存した画像データを印刷するというジョブを実行する。
【0034】
エラーコンテンツ生成部409は、HTTP通信エラー時にWebブラウザ405に表示するコンテンツを生成するソフトウェアモジュールである。HTTP通信エラー時に代替機能リスト管理部410の情報に基づきWebブラウザ405に表示するコンテンツを生成する。この処理シーケンスについては、後述する。
【0035】
代替機能リスト管理部410は、後述の代替機能リストを管理するモジュールである。代替機能リストは、MFP110の操作部111を介して、代替機能リスト管理部410に対して設定してもよいし、ネットワークI/F206を介して外部装置から設定してもよい。
【0036】
<Webサーバのソフトウェア構成図>
図3(b)は、本実施形態におけるWebサーバ120のソフトウェアモジュールの構成を示す図である。Webサーバ120は、Webアプリケーション501及びHTTP通信部504を備える。Webアプリケーション501は、プレゼンテーション部502及びロジック部503を含む。これらのソフトウェアは、例えば、Webサーバ120のHDD306に格納され、RAM302にロードされた後、CPU301により実行される。
【0037】
プレゼンテーション部502は、HTTP通信部504を介して、MFP110からの要求に応えてMFP110のWebブラウザ405で表示すべき操作画面のデータをMFP110に送信する。また、MFP110のWebブラウザ405に表示された操作画面を介して入力されたユーザからの入力情報を、HTTP通信部504を介してMFP110から受け取る。
【0038】
ロジック部503は、プレゼンテーション部502から渡されたMFP110からの入力情報に対して処理を行う。たとえば、ユーザからの入力に応じて、表示すべき画面を変更したり、MFPのデバイス機能実行のためのジョブ定義情報を作成したりする。HTTP通信部504は、ネットワークI/F305を操作してHTTPプロトコルにより通信を行うソフトウェアモジュールである。
【0039】
<代替機能リストの構造>
図4は、MFP110の代替機能リスト管理部410が管理する代替機能リストの模式図である。なお、本実施形態では代替機能リストはMFP110のHDD204に保存されているものとする。
【0040】
図4において、カラム601は、代替時に利用可能とするMFP110のUIを示す。図示の例では、MFP110の組み込みメニューUIを「Menu」、組み込みコピーUIを「Copy」、組み込み送信UIを「Send」組み込みの設定UIを「Settings」と表現する。もちろん、この他のMFPの機能を定義してもよい。カラム602は、代替を許可する条件となるWebブラウザが要求したWebサイトのURLパターンを示す。図示の例ではURLパターンに前方一致したURLに対する要求で、例外やエラーが発生した場合にのみ、カラム601の機能を利用可能とすることを示す。カラム603は、代替を許可する場合に認証が必要かどうかを示す。認証が「あり」の場合は、機能のUIを表示するためにユーザ認証が必要であることを示す。「なし」の場合は、ユーザ認証が不要であることを示す。カラム604は、代替動作を行うために必要なユーザ権限を示す。図示の例では「管理者」となっている場合、認証を行ったユーザが管理者ユーザの場合にのみ代替機能のUI表示を許可することを示す。
【0041】
<UIの表示フロー>
次に、MFP110のUI表示の処理フローを説明する。MFP110は電源投入後、起動すると、CPU201がROM202上もしくはHDD204上のプログラムをRAM203にロードし、プログラムの実行を行う。なお、以下のMFP110の処理の流れは、CPU201が各ソフトウェアモジュールのプログラムを実行することで実現される。
【0042】
画面管理部401がCPU201により実行されると、画面管理部401はUI表示を行う。画面管理部401が管理するMFP110の設定として、MFP110の組み込みのUIを利用する設定となっている場合、機能UI部403の表示を初期表示とする。一方、外部WebサーバのUIを利用する設定となっている場合、Webブラウザ405の表示を初期表示とする。本実施形態では、外部WebサーバのUIを利用する設定となっているものとして処理を説明する。また、Webブラウザ405は、Webサーバ120上のWebアプリケーション501のメニューのURLを、初期表示Webサイトとして設定しているものとする。
【0043】
これによりWebブラウザ405はCPU201により実行されると、上記設定に従い初期表示WebサイトのURLを指定して、HTMLページの取得要求をHTTP通信部404に行う。HTTP通信部404は、その要求に応じて、Webサーバ120に対して、HTTPの取得要求を送信する。このとき、Webサーバ120が正常に起動している場合、Webアプリケーション501は要求されたWebアプリケーションが保持しているメニュー(以下Webのメニュー)のHTMLデータを応答メッセージとする。一方、Webサーバ120が起動していない場合、Webブラウザ405からの要求は応答するWebサーバが存在しないため、タイムアウトとなる。また、Webサーバ120が起動していても、Webアプリケーションがビジー状態であったり、要求されたURLに対応するHTMLが存在しない場合には、HTTP通信部504はエラーページのHTMLデータを応答メッセージとする。
【0044】
次に、Webサーバからの応答に基づくMFPの代替処理を説明する。図7にMFP110によるWebサーバ120からのHTTP応答の処理フローを示す。S701では、HTTP通信部404が、取得要求がタイムアウトしたかを判定する。要求を送信したWebサーバ120から一定時間応答がない場合、タイムアウトと判断し、S706に遷移する。Webサーバ120から応答を取得した場合はS702に遷移する。
【0045】
S702では、HTTP通信部404が、Webサーバ120からの応答が正常に行われたか判断する。受け取ったHTTPの応答が正常であった場合、S705に遷移する。一方受け取ったHTTPの応答がエラーだった場合、S703に遷移する。S703では、HTTP通信部404が、取得要求したURLが代替機能リストに一致するかどうかを判断する。一致する場合、エラーコンテンツ生成部409にHTTP応答に含まれるHTMLデータを渡し、S704に遷移する。そうでない場合、S705に遷移する。
【0046】
S704では、エラーコンテンツ生成部409が、代替機能リスト管理部410の管理する情報に基づきエラーコンテンツを生成する。まず、エラーコンテンツ生成部409はS703で一致したWebサイトに対応する利用可能機能、認証の要・不要及び権限を取得する。次に、認証が不要の場合はWebブラウザ405が利用可能機能を実行するためのスクリプトとそのスクリプトを実行するためのHTMLボタンのコンテンツを作成し、HTTP通信部404から受け取ったHTMLデータに合成する。一方、認証が必要である場合、HTMLボタンの押下に応じて、Webブラウザ405が認証を実行するためのスクリプトを生成して、HTMLデータに合成する。さらに管理者権限が必要な場合、認証した結果管理者である場合にのみ機能のUIを表示するようにスクリプトを生成して、HTMLデータに合成する。
【0047】
S705では、HTTP通信部404が、HTMLデータをWebブラウザ405に渡して表示を更新させる。S706は、S701でタイムアウトと判断された場合であり、HTTP通信部404は、エラーコンテンツ生成部409が保持しているタイムアウト用時に表示するためのHTMLデータを取得する。そして、S703に移り、代替UIの表示の判断を行う。
以上のように、Webサーバ120と正常に通信が行われた場合、Webサーバからの応答は何も処理されずそのままWebブラウザ405に渡される。
【0048】
次に、Webサーバ120との通信が正常に行われなかった場合を説明する。図5(a)にWebサーバ120からの応答の例を示す。図5(a)はサーバビジーの場合のHTMLデータである。この要求を出した時のリクエスト先が図4の代替機能リストに含まれない場合、HTTP通信部404によりコンテンツの合成は行われない。結果として、Webブラウザ405には図6(a)に示すような表示が行われる。
【0049】
一方、図5(a)の応答を受け取った際に、要求を出した時のリクエスト先が「www.xxx.com/webapp1/menu/index.html」であり図4の代替機能リストに含まれる場合は次のような処理になる。まず、S704の処理により、図5(b)で示すようにHTMLボタン1001とスクリプト1002が合成される。そして、Webブラウザ405には図6(b)に示すような表示が行われる。なお、スクリプト1002は独自に拡張したJava(登録商標)Scriptであり、第1の引数に呼び出すMFPの機能のUI名を指定し、第2の引数に呼び出す権限を指定するものとする。図5(b)の例では、第1の引数の「Menu」が「組み込みメニュー」を、第2の引数の「Everyone」が「ユーザ認証の必要のないすべてのユーザ」を示している。なお、スクリプト1002はJava(登録商標)Scriptである必要はなく、Webブラウザが解釈できるものであれば特に形式を問わない。
【0050】
この際にWebブラウザ405により、ユーザからのボタン押下を受け付けた場合の処理を説明する。図8はWebブラウザ405の制御処理のフローチャートである。S1201では、Webブラウザ405が、HTTP通信部404から受け取ったHTMLデータをレンダリングして表示を行う。この処理により図6(a)又は(b)の画面が表示されることになる。S1202では、Webブラウザ405が、ユーザ操作や時間経過でイベントが発生したかどうか判断する。ユーザ操作のイベントとは、例えばWebブラウザ上に表示しているGUIボタンの押下などを示す。イベントが発生した場合はS1203に遷移し、そうでない場合は再びイベントを受け付ける。
【0051】
S1203では、Webブラウザ405が、イベントに対応した処理がMFPの機能のUIへの遷移指示かどうかを判別する。図5(b)の例であれば、ボタンイベントに対応した処理として、Java(登録商標)Scriptの「showFunction('Menu','Everyone')」を呼び出す。このJava(登録商標)Scriptは「組み込みメニュー」を表示するものであるため、MEPの機能のUIを呼び出すものであると判断する。MFPの機能のUIへの遷移指示と判断した場合、S1204に遷移する。それ以外であればS1208に遷移し、一般のWebブラウザと同様にイベントに対応した処理を行う。
【0052】
S1204では、Webブラウザ405が、MFPの機能のUIへ遷移するにあたって認証が必要かどうか判断する。本例ではJava(登録商標)Scriptの第2の引数を見て判断する。図5(b)の例では、すべてのユーザを示す「Everyone」となっているため、認証が必要ないと判断する。認証が必要であれば、S1205に遷移し、そうでない場合はS1207に遷移する。S1205では、Webブラウザ405が、画面管理部401に作用し、認証部402に認証の指示を行う。認証部402がユーザに対して認証情報を入力するように促す画面(不図示)を操作部111に表示する。本例ではユーザ名とパスワードをユーザからの認証情報として受け付ける。受け付けた認証情報をあらかじめ認証部402に保持されている情報と比較してユーザ認証を行う。その後ユーザ認証の結果をWebブラウザ405に通知する。ただし、ユーザ認証はICカードや生体認証等の方法でもかまわない。
【0053】
S1206では、Webブラウザ405が認証の結果を判断する。認証が成功して、MFPの機能のUIを呼び出す権限があるユーザであると判断した場合は、S1207に遷移し、そうでない場合は画面管理部401に作用して再びUI表示をWebブラウザ405に変更させ、S1202に遷移する。S1207では、Webブラウザ405が、画面管理部401に作用し、指定されたMFPの機能のUIに画面の変更を行わせる。
このように、図8の制御処理フローにより、特定の状況でのみMFPの機能のUIに遷移するように制御が可能である。
以上が、UI表示の処理フローである。この処理により、特定のURLに接続した場合でエラーが発生した場合にのみ、代替動作を可能とすることができる。
【0054】
本実施形態では、起動時のWebブラウザの初期表示の場合について説明したが、この処理は常に行ってもよい。たとえば、MFP110起動後にWebサーバ120との接続が切れた場合についても同様の処理で代替動作を実現できる。例として、次の状況を仮定する。まず、Webサーバ120でのメニュー(以下Webのメニュー)のURLが「www.xxx.com/webapp1/menu/index.html」である。そして、そのWebページからのリダイレクトで呼び出すことができるWebサーバ120上のコピーのUI(以下WebのコピーUI)のURLが「www.xxx.com/webapp1/copy/index.html」とする。このときWebブラウザ405でWebのメニューからWebのコピーUIを呼び出す際に、Webサーバ120との接続ができなくなったとする。この場合、Webブラウザ405からWebのコピーUIのURLへの取得要求でエラーとなるため、ステップS703で「組み込みコピーUI」を表示するためのHTMLボタンが合成される。
以上のように、適切に代替機能リストを設定することで、エラーの発生した状況に応じた代替動作を定義することができる。
【0055】
なお、上述の実施形態ではWebブラウザからMFP内のUIを呼び出すためにJava(登録商標)Scriptを用いたが、WebブラウザがMFP内のUIを呼び出す方法は別の手段であってもよい。また、上述の実施形態ではWebブラウザからMFP内のUIを呼び出すための手段として、HTMLボタンを用いたが、それ以外の方法であってもよい。たとえば、別のUIコントロールを用いたり、一定時間経過した場合に画面遷移するようにHTMLデータを作成したりしてもよい。また、HTMLデータを読み込んだ時点でMEP内の機能のUIを表示するようにHTMLデータを作成してもよい。また図4のテーブルに、合成するHTMLデータの指示の項目を加えて、Webブラウザ上で表示する位置、色、サイズ等を指定できるようにしてもよい。
【0056】
また、上述の実施形態では、MFPの機能のUIをそのまま呼び出しているが、図4のテーブルに実行する機能の制限を加えてもよい。たとえば、図4のテーブルに機能制限のカラムを設定し、「組み込みコピーUI」を利用する際にモノクロコピーのみしか実行できないようにスクリプトを構成し、Webブラウザ405が機能UI部403を呼び出すように構成してもよい。
【0057】
[第2の実施形態]
次に、第2の実施形態について説明する。第2の実施形態では、第1の実施形態のようにMFPで代替のUI表示を制御するのではなく、Webサーバで代替のUI制御を行う。
【0058】
<システム構成図>
図1(b)は、本実施形態における情報処理システムの全体構成を示すブロック図である。図1(b)では、MFP1310、Webサーバ1320、Webサーバ1330がLAN1300に接続されている。MFP1310のハードウェア構成とソフトウェア構成は、図1(a)におけるMFP110と同様である。またWebサーバ1320とWebサーバ1330のハードウェア構成も、図1(a)におけるWebサーバ120と同様である。
【0059】
<Webサーバのソフトウェア構成図>
図3(c)は、本実施形態におけるWebサーバ1320のソフトウェアモジュールの構成を示す図である。Webサーバ1320には、Webアプリケーション1401、HTTP通信部1404、エラーコンテンツ生成部1405、URLリスト管理部1406を備える。Webアプリケーション1401は、プレゼンテーション部1402及びロジック部1403を含む。これらのソフトウェアは、例えば、Webサーバ1320の不図示のHDDに格納されCPUにより実行される。
【0060】
プレゼンテーション部1402は、図3(b)のプレゼンテーション部502と同様である。ロジック部1403は、図3(b)のロジック部503と同様である。HTTP通信部1404は、図3(b)のHTTP通信部504と同様である。エラーコンテンツ生成部1405は、第1の実施形態のエラーコンテンツ生成部409と同様である。URLリスト管理部1406は、第1の実施形態の代替機能リスト管理部410と同様であり、図4と同様の代替機能リストを保持している。本実施形態では、Webサーバ1320がWebのメニューのサービスを提供し、Webサーバ1330がWebのコピーUIを提供するものとする。
【0061】
図6(c)は、MFP1310がWebブラウザにより、Webサーバ1320のWebメニューを取得して表示したUIの一例を示している。GUIボタン1501、1052、1503、1504は、それぞれの機能のWebアプリケーションへのリンクとなっている。本実施形態ではWebサーバ1330上のコピー用のWebアプリケーションを呼び出すものとする。本実施形態は第1の実施形態と次の点が異なる。まず、MFP1310のWebブラウザ上でコピーボタン1504を押下された際に、Webブラウザから送信される要求を、Webサーバ1330に転送する。そして、Webサーバ1330がWebのコピーUIのHTMLデータを送信する。このとき、Webブラウザとしては、Webサーバ1320のURLに対して要求を行った結果、Webサーバ1330のコンテンツを取得することとなる。
【0062】
<UIの表示フロー>
次に、Webサーバ1320がWebサーバ1330にコンテンツの要求を行った場合のWebサーバ1320の処理フローを説明する。なお、以下のWebサーバ1320の処理の流れは、CPU301が各ソフトウェアモジュールのプログラムを実行することで実現される。
【0063】
まず、Webアプリケーション1401のロジック部1403は、MFP1310のWebブラウザから、図6(c)の画面でコピーボタンを押下された旨の通知を受ける。それに応じてロジック部1403は、Webサーバ1330のWebのコピーUIのURLを指定してHTTP通信部1404に通信指示を行う。HTTP通信部1404は、Webサーバ1330に対して、HTTPの取得要求を送信する。このとき、Webサーバ1330が正常に起動している場合、要求されたWebのコピーUIのHTMLデータが応答メッセージとして取得できる。Webサーバ1330が起動していない場合、タイムアウトとなる。また、Webサーバ1330が起動していても、ビジー状態であったり、要求されたURLが存在しない場合には、HTTP通信部1404はエラーページのHTMLデータを応答メッセージとして受信する。
【0064】
次に、Webサーバ1330からの応答に基づくWebサーバ1320でのHTMLデータ処理を説明する。図9にWebサーバ1320でのHTTP応答の処理フローを示す。S1601では、HTTP通信部1404が、取得要求がタイムアウトしたかどうかを判定する。タイムアウトと判断した場合、S1606に遷移する。応答を取得した場合S1602に遷移する。
【0065】
S1602では、HTTP通信部1404が、応答が正常に行われたかどうかを判断する。受け取ったHTTPの応答が正常であった場合、S1605に遷移する。一方応答がエラーだった場合、S1603に遷移する。S1603では、HTTP通信部1404が、取得要求したURLが代替機能リストに一致するかどうかを判断する。一致する場合、エラーコンテンツ生成部1405にHTTP応答に含まれるHTMLデータを渡し、S1604に遷移する。そうでない場合、S1605に遷移する。
【0066】
S1604では、エラーコンテンツ生成部1405が、URLリスト管理部1406の管理する情報に基づきエラーコンテンツを生成する。この処理は第1の実施形態のS704と同様である。S1605では、HTTP通信部1404が、HTMLデータをMFP1310に送信する。S1606は、S1601でタイムアウトと判断された場合であり、HTML通信部1404は、エラーコンテンツ生成部1405が保持しているタイムアウト時に表示するためのHTMLデータを取得する。そして、S1603に移り、代替UIの表示の判断を行う。
【0067】
以上のように、Webサーバ1330と正常に通信が行われた場合、Webサーバからの応答は何も処理されずそのままMFP1310に渡される。一方、Webサーバ1330との通信が正常に行われなかった場合、第1の実施形態と同様に、MFP1310の組み込みの機能を呼び出すことが可能とするHTMLデータがWebサーバ1320からMFP1310に渡される。
以上が、UI表示の処理フローである。この処理により、Webサーバ側で代替動作を可能とすることができる。
【0068】
前述の実施形態では、MFP1310は渡されたHTMLデータにより、機器内の組み込みUIを表示するが、特定のサーバから渡されたHTMLデータのみ組み込みUIを表示する許可をするように構成してもよい。この場合、不正なサーバから送られたコンテンツによって管理者が意図しない画面遷移を防ぐことが可能になる。
【0069】
(他の実施形態)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。

【特許請求の範囲】
【請求項1】
少なくとも1つの画像処理機能を実行可能な画像処理装置であって、
HTTPにより通信を行うHTTP通信手段と、
前記HTTP通信手段を介して、Webサーバに対して操作画面のHTMLデータを要求する要求手段と、
前記要求手段による要求に応答して前記Webサーバが送信した操作画面のHTMLデータを受信し、当該操作画面のHTMLデータをレンダリングして操作部に表示する表示制御手段と、
を有し、
前記表示制御手段は、通信エラーにより操作画面のHTMLデータを受信できなかったときは、前記少なくとも1つの画像処理機能に係る操作を行うための代替の操作画面を前記操作部に表示する
ことを特徴とする画像処理装置。
【請求項2】
前記表示制御手段は、通信エラーにより操作画面のHTMLデータを受信できなかった場合において、前記要求手段が特定のURLを指定して操作画面のHTMLデータを要求した場合にのみ、前記代替の操作画面を前記操作部に表示することを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記表示制御手段による前記代替の操作画面の表示を許可するための認証手段を更に有することを特徴とする請求項1又は2に記載の画像処理装置。
【請求項4】
少なくとも1つの画像処理機能を実行可能な画像処理装置の制御方法であって、
HTTP通信手段が、HTTPにより通信を行うHTTP通信ステップと、
要求手段が、前記HTTP通信手段を介して、Webサーバに対して操作画面のHTMLデータを要求する要求ステップと、
表示制御手段が、前記要求ステップでの要求に応答して前記Webサーバが送信した操作画面のHTMLデータを受信し、当該操作画面のHTMLデータをレンダリングして操作部に表示する表示制御ステップと、
を有し、
前記表示制御ステップは、通信エラーにより操作画面のHTMLデータを受信できなかったときは、前記少なくとも1つの画像処理機能に係る操作を行うための代替の操作画面を前記操作部に表示する
ことを特徴とする画像処理装置の制御方法。
【請求項5】
コンピュータを、請求項1乃至3のいずれか1項に記載の画像処理装置の各手段として機能させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2011−119939(P2011−119939A)
【公開日】平成23年6月16日(2011.6.16)
【国際特許分類】
【出願番号】特願2009−274932(P2009−274932)
【出願日】平成21年12月2日(2009.12.2)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】