(57)【要約】【課題】Ｗｅｂサーバから要求された処理に対する実行状況に応じて、Ｗｅｂサーバにおけるアクセス先を自動選択可能である情報処理装置及びその制御方法を提供する。【解決手段】Ｗｅｂブラウザに表示された操作画面からユーザにより指示された指示内容に従った第１の処理要求データをＷｅｂサーバに送信する第１の送信手段と、第１の送信手段が送信した第１の処理要求データに対する応答データをＷｅｂサーバから受信し、該受信した応答データに従った処理を実行する実行手段と、Ｗｅｂサーバからの応答データに基づいて、Ｗｅｂサーバに予め定めた第２の処理要求データを送信する第２の送信手段と、を備え、Ｗｅｂサーバからの応答データは、実行手段が処理を実行中に発生し得るイベントに応じてアクセスすべきＷｅｂサーバにおける複数のアドレスを含み、第２の送信手段は、複数のアドレスのうち、実際に発生したイベントに応じたアドレスに対して、第２の処理要求データを送信する。【選択図】図５
2011123677.tif 000002
【特許請求の範囲】
【請求項１】
Ｗｅｂサーバから提供される操作画面を表示するためのＷｅｂブラウザを備えた情報処理装置であって、
前記Ｗｅｂブラウザに表示された操作画面からユーザにより指示された指示内容に従った第１の処理要求データを前記Ｗｅｂサーバに送信する第１の送信手段と、
前記第１の送信手段が送信した第１の処理要求データに対する応答データを前記Ｗｅｂサーバから受信し、該受信した応答データに従った処理を実行する実行手段と、
前記Ｗｅｂサーバからの応答データに基づいて、前記Ｗｅｂサーバに予め定めた第２の処理要求データを送信する第２の送信手段と、を備え、
前記Ｗｅｂサーバからの応答データは、前記実行手段が処理を実行中に発生し得るイベントの種類に応じてアクセスすべき前記Ｗｅｂサーバにおける複数のアドレスを含み、
前記第２の送信手段は、前記複数のアドレスのうち、実際に発生したイベントに応じたアドレスに対して、前記第２の処理要求データを送信することを特徴とする情報処理装置。
【請求項２】
前記複数のアドレスは、互いに異なるＵＲＬであることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記Ｗｅｂサーバからの応答データは、他の応答データと識別するための識別データを含み、
前記第２の送信手段は、前記Ｗｅｂサーバに前記識別データを含む前記第２の処理要求データを送信することを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記Ｗｅｂサーバからの応答データは、前記Ｗｅｂブラウザのタイムアウト時間を規定した設定データを含み、
前記第２の送信手段は、前記Ｗｅｂサーバからの応答データを受信してから前記タイムアウト時間が経過した場合に、タイムアウトイベントに応じたアドレスに対して、前記第２の処理要求データを送信することを特徴とする請求項１に記載の情報処理装置。
【請求項５】
Ｗｅｂサーバから提供される操作画面を表示するためのＷｅｂブラウザを備えた情報処理装置の制御方法であって、
前記Ｗｅｂブラウザに表示された操作画面からユーザにより指示された指示内容に従った第１の処理要求データを前記Ｗｅｂサーバに送信する第１の送信工程と、
前記第１の送信工程で送信した第１の処理要求データに対する応答データを前記Ｗｅｂサーバから受信し、該受信した応答データに従った処理を実行する実行工程と、
前記Ｗｅｂサーバからの応答データに基づいて、前記Ｗｅｂサーバに予め定めた第２の処理要求データを送信する第２の送信工程と、を有し、
前記Ｗｅｂサーバからの応答データは、前記実行工程で処理を実行中に発生し得るイベントに応じてアクセスすべき前記Ｗｅｂサーバにおける複数のアドレスを含み、
前記第２の送信工程では、前記複数のアドレスのうち、実際に発生したイベントに応じたアドレスに対して、前記第２の処理要求データを送信する制御方法。
【請求項６】
コンピュータを請求項１乃至４のいずれか１項に記載の情報処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、Ｗｅｂサーバから提供される操作画面を表示するためのＷｅｂブラウザを備えた情報処理装置及びその制御方法に関する。
【背景技術】
【０００２】
ネットワーク上のＷｅｂサーバに接続された情報処理装置（例えば、ＰＣ等）には、Ｗｅｂサーバから提供される操作画面を表示するためのＷｅｂブラウザを備えたものがある。そして、このＷｅｂブラウザが、Ｗｅｂサーバに対して操作画面を要求（リクエスト）すると、ＷｅｂサーバのＷｅｂアプリケーションが情報処理装置からのリクエストに応えて、Ｗｅｂブラウザに操作画面を表示させるためのＨＴＭＬ（Ｈｙｐｅｒ  Ｔｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）ファイルを情報処理装置に応答（レスポンス）する。Ｗｅｂブラウザは、Ｗｅｂサーバから応答を受信すると、受信したＨＴＭＬファイルを解析し、ＨＴＭＬファイルの記述に基づいた操作画面を表示する。更に、Ｗｅｂブラウザに表示された操作画面を介してユーザが指示を入力すると、Ｗｅｂブラウザは、入力された指示をＷｅｂサーバに対して通知する。そして、この通知を受けたＷｅｂサーバのＷｅｂアプリケーションは、入力された指示に従って処理を実行する。
【０００３】
ところで、最近ではスキャナやプリンタを備えたＭＦＰ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）の中にも、上述のＷｅｂブラウザを備えたものがある。そして、ＭＦＰは、上記手順を用いてＷｅｂサーバから提供される操作画面をＭＦＰのＷｅｂブラウザに表示し、ユーザからの各種指示を受け付ける。
【０００４】
また、特許文献１によれば、ＭＦＰが備える各機能を利用するための指示を入力する操作画面を、Ｗｅｂサーバが提供する。即ち、ＭＦＰのユーザは、Ｗｅｂブラウザに表示された操作画面を介して、ＭＦＰに対する指示を入力する。そして、入力された指示はＭＦＰのＷｅｂブラウザによってＷｅｂサーバに通知される。この通知を受けたＷｅｂサーバは、ユーザから入力された指示の内容に従って、ＭＦＰに対して各種処理の実行を依頼する。そして、この依頼を受けたＭＦＰは、依頼された処理を実行する。これにより、ＭＦＰの操作画面に表示するためのすべての操作画面（メニューデータ等）をＭＦＰが保持する必要がなくなると共に、操作画面をＷｅｂサーバで容易に変更することが可能となる。
【０００５】
更に、特許文献２によれば、特許文献１と同様に、ＭＦＰが備える各機能を利用するための指示を入力する操作画面を、Ｗｅｂサーバが提供する。同様に、ＭＦＰのユーザは、ＭＦＰに対する指示を入力する。そして、入力された指示はＭＦＰのＷｅｂブラウザによってＷｅｂサーバにリクエストとして通知される。この通知を受けたＷｅｂサーバは、入力された指示に基づいてＭＦＰに対する各種処理を記載したスクリプトを生成する。生成したスクリプトは前述のＷｅｂブラウザからのリクエストに対するレスポンスとして、ＷｅｂサーバからＭＦＰに通知される。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００６−１２７５０３号公報
【特許文献２】特開２００６−１３５６４４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
一般的に、Ｗｅｂブラウザに表示された操作画面を介して入力された指示に基づいてＷｅｂサーバのＷｅｂアプリケーションが処理を実行する場合、Ｗｅｂアプリケーションによる処理が終了したことに応じて、新たな画面がＷｅｂブラウザに表示される。つまり、Ｗｅｂサーバは、Ｗｅｂアプリケーションによる処理が終了した時に、処理の終了を通知するための操作画面、或いは次の操作をユーザに行わせるための操作画面のＨＴＭＬデータを生成する。そして、生成したＨＴＭＬデータを、Ｗｅｂブラウザからのリクエストに対するレスポンスとしてＷｅｂブラウザに送信する。
【０００８】
一方、ＰＣやＭＦＰ等の情報処理装置に搭載されるＷｅｂブラウザには、Ｗｅｂサーバに対してリクエストを送信した後、Ｗｅｂサーバからのレスポンスを受け取るまでの制限時間（タイムアウト時間）が設定されているものがある。そして、このタイムアウト時間内にＷｅｂサーバからのレスポンスがない場合、Ｗｅｂブラウザはタイムアウト処理を行う。タイムアウト処理とは、送信したリクエストを無効化する処理である。送信したリクエストが無効化されることにより、例えば、送信したリクエストに対するレスポンスを待つことを止め、新たなリクエストの送信が可能な状態となる。
【０００９】
しかしながら、上記特許文献１では、ＭＦＰのＷｅｂブラウザがリクエストをＷｅｂサーバに送信し、Ｗｅｂサーバがこのリクエストに基づいてＭＦＰに処理を要求する場合、以下の問題が考えられる。即ち、特許文献１では、ＭＦＰが実行した処理結果は一旦Ｗｅｂサーバに通知される。そして、この通知を受けたＷｅｂサーバが、Ｗｅｂブラウザから最初に受けたリクエストに対するレスポンスとして処理結果を通知するためのＨＴＭＬデータをＷｅｂブラウザに送信する。このとき、ＭＦＰがＷｅｂサーバからの要求に基づいて実行する処理に時間がかかる可能性がある。この場合、ＷｅｂサーバがＷｅｂブラウザからのリクエストを受けてから、Ｗｅｂブラウザにレスポンスを返すまでに長い時間が必要となり、Ｗｅｂブラウザにより上述したタイムアウト処理が行われてしまう。その結果として、Ｗｅｂブラウザが、Ｗｅｂサーバから返されてくるレスポンスを正常に受け取れなくなるため、ＭＦＰで実行した処理結果をユーザに通知することができない。
【００１０】
一方、上記特許文献２は、ＭＦＰのＷｅｂブラウザは、Ｗｅｂブラウザからのリクエストに対するレスポンスとして、Ｗｅｂサーバの処理要求を受け取る。この場合、Ｗｅｂブラウザのタイムアウトは発生しない。しかし、特許文献２の場合、Ｗｅｂサーバがレスポンスとして、ＭＦＰにスクリプトを渡した後は、Ｗｅｂサーバからの指示によりＷｅｂブラウザの表示を更新することはできない。このため、スクリプトの実行中や実行後に、ＷｅｂアプリケーションからＭＦＰでの処理に関する表示を動的に変更することは困難である。
【００１１】
本発明は、上記問題点に鑑みてなされたものであり、Ｗｅｂサーバから要求された処理に対する実行状況に応じて、Ｗｅｂサーバにおけるアクセス先を自動選択可能である情報処理装置及びその制御方法を提供するものである。
【課題を解決するための手段】
【００１２】
上記課題を解決するため、本発明に係る情報処理装置は、Ｗｅｂサーバから提供される操作画面を表示するためのＷｅｂブラウザを備えた情報処理装置であって、前記Ｗｅｂブラウザに表示された操作画面からユーザにより指示された指示内容に従った第１の処理要求データを前記Ｗｅｂサーバに送信する第１の送信手段と、前記第１の送信手段が送信した第１の処理要求データに対する応答データを前記Ｗｅｂサーバから受信し、該受信した応答データに従った処理を実行する実行手段と、前記Ｗｅｂサーバからの応答データに基づいて、前記Ｗｅｂサーバに予め定めた第２の処理要求データを送信する第２の送信手段と、を備え、前記Ｗｅｂサーバからの応答データは、前記実行手段が処理を実行中に発生し得るイベントに応じてアクセスすべき前記Ｗｅｂサーバにおける複数のアドレスを含み、前記第２の送信手段は、前記複数のアドレスのうち、実際に発生したイベントに応じたアドレスに対して、前記第２の処理要求データを送信する。
【発明の効果】
【００１３】
本発明によれば、Ｗｅｂサーバから要求された処理に対する実行状況に応じて、Ｗｅｂサーバにおけるアクセス先を自動選択可能である情報処理装置及びその制御方法を提供することができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の実施形態１における情報処理システムの全体構成を示す図である。
【図２】ＭＦＰ及びＷｅｂサーバのハードウェア構成を示す図である。
【図３】ＭＦＰのソフトウエア構成を示す図である。
【図４】Ｗｅｂサーバのソフトウエア構成を示す図である。
【図５】情報処理システムの処理手順を示す図である。
【図６】Ｗｅｂブラウザによる設定ＵＩの一例を示す図である。
【図７】スクリプトファイルの一例を示す図である。
【図８】スクリプト実行部の詳細な処理手順を示す図である。
【図９】Ｗｅｂアプリケーションのリクエスト応答処理の詳細な処理手順を示す図である。
【図１０】Ｗｅｂブラウザによる完了の設定ＵＩの一例を示す図である。
【図１１】実施形態２に係るＭＦＰのソフトウエア構成を示す図である。
【図１２】情報処理システムの処理手順を示す図である。
【図１３】ＨＴＭＬデータの一例を示す図である。
【発明を実施するための形態】
【００１５】
以下、図面を参照して本発明の実施形態を詳細に説明する。なお、以下の実施形態は特許請求の範囲を限定するものでなく、また、実施形態で説明される特徴の組み合わせの全てが発明の解決手段に必須のものとは限らない。
【００１６】
＜実施形態１＞
本実施形態１に係る情報処理装置は、例えば、スキャナ機能やプリンタ機能等を備えたＭＦＰであり、Ｗｅｂサーバから提供される操作画面を表示するためのＷｅｂブラウザを備える。本実施形態１では、処理実行に関するイベントの発生時に、Ｗｅｂブラウザを用いて、Ｗｅｂサーバにイベントに応じた画面表示のためのユーザインターフェース（ＵＩ）をリクエストする。
【００１７】
［情報処理システムのハードウェア構成（図１、図２）］
本実施形態１に係る情報処理システムは、ＭＦＰ１１０と、ＭＦＰ１１０とＬＡＮ１００等（イーサネット（登録商標））のネットワークで接続されたＷｅｂサーバ１２０とを備える。ＭＦＰ１１０とＷｅｂサーバ１２０とは、互いに通信可能に構成される。
【００１８】
ＭＦＰ１１０は、原稿画像を読み取り、読み取って得られた画像データ（文書データと呼ぶ場合もある）を、ＦＴＰプロトコルやＳＭＢプロトコル等を用いてＬＡＮ１００上の指定した装置に送信したり（データ送信機能）、Ｅメールに添付してメールサーバ（不図示）を介して送信したり（Ｅメール送信機能）することができる。Ｗｅｂサーバ１２０のＷｅｂアプリケーションは、ＭＦＰ１１０からのリクエストに応じて、ＭＦＰ１１０に表示するＨＴＭＬページをレスポンスとして送信する。
【００１９】
なお、情報処理システムは、ＭＦＰ１１０とＷｅｂサーバ１２０に限定されるものではなく、他のデバイスがＬＡＮ１００に接続され、互いに通信可能に構成されていても構わない。また、本実施形態１では、ＭＦＰ１１０及びＷｅｂサーバ１２０の接続方法としてＬＡＮで接続するものとしたが、本発明はＬＡＮに限定されるものではなく、例えば、ＷＡＮ（公衆回線）等の任意のネットワーク、ＵＳＢ等のシリアル伝送方式、セントロニクスやＳＣＳＩ等のパラレル伝送方式等も適用可能である。
【００２０】
（ＭＦＰ１１０のハードウェア構成）
ＭＦＰ１１０は、原稿画像を入力するためのスキャナ部１１２、画像を出力するためのプリンタ部１１３、ＭＦＰ１１０全体の制御を司る制御部２００（コントローラ）及びユーザが所望の操作を行うための操作部１１１を備える。
【００２１】
スキャナ部１１２は、原稿上の画像を露光走査して得られた反射光をＣＣＤに入力することで画像の情報を電気信号に変換する。さらに電気信号をＲ，Ｇ，Ｂ各色からなる輝度信号に変換し、当該輝度信号をデジタル画像データとして制御部２００に対して出力する。なお、原稿は原稿フィーダにセットされ、ユーザが操作部１１１から読み取り開始を指示すると、制御部２００からスキャナ部１１２に原稿読み取り指示が与えられる。スキャナ部１１２は、この指示を受信すると原稿フィーダから原稿を１枚ずつフィードして、原稿の読み取り動作を行う。なお、原稿の読み取り方法は原稿フィーダによる自動送り方式ではなく、原稿を不図示のガラス面上に載置し露光部を移動させることで原稿の走査を行う方法であってもよい。
【００２２】
プリンタ部１１３は、制御部２００から受け取った画像データを用紙上に画像として形成する画像形成ＭＦＰである。なお、本実施形態１では、画像形成方式には、感光体ドラムや感光体ベルトを用いた電子写真方式を用いたが、本発明はこれに限定されるものではなく、例えば、微少ノズルアレイからインクを吐出して用紙上に印字するインクジェット方式等でも適用可能である。
【００２３】
制御部２００は、操作部１１１、スキャナ部１１２、プリンタ部１１３と電気的に接続される一方、ネットワークＩ／Ｆ２０６を介してＬＡＮ１００に接続される。すなわち、ＬＡＮ１００を経由して他の機器と接続される。これにより、ＨＴＴＰプロトコルによる通信が可能である。
【００２４】
ＣＰＵ２０１は、ＲＯＭ２０２に記憶された制御プログラム等に基づいて、接続中の各種ＭＦＰへのアクセス及び他のＭＦＰからのアクセスを統括的に制御する。それと共に、制御部２００内部で行われる各種処理についても統括的に制御する。この制御には、後述のフローチャートを実現するためのプログラムの実行も含む。
【００２５】
ＲＯＭ２０２には、装置のブートプログラムが格納される。ＲＡＭ２０３は、ＣＰＵ２０１が動作するためのシステムワークメモリであり、かつ、画像データを一時記憶するためのメモリでもある。ＲＡＭ２０３は、電源のバックアップ等により記憶した内容を装置本体の電源オフ後も保持しておく領域と、電源オフ後には記憶した内容が消去されてしまう領域とを有する。
【００２６】
ＨＤＤ２０４（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）は、システムソフトウェアや画像データを格納することが可能である。操作部Ｉ／Ｆ２０５は、システムバス２１１と操作部１１１とを接続するためのインターフェースである。操作部Ｉ／Ｆ２０５は、操作部１１１に表示するための画像データをシステムバス２１１から受け取り、操作部１１１に出力すると共に、操作部１１１から入力された情報をシステムバス２１１へと出力する。ネットワークＩ／Ｆ２０６は、ＬＡＮ１００及びシステムバス２１１に接続し、情報の入出力を行う。
【００２７】
スキャナＩ／Ｆ２０７は、スキャナ部１１２から受け取った画像データに対して、補正、加工及び編集を行う。なお、スキャナＩ／Ｆ２０７は、受け取った画像データがカラー原稿、白黒原稿のいずれであるか、文字原稿であるか、写真原稿であるか等を判定する機能を持つ。画像処理部２０８は、画像データの方向変換、画像圧縮、伸張処理等を行う。また、ＨＤＤ２０４に保存されている画像同士を合成して一枚の画像にすることが可能である。
【００２８】
プリンタＩ／Ｆ２０９は、画像処理部２０８から送られた画像データを受け取り、この画像データに付加された属性データを参照しながら画像データに画像形成を施す。画像形成後の画像データは、プリンタ部１１３に出力される。
【００２９】
なお、本実施形態１では、ＭＦＰがＵＩ表示を実行するネットワークＭＦＰであるが、汎用スキャナや汎用プリンタ等を接続した汎用コンピュータ等のように、これ以外の情報処理装置であってもよい。
【００３０】
（Ｗｅｂサーバ１２０のハードウェア構成）
Ｗｅｂサーバ１２０は、ＣＰＵ３０１、ＲＡＭ３０２、ＲＯＭ３０３、入力装置３０４、ネットワークＩ／Ｆ３０５、ＨＤＤ３０６、表示装置３０７、ポインティングデバイス３０８を備え、それぞれがシステムバス３１０を介して互いに通信可能に接続される。
【００３１】
入力装置３０４には、例えば、キーボード等が用いられる。表示装置３０７には、例えば、ＣＲＴ等が用いられる。ポインティングデバイス３０８には、例えば、マウス等が用いられる。
【００３２】
ＲＯＭ３０３又はＨＤＤ３０６には、オペレーティングシステムやＷｅｂアプリケーション等の制御プログラムが格納される。ＣＰＵ３０１は、当該制御プログラムを必要に応じてＲＯＭ３０３又はＨＤＤ３０６からＲＡＭ３０２上へ読み出して実行することで、コンピュータとしての機能を発揮する。
【００３３】
また、ＣＰＵ３０１は、表示装置３０７を介して各種情報の表示を行うと共に、入力装置３０４やポインティングデバイス３０８からユーザの指示等を受け付ける。更に、ネットワークＩ／Ｆ３０５を介してＬＡＮ１００上の他の装置との通信を行う。
【００３４】
［情報処理システムのソフトウェア構成］
（ＭＦＰ１１０のソフトウエア構成（図３））
ＭＦＰ１１０のソフトウェアモジュールは、ＭＦＰ１１０のＨＤＤ２０４に格納され、ＣＰＵ２０１が実行する。ＨＴＴＰ通信部４０１は、ネットワークＩ／Ｆ２０６を操作してＨＴＴＰプロトコルにより通信を行うソフトウェアモジュールである。Ｗｅｂブラウザ４０２は、ＨＴＴＰ通信部４０１を介してＷｅｂサーバ１２０と通信を行う。Ｗｅｂブラウザ４０２は、Ｗｅｂサーバ１２０に対して、ＨＴＭＬで記載された操作画面のリクエストを行う。また、ＨＴＴＰ通信部４０１を介してＷｅｂサーバ１２０から受け取った操作画面のＨＴＭＬデータをレンダリングして操作部１１１に表示する。また、操作部１１１に表示した操作画面に対する入力をＷｅｂサーバ１２０に通知を行う。
【００３５】
スクリプト実行部４０３は、Ｗｅｂブラウザ４０２から受け取ったスクリプト情報を解析し、スクリプトに含まれるジョブ情報に分割する。そして、各ジョブ情報を、スクリプトで指定されている順に実行するようにジョブ管理部４０４に通知する。
【００３６】
ジョブ管理部４０４は、スクリプト実行部４０３からの指示内容に基づいて、ジョブ情報を管理し、順次ジョブの実行をジョブ実行部４０５に指示する。ジョブ実行部４０５は、ジョブ設定に基づいて処理を実行するモジュールである。例えば、ジョブがスキャンジョブであれば、スキャナ部１１２を操作して紙原稿を読み取り、ＨＤＤ２０４に画像データを保存する。送信ジョブであれば、ネットワークＩ／Ｆ２０６を操作してＨＤＤ２０４内の画像データを送信するというジョブを実行する。
【００３７】
（Ｗｅｂサーバ１２０のソフトウエア構成（図４））
Ｗｅｂサーバ１２０は、Ｗｅｂアプリケーション５０１及びＨＴＴＰ通信部５０４を備える。Ｗｅｂアプリケーション５０１は、プレゼンテーション部５０２及びロジック部５０３を備える。これらのソフトウエアは、Ｗｅｂサーバ１２０のＨＤＤ３０６に格納され、ＣＰＵ３０１により実行される。
【００３８】
プレゼンテーション部５０２は、ＨＴＴＰ通信部５０４を介して、ＭＦＰ１１０からのリクエストに応えてＭＦＰ１１０のＷｅｂブラウザ４０２で表示すべき操作画面をＭＦＰ１１０にレスポンスとして送信する。また、ＭＦＰ１１０のＷｅｂブラウザ４０２に表示された操作画面を介して入力されたユーザからの入力情報を、ＨＴＴＰ通信部５０４を介してＭＦＰ１１０から受け取る。
【００３９】
ロジック部５０３は、プレゼンテーション部５０２から渡されたＭＦＰ１１０からの入力情報に対して処理を行う。例えば、ユーザからの入力に応じて、表示すべき画面を変更したり、ＭＦＰのデバイス機能実行のためのジョブ定義情報を生成したりする。ＨＴＴＰ通信部５０４は、ネットワークＩ／Ｆ３０５を操作してＨＴＴＰプロトコルにより通信を行うソフトウェアモジュールである。
【００４０】
［情報処理システムの処理手順（図５）］
ここでは、ＭＦＰ１１０のスキャナ部１１２を用いて原稿台の紙を読み取って画像データを生成し、生成した画像データをＬＡＮ１００上のＦＴＰサーバ（不図示）に送信する例を想定して説明する。
【００４１】
まず、ユーザがＭＦＰ１１０の操作部１１１から、送信を行うためのハードウェアボタン（不図示）を押下することにより、Ｗｅｂブラウザ４０２を起動する。Ｗｅｂブラウザ４０２は、処理実行のための設定画面を取得するため、Ｗｅｂサーバ１２０のＷｅｂアプリケーション５０１に設定画面のリクエストを行う。本例では、設定画面のコンテンツを示すＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）がＭＦＰ１１０に予め設定されているものとする。
【００４２】
Ｗｅｂブラウザ４０２は、ＵＲＬで示されるコンテンツを保持するＷｅｂアプリケーション５０１に対して、ＨＴＴＰのＧＥＴコマンドによるリクエストを行う（Ｓ１）。具体的には、Ｗｅｂブラウザ４０２がＨＴＴＰ通信部４０１にＨＴＭＬデータを渡す。このＨＴＭＬデータに応じて、ＨＴＴＰ通信部４０１がＨＴＴＰプロトコルによりＷｅｂサーバ１２０のＨＴＴＰ通信部５０４と通信を行う。ＨＴＴＰ通信部５０４は、受け取ったＵＲＬに応じて、適切なＷｅｂアプリケーションに受け取ったＨＴＭＬデータを渡す。これにより、Ｗｅｂブラウザ４０２からＷｅｂアプリケーション５０１へのリクエストが行われる。以下、ＭＦＰ１１０のＨＴＴＰ通信部４０１による処理、Ｗｅｂサーバ１２０のＨＴＴＰ通信部５０４による処理の説明は省略して説明する。
【００４３】
Ｗｅｂアプリケーション５０１のプレゼンテーション部５０２が、Ｓ１のリクエストに応じて、設定画面のＨＴＭＬデータを生成し、ＨＴＴＰのレスポンスとして、Ｗｅｂブラウザに送信を行う（Ｓ２）。Ｗｅｂブラウザ４０２は、受け取ったＨＴＭＬデータを解析し、操作部１１１に設定画面の表示を行う。この設定画面の一例が図６の７０１に示される。ＧＵＩパネル７０１には、ファイル名を設定するテキストボックスコントロール７０２、画像フォーマットを選択するラジオボタン７０３が設けられる。この例では、画像データに「ｔｅｓｔ．ｐｄｆ」というファイル名を付与し、画像データをＰＤＦフォーマットで生成することが設定された例を示している。また、ＧＵＩボタン７０４は、機能の実行を指示するボタンであり、ユーザにより押下されるとスキャン開始の指示となる。
【００４４】
ユーザがＧＵＩボタン７０４を押下することにより機能の実行を指示すると、Ｗｅｂブラウザ４０２（第１の送信手段）は、Ｗｅｂアプリケーション５０１に対して機能の実行をリクエストする（すなわち、第１の処理要求データを送信する）（Ｓ３）。例えば、図６のＧＵＩボタン７０４がユーザによって押下されると、Ｗｅｂブラウザ４０２は、テキストボックスコントロール７０２やラジオボタン７０３に設定されたパラメータをＷｅｂアプリケーション５０１に通知する。通信にはＨＴＴＰプロトコルのＰＯＳＴコマンドを利用する。
【００４５】
そして、Ｗｅｂアプリケーション５０１のプレゼンテーション部５０２が、Ｓ３のリクエストに応じて、処理中画面のＨＴＭＬデータを生成する。また、ロジック部５０３がＳ３のＰＯＳＴコマンドに含まれる設定情報に基づいて、ＭＦＰでの処理実行のためのスクリプトデータを生成する。ロジック部５０３は、スクリプト生成の際に、スクリプトを識別するためのセッションｉｄ（識別データ）を生成する。なお、ＭＦＰにスクリプト処理を依頼した後に通信が切れた場合を想定して、セッションｉｄの保持時間（タイムアウト時間）を設定する。本例では、Ｗｅｂアプリケーション５０１がタイムアウト時間を保持すると共に、スクリプトに記載も行う。すなわち、このスクリプトデータがＷｅｂブラウザ４０２のタイムアウト時間を規定した設定データとして機能する。ただし、スクリプトには処理のオーバーヘッドを想定して、Ｗｅｂアプリケーション５０１のタイムアウト時間よりも短い時間を記載してもよい。そして、ＨＴＴＰのレスポンス（応答データ）として、処理中画面とスクリプトデータをＷｅｂブラウザ４０２に送信する（Ｓ４）。Ｗｅｂブラウザ４０２は、受け取ったＨＴＴＰのレスポンスを処理中画面のＨＴＭＬデータと、スクリプトデータに分割する。そして、処理中画面を操作部１１１に表示する。この処理中画面の一例が図６の８０１に示される。ＧＵＩパネル８０１には、ユーザに処理中である旨を通知するための表示がなされる。
【００４６】
また、ロジック部５０３が生成し、Ｗｅｂブラウザ４０２が受け取る処理実行のためのスクリプトデータの一例が図７に示される。本例に係るスクリプトデータは、ＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）で表現したが、ＭＦＰ１１０が処理できる形式であればそのフォーマットは問わない。
【００４７】
”ＥｖｅｎｔＨａｎｄｌｅｒ”タグ９０１は、スクリプト実行中のイベントに対する処理について記載したものである。”Ｅｖｅｎｔ  Ｔｙｐｅ”は、イベントの種類を示す属性を意味し、”ＡｌｌＥｒｒｏｒ”は、スクリプト実行中のすべてのエラーイベントを意味する。
【００４８】
”Ｎｏｔｉｆｙ”タグは、イベント発生時の処理を意味する。その子要素である”ＵＲＬ”タグは、通知先のＵＲＬを示す。また、子要素である”ＮｏｔｉｆｙＩｔｅｍ”タグは、ＵＲＬの後段のクエリ文字列を定義する。属性の”Ｋｅｙ”と”Ｖａｌｕｅ”は、それぞれクエリ文字列の”Ｋｅｙ”と”Ｖａｌｕｅ”を示し、本例では、クエリ文字列で、Ｗｅｂアプリケーションがスクリプトを識別するためのセッションｉｄを表現する。本例では、”０１２３”がロジック部５０３が発行したセッションｉｄである。同様に、子要素である”ＮｏｔｉｆｙＳｃｒｉｐｔＩｎｆｏ”タグは、スクリプト実行に関わるパラメータをＵＲＬのクエリ文字列として付与することを意味する。ただし、”ｖａｌｕｅ”は、属性の値を意味し、”ＳｏｒｃｅＪｏｂＴｙｐｅ”は、ジョブの種類を意味し、”ｖａｌｕｅ”は、属性の値を意味し、”ＥｖｅｎｔＮａｍｅ”は発生したイベント名を意味し、イベント発生時に動的に値を生成するものである。
【００４９】
つまり、タグ９０１は、ジョブスクリプトでスキャン（Ｓｃａｎ）を実行中にスキャナの紙詰まりエラー（ＳｃａｎｎｅｒＪａｍ）が発生した場合に、”ｈｔｔｐ：／／ｗｗｗ．ｘｘｘ．ｃｏｍ／ｓｃｒｉｐｔｅｒｒｏｒ．ｈｔｍ？ｉｄ＝０１２３＆ｊｏｂＴｙｐｅ＝Ｓｃａｎ＆ｅｒｒｏｒＥｖｅｎｔ＝ＳｃａｎｎｅｒＪａｍ”といったＵＲＬを生成し、Ｗｅｂブラウザ４０２から通信を行うことを意味する。
【００５０】
”ＥｖｅｎｔＨａｎｄｌｅｒ”タグ９０２は、送信を開始したイベント（ＳｅｎｄＳｔａｒｔ）に対応するＵＲＬへのアクセスを意味する。”ＥｖｅｎｔＨａｎｄｌｅｒ”タグ９０３は、処理のタイムアウトイベント（ＴｉｍｅＯｕｔ）に対応するＵＲＬへのアクセスを意味する。本例では、以上のようにイベントの大分類をＵＲＬの前段（アドレス）で判別し、詳細をＵＲＬの後段（クエリ文字列）で判別するようにスクリプトを構成する。
【００５１】
”Ｓｃａｎ”タグ９０４は、スクリプトの処理で行うスキャン処理の設定情報である。本例では、紙サイズ（ＤｏｃｕｍｅｎｔＳｉｚｅ）が自動（ＡＵＴＯ）で、カラー設定（ＣｏｌｏｒＭｏｄｅ）がグレースケール（ＧＲＡＹ＿ＳＣＡＬＥ）であることを示す。
【００５２】
”Ｓｅｎｄ”タグ９０５は、スクリプトの処理で行う送信処理の設定情報である。本例では、ＦＴＰプロトコルでサーバ”ｆｔｐｓｅｒｖｅｒ．ｘｘｘ．ｃｏｍ”への送信を示す。また、ファイルフォーマット（ＦｉｌｅＦｏｒｍａｔ）はＰＤＦで、ファイル名（ＦｉｌｅＮａｍｅ）は”ｔｅｓｔ”であることを示す。
【００５３】
Ｗｅｂブラウザ４０２は、Ｓ４で受け取ったスクリプトデータをスクリプト実行部４０３に渡す（Ｓ５）。スクリプト実行部４０３は、スクリプトデータを受け取ると、スクリプトデータに記載された処理内容に従ってジョブを実行する。なお、スクリプト実行手順については図８を用いて後述する。
【００５４】
次に、スクリプト実行部４０３は、スクリプトデータに記載の複数のＵＲＬ（アドレス）のうち、実際に発生したイベントに応じたＵＲＬに格納されたコンテンツの取得指示をＷｅｂブラウザ４０２に対して行う（Ｓ６）。そして、Ｗｅｂブラウザ４０２（第２の送信手段）は、スクリプト実行部４０３に指示されたＵＲＬのコンテンツに対して、ＨＴＴＰのＧＥＴコマンドによるリクエストを行う（すなわち、第２の処理要求データを送信する）（Ｓ７）。このリクエストを行うＵＲＬは、Ｗｅｂアプリケーションから指示したスクリプトにより生成されるため、Ｗｅｂアプリケーションは、アクセスされたコンテンツのＵＲＬにより、ＭＦＰでいずれのイベントが発生したかを認識可能である。また、Ｗｅｂアプリケーションは、ＵＲＬのクエリ文字列によりイベントの詳細も認識可能である。なお、Ｓ７のリクエスト応答処理の詳細については図９を用いて後述する。
【００５５】
Ｗｅｂサーバ１２０は、Ｗｅｂアプリケーション５０１に対して処理結果のＨＴＭＬデータを渡す（Ｓ８）。Ｗｅｂブラウザ４０２は、受け取ったＨＴＭＬデータを操作部１１１に表示する。Ｗｅｂブラウザ４０２による処理完了の設定ＵＩの一例が図１０に示される。ＧＵＩパネル１２０１には、Ｗｅｂアプリケーションを終了し、メニューに戻るためのボタンや、再びスキャンして送信する処理を行うための設定画面に遷移するボタンが配置される。
【００５６】
（スクリプト実行部４０３の詳細な処理手順（図８））
スクリプト実行部４０３は、Ｓ５でＷｅｂブラウザ４０２からスクリプトデータを受け取ると、次のような処理を開始する。まず、スクリプト実行部４０３は、スクリプトデータを各ジョブに分割し、ジョブ管理部４０４にジョブを登録する（Ｓ１１）。図７の例であれば、スキャンジョブと送信ジョブの２つのジョブに分割する。また、この時点からスクリプト実行部４０３は、スクリプトに記載されたタイムアウト時間を測定するためのタイマーを起動する。タイマーの時間がタイムアウト時間を経過した場合、タイムアウトのイベントが発生する。
【００５７】
次に、ジョブ管理部４０４は、ジョブ実行部４０５にジョブの実行を開始させる（Ｓ１２）。そして、スクリプト実行部４０３は、ジョブ実行部４０５やデバイスの状態を監視し、スクリプトに記載のイベントが発生したか否かを判定する（Ｓ１３）。スクリプトに記載のイベントが発生した場合には、スクリプト実行部４０３は、スクリプトの記載に従って、ＵＲＬを生成し、Ｗｅｂブラウザ４０２に通信の依頼を行う（Ｓ１４）。この際、スクリプトの記載に、クエリ文字列としてジョブの情報やイベントの種類を入れる記載がある場合、クエリ文字列を生成してＵＲＬを生成する。図７の例であれば、送信ジョブが開始された場合に、”ｈｔｔｐ：／／ｗｗｗ．ｘｘｘ．ｃｏｍ／ｓｃｒｉｐｔＳｅｎｄＳｔａｒｔ．ｈｔｍ？ｉｄ＝０１２３”というＵＲＬを生成し、Ｗｅｂブラウザ４０２にリクエストを行う。同様に、スキャナの紙詰まりエラーが発生した場合は、”ｈｔｔｐ：／／ｗｗｗ．ｘｘｘ．ｃｏｍ／ｓｃｒｉｐｔｅｒｒｏｒ．ｈｔｍ？ｉｄ＝０１２３＆ｊｏｂＴｙｐｅ＝Ｓｃａｎ＆ｅｒｒｏｒＥｖｅｎｔ＝ＳｃａｎｎｅｒＪａｍ”といったＵＲＬを生成する。
【００５８】
一方、Ｓ１３でスクリプトに記載のイベントが発生していないと判定された場合には、Ｓ１４の処理を省略してＳ１５の処理に進む。そして、ジョブ管理部４０４は、ジョブ実行部４０５を監視し、ジョブが終了しているか否かを判定する（Ｓ１５）。ジョブが終了している場合には、ジョブ管理部４０４は、スクリプトに記載されたすべてのジョブを終了したか否かを判定する（Ｓ１６）。一方、ジョブが終了していない場合には、Ｓ１３の処理に戻る。
【００５９】
Ｓ１６において、すべてのジョブが終了していないと判定された場合には、Ｓ１２の処理に戻って、次のジョブを実行する。一方、すべてのジョブが終了した場合には、処理を終了する。
【００６０】
（Ｗｅｂアプリケーション５０１のリクエスト応答処理の詳細な処理手順（図９））
Ｗｅｂアプリケーション５０１は、Ｓ７でＷｅｂブラウザ４０２からリクエストを受け付けると、次のような処理を開始する。まず、Ｗｅｂアプリケーション５０１のロジック部５０３が、現在保持しているセッションｉｄの一覧を取得する（Ｓ２１）。そして、ロジック部５０３は、ＨＴＴＰ通信部５０４が受け付けたＵＲＬのクエリ文字列に含まれるセッションｉｄがＳ２１で取得した一覧に含まれるか否かを判定する。含まれる場合には、ロジック部５０３が生成したスクリプトにより一定時間内に処理された有効なリクエストであると判定し、プレゼンテーション部５０２に結果のＨＴＭＬデータの生成を依頼する（Ｓ２３）。そうでない場合、不正なクライアントからのリクエスト又はタイムアウトした無効なリクエストであると判定し、ロジック部５０３がプレゼンテーション部５０２にエラーをユーザに通知するためのＨＴＭＬデータの生成を依頼する（Ｓ２４）。最後に、プレゼンテーション部５０２は、生成したＨＴＭＬデータをＷｅｂブラウザ４０２に送信する（Ｓ２５）。
【００６１】
以上述べた通り、本実施形態１によれば、Ｗｅｂブラウザ４０２がＳ３で機能実行リクエストを行った後、Ｓ４のレスポンスを契機に、ＭＦＰ１１０の処理を実行するため、Ｗｅｂブラウザ４０２でのタイムアウトは発生しない。また、この構成によりＭＦＰ１１０の処理のイベントに応じて、Ｗｅｂアプリケーション５０１が生成した画面データをＷｅｂブラウザ４０２で表示することが可能となる。同様に、セッションタイムアウトが発生するような場合であっても、スクリプトの設定に従ってＷｅｂブラウザ４０２からセッションタイムアウト前にリクエストを発生させることができるため、適切な画面データを表示することが可能となる。
【００６２】
＜実施形態２＞
上述の実施形態１では、ＨＴＭＬデータとは別のスクリプトデータに基づいてＭＦＰの処理を実行したが、本実施形態２では、ＨＴＭＬデータ内のＪａｖａＳｃｒｉｐｔ（登録商標）によって、ＭＦＰの制御を行い、処理実行に関するイベントの発生時に、Ｗｅｂサーバにイベントに応じた画面表示のためのＵＩをリクエストする。すなわち、本実施形態２のハードウェア構成は実施形態１と同様の構成であるが、ＭＦＰ１１０のソフトウエア構成と処理手順が次のように異なる。
【００６３】
［ＭＦＰ１１０のソフトウエア構成（図１１）］
ＨＴＴＰ通信部１３０１、ジョブ管理部１３０３及びジョブ実行部１３０４は、実施形態１の構成（図３参照）と同様である。Ｗｅｂブラウザ１３０２は、実施形態１のＷｅｂブラウザ４０２の機能に加えて、ジョブ管理部１３０３を呼び出すためのＪａｖａＳｃｒｉｐｔの実行が可能である。なお、このＪａｖａＳｃｒｉｐｔについては後述する。これらのソフトウェアモジュールは、ＭＦＰ１１０のＨＤＤ２０４に格納され、ＣＰＵ２０１が実行する。
【００６４】
［情報処理システムの処理手順（図１２）］
実施形態１（図７参照）と同様に、スキャン送信処理の一例について説明する。なお、Ｗｅｂブラウザ１３０２を起動した後からＳ３３までの処理は、実施形態１のＳ３と同等であるため説明を省略する。
【００６５】
まず、Ｗｅｂアプリケーション５０１のプレゼンテーション部５０２が、Ｓ３３のＷｅｂブラウザ１３０２からのリクエストに応じて、処理中画面のＨＴＭＬデータを生成する。
【００６６】
また、ロジック部５０３は、Ｓ３３のＰＯＳＴコマンドに含まれる設定情報に基づいて、ＭＦＰでの処理実行のためのＪａｖａＳｃｒｉｐｔを生成する。また、ロジック部５０３は、実施形態１と同様に、セッションｉｄ及びタイムアウト時間を生成し、ＪａｖａＳｃｒｉｐｔに設定する。そして、ロジック部５０３は、生成したＪａｖａＳｃｒｉｐｔをプレゼンテーション部５０２に渡す。そして、プレゼンテーション部５０２は、ＨＴＴＰのレスポンスとして、ＪａｖａＳｃｒｉｐｔを合成したＨＴＭＬデータをＷｅｂブラウザ１３０２に送信する（Ｓ３４）。
【００６７】
Ｗｅｂブラウザ１３０２は、受け取ったＨＴＴＰのレスポンスに従って、処理中画面を操作部１１１に表示すると共に、ＨＴＭＬデータに記載されたＪａｖａＳｃｒｉｐｔを実行する。そして、ジョブ管理部１３０３によりＪａｖａＳｃｒｉｐｔに従って正常にジョブが実行された場合、Ｓ３５乃至Ｓ３９の処理を行う。
【００６８】
最後に、Ｗｅｂアプリケーション５０１は、Ｓ３９のリクエストに応じて、正常終了のコンテンツをＷｅｂブラウザに送信する（Ｓ４０）。この処理は実施形態１の処理（図９参照）と同様である。
【００６９】
このＨＴＭＬデータの一例が図１３に示される。１５０１乃至１５０６で示される領域が、ＪａｖａＳｃｒｉｐｔ部分である。Ｗｅｂブラウザ１３０２は、ＨＴＭＬデータの表示を行った後、ＪａｖａＳｃｉｒｔを１５０１から順番に実行する。
【００７０】
まず、１５０１のＪａｖａＳｃｒｉｐｔは、スキャン処理を行うパラメータの設定を行うＪａｖａＳｃｒｉｐｔである。本例では、カラー設定（ｃｏｌｏｒＭｏｄｅ）がフルカラー（ＦｕｌｌＣｏｌｏｒ）、解像度（ｒｅｓｏｌｕｔｉｏｎ）が３００ｄｐｉ、タイムアウト（ｔｉｍｅＯｕｔ）が２０分であることを設定している。
【００７１】
次に、１５０２の”ＣｒｅａｔｅＥｖｅｎｔＨａｎｄｌｅｒ”関数は、ジョブ処理中のイベントに対する処理ハンドラーのインスタンスを生成する。この関数は、本例のＷｅｂブラウザ独自に拡張したＪａｖａＳｃｒｉｐｔ定義である。第１引数では、ハンドリングするイベントの識別子を指定する。第２引数では、イベントに対応して行う処理の識別子を指定する。第３引数では、イベント発生時のジョブ処理を指定する。第４引数は、オプションである。第４引数にＷｅｂブラウザからＷｅｂアプリケーションに通知を行うことを示す”ＮｏｔｉｆｙＵＲＬ”を指定したときは、対象のＵＲＬを指定するものとする。本例では２つのイベント処理ハンドラーを生成している。１つ目は、タイムアウト（ＴｉｍｅＯｕｔ）の際に、ジョブをキャンセルし、”ｓｃｒｉｐｔｔｉｍｅｏｕｔ．ｈｔｍ？ｉｄ＝０１２３４”で示される相対ＵＲＬのコンテンツを取得するように設定している。２つ目は、エラーの発生時（ＡｌｌＥｒｒｏｒ）に、ジョブをキャンセルし、”ｓｃｒｉｐｔＥｒｒｏｒ．ｈｔｍ？ｉｄ＝０１２３４＆ｊｏｂＴｙｐｅ＝％ＪＯＢ＿ＴＹＰＥ％＆ｅｒｒｏｒＥｖｅｎｔ＝％ＥＶＥＮＴ＿ＮＡＭＥ％”で示される相対ＵＲＬのコンテンツを取得するように設定している。なお、ＵＲＬ内の”％ＪＯＢ＿ＴＹＰＥ％”は実行時のジョブ種類に置換されるものとする。また、”％ＥＶＥＮＴ＿ＮＡＭＥ％”はイベントの識別子に置換されるものとする。
【００７２】
１５０３では、スキャンジョブの実行のための”ｓｃａｎ”関数を実行する。この関数は、本例のＷｅｂブラウザ独自に拡張したＪａｖａＳｃｒｉｐｔである。第１引数に、スキャンの結果、生成される文書の参照を指定する。第２引数に、スキャンを行うための設定を指定する。第３引数に、イベント処理ハンドラーを指定する。
【００７３】
本例のＷｅｂブラウザ１３０２は、”ｓｃａｎ”関数の呼び出しに応じて、ジョブ管理部１３０３に引数で指定されたパラメータを渡し、スキャンジョブを生成する。それに応じて、ジョブ管理部１３０３は、ジョブ実行部を呼び出してスキャンジョブを実行する。また、ジョブ実行中は、デバイスの状態やジョブの状態をジョブ管理部１３０３が監視する。監視中に、イベント処理ハンドラーで定義されたイベントが発生した場合、そのイベントの処理を行う。そのため、図１３のＪａｖａＳｃｒｉｐｔ１５０２のイベント処理ハンドラーが登録されている場合、タイムアウトイベントが発生すると、指定されたＵＲＬのコンテンツをリクエストするようにＷｅｂブラウザ１３０２に指示する。また、エラーが発生した場合も同様である。
【００７４】
スキャンが正常終了した場合、Ｗｅｂブラウザ１３０２は、ＨＤＤ２０４に保存した画像データの識別子をジョブ管理部１３０３から第１引数の値として受け取る。また、関数の戻り値として処理結果をジョブ管理部１３０３から受け取る。
【００７５】
スキャンが成功した場合、１５０４乃至１５０６のＪａｖａＳｃｒｉｐｔを実行する。１５０４のＪａｖａＳｃｒｉｐｔは、送信処理を行うパラメータの設定を行うＪａｖａＳｃｒｉｐｔである。本例では、ＦＴＰ送信のパラメータと送信されるファイルのファイル名とフォーマットを指定している。
【００７６】
次に、１５０５のＪａｖａＳｃｒｉｐｔでは、１５０２と同様にイベント処理ハンドラーを定義している。本例では２つの定義を行っている。１つ目は、エラーの発生時（ＡｌｌＥｒｒｏｒ）に、ジョブをキャンセルし、”ｓｃｒｉｐｔＥｒｒｏｒ．ｈｔｍ？ｉｄ＝０１２３４＆ｊｏｂＴｙｐｅ＝％ＪＯＢ＿ＴＹＰＥ％＆ｅｒｒｏｒＥｖｅｎｔ＝％ＥＶＥＮＴ＿ＮＡＭＥ％”で示される相対ＵＲＬを取得するように設定している。１５０２と同様に、ＵＲＬ内の”％ＪＯＢ＿ＴＹＰＥ％”、”％ＥＶＥＮＴ＿ＮＡＭＥ％”は置換されるものとする。２つ目は、送信開始の状態になった時（ＳｅｎｄＳｔａｒｔ）に、ジョブ処理をバックグラウンド実行とし、”ｓｃｒｉｐｔＳｅｎｄＳｔａｒｔ．ｈｔｍ？ｉｄ＝０１２３４”で示される相対ＵＲＬを取得するように設定している。
【００７７】
１５０６では、送信ジョブの実行のための”ｓｅｎｄ”関数を実行する。この関数も本例のＷｅｂブラウザ独自に拡張したＪａｖａＳｃｒｉｐｔである。第１引数に、送信する文書を指定する。第２引数に、送信を行うための設定を指定する。第３引数に、イベント処理ハンドラーを指定する。
【００７８】
本例のＷｅｂブラウザ１３０２は、”ｓｅｎｄ”関数の呼び出しに応じて、ジョブ管理部１３０３に引数で指定されたパラメータを渡し送信ジョブを生成する。その後の処理は”ｓｃａｎ”関数と同じである。本例では、ジョブ管理部１３０３は、１５０５の設定により送信ジョブが正常に開始された場合、送信の実行は続行したまま、Ｗｅｂブラウザ１３０２に指定されたＵＲＬのコンテンツの取得指示を行う。
【００７９】
上記ＪａｖａＳｃｒｉｐｔにより、イベントの種類によって、リクエストを行うＵＲＬをＷｅｂアプリケーションから渡されたＨＴＭＬデータによって制御することが可能となる。
【００８０】
以上述べた通り、本実施形態２によれば、Ｗｅｂブラウザ１３０２がＳ３３で機能実行リクエストを行った後、Ｓ３４のレスポンスに含まれるＪａｖａＳｃｒｉｐｔでＭＦＰ１１０の処理を実行するため、Ｗｅｂブラウザ１３０２でのタイムアウトは発生しない。また、この構成によりＭＦＰ１１０の処理のイベントに応じて、Ｗｅｂアプリケーション５０１が生成した画面データをＷｅｂブラウザ１３０２で表示することが可能となる。
【００８１】
なお、上述の実施形態１及び２では、スクリプトやＨＴＭＬデータの指定に従って、クエリ文字列を付加したが、ＭＦＰのソフトウエアが自動的にジョブの状態やジョブの識別子を含むクエリ文字列を生成してＷｅｂブラウザからリクエストを行うような構成であってもよい。
【００８２】
また、上述の実施形態１及び２では、イベントの種類に応じてＵＲＬが異なるスクリプトを受け取る構成としたが、すべてのイベントのＵＲＬは共通で、クエリ文字列によってイベントの種類を通知する構成であってもよい。
【００８３】
また、上述の実施形態１及び２では、イベント発生時にＵＲＬに対してＨＴＴＰのＧＥＴコマンドによるリクエストを行う構成としたが、ＨＴＴＰのＰＯＳＴコマンドによるリクエストを行う構成であってもよい。この場合、クエリ文字列ではなく、ＰＯＳＴコマンドのリクエストのＢＯＤＹ部分に前述のジョブの状態や識別子を記載する。
【００８４】
＜他の実施形態＞
本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2011123677.tif 000003
【図２】
2011123677.tif 000004
【図３】
2011123677.tif 000005
【図４】
2011123677.tif 000006
【図５】
2011123677.tif 000007
【図６】
2011123677.tif 000008
【図７】
2011123677.tif 000009
【図８】
2011123677.tif 000010
【図９】
2011123677.tif 000011
【図１０】
2011123677.tif 000012
【図１１】
2011123677.tif 000013
【図１２】
2011123677.tif 000014
【図１３】
2011123677.tif 000015