(57)【特許請求の範囲】
【請求項１】
Ｗｅｂサーバにより提供される操作画面を表示するＷｅｂブラウザを備えた画像処理装置であって、
前記Ｗｅｂブラウザに表示される操作画面を介したユーザ操作に基づいて、前記Ｗｅｂサーバに対してリクエストを送信する送信手段と、
前記送信手段が送信したリクエストに基づいて前記Ｗｅｂサーバにより発行される処理要求を前記Ｗｅｂブラウザを介さず受信する受信手段と、
前記受信手段が受信した処理要求に従って画像処理を実行する処理手段と、
前記画像処理の実行終了に応じて、前記送信手段に、前記Ｗｅｂブラウザに表示すべき操作画面を前記Ｗｅｂサーバから取得するための新たなリクエストを送信させる制御手段と、
を備えることを特徴とする画像処理装置。
【請求項２】
前記制御手段は、更に、前記処理手段により実行された前記画像処理の中止に応じて、前記送信手段に、前記Ｗｅｂサーバに対する新たなリクエストを送信させることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記処理要求は、ＳＯＡＰプロトコルを用いて前記Ｗｅｂサーバから送信されることを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
前記受信手段は、前記Ｗｅｂサーバからの処理要求を受信するサービスプロバイダであることを特徴とする請求項１乃至３のいずれか１項に記載の画像処理装置。
【請求項５】
前記処理手段により実行された前記画像処理の終了に応じて前記Ｗｅｂブラウザにイベントを通知する通知手段、を更に備え、
前記送信手段は、前記通知手段による通知に応じて前記新たなリクエストを送信する、ことを特徴とする請求項１乃至４のいずれか１項に記載の画像処理装置。
【請求項６】
Ｗｅｂサーバにより提供される操作画面を表示するＷｅｂブラウザを備えた画像処理装置において実行される画像処理装置の制御方法であって、
前記Ｗｅｂブラウザに表示される操作画面を介したユーザ操作に基づいて、前記Ｗｅｂサーバに対してリクエストを送信する送信工程と、
前記送信工程で送信したリクエストに基づいて前記Ｗｅｂサーバにより発行される処理要求を前記Ｗｅｂブラウザを介さずに受信する受信工程と、
前記受信工程で受信した処理要求に従って画像処理を実行する処理工程と、
前記画像処理の実行終了に応じて、前記送信工程に、前記Ｗｅｂブラウザに表示すべき操作画面を前記Ｗｅｂサーバから取得するための新たなリクエストを送信させる制御工程と、
を有することを特徴とする制御方法。
【請求項７】
前記制御工程では、更に、前記処理工程で実行された前記画像処理の中止に応じて、前記送信工程で、前記Ｗｅｂサーバに対する新たなリクエストを送信させることを特徴とする請求項６に記載の制御方法。
【請求項８】
前記処理要求は、ＳＯＡＰプロトコルを用いて前記Ｗｅｂサーバから送信されることを特徴とする請求項６又は７に記載の制御方法。
【請求項９】
前記処理工程において実行された前記画像処理の終了に応じて前記Ｗｅｂブラウザにイベントを通知する通知工程、を更に有し、
前記送信工程では、前記通知工程における通知に応じて前記新たなリクエストを送信する、
ことを特徴とする請求項６乃至８のいずれか１項に記載の制御方法。
【請求項１０】
コンピュータを請求項１乃至５のいずれか１項に記載の画像処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、Ｗｅｂサーバに接続され、当該Ｗｅｂサーバにより提供される操作画面を表示するＷｅｂブラウザを備えた画像処理装置、画像処理装置の制御方法、及びプログラムに関する。
【背景技術】
【０００２】
ＰＣ等の情報処理装置がネットワーク上のＷｅｂサーバと接続し、そのＷｅｂサーバにより提供される操作画面を、その情報処理装置が備えるＷｅｂブラウザ上に表示することが知られている。この場合、まず情報処理装置のＷｅｂブラウザが、Ｗｅｂサーバに対して操作画面を要求（リクエスト）する。そして、Ｗｅｂサーバ上のＷｅｂアプリケーションが、その情報処理装置からのリクエストに応えて、Ｗｅｂブラウザに操作画面を表示させるためのＨＴＭＬデータを、その情報処理装置に応答（レスポンス）する。これにより情報処理装置のＷｅｂブラウザは、その受信したＨＴＭＬデータを解析し、そのＨＴＭＬデータの記述に基づいた操作画面を表示する。更に、Ｗｅｂブラウザに表示された操作画面を介してユーザが指示を入力すると、その入力された指示をＷｅｂブラウザがＷｅｂサーバに対して通知する。そして、この通知を受けたＷｅｂサーバ上のＷｅｂアプリケーションは、入力された指示に従って処理を実行する。
【０００３】
ところで最近では、スキャナやプリンタを備えた多機能処理装置（ＭＦＰ:Multi Function Peripheral）にも、上述したようなＷｅｂブラウザを備えているものがある。このようなＭＦＰでは、上述した手順を用いてＷｅｂサーバにより提供される操作画面をＭＦＰのＷｅｂブラウザに表示し、ユーザからの各種指示を受け付けることができる。
【０００４】
更に、ＭＦＰが備える各機能を利用するための指示を入力する操作画面をＷｅｂサーバが提供する技術が提案されている（特許文献１）。この特許文献１によれば、ＭＦＰのユーザは、Ｗｅｂブラウザ上に表示された操作画面を介して、ＭＦＰに対する指示を入力し、その入力された指示はＭＦＰのＷｅｂブラウザによってＷｅｂサーバに通知される。この通知を受けたＷｅｂサーバは、ユーザから入力された指示の内容に従って、ＭＦＰに対して各種処理の実行を依頼する。そして、この依頼を受けたＭＦＰは、依頼された処理を実行する。これにより、ＭＦＰを操作するための全てのメニューデータをＭＦＰに保持しておく必要がなくなり、またメニューデータの変更もＷｅｂサーバ上で容易に行うことができるようになる。
【０００５】
また更に、特許文献１と同様に、ＭＦＰが備える各機能を利用するための指示を入力する操作画面をＷｅｂサーバが提供する提案として特許文献２がある。この特許文献２によれば、ＭＦＰのユーザはＭＦＰに対する指示を入力すると、その入力された指示はＭＦＰのＷｅｂブラウザによってＷｅｂサーバにリクエストとして通知される。この通知を受けたＷｅｂサーバは、その入力された指示に基づいてＭＦＰに対する各種処理を記載したスクリプトを作成する。このスクリプトは前述のＷｅｂブラウザからのリクエストに対するレスポンスとして、ＷｅｂサーバからＭＦＰに通知されることが記載されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００６−１２７５０３号公報
【特許文献２】特開２００６−１３５６４４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
一般的に、Ｗｅｂブラウザに表示された操作画面を介して入力された指示に基づいてＷｅｂサーバ上のＷｅｂアプリケーションが処理を実行する場合、Ｗｅｂアプリケーションによる処理が終了したことに応じて、新たな操作画面がＷｅｂブラウザに表示される。つまり、Ｗｅｂサーバは、Ｗｅｂアプリケーションによる処理が終了した時に、処理の終了を通知するための操作画面、或いは次の操作をユーザに行わせるための操作画面のＨＴＭＬデータを生成する。そして、生成したＨＴＭＬデータを、Ｗｅｂブラウザからのリクエストに対するレスポンスとしてＷｅｂブラウザに送信する。
【０００８】
一方、ＰＣやＭＦＰ等の情報処理装置に搭載されるＷｅｂブラウザには、Ｗｅｂサーバに対してリクエストを送信した後、Ｗｅｂサーバからのレスポンスを受け取るまでの制限時間（タイムアウト時間）が設定されているものがある。そして、このタイムアウト時間内にＷｅｂサーバからのレスポンスがない場合、Ｗｅｂブラウザはタイムアウト処理を行う。このタイムアウト処理は、送信したリクエストを無効化する処理である。送信したリクエストが無効化されると、例えば、送信したリクエストに対するレスポンスを待つことを止め、新たなリクエストの送信が可能な状態となる。またこのとき、セッション自体を破棄する処理を行って、Ｗｅｂブラウザのリソースを解放する場合もある。
【０００９】
しかしながら特許文献１のように、ＭＦＰのＷｅｂブラウザに表示された操作画面を介したユーザ操作に基づいてリクエストをＷｅｂサーバに送信し、このリクエストに基づいてＷｅｂサーバがＭＦＰに処理を要求する場合、以下の問題が考えられる。
【００１０】
即ち、ＭＦＰが実行した処理の結果は一旦Ｗｅｂサーバに通知され、この通知を受けたＭＦＰが、Ｗｅｂブラウザから最初に受けたリクエストに対するレスポンスとして処理結果を通知するためのＨＴＭＬデータを送信する。このとき、Ｗｅｂサーバからの要求に基づいて実行するＭＦＰの処理に時間がかかった場合、ＷｅｂサーバがＷｅｂブラウザからのリクエストを受けてから、Ｗｅｂブラウザにレスポンスを返すまでに長い時間が必要となる。従って、Ｗｅｂブラウザにより上述したタイムアウト処理が行われると、Ｗｅｂサーバから返されてくるレスポンスがＷｅｂブラウザによって正常に受け取られなくなるため、ＭＦＰで実行した処理の結果をユーザに通知することができない。
【００１１】
また上述した特許文献２は、ＭＦＰのＷｅｂブラウザからのリクエストに対して、レスポンスとしてＭＦＰでの処理指示を受け取る。この場合、Ｗｅｂブラウザはリクエストに対するレスポンスを受け取っていることになるため、Ｗｅｂブラウザのタイムアウトは発生しない。しかしながら、特許文献２のような構成の場合、ＷｅｂサーバがレスポンスとしてＭＦＰにスクリプトを渡した後は、ＷｅｂサーバはＷｅｂブラウザから次のリクエストを待たなければ、ＷｅｂサーバからＭＦＰに対する処理指示の変更や中止を行えない。そのため、スクリプトの実行中や実行後に、ＷｅｂアプリケーションからＭＦＰに対する処理指示の動的な変更や中止は困難である。
【００１２】
本発明は上記従来技術の問題点を解決することにある。
【００１３】
本願発明の特徴は、情報処理装置での処理の実行状態に応じて、タイムアウトの発生を抑制しつつ、Ｗｅｂサーバから、例えば処理指示の変更や中止を行える仕組みを提供することを目的とする。
【課題を解決するための手段】
【００１４】
上記目的を達成するために本発明の一態様に係る画像処理装置は以下のような構成を備える。即ち、Ｗｅｂサーバにより提供される操作画面を表示するＷｅｂブラウザを備えた画像処理装置であって、前記Ｗｅｂブラウザに表示される操作画面を介したユーザ操作に基づいて、前記Ｗｅｂサーバに対してリクエストを送信する送信手段と、前記送信手段が送信したリクエストに基づいて前記Ｗｅｂサーバにより発行される処理要求を前記Ｗｅｂブラウザを介さず受信する受信手段と、前記受信手段が受信した処理要求に従って画像処理を実行する処理手段と、前記画像処理の実行終了に応じて、前記送信手段に、前記Ｗｅｂブラウザに表示すべき操作画面を前記Ｗｅｂサーバから取得するための新たなリクエストを送信させる制御手段と、を備えることを特徴とする。
【発明の効果】
【００１５】
本発明によれば、Ｗｅｂサーバからの要求に基づく処理を実行している間、タイムアウトの発生を抑制できるという効果がある。
【図面の簡単な説明】
【００１６】
【図１】本実施形態１に係る情報処理システムの全体図。
【図２】本実施形態１に係るＭＦＰの構成を示すブロック図。
【図３】本実施形態１に係るＷｅｂサーバの構成を示すブロック図。
【図４】情報処理システムのソフトウェア構成を説明するための図。
【図５】ＭＦＰとＷｅｂサーバとの間での情報のやり取りを示すシーケンス図。
【図６】ＭＦＰの操作部に表示する設定画面の一例を示す図（Ａ）と、Ｓ５０４で応答するＨＴＭＬデータの一例を示す図（Ｂ）。
【図７】本実施形態１に係るＭＦＰがＷｅｂサーバから依頼された処理を実行する一連の処理を説明するフローチャート。
【図８】実施形態２に係るＭＦＰがＷｅｂサーバから依頼された処理を実行する一連の処理を説明するフローチャートである。
【発明を実施するための形態】
【００１７】
以下、添付図面を参照して本発明の実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
【００１８】
［実施形態１］
まず本発明に係る実施形態１について説明する。実施形態１では、特にＭＦＰ１０１が実行する処理に関するイベントの処理時に、予め受信したＨＴＭＬデータを利用してＷｅｂサーバへリクエスト（要求）を送信する場合で説明する。
【００１９】
図１は、本実施形態１に係る情報処理システムの全体図である。
【００２０】
ＬＡＮ１１０には、ＭＦＰ１０１及びＷｅｂサーバ１０２が互いに通信可能に接続されている。ここでＭＦＰ１０１は、Ｗｅｂサーバ１０２から提供される操作画面を表示する。尚、本実施形態１では、多機能処理装置（ＭＦＰ）１０１は、本発明の情報処理装置の一例として示している。
【００２１】
図２は、本実施形態１に係るＭＦＰ１０１の構成を示すブロック図である。
【００２２】
ＣＰＵ２１１を含む制御部２１０は、ＭＦＰ１０１全体の動作を制御する。ＣＰＵ２１１は、ＲＯＭ２１２に記憶されたブートプログラムによりＨＤＤ２１４からＯＳや各種アプリケーションプログラムを読み出してＲＡＭ２１３に記憶する。ＲＡＭ２１３は、ＣＰＵ２１１の主メモリ、ワークエリア等の一時記憶領域として用いられる。ＨＤＤ２１４は、画像データや各種プログラム、或いは各種情報テーブル等を記憶する。操作部Ｉ／Ｆ２１５は、操作部２１９と制御部２１０とを接続する。操作部２１９には、タッチパネル機能を有する液晶表示部やキーボード等が備えられている。またＭＦＰ１０１には後述するＷｅｂブラウザ機能が備えられており、ＭＦＰ１０１のＷｅｂブラウザはＷｅｂサーバ１０２から受信したＨＴＭＬデータを解析し、その受信したＨＴＭＬデータの記述に基づく操作画面を操作部２１９の液晶表示部に表示する。プリンタＩ／Ｆ２１６は、プリンタ２２０と制御部２１０とを接続する。プリンタ２２０で印刷すべき画像データはプリンタＩ／Ｆ２１６を介して制御部２１０から転送され、プリンタ２２０において記録媒体上に印刷される。スキャナＩ／Ｆ２１７は、スキャナ２２１と制御部２１０とを接続する。スキャナ２２１は、原稿上の画像を読み取って画像データを生成し、スキャナＩ／Ｆ２１７を介して制御部２１０に入力する。ネットワークＩ／Ｆ２１８は、制御部２１０（ＭＦＰ１０１）をＬＡＮ１１０に接続する。ネットワークＩ／Ｆ２１８は、ＬＡＮ１１０上の外部装置（例えば、Ｗｅｂサーバ１０２）に画像データや情報を送信したり、ＬＡＮ１１０上の外部装置から各種情報を受信したりする。
【００２３】
図３は、本実施形態１に係るＷｅｂサーバ１０２の構成を示すブロック図である。
【００２４】
ＣＰＵ３１１を含む制御部３１０は、Ｗｅｂサーバ１０２全体の動作を制御する。ＣＰＵ３１１は、ＲＯＭ３１２に記憶されたブートプログラムによりＨＤＤ３１４からＯＳや各種アプリケーションプログラムを読み出してＲＡＭ３１３に格納する。ＲＡＭ３１３は、ＣＰＵ３１１の主メモリ、ワークエリア等の一時記憶領域として用いられる。ＨＤＤ３１４は、画像データや各種プログラム、或いは各種情報テーブル等を記憶する。ネットワークＩ／Ｆ３１５は、制御部３１０（Ｗｅｂサーバ１０２）をＬＡＮ１１０に接続する。ネットワークＩ／Ｆ３１５は、ＬＡＮ１１０上の他の装置との間で各種情報を送受信する。
【００２５】
図４は、本実施形態１に係る情報処理システムのソフトウェア構成を説明するための図である。図４に示す各機能部は、ＭＦＰ１０１及びＷｅｂサーバ１０２が有している各ＣＰＵ２１１，ＣＰＵ３１１が、それぞれ対応するＲＡＭにロードされたプログラムを実行することにより実現される。
【００２６】
まずＭＦＰ１０１のソフトウェアについて説明する。ＭＦＰ１０１のソフトウェアは大きく分けて、Ｗｅｂブラウザ４４０、サービスプロバイダ４５０を含む。Ｗｅｂブラウザ４４０は、通信部４４１、解析部４４２及び画面表示部４４３を有する。通信部４４１は、ＨＴＴＰプロトコルに従って、Ｗｅｂサーバ１０２のＷｅｂアプリケーション４１０のプレゼンテーション部４１１と通信する。通信部４４１は、Ｗｅｂアプリケーション４１０にリクエストを送信し、Ｗｅｂアプリケーション４１０から送信されるレスポンス（処理結果）を受信する。解析部４４２は、Ｗｅｂアプリケーション４１０から受信したレスポンスを解析する。このレスポンスの中には、ＨＴＭＬデータ等が含まれる。このＨＴＭＬデータには、Ｗｅｂブラウザ４４０に表示すべき操作画面の内容を示す記述などが含まれている。画面表示部４４３は、解析部４４２によるＨＴＭＬデータの解析結果に基づいて、ＭＦＰ１０１の操作部２１９に操作画面を表示する。
【００２７】
サービスプロバイダ４５０は、通信部４５１、ジョブ生成部４５２を有する。通信部４５１は、Ｗｅｂサーバ１０２のＷｅｂアプリケーション４１０のロジック部４１２から処理依頼を受け付ける。ジョブ生成部４５２は、通信部４５１が受け付けた処理依頼を受け取り、Ｗｅｂサーバ１０２から依頼された処理を実行するためのジョブを生成して実行する。
【００２８】
次にＷｅｂサーバ１０２のソフトウェア構成について説明する。このＷｅｂサーバ１０２は、Ｗｅｂアプリケーション４１０を有する。Ｗｅｂアプリケーション４１０は、Ｗｅｂサーバ１０２が有しているＣＰＵ３１１がＲＡＭ３１３にロードされたプログラムを実行することにより実現される。
【００２９】
このＷｅｂアプリケーション４１０は、ＭＦＰ１０１のＷｅｂブラウザ４４０からリクエストとして送信される情報を受信し、その受信した情報に基づいて処理を実行する。そしえ、その処理結果は、Ｗｅｂアプリケーション４１０からＷｅｂブラウザ４４０に対してレスポンスとして送信される。このＷｅｂアプリケーション４１０は、プレゼンテーション部４１１及びロジック部４１２を有する。プレゼンテーション部４１１は、Ｗｅｂブラウザ４４０の通信部４４１と通信し、ＭＦＰ１０１から送信されるリクエストを受信する。またプレゼンテーション部４１１は、ＭＦＰ１０１から受信したリクエストをロジック部４１２へ通知し、ロジック部４１２からの応答を待つ。ロジック部４１２からの応答を受け取ったプレゼンテーション部４１１は、その応答内容に従ってＨＴＭＬデータをレスポンスとして送信する。ロジック部４１２は、プレゼンテーション部４１１から通知されるリクエストに応じて各種処理を実行するとともに、ＭＦＰ１０１に対して処理の実行を依頼する。具体的には、ＭＦＰ１０１のプリンタ２２０による印刷処理の実行や、スキャナ２２１による読み取り処理の実行、或いはネットワークＩ／Ｆ２１８を介した送信処理の実行を依頼する。ロジック部４１２がＭＦＰ１０１に対して処理の実行を依頼する場合、ＭＦＰ１０１が有するサービスプロバイダ４５０の通信部４５１と通信する。
【００３０】
図５は、本実施形態１に係る情報処理システムにおいてＭＦＰ１０１とＷｅｂサーバ１０２との間での情報のやり取りを示すシーケンス図である。
【００３１】
まずＳ５０１で、ＭＦＰ１０１のＷｅｂブラウザ４４０からＷｅｂサーバ１０２のＷｅｂアプリケーション４１０に対して、Ｗｅｂブラウザ４４０における送信設定のための画面（図６（Ａ））を表示するＨＴＭＬデータを要求するリクエストが送信される。これによりＳ５０２で、Ｗｅｂアプリケーション４１０は、そのリクエスト（Request）に対する処理結果をＨＴＭＬデータとともにレスポンス(Response)としてＷｅｂブラウザ４４０に送信する。Ｗｅｂブラウザ４４０は、その受信したレスポンスに含まれるＨＴＭＬデータを解析部４４２で解析し、画面表示部４４３によってその解析結果を表示する。
【００３２】
図６（Ａ）は、図５のＳ５０２の処理の結果、Ｗｅｂブラウザ４４０がＭＦＰ１０１の操作部２１９に表示する設定画面の一例を示す図である。
【００３３】
図６（Ａ）において、ＧＵＩパネル６０１には、ファイル名を設定するテキストボックスコントロール６０２、画像フォーマットを選択するラジオボタン６０３が表示されている。この例では、画像データに「test.pdf」というファイル名を付与し、ラジオボタン６０３により、画像データをＰＤＦフォーマットで生成することが設定されている。またＧＵＩボタン６０４は、機能の実行を指示するボタンであり、ユーザにより押下（指示）されるとスキャナ２２１によるスキャン開始の指示となる。
【００３４】
次にＳ５０３で、Ｗｅｂブラウザ４４０は操作部２１９に表示される、例えば図６（Ａ）の操作画面を介したユーザ操作により、Ｗｅｂアプリケーション４１０に対して処理の実行を指示するリクエストを送信する。ここでは、ユーザが実行ボタン６０４を押下すると、Ｗｅｂブラウザ４４０はテキストボックスコントロール６０２やラジオボタン６０３に設定されたパラメータをＷｅｂアプリケーション４１０に送信する。
【００３５】
次にＳ５０４で、Ｗｅｂアプリケーション４１０のプレゼンテーション部４１１が、Ｓ５０３のリクエストに応じてＷｅｂブラウザ４４０が表示するＨＴＭＬデータを作成する。このＨＴＭＬデータには、後述するサービスプロバイダ４５０からのイベント通知で利用されるＨＩＤＤＥＮ要素のフォームが含まれている。そして、この作成したＨＴＭＬデータとともにレスポンスをＷｅｂブラウザ４４０に送信する。もちろんフォームをＨＩＤＤＥＮ要素にする事は必須の条件ではないため、ＨＩＤＤＥＮ要素にしなくてもよい。
【００３６】
図６（Ｂ）は、図５のＳ５０４で応答するＨＴＭＬデータの一例を示す図である。
【００３７】
＜form method="get" name="ForRequest"＞は、「ＦｏｒＲｅｑｕｅｓｔ」という名前のフォームであることを示す。＜input type="hidden" name="test1" value="val1"＞は、画面上には表示されない隠し要素のフォームを示す。
【００３８】
またこのときＳ５０５で、Ｗｅｂアプリケーション４１０のロジック部４１２が、Ｓ５０３で受信したリクエストに含まれる処理の実行指示及び処理の実行に必要なパラメータ値に基づいて、サービスプロバイダ４５０に対して、上述した処理の実行を依頼する。この通信にはＳＯＡＰプロトコルを利用する。この処理依頼を受け付けたサービスプロバイダ４５０は、その依頼された処理内容に従って、原稿のスキャン及びＰＤＦフォーマットのファイル作成等の処理を実行する。即ち、図６（Ａ）の例では、スキャナ２２１により原稿を読み取り、その読み取った画像データをＰＤＦファイルで格納し、そのファイル名を「test.pdf」とする処理を実行する。
【００３９】
次にＳ５０６で、サービスプロバイダ４５０が、Ｓ５０４でＷｅｂブラウザ４４０が受信したＨＴＭＬデータに含まれるフォームに対して、イベントを生起させる命令としてＳＵＢＭＩＴコマンドを通知する。尚、ＨＴＭＬデータに複数のフォームが存在する場合は、予め決めておいた名前のフォームに対して、ＳＵＢＭＩＴコマンドを通知する。そしてＳ５０７で、Ｗｅｂブラウザ４４０がフォームのＳＵＢＭＩＴコマンドを受けて、Ｗｅｂアプリケーション４１０に対してリクエストを送信する。そしてＳ５０８で、Ｗｅｂアプリケーション４１０は、そのリクエストに対する処理結果をＨＴＭＬデータとともにレスポンスとしてＷｅｂブラウザ４４０に送信する。これによりＷｅｂブラウザ４４０は、その受信したレスポンスに含まれるＨＴＭＬデータを解析部４４２で解析し、画面表示部４４３によってその解析結果を表示する。
【００４０】
尚、Ｓ５０６でのＳＵＢＭＩＴコマンドの通知は、Ｗｅｂアプリケーション４１０から指示された時間（実施形態２）、或いはエラーの発生、或いは処理の完了などであっても良い。
【００４１】
図７は、本実施形態１に係るＭＦＰ１０１のサービスプロバイダ４５０がＷｅｂサーバ１０２から依頼された処理を実行する一連の処理を説明するフローチャートである。図７のフローチャートに示す各動作は、ＭＦＰ１０１のＣＰＵ２１１がＨＤＤ２１４からＲＡＭ２１３にロードされたプログラムを実行することにより実現される。
【００４２】
まずＳ７０１で、サービスプロバイダ４５０の通信部４５１がＷｅｂアプリケーション４１０のロジック部４１２から処理依頼を受け付ける。この処理依頼を受け付けた通信部４５１は、処理依頼をジョブ生成部４５２へ通知する。次にＳ７０２に進み、この処理依頼を受け付けたジョブ生成部４５２が、依頼された処理がＭＦＰ１０１で実行可能な状態であることを確認する。次にＳ７０３に進み、ジョブ生成部４５２は、その依頼された処理を実行するためのジョブを生成して実行する。
【００４３】
次にＳ７０４に進み、通信部４５１は、Ｗｅｂアプリケーション４１０のロジック部４１２から新たな別の処理依頼を受付けたか否かを判定する。ここで、Ｗｅｂアプリケーション４１０のロジック部４１２から新たな別の処理依頼を受付けたと判定した場合はＳ７０６へ進み、Ｗｅｂアプリケーション４１０のロジック部４１２から新たな別の処理依頼を受付けてないと判定した場合はＳ７０５へ進む。Ｓ７０５でサービスプロバイダ４５０は、サービスプロバイダ４５０による処理が終了したかどうかを判定し、終了したと判定した場合はＳ７０７に進む。一方、Ｓ７０６では、サービスプロバイダ４５０は、Ｗｅｂサーバ１０２から受け付けた新たな別の処理依頼がジョブの中止依頼か否かを判定する。Ｓ７０６でジョブの中止依頼であると判定した場合は、ジョブ生成部４５２に対してジョブの中止コマンドを投げるとともにＳ７０７へ進む。またジョブの中止依頼ではないと判定した場合はＳ７０５へ進む。Ｓ７０７では、サービスプロバイダ４５０がＷｅｂブラウザ４４０に対して、ＳＵＢＭＩＴコマンドを通知する。
【００４４】
以上により、Ｗｅｂサーバ１０２のＷｅｂアプリケーション４１０が、ＭＦＰ１０１のサービスプロバイダ４５０による処理の完了を待たずにレスポンスを送信することになる。これのよりＷｅｂブラウザ４４０は、Ｓ５０３のリクエストに対するレスポンス待ちによるタイムアウトの発生を抑えることができる。
【００４５】
また、この構成により、Ｗｅｂサーバ１０２のＷｅｂアプリケーション４１０は、ＭＦＰ１０１のＷｅｂブラウザ４４０からのリクエストを待たずにジョブの中止や、ジョブの変更といった新たな別の処理を依頼することもできる。
【００４６】
また、この構成においては、フォームとして入力フィールドを用意することもでき、ＭＦＰ１０１のサービスプロバイダ４５０がフォームに処理状況の情報を入力してから、ＳＵＢＭＩＴコマンドを通知することも可能となる。これによりＭＦＰ１０１の処理状況をＷｅｂサーバ１０２に伝えることもできる。
【００４７】
［実施形態２］
次に、本発明に係る実施形態２について説明する。前述の実施形態１では、ジョブの実行が終了した時、或いはジョブの中止が行われた時に、ＳＵＢＭＩＴコマンドを通知する例を説明した。これに対して実施形態２では、Ｗｅｂアプリケーション４１０から受け付けた処理依頼に、ＳＵＢＭＩＴコマンドを通知するタイミングが記載されている例で説明する。尚、実施形態２に係るシステムの構成及びＭＦＰ１０１，Ｗｅｂサーバ１０２の構成は前述の実施形態１と同様であるため、その説明を省略する。
【００４８】
図８は、実施形態２に係るサービスプロバイダ４５０がＷｅｂサーバ１０２から依頼された処理を実行する一連の処理を説明するフローチャートである。図８のフローチャートに示す各動作は、ＭＦＰ１０１のＣＰＵ２１１が、ＨＤＤ２１４からＲＡＭ２１３にロードされたプログラムを実行することにより実現される。尚、図７と共通する処理を示すステップには同じ記号を付して、その説明を省略する。
【００４９】
Ｓ７０４で、ＭＦＰ１０１の通信部４５１は、Ｗｅｂアプリケーション４１０のロジック部４１２から新たな別の処理依頼を受付けたか否かを判定する。別の処理依頼を受付けるとＳ８０３に進み、ＭＦＰ１０１のサービスプロバイダ４５０は、その受付けた別の処理依頼にＳＵＢＭＩＴコマンドのイベントを通知するタイミングについての記載があるか否か判定する。ここで、ＳＵＢＭＩＴコマンドのイベントを通知するタイミングについての記載があると判定した場合はＳ８０４に進むが、イベント通知のタイミングの記載がないと判定した場合はＳ８０１に進む。Ｓ８０４では、サービスプロバイダ４５０は、ＳＵＢＭＩＴコマンドのイベントを通知するタイミングとして保持している情報を、その受け付けた新たな別の処理依頼に記載されているタイミングに更新してＳ８０１へ進む。Ｓ８０１でサービスプロバイダ４５０は、ＳＵＢＭＩＴコマンドのイベントを通知するタイミングとして保持している情報を参照して、イベント通知タイミングになったか否かを判定する。そしてイベント通知タイミングであると判定した場合はＳ８０２へ進む。Ｓ８０２で、サービスプロバイダ４５０がＷｅｂブラウザ４４０に対して、ＳＵＢＭＩＴコマンドでイベントを通知する。
【００５０】
以上説明したように本実施形態２によれば、Ｗｅｂサーバ１０２のＷｅｂアプリケーション４１０が、図５のＳ５０７のリクエストを受け取るタイミングを動的に変更できる。これによりＭＦＰ１０１のＷｅｂブラウザ４４０と、Ｗｅｂサーバ１０２のＷｅｂアプリケーション４１０が所望のタイミングで情報のやり取りを行うことができる。
【００５１】
尚、図５のＳ５０６において、サービスプロバイダ４５０からＷｅｂブラウザ４４０に対し、ＳＵＭＩＴのイベントを通知することにより、Ｗｅｂブラウザ４４０からＷｅｂアプリケーション４１０にリクエストを送信する例について説明した。しかしながらサービスプロバイダ４５０からＷｅｂブラウザ４４０に対する通知方法は、このような方法に限定されるものではなく、Ｗｅｂブラウザ４４０からＷｅｂアプリケーション４１０にリクエストを送信する引き金となれば他の手法を用いてもよい。例えば、ＭＦＰ１０１の操作部２１９の特定のボタンを押下することで、Ｗｅｂブラウザ４４０からＷｅｂアプリケーション４１０にリクエストを送信するようにもできる。この場合、サービスプロバイダ４５０からＷｅｂブラウザ４４０に対して特定のボタンの押下イベントを通知しても良い。
【００５２】
他には、特定のＪａｖａ（登録商標）Ｓｃｒｉｐｔを実行することにより、Ｗｅｂブラウザ４４０からＷｅｂアプリケーション４１０にリクエストを送信するようにしても良い。この場合は、サービスプロバイダ４５０は、図５のＳ５０６で、ＳＵＢＭＩＴコマンドによるイベント通知の代わりに特定のＪａｖａ（登録商標）Ｓｃｒｉｐｔを実行しても良い。
【００５３】
（その他の実施形態）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
0005620674.tif 000002
【図２】
0005620674.tif 000003
【図３】
0005620674.tif 000004
【図４】
0005620674.tif 000005
【図５】
0005620674.tif 000006
【図６】
0005620674.tif 000007
【図７】
0005620674.tif 000008
【図８】
0005620674.tif 000009