(57)【特許請求の範囲】
【請求項１】
画像処理装置と、前記画像処理装置とネットワークを介して通信可能なＷｅｂサーバとを有する情報処理システムであって、
前記Ｗｅｂサーバは、
前記画像処理装置のＷｅｂブラウザから送信されたリクエストメッセージに対応するレスポンスメッセージ内に、ジョブを実行させるための命令と、前記命令に基づき実行されるジョブの実行結果を示す情報をアップロードするための宛先とを記述し、前記命令と前記宛先とが記述された前記レスポンスメッセージを、前記画像処理装置の前記Ｗｅｂブラウザに送信するよう制御する制御手段を有し、
前記画像処理装置は、
前記Ｗｅｂサーバにより送信された前記レスポンスメッセージ内に記述されている前記命令に基づきジョブを実行するジョブ実行手段と、
前記ジョブ実行手段により実行された前記ジョブの実行結果を示す情報を、前記Ｗｅｂサーバから送信された前記レスポンスメッセージ内に記述されている前記宛先にアップロードするアップロード手段と、
を有することを特徴とする情報処理システム。
【請求項２】
前記ジョブ実行手段により実行されるジョブは、原稿を読み取って画像データを生成する読取ジョブ、画像データをネットワーク上の装置へ送信する画像送信ジョブ、及び画像を印刷する印刷ジョブのいずれかであることを特徴とする請求項１に記載の情報処理システム。
【請求項３】
前記ジョブを実行させるための命令は、ＸＭＬに従って作成された命令であることを特徴とする請求項１または２に記載の情報処理システム。
【請求項４】
前記ジョブの実行結果を示す情報は、前記ジョブの実行が正常に終了したこと、または、エラーが発生したことを示す情報であることを特徴とする請求項１ないし３のいずれか１項に記載の情報処理システム。
【請求項５】
前記画像処理装置のＷｅｂブラウザは、前記Ｗｅｂサーバにより提供される操作画面を介してユーザにより入力された情報を、前記リクエストメッセージ内に記述して前記Ｗｅｂサーバに送信することを特徴とする請求項１ないし４のいずれか１項に記載の情報処理システム。
【請求項６】
前記Ｗｅｂサーバの前記制御手段は、前記Ｗｅｂブラウザからのリクエストメッセージに対応する前記レスポンスメッセージのヘッダ部分に前記宛先を記述することを特徴とする請求項１ないし５のいずれか１項に記載の情報処理システム。
【請求項７】
前記Ｗｅｂサーバの前記制御手段は、前記Ｗｅｂブラウザからのリクエストメッセージに対応するレスポンスメッセージ内に、前記ジョブを実行させるサービスプロバイダの識別情報をさらに記述することを特徴とする請求項１ないし６のいずれか１項に記載の情報処理システム。
【請求項８】
前記識別情報は、前記画像処理装置のＩＰアドレス、前記サービスプロバイダに割り当てられたポート番号、及び前記サービスプロバイダのパスを含むことを特徴とする請求項７に記載の情報処理システム。
【請求項９】
前記Ｗｅｂサーバの前記制御手段は、前記Ｗｅｂブラウザから送信されたリクエストメッセージに対応する前記レスポンスメッセージ内に、タイムアウト時間を指定した時間情報を更に記述し、
前記アップロード手段は、前記時間情報により指定される前記タイムアウト時間が経過した場合に、前記ジョブの実行結果を示す情報の代わりに、タイムアウトが発生したことを示すエラー情報を前記宛先にアップロードすることを特徴とする請求項１ないし８に記載の情報処理システム。
【請求項１０】
Ｗｅｂサーバとネットワークを介して通信可能な画像処理装置であって、
前記Ｗｅｂサーバから、ジョブを実行するための操作画面のデータを受信する第１の受信手段と、
前記第１の受信手段により受信された前記データに基づいて前記操作画面を表示する表示手段と、
前記表示手段により表示された前記操作画面で受け付けた情報を含むリクエストメッセージをＷｅｂブラウザにより前記Ｗｅｂサーバに送信する送信手段と、
前記送信手段により送信された前記リクエストメッセージに対応するレスポンスメッセージであって、ジョブを実行させるための命令と、前記命令に基づき実行されるジョブの実行結果を示す情報をアップロードするための宛先とが記述された前記レスポンスメッセージを前記Ｗｅｂサーバから前記Ｗｅｂブラウザにより受信する第２の受信手段と、
前記第２の受信手段により受信された前記レスポンスメッセージに記述された前記命令に基づきジョブを実行するジョブ実行手段と、
前記ジョブの実行結果を示す情報を、前記Ｗｅｂサーバから送信された前記レスポンスメッセージに記述されている前記宛先にアップロードするアップロードするアップロード手段と、
を有することを特徴とする画像処理装置。
【請求項１１】
画像処理装置とネットワークを介して通信可能なＷｅｂサーバであって、
前記画像処理装置のＷｅｂブラウザから送信されたリクエストメッセージに対応するレスポンスメッセージ内に、ジョブを実行させるための命令と、前記命令に基づき実行されるジョブの実行結果を示す情報をアップロードするための宛先とを記述し、前記命令と前記宛先とが記述された前記レスポンスメッセージを、前記画像処理装置の前記Ｗｅｂブラウザに送信するよう制御する制御手段を有することを特徴とするＷｅｂサーバ。
【請求項１２】
画像処理装置と、前記画像処理装置とネットワークを介して通信可能なＷｅｂサーバとを有する情報処理システムの制御方法であって、
前記Ｗｅｂサーバが、前記画像処理装置のＷｅｂブラウザから送信されたリクエストメッセージに対応するレスポンスメッセージ内に、ジョブを実行させるための命令と、前記命令に基づき実行されるジョブの実行結果を示す情報アップロードするための宛先とを記述するステップと、
前記Ｗｅｂサーバが、前記命令と前記宛先とが記載された前記レスポンスメッセージを、前記画像処理装置の前記Ｗｅｂブラウザに送信するステップとを有し、
前記画像処理装置が、前記Ｗｅｂサーバにより送信された前記レスポンスメッセージに記述されている前記命令に基づきジョブを実行するステップと、
前記ジョブの実行結果を示す情報を、前記Ｗｅｂサーバから送信された前記レスポンスメッセージに記述されている前記宛先にアップロードするステップと、
を有することを特徴とする制御方法。
【請求項１３】
請求項１０に記載の画像処理装置の各手段として機能させるためのプログラム。
【請求項１４】
請求項１１に記載のＷｅｂサーバが有する制御手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、本発明は、Ｗｅｂブラウザを有する画像処理装置であって、Ｗｅｂブラウザで表示する操作画面を用いて前記画像処理装置の機能をＷｅｂサービスとして利用することが可能な画像処理装置、および当該画像処理装置とＷｅｂサーバとを有する情報処理システムに関する。
【背景技術】
【０００２】
従来、スキャナやプリンタ、ファクシミリ、ネットワーク送信装置などの各装置の機能を１つの筺体内に収納した画像処理装置が一般的に知られている。このような画像処理装置の操作部に、Ｗｅｂブラウザを用いる形態も一般的である。ここで、Ｗｅｂブラウザで表示する操作画面で上述の各機能を利用する形態として特許文献１のような方法が知られている。
【０００３】
特許文献１によると、まずＷｅｂブラウザは、ネットワーク上の外部装置から受信した画面情報（画面データ）に基づき、画像処理機能に関する操作画面を操作部に表示する。そして、その操作画面を用いてユーザの操作を受けると、Ｗｅｂブラウザは、ユーザからの操作の内容をいったん外部装置へ送信する。Ｗｅｂブラウザは、送信した操作の内容に対する応答として、外部装置からスクリプト（画面制御フロー）を受信する。Ｗｅｂブラウザは、受信したスクリプトに基づき画像処理装置が提供するＷｅｂサービスを呼び出すためにＳＯＡＰメッセージを生成し、Ｗｅｂサービスのプロバイダへ生成したＳＯＡＰメッセージを送信し、画像処理装置の機能をＷｅｂサービスとして利用する。
【０００４】
特許文献１によると、Ｗｅｂブラウザは、Ｗｅｂサービスを利用するためのＳＯＡＰの処理要求を、外部装置から受信したスクリプト（画面制御フロー）に従って生成することになる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−００３８３３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上述した従来の方法では、Ｗｅｂブラウザがユーザからの操作の応答として受信するデータはスクリプトの形式で記述されている。そして、このスクリプトを画像処理装置が備えるＷｅｂサービスに実行させるためには、Ｗｅｂサービスが解釈可能なメッセージ（例えば、ＳＯＡＰメッセージ）へ変換する必要がある。
【０００７】
本発明は、上述のような課題にかんがみて、Ｗｅｂブラウザが受信したデータをＷｅｂサービスのプロバイダが解釈可能なプロトコルに変換する処理の負荷を軽減するための手段を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するため、本発明における、画像処理装置と、前記画像処理装置とネットワークを介して通信可能なＷｅｂサーバとを有する情報処理システムは、次の構成を有することを特徴とする。すなわち、前記Ｗｅｂサーバが、前記画像処理装置のＷｅｂブラウザから送信されたリクエストメッセージに対応するレスポンスメッセージ内に、ジョブを実行させるための命令と、前記命令に基づき実行されるジョブの実行結果の情報をアップロードするための宛先とを記述し、前記命令と前記宛先とが記述された前記レスポンスメッセージを、前記画像処理装置の前記Ｗｅｂブラウザに送信するよう制御する制御手段を有し、前記画像処理装置が、前記Ｗｅｂサーバにより送信された前記レスポンスメッセージ内に記述されている前記命令に基づきジョブを実行するジョブ実行手段と、前記ジョブの実行結果の情報を、前記Ｗｅｂサーバから送信された前記レスポンスメッセージ内に記述されている前記宛先にアップロードするアップロード手段と、を有することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、Ｗｅｂブラウザがユーザの操作の応答として受信したデータをＷｅｂサービスプロバイダが解釈可能なプロトコルに変換する手間を軽減することができる。
【図面の簡単な説明】
【００１０】
【図１】本実施形態におけるＭＦＰと外部装置を有する情報処理システムを示す図である。
【図２】図１に示すＭＦＰのハードウェア構成を示すブロック図である。
【図３】図１に示す外部装置のハードウェア構成を示すブロック図である。
【図４】図１に示す情報処理システムのソフトウェア構成を示すブロック図である。
【図５】図１に示すＭＦＰと外部装置の処理手順を説明するためのシーケンス図である。
【図６】図１に示すＭＦＰにより実行する処理のフローチャートである。
【図７】図１に示す外部装置により実行する処理のフローチャートである。
【図８】ＭＦＰが外部装置から受信するＨＴＴＰレスポンスメッセージのヘッダの一例を示す図である。
【図９】ＭＦＰが外部装置から受信するＨＴＴＰレスポンスメッセージに含まれる処理要求の一例を示す図である。
【図１０】ＭＦＰが外部装置へ送信するＨＴＴＰリクエストメッセージに含まれる処理応答の一例を示す図である。
【図１１】ＭＦＰが外部装置へ送信するＨＴＴＰリクエストメッセージに含まれる処理応答の一例を示す図である。
【発明を実施するための形態】
【００１１】
以下、本発明の実施形態について図面を用いて説明する。
【００１２】
図１は、本実施形態における情報処理システムについて説明するための図である。本システムは、ネットワーク１００を介してＭＦＰ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎａｌ  Ｐｅｒｉｐｈａｒａｌ）１０１と外部装置１０２を接続する。ＭＦＰ１０１は、画像形成（印刷）機能、画像読取機能、画像送信機能などの各種の画像処理機能と、外部装置とＨＴＴＰ（Ｈｙｐｅｒ  Ｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）に従って通信するためのＷｅｂブラウザ機能とを有する装置である。外部装置１０２はＷｅｂサーバであり、ＭＦＰ１０１や他の機器にＷｅｂコンテンツを配信する。ネットワーク上に存在する外部装置１０２は、ＭＦＰ１０１にＷｅｂコンテンツとして、ＭＦＰ１０１の操作画面を提供するものである。
【００１３】
本実施形態においては、外部装置１０２は、ＭＦＰ１０１を含むローカルエリアネットワーク外部に存在している。そしてＭＦＰ１０１は、プライベートＩＰアドレスで不図示のゲートウェイにより管理されている。ゲートウェイは、ネットワーク１００とＭＦＰ１０１の間に存在し、プライベートＩＰアドレスからグローバルＩＰアドレスへの変換等を行う。
【００１４】
図２は、図１に示すＭＦＰ１０１のハードウェア構成の一例である。ＭＦＰ１０１は、装置全体を制御するＣＰＵ２０１、ＣＰＵ２０１のワークエリアを提供するＲＡＭ２０２を有する。更にＭＦＰ１０１は、原稿画像を読み取る読取装置２０３、画像データを印刷する印刷装置２０４を有する。更にＭＦＰ１０１は、データや各種の設定パラメータや制御プログラムを記憶する記憶装置２０５（例えば、ＨＤＤやＮＶＲＡＭ）を有する。更にＭＦＰ１０１は、ユーザからの操作を受け付ける入力装置２０６（例えば、キーボードやマウスなど）、ＭＦＰ１０１の操作画面を表示する表示装置２０７（例えば、液晶ディスプレイ）を有する。更にＭＦＰ１０１は、外部装置１０２や他の機器とのネットワーク通信を行うネットワーク装置２０８、メインバス２００を構成する。なお、図２では入力装置２０６と表示装置２０７が別々の装置として記載しているが、これら装置が一体となった操作部としてもよい。
【００１５】
図３は、図１に示す外部装置１０２のハードウェア構成図の一例である。外部装置１０２は、装置全体を制御するＣＰＵ３０１、ＣＰＵ３０１のワークエリアを提供するＲＡＭ３０２、データや各種の設定パラメータや制御プログラムを記憶する記憶装置３０３、ＭＦＰ１０１や他の機器とネットワークによる通信を行うネットワーク装置３０４、及びメインバス３００を構成する。
【００１６】
図４は、図１に示す情報処理システムのソフトウェア構成を説明するための図である。
【００１７】
外部装置１０２で動作するＷｅｂアプリケーション４１０は、記憶装置３０３に記憶されており、ＣＰＵ３０１により実行される。
【００１８】
Ｗｅｂアプリケーション４１０は、ＭＦＰ１０１から受信したメッセージに含まれる各種の要求に応じて処理を実行するアプリケーションである。例えば、ＭＦＰ１０１のＷｅｂブラウザ４２０で表示する操作画面のＨＴＭＬ（Ｈｙｐｅｔ  Ｔｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）コンテンツを生成する。又は、この操作画面を介して受け付けたユーザの操作に従い、ＭＦＰ１０１（Ｗｅｂサービスプロバイダ４４０）へＳＯＡＰに従う処理の要求を生成する。
【００１９】
一方、ＭＦＰ１０１は、Ｗｅｂブラウザ４２０、転送アプリケーション４３０、及びＷｅｂサービスプロバイダ４４０を有する。これら各部の機能は、ＭＦＰ１０１のＣＰＵ２０１が記憶装置２０５に記憶されたプログラムを実行することにより実現される。
【００２０】
Ｗｅｂブラウザ４２０は、外部装置１０２で動作するＷｅｂアプリケーション４１０と通信し、外部装置１０２が提供するＷｅｂコンテンツを表示装置２０７に表示するためのアプリケーションである。
【００２１】
Ｗｅｂブラウザ４２０の解析部４２１は、Ｗｅｂアプリケーション４１０から受信したメッセージを解析する。画面表示部４２２は、受信したメッセージに含まれるＨＴＭＬコンテンツに基づく操作画面を表示装置２０７に表示する。
【００２２】
転送アプリ起動部４２３は、解析部４２１の解析結果に基づいて転送アプリケーション４３０を起動する。なおＨＴＭＬコンテンツは、外部装置１０２が提供する画面情報の一例である。
【００２３】
転送アプリケーション４３０は、Ｗｅｂブラウザ４２０が受信したメッセージに含まれる情報をＷｅｂサービスプロバイダ４４０へ転送したり、Ｗｅｂサービスプロバイダ４４０の処理結果をＷｅｂブラウザへ転送したりするためのアプリケーションである。転送アプリケーションは、一般的にＷｅｂブラウザで対応できない形式のファイル（音声や動画，アニメーションなど）を処理できるようにするヘルパーアプリケーションとして動作し、Ｗｅｂブラウザと独立して動作する。しかしながら、処理要求の転送を行う機能を有すれば、転送アプリケーションはヘルパーアプリケーションではなく、プラグインや、Ｗｅｂブラウザの一機能、または受信したレスポンス内に記載されたＪａｖａ（登録商標）Ｓｃｒｉｐｔとしてもよい。
【００２４】
転送アプリケーション４３０の転送部４３１は、Ｗｅｂブラウザ４２０から取得した処理の要求をＷｅｂサービスプロバイダ４４０へ転送したり、Ｗｅｂサービスプロバイダ４４０から取得した処理の応答を、Ｗｅｂブラウザ４２０へ転送したりする。記憶部４３２は、転送部４３１の転送のために必要な情報を一時的に記憶する。
【００２５】
Ｗｅｂサービスプロバイダ４４０は、ＭＦＰ１０１の転送アプリケーション４３０または外部装置１０２から受信した処理の要求に応じてＭＦＰ１０１に画像処理を実行させるアプリケーションである。Ｗｅｂサービスプロバイダ４４０は、ＳＯＡＰ（Ｓｉｍｐｌｅ  Ｏｂｊｅｃｔ  Ａｃｃｅｓｓ  Ｐｒｏｔｏｃｏｌ）の通信プロトコルに従って要求を受信する。受信したＳＯＡＰに従う要求に含まれるコマンドに基づいて、ＭＦＰ１０１が備えるハードウェア資源（例えば読取装置２０３、印刷装置２０４、ネットワーク装置２０８）を利用してＷｅｂサービスとしてジョブを生成する。そして、生成されたジョブを不図示のジョブ実行アプリケーションで実行する。なおジョブとは、コピージョブ、プリントジョブ、画像送信ジョブなどである。
【００２６】
図５を用いて、本実施形態におけるＭＦＰ１０１と外部装置１０２の処理手順を説明する。まず、ＭＦＰ１０１の入力装置２０６がＷｅｂブラウザの起動を行うためのユーザによるボタン（不図示）押下を検知すると、Ｗｅｂブラウザ４２０は、ＣＰＵ２０１により起動される。
【００２７】
起動後、Ｗｅｂブラウザ４２０は、操作画面を表示するためのＨＴＭＬコンテンツの記憶場所を示すＵＲＬに基づいて、外部装置１０２のＷｅｂアプリケーション４１０に操作画面を要求する（Ｓ５００）。本実施形態では、このＵＲＬは予めＷｅｂブラウザ４２０に設定されている。Ｗｅｂアプリケーション４１０は、ＨＴＭＬコンテンツを生成または取得し、ＨＴＴＰのメッセージに含めてＷｅｂブラウザへ送信する（Ｓ５０１）。Ｗｅｂブラウザ４２０は、受信したメッセージに含むＨＴＭＬコンテンツを解析し、表示装置２０７に操作画面を表示する。
【００２８】
Ｗｅｂブラウザ４２０は、表示装置２０７に表示された操作画面を介してユーザの操作を受け付ける。例えば、「原稿をスキャンして得た画像をＦＴＰのプロトコルで送信する」ことを操作画面で指示すると、Ｗｅｂブラウザ４２０は、ユーザの操作を含むメッセージをＷｅｂアプリケーション４１０へ送信する（Ｓ５０２）。
【００２９】
Ｗｅｂアプリケーション４１０は、Ｗｅｂサービスを利用するためにＳＯＡＰのプロトコルに従う処理の要求を生成する。この処理の要求は、Ｗｅｂアプリケーション４１０が、Ｗｅｂサービスプロバイダ４４０に対して、ユーザの操作に基づく画像処理機能を実行することを要求するものであり、リモートプロシージャコールと呼ばれる技術により遠隔からＷｅｂサービスプロバイダ４４０を呼び出すものである。Ｗｅｂアプリケーション４１０は、生成した処理要求を含むメッセージをＷｅｂブラウザ４２０へ返信する（Ｓ５０３）。
【００３０】
転送アプリケーション４３０は、受信したメッセージから処理要求を抽出してＷｅｂサービスプロバイダ４４０へ転送し、Ｗｅｂサービスプロバイダ４４０は処理要求に基づいてジョブを生成し、実行する（Ｓ５０５）。そして、Ｗｅｂサービスプロバイダ４４０は、Ｓ５０５での結果を示す処理応答を転送アプリケーション４３０へ送信する（Ｓ５０７）。転送アプリケーション４３０は、処理応答を含むメッセージを外部装置１０２へ送信するよう、Ｗｅｂブラウザへ依頼する（Ｓ５０７）。依頼を受けたＷｅｂブラウザは、Ｓ５０５での結果を示す処理応答と、次にブラウザで表示すべき操作画面の要求とを含むメッセージを外部装置１０２へ送信する。
【００３１】
本実施形態によると、Ｗｅｂサービスプロバイダ４４０へのＷｅｂサービスの要求は、Ｗｅｂブラウザ４２０で表示した操作画面でのユーザ操作に従い外部装置１０２のＷｅｂアプリケーション４１０で生成される。そのため、Ｗｅｂサービスを呼び出すためのＳＯＡＰに従う処理の要求をＭＦＰ１０１で生成する必要がなくなる。
【００３２】
図６は、本実施形態における外部装置１０２の処理を説明するためのフローチャートである。図６のフローチャートの各ステップを実行するためのＷｅｂアプリケーション４１０は、外部装置１０２の記憶装置３０３に記憶されており、ＲＡＭ３０２にロードされてＣＰＵ３０１によって実行される。
【００３３】
なお以降の説明では、Ｗｅｂブラウザ４２０がＷｅｂアプリケーション４１０へ送信するメッセージのことを「ＨＴＴＰリクエストメッセージ」、及び、Ｗｅｂアプリケーション４１０がＷｅｂブラウザへ送信するメッセージのことを「ＨＴＴＰレスポンスメッセージ」と呼ぶ。Ｗｅｂブラウザ４２０は、ＨＴＴＰリクエストメッセージの中に、操作画面を要求するコマンドや、その他のＷｅｂアプリケーション４１０へ要求するコマンドを含むことができる。一方、Ｗｅｂアプリケーション４１０は、ＨＴＴＰレスポンスメッセージの中に、ＭＦＰ１０１に対するスキャン処理を要求するコマンドやＦＴＰ送信処理を要求するコマンドを含むことができる。この結果、ＭＦＰ１０１と外部装置１０２が相互に処理の要求と応答を送受信する仕組みを実現している。
【００３４】
本実施形態においては、外部装置１０２とネットワーク１００との間にゲートウェイ（不図示）が存在する。この場合、一般にＭＦＰ１０１から外部装置１０２への接続要求は許可するが、外部装置１０２からＭＦＰ１０１への接続要求は許可していない。そのため、外部装置１０２がＭＦＰ１０１へ送信する情報は、ＭＦＰ１０１から送信されたＨＴＴＰリクエストメッセージの応答であるＨＴＴＰレスポンスメッセージに含めて送信するようにしている。
【００３５】
なお図６のフローチャートは、図５のＳ５０２でユーザの操作を含むＨＴＴＰリクエストメッセージをＷｅｂブラウザ４２０がＷｅｂアプリケーション４１０へ送信したことにより開始するものである。
【００３６】
Ｓ６００にて、Ｗｅｂアプリケーション４１０は、Ｗｅｂブラウザ４２０が送信したＨＴＴＰリクエストメッセージを受信する。受信したＨＴＴＰリクエストメッセージは、Ｗｅｂブラウザ４２０で表示した操作画面を介して行われたユーザの操作の情報を含む。本実施形態では、「原稿をスキャンして得た画像をＦＴＰの通信プロトコルで送信する」という操作を一例として説明する。
【００３７】
Ｓ６０１にて、Ｗｅｂアプリケーション４１０は、図８に示すＨＴＴＰレスポンスメッセージのヘッダ８００を生成する。
【００３８】
図８は、本実施形態のＷｅｂアプリケーション４１０がＷｅｂブラウザ４２０へ送信するＨＴＴＰレスポンスメッセージのヘッダの一例である。
【００３９】
ヘッダ８００は、転送宛先８０１、タイムアウト時間８０２、転送コンテントタイプ８０３、アップロード宛先８０４、及びコンテントタイプ８０５を有する。
【００４０】
転送宛先８０１は、転送アプリケーション４３０が処理要求９００（図９にて後述）をＷｅｂブラウザ４２０からＷｅｂサービスプロバイダ４４０へ転送する際の宛先（ｈｔｔｐ：／／１２７．０．０．１：８０／ａａ／ｂｂ）である。転送宛先８０１は、一または複数のＷｅｂサービスプロバイダ４４０が公開するＷｅｂサービスの宛先の何れかを示している。転送宛先８０１は、ＭＦＰ１０１のローカルＩＰアドレス（１２７．０．０．１）、Ｗｅｂサービスプロバイダ４４０に割り当てされたポート番号（８０）、Ｗｅｂサービスプロバイダ４４０のパス名（ａａ／ｂｂ）を含む形式で記述されている。
【００４１】
タイムアウト時間８０２は、転送アプリケーション４３０とＷｅｂサービスプロバイダ４４０との通信の際の通信時間が所定時間（１２０秒）達した否かを判定するための情報である。
【００４２】
転送コンテントタイプ８０３は、後述する処理要求９００のフォーマットを示す情報である。転送コンテントタイプ８０３が示す処理要求のフォーマットと、Ｗｅｂサービスプロバイダ４４０が受付可能なフォーマットとが一致するかどうかを判定する識別子として用いられる。
【００４３】
アップロード宛先８０４は、処理要求９００に対応する処理応答１０００をＷｅｂアプリケーション４１０に送信（アップロード）する際の宛先（ｈｔｔｐ：／／ａａａ．ｃｏ．ｊｐ／ｂｂｂ／ｃｃｃ）である。
【００４４】
コンテントタイプ８０５は、ＨＴＴＰレスポンスメッセージにＷｅｂサービスプロバイダ４４０への処理要求が含まれるか否かを識別する識別子（ａｐｐｌｉｃａｔｉｏｎ／ｖｎｄ．ｘｘｘ．ｗｅｂｓｅｒｖｉｃｅ）である。
【００４５】
Ｓ６０２にて、Ｗｅｂアプリケーション４１０は、ＨＴＴＰリクエストメッセージに含まれるユーザの操作に従って、図９に示す処理要求９００を生成する。
【００４６】
図９は、Ｗｅｂアプリケーション４１０がＳ６０２で生成する処理要求９００の一例である。本実施形態において、処理要求９００は、ＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）に従った形式で記述されている。処理要求９００は、より詳細にはスキャン要求９０１とＦＴＰ送信要求９０２を構成する。
【００４７】
スキャン要求９０１は、読取装置２０３に対してスキャン処理の実行を要求する命令である。また、スキャン要求９０１には、スキャンの制御に関わる設定値を記載することができる。例えば、ＤｏｃｕｍｅｎｔＳｉｚｅタグでスキャンする原稿のサイズを指定したり、Ｃｏｌｏｒタグでスキャン時のカラーモード（オート、カラー、グレイスケール等）を指定したりできる。これらのパラメータは、ＭＦＰ１０１のＷｅｂブラウザで表示した操作画面でユーザが指定したものでも、Ｗｅｂアプリケーション４１０が自動で指定したものでもよい。
【００４８】
ＦＴＰ送信要求９０２は、ネットワーク装置２０８に対してスキャンした画像データの送信を要求する命令である。ＦＴＰ送信要求９０２は、通信プロトコル（ＦＴＰ）の指定や、ファイルのフォーマットの指定を含む。
【００４９】
Ｓ６０３にて、Ｗｅｂアプリケーション４１０は、ヘッダ８００と、ヘッダ８００に関連する処理要求９００とを含むＨＴＴＰレスポンスメッセージをＷｅｂブラウザ４２０へ送信し、図６のフローチャートを終了する。
【００５０】
図７は、本実施形態におけるＭＦＰ１０１の処理を示すフローチャートである。図７のフローチャートの各ステップを実行するためのプログラムは、ＭＦＰ１０１の記憶装置２０５に記憶されている。そして、ＲＡＭ２０２にロードされてＣＰＵ２０１によって実行される。
【００５１】
図７のフローチャートは、図６のＳ６０３でＷｅｂアプリケーション４１０がＨＴＴＰレスポンスメッセージを送信した後の処理である。
【００５２】
Ｓ７００にて、Ｗｅｂブラウザ４２０は、Ｓ６０３でＷｅｂアプリケーション４１０が送信したＨＴＴＰレスポンスメッセージを受信する。
【００５３】
Ｓ７０１にて、Ｗｅｂブラウザ４２０の解析部４２１は、Ｓ７００で受信したＨＴＴＰレスポンスメッセージに含まれるヘッダ８００を解析する。解析の結果、ヘッダ８００のＣｏｎｔｅｎｔ−Ｔｙｐｅフィールドがａｐｐｌｉｃａｔｉｏｎ／ｖｎｄ．ｘｘｘ．ｗｅｂｓｅｒｖｉｃｅである場合（Ｓ７０１でＹＥＳ）、Ｓ７０１に進む。そうでない場合（Ｓ７０１でＮＯ）、Ｓ７１０に進む。
【００５４】
Ｓ７０２にて、Ｗｅｂブラウザ４２０の転送アプリ起動部４２３は、転送アプリケーション４３０を起動する。そして、Ｓ７００で受信したＨＴＴＰレスオンスメッセージに含まれる処理要求９００を、直接、Ｗｅｂサービスプロバイダ４４０へ転送するように転送アプリケーション４３０に依頼する。このとき、Ｓ７００で受信したＨＴＴＰレスポンスメッセージに含まれる処理要求９００、及び処理要求９００に関連するヘッダ８００の情報（転送宛先８０１、タイムアウト時間８０２、転送コンテントタイプ８０３、アップロード宛先８０４、コンテントタイプ８０５）を、転送アプリケーション４３０へ引き渡す。
【００５５】
Ｓ７０３にて、転送アプリケーション４３０は、Ｓ７０２で渡された情報（転送宛先８０１、タイムアウト時間８０２、転送コンテントタイプ８０３、アップロード宛先８０４、コンテントタイプ８０５）を一時的に記憶部４３２に記憶する。そして、ヘッダ８００の転送宛先８０１で特定されるＷｅｂサービスプロバイダ４４０へ、Ｓ７００で受信したＨＴＴＰレスポンスメッセージに含まれる処理要求９００を転送する。またこのとき転送アプリケーション４３０は、現在時刻を内部で取得して時間を計測する。そして、計測値がタイムアウト時間８０２に達したか否かの監視を開始する。この監視は、後述のＳ７０５まで継続する。
【００５６】
Ｓ７０４にて、Ｗｅｂサービスプロバイダ４４０は、Ｓ７０３で転送アプリケーション４３０が送信した処理要求９００を受付部４４１で受信し、処理要求９００に従ってジョブ生成部４４２でジョブを生成し、ＷｅｂサービスとしてＭＦＰ１０１の処理手段に画像処理を実行させる。本実施形態においては、スキャン要求９０１に従って画像読取機能により原稿を読み取って画像データを生成する。そして、ＦＴＰ送信要求９０２に従って画像送信機能により指定宛先（１９２．１６８．１１．ｘｘｘ）へ画像データを送信する。そして、Ｗｅｂサービスプロバイダ４４０は、その処理結果を示す処理応答１０００を転送アプリケーション４３０へ送信する。
【００５７】
図１０は、Ｗｅｂサービスプロバイダ４４０で生成された処理応答１０００の一例を示す図である。処理結果１００１には、Ｓ７０４で実行した処理の結果がＲｅｓｕｌｔＣｏｄｅタグに記載されている。Ｗｅｂサービスの呼び出しに対する処理が正常に完了した場合はＯＫが処理結果として記載され、処理中にエラーが発生した場合はエラーコードが処理結果として記載されている。
【００５８】
ステップＳ７０５にて、転送アプリケーション４３０は、Ｓ７０３で処理要求９００を送信してからの経過時間がタイムアウト時間８０２に達したか否かを判断する。タイムアウト時間８０２に達したと判断された場合（Ｓ７０５でＹＥＳ）、Ｓ７０６へ進む。そうでない場合（Ｓ７０５でＮＯ）、Ｓ７０８へ進む。
【００５９】
Ｓ７０６にて、転送アプリケーション４３０は、Ｗｅｂサービスプロバイダ４４０から処理応答１０００を受信する。Ｗｅｂブラウザ４２０に対して、処理応答１０００を含むＨＴＴＰリクエストメッセージをＷｅｂアプリケーション４１０へ送信する（アップロードする）ように依頼する。依頼に際し、転送アプリケーション４３０は、ＨＴＴＰリクエストメッセージの送信宛先として、記憶部４３２に記憶したアップロード宛先８０４を指定して依頼する。このとき転送アプリケーション４３０は、受信した処理応答１０００をＷｅｂブラウザ４２０へ転送する。本実施形態においては、アップロードする宛先は、Ｓ７０２で記憶部４３２に記憶したアップロード宛先８０４に基づくものであるが、Ｗｅｂブラウザ４２０がアップロード宛先を記憶しておきその情報を使用してもよい。また、アップロード宛先を予めＭＦＰ１０１と外部装置１０２で決められた固定値とすれば、Ｗｅｂアプリケーション４１０からアップロード宛先を指定しなくても良い。
【００６０】
Ｓ７０７にて、Ｗｅｂブラウザ４２０は、転送アプリケーション４３０の依頼に従って、処理応答１０００又はタイムアウトエラー１１００を含むＨＴＴＰリクエストメッセージを送信（アップロード）し、Ｓ７０１へ戻る。なお、Ｗｅｂアプリケーション４１０は、この処理応答１０００をＷｅｂブラウザ４２０のアップロードによって受信することで、Ｗｅｂサービスプロバイダ４４０の処理結果に応じたＨＴＭＬコンテンツを生成し、Ｗｅｂブラウザ４２０に送信することができる。
【００６１】
Ｓ７０８は、Ｓ７０５でタイムアウト時間８０２が経過したと判断された場合の処理である。Ｓ７０８にて、転送アプリケーション４３０は、図１１に示すタイムアウトエラー１１００を生成し、Ｗｅｂサービスプロバイダ４４０との通信を停止する。そして、Ｗｅｂブラウザ４２０に対して、タイムアウトエラー１１００を含むＨＴＴＰリクエストメッセージをＷｅｂアプリケーション４１０へ送信（アップロード）するように依頼する。
【００６２】
図１１は、転送アプリケーション４３０が生成するタイムアウトエラーの内容を示す図である。タイムアウトエラー１１００には、エラーコードと、転送アプリケーション４３０がＷｅｂサービスプロバイダ４４０とＨＴＴＰの通信プロトコルで通信した際のステータスコードが記載されている。
【００６３】
Ｓ７０９は、Ｓ７０１でヘッダ８００のＣｏｎｔｅｎｔ−Ｔｙｐｅフィールドが所定の値（ａｐｐｌｉｃａｔｉｏｎ／ｖｎｄ．ｘｘｘ．ｗｅｂｓｅｒｖｉｃｅ）でないと判断された場合の処理である。Ｓ７０９にて、Ｗｅｂブラウザ４２０は、解析部４２１によるＨＴＴＰレスポンスメッセージの解析結果に基づき表示装置２０７に操作画面を表示し、本フローチャートの処理を終了する。
【００６４】
以上より、本実施形態では、Ｗｅｂアプリケーション４１０からＷｅｂブラウザへ送信するＨＴＴＰレスポンスメッセージに、ＭＦＰ１０１（Ｗｅｂサービスプロバイダ４４０）への処理要求を含めて通信する。そのため、ファイアウォールやネットワークアドレス変換の機構を超えて外部装置からＭＦＰに処理要求を送信することができる。更に、Ｗｅｂサービスプロバイダ４４０の機能を外部装置からリモートプロシージャコールの技術を用いて呼び出すので、ＭＦＰ１０１の処理負荷と外部機器の処理負荷を分散させることができる。
【００６５】
なお実施形態では、外部装置１０２とＭＦＰ１０１の間にファイアウォールが存在する場合を考慮している。そのため、外部装置１０２からＭＦＰ１０１へ送信するメッセージは、全て、ＭＦＰ１０１から外部装置へ送信したメッセージの応答として送信するようにした。しかし変形例として、ファイアウォール等の障壁が存在しないと判断した場合には、外部装置１０２が直接にＭＦＰ１０１のＷｅｂサービスプロバイダ４４０へメッセージを送信してもよい。
【００６６】
（他の実施形態）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【符号の説明】
【００６７】
１０１  ＭＦＰ
１０２  外部装置
４１０  Ｗｅｂアプリケーション
４２０  Ｗｅｂブラウザ
４３０  転送アプリケーション
４４０  Ｗｅｂサービスプロバイダ
【図１】
0005683218.tif 000002
【図２】
0005683218.tif 000003
【図３】
0005683218.tif 000004
【図４】
0005683218.tif 000005
【図５】
0005683218.tif 000006
【図６】
0005683218.tif 000007
【図７】
0005683218.tif 000008
【図８】
0005683218.tif 000009
【図９】
0005683218.tif 000010
【図１０】
0005683218.tif 000011
【図１１】
0005683218.tif 000012