(57)【要約】【課題】  ブラウザで表示する操作画面を介した操作の途中で外部サーバとの通信障害等が発生した場合、途中まで操作を行っていたにも関わらず、代替画面を利用して一から操作し直さなければならなかった。【解決手段】  外部装置からネットワークを介して受信した画面情報に基づき捜査画面を表示可能な画像処理装置において、操作画面を表示するための内部画面情報を記憶する記憶手段と、受信した画面情報に基づく操作画面を介してユーザが設定したデータを記憶するデータ記憶手段と、設定したデータを外部装置に送信する送信手段と、送信したデータの応答としての画面情報を外部装置から受信できない場合、前記記憶されたデータを前記内部画面情報に反映させた操作画面を表示するように制御する制御手段とを有することを特徴とする。【選択図】  図８
2012029011.tif 000002
【特許請求の範囲】
【請求項１】
外部装置からネットワークを介して画面情報を受信する受信手段と、
前記受信手段により受信された画面情報に基づいて操作画面を表示する表示手段と、
前記表示手段に操作画面を表示するための内部画面情報を記憶する記憶手段と、
前記受信手段により受信された画面情報に基づいて表示された操作画面でユーザが設定したデータを記憶するデータ記憶手段と、
前記設定されたデータを前記外部装置に送信する送信手段と、
前記送信手段が送信したデータの応答としての画面情報を前記外部装置から受信した場合、当該受信した画面情報に基づいて操作画面を表示し、前記送信手段により送信されたデータの応答としての画面情報を前記外部装置から受信できない場合、前記記憶手段に記憶された内部画面情報に前記データ記憶手段に記憶されたデータを反映させた操作画面を表示するように制御する制御手段とを有することを特徴とする画像処理装置。
【請求項２】
前記送信されたデータの応答としての画面情報を受信できない場合とは、前記送信手段によりデータを送信してから所定時間内に画面情報を受信できない場合であることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記制御手段は、前記送信されたデータの応答としての画面情報を受信できない場合、前記受信手段により受信された画面情報と対応づけられて記憶されている内部画面情報に基づいて操作画面を表示するように制御することを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
前記操作画面を介して行われたユーザの操作に従って画像処理を行う画像処理手段を更に有し、
前記データは、前記画像処理手段に用いるパラメータであることを特徴とする請求項１ないし３のいずれか１項に記載の画像処理装置。
【請求項５】
前記制御手段は、前記データ記憶手段が記憶したデータと、前記内部画面情報に基づく操作画面で設定可能なデータとが一致するか否かを判断し、一致するデータを前記内部画面情報に基づく操作画面に反映して表示し、一致しないデータを前記内部画面情報に基づく操作画面に反映せずに表示するように制御することを特徴とする請求項１ないし４のいずれか１項に記載の画像処理装置。
【請求項６】
前記制御手段は、Ｗｅｂブラウザであることを特徴とする請求項１ないし５のいずれか１項に記載の画像処理装置。
【請求項７】
前記受信手段によって受信された画面情報は、マークアップ言語で記述されていることを特徴とする請求項１ないし６のいずれか１項に記載の画像処理装置。
【請求項８】
前記内部画面情報は、マークアップ言語で記述されていることを特徴とする請求項１ないし７のいずれか１項に記載の画像処理装置。
【請求項９】
前記受信手段によって受信された画面情報に基づく操作画面と前記記憶手段に記憶された内部画面情報に基づく操作画面は、同一の操作画面であることを特徴とする請求項１ないし８のいずれか１項に記載の画像処理装置。
【請求項１０】
前記受信手段によって受信された画面情報に基づく操作画面を介して設定されるデータと、前記内部画面情報に基づく操作画面に反映されるデータは、同一であることを特徴とする請求項１ないし９のいずれか１項に記載の画像処理装置。
【請求項１１】
外部装置からネットワークを介して画面情報を受信する受信ステップと、
前記受信ステップで受信した画面情報に基づいて操作画面を表示手段に表示する表示ステップと、
前記表示手段に操作画面を表示するための内部画面情報を記憶手段に記憶する記憶ステップと、
前記受信ステップで受信した画面情報に基づいて表示手段に表示された操作画面でユーザが設定したデータを記憶するデータ記憶ステップと、
前記設定されたデータを前記外部装置に送信する送信ステップと、
前記送信ステップで送信したデータの応答としての画面情報を前記外部装置から受信したか否かを判定する判定ステップと、
前記判定ステップで画面情報を受信したと判定した場合、当該受信した画面情報に基づいて操作画面を表示し、前記判定ステップで画面情報を受信しないと判定した場合、前記記憶手段に記憶された内部画面情報に前記データ記憶手段に記憶されたデータを反映させた操作画面を表示するように制御する制御ステップとを有することを特徴とする画像処理装置の制御方法。
【請求項１２】
請求項１１に記載の制御方法を画像処理装置に実行させる、コンピュータが読み取り可能なプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークを介して接続された外部装置が提供する操作画面を表示可能な画像処理装置、画像処理装置の制御方法、及びプログラムに関する。
【背景技術】
【０００２】
ブラウザを備えるＭＦＰ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）などの画像処理装置と、Ｗｅｂアプリケーションを実装する外部サーバとがネットワークを介して通信可能なシステムが一般的に知られている。このシステムでは、ブラウザは、外部サーバによって提供されるＨＴＭＬ（Ｈｙｐｅｒ  Ｔｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）等で記述された画面情報を受信し、受信した画面情報に基づいて、ＭＦＰを操作するための操作画面を表示する。そして、表示した操作画面を介してユーザの操作を受け付け、ＭＦＰの機能（例えばコピー等）を利用することが可能である。このように、ＭＦＰの操作画面を外部サーバが提供することにより、ＭＦＰの操作画面をＭＦＰ自身で保持する必要がなくなり、更に、操作画面のカスタマイズを外部サーバ上のＷｅｂアプリケーションで容易に行うことできる（特許文献１参照）。
【０００３】
一方、ネットワークと接続していない従来のＭＦＰにおいてＭＦＰ自身が保持するコンテンツに基づき操作画面を表示し、この操作画面を操作してＭＦＰの機能を利用することも一般的に知られている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−１２７５０３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
外部サーバが提供する操作画面およびＭＦＰ内部で記憶するコンテンツに基づく操作画面の両方を操作部に表示可能なＭＦＰでは、いずれかの操作画面で操作を行い、同一のＭＦＰ機能を利用できる。
【０００６】
しかしながらこのようなシステムにおいては次のような課題がある。例えば、外部サーバが提供する操作画面を操作している途中でネットワーク障害が発生した、あるいは外部サーバから画面情報を受信できない、などのエラーが発生した場合、エラー発生前にユーザが操作画面で行った操作を、再度ＭＦＰが保持する操作画面で操作し直さなければならない。この結果、外部サーバの操作画面で設定した内容が無駄になってしまっていた。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、本発明に係る画像処理装置において、外部装置からネットワークを介して画面情報を受信する受信手段と、前記受信手段により受信された画面情報に基づいて操作画面を表示する表示手段と、前記表示手段に操作画面を表示するための内部画面情報を記憶する記憶手段と、
前記受信手段により受信された画面情報に基づいて表示された操作画面でユーザが設定したデータを記憶するデータ記憶手段と、前記設定されたデータを前記外部装置に送信する送信手段と、前記送信手段が送信したデータの応答としての画面情報を前記外部装置から受信した場合、当該受信した画面情報に基づいて操作画面を表示し、前記送信手段により送信されたデータの応答としての画面情報を前記外部装置から受信できない場合、前記記憶手段に記憶された内部画面情報に前記データ記憶手段に記憶されたデータを反映させた操作画面を表示するように制御する制御手段とを有することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、外部サーバにより提供される操作画面から、画像処理装置に記憶された画面情報に基づいて表示する操作画面へ遷移する場合に、外部サーバにより提供される操作画面で設定したデータを反映させることができる。
【図面の簡単な説明】
【０００９】
【図１】本実施形態における画像処理システムの全体図である。
【図２】ＭＦＰ１０１及び外部サーバ１０２のハードウェア構成を示すブロック図である。
【図３】ＭＦＰ１０１及び外部サーバ１０２のソフトウェア構成を示すブロック図である。
【図４】操作部２１０に表示する操作画面を示す図である。
【図５】ＭＦＰ１０１と外部サーバ１０２における一連の処理について説明するためのシーケンス図である。
【図６】ログ記憶部３４０に記憶されるログのリストの一例を示す図である。
【図７】エラーが発生した場合に、内部コンテンツ記憶部３５０に記憶した内部コンテンツ（内部画面情報）で代替可能かどうかを判断するためのテーブルを示す図である。
【図８】ＭＦＰ１０１で実行される処理について説明するためのフローチャートである。
【発明を実施するための形態】
【００１０】
以下、図面を参照して本発明の実施の形態について詳しく説明する。なお、以下の実施の形態は特許請求の範囲に係る発明を限定するものでない。また実施の形態で説明されている特徴の組み合わせの全てが発明の解決手段に必須のものとは限らない。
【００１１】
図１を参照して、本実施形態における画像処理システムの構成について説明する。この画像処理システムにおいて、ＭＦＰ１０１及び外部サーバ１０２がＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）１１０を介して互いに通信可能に接続されている。
【００１２】
ＭＦＰ１０１は、スキャン、プリント、コピー、電子メール送信などの複数の機能を兼ね備えている。ＭＦＰ１０１は画像処理装置の一例であり、複数台のＭＦＰ１０１がＬＡＮ１１０に接続されてもよい。ＭＦＰ１０１は上述の機能のいずれかを備えたＳＦＰ（Ｓｉｎｇｌｅ  Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）であってもよい。
【００１３】
ＭＦＰ１０１はブラウザ３１０を更に備えている。ブラウザ３１０は、外部サーバ１０２から画面情報を受信し、受信した画面情報を解析してＭＦＰ１０１の操作部に操作画面を表示することが可能である。本実施形態では、画面情報の一例として、ＨＴＭＬ形式で記述されたデータであるＨＴＭＬデータについて説明する。ただし画面情報は、ＸＭＬ形式やＷＭＬ（Ｗｉｒｅｌｅｓｓ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）形式、ＸＨＴＭＬ（ｅＸｔｅｎｓｉｂｌｅ  Ｈｙｐｅｒｔｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）形式などのマークアップ言語で記述されていてもよい。更に、ＨＴＭＬデータが他の言語で記述された画面情報を参照していてもよい。またブラウザの一例としてＷｅｂブラウザがあるが、他のブラウザを用いてもよい。
【００１４】
外部サーバ１０２は、パーソナルコンピュータやプリントサーバ、記憶装置、その他の演算装置等の装置である。外部サーバ１０２はＷｅｂアプリケーションを実装しており、ブラウザ３１０から要求された操作画面のコンテンツを送信する。なお、ここでは、外部サーバ１０２が１台でサービスを提供する例を示した。しかしながら、外部サーバ１０２の他の形態として、複数のサーバによって構成され、そのサーバ群の中で複数のヴァーチャルマシンを起動して分散処理を行うようにしても構わない。この場合、所定の条件に応じてヴァーチャルマシンを増加させるスケールアウトと呼ばれる技術（クラウドコンピューティング）が用いられる。
【００１５】
なお本実施形態においては、ＭＦＰ１０１と外部サーバ１０２とがＬＡＮ１１０で接続された形態を例に説明したが、ＬＡＮ１１０の代わりに、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）や、ＵＳＢケーブル、無線などの通信回線を利用してもよい。
【００１６】
図２を参照して、ＭＦＰ１０１及び外部サーバ１０２のハードウェア構成について説明する。まず、ＭＦＰ１０１のハードウェア構成から説明する。ＣＰＵ２０２を含む制御部２０１は、ＭＦＰ１０１全体の動作を制御する。制御部２０１に含まれるＣＰＵ２０２は、ＲＯＭ２０３に記憶された制御プログラムを読み出して読取制御や送信制御などの各種制御を行う。ＲＡＭ２０４は、ＣＰＵ２０２の主メモリ、ワークエリア等の一時記憶領域として用いられる。
【００１７】
ＨＤＤ２０５は、画像データや各種制御プログラム、或いは各種情報テーブルを記憶する。操作部Ｉ／Ｆ２０７は、操作部２１０と制御部２０１とを接続するインターフェースである。操作部２１０は、タッチパネル機能を有する液晶表示部やキーボードなどを備えている。また、ＭＦＰ１０１が備えるブラウザ３１０は、操作部２１０の液晶表示部に、外部サーバ１０２から受信する画面情報に基づき生成された操作画面を表示する。
【００１８】
プリンタＩ／Ｆ２０８は、プリンタ２１１と制御部２０１とを接続するインターフェースである。プリンタ２１１によって印刷される画像データはプリンタＩ／Ｆ２０９を介して制御部２０１から転送され、プリンタ２１１において記録媒体上に印刷される。
【００１９】
スキャナＩ／Ｆ２０９は、スキャナ２１２と制御部２０１とを接続するインターフェースである。スキャナ２１２は、原稿上の画像を読み取って画像データを生成し、スキャナＩ／Ｆ２０９を介して制御部２０１に入力する。
【００２０】
ネットワークＩ／Ｆ２０６は、制御部２０１（ＭＦＰ１０１）とＬＡＮ１１０とを接続するインターフェースである。ネットワークＩ／Ｆ２０６は、ＬＡＮ１１０上の外部サーバ１０２に画像データなどの各種情報を送信したり、ＬＡＮ１１０上の外部サーバ１０２から画像データなどの各種情報を受信したりする。
【００２１】
同様に図２を参照して、外部サーバ１０２のハードウェア構成について説明する。ＣＰＵ２２１を含む制御部２２０は、外部サーバ１０２全体の動作を制御する。制御部２２０に含まれるＣＰＵ２２１は、ＲＯＭ２２２に記憶された制御プログラムを読み出して各種制御処理を実行する。ＲＡＭ２２３は、ＣＰＵ２２１の主メモリ、ワークエリア等の一時記憶領域として用いられる。ＨＤＤ２２４は、画像データや各種プログラム、或いは後述する各種情報テーブルを記憶する。
【００２２】
ネットワークＩ／Ｆ２２５は、制御部２２０（外部サーバ１０２）をＬＡＮ１１０に接続する。ネットワークＩ／Ｆ２２５は、ＬＡＮ１１０上の他の装置との間で各種情報を送受信する。
【００２３】
図３を参照して、図１に示す画像処理システムのソフトウェア構成について説明する。
【００２４】
ＭＦＰ１０１は、ブラウザ３１０、サービスプロバイダ３２０、ジョブ実行部３３０、ログ記憶部３４０、及び内部コンテンツ記憶部３５０を実装する。これら各部は、ＭＦＰ１０１のＣＰＵ２０２によって実行され、ＲＯＭ２０３に格納されるソフトウェアモジュールである。
【００２５】
外部サーバ１０２は、プレゼンテーション部３６０及びロジック部３７０を実装する。これら各部は、外部サーバ１０２のＣＰＵによって実行され、ＲＯＭ２２２に格納されているソフトウェアモジュールである。
【００２６】
まずＭＦＰ１０１に実装されたソフトウェアの構成について説明する。
【００２７】
ブラウザ３１０は、ネットワークＩ／Ｆ２０６を利用して、外部サーバ１０２のプレゼンテーション部３６０とＨＴＴＰ（Ｈｙｐｅｒ  Ｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）に従って通信する。具体的には、まずブラウザ３１０は、ＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）によって特定されるリソースに対する要求（以下、ＨＴＴＰリクエストという）を発行する。そしてブラウザ３１０は、ＨＴＴＰリクエストに対する応答（以下、ＨＴＴＰレスポンス）として、外部サーバ１０２が提供する操作画面の画面情報を受信し、操作画面を生成して操作部２１０に表示制御する。なお、外部サーバ上のＷｅｂアプリケーションと通信が可能であり、外部サーバから画面情報を取得し操作部２１０に画面を表示することが可能であれば、ブラウザ３１０の代わりに他のソフトウェアを用いてもよい。
【００２８】
サービスプロバイダ３２０は、外部サーバ１０２から依頼されたＷｅｂサービスを提供する。Ｗｅｂサービスは、ＵＲＩ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｉｄｅｎｔｉｆｉｅｒ）で識別されるソフトウェアによって提供されるサービスである。本実施形態においては、サービスプロバイダ３２０は、外部サーバ１０２からＳＯＡＰ（Ｓｉｍｐｌｅ  Ｏｂｊｅｃｔ  Ａｃｃｅｓｓ  Ｐｒｏｔｏｃｏｌ）に従ったリクエスト（以下、ＳＯＡＰリクエストという）を受信する。サービスプロバイダ３２０をＳＯＡＰリクエストに従って実行することで、ジョブ実行部３３０でジョブを実行する。ＳＯＡＰリクエストは、ＸＭＬ（ｅＸｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）形式で記述されている。例えばコピーＷｅｂサービスを依頼する場合、ＳＯＡＰリスエストはコピーのために必要な設定パラメータ（例えば読み取り解像度や用紙サイズ、倍率、部数などのパラメータ）を含んでいる。ＳＯＡＰリクエストには、例えばコピージョブをＷｅｂサービスとして依頼するメッセージが記述されている。その他のジョブの例として、「スキャンジョブ」「プリントジョブ」「送信ジョブ」（あるいはこれらを組み合わせたジョブ）などがある。なお、本実施形態では、パラメータの一例としてＭＦＰがジョブを実行するために必要なパラメータを挙げる。
【００２９】
ジョブ実行部３３０は、サービスプロバイダ３２０が生成したジョブを実行する。例えばジョブがコピージョブである場合、スキャナ２１２で紙原稿を読み取りＲＡＭ２０４に画像データを一時保存する。そして、プリンタ２１１でＲＡＭ２０４内の一時保存した画像データを印刷する。
【００３０】
ログ記憶部３４０は、ブラウザ３１０が外部サーバ１０２にＨＴＴＰリクエストを要求する毎にログをＲＡＭ２０４に記憶する。ログは、外部サーバ１０２に対するＨＴＴＰリクエストのメッセージおよびＨＴＴＰリクエストの送信日時、およびユーザが操作画面で設定したパラメータ、ＨＴＴＰリクエストメッセージを記憶する。ログは上記以外にも、ユーザ情報や、メソッド（ＧＥＴメソッド、ＰＯＳＴメソッドなど）を記憶してもよい。
【００３１】
内部コンテンツ記憶部３５０は、ブラウザ３１０で表示する操作画面の内部コンテンツ（内部画面情報）をＨＤＤ２０５に記憶して管理する。内部コンテンツ（内部画面情報）とは、ＨＴＭＬファイルやＣＧＩ（Ｃｏｍｍｏｎ  Ｇａｔｅｗａｙ  Ｉｎｔｅｒｆａｃｅ）スクリプトなどである。内部コンテンツに基づいて生成された操作画面（以下、第２の操作画面と呼ぶ）は、ネットワーク通信障害が発生した場合や、所定時間内に画面情報を受信できなかった場合に外部サーバ１０２が提供する操作画面（以下、第１の操作画面と呼ぶ）の代替として利用する画面である。ただし、ＭＦＰ１０１を、ネットワークに接続しないスタンドアローン型の装置として利用する場合には、内部コンテンツを第１の操作画面の代替として利用するのではなく、内部コンテンツのみを利用することも可能である。更に、内部コンテンツをブラウザ３１０で表示するのではなく、他のソフトウェアで表示してもよい。この場合、第１の操作画面はブラウザ３１０で表示し、第２の操作画面は他のソフトウェアで表示することになる。
【００３２】
同様に図３を参照して外部サーバ１０２のソフトウェア構成について説明する。
【００３３】
プレゼンテーション部３６０は、ネットワークＩ／Ｆ２２５を利用して、ＨＴＴＰに従ってブラウザ３１０と通信する。プレゼンテーション部３６０は、ブラウザ３１０で操作部２１０に操作画面を表示するための画面情報をＨＴＴＰレスポンスに含めて送信する。またプレゼンテーション部３６０は、ブラウザ３１０で操作部２１０に表示された操作画面を介してユーザから入力された設定パラメータを、ＭＦＰ１０１からのＨＴＴＰリクエストとして受信する。そして、ＨＴＴＰリクエストに対するＨＴＴＰレスポンスとしてブラウザ３１０に画面情報を送信する。またプレゼンテーション部３６０は、ブラウザ３１０で表示された操作画面を介して入力されたパラメータを、ロジック部３７０に通知する。なおプレゼンテーション部３６０とロジック部３７０は、同一の外部サーバ１０２内に存在しているが、異なる装置に存在していても構わない。この場合は、プレゼンテーション部３６０を実装する装置とロジック部３７０を実装する装置とが、互いにネットワークやその他の通信回線を介して通信する。
【００３４】
ロジック部３７０は、プレゼンテーション部３６０から通知された設定パラメータを取得し、この設定パラメータに基づいてＭＦＰ１０１のサービスプロバイダ３２０にＷｅｂサービスを依頼するＳＯＡＰリクエストを生成する。そしてロジック部３７０は、生成したＳＯＡＰリクエストをサービスプロバイダ３２０に送信する。
【００３５】
図４を参照して、ブラウザ３１０が操作部２１０に表示する操作画面の一例を説明する。ブラウザ３１０を起動すると、初期画面として図４（ａ）のメニュー画面４１０を表示する。メニュー画面４１０には、コピーボタン４１１が表示されている。コピーボタン４１１を押下すると図４（ｂ）のコピー画面４２０に遷移する。コピー画面４２０には、倍率設定ボタン４２１、用紙サイズ設定ボタン４２２、部数設定ボタン４２３、スタートボタン４２４が表示されている。倍率設定ボタン４２１、用紙サイズ設定ボタン４２２、部数ボタン４２３を押下するとそれぞれのボタンに対応する項目に設定可能なパラメータの一覧が表示される。ユーザは、表示された一覧から特定のパラメータを設定できるようになっている。なお、操作部２１０に備えられたハードキーや液晶表示部に表示されたソフトキーを介して所望の値を項目に入力できるようにしてもよい。倍率、用紙サイズ、部数のパラメータを設定し、スタートボタン４２４を押下してコピーの実行を指示するとコピーが実行され、図４（ｃ）の実行画面に遷移する。図４（ｃ）の実行画面には、コピーが実行中であることを示すメッセージが通知される。コピーが完了すると、図４（ｃ）の画面から図４（ｄ）の完了画面に自動的に遷移する。コピーの実行中にキャンセルボタン４３１を押下すると図４（ｂ）に遷移して、コピージョブを中断する。図４（ｄ）の完了画面には、コピーが完了したことを示すメッセージが通知され、ＯＫボタン４４１を押下すると、メニュー画面４１０に遷移する。ここで、本実施形態では、図４（ａ）〜（ｄ）の操作画面は、外部サーバ１０２のプレゼンテーション部３６０により提供される画面情報または内部コンテンツ記憶部３５０で記憶する内部コンテンツ（内部画面情報）に基づきブラウザ３１０で表示する。ブラウザ３１０は、各操作画面のボタンがユーザにより押下されたことを検知すると、ボタンに割り当てられたＵＲＬをアクセス先として遷移先の操作画面の画面情報を外部サーバ１０２から取得する。
【００３６】
図５を参照して、ブラウザ３１０と外部サーバ１０２上のアプリケーションとが通信している途中で通信エラーが発生した時に、外部サーバ１０２が提供する操作画面の代わりに、内部コンテンツに基づく操作画面で代替する場合について説明する。
【００３７】
まず、ユーザの指示でブラウザ３１０を起動すると、Ｓ５０１にて、ブラウザ３１０は、ＨＴＴＰリクエストを外部サーバ１０２のプレゼンテーション部３６０に送信する。ブラウザ３１０は、図４の操作画面の格納場所を特定するＵＲＬを指定してＧＥＴメソッドでＨＴＴＰリクエストのメッセージを送信する。
【００３８】
Ｓ５０２にて、ブラウザ３１０はログ記憶部３４０にログを記憶する。
【００３９】
図６を参照して、ログ記憶部３４０に記憶するログのリストの一例を示す。ログ記憶部３４０は、ログＩＤに対応する日時、リクエストメッセージ、設定パラメータ、ＵＲＬをログとして記憶する。日時は、ＨＴＴＰリクエストの送信日時である。リクエストメッセージは、プレゼンテーション部３６０に送信したメッセージである。設定パラメータは、操作画面でユーザから受け付けたパラメータである。ＵＲＬは、ＨＴＴＰリクエストのメッセージで指定したＵＲＬである。例えばログＩＤが”１”のレコードは、２０１０年３月１８日１６時２５分に、ＵＲＬ“ｗｗｗ．ｘｘｘ．ｃｏｍ／ｗｅｂａｐｐ１／ｍｅｎｕ／ｍｅｎｕ．ｈｔｍｌ”を指定してＨＴＴＰリクエストのメッセージを外部サーバ１０２にＧＥＴメソッドで送信したことを示す。このＵＲＬは、図４（ａ）の画面の画面情報が格納されている場所を示す。設定パラメータの”−”は、図４（ａ）の操作画面で何もパラメータをユーザが設定していないことを示す。ログＩＤが”２”のレコードは、アクセス日時が２０１０年３月１８日１６時２５分にＵＲＬ“ｗｗｗ．ｘｘｘ．ｃｏｍ／ｗｅｂａｐｐ１／ｃｏｐｙ／ｃｏｐｙ＿ｓｅｔｔｉｎｇ．ｈｔｍｌ”を指定してＨＴＴＰリクエストのメッセージを外部サーバ１０２に送信したことを示す。このＵＲＬは、図４（ｂ）の画面の画面情報が格納されている場所を示す。設定パラメータ“倍率＝１００、用紙サイズ＝Ａ４、部数＝２０枚”は、図４（ｂ）の操作画面を介してユーザが入力した設定パラメータである。すなわち、コピー倍率を１００％、コピー用紙サイズをＡ４、コピー部数を２０部と設定したことを示す。ログＩＤが”３”のログは、２０１０年３月１８日１６時３５分に図４（ｃ）の操作画面のＵＲＬｗｗｗ．ｘｘｘ．ｃｏｍ／ｗｅｂａｐｐ１／ｃｏｐｙ／ｃｏｐｙ＿ｅｘｅｃｕｔｉｏｎを指定してＨＴＴＰリクエストを送信したことを示す。ログＩＤが”４”のログは、２０１０年３月１８日１６時４０分に、図４（ｄ）の操作画面のＵＲＬｗｗｗ．ｘｘｘ．ｃｏｍ／ｗｅｂａｐｐ１／ｃｏｐｙ／ｃｏｐｙ＿ｃｏｍｐｌｅｔｅを指定してＨＴＴＰリクエストを送信したことを示す。このように、本実施形態では、ブラウザ３１０は、ＨＴＴＰリクエストを送信する毎にログを更新する。
【００４０】
Ｓ５０３にて、ブラウザ３１０は、外部サーバ１０２からＳ５０１の応答としてＨＴＴＰレスポンスを受信し、Ｓ５０４にて、ブラウザ３１０は、ＨＴＴＰレスポンスに含まれる画面情報を解析し、操作画面を生成して操作部２１０に表示する。
【００４１】
Ｓ５０５では、Ｓ５０１と同様に、ブラウザ３１０は外部サーバ１０２に画面の要求を行う。Ｓ５０６では、Ｓ５０２と同様にブラウザ３１０はログ記憶部３４０にログを記憶する。
【００４２】
ここで、本実施形態では、ブラウザ３１０と外部サーバ１０２上のアプリケーションとが通信している途中で通信エラーが発生したことを想定する。通信エラーとは、例えば、（１）ＨＴＴＰリクエストを送信してから所定時間内に応答がなかった（ＨＴＴＰレスポンスを受信できなかった）、（２）ネットワークが遮断して外部サーバ１０２にＨＴＴＰリクエストを送信できなかった、（３）外部サーバ１０２が他の処理を行っているためにＨＴＴＰレスポンスを送信できない旨のメッセージを受信した、等である。
【００４３】
Ｓ５０７にて、ブラウザ３１０は（１）ないし（３）の通信エラーを検知する。（１）または（２）のエラーを検知すると、Ｓ５０８にて、ブラウザ３１０は、第１の操作画面を操作した内容のつづきを、第２の操作画面で代替可能かどうかを判断する。具体的には、ブラウザ３１０は、ログ記憶部３４０で記憶した図６のログを参照し、最新のアクセス日時のログに含まれるＵＲＬを取得する。そして図７に示す対応テーブルを参照して、ログから取得したＵＲＬによって特定される操作画面に相当する操作画面の内部コンテンツが、内部コンテンツ記憶部３５０に記憶されているかどうかをサーチする。図７は、第１の操作画面の画面情報の格納場所と、第２の操作画面の画面情報である内部コンテンツの格納場所を対応づけて管理するテーブルである。必須パラメータは、内部コンテンツで操作画面を代替するときに、必ず必要となるパラメータである。図７に示す各情報はＨＤＤ２０５に記憶されブラウザ３１０が管理する。
【００４４】
例えば、最新日時のログのＵＲＬが“ｗｗｗ．ｘｘｘ．ｃｏｍ／ｗｅｂａｐｐ１／ｃｏｐｙ／ｃｏｐｙ＿ｓｅｔｔｉｎｇ．ｈｔｍｌ”である場合、このＵＲＬに対応する内部コンテンツＵＲＬ“ｘｘｘ／ｙｙｙ／ｚｚｚ／ｃｏｐｙ＿ｓｅｔｔｉｎｇ．ｈｔｍｌ”を発見し、代替可能であると判断する。代替可能であると判断した場合、Ｓ５０９に進む。
【００４５】
一方、最新のログのＵＲＬが、テーブルに記憶されていないＵＲＬ（例えば、“ｗｗｗ．ｘｘｘ．ｃｏｍ／ｗｅｂａｐｐ２／ｓｃａｎｔｏｆｔｐ．ｈｔｍｌ”）である場合、このＵＲＬに対応する内部コンテンツＵＲＬは存在せず、代替不可能であると判断する。
【００４６】
Ｓ５０９にて、ブラウザ３１０は、代替可能であると判定した内部コンテンツの必須パラメータを図７のテーブルから取得し、必須パラメータがログ記憶部３４０にログとして記憶されているかどうかを確認する。図７の必須パラメータがログ記憶部３４０に記憶されていれば、Ｓ５１０で内部コンテンツ記憶部３５０から内部コンテンツを取得する。そして、Ｓ５１１で取得した内部コンテンツに対してログ記憶部３５０に記憶した設定パラメータを自動的に設定した操作画面を表示する。
【００４７】
例えば、代替可能であると判定した内部コンテンツＵＲＬが“ｗｗｗ．ｘｘｘ．ｃｏｍ／ｗｅｂａｐｐ１／ｃｏｐｙ／ｃｏｐｙ＿ｓｅｔｔｉｎｇ．ｈｔｍｌ”で特定される操作画面である場合、この操作画面の必須パラメータは、用紙サイズ、倍率、部数パラメータである。このパラメータが最新日時のログの設定パラメータとして記憶されているかどうかを確認する。ログ記憶部３４０に、“ｗｗｗ．ｘｘｘ．ｃｏｍ／ｗｅｂａｐｐ１／ｃｏｐｙ／ｃｏｐｙ＿ｓｅｔｔｉｎｇ．ｈｔｍｌ”に対応づけて設定パラメータとして倍率、用紙サイズ、部数が設定されているので、必須パラメータがログに記憶されていると判断する。
【００４８】
一方、代替可能であると判定した内部コンテンツＵＲＬが”ｗｗｗ．ｘｘｘ．ｃｏｍ／ｗｅｂａｐｐ１／ｍｅｎｕ／ｍｅｎｕ．ｈｔｍｌ”で特定される操作画面である場合、この操作画面の必須パラメータはなく、自動的に必須パラメータがログに記憶されていると判断する。
【００４９】
なお、通常は、第１の操作画面と第２の操作が同一のレイアウトである場合には、ログとして記憶する設定パラメータと、内部コンテンツの必須パラメータは一致する。この場合は、ログとして記憶した設定パラメータを全て内部コンテンツに反映して操作画面を表示する。しかし、外部サーバ上のＷｅｂアプリケーションで画面情報をカスタマイズすると、第１の操作画面と第２の操作画面は一致しない場合がある。この場合には、一致しないパラメータについては内部コンテンツに反映せずに操作画面を表示する。
【００５０】
次に、図８のフローチャートを参照して、ＭＦＰ１０１が実行する処理についてより詳細に説明する。図８のフローチャートの各ステップは、ＣＰＵ２０２がＲＯＭ２０３あるいはＨＤＤ２０５に格納されたプログラムを実行して実現する。本フローチャートは、ブラウザ３１０を起動する指示を操作部２１０を介してユーザから受け付けたことにより開始する。
【００５１】
Ｓ８０１にて、ブラウザ３１０は、外部サーバ１０２に操作画面を要求する。Ｓ８０２にて、ブラウザ３１０は、ログ記憶部３４０に図６のログを記憶する。Ｓ８０３にて、ブラウザ３１０は外部サーバ１０２からの応答として所定時間内に画面情報を受信したか否かを判定する。
【００５２】
画面情報を受信したと判定した場合、Ｓ８０６に進み、第１の操作画面を表示する。画面情報を所定時間内に受信したと判定しなかった場合、Ｓ８０４にて、エラーを検知する。このエラーの検知は、図５のＳ５０７の処理に相当する。Ｓ８０５にて、ログを取得する。
【００５３】
Ｓ８０７にて、ブラウザ３１０は、Ｓ８０４にてログ記憶部３４０から取得したログと、図７に示したテーブルを参照して、第１の操作画面を第２の操作画面で代替することが可能かどうかを判定する。この判定は、図５のＳ５０８の処理に相当する。
【００５４】
Ｓ８０７で代替可能であると判定した場合には、Ｓ８０８にて、代替可能であると判定された第２の操作画面の内部コンテンツを内部コンテンツ記憶部３５０から取得する。代替不可能であると判定された場合には、Ｓ８１２に進み、エラーが発生したことを通知し処理を終了する。
【００５５】
Ｓ８０９にて、取得した内部コンテンツの必須パラメータに一致するパラメータが最新日時のログの設定パラメータとしてログ記憶部３４０に記憶されているかどうかを判定する。この判定は、図５のＳ５０９の処理に相当する。記憶されていると判定された場合、Ｓ８１０に進み、Ｓ８０８で取得した内部コンテンツに基づいて、設定パラメータを設定した状態で操作画面を表示する。Ｓ８１０にて操作画面を表示した以降では、設定パラメータが反映された内部コンテンツに基づく操作画面（第２の操作画面）で画面遷移する。この結果、操作の途中で外部サーバとの通信ができなくなった場合でも、第２の操作画面で残りの操作を継続することができる。
【００５６】
更に、内部コンテンツに基づく操作画面を介してジョブの実行指示を行うと、その実行指示に基づきジョブ実行部はジョブを実行する。この結果、操作の途中で外部サーバと通信できなくなった場合でも、ジョブの実行完了まで操作を継続することができる。
一方Ｓ８０８にて必須パラメータが最新日時のログとして記憶されていないと判定された場合、Ｓ８１１に進み、パラメータを操作画面上の項目に設定することなく、第２の操作画面を操作部２１０に表示する。この場合は、ユーザは改めて第２の画面を介してパラメータの入力を行う。
【００５７】
本実施形態によれば、外部サーバにより提供された操作画面を操作している途中で通信障害などによるエラーが発生した場合、エラー発生前に操作した設定内容を反映させて内部コンテンツ（内部画面情報）に基づく操作画面で処理を継続できる。
【００５８】
（他の実施形態）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【符号の説明】
【００５９】
１０１  ＭＦＰ
１０２  外部サーバ
３１０  ブラウザ
３４０  ログ記憶部
３５０  内部コンテンツ記憶部
【図１】
2012029011.tif 000003
【図２】
2012029011.tif 000004
【図３】
2012029011.tif 000005
【図４】
2012029011.tif 000006
【図５】
2012029011.tif 000007
【図６】
2012029011.tif 000008
【図７】
2012029011.tif 000009
【図８】
2012029011.tif 000010