(57)【特許請求の範囲】
【請求項１】
Ｗｅｂブラウザを備え、Ｗｅｂサーバと通信する画像処理装置であって、
前記Ｗｅｂサーバによって提供される操作画面を、前記Ｗｅｂブラウザを用いて表示部に表示する表示手段と、
前記Ｗｅｂサーバからのジョブの実行指示を、前記Ｗｅｂブラウザを用いて受信する受信手段と、
前記受信手段が受信したジョブの実行指示に基づきジョブを実行する実行手段と、
前記実行手段によるジョブの実行状況を判定する判定手段と、
前記判定手段による判定の結果に基づき、前記実行手段によりジョブが実行されている間に前記表示部に表示された操作画面の切り替えを制限する制限手段と、
を備える画像処理装置。
【請求項２】
前記制限手段は、前記実行手段によりジョブが実行されている間は、前記操作画面の切り替えを行うための操作キーを非表示にすることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記受信手段が受信したジョブの実行指示に基づき、前記画像処理装置に備えられたサービスプロバイダにジョブの実行を指示する指示手段を更に備えることを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
前記受信手段が受信する実行指示は、前記操作画面とともに前記Ｗｅｂサーバから送信される制御スクリプトであることを特徴とする請求項１乃至３のいずれか１項に記載の画像処理装置。
【請求項５】
前記実行手段によりジョブが実行されている間に前記表示部に表示された操作画面の切り替えがユーザによって指示されると、当該切り替えを行うか否かを示す入力をユーザから受け付ける受付手段を更に備え、
前記受付手段によって前記切り替えを行うことを示す入力が受け付けられると、前記実行手段によりジョブが実行されている間であっても前記操作画面の切り替えを行うことを特徴とする請求項１乃至４のいずれか１項に記載の画像処理装置。
【請求項６】
原稿上の画像を読み取って画像データを生成する読取手段を更に備え、
前記実行手段により実行されるジョブは前記読取手段を用いて実行されるスキャンジョブであることを特徴とする請求項１乃至５のいずれか１項に記載の画像処理装置。
【請求項７】
前記制限手段は、前記実行手段により実行されるジョブが第１種別のジョブである場合は当該ジョブが実行されている間に前記操作画面の切り替えを制限し、前記実行手段により実行されるジョブが第２種別のジョブである場合は当該ジョブが実行されている間に前記操作画面の切り替えを制限しないことを特徴とする請求項１乃至５のいずれか１項に記載の画像処理装置。
【請求項８】
前記第１種別のジョブはスキャンジョブを含み、前記第２種別のジョブは印刷ジョブまたは送信ジョブを含むことを特徴とする請求項７に記載の画像処理装置。
【請求項９】
Ｗｅｂブラウザを備え、Ｗｅｂサーバと通信する画像処理装置の制御方法であって、
前記Ｗｅｂサーバによって提供される操作画面を、前記Ｗｅｂブラウザを用いて表示部に表示する表示工程と、
前記Ｗｅｂサーバからのジョブの実行指示を、前記Ｗｅｂブラウザを用いて受信する受信工程と、
前記受信工程で受信したジョブの実行指示に基づきジョブを実行する実行工程と、
前記実行工程におけるジョブの実行状況を判定する判定工程と、
前記判定工程での判定の結果に基づき、前記実行工程でジョブが実行されている間に前記表示部に表示された操作画面の切り替えを制限する制限工程と、
を備える画像処理装置の制御方法。
【請求項１０】
コンピュータを請求項１乃至８のいずれか１項に記載の画像処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、Ｗｅｂサーバと通信可能であり、当該Ｗｅｂサーバにより提供される操作画面を表示するＷｅｂブラウザを備えた画像処理装置、画像処理装置の制御方法及びそのプログラムに関する。
【背景技術】
【０００２】
ＰＣ等の情報処理装置がネットワーク上のＷｅｂサーバに接続され、そのＷｅｂサーバにより提供される操作画面を、情報処理装置が備えるＷｅｂブラウザ上に表示することが知られている。この場合、まず情報処理装置のＷｅｂブラウザが、Ｗｅｂサーバに対して操作画面を要求（リクエスト）する。そして、Ｗｅｂサーバ上のＷｅｂアプリケーションが情報処理装置からの要求に応えて、Ｗｅｂブラウザに操作画面を表示させるためのＨＴＭＬデータを、その情報処理装置に応答（レスポンス）する。これにより、情報処理装置のＷｅｂブラウザは、その受信したＨＴＭＬデータを解析し、ＨＴＭＬデータの記述に基づいた操作画面を表示する。更に、Ｗｅｂブラウザに表示された操作画面を介してユーザが指示を入力すると、その入力された指示をＷｅｂブラウザがＷｅｂサーバに対して通知する。そして、この通知を受けたＷｅｂサーバ上のＷｅｂアプリケーションは、その入力された指示に従って処理を実行する。
【０００３】
ところで、最近ではスキャナやプリンタを備えた多機能処理装置（ＭＦＰ：Multi Function Peripheral）の中にも、上述したようなＷｅｂブラウザを備えているものがある。このようなＭＦＰは、上述した手順を用いてＷｅｂサーバにより提供される操作画面をＭＦＰのＷｅｂブラウザに表示し、ユーザからの各種指示を受け付ける。
【０００４】
また特許文献１には、ＭＦＰが備える各機能を利用するための指示を入力する操作画面と、操作に応じてＭＦＰを制御するための制御スクリプトをＷｅｂサーバが提供することが記載されている。即ち、ＭＦＰのユーザは、Ｗｅｂブラウザ上に表示された操作画面を介して、ＭＦＰに対する指示を入力する。そして、その入力された指示に応じて制御スクリプトが実行される。この制御スクリプトは、ユーザから入力された指示の内容に従ってＭＦＰに対して各種処理の実行を依頼する。そして、この依頼を受けたＭＦＰは、依頼された処理を実行する。これにより、ＭＦＰを操作するための全てのメニューデータをＭＦＰ内で保持しておく必要がなくなり、またメニューデータの変更もＷｅｂサーバ上で容易に行うことができるようになる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−００３８３３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上述した特許文献１のように、Ｗｅｂブラウザに表示された操作画面を介して入力された指示に基づいて、Ｗｅｂブラウザに読み込まれている制御スクリプトから処理の実行を指示する。また制御スクリプトにより実行されるＭＦＰ機能は、ジョブという形でＭＦＰ機器内に生成される。こうして生成されたジョブは、ＭＦＰのスキャナ装置の制御や印刷装置の制御とともに、ユーザに対して、次の入力の要求やエラー改善の要求といった対話的な処理の要求を行う。この処理の要求を制御スクリプトが受け取り、更に次の処理を行う。このように、制御スクリプトとジョブとが対話的に処理を進めていくことで、ＭＦＰ機能の制御を行っている。
【０００７】
一方、Ｗｅｂブラウザは、「戻る」「進む」「アドレスフィールド」「お気に入り」といった、Ｗｅｂブラウザ内に読み込まれているコンテンツの状況とは関係なく、画面遷移を実行する機能を持つのが一般的である。しかしながら、ＭＦＰのＷｅｂブラウザ内に読み込まれた制御スクリプトでＭＦＰの機能を制御する場合、以下の問題が考えられる。即ち、特許文献１のような構成では、ＭＦＰのジョブ実行途中に、ユーザがＷｅｂブラウザの「戻る」ボタン等を操作すると、Ｗｅｂブラウザで実行されている制御スクリプトが中断され、表示している画面が切り替わってしまう。このため、現在実行中のジョブを制御するためのスクリプトが失われ、ジョブの制御ができなくなってしまう。更には、実行中のジョブが、ユーザの入力待ちやエラー状態で停止するとＭＦＰに処理が継続できないジョブが滞留してしまうことになる。
【０００８】
本発明は上記従来技術の問題点を解決するためになされたものであり、ジョブを実行中に画面を遷移する指示が入力されることにより、実行中のジョブの制御が失われることを回避する仕組みを提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するために本発明の一態様に係る画像処理装置は以下のような構成を備える。即ち、
Ｗｅｂブラウザを備え、Ｗｅｂサーバと通信する画像処理装置であって、
前記Ｗｅｂサーバによって提供される操作画面を、前記Ｗｅｂブラウザを用いて表示部に表示する表示手段と、
前記Ｗｅｂサーバからのジョブの実行指示を、前記Ｗｅｂブラウザを用いて受信する受信手段と、
前記受信手段が受信したジョブの実行指示に基づきジョブを実行する実行手段と、
前記実行手段によるジョブの実行状況を判定する判定手段と、
前記判定手段による判定の結果に基づき、前記実行手段によりジョブが実行されている間に前記表示部に表示された操作画面の切り替えを制限する制限手段と、
を備えることを特徴とする。
【発明の効果】
【００１１】
本発明によれば、ジョブを実行中に画面を遷移する指示が入力されることにより、実行中のジョブの制御が失われることを回避することができる。このことにより、処理途中のジョブが情報処理装置内に滞留するのを回避できる。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施形態に係る情報処理システムの全体図。
【図２】本発明の実施形態に係るＭＦＰの構成を示すブロック図。
【図３】本発明の実施形態に係るＷｅｂサーバの構成を示すブロック図。
【図４ａ】、
【図４ｂ】情報処理システムのソフトウェア構成を説明するための図。
【図５】情報処理システムにおける処理の流れを示すシーケンス図。
【図６】情報処理システムの一連の処理で発生する画面遷移の一例を示す図。
【図７】画面表示用のＨＴＭＬデータと制御スクリプトの一例を示す図。
【図８】Ｗｅｂブラウザが表示する画面の一例を示す図。
【図９】ＭＦＰが管理しているジョブのステータス情報の一例を示す図（Ａ）と、ジョブステータス管理部により実施される処理の流れを示すフローチャート（Ｂ）。
【図１０】画面操作の抑制制御の開始通知を受けた際に画面操作制御部が行う処理を説明する図。
【図１１】実施形態２に係るＭＦＰの画面操作制御部が実施する処理を説明するフローチャート（Ａ）と、Ｓ１２で表示される確認画面の一例を示す図。
【図１２】ジョブのステータス情報を説明する図（Ａ）と、ジョブステータス管理部により実施されるジョブのステータスに応じた処理を説明するフローチャート（Ｂ）。
【図１３】実施形態３において、画面操作制御部が画面操作の抑制制御をサブステータス「許可」で実行中に実施する処理を説明するフローチャート。
【図１４】Ｓ３２で表示を行う警告画面の一例を示す図。
【図１５】実施形態４において、画面操作制御部が画面操作抑制を実行中にＷｅｂブラウザが行う処理を説明するフローチャート。
【図１６】実施形態５において、ＭＦＰのサービスプロバイダが要求を受信したときに行う処理を説明するフローチャート。
【図１７】実施形態５に係る情報処理システムにおける処理の流れを示すシーケンス図。
【発明を実施するための形態】
【００１３】
以下、添付図面を参照して本発明の実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
【００１４】
本発明に係る実施形態として、実施形態１〜５について説明する。後述する実施形態１では、ＭＦＰのブラウザで処理された制御スクリプトによりジョブが実行された場合、そのジョブが実行中の間はユーザがブラウザに対する画面遷移操作を行っても、その操作による画面の遷移を抑制する（ユーザの指示をキャンセルする）。これにより、ジョブの滞留を防止することを可能とする。以下では、まず実施形態１〜５に共通する部分について説明した後、実施形態１〜５のそれぞれについて説明する。
【００１５】
図１は、本発明の実施形態に係る情報処理システムの全体図である。ＬＡＮ１１０には、ＭＦＰ１０１及びＷｅｂサーバ１０２が互いに通信可能に接続されている。ＭＦＰ１０１は、Ｗｅｂサーバ１０２から提供される操作画面を表示する。尚、本実施形態では、多機能処理装置（ＭＦＰ）１０１は、本発明に係る情報処理装置の一例として示している。
【００１６】
図２は、本発明の実施形態に係るＭＦＰ１０１の構成を示すブロック図である。ＣＰＵ２１１を含む制御部２１０は、ＭＦＰ１０１全体の動作を制御する。ＣＰＵ２１１は、ＲＯＭ２１２に記憶されたブートプログラムによりＨＤＤ２１４からＯＳや各種アプリケーションプログラムを読み出してＲＡＭ２１３に記憶する。ＲＡＭ２１３は、ＣＰＵ２１１の主メモリ、ワークエリア等の一時記憶領域として用いられる。ＨＤＤ２１４は、画像データや各種プログラム、或いは各種情報テーブル等を記憶する。操作部Ｉ／Ｆ２１５は、操作部２１９と制御部２１０とを接続する。操作部２１９には、タッチパネル機能を有する液晶表示部やキーボード等が備えられている。またＭＦＰ１０１には後述するＷｅｂブラウザ機能が備えられており、ＭＦＰ１０１のＷｅｂブラウザはＷｅｂサーバ１０２から受信したＨＴＭＬデータを解析し、その受信したＨＴＭＬデータの記述に基づく操作画面を操作部２１９の液晶表示部に表示する。プリンタＩ／Ｆ２１６は、プリンタ２２０と制御部２１０とを接続する。プリンタ２２０で印刷すべき画像データはプリンタＩ／Ｆ２１６を介して制御部２１０から転送され、プリンタ２２０において記録媒体上に印刷される。スキャナＩ／Ｆ２１７は、スキャナ２２１と制御部２１０とを接続する。スキャナ２２１は、原稿上の画像を読み取って画像データを生成し、生成した画像データをスキャナＩ／Ｆ２１７を介して制御部２１０に入力する。ネットワークＩ／Ｆ２１８は、制御部２１０（ＭＦＰ１０１）をＬＡＮ１１０に接続する。ネットワークＩ／Ｆ２１８は、ＬＡＮ１１０上の外部装置（例えば、Ｗｅｂサーバ１０２）に画像データや情報を送信したり、ＬＡＮ１１０上の外部装置から各種情報を受信したりする。
【００１７】
図３は、本発明の実施形態に係るＷｅｂサーバ１０２の構成を示すブロック図である。ＣＰＵ３１１を含む制御部３１０は、Ｗｅｂサーバ１０２全体の動作を制御する。ＣＰＵ３１１は、ＲＯＭ３１２に記憶されたブートプログラムによりＨＤＤ３１４からＯＳや各種アプリケーションプログラムを読み出してＲＡＭ３１３に格納する。ＲＡＭ３１３は、ＣＰＵ３１１の主メモリ、ワークエリア等の一時記憶領域として用いられる。ＨＤＤ３１４は、画像データや各種プログラム、或いは各種情報テーブル等を記憶する。ネットワークＩ／Ｆ３１５は、制御部３１０（Ｗｅｂサーバ１０２）をＬＡＮ１１０に接続する。ネットワークＩ／Ｆ３１５は、ＬＡＮ１１０上の他の装置との間で各種情報を送受信する。
【００１８】
図４は、本発明の実施形態に係る情報処理システムのソフトウェア構成を説明するための図である。図４に示す各機能部は、ＭＦＰ１０１及びＷｅｂサーバ１０２が有している各ＣＰＵ２１１，ＣＰＵ３１１が、それぞれ対応するＲＡＭ２１３，ＲＡＭ３１３にロードされたプログラムを実行することにより実現される。
【００１９】
まずＭＦＰ１０１のソフトウェアについて説明する。ＭＦＰ１０１のソフトウェアは大きく分けて、Ｗｅｂブラウザ４４０、サービスプロバイダ４５０、及びジョブステータス管理部４６０を含む。Ｗｅｂブラウザ４４０は、通信部４４１、解析部４４２、画面表示部４４３、スクリプト実行部４４４、及び画面操作制御部４４５を有する。通信部４４１は、ＨＴＴＰプロトコルに従って、Ｗｅｂサーバ１０２のＷｅｂアプリケーション４１０に含まれるプレゼンテーション部４１１と通信する。より具体的には、通信部４４１は、Ｗｅｂブラウザ４４０で表示する操作画面をＷｅｂアプリケーション４１０に対して要求する。この場合、通信部４４１は、Ｗｅｂアプリケーション４１０から送信されるレスポンス（処理結果）を受信する。また、通信部４４１はサービスプロバイダ４５０の通信部４５１に対して機能の実行依頼を送信する。この場合、通信部４４１は、サービスプロバイダ４５０から送信されるレスポンス（処理結果）を受信する。
【００２０】
解析部４４２は、Ｗｅｂアプリケーション４１０から受信したレスポンスを解析する。このレスポンスの中には、ＨＴＭＬデータと制御スクリプトが含まれる。ＨＴＭＬデータには、Ｗｅｂブラウザ４４０に表示すべき操作画面の内容を示す記述が含まれており、制御スクリプトには、ＭＦＰ１０１の機能を制御するための記述が含まれている。画面表示部４４３は、解析部４４２によるＨＴＭＬデータの解析結果に基づいて、操作部２１９に操作画面を表示する。スクリプト実行部４４４は、解析部４４２による制御スクリプトの解析結果に基づいて処理を行う。この制御スクリプトには、ＭＦＰ１０１の機能を制御するためにサービスプロバイダ４５０へ指示を出すコードや、サービスプロバイダ４５０のレスポンスに応じて画面更新等の処理を行うコードが含まれる。画面操作制御部４４５はＷｅｂブラウザ４４０に備わるユーザインタフェースの制御を行う。このユーザインタフェースの制御には、入力ボタンの有効化／無効化、表示／非表示といった処理が含まれる。
【００２１】
サービスプロバイダ４５０は、通信部４５１及びジョブ生成部４５２を有する。通信部４５１は、Ｗｅｂブラウザ４４０の通信部４４１から処理依頼を受け付ける。ジョブ生成部４５２は、通信部４５１が受け付けた処理依頼を受け取り、依頼された処理を実行するためのジョブを生成して実行する。
【００２２】
ジョブステータス管理部４６０は、ステータス判断部４６１とステータス通知部４６２を有する。ステータス判断部４６１は、Ｗｅｂブラウザ４４０により実行されたジョブのステータスを判断し、そのステータスに応じた処理を実施する。ステータス通知部４６２は、ジョブのステータスが変化した際に、Ｗｅｂブラウザ４４０の画面操作制御部４４５にステータスの通知を行う。尚、ジョブステータス管理部４６０は、Ｗｅｂブラウザ４４０に含まれていてもよいし、サービスプロバイダ４５０に含まれていてもよい。
【００２３】
次にＷｅｂサーバ１０２のソフトウェア構成について説明する。Ｗｅｂサーバ１０２は、Ｗｅｂアプリケーション４１０を有する。Ｗｅｂアプリケーション４１０は、Ｗｅｂサーバ１０２のＣＰＵ３１１が、ＲＡＭ３１３にロードされたプログラムを実行することにより実現される。
【００２４】
Ｗｅｂアプリケーション４１０は、Ｗｅｂブラウザ４４０からリクエストとして送信される情報を受信し、その受信した情報に基づいて処理を実行する。この処理結果は、Ｗｅｂアプリケーション４１０からＷｅｂブラウザ４４０に対してレスポンスとして送信される。Ｗｅｂアプリケーション４１０は、プレゼンテーション部４１１及びロジック部４１２を有する。プレゼンテーション部４１１は通信部４４１と通信し、ＭＦＰ１０１から送信されるリクエストを受信する。次に、プレゼンテーション部４１１は、ＭＦＰ１０１から受信したリクエストをロジック部４１２へ通知し、ロジック部４１２からの応答を待つ。ロジック部４１２からの応答を受け取ったプレゼンテーション部４１１は、その応答内容に従ってＭＦＰ１０１のＷｅｂブラウザ４４０で表示すべき操作画面に対応するＨＴＭＬデータと制御スクリプトとを、レスポンスとして通信部４４１へ送信する。
【００２５】
ロジック部４１２は、プレゼンテーション部４１１から通知されるリクエストに応じて各種処理を実行するとともに、ＭＦＰ１０１で表示する画面情報のＨＴＭＬデータとＭＦＰ１０１で実行する処理の制御スクリプトを生成する。具体的には、ＭＦＰ１０１のプリンタ２２０による印刷処理の実行や、スキャナ２２１による読み取り処理の実行、或いはネットワークＩ／Ｆ２１８を介した送信処理の実行を依頼するための制御スクリプトを生成する。ＭＦＰ１０１に対して処理の実行を依頼する場合、ロジック部４１２はプレゼンテーション部４１１に対して、ＭＦＰ１０１にレスポンスとして送信するＨＴＭＬデータと制御スクリプトとを渡す。
【００２６】
以上、本発明の実施形態に係るシステム構成の概要を説明した。次に本発明の実施形態に係るシステム処理の流れの概要を説明する。図５は、本発明の実施形態に係る情報処理システムにおける処理の流れを示すシーケンス図である。
【００２７】
まずＭＦＰ１０１のＷｅｂブラウザ４４０がユーザにより起動されると、Ｗｅｂブラウザ４４０は、Ｓ５０１でＨＴＴＰのリクエストをＷｅｂアプリケーション４１０に送信する。このリクエストを受けたＷｅｂアプリケーション４１０は、Ｗｅｂブラウザ４４０にて表示する画面のＨＴＭＬデータと、Ｗｅｂブラウザ４４０で実行する制御スクリプトを生成する。そしてＳ５０２で、Ｗｅｂアプリケーション４１０からＷｅｂブラウザ４４０にレスポンスを返す。例えば、Ｓ５０１でのリクエストがメニュー画面の要求であれば、メニュー画面表示用のＨＴＭＬデータを、スキャン実行画面の要求であればスキャン画面表示用のＨＴＭＬデータとスキャン実行用の制御スクリプトをＷｅｂブラウザ４４０に送る。これによりＷｅｂブラウザ４４０は、解析部４４２により、その受信したＨＴＭＬデータを解析して画面を表示する。また、Ｗｅｂブラウザ４４０は、制御スクリプトを受信したときは解析部４４２により解析し、Ｓ５０３で、サービスプロバイダ４５０に、その解析した機能を実行するように指示する。
【００２８】
サービスプロバイダ４５０は、Ｓ５０３で指示された内容に従って機能を実行し、その機能の実行結果をＳ５０４で、Ｗｅｂブラウザ４４０に応答する。Ｗｅｂブラウザ４４０は、Ｓ５０４で、その受信したステータスを制御スクリプトで処理し、そのステータスに応じた処理を実施する。本実施形態では、ステータスに応じて、Ｓ５０５でＷｅｂアプリケーション４１０に対して再度ＨＴＴＰを要求する。ここでは例えば、機能実行結果が処理終了であれば処理終了画面のＨＴＭＬデータを要求し、或いは何らかのエラーであれば、エラー処理画面のＨＴＭＬデータのリクエストを送信する。
【００２９】
Ｗｅｂアプリケーション４１０は、Ｓ５０５で要求された内容に応じて、画面のＨＴＭＬデータと制御スクリプトとを生成する。そしてＳ５０６で、Ｗｅｂブラウザ４４０にそれらをレスポンスとして送信する。以上の処理を繰り返すことにより、ＭＦＰ１０１の機能を実現するための一連の処理を進めていくこととなる。
【００３０】
図６は、本実施形態に係る情報処理システムの一連の処理で発生する画面遷移の一例を示す図である。ここでは、メニュー画面６０１、ＦＴＰ送信設定画面６０２、スキャン画面６０３、送信中画面６０４、送信完了画面６０５の順に、処理の進行に従って表示される。これら画面はＷｅｂブラウザ４４０により表示され、ユーザの操作や制御スクリプトの内容に応じて遷移する。メニュー画面６０１は、ＭＦＰ１０１により実行させたい機能をユーザが選択するための画面である。この画面でユーザが機能を選択すると、選択した機能に対応した画面に遷移する。ＦＴＰ送信設定画面６０２は、メニュー画面６０１でユーザがＦＴＰ送信ボタン６０６を押下し、ＦＴＰ送信機能が選択された場合の画面を示す。ユーザは、この画面６０２でＦＴＰ送信のための設定を行うことによりＦＴＰ送信機能の実行を指示する。図６の例では、原稿をスキャンして読み取り、その読み取った画像データをＰＤＦフォーマットで、ファイル名「test.pdf」で保存するように設定されている。
【００３１】
スキャン画面６０３は、ＦＴＰ送信設定画面６０２でユーザが実行ボタン６０７を押下したことにより、ＭＦＰ１０１がＦＴＰ送信機能の実行を開始した場合の画面を示す。この画面６０３では、制御スクリプトがスキャンのジョブを制御しており、原稿の連続読み込み等の制御を行う。送信中画面６０４は、スキャン画面６０３でユーザが送信ボタン６０８を押下することにより、原稿をスキャンして読み込んだ画像データを実際にＦＴＰサーバへ送信している際に表示される。送信完了画面６０５はＦＴＰサーバへの送信が完了したときに表示される。
【００３２】
図７は、本実施形態に係る画面表示用のＨＴＭＬデータと制御スクリプトの一例を示す図である。この例で示すＨＴＭＬデータと制御スクリプト７０１は、ＦＴＰ送信設定画面６０２を構成するため情報である。また、ＨＴＭＬデータと制御スクリプト７０１は、ＭＦＰ１０１からの要求に応じて、Ｗｅｂサーバ１０２のＷｅｂアプリケーション４１０によって動的に生成される。以下、詳しく説明する。
【００３３】
ブロック７０２には、Ｗｅｂサーバ１０２のＷｅｂアプリケーション４１０でＦＴＰ送信実行のためのパラメータの一部がセットされる。endpoint変数７０６には、サービスプロバイダ４５０へＦＴＰ送信用のリクエストを出すためのＵＲＬ情報がセットされる。ftpserver変数７０７には、データの送信先であるＦＴＰサーバのＵＲＬがセットされる。またftppath変数７０８には、ＦＴＰサーバにおけるデータの保存先のパスがセットされる。
【００３４】
ブロック７０３には、実際にＦＴＰ送信用のサービスプロバイダ４５０を呼び出すための処理が記述される。本例ではＳＯＡＰを利用してサービスプロバイダ４５０を呼び出す場合の一例を示す。invoke_ws_scantoftp関数７０９が定義されている。SoapParameter関数７１０は、ＳＯＡＰ形式のパラメータを生成するための関数で、本例では「string」型のデータとして、ＦＴＰ送信するファイルの名称、ファイルの形式、送信先ＦＴＰサーバ、保存先パスを設定している。ここではファイルの名称「filename」、ファイルの形式「format」、送信先ＦＴＰサーバ「ftpserver」、保存先パス「ftppath」である。
【００３５】
また、create_soap_message関数７１１では、endpointに対して実行を指示するＳＯＡＰメッセージの生成を行う。更には、send_soap_message関数７１２で、実際にサービスプロバイダ４５０に対してＳＯＡＰのリクエストを実行する。その際、job_id変数にＦＴＰ送信ジョブを一意に識別するＩＤが返ってくる。
【００３６】
ブロック７０４には、execute_scan関数７１３を定義されており、ユーザが入力したＦＴＰ送信するファイルの名称及びファイルの形式をパラメータとし、invoke_ws_scantoftp関数７０９の呼び出す処理７１４が記述されている。更には、invoke_ws_scantoftp関数７０９の実行結果として得られるジョブＩＤをパラメータとし、次画面のデータ取得のためのリクエスト処理の実行指示を行う処理７１５が記述されている。
【００３７】
ブロック７０５は、Ｗｅｂブラウザ４４０に表示する画面データを示す。ここでは、画面に表示する内容に加え、ユーザの入力フォーム７１６、次画面のＨＴＴＰデータを要求を行うためのフォーム７１７が定義されている。入力フォーム７１６では、ＦＴＰ送信するファイルの名称の入力と、ファイル形式の選択とが可能であり、実行ボタンを押下するとexecute_scan関数７１３を呼び出すことが定義されている。また、ブロック７０４の処理により処理７１５がなされるとフォーム７１７が実行される。このフォーム７１７により、processing.aspxに対して、ジョブＩＤをパラメータとしてＰＯＳＴ要求が実施される。
【００３８】
［実施形態１］
以上、本発明の実施形態に係るシステムの処理の流れの概要を説明した。次に本発明の実施形態１に係る、画面の遷移を抑制する処理の具体例を説明する。
【００３９】
図８は、Ｗｅｂブラウザ４４０が表示する画面の一例を示す図である。画面８０１は、受信したＨＴＭＬデータを用いてＷｅｂブラウザ４４０が表示する画面であり、実施形態１では、Ｗｅｂブラウザ４４０はＭＦＰ１０１を操作するための画面として画面８０１を表示する。戻るボタン８０２は、現在表示している画面の直前に表示していた画面に移動するためのボタンである。進むボタン８０３は、戻るボタン８０２で表示している画面を切り替えた場合、切り替え前の画面に再度戻すためのボタンである。アドレスフィールド８０４は、現在表示している画面のＵＲＬを表示する。また、このアドレスフィールド８０４にＵＲＬを直接入力することにより、そのＵＲＬにＨＴＴＰ要求を行って画面を切り替えることもできる。一般的に８０２から８０４で示す各機能は、画面８０１とは独立しており、いつでも操作可能である。つまり、ジョブの実行中に、これら戻るボタン８０２、進むボタン８０３、及びアドレスフィールド８０４のいずれかを操作すると、現在実行中の制御スクリプトが停止して別の画面に切り替わる。これにより、実行途中のジョブ制御ができなくなってしまう。
【００４０】
図９（Ａ）は、ＭＦＰ１０１のジョブステータス管理部４６０が管理しているジョブのステータス情報の一例を示す図である。ジョブＩＤ９０１は、ジョブを生成した際にジョブを一意に識別する情報として発行される。ステータス９０２は、ジョブＩＤ９０１により示されたジョブが現在どのようなステータスかを示す。当該ジョブについて、処理中であれば「処理中」、処理が正常に終了していれば「正常終了」、処理が異常で終了していれば「異常終了」、処理がキャンセルされて終了していれば「キャンセル」がステータス９０２に記録される。尚、この情報は、Ｗｅｂブラウザ４４０のスクリプト実行部４４４の依頼によりサービスプロバイダ４５０のジョブ生成部４５２がジョブを生成した場合にのみ、記録が開始される。Ｗｅｂブラウザ４４０以外からの要求（例えばＰＣからの印刷要求等）によるジョブでは、この情報の記録は行われない。
【００４１】
図９（Ｂ）は、ジョブステータス管理部４６０により実施されるジョブのステータスに応じた処理の流れを示すフローチャートである。この処理は、新規のジョブが開始され、図９（Ａ）に示すジョブステータス情報の記録が開始されるのと同時に開始される。尚、この処理は、ＨＤＤ２１４からＲＡＭ２１３にロードされたプログラムをＣＰＵ２１１が実行することによりなされる。
【００４２】
まずＳ１で、画面操作の抑制制御の開始通知を行う。この開始通知は、ジョブステータス管理部４６０のステータス通知部４６２から、Ｗｅｂブラウザ４４０の画面操作制御部４４５に対して行われる。次にＳ２に進み、ステータス通知部４６２がジョブのステータスを監視し、ジョブのステータスが「処理中」であれば待機し、ジョブの処理が終了してステータスが変化するとＳ３に進む。Ｓ３では、ステータスの判定結果に応じて画面操作の抑制制御の終了通知を行う。この終了通知は開始通知と同様に、ジョブステータス管理部４６０のステータス通知部４６２から、Ｗｅｂブラウザ４４０の画面操作制御部４４５に対して行われる。
【００４３】
図１０は、Ｓ１で、画面操作の抑制制御の開始通知を受けた際に、画面操作制御部４４５が行う処理を説明する図である。ここでは図８と同じ画面例を示しているが、Ｗｅｂブラウザ４４０に対するユーザからの画面遷移の操作を受け付けないようにして画面遷移を防止する。即ち、画面操作制御部４４５は、ユーザによる画面遷移の指示の受付を制限する。図８の画面例では、戻るボタン８０２、進むボタン８０３、アドレスフィールド８０４等の所定のエリアの操作は有効であり、ユーザによる操作が可能であった。しかし図１０では、戻るボタン１００２、進むボタン１００３、アドレスフィールド１００４等の所定のエリアへの操作は全て無効状態に設定されているため、ユーザがこのボタンを押下しても、その入力は受け付けられない。尚、図１０では、ボタンやフィールドへのユーザの操作を受け付けないようにすることで、ユーザの操作を無効化する場合について説明したが、これらボタンやフィールドを非表示にしてもよい。
【００４４】
以上説明したように本実施形態１によれば、Ｗｅｂブラウザにてジョブ制御中の画面遷移を制御し、処理中のジョブがＭＦＰに滞留することを回避することができる。
【００４５】
［実施形態２］
次に本発明に係る実施形態２について説明する。この実施形態２は、前述の実施形態１においてジョブ処理中に実施する処理が異なる場合について説明する。前述の実施形態１では、図１０で示した様に、ユーザからの画面遷移の操作を受け付けないという画面制御を行っているが、本実施形態２では、ユーザの操作を受け付けた後に、ユーザに画面遷移をどうするか否かを確認する画面制御を行う。尚、この実施形態２に係る情報処理システム、ＭＦＰ１０１及びＷｅｂサーバ１０２の構成は前述の実施形態１と同様であるため、その説明を省略する。
【００４６】
図１１（Ａ）は、実施形態２において、ＭＦＰ１０１の画面操作制御部４４５が画面操作の抑制制御中に実施する処理を説明するフローチャートである。尚、この処理は、ＨＤＤ２１４からＲＡＭ２１３にロードされたプログラムをＣＰＵ２１１が実行することによりなされる。この処理は、図９（Ｂ）のＳ１で画面操作の抑制制御の開始通知を受けて、Ｓ３で画面操作の抑制制御の終了通知を受けるまでの間に実行される。
【００４７】
まずＳ１１で、画面操作制御部４４５は、ユーザによる画面遷移操作がなされるまで待機する。ここでユーザが、例えば図８の戻るボタン８０２、進むボタン８０３、アドレスフィールド８０４のいずれかに対して入力操作を行うとＳ１１からＳ１２に進む。Ｓ１２では、例えば図１１（Ｂ）に示す確認画面を表示する。
【００４８】
図１１（Ｂ）は、Ｓ１２で表示される確認画面の一例を示す図である。この例では、確認画面表示制御として、ジョブが実行中のため画面遷移する場合にはジョブをキャンセルする必要がある点を警告している。ユーザは、現在実行中のジョブをキャンセルして画面を遷移するかどうかを、「はい」ボタン１１０１、或いは「いいえ」ボタン１１０２を押下することにより指示する。
【００４９】
そしてＳ１３で、この確認画面でユーザが入力したボタンを判定する。ここでユーザが「はい」ボタン１１０１を押下した場合は、画面遷移を実行する指示であるためＳ１４の処理に進む。一方、「いいえ」ボタン１１０２を押下した場合は画面遷移を実行しないのでＳ１６に進む。Ｓ１４では、Ｗｅｂブラウザ４４０は、ジョブステータス管理部４６０に通知しジョブのキャンセルを行い、Ｓ１５で、ユーザにより指示された画面へ切り替える。またＳ１６では、ユーザによる画面遷移操作をキャンセルしてＳ１１のユーザによる画面遷移操作の待機に戻る。
【００５０】
以上説明したように本実施形態２によれば、前述の実施形態１と同様に、Ｗｅｂブラウザで画面遷移を制御し、処理中のジョブがＭＦＰに滞留することを回避できる。
【００５１】
［実施形態３］
次に本発明に係る実施形態３について説明する。この実施形態３は、画面の遷移を抑制するか否かについて、実施形態１ではジョブが処理中か否かのみに基づいて判断していたのに対して、より詳細なジョブのステータスを利用して判断する点で実施形態１と異なっている。尚、この実施形態３に係る情報処理システム、ＭＦＰ１０１及びＷｅｂサーバ１０２の構成は前述の実施形態１と同様であるため、その説明を省略する。
【００５２】
ＭＦＰ１０１のジョブの中には、スキャンジョブのように処理中は対話処理を行っているため、常にＷｅｂブラウザ４４０から対話制御が必要なジョブがある。また、印刷やスキャンした画像をメールやＦＴＰサーバへ送信するジョブの様に、ＭＦＰ１０１のバックグラウンド処理機能で実行され、ＭＦＰ１０１で処理が開始されるとＷｅｂブラウザ４４０からの制御を行う必要のないジョブがある。本実施形態３では、Ｗｅｂブラウザ４４０から対話制御が必要なジョブ、即ちＷｅｂブラウザ４４０を使用する処理を実行中の場合は前述の実施形態１，２と同様の処理を行う。一方で、Ｗｅｂブラウザ４４０から対話制御がなくても処理を継続できるジョブを実行中の場合には、前述の実施形態１，２とは異なる画面操作の抑制制御を実施する。
【００５３】
図１２（Ａ）は、図９（Ａ）と同様に、ジョブステータス管理部４６０で処理を行うためのジョブのステータス情報を説明する図である。ジョブＩＤ１２０１、ステータス１２０２はそれぞれ、図９（Ａ）のジョブＩＤ９０１、ステータス９０２と同様である。本実施形態３では、ジョブステータス情報にサブステータス１２０３が追加されている。サブステータス１２０３は、現在実行中のジョブがＷｅｂブラウザ４４０から対話制御が必要で、画面遷移してはいけない状態である場合は「禁止」が設定されている。一方で、サブステータス１２０３は、Ｗｅｂブラウザ４４０から対話制御が必要でない場合には「許可」が設定される。尚、ジョブの処理が終了したらこのステータスは初期化されて何も設定されない。
【００５４】
図１２（Ｂ）は、図９（Ｂ）と同様に、ジョブステータス管理部４６０により実施されるジョブのステータスに応じた処理を説明するフローチャートである。この処理は、新規のジョブが開始され、図１２（Ａ）のジョブステータス情報の記録が開始されるのと同時に処理が開始される。尚、この処理は、ＨＤＤ２１４からＲＡＭ２１３にロードされたプログラムをＣＰＵ２１１が実行することによりなされる。
【００５５】
まずＳ２１で、画面操作の抑制制御の開始通知を行う。この開始通知はジョブステータス管理部４６０のステータス通知部４６２から、Ｗｅｂブラウザ４４０の画面操作制御部４４５に対して行われ、実施形態１の図１０で説明した処理、或いは実施形態２と同様の処理が行われる。次に、Ｓ２２ではステータス通知部４６２がジョブのステータスを監視する。Ｓ２２で、ジョブのステータスが「処理中」であるとステータス通知部４６２が判定した場合にはＳ２３へ進み、ジョブの処理が終了して終了のステータスに変わった場合にはＳ２６に進む。Ｓ２６では、画面操作の抑制制御の終了通知を行う。この終了通知は、開始通知と同様にジョブステータス管理部４６０のステータス通知部４６２から、Ｗｅｂブラウザ４４０の画面操作制御部４４５に対して行われる。
【００５６】
ジョブの処理中の場合はＳ２２からＳ２３に進み、ステータス通知部４６２がジョブのサブステータス１２０３を監視する。Ｓ２３で、このジョブのサブステータス１２０３が「禁止」を示しているとステータス通知部４６２が判定した場合には、Ｓ２４の処理に進み、「許可」の場合はＳ２５の処理に進む。Ｓ２４では、ステータス通知部４６２が、画面操作の抑制制御を行うサブステータス通知を行う。従って、この場合は、前述の実施形態１の図１０の場合と同様に、ユーザのボタン操作による画面の遷移が抑制（禁止）される。一方、Ｓ２５では、ステータス通知部４６２は、ユーザのボタン操作による画面の遷移を許可するサブステータス通知を行う。尚、このサブステータスの通知は、開始や終了通知と同様にジョブステータス管理部４６０のステータス通知部４６２から、Ｗｅｂブラウザ４４０の画面操作制御部４４５に対して行われる。
【００５７】
図１３は、実施形態３において、画面操作制御部４４５が画面操作の抑制制御をサブステータス「許可」で実行中に実施する処理を説明するフローチャートである。尚、この処理は、ＨＤＤ２１４からＲＡＭ２１３にロードされたプログラムをＣＰＵ２１１が実行することによりなされる。この処理は図１２（Ｂ）で、Ｓ２４からＳ２６で画面操作の抑制制御の終了通知を受けるまでの処理である。ここでは、前述の実施形態２と同様に、画面の遷移が禁止されている状態でも、ユーザが画面の遷移を許可する操作を行うと画面の遷移を行う場合について説明する。
【００５８】
まずＳ３１で、ユーザによる画面遷移操作があるまで待機する。ユーザが戻るボタン８０２、進むボタン８０３、及びアドレスフィールド８０４のいずれかに対して入力を行った場合はＳ３２に進む。Ｓ３２では警告画面を表示する。
【００５９】
図１４は、Ｓ３２で表示を行う警告画面の一例を示す図である。この例では送信ジョブの実行中であるため、画面を切り替えることは可能だが、切り替えてしまうとジョブの結果確認は別途行う必要がある点を警告する。ユーザは当該警告画面に表示された質問に対して、「はい」ボタン１４０１、或いは「いいえ」ボタン１４０２のいずれかを押下するとＳ３３に進む。
【００６０】
Ｓ３３では、画面操作制御部４４５が、警告画面でユーザが入力したボタンを判定する。ここでユーザが「はい」ボタン１４０１を押下したと判定した場合は、画面遷移を実行する指示であるためＳ３４の処理に進む。「いいえ」ボタン１４０２を押下した場合には画面遷移を実行しないのでＳ３６に進む。Ｓ３４で、Ｗｅｂブラウザ４４０はジョブステータス管理部４６０に画面を切り替える旨を通知する。そしてＳ３５で、ユーザに指示された画面への切り替えを実施する。尚、ジョブステータス管理部４６０は、画面切り替えの通知を受けると図１２（Ｂ）に示すジョブの監視処理を終了する。またＳ３６では、ユーザによる画面の遷移が発生する操作をキャンセルし、Ｓ３１のユーザによる画面遷移操作の待機に戻る。
【００６１】
以上説明したように本実施形態３によれば、前述の実施形態１，２の効果に加え、より詳細な制御を行うことでユーザビリティを向上させることが可能となる。
【００６２】
［実施形態４］
次に本発明に係る実施形態４について説明する。この実施形態４は、前述の実施形態１〜３において、画面操作の抑制制御中に制御スクリプトからの画面遷移に失敗した場合や、Ｗｅｂブラウザ４４０が強制的に終了された場合の処理に関して説明する。尚、この実施形態４に係る情報処理システム、ＭＦＰ１０１及びＷｅｂサーバ１０２の構成は前述の実施形態１と同様であるため、その説明を省略する。
【００６３】
図５に示す一連の処理で示したとおり、Ｗｅｂブラウザ４４０は、機能の実行結果に応じて再度Ｗｅｂサーバ１０２へＨＴＴＰ要求を行い、ジョブを継続処理するための画面と制御スクリプトとを取得し処理を進めていく。ジョブが実行中で画面操作の抑制制御が行われているときに、このＷｅｂサーバ１０２へのＨＴＴＰ要求が何らかの要因で失敗した場合、Ｗｅｂブラウザ４４０はジョブを継続することができなくなる。これにより、処理中のジョブがＭＦＰ１０１に滞留し、Ｗｅｂブラウザ４４０に対するユーザの操作も禁止された状態のままとなってしまう。また、ＭＦＰ１０１には、ユーザのログオフ機能のように現在実行中のＷｅｂブラウザ４４０を強制的に終了してしまう機能が存在する。この場合も同様に処理中のジョブがＭＦＰ１０１に滞留してしまうことになる。
【００６４】
図１５は、実施形態４において、画面操作制御部４４５が画面操作抑制を実行中にＷｅｂブラウザ４４０が行う処理を説明するフローチャートである。尚、この処理は、ＨＤＤ２１４からＲＡＭ２１３にロードされたプログラムをＣＰＵ２１１が実行することによりなされる。
【００６５】
まずＳ４１で、Ｗｅｂブラウザ４４０は、ＭＦＰ１０１より終了要求を受けたか否かを判定する。終了要求を受けた場合はＳ４３に進んで、実行中のジョブをキャンセルする。一方、Ｓ４１で終了要求を受けていない場合はＳ４２に進み、ＨＴＴＰ要求に失敗したか否かを判定する。ＨＴＴＰ要求が失敗したと判定した場合はＳ４３に進む。失敗していないと判定したときはＳ４１の処理に戻る。Ｓ４３ではジョブのキャンセルを行う。このときＷｅｂブラウザ４４０は、ジョブステータス管理部４６０に通知しジョブのキャンセルを行う。
【００６６】
以上説明したように本実施形態４によれば、ＨＴＴＰリクエストに失敗した場合やブラウザが終了された場合でも適切に処理を終了することが可能となる。
【００６７】
［実施形態５］
次に本発明に係る実施形態５について説明する。この実施形態５では、サービスプロバイダ４５０がＭＦＰ１０１の機能を実行中であることを示す「実行中画面」を、操作部２１９に表示する場合を想定している。ここで、「実行中画面」とは図６のスキャン画面６０３や送信中画面６０４のような画面である。このような場合において、ＭＦＰ１０１では以下のような問題が発生する可能性がある。
【００６８】
ＭＦＰ１０１は、Ｗｅｂブラウザ４４０で表示した操作画面をユーザが操作することにより何らかの指示が入力されると、当該指示をＷｅｂサーバ１０２に通知する。その後、ＭＦＰ１０１は、当該指示に応じた処理の実行をＷｅｂサーバ１０２から要求されるまでの間に、ユーザの操作に応じて、表示中の操作画面を他の操作画面に遷移させる場合がある。
【００６９】
例えば、ＭＦＰ１０１が、Ｗｅｂブラウザ４４０で表示した操作画面を介して入力された指示をＷｅｂサーバ１０２に通知した後、Ｗｅｂブラウザ４４０を閉じ、ＭＦＰ１０１内の他のアプリケーションが提供する操作画面に表示を遷移させる場合である。あるいは、ＭＦＰ１０１が、Ｗｅｂブラウザ４４０自体は起動させたままの状態で、ＭＦＰ１０１内の他のアプリケーションが提供する操作画面を、Ｗｅｂブラウザ４４０による操作画面よりも前面に新たに表示させる場合である。このような場合には、Ｗｅｂサーバ１０２から要求される処理が、当該処理の実行においてユーザの操作を必要とするものであると、当該処理を実行したとしても、処理過程においてユーザに必要な操作を行わせることができない可能性がある。その結果、当該処理を実行することが無駄になってしまう可能性がある。例えば、Ｗｅｂサーバ１０２から要求される処理が原稿の読取処理であり、かつ、読取処理によって得られた画像データをプレビュー機能によりユーザに確認させる必要がある場合、Ｗｅｂブラウザ４４０が表示されていないとプレビューを行うことができない。その結果、Ｗｅｂサーバ１０２から要求された処理における各工程のうち、プレビューよりも後の工程に実行を進めることが不可能となり、既に実行済みの処理が無駄になってしまうことになる。
【００７０】
あるいは、例えば、ユーザが、Ｗｅｂブラウザ４４０の操作画面を介して指示を入力した後に、表示中の操作画面を他の操作画面に遷移させた場合に、当該指示に応じたＷｅｂサーバ１０２からの要求が遅れてＭＦＰ１０１に到達する場合である。この場合、ＭＦＰ１０１は、要求された処理の実行を開始すると、ＭＦＰ１０１自体が保持する画面情報に基づいて、Ｗｅｂサーバ１０２から要求される処理の実行中であることを示す「実行中画面」を操作部２１９において最前面に表示する。その結果、操作部２１９において画面遷移後の操作画面をユーザが操作している間に、「実行中画面」が最前面に表示されてしまい、ユーザの操作が阻害されてしまう。
【００７１】
実施形態５は、このような問題に対処するために、ＭＦＰ１０１において、Ｗｅｂサーバ１０２からの要求に基づく処理を実行する際に、操作画面の遷移を制限することを特徴とする。ここで、前述の実施形態１では、画面遷移を抑制するか否かについて、ジョブの処理中か否かのみに基づいて判断していた。これに対して、実施形態５では、Ｗｅｂブラウザ４４０がサービスプロバイダ４５０へ画面遷移の禁止を要求することによって、画面遷移を抑制する点で、実施形態１と異なっている。尚、以下では、この実施形態５に係る情報処理システム、ＭＦＰ１０１及びＷｅｂサーバ１０２の構成において、これまでに説明した実施形態と共通する部分については、その説明を省略する。
【００７２】
図４（ｂ）は、実施形態５に係る情報処理システムのソフトウェア構成を示す図である。ここでは、図４（ａ）と異なる部分についてのみ説明する。主制御部４８０は、ＭＦＰ１０１における各機能部を制御する。サービスプロバイダ４５０は、通信部４５１及びジョブ生成部４５２に加えて、画面表示部４５３を有する。ここで、画面表示部４４３は、解析部４４２によるＨＴＭＬデータの解析結果に基づいて作成した画面を操作部２１９に表示するのに対して、画面表示部４５３は、サービスプロバイダ４５０における処理に基づいて作成した画面を操作部２１９に表示する。画面制御部４７０は、操作部２１９の画面表示について、Ｗｅｂブラウザ４４０の画面表示部４４３による表示とサービスプロバイダ４５０の画面表示部４５３による表示との切り替えを、主制御部４８０を介して制御する。なお、実施形態５では、ＭＦＰ１０１はジョブのステータスに関する判断を行う必要がないため、図４（ｂ）にはジョブステータス管理部４６０を図示していない。
【００７３】
図１６は、実施形態５において、ＭＦＰ１０１のサービスプロバイダ４５０が、要求を受信したときに行う一連の処理を説明するフローチャートである。当該フローチャートにおける各ステップの動作は、ＭＦＰ１０１のＣＰＵ２１１がＨＤＤ２１４に記憶された制御プログラムを実行することにより実現される。以下では、Ｗｅｂサーバ１０２のＷｅｂアプリケーション４１０によってサービスプロバイダ４５０に対して要求される処理の内容が、「ＳｃａｎＴｏＦＴＰ」である場合について説明する。
【００７４】
Ｓ１６０１で、サービスプロバイダ４５０の通信部４５１は、Ｗｅｂサーバ１０２のＷｅｂアプリケーション４１０からの要求、又はＭＦＰ１０１内のＷｅｂブラウザ４４０からＬｏｃａｌＬｏｏｐｂａｃｋによる要求を受信する。当該受信に応じて、Ｓ１６０２で、サービスプロバイダ４５０は、Ｓ１６０１で受信した要求により実行すべき処理の内容を判断する。ここで、サービスプロバイダ４５０は、Ｗｅｂブラウザ４４０からＬｏｃａｌＬｏｏｐｂａｃｋによる画面遷移禁止要求を受信したことにより、当該処理内容が画面遷移の禁止であると判断した場合、処理をＳ１６０７へ進める。Ｓ１６０７で、サービスプロバイダ４５０は、画面制御部４７０に対して、操作部２１９に表示中の画面の切り替えを禁止することを指示する。この処理は、後述する図１７におけるＳ１７０３及びＳ１７０４に対応する。当該指示に応じて、画面制御部４７０は、例えば、ユーザが操作部２１９を操作して、Ｗｅｂブラウザ４４０の画面表示部４４３による表示画面を閉じて別の画面を表示しようとしても、当該操作をキャンセルする制御を実行する。
【００７５】
一方、Ｓ１６０２で、サービスプロバイダ４５０は、Ｗｅｂアプリケーション４１０から「ＳｃａｎＴｏＦＴＰ」の実行要求を受信したことにより、当該処理内容が「ＳｃａｎＴｏＦＴＰ」であると判断した場合、処理をＳ１６０３に進める。Ｓ１６０３で、サービスプロバイダ４５０の画面表示部４５３は、「ＳｃａｎＴｏＦＴＰ」を実行中であることを示す「実行中画面」を作成するとともに、当該画面を操作部２１９に表示することを画面制御部４７０に対して指示する。ここでは、画面表示部４５３は、例えば図６に示すスキャン画面６０３や送信中画面６０４を「実行中画面」として表示する。
【００７６】
次に、サービスプロバイダ４５０は、Ｓ１６０４で、Ｗｅｂアプリケーション４１０に対して正常応答を行った後に、Ｓ１６０５で、「ＳｃａｎＴｏＦＴＰ」の処理を実行する。Ｓ１６０５で、サービスプロバイダ４５０の画面表示部４５３は、Ｓ１６０３で表示した「実行中画面」を、実行経過を示すように更新してもよい。また、Ｓ１６０３〜Ｓ１６０５の処理の間は、操作部２１９の表示画面を介したユーザの操作を、スキャン画面６０３又は送信中画面６０４の範囲内とし、他の操作画面へ遷移することを禁止としてもよい。「ＳｃａｎＴｏＦＴＰ」の処理が終了すると、Ｓ１６０６へ進み、サービスプロバイダ４５０は、「実行中画面」を閉じて、要求の受信に応じた一連の処理を終了する。
【００７７】
図１７は、Ｗｅｂアプリケーション４１０から要求される処理の内容が「ＳｃａｎＴｏＦＴＰ」である場合の、ＭＦＰ１０１及びＷｅｂサーバ１０２を含む情報処理システム全体における処理の流れを示すシーケンス図である。
【００７８】
Ｓ１７０１で、Ｗｅｂブラウザ４４０は、予めＷｅｂブラウザ４４０に登録されたＵＲＬ、又はユーザにより任意に指定されたＵＲＬに従って、Ｗｅｂサーバ１０２（Ｗｅｂアプリケーション４１０）にアクセスし、操作画面を要求する。当該要求を受信したＷｅｂアプリケーション４１０は、その応答として、Ｓ１７０２で、Ｗｅｂブラウザ４４０が操作部２１９に操作画面を表示するための画面データであるＨＴＭＬファイルを、ＭＦＰ１０１（Ｗｅｂブラウザ４４０）に対して送信する。
【００７９】
当該ＨＴＭＬファイルを受信したＷｅｂブラウザ４４０は、Ｓ１７０３で、当該ＨＴＭＬファイルに記載された制御スクリプトに従って、サービスプロバイダ４５０に対して、画面遷移禁止要求をＬｏｃａｌＬｏｏｐｂａｃｋにより送信する。当該画面遷移禁止要求を受信したサービスプロバイダ４５０は、Ｓ１７０４で、画面制御部４７０に対して、ユーザによる操作に応じた画面遷移の禁止を指示する。これにより、画面制御部４７０は、それ以降に、操作画面を介してユーザによって画面遷移の指示が入力されたとしても、Ｗｅｂアプリケーション４１０から要求される処理が完了するまでは、当該画面遷移の指示をキャンセルするように制御する。
【００８０】
次に、Ｓ１７０５で、Ｗｅｂブラウザ４４０は、Ｓ１７０２で受信したＨＴＭＬファイルに基づいて操作画面を操作部２１９に表示して、ユーザによる操作を受け付ける。ここで、ユーザが「ＳｃａｎＴｏＦＴＰ」の実行を当該操作画面を用いて指示すると、Ｓ１７０６で、Ｗｅｂブラウザ４４０は、当該指示をＷｅｂアプリケーション４１０に通知する。
【００８１】
Ｓ１７０７で、Ｗｅｂアプリケーション４１０は、受信した通知に応じて、サービスプロバイダ４５０に対して「ＳｃａｎＴｏＦＴＰ」の実行を要求する。この要求を受信すると、Ｓ１７０８で、画面表示部４５３は、処理の実行に合わせて、図６に示すスキャン画面６０３及び送信中画面６０４を「実行中画面」として表示することを画面制御部４７０に指示する（図１６のＳ１６０３に対応）。さらに、Ｓ１７０９で、サービスプロバイダ４５０は、Ｗｅｂアプリケーション４１０に対して、Ｓ１７０７の要求に対する正常応答を行う（図１６のＳ１６０４に対応）。Ｗｅｂアプリケーション４１０から要求される処理の実行中においては、「実行中画面」からの画面遷移の指示は画面制御部４７０によってキャンセルされる。
【００８２】
その後、サービスプロバイダ４５０は、Ｓ１７１０で、要求された読取処理を実行するとともに（図１６のＳ１６０５に対応）、Ｓ１７１１で、当該読取処理によって得られた画像データをＷｅｂアプリケーション４１０に送信する。サービスプロバイダ４５０から画像データを受信したＷｅｂアプリケーション４１０は、Ｓ１７１２で、当該画像データをＷｅｂブラウザ４４０に送信する。
【００８３】
Ｓ１７１３で、Ｗｅｂブラウザ４４０は、Ｗｅｂアプリケーション４１０から受信した画像データをプレビュー機能により操作部２１９に表示することで、読取処理によって得られた画像データの内容をユーザに確認させる。画像データの内容を確認したユーザが、Ｗｅｂブラウザ４４０により表示される操作画面を介して画像データの送信の実行を指示すると、Ｓ１７１４で、Ｗｅｂブラウザ４４０は、当該指示をＷｅｂアプリケーション４１０に通知する。Ｗｅｂアプリケーション４１０は、当該指示を受信すると、Ｓ１７１５で、読取処理によって得られた画像データのＦＴＰ送信を実行する。なお、ＦＴＰ送信の宛先は、Ｓ１７０５で表示される操作画面を介してユーザが指定しているものとする。
【００８４】
以上説明したように、実施形態５によれば、ＭＦＰ１０１は、Ｗｅｂアプリケーション４１０から提供された制御スクリプトの内容に応じて、ユーザに対して画面遷移操作の禁止（キャンセル）を行う。即ち、受信した制御スクリプトにＬｏｃａｌＬｏｏｐｂａｃｋによる画面遷移禁止要求の処理の内容が記載されていた場合は、操作部２１９に表示されたＷｅｂブラウザ４４０による操作画面を他の操作画面に遷移させることを禁止する。
【００８５】
これにより、操作部２１９に表示された画面が他の操作画面に切り替えられる（例えば、Ｗｅｂブラウザが閉じられる）ことにより、制御スクリプトによって要求されたその後の処理の実行が阻害されることを防止することができる。また、例えば、読取処理によって生成された画像データについて、プレビュー機能による確認処理を必要とする場合に、その確認処理がなされない状態が継続することで、画像データがＷｅｂサーバ１０２内に留まってしまうことを防止することができる。さらには、操作部２１９に表示された操作画面が切り替わった後に、制御スクリプトで要求された処理の実行の開始に応じて「実行中画面」が表示されることによってユーザが操作中の操作画面の表示が阻害されることを防止することができる。なお、本実施形態では、Ｗｅｂアプリケーション４１０から要求される処理として、「ＳｃａｎＴｏＦＴＰ」を一例として説明したが、他の様々な処理を適用可能である。
【００８６】
（その他の実施例）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
0005591040.tif 000002
【図２】
0005591040.tif 000003
【図３】
0005591040.tif 000004
【図４ａ】
0005591040.tif 000005
【図４ｂ】
0005591040.tif 000006
【図５】
0005591040.tif 000007
【図６】
0005591040.tif 000008
【図７】
0005591040.tif 000009
【図８】
0005591040.tif 000010
【図９】
0005591040.tif 000011
【図１０】
0005591040.tif 000012
【図１１】
0005591040.tif 000013
【図１２】
0005591040.tif 000014
【図１３】
0005591040.tif 000015
【図１４】
0005591040.tif 000016
【図１５】
0005591040.tif 000017
【図１６】
0005591040.tif 000018
【図１７】
0005591040.tif 000019