(57)【特許請求の範囲】
【請求項１】
サーバから、ジョブ操作画面を表示するための画面データと、ジョブを処理するための命令を記述した制御スクリプトとを受信する受信手段と、
受信した前記画面データに基づいて前記ジョブ操作画面をウェブブラウザで表示するとともに、特定のＵＲＬに要求を行うための項目を前記ウェブブラウザで表示する表示制御手段と、
前記ジョブ操作画面に対する操作を受け付けたことに従って、前記制御スクリプトを前記ウェブブラウザで実行することにより、ジョブを処理するジョブ処理手段と、
前記ジョブ操作画面を表示中に前記項目に対する操作を受け付けた場合に、前記制御スクリプトに基づくジョブが処理中か否かを判断する判断手段と、を備え、
前記表示制御手段は、前記制御スクリプトに基づく前記ジョブが処理中であると判断したことに基づき、表示中の前記ジョブ操作画面を閉じることなく、前記特定のＵＲＬに要求を行い、取得した画面データに基づいて他の操作画面を前記ウェブブラウザで表示する、ことを特徴とする情報処理装置。
【請求項２】
前記表示制御手段は、前記ジョブ操作画面を表示中に前記項目に対する操作を受け付けた場合に、前記特定のＵＲＬに対応する画面データが既にあると判断した場合、該画面データをサーバから取得することなく、前記他の操作画面を前記ウェブブラウザで表示する、ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記表示制御手段は、前記処理中のジョブが終了した場合で、かつ、前記ジョブ操作画面が前記ウェブブラウザで表示されている場合は、前記ジョブ操作画面を閉じることを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記画面データはＨＴＭＬデータであることを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
前記制御スクリプトは、ＪａｖａＳｃｒｉｐｔ（登録商標）であることを特徴とする請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
前記ジョブ処理手段は、原稿をスキャンして画像データを生成するジョブ、又は、画像データを指定の宛先へ送信するジョブを実行することを特徴とする請求項１乃至５のいずれか１項に記載の情報処理装置。
【請求項７】
前記表示制御手段は、タブ毎に操作画面を管理し、
前記表示制御手段は、前記他の操作画面を前記ジョブ操作画面と異なるタブで表示することを特徴とする請求項１乃至６のいずれか１項に記載の情報処理装置。
【請求項８】
サーバから、ジョブ操作画面を表示するための画面データと、ジョブを処理するための命令を記述した制御スクリプトとを受信する受信ステップと、
受信した前記画面データに基づいて前記ジョブ操作画面をウェブブラウザで表示するとともに、特定のＵＲＬに要求を行うための項目を前記ウェブブラウザで表示する表示制御ステップと、
前記ジョブ操作画面に対する操作を受け付けたことに従って、前記制御スクリプトを前記ウェブブラウザで実行することにより、ジョブを処理するジョブ処理ステップと、
前記ジョブ操作画面を表示中に前記項目に対する操作を受け付けた場合に、前記制御スクリプトに基づくジョブが処理中か否かを判断する判断ステップと、を備え、
前記表示制御ステップは、前記制御スクリプトに基づく前記ジョブが処理中であると判断したことに基づき、表示中の前記ジョブ操作画面を閉じることなく、前記特定のＵＲＬに要求を行い、取得した画面データに基づいて他の操作画面を前記ウェブブラウザで表示する、ことを特徴とする情報処理方法。
【請求項９】
情報処理方法をコンピュータに実行させるプログラムであって、
前記情報処理方法は、
サーバから、ジョブ操作画面を表示するための画面データと、ジョブを処理するための命令を記述した制御スクリプトとを受信する受信ステップと、
受信した前記画面データに基づいて前記ジョブ操作画面をウェブブラウザで表示するとともに、特定のＵＲＬに要求を行うための項目を前記ウェブブラウザで表示する表示制御ステップと、
前記ジョブ操作画面に対する操作を受け付けたことに従って、前記制御スクリプトを前記ウェブブラウザで実行することにより、ジョブを処理するジョブ処理ステップと、
前記ジョブ操作画面を表示中に前記項目に対する操作を受け付けた場合に、前記制御スクリプトに基づくジョブが処理中か否かを判断する判断ステップと、を備え、
前記表示制御ステップは、前記制御スクリプトに基づく前記ジョブが処理中であると判断したことに基づき、表示中の前記ジョブ操作画面を閉じることなく、前記特定のＵＲＬに要求を行い、取得した画面データに基づいて他の操作画面を前記ウェブブラウザで表示する、ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置及び方法、並びにプログラムに関し、特に、例えばサーバから提供される複数の操作画面を表示部に表示するブラウザを備える情報処理装置及び方法、並びにプログラムに関する。
【背景技術】
【０００２】
ＰＣなどの情報処理装置では、ネットワークを介してサーバから提供される操作画面をブラウザを介して表示部に表示するものがある。
【０００３】
情報処理装置の表示部に操作画面を表示するには、まず、情報処理装置からサーバに対して操作画面を要求（リクエスト）する。そして、サーバのアプリケーションが情報処理装置からの要求に応答して、ブラウザを介して表示部に操作画面を表示させるためのＨＴＭＬデータを情報処理装置に送信する。情報処理装置のブラウザは、受信したＨＴＭＬデータを解析し、ＨＴＭＬデータの記述に基づいた操作画面を表示部に表示する。
【０００４】
また、情報処理装置の表示部に表示された操作画面を介してユーザが指示を入力すると、入力された指示がブラウザを介してサーバに通知される。そして、この通知を受けたサーバのアプリケーションは、入力された指示に従って処理を実行する。
【０００５】
ところで、最近では、スキャナやプリンタを備えたＭＦＰ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）等にも、上述したブラウザを備えるものがある。そして、ＭＦＰは、上述した手順と同様に、サーバから提供される操作画面をブラウザを介して表示部に表示し、ユーザからの各種指示を受け付ける。
【０００６】
一方、ＭＦＰの各機能を実行するための指示を入力する操作画面と、操作画面での操作に応じてＭＦＰを制御する制御スクリプトとをサーバからＭＦＰに提供する技術が提案されている（特許文献１）。
【０００７】
この提案では、表示部に表示された操作画面を介して入力された指示に基づいて、ブラウザに読み込まれている制御スクリプトから処理の実行を指示し、制御スクリプトにより実行されるＭＦＰの機能は、ジョブとしてＭＦＰ内に生成される。
【０００８】
そして、生成されたジョブは、ＭＦＰのスキャナ装置の制御や印刷装置の制御とともに、ユーザに対して、次の入力の要求やエラー改善の要求と言った対話的な処理の要求を行う。この処理の要求を制御スクリプトが受け取りさらに次の処理を行う。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００８−００３８３３号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
ところで、ブラウザは、「戻る」「進む」「アドレスフィールド」「お気に入り」等の表示部での画面遷移を実行する機能を持つのが一般的である。
【００１１】
しかし、上記特許文献１では、ＭＦＰのジョブ実行途中に、ユーザが操作画面の「戻る」ボタン等を操作すると、表示部に表示中の操作画面が切り替わってしまい、操作画面に対応する制御スクリプトが中断されてしまう。このため、実行中のジョブの制御ができなくなってしまう。
【００１２】
また、ユーザが操作画面の「戻る」ボタン等を操作すると、実行中のジョブがユーザの入力待ちや、エラー状態で停止して場合に、ＭＦＰ内に処理が継続できないジョブが滞留してしまう。
【００１３】
そこで、本発明は、ブラウザでジョブを実行している途中でユーザが操作画面の遷移操作を行っても実行中のジョブの制御が中断されることがなく、また、処理途中のジョブが情報処理装置に滞留するのを回避することができる情報処理装置及び方法、並びにプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１４】
上記目的を達成するために、特許請求の範囲１に記載の情報処理装置は、サーバから、ジョブ操作画面を表示するための画面データと、ジョブを処理するための命令を記述した制御スクリプトとを受信する受信手段と、受信した前記画面データに基づいて前記ジョブ操作画面をウェブブラウザで表示するとともに、特定のＵＲＬに要求を行うための項目を前記ウェブブラウザで表示する表示制御手段と、前記ジョブ操作画面に対する操作を受け付けたことに従って、前記制御スクリプトを前記ウェブブラウザで実行することにより、ジョブを処理するジョブ処理手段と、前記ジョブ操作画面を表示中に前記項目に対する操作を受け付けた場合に、前記制御スクリプトに基づくジョブが処理中か否かを判断する判断手段と、を備え、前記表示制御手段は、前記制御スクリプトに基づく前記ジョブが処理中であると判断したことに基づき、表示中の前記ジョブ操作画面を閉じることなく、前記特定のＵＲＬに要求を行い、取得した画面データに基づいて他の操作画面を前記ウェブブラウザで表示する、ことを特徴とする。
【発明の効果】
【００１５】
本発明によれば、ジョブの実行中にユーザが操作画面の遷移操作を行っても実行中のジョブの制御が中断されることがなく、また、処理途中のジョブが情報処理装置に滞留するのを回避することができる。
【図面の簡単な説明】
【００１６】
【図１】本発明の情報処理装置の第１の実施形態に係るＭＦＰを備える情報処理システムの一例を示す図である。
【図２】ＭＦＰの構成例を説明するためのブロック図である。
【図３】サーバの構成例を説明するためのブロック図である。
【図４】（ａ）はＭＦＰのソフトウェアの構成例を説明するためのブロック図、（ｂ）はサーバのソフトウェアの構成例を説明するためのブロック図である。
【図５】ＭＦＰのブラウザ及びサービスプロバイダとサーバのＷｅｂアプリケーションとの間における一連の処理について説明するためのシーケンス図である。
【図６】ＭＦＰの機能の一連の処理で発生する表示部での画面遷移の一例を示す図である。
【図７】画面表示用のＨＴＭＬデータと制御スクリプトの一例を示す図である。
【図８】ブラウザにより表示部に表示される画面の一例を示す図である。
【図９】ブラウザの画面管理部が管理する画面情報テーブルの一例を示す図である。
【図１０】ＭＦＰのブラウザが表示部に操作画面を表示する制御の一例について説明するためのフローチャート図である。
【図１１】図１０のステップＳ１００１で前面に表示するタブがジョブ処理中と判断された場合に、新たに生成した別のタブを前面に表示し、そのタブで指定の画面を表示した結果を示す図である。
【図１２】本発明の情報処理装置の第２の実施形態に係るＭＦＰにおいて、ブラウザが表示部に操作画面を表示する制御の一例について説明するためのフローチャート図である。
【図１３】本発明の情報処理装置の第３の実施形態に係るＭＦＰにおいて、ブラウザが表示部に操作画面を表示する制御の一例について説明するためのフローチャート図である。
【発明を実施するための形態】
【００１７】
以下、本発明の実施形態を図面を参照して説明する。
【００１８】
（第１の実施形態）
図１は、本発明の情報処理装置の第１の実施形態に係るＭＦＰを備える情報処理システムの一例を示す図である。
【００１９】
図１に示すように、本実施形態のＭＦＰ１０１は、ＬＡＮ等のネットワーク１１０を介してサーバ１０２との間で互いに通信可能に接続されている。
【００２０】
図２は、ＭＦＰ１０１の構成例を説明するためのブロック図である。図２において、制御部２１０は、ＣＰＵ２１１、ＲＯＭ２１２、ＲＡＭ２１３、ＨＤＤ２１４、操作部Ｉ／Ｆ２１５、プリンタＩ／Ｆ２１６、スキャナＩ／Ｆ２１７、及びネットワークＩ／Ｆ２１８を有する。
【００２１】
ＣＰＵ２１１は、ＲＯＭ２１２に記憶された制御プログラムをＲＡＭ２１３に読み出して読取制御や送信制御などのＭＦＰ１０１全体の動作を制御する。ＲＡＭ２１３は、ＣＰＵ２１１の主メモリ、ワークエリア等の一時記憶領域として用いられる。ＨＤＤ２１４は、画像データや各種プログラム、或いは後述する各種情報テーブルを記憶する。
【００２２】
操作部Ｉ／Ｆ２１５は、操作部２１９と接続するためのインタフェイスであり、操作部２１９には、タッチパネル機能を有する液晶等の表示部やキーボードなどが設けられている。また、ＭＦＰ１０１は、後述するＷｅｂブラウザ機能が備えており、ＭＦＰ１０１のブラウザはサーバ１０２から提供されるＨＴＭＬデータを解析し、解析したＨＴＭＬデータの記述に基づく操作画面を操作部２１９の表示部に表示する。
【００２３】
プリンタＩ／Ｆ２１６は、プリンタ２２０と接続するためのインタフェイスであり、プリンタＩ／Ｆ２１６を介して画像データがプリンタ２２０に転送され、プリンタ２２０は、受信した画像データをシートに印刷する。
【００２４】
スキャナＩ／Ｆ２１７は、スキャナ２２１と接続するためのインタフェイスであり、スキャナ２２１は、原稿の画像を読み取って画像データを生成し、スキャナＩ／Ｆ２１７を介して制御部２１０に出力する。
【００２５】
ネットワークＩ／Ｆ２１８は、ＭＦＰ１０１をＬＡＮ等のネットワーク１１０に接続するためのインタフェイスであり、ネットワークに接続された外部装置（例えば、サーバ１０２）に画像データや情報を送信したり、外部装置から各種情報を受信したりする。
【００２６】
図３は、サーバ１０２の構成例を説明するためのブロック図である。図３において、制御部３１０は、ＣＰＵ３１１、ＲＯＭ３１２、ＲＡＭ３１３、ＨＤＤ３１４、及びネットワークＩ／Ｆ３１５を有する。
【００２７】
ＣＰＵ３１１は、ＲＯＭ３１２に記憶された制御プログラムを読み出してサーバ１０２全体の動作を制御する。ＲＡＭ３１３は、ＣＰＵ３１１の主メモリ、ワークエリア等の一時記憶領域として用いられる。ＨＤＤ３１４は、画像データや各種プログラム、及び後述する各種情報テーブルを記憶する。
【００２８】
ネットワークＩ／Ｆ３１５は、ＬＡＮ等のネットワーク１１０に接続するためのインタフェイスであり、ネットワーク１１０に接続されたＭＦＰ１０１や他の装置との間で各種情報を送受信する。
【００２９】
図４（ａ）は、ＭＦＰ１０１のソフトウェアの構成例を説明するためのブロック図である。
【００３０】
図４（ａ）に示すように、ＭＦＰ１０１は、ブラウザ４４０、及びサービスプロバイダ４５０を備える。
【００３１】
ブラウザ４４０は、通信部４４１、解析部４４２、表示制御部４４３、スクリプト実行部４４４、及び画面管理部４４５を有する。
【００３２】
通信部４４１は、ＨＴＴＰプロトコルに従ってサーバ１０２の後述するＷｅｂアプリケーション４１０のプレゼンテーション部４１１と通信する。具体的には、通信部４４１は、Ｗｅｂアプリケーション４１０に対してブラウザ４４０で表示する操作画面を要求するリクエストメッセージを送信する。また、通信部４４１は、Ｗｅｂアプリケーション４１０から送信されるレスポンスメッセージを受信する。
【００３３】
更に、通信部４４１は、サービスプロバイダ４５０の通信部４５１に対して機能の実行を依頼するリクエストメッセージを送信する。また、通信部４４１は、サービスプロバイダ４５０から送信されるレスポンスメッセージを受信する。
【００３４】
解析部４４２は、Ｗｅｂアプリケーション４１０から受信したレスポンスメッセージを解析する。レスポンスメッセージには、ＨＴＭＬデータと制御スクリプトが含まれる。ＨＴＭＬデータには、ブラウザ４４０に表示すべき操作画面の内容を示す記述が含まれており、制御スクリプトには、ＭＦＰ１０１の機能を制御するための記述が含まれている。
【００３５】
表示制御部４４３は、解析部４４２でのＨＴＭＬデータの解析結果に基づいて、操作部２１９の表示部に操作画面を表示する。表示制御部４４３は、タブでの切り替えが可能な複数の操作画面を操作部２１９の表示部に表示することができる。
【００３６】
スクリプト実行部４４４は、解析部４４２での制御スクリプトの解析結果に基づいて処理を行う。制御スクリプトには、ＭＦＰ１０１の機能を制御するためにサービスプロバイダ４５０へ指示を出すコードや、サービスプロバイダ４５０のレスポンスに応じて操作画面の画面更新等の処理を行うコードが含まれる。
【００３７】
画面管理部４４５は、表示制御部４４３が表示部に表示する操作画面と、スクリプト実行部４４４の指示によりサービスプロバイダ４５０が実行しているジョブとを関連付けて管理する。
【００３８】
一方、サービスプロバイダ４５０は、通信部４５１、ジョブ生成部４５２、及びジョブステータス通知部４５３を有する。
【００３９】
通信部４５１は、ブラウザ４４０の通信部４４１からジョブ生成を要求するリクエストメッセージを受信する。ジョブ生成部４５２は、通信部４５１が受信したリクエストメッセージを解析し、解析結果に基づき、要求された処理を実行するためのジョブを生成して実行する。
【００４０】
ジョブステータス通知部４５３は、ジョブ生成部４５２が実行するジョブの実行ステータスを監視し、ジョブの実行ステータスが変化すると、通信部４５１にジョブの実行ステータスを通知する。通信部４５１は、ジョブステータス通知部４５３から通知されたジョブの実行ステータスをブラウザ４４０の通信部４４１に送信する。
【００４１】
図４（ｂ）は、サーバ１０２のソフトウェアの構成例を説明するためのブロック図である。
【００４２】
図４（ｂ）に示すように、サーバ１０２は、Ｗｅｂアプリケーション４１０を備え、Ｗｅｂアプリケーション４１０は、プレゼンテーション部４１１、及びロジック部４１２を有する。
【００４３】
プレゼンテーション部４１１は、ＭＦＰ１０１のブラウザ４４０の通信部４４１と通信して、ブラウザ４４０から送信されるリクエストメッセージを受信し、受信したリクエストメッセージをロジック部４１２へ通知して、ロジック部４１２からの応答を待つ。ロジック部４１２からの応答を受け取ったプレゼンテーション部４１１は、応答内容に従ってブラウザ４４０が表示部に表示すべき操作画面に対応するＨＴＭＬデータと制御スクリプトをレスポンスメッセージとしてブラウザ４４０に送信する。
【００４４】
ロジック部４１２は、プレゼンテーション部４１１から通知されるリクエストメッセージに応じて各種処理を実行すると共に、ブラウザ４４０が表示部に表示する画面情報のＨＴＭＬデータとＭＦＰ１０１にて実行する処理の制御スクリプトを生成する。
【００４５】
ここでの制御スクリプトは、例えば、ＭＦＰ１０１のプリンタ２２０による印刷処理の実行や、スキャナ２２１による読み取り処理の実行、あるいはネットワークＩ／Ｆ２１８を介した送信処理の実行を依頼するための制御スクリプトである。サーバ１０２からＭＦＰ１０１に対して処理の実行を依頼する場合、ロジック部４１２は、ＭＦＰ１０１に対してレスポンスするＨＴＭＬデータと制御スクリプトとをプレゼンテーション部４１１に渡す。
【００４６】
次に、図５を参照して、ＭＦＰ１０１のブラウザ４４０及びサービスプロバイダ４５０とサーバ１０２のＷｅｂアプリケーション４１０との間における一連の処理について説明する。
【００４７】
まず、ＭＦＰ１０１のブラウザ４４０がユーザにより起動されると、ステップＳ５０１では、ブラウザ４４０は、ＨＴＴＰのリクエストをＷｅｂアプリケーション４１０に対して行う。
【００４８】
ステップＳ５０２では、Ｗｅｂアプリケーション４１０は、受け付けたリクエストに従い、ブラウザ４４０が表示部に表示する画面のＨＴＭＬデータとブラウザ４４０にて実行する制御スクリプトを生成し、ブラウザ４４０にレスポンスする。
【００４９】
例えば、Ｗｅｂアプリケーション４１０は、受け付けたリクエストがスキャン実行の操作画面である場合は、スキャン画面表示用のＨＴＭＬデータとスキャン実行用の制御スクリプトをブラウザ４４０にレスポンスする。
【００５０】
ステップＳ５０３では、ブラウザ４４０は、Ｗｅｂアプリケーション４１０から受信したＨＴＭＬデータを解析して表示部に操作画面を表示する。また、ブラウザ４４０は、Ｗｅｂアプリケーション４１０から受信した制御スクリプトを解析し、サービスプロバイダ４５０にＭＦＰ１０１の機能の実行を指示する。
【００５１】
ステップＳ５０４では、サービスプロバイダ４５０は、ステップＳ５０３でのブラウザ４４０からの指示によりＭＦＰ１０１の機能を実行し、実行状態をブラウザ４４０にレスポンスする。
【００５２】
ステップＳ５０５では、ブラウザ４４０は、ステップＳ５０４にてサービスプロバイダ４５０から受け取った実行状態を制御スクリプトで処理し、その実行状態に応じた処理を実施する。
【００５３】
本例では、ブラウザ４４０は、受け取った実行状態に応じてＷｅｂアプリケーション４１０に対して再度ＨＴＴＰの要求を行う。例えば、ブラウザ４４０は、受け取った実行状態が処理終了の場合は、処理終了画面のＨＴＴＰの要求を行い、受け取った実行状態が何らかのエラーの場合は、エラー処理画面のＨＴＴＰの要求を行う。
【００５４】
ステップＳ５０６では、Ｗｅｂアプリケーション４１０は、ステップＳ５０５でブラウザ４４０から要求された内容に応じて、操作画面のＨＴＭＬデータと制御スクリプトを生成し、ブラウザ４４０にレスポンスする。以上の処理を繰り返すことにより、ＭＦＰ１０１の機能の一連の処理を進めていくことになる。
【００５５】
図６は、ＭＦＰ１０１の機能の一連の処理で発生する表示部での画面遷移の一例を示す図である。
【００５６】
図６に示すように、本実施形態では、メニュー画面６０１、ＦＴＰ送信設定画面６０２、スキャン画面６０３、送信中画面６０４、及び送信完了画面６０５の順に表示部での画面が遷移する。それぞれの画面は、ブラウザ４４０により表示部に表示され、ユーザ操作や制御スクリプトによって上述した順で遷移していく。
【００５７】
メニュー画面６０１は、ＭＦＰ１０１の機能のうち、どの機能を利用するかを選択する画面である。このメニュー画面６０１からユーザが所定の機能を選択すると、選択した機能に対応した画面に遷移する。
【００５８】
ＦＴＰ送信設定画面６０２は、メニュー画面６０１でユーザがＦＴＰ送信ボタン６０６を押下して、ＦＴＰ送信機能を選択した場合の画面であり、この画面６０２にてＦＴＰ送信のための設定を行い、ＦＴＰ送信機能の実行を指示する。
【００５９】
スキャン画面６０３は、ＦＴＰ送信設定画面６０２でユーザが実行ボタン６０７を押下し、ＦＴＰ送信機能が実行されている状態の画面であり、この画面６０３では、制御スクリプトがスキャンのジョブを制御して、原稿の連続読み込み等の制御を行う。
【００６０】
送信中画面６０４は、スキャン画面６０３にてユーザが送信ボタン６０８を押下し、スキャンで読み込んだ原稿の画像データをＦＴＰサーバへ送信している状態の画面である。
【００６１】
送信完了画面６０５は、スキャンで読み込んだ原稿の画像データのＦＴＰサーバへの送信が終了した場合の画面である。
【００６２】
図７は、画面表示用のＨＴＭＬデータと制御スクリプトの一例を示す図である。図７の例では、ＦＴＰ送信設定画面６０２に対応するＨＴＭＬデータ及び制御スクリプトのデータ７０１を示しており、このデータ７０１は、ＭＦＰ１０１からの要求に応じてサーバ１０２で生成される。
【００６３】
図７に示すように、データ７０１は、ブロック７０２〜７０５に区分されている。以下、ブロック毎に説明する。
【００６４】
［ブロック７０２］
ブロック７０２では、Ｗｅｂアプリケーション４１０にてＦＴＰ送信実行のためのパラメータの一部がセットされる。ｅｎｄｐｏｉｎｔ変数７０６には、ＦＴＰ送信用のサービスプロバイダ４５０へリクエストを出すためのＵＲＬ情報がセットされる。ｆｔｐｓｅｒｖｅｒ変数７０７には、データを送信するＦＴＰサーバのＵＲＬがセットされる。ｆｔｐｐａｔｈ変数７０８には、データを保存するＦＴＰサーバのパスがセットされる。
【００６５】
［ブロック７０３］
ブロック７０３では、実際にＦＴＰ送信用のサービスプロバイダ４５０を呼び出すための処理が記述される。ここでは、ＳＯＡＰを利用してサービスプロバイダ４５０を呼び出す場合を例示しており、ｉｎｖｏｋｅ＿ｗｓ＿ｓｃａｎｔｏｆｔｐ関数７０９が定義されている。ＳｏａｐＰａｒａｍｅｔｅｒ関数７１０は、ＳＯＡＰ形式のパラメータを生成するための関数で、本例では“Ｓｔｒｉｎｇ”型のデータとして、ＦＴＰ送信するファイルの名称、ファイルの形式、送信先ＦＴＰサーバ、保存先パスを設定している。
【００６６】
また、ｃｒｅａｔｅ＿ｓｏａｐ＿ｍｅｓｓａｇｅ関数７１１では、ｅｎｄｐｏｉｎｔに対して実行を指示するＳＯＡＰメッセージの生成を行う。更に、ｓｅｎｄ＿ｓｏａｐ＿ｍｅｓｓａｇｅ関数７１２で、実際にサービスプロバイダ４５０に対してＳＯＡＰのリクエストを実行する。その際、ｊｏｂ＿ｉｄ変数にＦＴＰ送信ジョブを一意に識別するジョブＩＤが返ってくる。
【００６７】
［ブロック７０４］
ブロック７０４では、ｅｘｅｃｕｔｅ＿ｓｃａｎ関数７１３が定義されており、ユーザの入力したＦＴＰ送信するファイルの名称、ファイルの形式をパラメータとし、ｉｎｖｏｋｅ＿ｗｓ＿ｓｃａｎｔｏｆｔｐ関数７０９の呼び出す処理７１４を行う。更に、ｉｎｖｏｋｅ＿ｗｓ＿ｓｃａｎｔｏｆｔｐ関数７０９の実行状態として得られるジョブＩＤをパラメータとし、次画面のデータ取得のためのリクエスト処理の実行指示を行う処理７１５を行う。
【００６８】
［ブロック７０５］
ブロック７０５では、ブラウザ４４０が表示部に表示する画面の内容に加え、ユーザの入力フォーム７１６、次画面のＨＴＴＰ要求を行うためのフォーム７１７が定義されている。入力フォーム７１６では、例えば、ＦＴＰ送信するファイルの名称の入力と、ファイル形式の選択が可能であり、実行ボタンを押下するとｅｘｅｃｕｔｅ＿ｓｃａｎ関数７１３を呼び出す。
【００６９】
また、ブロック７０４の処理７１５により実行指示がなされると、フォーム７１７が実行される。フォーム７１７では、ｐｒｏｃｅｓｓｉｎｇ．ａｓｐｘに対しジョブＩＤをパラメータとしてＰＯＳＴ要求を実施する。ｐｒｏｃｅｓｓｉｎｇ．ａｓｐｘは、スキャン画面６０３のＵＲＩを表している。また、ジョブＩＤは、スキャン画面６０３の制御スクリプトが、例えば、連続読み込みの処理を行うジョブの指定に使用する。
【００７０】
次に、図８を参照して、ブラウザ４４０により表示部に表示される画面におけるタブ制御処理の具体例について説明する。図８は、ブラウザ４４０により表示部に表示される画面の一例を示す図である。
【００７１】
図８において、画面８０１は、受信したＨＴＭＬデータを表示する画面であり、本実施形態では、ＭＦＰ１０１を操作する操作画面とする。タブコントロール８０２は、操作画面を切り替えるためのＧＵＩである。ブラウザ４４０は、複数種の操作画面を保持することが可能であり、その場合、タブコントロール８０２を使用して画面８０１に表示される操作画面を切り替える。
【００７２】
ここで、以下の説明では、ある操作画面に表示を切り替えることを、操作画面を「前面に表示する」と呼び、反対に、操作画面が表示されなくなることを、操作画面を「背面に表示する」と呼ぶことにする。
【００７３】
戻るボタン８０３は、現在前面に表示している操作画面から一つ前に表示していた画面に切り替えるためのボタンである。進むボタン８０４は、戻るボタン８０３を操作して画面を切り替えた場合、切り替え前の画面に再度戻すためのボタンである。アドレスフィールド８０５は、現在表示している画面のＵＲＬを表示する。
【００７４】
また、アドレスフィールド８０５にＵＲＬを直接入力することで、そのＵＲＬにＨＴＴＰ要求を行い、画面の表示を変更することも可能である。戻るボタン８０３、進むボタン８０４及びアドレスフィールド８０５は、画面８０１とは独立して操作可能である。ステータスバー８０６は、制御スクリプトが処理するジョブの実行状態を表示する。
【００７５】
図９は、ブラウザ４４０の画面管理部４４５が管理する画面情報テーブルの一例を示す図である。
【００７６】
画面管理部４４５は、画面情報テーブルにより、操作画面と制御スクリプトが実行するジョブとを関連付けて管理する。画面情報デーブルは、タブＩＤ９０１、フォーカス９０２、ＵＲＬ９０３、ジョブＩＤ９０４、及びジョブステータス９０５を属性として持つ。
【００７７】
タブＩＤ９０１は、タブを一意に識別する情報であり、操作画面を表示するタブを表す。フォーカス９０２は、タブＩＤ９０１により示されるタブの表示状態を示す。フォーカス９０２には、操作画面が前面に表示されており、ユーザの入力操作が可能な状態であれば「ＯＮ」が記録され、操作画面が背面に表示されており、ユーザの入力操作を受け付けない状態であれば「ＯＦＦ」が記録される。
【００７８】
ＵＲＬ９０３は、タブＩＤ９０１により示されるタブが表示するＨＴＭＬデータ及び処理する制御スクリプトのＵＲＬを示す。ジョブＩＤ９０４は、タブＩＤ９０１により示されるタブが制御スクリプトを処理して生成されたジョブを一意に識別する情報を示す。
【００７９】
ジョブステータス９０５は、ジョブＩＤ９０４により示されたジョブの実行状態を示す。ジョブステータス９０５には、処理中であれば「処理中」、処理が正常に終了していれば「正常終了」、処理が異常で終了していれば「異常終了」、処理がキャンセルされて終了していれば「キャンセル」が記録される。
【００８０】
ジョブＩＤ９０４及びジョブステータス９０５のデータは、ジョブの実行状態が変化すると、サービスプロバイダ４５０のジョブステータス通知部４５３から通知される。
【００８１】
画面管理部４４５は、ブラウザ４４０により表示部に表示される操作画面でのユーザ操作に応じて、タブＩＤ９０１、フォーカス９０２、及びＵＲＬ９０３を追加、更新又は削除する。また、画面管理部４４５は、ＵＲＬ９０３が示す制御スクリプトの処理に応じてジョブステータス通知部４５３から通知されるジョブＩＤ及びジョブステータス９０５を更新する。
【００８２】
次に、図１０を参照して、ＭＦＰ１０１のブラウザ４４０が表示部に操作画面を表示する制御の一例について説明する。図１０での各処理は、ＭＦＰ１０１のＲＯＭ２１２やＨＤＤ２１４等に記憶された制御プログラムがＲＡＭ２１３にロードされて、ＣＰＵ２１１により実行される。
【００８３】
まず、ＣＰＵ２１１は、図６に示す表示画面８０１、戻るボタン８０３、進むボタン８０４又はアドレスフィールド８０５のユーザ操作によって表示画面の変更が要求されると、ブラウザ４４０による表示制御の処理を開始する。
【００８４】
ステップＳ１００１では、ＣＰＵ２１１は、画面管理部４４５により画面情報テーブル（図９参照）を確認し、フォーカス９０２が「ＯＮ」のタブ、即ち、前面に表示するタブのジョブステータス９０５が「処理中」であるか否かを判断する。そして、ＣＰＵ２１１は、ジョブステータス９０５が「処理中」の場合は、ステップＳ１００２に進み、ジョブステータス９０５が「処理中」でない場合は、ステップＳ１００３に進む。
【００８５】
ステップＳ１００２では、ＣＰＵ２１１は、画面管理部４４５により新しいタブを生成して、前面に表示し、新しいタブのフォーカス９０２を「ＯＮ」に設定する。また、ＣＰＵ２１１は、画面管理部４４５によりそれまで前面に表示していたタブを背面に表示し、このタブＩＤ９０１のフォーカス９０２を「ＯＮ」から「ＯＦＦ」へ変更し、ステップＳ１００３に進む。Ｓ１００２によれば、それまで前面に表示していたタブによって特定される操作画面を閉じることなく新しいタブを生成して操作画面を表示するので、制御スクリプトが中断されることがない。
【００８６】
ステップＳ１００３では、ＣＰＵ２１１は、通信部４４１によりサーバ１０２のプレゼンテーション部４１１に対して指定されたＵＲＬへリクエストメッセージを送信する。そして、ＣＰＵ２１１は、通信部４４１がサーバ１０２からのレスポンスメッセージを受信すると、ステップＳ１００４に進む。
【００８７】
ステップＳ１００４では、ＣＰＵ２１１は、解析部４４２によりステップＳ１００３で受信したレスポンスメッセージを解析して、表示部に表示するＨＴＭＬデータを取得し、ステップＳ１００５に進む。
【００８８】
ステップＳ１００５では、ＣＰＵ２１１は、表示制御部４４３によりステップＳ１００４で取得したＨＴＭＬデータを前面に表示されるタブ、すなわち、フォーカス「ＯＮ」のタブに表示し、処理を終了する。
【００８９】
図１１は、ステップＳ１００１で前面に表示するタブがジョブ処理中と判断された場合に、新たに生成した別のタブを前面に表示し、そのタブで指定の画面を表示した結果（ステップＳ１００２〜Ｓ１００５の処理結果）を示す図である。ここでは、図６に示すスキャン画面６０３からメニュー画面６０１への画面遷移が指示された場合を例に採る。
【００９０】
この場合、ステップＳ１００２での処理の結果、スキャン画面６０３は、背面に表示され、図１１の表示画面１１０１には表示されない。ステップＳ１００５の処理の結果、図１１の表示画面１１０１には、メニュー画面６０１が表示される。この場合、タブコントロール１１０２を選択すれば、スキャン画面６０３を表示画面１１０１へ表示することができる。ジョブ処理完了のためにユーザ操作が必要であれば、タブコントロール１１０２を選択して画面を切り替えればよい。
【００９１】
一方、スキャン画面６０３を表示画面１１０１に表示した状態でタブコントロール１１０３を選択すれば、メニュー画面６０１へ切り替えることができる。なお、ブラウザ４４０は、ジョブステータス９０５が「処理中」の間、ステータスバー１１０４にジョブ処理中であることを表す情報を表示する。
【００９２】
以上説明したように、本実施形態では、ＭＦＰ１０１のブラウザ４４０が制御スクリプトを処理してジョブを実行している場合に、ユーザがブラウザ４４０に対する画面遷移操作を行っても新たに生成した異なるタブで画面表示するように制御する。これにより、ブラウザ４４０で実行されているジョブの制御スクリプトが中断されることがなく、また、実行中のジョブがユーザの入力待ちやエラー状態で停止している場合等でも、ＭＦＰ１０１に処理が継続できないジョブが滞留するのを回避することができる。
【００９３】
なお、本実施形態では、ブラウザ４４０がタブコントロール８０２を表示してユーザによるタブの切り替え操作を可能としたが、タブコントロールを表示しなくともよい。同様に、戻るボタン８０３、進むボタン８０４、及びアドレスフィールド８０５を表示しなくてもよい。この場合、ブラウザ４４０は、表示画面内のＧＵＩやハイパーリンクの操作によって画面遷移の指示を受け付ける。
【００９４】
また、本実施形態では、図１０のステップＳ１００１において、ジョブが「処理中」であるか否かを判断したが、ジョブが「異常終了」であるか否かを判断基準にしてもよい。この場合、ジョブ処理画面において「異常終了」時のエラーリカバリ操作を受け付けることが可能となる。
【００９５】
また、本実施形態では、複数の操作画面を保持するためにタブを利用する場合を例示したが、これに限定されず、例えば、操作画面に対応して複数のブラウザウィンドウを生成し、それらを管理するようにしてもよい。この場合、画面管理部４４５は、タブＩＤ９０１の代わりに、ブラウザウィンドウを識別するプロセスＩＤ等を用いて、ＵＲＬやジョブＩＤ、ジョブステータスを管理する。
【００９６】
また、本実施形態の説明では、操作画面に表示されなくなることを「背面に表示する」としたが、これに限定されず、例えば、操作画面の少なくとも一部を表示されないようにしたり、操作画面のステータスバー１１０４等の領域に表示したりするようにしてもよい。また、フォーカスが「ＯＮ」に設定されている操作画面を、フォーカスが「ＯＦＦ」に設定されている操作画面上に重ねて表示するようにしてもよい。
【００９７】
（第２の実施形態）
次に、図１２を参照して、本発明の情報処理装置の第２の実施形態に係るＭＦＰについて説明する。なお、上記第１の実施形態に対して重複又は相当する部分については、図及び符号を流用して説明する。
【００９８】
図１２は、ＭＦＰ１０１のブラウザ４４０が表示部に操作画面を表示する制御の一例について説明するためのフローチャート図である。図１２での各処理は、ＭＦＰ１０１のＲＯＭ２１２やＨＤＤ２１４等に記憶された制御プログラムがＲＡＭ２１３にロードされて、ＣＰＵ２１１により実行される。
【００９９】
ステップＳ１００１では、ＣＰＵ２１１は、上記第１の実施形態と同様に、画面管理部４４５により画面情報テーブルを確認し、フォーカス９０２が「ＯＮ」のタブ、即ち、前面に表示するタブのジョブステータス９０５が「処理中」であるか否かを判断する。そして、ＣＰＵ２１１は、ジョブステータス９０５が「処理中」の場合は、ステップＳ１２０２に進み、ジョブステータス９０５が「処理中」でない場合は、ステップＳ１２１２に進む。
【０１００】
ステップＳ１２０２では、ＣＰＵ２１１は、画面管理部４４５により、画面情報テーブルを用いて既にＵＲＬを表示したタブ、即ち、指定されたＵＲＬを表示するタブがあるか否かを判断する。そして、ＣＰＵ２１１は、画面情報テーブルにＵＲＬを表示するタブがある場合、ステップＳ１２０３に進み、ＵＲＬを表示するタブがない場合、ステップＳ１００２へ進む。なお、ステップＳ１００２〜ステップＳ１００５の処理については、上記第１の実施形態と同様であるので、説明を省略する。
【０１０１】
ステップＳ１２０３では、ＣＰＵ２１１は、画面管理部４４５により、指定されたＵＲＬに対応するタブを前面に表示する制御を行い、処理を終了する。
【０１０２】
一方、ステップＳ１２１２では、ＣＰＵ２１１は、画面管理部４４５により、画面情報テーブルを用いて、指定されたＵＲＬを表示するタブがあるか否かを判断する。そして、ＣＰＵ２１１は、画面情報テーブルにＵＲＬを表示するタブがある場合、ステップＳ１２１３に進み、画面情報テーブルにＵＲＬを表示するタブがない場合、ステップＳ１００２に進む。
【０１０３】
ステップＳ１２１３では、ＣＰＵ２１１は、画面管理部４４５により、前面に表示するタブ、即ちフォーカス９０２が「ＯＮ」に設定されている操作画面を非表示にして、非表示にしたタブの画面情報を画面情報テーブルから削除し、ステップＳ１２０３に進む。
【０１０４】
ステップＳ１２０３では、ＣＰＵ２１１は、画面管理部４４５により、ＵＲＬを表示するタブを前面に表示して、画面情報テーブルのフォーカス９０２を「ＯＮ」に設定し、処理を終了する。
【０１０５】
以上説明したように、本実施形態では、ブラウザ４４０がジョブ処理画面への画面遷移指示を受け付けたとき、ジョブ処理中のために背面に表示が切り替えられたタブがあれば、そのタブを前面に切り替え表示する。このため、同じＵＲＬの操作画面を複数のタブで表示することがなくなる。また、ジョブ処理画面を前面に切り替え表示する際に、直前まで前面に表示していたタブの画面情報を画面情報テーブルから削除する処理を行うため、ユーザが利用しない操作画面の増加を制限することができる。これにより、タブが消費するメモリ容量を少なくすることができる。その他の構成及び作用効果は、上記第１の実施形態と同様である。
【０１０６】
（第３の実施形態）
次に、図１３を参照して、本発明の情報処理装置の第３の実施形態に係るＭＦＰについて説明する。なお、上記第１の実施形態に対して重複又は相当する部分については、図及び符号を流用して説明する。
【０１０７】
図１３は、ＭＦＰ１０１のブラウザ４４０が表示部に操作画面を表示する制御の一例について説明するためのフローチャート図である。図１３での各処理は、ＭＦＰ１０１のＲＯＭ２１２やＨＤＤ２１４等に記憶された制御プログラムがＲＡＭ２１３にロードされて、ＣＰＵ２１１により実行される。
【０１０８】
本実施形態では、ＣＰＵ２１１は、サービスプロバイダ４５０のジョブステータス通知部４５３からブラウザ４４０にジョブの実行ステータスを通知されると、ブラウザ４４０による処理を開始する。
【０１０９】
ステップＳ１３０１では、ＣＰＵ２１１は、画面管理部４４５により、ジョブステータス通知部４５３から通知されたジョブの実行状態を確認し、ジョブの実行状態が「正常終了」であるか否かを判断する。そして、ＣＰＵ２１１は、ジョブの実行状態が「正常終了」の場合、ステップＳ１３０２に進み、それ以外の場合は、処理を終了する。
【０１１０】
ステップＳ１３０２では、ＣＰＵ２１１は、画面管理部４４５により、画面情報テーブルを用いて、「正常終了」したジョブのフォーカス９０２を確認する。そして、ＣＰＵ２１１は、ジョブのフォーカス９０２が「ＯＮ」、即ち、ジョブを制御するタブを前面に表示している場合は、処理を終了する。また、ＣＰＵ２１１は、ジョブのフォーカス９０２が「ＯＦＦ」、即ち、ジョブを制御するタブを背面に表示している場合は、ステップＳ１３０３に進む。
【０１１１】
ステップＳ１３０３では、ＣＰＵ２１１は、画面管理部４４５により、ジョブを制御するタブを閉じるとともに、画面情報テーブルから閉じたタブの画面情報を削除して、処理を終了する。
【０１１２】
以上説明したように、本実施形態では、ジョブ処理中のために背面に表示を切り替えたタブをジョブ終了後に速やかに閉じるため、ユーザが利用しないタブでメモリが消費されるのを防止することができる。その他の構成及び作用効果は、上記第１の実施形態と同様である。
【０１１３】
なお、本発明は、上記各実施形態に例示したものに限定されるものではなく、本発明の要旨を逸脱しない範囲において適宜変更可能である。
【０１１４】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。ネットワーク又は各種記憶媒体を介して取得したソフトウェア（プログラム）をパーソナルコンピュータ（ＣＰＵ，プロセッサ）にて実行することでも実現できる。
【符号の説明】
【０１１５】
１０１  ＭＦＰ
１０２  サーバ
【図１】
0005599038.tif 000002
【図２】
0005599038.tif 000003
【図３】
0005599038.tif 000004
【図４】
0005599038.tif 000005
【図５】
0005599038.tif 000006
【図６】
0005599038.tif 000007
【図７】
0005599038.tif 000008
【図８】
0005599038.tif 000009
【図９】
0005599038.tif 000010
【図１０】
0005599038.tif 000011
【図１１】
0005599038.tif 000012
【図１２】
0005599038.tif 000013
【図１３】
0005599038.tif 000014