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