(57)【特許請求の範囲】
【請求項１】
外部機器からの処理要求を処理する第１のアプリケーションを暗号通信用のポートに登録するとともに、非暗号通信用のポートを指定する外部機器からの処理要求を前記暗号通信用のポートに送り直させるメッセージを当該外部機器に送信する第２のアプリケーションを前記第１のアプリケーションに関連づけて前記非暗号通信用のポートに登録する登録手段と、
前記外部機器から、前記暗号通信用のポートを指定する処理要求を受信した場合、前記登録手段により前記暗号通信用のポートに登録されている前記第１のアプリケーションに当該処理要求を渡して前記第１のアプリケーションに当該処理要求を処理させ、前記外部機器から、前記非暗号通信用のポートを指定する処理要求を受信した場合、前記登録手段により前記非暗号通信用のポートに登録されている前記第２のアプリケーションに当該処理要求を渡して前記メッセージを前記外部機器に送信させる制御手段と、を備え、
前記制御手段は、前記メッセージに従って送り直された前記暗号通信用のポートを指定する処理要求を前記第１のアプリケーションに渡すことを特徴とする情報処理装置。
【請求項２】
前記第２のアプリケーションは、前記メッセージを前記外部機器へ送信することにより、前記登録手段によって登録された前記第１のアプリケーションを識別する識別情報および前記暗号通信用のポートの番号を含む処理要求を前記外部機器に送信させることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記第１のアプリケーションおよび前記第２のアプリケーションは、Ｗｅｂアプリケーションであることを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記暗号通信用のポートは、ＳＳＬ（Ｓｅｃｕｒｅ  Ｓｏｃｋｅｔ  Ｌａｙｅｒ）による暗号通信を行うためのポートであることを特徴とする請求項１ないし３のいずれか１項に記載の情報処理装置。
【請求項５】
前記情報処理装置の起動時に複数のアプリケーションを起動する際の起動順序と、前記複数のアプリケーションのプログラムコードの格納先とを示す起動リストを管理する管理手段をさらに備え、
前記登録手段は、前記情報処理装置の起動時に前記起動リストに従って起動されるアプリケーションを、各ポート番号に登録することを特徴とする請求項１ないし４の何れか１項に記載の情報処理装置。
【請求項６】
前記登録手段は、前記第１のアプリケーションのプログラムコードに前記第２のアプリケーションを登録するための記載があるか否かを判定することにより、前記第２のアプリケーションを登録する必要があるか否かを判定することを特徴とする請求項１ないし５の何れか１項に記載の情報処理装置。
【請求項７】
受信した前記処理要求には、少なくともポート番号とアプリケーション名が含まれ、
前記制御手段は、前記処理要求に含まれる前記ポート番号と前記アプリケーション名に基づき、前記第２のアプリケーションが登録されているかどうかを検索し、当該検索の結果、前記第２のアプリケーションが登録されてないと判定した場合に、前記処理要求を送信した外部機器にエラーメッセージを送信することを特徴とする請求項１乃至６の何れか１項に記載の情報処理装置。
【請求項８】
前記情報処理装置は、コピー、プリント又はファックス機能を備えた画像形成装置であることを特徴とする請求項１ないし７のいずれか１項に記載の情報処理装置。
【請求項９】
登録手段が、外部機器からの処理要求を処理する第１のアプリケーションを暗号通信用のポートに登録するとともに、非暗号通信用のポートを指定する外部機器からの処理要求を前記暗号通信用のポートに送り直させるメッセージを当該外部機器に送信する第２のアプリケーションを前記第１のアプリケーションに関連づけて前記非暗号通信用のポートに登録する登工程と、
制御手段が、前記外部機器から、前記暗号通信用のポートを指定する処理要求を受信した場合、前記登録工程で前記暗号通信用のポートに登録されている前記第１のアプリケーションに当該処理要求を渡して前記第１のアプリケーションに当該処理要求を処理させ、前記外部機器から、前記非暗号通信用のポートを指定する処理要求を受信した場合、前記登録工程で前記非暗号通信用のポートに登録されている前記第２のアプリケーションに当該処理要求を渡して前記メッセージを前記外部機器に送信させる制御工程と、を備え、
前記制御工程では、前記メッセージに従って送り直された前記暗号通信用のポートを指定する処理要求が前記第１のアプリケーションに渡されることを特徴とする情報処理装置の制御方法。
【請求項１０】
請求項９に記載の情報処理装置の制御方法における各工程をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、その制御方法、及びプログラムに関するものである。
【背景技術】
【０００２】
現行のＭＦＰ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎａｌ  Ｐｅｒｉｒｈｅｒａｌ）は、ネットワーク上の複数の外部機器からの要求に応じて処理を実行するＷｅｂサーバ機能を備えている。Ｗｅｂサーバ機能を備えるＭＦＰは、ＨＴＴＰ（Ｈｙｐｅｒ  Ｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）のプロトコルに従って受信した処理要求に応じて、ＭＦＰ上のＷｅｂアプリケーションを実行する。ＨＴＴＰの処理要求には、実行するＷｅｂアプリケーションのパスと、そのＷｅｂアプリケーションのポート番号とがＵＲＬの形式で指定されている。ＭＦＰは、外部機器からＨＴＴＰ要求を受信すると、ＨＴＴＰ要求に含まれるＷｅｂアプリケーションのパスとポート番号で識別されるＷｅｂアプリケーションを実行する。なお特許文献１には、ＵＲＬが示すポート番号に割り当てられたＷｅｂアプリケーションが存在しなければ、ＨＴＴＰ要求の送信元である外部機器へエラーメッセージを返答することが提案されている。
【０００３】
ところで特許文献２において、ポート番号とアプリケーションパスとが指定されたＨＴＴＰ要求を、別のポート番号に割り当てられたＷｅｂアプリケーションへ転送する、いわゆるＨＴＴＰリダイレクトと呼ばれる方式が知られている。特許文献２によれば、ＨＴＴＰサーバ用のポート番号（例えば８０番ポート）に割り当てられたＷｅｂアプリケーションに処理を依頼するＨＴＴＰ要求を外部機器から受信した場合、ＭＦＰは、ＨＴＴＰＳサーバ（ＳＳＬソケットを使用したＨＴＴＰサーバ）用のポート番号（例えば、４４３番ポート）に割り当てられたＷｅｂアプリケーションへ自動的にＨＴＴＰ要求を送信させる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−０９２８１１号公報
【特許文献２】特開２００６−２７７２４６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来技術には以下に記載する問題がある。特許文献２によれば、４４３番ポートに割り当てられたＷｅｂアプリケーションに対して、外部機器が８０番ポートを指定してＨＴＴＰ要求を送信した場合、ＭＦＰは、４４３番ポートのＷｅｂアプリケーションへ自動的にＨＴＴＰ要求を送信させるためのＨＴＴＰリダイレクトメッセージをＷｅｂクライアント（外部機器）へ送信している。特許文献２に記載のＨＴＴＰリダイレクト方式によれば、外部機器は、Ｗｅｂアプリケーションのポート番号が８０番ポートであるか４４３番ポートであるかを意識することなくＨＴＴＰ要求を送信できる。
【０００６】
しかし、特許文献２によれば、８０番ポートを指定したＨＴＴＰ要求は全て４４３番ポートのＷｅｂアプリケーションへのＨＴＴＰリダイレクトが行われる。そのため、４４３番ポートにＨＴＴＰリダイレクトを行う必要がないＷｅｂアプリケーションまでＨＴＴＰリダイレクトを行うことになる。その結果、例えば、ＨＴＴＰＳサーバによって暗号化通信する必要のないアプリケーションも暗号化通信をすることになり通信パフォーマンスが低下してしまう。
【０００７】
また、ＨＴＴＰ要求の送信元である外部機器は、一般的なＷｅｂブラウザを実装するパーソナルコンピュータではなく、特定のＷｅｂアプリケーションに対してのみ処理を依頼する専用のＷｅｂクライアントである場合もある。専用のＷｅｂクライアントは、ＭＦＰからのＨＴＴＰリダイレクトメッセージを解釈することができないこともある。ＨＴＴＰリダイレクトメッセージを解釈できない外部機器においては、ＨＴＴＰリダイレクトを送信してしまうと、その後、ＭＦＰのＷｅｂアプリケーションとの通信ができなくなってしまう。
【０００８】
本発明は、上述の問題に鑑みて成されたものであり、Ｗｅｂアプリケーションのポート番号とともに、ＷｅｂアプリケーションにＨＴＴＰリダイレクトを行う転送ポート番号を選択的に登録する情報処理装置及びその制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明は、例えば、外部機器からの処理要求を処理する第１のアプリケーションを暗号通信用のポートに登録するとともに、非暗号通信用のポートを指定する外部機器からの処理要求を前記暗号通信用のポートに送り直させるメッセージを当該外部機器に送信する第２のアプリケーションを前記第１のアプリケーションに関連づけて前記非暗号通信用のポートに登録する登録手段と、前記外部機器から、前記暗号通信用のポートを指定する処理要求を受信した場合、前記登録手段により前記暗号通信用のポートに登録されている前記第１のアプリケーションに当該処理要求を渡して前記第１のアプリケーションに当該処理要求を処理させ、前記外部機器から、前記非暗号通信用のポートを指定する処理要求を受信した場合、前記登録手段により前記非暗号通信用のポートに登録されている前記第２のアプリケーションに当該処理要求を渡して前記メッセージを前記外部機器に送信させる制御手段と、を備え、前記制御手段は、前記メッセージに従って送り直された前記暗号通信用のポートを指定する処理要求を前記第１のアプリケーションに渡すことを特徴とする。
【発明の効果】
【００１０】
本発明は、アプリケーションのポート番号とともに、アプリケーションへのリダイレクトを行う転送ポート番号を選択的に登録する情報処理装置及びその制御方法を提供できる。
【図面の簡単な説明】
【００１１】
【図１】本実施形態に係る情報処理システムのシステム構成例を示す図である。
【図２】本実施形態に係るＭＦＰのハードウェアの構成例を示す図である。
【図３】本実施形態に係るＭＦＰの機能を説明するための図である。
【図４】本実施形態に係るＭＦＰのアプリケーション管理部によって管理されているアプリケーションの起動リストを模式的に示す図である。
【図５】本実施形態に係るアプリケーション起動部によってＭＦＰの電源投入時に行われる起動処理を示すフローチャートである。
【図６】本実施形態に係るアプリケーション管理部によって管理されるサーブレット、及びサーブレットに登録するポート番号を示す図である。
【図７】本実施形態に係る外部機器がＨＴＴＰサーバ上で動作するサーブレットＡに処理を要求した場合のシーケンス図である。
【図８】本実施形態に係る外部機器がＨＴＴＰＳサーバ上で動作するサーブレットＢに処理を要求した場合のシーケンス図である。
【図９】本実施形態に係る外部機器がＨＴＴＰＳサーバ上で動作するサーブレットＣに処理を要求した場合のシーケンス図である。
【図１０】本実施形態に係る全体処理を示すフローチャートである。
【発明を実施するための形態】
【００１２】
以下、本発明を実施するための形態について図面を用いて説明する。尚、以下の実施形態は特許請求の範囲に係る発明を限定するものでなく、また実施形態で説明されている特徴の組み合わせの全てが発明の解決手段に必須のものとは限らない。
【００１３】
＜第１の実施形態＞
＜ネットワーク構成の説明＞
以下では、図１乃至図１０を参照して、本発明における第１の実施形態について説明する。まず、図１を参照して、本実施形態に係る情報処理システムについて説明する。本実施形態では、デバイスの一例としてＭＦＰ、プリンタ、ファックス、複写機などの画像形成装置（情報処理装置）を使用する例を示す。
【００１４】
図１に示すように、ローカルエリアネットワーク（ＬＡＮ）１０４には、ＭＦＰ１０１と、外部機器１０２、１０３とが相互通信可能に接続される。本実施形態では、ＭＦＰ１０１が、外部機器１０２、１０３等から通知されるＨＴＴＰ（Ｈｙｐｅｒ  Ｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）に従った処理要求（以下、ＨＴＴＰ要求とも称する。）に従って、後述する処理を実行する。
【００１５】
＜ＭＦＰのハードウェア構成＞
次に、図２を参照して、ＭＦＰのハードウェア構成について説明する。ＭＦＰ１０１は、情報処理装置の一例であり、コントロールユニット２００、操作部２１０、スキャナ２２０及びプリンタ２３０を備える。また、コントロールユニット２００は、ＣＰＵ２０１、ＲＡＭ２０２、ＲＯＭ２０３、操作部Ｉ／Ｆ２０４、スキャナＩ／Ｆ２０５、プリンタＩ／Ｆ２０６、及びネットワークＩ／Ｆ２０７を備える。ＣＰＵ２０１は、ＭＦＰ１０１全体を統括的に制御する。ＲＡＭ２０２は、ＣＰＵ２０１のワークエリア、受信バッファ、画像描画に使用されるランダム・アクセス・メモリである。ＲＯＭ２０３は、ＣＰＵ２０１が実行するソフトウェアプログラムやフォントデータを格納するリード・オンリ・メモリである。またＭＦＰ１０１は、不図示のハードディスクドライブを備え、オペレーティングシステムやシステムソフトウェア、及び画像データを記憶する。
【００１６】
操作部２１０は、各種スイッチやボタン、並びにメッセージ表示用の液晶表示部で構成される。ネットワークＩ／Ｆ２０７は、ＭＦＰ１０１をネットワークに接続するためのインタフェースである。プリンタ２３０は、画像データに従って記録紙に印刷を行う。スキャナ２２０は、印刷されたドキュメントなどを読み込んで電子データに変換する。
【００１７】
＜ＭＦＰの機能構成＞
次に、図３を参照して、ＭＦＰの機能構成について説明する。以下で説明する各コンポーネントは、ソフトウェア、ハードウェア、又は、ソフトウェアとハードウェアとの組み合わせとして実現することができる。図３に示すように、ＭＦＰ１０１は、機能構成として、アプリケーション起動部３０１、アプリケーション管理部３０２、ＨＴＴＰサーバアプリケーション３０３、及びＨＴＴＰＳサーバアプリケーション３０４を備える。
【００１８】
アプリケーション起動部３０１は、例えば、ＭＦＰ１０１への電源投入時やユーザからの起動指示に応じて、アプリケーション管理部３０２からの指示に従ってアプリケーションプログラムをＲＯＭ２０３等からロードすることにより、当該アプリケーションを起動する。また、アプリケーション起動部３０１は、外部機器１０２、１０３からのＨＴＴＰ要求を受信すると、アプリケーション管理部３０２に対して実行すべきアプリケーションに関する情報を要求する。なお、ＨＴＴＰ要求には、Ｗｅｂアプリケーションを識別する識別情報とポート番号で示すＵＲＬが含まれる。本実施形態では、以下に示すＵＲＬ「ｈｔｔｐ：／／ＭＦＰ１０１のＩＰアドレス：ポート番号／サーブレットのパス」の形式で記述されている。ＭＦＰ１０１は、上述のＵＲＬを含むＨＴＴＰ要求を受信すると、指定のポート番号に割り当てられたアプリケーションによってサーブレットが呼び出されることになる。即ち、ＨＴＴＰ要求は、指定したポート番号に登録された、指定したアプリケーション（サーブレット）の実行をリクエストする通知である。
【００１９】
アプリケーション管理部３０２は、アプリケーション起動部３０１からの要求に応答して、起動すべきアプリケーションと、当該アプリケーションプログラムの格納先、例えば、ＲＯＭ２０３のアドレスとを通知する。また、アプリケーション管理部３０２は、例えば、ＭＦＰ１０１の起動時に、起動リストを参照して、起動順序と、起動アプリケーションの格納先との情報を取得する。ここで、起動リストとは、アプリケーションの起動順序と、各アプリケーションのプログラムコードの格納先との情報を有する。なお、起動リストは、各アプリケーションのプログラムヘッダ部に定義された情報に従って、ＭＦＰ１０１の起動時にアプリケーション管理部３０２によって生成されてもよい。
【００２０】
ＨＴＴＰサーバアプリケーション３０３は、通常のＨＴＴＰサーバアプリケーションを実行する。ＨＴＴＰＳサーバアプリケーション３０４は、ＳＳＬソケットを使用したＨＴＴＰサーバアプリケーションを実行する。また、アプリケーション起動部３０１は、ＭＦＰ１０１の起動時に上記起動リストが生成されるタイミングで、各アプリケーションの例えばプログラムヘッダ部に定義された情報に従って、各ポート番号に使用するサーブレット（アプリケーション）を登録する。
【００２１】
＜起動リスト＞
次に、図４を参照して、アプリケーションの起動リストの一部について説明する。４０１はアプリケーション名を示し、４０２は各アプリケーションの起動順序を示す。例えば、図４においては、ＨＴＴＰサーバアプリケーションが１番目に起動され、ＨＴＴＰＳサーバアプリケーションが２番目に起動され、その後、サーブレットＡを含むＷｅｂアプリケーション、サーブレットＢを含むＷｅｂアプリケーション、サーブレットＣを含むＷｅｂアプリケーションが順に起動される。なお、図４には図示していないが、起動リストには、さらに、プログラムコードの格納先がそれぞれのアプリケーションに対応付けられて定義される。
【００２２】
ここで、サーブレットとは、アプリケーションに含まれるプログラムコードの一部であり、一般的に１つの機能を実現する単位毎に設けられる。即ち、アプリケーションは、複数のサーブレットを含んで構成されてもよい。なお、本実施形態では、サーブレットを含むアプリケーションは、ＨＴＴＰサーバアプリケーション３０３及びＨＴＴＰＳサーバアプリケーション３０４の起動後に起動されるように起動リストで定義される。
【００２３】
また、サーブレットを含むアプリケーションは、その起動時にＨＴＴＰサーバアプリケーション３０３又はＨＴＴＰＳサーバアプリケーション３０４にサーブレットを登録するＡＰＩを呼び出す。例えば、サーブレットは、ｒｅｇｉｓｔｅｒＳｅｒｖｌｅｔというＡＰＩを介してＨＴＴＰサーバアプリケーション３０３に登録される。なお、ｒｅｇｉｓｔｅｒＳｅｒｖｌｅｔは２つの形式を有する。
【００２４】
１つ目のｒｅｇｉｓｔｅｒＳｅｒｖｌｅｔは、以下の通りである。
ｒｅｇｉｓｔｅｒＳｅｒｖｌｅｔ（Ｓｅｒｖｌｅｔ，登録ポート）
本形式のｒｅｇｉｓｔｅｒＳｅｒｖｌｅｔは、ＨＴＴＰサーバアプリケーション３０３上で動作するサーブレット、ＨＴＴＰサーバアプリケーション３０３に登録するポート番号の２つの引数を取るものである。この場合、ＨＴＴＰサーバアプリケーション３０３は、指定されたサーブレットを登録ポートに登録する。
【００２５】
２つ目のｒｅｇｉｓｔｅｒＳｅｒｖｌｅｔは、以下の通りである。
ｒｅｇｉｓｔｅｒＳｅｒｖｌｅｔ（Ｓｅｒｖｌｅｔ，登録ポート，転送Ｓｅｒｖｌｅｔ登録ポート）
本形式のｒｅｇｉｓｔｅｒＳｅｒｖｌｅｔは、上記１つ目の形式の引数に加えて、転送サーブレット（転送アプリケーション）を登録するポートの３つの引数を取るものである。この場合、ＨＴＴＰサーバアプリケーション３０３は、登録したサーブレットへＨＴＴＰリダイレクトを行うための転送サーブレットを合わせて登録する。ｒｅｇｉｓｔｅｒＳｅｒｖｌｅｔで登録されたサーブレットの起動方法の詳細については後述する。
【００２６】
＜アプリケーションの起動処理＞
続いて、図５を参照して、ＭＦＰ１０１によるアプリケーションの起動処理について説明する。以下で説明する処理は、ＣＰＵ２０１がＲＯＭ２０３に格納された実行プログラムを読み出して実行することにより実現される。また、以下のフローチャートは、ＭＦＰ１０１への電源投入やユーザの起動処理開始指示などによって実行される。
【００２７】
Ｓ５０１において、アプリケーション管理部３０２は、ＲＯＭ２０３に予め格納されている起動リストを取得する。さらに、アプリケーション管理部３０２は、取得した起動リストに従ってアプリケーション起動部３０１に対して起動するアプリケーションの情報を通知する。次に、Ｓ５０２において、アプリケーション起動部３０１は、アプリケーション管理部３０２から指示された起動順序に従って起動するアプリケーションのプログラムコードをＲＯＭ２０３からＲＡＭ２０２にロードする。続いて、Ｓ５０３において、アプリケーション起動部３０１は、ＲＡＭ２０２にロードしたプログラムコードを実行することにより、アプリケーションを起動する。
【００２８】
次に、Ｓ５０４において、アプリケーション起動部３０１は、サーブレットの登録が必要であるか否かを判定する。具体的には、当該アプリケーションのプログラムを実行することにより、当該プログラムコードから上記ＡＰＩ（ｒｅｇｉｓｔｅｒＳｅｒｖｌｅｔ）が呼び出されていれば、アプリケーション起動部３０１はサーブレットを登録する必要があると判定する。ここで、サーブレットの登録が必要である場合はＳ５０５に進み、必要でない場合はＳ５０８に進む。
【００２９】
Ｓ５０５において、アプリケーション起動部３０１は、第１の登録手段として機能し、当該サーブレットを指定されたポート番号に登録する。続いて、Ｓ５０６において、アプリケーション起動部３０１は、Ｓ５０５で登録したサーブレットに対する転送サーブレット（転送アプリケーション）の登録が必要であるか否かを判定する。なお、ここでは、実行した当該プログラムコードから呼び出す上記ＡＰＩ（ｒｅｇｉｓｔｅｒＳｅｒｖｌｅｔ）が、転送サーブレットを登録する転送ポート番号を示す引数（３つ目の引数）を取るか否かを判定する。３つ目の引数を取ると判定した場合には、アプリケーション起動部３０１は転送サーブレットを登録する必要があると判定する。ここで、転送サーブレットの登録が必要である場合はＳ５０７に進み、必要でない場合はＳ５０８に進む。このように、本実施形態によれば、所定のサーブレットを登録した場合に当該サーブレットの転送サーブレットを登録するか否かを判定し、登録の必要があれば転送サーブレットを登録することができる。
【００３０】
Ｓ５０７において、アプリケーション起動部３０１は、第２の登録手段として機能し、当該転送サーブレットを指定されたポート番号に登録し、Ｓ５０８に進む。Ｓ５０８において、アプリケーション起動部３０１は、起動リストに定義されたアプリケーションを全て起動したか否かを判定する。ここで、全てのアプリケーションを起動した場合は処理を終了し、そうでない場合は処理をＳ５０２に戻す。なお、ここでは、アプリケーション起動部３０１が実行したプログラムコードから上記ＡＰＩが呼び出されたか否かに応じて、サーブレットを登録する方法について説明した。しかし、本発明はこれに限定されず、例えば、アプリケーション管理部３０２が予めサーブレットの割り当てリストを作成し、アプリケーションの起動タイミングで上記起動リストとともにアプリケーション起動部３０１にサーブレットの登録リストを渡してもよい。この場合、アプリケーション起動部３０１は、渡されたサーブレットの登録リストを用いてサーブレットの登録を行う。
【００３１】
＜サーブレット＞
次に、図６を参照して、アプリケーション管理部３０２で管理されているサーブレットの登録リストの一例について説明する。図６において、６０１は登録するサーブレット名を示す。６０２は登録するサーブレットに割り当てられるポート番号を示す。６０３は転送ポート番号の有無を示す。６０４は転送ポート番号が有る場合の当該ポート番号を示す。なお、以下で示すポート番号８０はＨＴＴＰ用のポート番号であり、ポート番号４４３はＨＴＴＰＳ用のポート番号である。
【００３２】
図６に示すように、サーブレットＢはポート番号４４３に登録され、さらに、転送ポート番号８０が登録される。例えば、外部機器１０２からのＨＴＴＰ要求において、サーブレットＢでポート番号８０が指定されると、ＨＴＴＰサーバアプリケーション３０３は、転送サーブレットを実行することにより、ポート番号４４３でサーブレットＢを指定するように外部機器１０２に対してＨＴＴＰリダイレクトメッセージを送信する。一方、サーブレットＡ，Ｃが指定された場合であって、かつ、割り当てられたポート番号が指定されていない場合、転送ポート番号が登録されていないため、ＨＴＴＰサーバアプリケーション３０３は、ＨＴＴＰリダイレクトメッセージを送信しない。
【００３３】
＜処理シーケンス＞
次に、図７乃至図９を参照して、外部機器から各サーブレットのＨＴＴＰ要求を受信した場合の処理シーケンスについて説明する。まず、図７を参照して、外部機器１０２から図６に示すサーブレットＡのＨＴＴＰ要求を受信した場合の処理シーケンスについて説明する。
【００３４】
Ｓ７０１において、外部機器１０２は、ポート番号８０と、サーブレットＡとを指定したＨＴＴＰ要求をＭＦＰ１０１のＨＴＴＰサーバアプリケーション３０３に通知する。ＨＴＴＰ要求を受信すると、Ｓ７０２において、ＨＴＴＰサーバアプリケーション３０３は、例えば、図３及び図６に示すように、ポート番号８０に割り当てられたサーブレットＡ３０６が登録されているため、当該サーブレットＡを呼び出す。
【００３５】
Ｓ７０３において、呼び出されたサーブレットＡは、処理を実行し、Ｓ７０４において処理結果をＨＴＴＰサーバアプリケーション３０３に応答する。Ｓ７０５において、ＨＴＴＰサーバアプリケーション３０３は、サーブレットＡからの処理結果を、ＨＴＴＰ要求を送信した外部機器１０２に通知する（ＨＴＴＰ応答）。
【００３６】
次に、図８を参照して、外部機器１０２から図６に示すサーブレットＢのＨＴＴＰ要求を受信した場合の処理シーケンスについて説明する。まず、Ｓ８０１において、外部機器１０２は、ポート番号８０と、サーブレットＢとを指定したＨＴＴＰ要求をＭＦＰ１０１のＨＴＴＰサーバアプリケーション３０３に通知する。ＨＴＴＰ要求を受信すると、Ｓ８０２において、ＨＴＴＰサーバアプリケーション３０３は、図３及び図６に示すように、ポート番号８０に割り当てられたサーブレットＢへの転送サーブレット３０７が登録されているため、当該転送サーブレットを呼び出す。
【００３７】
Ｓ８０３において、呼び出された転送サーブレットは、ＨＴＴＰリダイレクトメッセージを作成し、Ｓ８０４において当該ＨＴＴＰリダイレクトメッセージをＨＴＴＰサーバアプリケーション３０３に送信する。ここで、ＨＴＴＰリダイレクトメッセージとは、例えば、サーブレットＢを実行したい場合に、外部機器が自動的にポート番号４４３を指定してＨＴＴＰ要求を行うように指示するメッセージを示す。Ｓ８０５において、ＨＴＴＰサーバアプリケーション３０３は、ＨＴＴＰリダイレクトメッセージをＨＴＴＰ応答として外部機器１０２に通知する。
【００３８】
次に、Ｓ８０６において、外部機器１０２は、受信したＨＴＴＰリダイレクトメッセージに従って、ポート番号４４３と、サーブレットＢとを指定したＨＴＴＰ要求をＨＴＴＰＳサーバアプリケーション３０４に通知する。ＨＴＴＰ要求を受信すると、Ｓ８０７において、ＨＴＴＰＳサーバアプリケーション３０４は、図３及び図６に示すように、ポート番号４４３に割り当てられたサーブレットＢ３０８が登録されているため、当該サーブレットＢを呼び出す。
【００３９】
Ｓ８０８において、呼び出されたサーブレットＢは、処理を実行し、Ｓ８０９において処理結果をＨＴＴＰＳサーバアプリケーション３０４に応答する。Ｓ８１０において、ＨＴＴＰＳサーバアプリケーション３０４は、サーブレットＢからの処理結果を、ＨＴＴＰ要求を送信した外部機器１０２に通知する（ＨＴＴＰ応答）。
【００４０】
次に、図９を参照して、外部機器１０２から図６に示すサーブレットＣのＨＴＴＰ要求を受信した場合の処理シーケンスについて説明する。まず、Ｓ９０１において、外部機器１０２は、ポート番号４４３と、サーブレットＣとを指定したＨＴＴＰ要求をＭＦＰ１０１のＨＴＴＰＳサーバアプリケーション３０４に通知する。ＨＴＴＰ要求を受信すると、Ｓ９０２において、ＨＴＴＰＳサーバアプリケーション３０４は、例えば、図３及び図６に示すように、ポート番号４４３に割り当てられたサーブレットＣ３０９が登録されているため、当該サーブレットＣを呼び出す。
【００４１】
Ｓ９０３において、呼び出されたサーブレットＣは、処理を実行し、Ｓ９０４において処理結果をＨＴＴＰＳサーバアプリケーション３０４に応答する。Ｓ９０５において、ＨＴＴＰＳサーバアプリケーション３０４は、サーブレットＣからの処理結果を、ＨＴＴＰ要求を送信した外部機器１０２に通知する（ＨＴＴＰ応答）。
【００４２】
＜情報処理システムにおける全体処理フロー＞
次に、図１０を参照して、情報処理システムにおけるサーバ（ＨＴＴＰサーバアプリケーション３０３又はＨＴＴＰＳサーバアプリケーション３０４）とクライアント（外部機器）とのやり取りを示す全体処理フローについて説明する。以下で説明するフローチャートは、外部機器（クライアント）において、ユーザから目的のＨＴＴＰサーバ（ＨＴＴＰサーバアプリケーション３０３又はＨＴＴＰＳサーバアプリケーション３０４）へのアクセス指示を受け付けることにより開始される。
【００４３】
まず、Ｓ１００１において、外部機器１０２は、サーバアドレスで示されるサーバの８０番ポートに対して以下のようなリクエストを送信する。
ＧＥＴ／ＳｅｒｖｌｅｔＸ
Ｈｏｓｔ：サーバアドレス：８０
なお、ユーザからの指示において、ＨＴＴＰサーバのポート番号が省略された場合は、８０番ポートで動作するサーバへのリクエストとして解釈してもよい。また、上記リクエストは、サーブレットＸを８０番ポートに対してリクエストしている。
【００４４】
Ｓ１００２において、ＨＴＴＰサーバアプリケーション３０３が上記リクエストを受信する。続いて、Ｓ１００３において、ＨＴＴＰサーバアプリケーション３０３は、ＨＴＴＰサーバに登録されているサーブレットの中で「サーブレットＸ」という名前のサーブレットを検索する。続いて、Ｓ１００４において、ＨＴＴＰサーバアプリケーション３０３は、検索結果に基づいて、目的のサーブレットＸがＨＴＴＰサーバに存在するか否かを判定する。ここで、存在する場合はＳ１００５に進み、存在しない場合はＳ１０１５に進む。
【００４５】
Ｓ１００５において、ＨＴＴＰサーバアプリケーション３０３は、目的のサーブレットＸが存在する場合に、当該サーブレットＸが転送サーブレットであるか否かを判定する。ここで、転送サーブレットであればＳ１００６に進み、そうでなければＳ１０１３に進む。Ｓ１００６において、転送サーブレットは、ＨＴＴＰ要求（リクエスト）に対するレスポンスデータとしてＨＴＴＰリダイレクトメッセージを生成し、生成したＨＴＴＰリダイレクトメッセージをＨＴＴＰサーバアプリケーション３０３に送信する。続いて、Ｓ１００７において、ＨＴＴＰサーバアプリケーション３０３は、受信したＨＴＴＰリダイレクトメッセージに従って外部機器（クライアント）１０２に以下のＨＴＴＰリダイレクトレスポンスを送信する。
３０２ Ｍｏｖｅｄ Ｔｅｍｐｏｒａｒｉｌｙ
Ｌｏｃａｔｉｏｎ：ｈｔｔｐ：／／サーバアドレス：４４３／ＳｅｒｖｌｅｔＸ
上記ＨＴＴＰリダイレクトレスポンスは、外部機器１０２に対して、４４３番ポートに登録されたサーブレットＸを指定してＨＴＴＰ要求するように指示するメッセージである。
【００４６】
Ｓ１００８において、外部機器１０２は、上記ＨＴＴＰリダイレクトレスポンスを受信する。続いて、Ｓ１００９において、外部機器１０２は、ＨＴＴＰリダイレクトレスポンスのＬｏｃａｔｉｏｎヘッダに記述されているＵＲＬを解釈し、サーバアドレスで示されるサーバの４４３番ポートに対して以下のようなリクエストを自動的に送信する。
ＧＥＴ／ＳｅｒｖｌｅｔＸ
Ｈｏｓｔ：サーバアドレス：４４３
上記リクエストは、サーブレットＸを４４３番ポートに割り当てられたＨＴＴＰＳサーバアプリケーションに対してリクエストしている。
【００４７】
Ｓ１０１０において、ＨＴＴＰＳサーバアプリケーション３０４は、上記リクエストを受信する。続いて、Ｓ１０１１において、ＨＴＴＰＳサーバアプリケーション３０４は、ＨＴＴＰＳサーバに登録されているサーブレットの中で「サーブレットＸ」という名前のサーブレットを検索する。Ｓ１０１２において、ＨＴＴＰＳサーバアプリケーション３０４は、検索結果に基づいて、目的のサーブレットＸがＨＴＴＰＳサーバに存在するか否かを判定する。ここで、存在する場合はＳ１０１３に進み、存在しない場合はＳ１０１５に進む。
【００４８】
Ｓ１０１３において、サーブレットＸは、リクエストに対する処理を実行し、処理結果をＨＴＴＰサーバ又はＨＴＴＰＳサーバ（ここでは、ＨＴＴＰサーバアプリケーション３０３又はＨＴＴＰＳサーバアプリケーション３０４）に通知する。その後、Ｓ１０１４において、ＨＴＴＰサーバアプリケーション３０３又はＨＴＴＰＳサーバアプリケーション３０４は、レスポンスデータを受信し、クライアントである外部機器１０２に当該レスポンスを通知する。さらにＳ１０１６において、外部機器１０２は、当該レスポンスを受信し、Ｓ１０１７においてリクエスト処理を終了する。
【００４９】
また、Ｓ１０１５において、目的のサーブレットが登録されていないため、ＨＴＴＰサーバアプリケーション３０３又はＨＴＴＰＳサーバアプリケーション３０４は、エラーレスポンス（エラーメッセージ）を生成して、当該エラーレスポンスを外部機器１０２に通知する。その後、Ｓ１０１６において、外部機器１０２は、エラーレスポンスを受信し、Ｓ１０１７でリクエスト処理を終了する。
【００５０】
以上説明したように、画像処理装置等のアプリケーション開発者は、サーブレットのＨＴＴＰサーバへの登録時に、意図して転送サーブレットを登録するか否かを選択できるようになる。このため、規制等によるプロトコル変更に追従して利用可能なポートが変更されても、転送サーブレットの登録ポートさえ変わらなければ、ユーザはアクセス方法を覚えなおす必要がなくなる。また、Ｗｅｂサービスプロバイダの開発者は、クライアントがＨＴＴＰリダイレクトメッセージを解釈できない場合に、転送サーブレットを登録しないという選択ができる。
【００５１】
以上の説明では、転送サーブレットの登録が必要であるか否かの判定は、アプリケーション管理部３０２で管理するプログラムコードｒｅｇｉｓｔｅｒＳｅｒｖｌｅｔの引数に基づいて判定するようにした（Ｓ５０７参照）。しかし、Ｓ５０７で転送サーブレットを登録すると判定された場合であっても、ＭＦＰ１０１本体の設定でＨＴＴＰリダイレクトを行わないように設定されている場合もある。このような場合には、転送サーブレットを登録しないようにすることもできる。この結果、ＨＴＴＰＳサーバアプリケーションで動作するサーブレットのパスを知らないＷｅｂクライアントからのＨＴＴＰ要求を受け付けないようにすることで、セキュリティを向上させることができる。
【００５２】
＜その他の実施形態＞
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
0005795848.tif 000002
【図２】
0005795848.tif 000003
【図３】
0005795848.tif 000004
【図４】
0005795848.tif 000005
【図５】
0005795848.tif 000006
【図６】
0005795848.tif 000007
【図７】
0005795848.tif 000008
【図８】
0005795848.tif 000009
【図９】
0005795848.tif 000010
【図１０】
0005795848.tif 000011