(57)【特許請求の範囲】
【請求項１】
非暗号通信で用いるセッションＩＤと暗号通信で用いるセキュアセッションＩＤとを含むセッション情報を記憶する記憶手段と、
外部機器から非暗号通信により受信したリクエストに含まれるセッションＩＤと前記記憶手段に記憶されたセッション情報に含まれるセッションＩＤとが一致しない場合、前記リクエストを送信した外部機器との通信で使用するセッションＩＤとセキュアセッションＩＤを生成して前記記憶手段にセッション情報として記憶するとともに、前記生成したセッションＩＤを前記リクエストに対するレスポンスに付加して前記外部機器に送信し、前記外部機器から暗号通信により受信したリクエストに含まれるセッションＩＤと前記記憶手段に記憶されたセッション情報に含まれるセッションＩＤとが一致する場合、前記生成したセキュアセッションＩＤを、前記リクエストに対するレスポンスに付加して前記外部機器に送信する制御手段と、
を有することを特徴とする情報処理装置。
【請求項２】
前記暗号通信は、ＳＳＬにより暗号化されたＨＴＴＰの通信であり、前記非暗号通信は、ＳＳＬにより暗号化されていないＨＴＴＰの通信であることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記制御手段は、外部機器から暗号通信により受信したリクエストに含まれるセッションＩＤと前記記憶手段に記憶されたセッション情報に含まれるセッションＩＤとが一致しない場合、前記リクエストを送信した外部機器との通信で使用するセッションＩＤとセキュアセッションＩＤを生成してセッション情報として前記記憶手段に記憶するとともに、前記生成したセッションＩＤと前記セキュアセッションＩＤを前記リクエストに対するレスポンスに付加して前記外部機器に送信することを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記制御手段は、外部機器から非暗号通信により受信したリクエストに含まれるセッションＩＤと、前記記憶手段に記憶されたセッション情報に含まれるセッションＩＤとが一致する場合、新しいセッション情報を生成せずに、前記リクエストに対するレスポンスを前記外部機器に送信することを特徴とする請求項１ないし３のいずれか１項に記載の情報処理装置。
【請求項５】
前記制御手段は、外部機器から暗号通信により受信したリクエストに含まれるセキュアセッションＩＤと、前記記憶手段に記憶されたセキュアセッションＩＤとが一致する場合、新しいセッション情報を生成することなく、前記リクエストに対するレスポンスを前記外部機器に送信することを特徴とする請求項１ないし４のいずれか１項に記載の情報処理装置。
【請求項６】
前記記憶手段は、更に、セッション情報を使用した日時を示す使用日時情報を記憶し、前記制御手段は、外部機器から非暗号通信により受信したリクエストに含まれるセッションＩＤと前記記憶手段に記憶されたセッション情報に含まれるセッションＩＤとが一致する場合、又は、外部機器から暗号通信により受信したリクエストに含まれるセキュアセッションＩＤと前記記憶手段に記憶されたセッション情報に含まれるセキュアセッションＩＤとが一致する場合、前記記憶手段に記憶された使用日時情報を更新することを特徴とする請求項１ないし５のいずれか１項に記載の情報処理装置。
【請求項７】
前記記憶手段は、更に、過去に暗号通信を行ったか否かを示すフラグを記憶し、
前記制御手段は、外部機器から暗号通信により受信したリクエストに含まれるセッションＩＤと、前記記憶手段に記憶されたセッション情報に含まれるセッションＩＤとが一致する場合で、かつ、前記フラグがＯＦＦである場合、前記セッションＩＤに対応づけて記憶されているセキュアセッションＩＤを、前記リクエストに対するレスポンスに付加して前記外部機器に送信するとともに、前記フラグをＯＦＦからＯＮに設定することを特徴とする請求項１ないし６のいずれか１項に記載の情報処理装置。
【請求項８】
前記制御手段は、外部機器から暗号通信により受信したリクエストに含まれるセッションＩＤと、前記記憶手段に記憶されたセッション情報に含まれるセッションＩＤとが一致する場合で、かつ、前記フラグがＯＮである場合、新しいセッション情報を生成して前記記憶手段に記憶するとともに、前記生成したセッションＩＤとセキュアセッションＩＤを前記リクエストに対するレスポンスに付加して前記外部機器に送信することを特徴とする請求項７に記載の情報処理装置。
【請求項９】
前記制御手段は、外部機器から暗号通信又は非暗号通信により受信したリクエストのＣｏｏｋｉｅヘッダにセッションＩＤ又はセキュアセッションＩＤが含まれているかを確認することを特徴とする請求項１ないし８のいずれか１項に記載の情報処理装置。
【請求項１０】
原稿を読み取る読取手段を更に有し、
前記リクエストは、前記読取手段により原稿を読み取るためのリクエストであることを特徴とする請求項１ないし９のいずれか１項に記載の情報処理装置。
【請求項１１】
画像データを印刷する印刷手段を更に有し、
前記リクエストは、前記印刷手段により画像データを印刷するためのリクエストであることを特徴とする請求項１ないし１０のいずれか１項に記載の情報処理装置。
【請求項１２】
情報処理装置の制御方法であって、
非暗号通信で用いるセッションＩＤと暗号通信で用いるセキュアセッションＩＤとを含むセッション情報を記憶手段に記憶する記憶ステップと、
外部機器から非暗号通信により受信したリクエストに含まれるセッションＩＤと前記記憶手段に記憶されたセッション情報に含まれるセッションＩＤとが一致しない場合、前記リクエストを送信した外部機器との通信で使用するセッションＩＤとセキュアセッションＩＤを生成して前記記憶手段にセッション情報として記憶するとともに、前記生成したセッションＩＤを前記リクエストに対するレスポンスに付加して前記外部機器に送信する第１の制御ステップと、
前記外部機器から暗号通信により受信したリクエストに含まれるセッションＩＤと前記記憶ステップで記憶されたセッション情報に含まれるセッションＩＤとが一致する場合、前記生成したセキュアセッションＩＤを、前記リクエストに対するレスポンスに付加して前記外部機器に送信する第２の制御ステップと、
を有することを特徴とする制御方法。
【請求項１３】
情報処理装置に
非暗号通信で用いるセッションＩＤと暗号通信で用いるセキュアセッションＩＤとを含むセッション情報を記憶手段に記憶する記憶ステップと、
外部機器から非暗号通信により受信したリクエストに含まれるセッションＩＤと前記記憶手段に記憶されたセッション情報に含まれるセッションＩＤとが一致しない場合、前記リクエストを送信した外部機器との通信で使用するセッションＩＤとセキュアセッションＩＤを生成して前記記憶手段にセッション情報として記憶するとともに、前記生成したセッションＩＤを前記リクエストに対するレスポンスに付加して前記外部機器に送信する第１の制御ステップと、
前記外部機器から暗号通信により受信したリクエストに含まれるセッションＩＤと前記記憶ステップで記憶されたセッション情報に含まれるセッションＩＤとが一致する場合、前記生成したセキュアセッションＩＤを、前記リクエストに対するレスポンスに付加して前記外部機器に送信する第２の制御ステップと、
を実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、外部機器からの要求に応じて処理を実行する情報処理装置に関する。
【背景技術】
【０００２】
コピー機能やプリント機能をもつＭＦＰ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎａｌ  Ｐｅｒｉｐｈｅｒａｌ）は、ネットワーク上の外部機器と通信して各種の処理を行うＷｅｂサーバ機能を有している。ＭＦＰは、Ｗｅｂサーバ機能を有することにより、外部機器からＨＴＴＰ（ＨｙｐｅｒＴｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）に従った処理要求を受信し、受信した処理の要求に応じて処理を実行し、処理結果を外部機器へ送信することができる。一例として、ＭＦＰの処理状態（ジョブ実行中か否かなど）を取得する要求を外部機器から受信した場合、ＭＦＰは、自身の状態を外部機器へ応答する。または外部機器から、プリント処理の要求を受信した場合、受信した要求に応じてプリントを行い、その処理結果を外部機器へ応答する。
【０００３】
ＨＴＴＰサーバで動作するアプリケーションは、一般に、Ｃｏｏｋｉｅを用いて、外部機器との通信状態を識別する識別子を管理している。Ｃｏｏｋｉｅで管理する識別子は、特定の外部機器からの要求であるか否かを判断するために利用したり、一度要求を行った外部機器であるか否かを判断し、判断結果に応じて前回の要求に対する処理の続きを行うために利用したりする。また、外部機器の認証を行うための識別子としても利用される。
【０００４】
例えば、ネットワーク上の外部機器がＨＴＴＰサーバで動作するアプリケーションに処理を要求した場合、ＨＴＴＰサーバで動作するアプリケーションは、外部機器を識別する識別子をセッションＩＤとして生成する。そして処理要求の結果とともに、セッションＩＤを外部機器へ送信する。外部機器は、再度ＨＴＴＰサーバで動作するアプリケーションに処理を要求するときは、ＭＦＰから受信したセッションＩＤとともに処理要求を送信する。この結果、ＭＦＰは、同一の外部機器からの処理要求であることを認識し、またセッションＩＤに基づく処理を実行することもできる。
【０００５】
また、ＨＴＴＰサーバにセキュリティ機能を付加したＨＴＴＰＳサーバ（ＳＳＬによりデータを暗号化してＨＴＴＰクライアントと通信するＨＴＴＰサーバ）で動作するアプリケーションが実装されているＭＦＰも一般的に知られている。
【０００６】
例えば、ネットワーク上の外部機器がＨＴＴＰＳサーバで動作するアプリケーションに処理を要求した場合、ＨＴＴＰＳサーバで動作するアプリケーションは、セッションＩＤに加え、セキュアセッションＩＤと呼ばれる識別子を生成する。セキュアセッションＩＤは、暗号化通信を行ったときに使用する識別子である。ＨＴＴＰＳサーバで動作するアプリケーションは、処理要求に対する処理結果とともに、セッションＩＤとセキュアセッションＩＤを外部機器へ送信する。外部機器は、再度ＨＴＴＰＳサーバで動作するアプリケーションに処理を要求するときは、ＭＦＰから受信したセッションＩＤ及びセキュアセッションＩＤとともに処理要求を送信する。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００９−１４０１６３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、ＭＦＰは、ＨＴＴＰサーバで動作するアプリケーションと、ＨＴＴＰサーバで動作するアプリケーションを実装する場合には、それぞれのアプリケーションで異なる識別子を使用する。そのため、たとえ同一の外部機器からの要求であっても異なる識別子を管理しなければならない。
【課題を解決するための手段】
【０００９】
上記目的を達成するために、本発明の情報処理装置は、非暗号通信で用いるセッションＩＤと暗号通信で用いるセキュアセッションＩＤとを含むセッション情報を記憶する記憶手段と、外部機器から非暗号通信により受信したリクエストに含まれるセッションＩＤと前記記憶手段に記憶されたセッション情報に含まれるセッションＩＤとが一致しない場合、前記リクエストを送信した外部機器との通信で使用するセッションＩＤとセキュアセッションＩＤを生成して前記記憶手段にセッション情報として記憶するとともに、前記生成したセッションＩＤを前記リクエストに対するレスポンスに付加して前記外部機器に送信し、前記外部機器から暗号通信により受信したリクエストに含まれるセッションＩＤと前記記憶手段に記憶されたセッション情報に含まれるセッションＩＤとが一致する場合、前記生成したセキュアセッションＩＤを、前記リクエストに対するレスポンスに付加して前記外部機器に送信する制御手段と、を有することを特徴とする。
【発明の効果】
【００１０】
外部機器から処理要求を受信した場合、同一装置上で動作する複数のアプリケーションで使用する識別子を一括して生成するので、外部機器がアプリケーションに対して処理を要求する度に、新たな識別子を生成する手間を軽減することができる。
【図面の簡単な説明】
【００１１】
【図１】本実施形態におけるＭＦＰと外部機器とからなる情報処理システムのシステム構成を説明するための図である。
【図２】本実施形態におけるＭＦＰのハードウェア構成を示すブロック図である。
【図３】本実施形態におけるＭＦＰのソフトウェア構成を説明するための図である。
【図４】本実施形態におけるセッション管理部が管理するセッションテーブルの一例を示す図である。
【図５】本実施形態におけるＭＦＰと外部装置の処理を示すシーケンス図である。
【図６】本実施形態におけるＳｃａｎＴｏＢｏｘサーブレットによって実行される処理を示すフローチャートである。
【図７】本実施形態におけるＢｏｘＰｒｉｎｔサーブレットによって実行される処理を示すフローチャートである。
【発明を実施するための形態】
【００１２】
以下、図面を用いて本発明の実施の形態について詳しく説明する。
【００１３】
図１を用いて、本実施形態におけるＭＦＰ（Ｍｕｌｉｔｉ  Ｆｕｎｃｔｉｏｎａｌ  Ｐｅｒｉｐｈｅｒａｌ）と複数の外部機器とからなる情報処理システムのシステム構成について説明する。
【００１４】
本実施形態に係る情報処理システムは、ＭＦＰ１０１と外部機器１０２、１０３を有する。これらはネットワーク１０４に接続され、互いに通信可能な構成となっている。本実施形態では、デバイスの一例としてＭＦＰ、プリンタ、ファックス、複写機などの画像形成装置（情報処理装置）を使用する例を示す。
【００１５】
ＭＦＰ１０１は、スキャン機能、ファックス機能、プリント機能、電子メール機能、及びＷｅｂブラウザ機能、Ｗｅｂサーバ機能などの複数の機能を兼ね備えた装置である。本実施形態において、ＭＦＰ１０１は、Ｗｅｂサーバ機能を備えることで、外部機器のＷｅｂブラウザまたは専用のＷｅｂクライアントからの要求に従った処理を行い、処理結果を応答することができる。例えば、Ｗｅｂブラウザからの要求がＭＦＰ１０１の状態を閲覧する要求であれば、ＭＦＰの状態情報を取得し、取得した結果をＷｅｂブラウザへ送信する。またＷｅｂブラウザからの要求がＭＦＰ１０１のネットワーク設定をする要求であれば、その要求に含まれるパラメータに従ってネットワークの設定をすることができる。
【００１６】
またＭＦＰ１０１は、ＭＦＰの上述のスキャン機能やプリント機能をＷｅｂサービスとして提供するＷｅｂサーバとしての機能を有する。具体的には、Ｗｅｂブラウザや他の専用ＨＴＴＰクライアントからの要求に応じてスキャンやプリント、ネットワーク送信処理などを実行することが可能である。
【００１７】
なお、図１ではＭＦＰは１台しか図示していないが、複数台のＭＦＰがネットワーク１０４に接続されてもよい。
【００１８】
外部機器１０２は、Ｗｅｂブラウザを有し、ネットワーク１０４を介してＭＦＰ１０１のＷｅｂアプリケーションに処理を要求することができる。外部機器１０２は、パーソナルコンピュータ（ＰＣ）や、携帯電話などである。また外部機器１０２は、Ｗｅｂブラウザなどの機能を備える他のＭＦＰなどであってもよい。
【００１９】
図２を用いて、図１のＭＦＰ１０１のハードウェア構成について説明する。ＭＦＰ１０１は、コントロールユニット２００、操作部２１０、スキャナ２２０、プリンタ２３０を有する。
【００２０】
コントロールユニット２００は、ＭＦＰ１０１の制御を行う装置である。コントロールユニット２００は、ＣＰＵ２０１、ＲＡＭ２０２、ＲＯＭ２０３、ＨＤＤ２０４、操作部Ｉ／Ｆ２０５、スキャナＩ／Ｆ２０６、プリンタＩ／Ｆ２０７、ネットワークＩ／Ｆ２０８、及び画像処理部２０９を有する。コントロールユニットに含まれる各部は、システムバスによって相互に接続されている。
【００２１】
ＣＰＵ２０１は、ＭＦＰ１０１全体を制御するための演算装置である。ＲＡＭ２０２は、ＣＰＵ２０１が動作するためのシステムワーキングメモリであり、画像データを一時記憶するための画像メモリでもある。またＲＡＭ２０２は、オペレーティングシステムやシステムソフトウェア、アプリケーションプログラムなどのプログラムもロードされる。
【００２２】
ＨＤＤ２０４はハードディスクドライブであり、オペレーティングシステムや、システムソフトウェア、アプリケーションプログラム、及び画像データを格納する。
【００２３】
操作部Ｉ／Ｆ２０５は、操作部２１０と接続されている。操作部２１０は、ＭＦＰ１０１の状態を知らせるタッチパネルなどの表示装置と、ＭＦＰ１０１に指示を与えるための操作ボタンとが一体となった装置である。
【００２４】
スキャナＩ／Ｆ２０６は、画像入力デバイスであるスキャナ２２０とコントロールユニット２００を接続し、画像データの入力を行う。スキャナ２２０からスキャナＩ／Ｆ２０６を介して入力された画像データは、ＲＡＭ２０２やＨＤＤ２０４に格納される。格納された画像データは、必要に応じてＲＡＭ２０２にロードされたアプリケーションプログラムまたは画像処理部２０９で画像処理される。
【００２５】
プリンタＩ／Ｆ２０７は、画像出力デバイスであるプリンタ２３０とコントロールユニット２００を接続し、画像データの出力を行う。ＲＡＭ２０２やＨＤＤ２０４に格納された画像データはプリンタＩ／Ｆ２０７を介してプリンタ２３０へ出力され、プリンタ２３０で画像が印刷される。
【００２６】
ネットワークＩ／Ｆ２０８は、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）に接続し、画像データ、あるいはＭＦＰ１０１を制御する情報の入出力を行う。
【００２７】
画像処理部２０９は、スキャナ２２０から入力したデータやプリンタ２３０へ出力するデータに対して、画像処理、画像回転、画像圧縮、解像度変換、色空間変換、階調変換などの処理を行う。
【００２８】
なお、図２には図示していないが、ＭＦＰ１０１は、ＦＡＸ機能を持ち、モデム装置向けＩ／Ｆからコントロールユニット２００と接続し、モデムによって公衆回線を介してＦＡＸ伝送を可能としている。
【００２９】
図３を用いて、ＭＦＰ１０１、外部機器１０２、１０３のソフトウェア構成について説明する。ＭＦＰ１０１は、ＨＴＴＰサーバ３１０、ＨＴＴＰＳサーバ３２０、及びセッション管理部３３０を有する。３１０、３２０、３３０の各機能は、ＲＯＭ２０３またはＨＤＤ２０４に記憶されているプログラムをＣＰＵ２０１がＲＡＭ２０２にロードして実行することで実現される。
【００３０】
外部機器１０２、１０３が有するＷｅｂブラウザ３４０は、ＰＣなどで使われる汎用的なＷｅｂブラウザである。Ｗｅｂブラウザ３４０は、ＨＴＴＰサーバ３１０またはＨＴＴＰＳサーバにアクセスして取得したＨＴＭＬコンテンツを外部機器１０２の表示装置（不図示）に表示することができる。ＨＴＭＬコンテンツとは、ＨＴＭＬで記述されたデータのことである。外部機器１０３も外部機器１０２と同等の機能を有する。
【００３１】
なお外部機器１０２、１０３はＰＣなどで汎用的に使われるＷｅｂブラウザではなく、ＭＦＰ１０１のＨＴＴＰサーバ３１０やＨＴＴＰＳサーバとの通信を行うために開発された専用のアプリケーションを有していてもよい。
【００３２】
ＭＦＰ１０１のＨＴＴＰサーバ３１０は、Ｗｅｂブラウザ３４０からの要求に応じて、ＨＴＭＬコンテンツの表示やその他のサービスを提供するＷｅｂサービスプログラムである。ＨＴＴＰＳサーバ３２０は、ＨＴＴＰサーバにＳＳＬ（Ｓｅｃｕｒｅ  Ｓｏｃｋｅｔ  Ｌａｙｅｒ）を組み込むことで通信の暗号化やデータの改ざん防止、通信相手の認証を可能とするＷｅｂサービスプログラムである。  
【００３３】
ＳｃａｎＴｏＢｏｘサーブレット３１１は、Ｗｅｂブラウザ３４０との通信可能なＷｅｂアプリケーション（サーブレット）である。ＳｃａｎＴｏＢｏｘサーブレット３１１は、ＨＴＴＰサーバで動作する。ＳｃａｎＴｏＢｏｘサーブレット３１１は、スキャナ２２０で原稿をスキャンして生成した画像データを、ボックスと呼ばれるＨＤＤ２０４の所定の記憶領域に記憶する処理（第１の処理）を実行する。ＳｃａｎＴｏＢｏｘサーブレット３１１は、外部機器１０２または１０３からのＨＴＴＰに従った要求（以下、ＨＴＴＰリクエストという）に応じて呼び出され、動作する。ＳｃａｎＴｏＢｏｘサーブレット３１１が受信するＨＴＴＰリクエストは第１の処理要求に相当する。ＳｃａｎＴｏＢｏｘサーブレット３１１の呼び出しは、Ｗｅｂブラウザ３４０から受信するＨＴＴＰリクエストに含まれるＵＲＬに基づき行われる。ＵＲＬは、「ｈｔｔｐ：／／ＭＦＰ１０１のＩＰアドレス：ＨＴＴＰサーバ３１０のポート番号（本実施形態では、８０番ポート）／ＳｃａｎＴｏＢｏｘサーブレット３１１のパス」の形式で記述されている。つまり、ＭＦＰ１０１は、上述のＵＲＬを含むＨＴＴＰリクエストを受信すると、８０番ポートに割り当てられたＨＴＴＰサーバによって、ＳｃａｎＴｏＢｏｘサーブレットが呼び出されることになる。ＳｃａｎＴｏＢｏｘサーブレット３１１は、Ｗｅｂブラウザ３４０からのＨＴＴＰリクエストに従ってジョブを実行し、ジョブの実行結果をＨＴＴＰの応答（以下、ＨＴＴＰレスポンスという）としてＷｅｂブラウザ３４０へ送信する。送信されるＨＴＴＰレスポンスには、ジョブが正常に完了したことを示す情報、または、実行中にエラーが発生したことを示す情報などが記述されている。
【００３４】
ＢｏｘＴｏＰｒｉｎｔサーブレット３２１は、Ｗｅｂブラウザ３４０と通信可能であり、ＨＴＴＰＳサーバ３２０で動作するＷｅｂアプリケーション（サーブレット）である。ＢｏｘＴｏＰｒｉｎｔサーブレット３２１は、ボックスに格納された画像を印刷する処理（第２の処理）を実行する。ＢｏｘＴｏＰｒｉｎｔサーブレット３２１は、ＨＴＴＰＳサーバ３２０に呼び出されることにより動作する。ＢｏｘＴｏＰｒｉｎｔサーブレット３２１の呼び出しは、ＨＴＴＰリクエストに含まれるＵＲＬによって行われる。ＵＲＬは「ｈｔｔｐｓ：／／ＭＦＰ１０１のＩＰアドレス：ＨＴＴＰＳサーバ３２０のポート番号（本実施形態では、４４３番ポート）／ＳｃａｎＴｏＢｏｘサーブレット３１１のパス」の形式で記述されている。なお、ＢｏｘＴｏＰｒｉｎｔサーブレット３２１とＷｅｂブラウザ３４０とで送受信されるＨＴＴＰリクエスト及びＨＴＴＰレスポンスは、ＳＳＬにより暗号化される。なお、ＢｏｘＴｏＰｒｉｎｔサーブレット３２１が受信するＨＴＴＰリクエストは第２の処理要求に相当する。
【００３５】
ＨＴＭＬコンテンツ生成部３１２及び３２２は、Ｗｅｂブラウザ３４０からのＨＴＴＰリクエストに応じて生成したＨＴＭＬコンテンツをＷｅｂブラウザ３４０へ送信する。
【００３６】
セッション管理部３３０は、Ｃｏｏｋｉｅであり、Ｗｅｂブラウザ３４０とＨＴＴＰサーバ３１０との間の通信、及び、Ｗｅｂブラウザ３４０とＨＴＴＰＳサーバ３２０との間の通信の通信状態を識別する識別子（以下、セッション情報という）を管理する。またセッション情報は、Ｗｅｂブラウザ３４０の認証が成功したことを示す識別子としても利用される。セッション情報は、Ｗｅｂブラウザと通信を開始した際に生成され、後述のセッションテーブルに記憶される。
【００３７】
セッション管理部３３０は、更に、セッションテーブルで管理するセッション情報を保持する保持時間を記憶する。本実施形態においては、保持時間は３０分である。セッション管理部３３０は、最後にＨＴＴＰサーバ３１０またはＨＴＴＰＳサーバ３２０がセッション情報を使用（参照）した時刻（使用日時）と、現在時刻との差が３０分以上あるかどうかをチェックする。チェックした結果、セッション情報を参照した時刻と現在時刻との差が３０分以上であるセッション情報がある場合、セッション管理部３３０はそのセッション情報を削除する。
【００３８】
図４は、本実施形態におけるセッション管理部３３０が管理するセッションテーブルの一例を示す図である。
【００３９】
セッション管理テーブルは、図４に示すセッション情報を複数記憶している。セッション情報は、セッションＩＤ、セキュアセッションＩＤ，ＨＴＴＰフラグ、使用日時の値を属性として持つ。セッションＩＤ（第１の識別子）及びセキュアセッションＩＤ（第２の識別子）は、互いに対応づけて記憶されている。
【００４０】
セッションＩＤは、ＳｃａｎＴｏＢｏｘサーブレット３１１と通信した外部機器１０２を識別する識別子である。セッションＩＤは第１の識別子に相当する。またセッションＩＤは、ＢｏｘＴｏＰｒｉｎｔサーブレット３２１と通信する場合にも参照される場合がある。セキュアセッションＩＤは、ＢｏｘＴｏＰｒｉｎｔサーブレット３２１と通信したＷｅｂブラウザを識別する識別子である。セキュアセッションＩＤは第２の識別子に相当する。ＨＴＴＰＳフラグには、セッションＩＤによって特定されるＷｅｂブラウザがＨＴＴＰＳサーバと通信した場合には「ＯＮ」が設定され、ＨＴＴＰＳサーバとの通信を一度も行っていない場合には「ＯＦＦ」が設定される。
【００４１】
使用日時は、セッション情報を使用（参照）した日時である。ＳｃａｎＴｏＢｏｘサーブレット３１１またはＢｏｘＴｏＰｒｉｎｔサーブレット３２１のいずれかがセッションテーブルからセッション情報を取得し、使用日時を現在時刻に更新する。なお、セッション情報の使用日時は、ＳｃａｎＴｏＢｏｘサーブレット３１１またはＢｏｘＴｏＰｒｉｎｔサーブレット３２１のどちらかが使用すれば、更新される。つまり、例えば、ＢｏｘＴｏＰｒｉｎｔサーブレットでは、３０分以上セッション情報を使用しなかったとしても、ＳｃａｎＴｏＢｏｘサーブレットでセッション情報を使用していれば、セッション情報は削除されずに記憶し続けることになる。
【００４２】
図５は、ＳｃａｎＴｏＢｏｘサーブレット３１１とＢｏｘＴｏＰｒｉｎｔサーブレット３２１とＷｅｂブラウザ３４０との間の処理手順を示すシーケンス図である。なお、図５の処理手順は、後述する図６及び図７のフローチャートの処理を実行することにより実現されるものである。
【００４３】
Ｓ５０１〜Ｓ５０３は、ＭＦＰ１０１のＳｃａｎＴｏＢｏｘサーブレット３１１と外部機器１０２のＷｅｂブラウザ３４０との処理である。なおＳ５０１〜Ｓ５０３の通信についてはＳＳＬによる暗号化を行わないため、ネットワーク上の他の装置（例えば外部機器１０３）によってデータの盗聴や改ざんがされる可能性がある。
【００４４】
まずＳ５０１にて、Ｗｅｂブラウザ３４０は、ＳｃａｎＴｏＢｏｘサーブレット３１１へＨＴＴＰに従ったリクエスト（ＨＴＴＰリクエスト）を送信する。ＳｃａｎＴｏＢｏｘサーブレット３１１は、Ｗｅｂブラウザ３４０から受信したＨＴＴＰリクエストに従ってＨＴＴＰサーバ３１０によって呼び出される。
【００４５】
Ｓ５０２にて、ＳｃａｎＴｏＢｏｘサーブレット３１１は、新しくセッション情報（セッションＩＤ、セキュアセッションＩＤ、ＨＴＴＰフラグ、使用日時）を生成する。本実施形態においては、ＳｃａｎＴｏＢｏｘサーブレット３１１とＷｅｂブラウザ３４０との間の通信で利用するセッションＩＤだけでなく、ＢｏｘＴｏＰｒｉｎｔサーブレット３２１との間で利用するセキュアセッションＩＤも一括して生成する。そして、一括して生成したセッションＩＤ（第１の識別子）及びセキュアセッションＩＤ（第２の識別子）を互いに対応づけてセッションテーブルに記憶する。この結果、何度もセッション情報を生成することにより、ＣＰＵ２０１の処理負荷を減らしている。なお、Ｓ５０２におけるセッション情報を生成する処理は、Ｗｅｂブラウザ３４０とＳｃａｎＴｏＢｏｘサーブレット３１１の間での有効なセッション情報がないと判断された場合にのみ行われるものである。有効なセッション情報があるか否かの判断は、初めてのＷｅｂブラウザ３４０との通信であるか、または前回Ｗｅｂブラウザ３４０と通信してから所定時間（３０分）が経過しセッション情報が無効になったか、などの条件に基づき行われる。詳細については、図６のフローチャートにて後述する。
【００４６】
そして、ＳｃａｎＴｏＢｏｘサーブレット３１１は、Ｓ５０１で受信したＨＴＴＰリクエストに従ってＳｃａｎＴｏＢｏｘ処理を行い、処理結果を示すＨＴＴＰレスポンスをＷｅｂブラウザ３４０へ送信する。ＨＴＴＰレスポンスを送信するとき、Ｓ５０２で生成したセッション情報のうちセッションＩＤを取得し、ＨＴＴＰレスポンスのＣｏｏｋｉｅヘッダに含めて送信する。
【００４７】
Ｓ５０４〜Ｓ５０７は、ＭＦＰ１０１のＢｏｘＴｏＰｒｉｎｔサーブレット３２１と外部機器１０２のＷｅｂブラウザ３４０との間で行われる処理である。Ｓ５０４〜Ｓ５０７で送受信されるＨＴＴＰリクエスト及びＨＴＴＰレスポンスは、ＳＳＬによって暗号化される。
【００４８】
Ｓ５０４にて、Ｗｅｂブラウザ３４０は、ＢｏｘＴｏＰｒｉｎｔサーブレット３２１へＨＴＴＰリクエストを送信する。このときＷｅｂブラウザ３４０は、Ｓ５０３で受信したセッションＩＤをＨＴＴＰリクエストのｃｏｏｋｉｅヘッダに含めて送信する。
【００４９】
Ｓ５０５にて、ＢｏｘＴｏＰｒｉｎｔサーブレット３２１は、Ｓ５０４で受信したＨＴＴＰリクエストに従ってＢｏｘＴｏＰｒｉｎｔの処理を実行する。具体的には、外部機器１０２を操作するユーザに印刷対象の画像を確認させるため、ＨＤＤ２０４から取得した画像データのプレビュー画像を生成する。そして、生成したプレビュー画像をＨＴＴＰレスポンスとしてＷｅｂブラウザ３４０へ送信する。このときＢｏｘＴｏＰｒｉｎｔサーブレット３２１は、ＨＴＴＰレスポンスのヘッダにセキュアセッションＩＤを含めて送信する。なお、Ｓ５０５でセキュアセッションＩＤを送信するのは、Ｗｅｂブラウザ３４０が、初めてＢｏｘＴｏＰｒｉｎｔサーブレット３２１にアクセスした場合、または前回Ｗｅｂブラウザ３４０と通信してから所定時間（３０分）が経過した場合である。
【００５０】
Ｓ５０６にて、Ｗｅｂブラウザ３４０は、ＢｏｘＴｏＰｒｉｎｔサーブレット３２１へＨＴＴＰリクエストを送信する。このときＷｅｂブラウザ３４０は、Ｓ５０３で受信したＨＴＴＰレスポンスに含まれるセッションＩＤと、Ｓ５０５で受信したＨＴＴＰレスポンスに含まれるセキュアセッションＩＤとを取得する。そして取得したセッションＩＤとセキュアセッションＩＤをＨＴＴＰリクエストのヘッダに含めて送信する。
【００５１】
Ｓ５０７にて、ＢｏｘＴｏＰｒｉｎｔサーブレット３２１は、Ｓ５０６で受信したＨＴＴＰリクエストに基づいてＢｏｘＴｏＰｒｉｎｔ処理の続きを実行する。具体的には、ＨＴＴＰリクエストがプレビュー画像に対応する画像データを印刷する要求である場合に、ＨＤＤ２０４に格納された画像データに基づいて画像の印刷を行う。そして、その処理結果をＨＴＴＰレスポンスとしてＷｅｂブラウザ３４０に送信する。
【００５２】
Ｓ５０８〜Ｓ５０９は、Ｓ５０１でアクセスしたＷｅｂブラウザ３４０が、再度、ＳｃａｎＴｏＢｏｘサーブレット３１１へアクセスする場合の処理である。
【００５３】
Ｓ５０８にて、Ｗｅｂブラウザは、Ｓ５０３で受信したセッションＩＤを含むＨＴＴＰリクエストをＳｃａｎＴｏＢｏｘサーブレット３１１へ送信する。Ｓ５０９では、Ｓ５０８で受信したＨＴＴＰリクエストに基づいてＳｃａｎＴｏＢｏｘの処理を実行し、その処理結果をＨＴＴＰレスポンスとして送信する。なお、Ｓ５０９では、ＨＴＴＰレスポンスのヘッダにセッション情報を含めずに送信する。
【００５４】
Ｓ５１０〜Ｓ５１２は、他の外部機器１０３のＷｅｂブラウザ３４０とＢｏｘＴｏＰｒｉｎｔサーブレット３２１との間の処理である。
【００５５】
Ｓ５１０にて、他の外部機器１０３のＷｅｂブラウザ３４０は、ＢｏｘＴｏＰｒｉｎｔサーブレット３２１へＨＴＴＰリクエストを送信する。送信されるＨＴＴＰリクエストには、Ｓ５０２で外部機器１０２が受信したセッションＩＤが含まれているとする。例えば、外部機器１０３がＳ５０２での通信を盗聴してセッションＩＤを取得した場合などが考えられる。
【００５６】
Ｓ５１１にて、ＢｏｘＴｏＰｒｉｎｔサーブレット３２１は、別の外部機器からのＨＴＴＰリクエストであると判断し、新しいセッション情報（セッションＩＤ、セキュアセッションＩＤ、ＨＴＴＰフラグ、使用日時）を生成する。
【００５７】
Ｓ５１２にて、ＢｏｘＴｏＰｒｉｎｔサーブレット３２１は、Ｓ５１１で生成したセッション情報のうち、セッションＩＤとセキュアセッションＩＤとを取得し、ＢｏｘＴｏＰｒｉｎｔの処理結果とともにＷｅｂブラウザ３４０へ送信する。
【００５８】
本実施形態では、ＳｃａｎＴｏＢｏｘサーブレット３１１とＷｅｂブラウザとのセッション情報をセッションＩＤで管理するようにした。一方、ＢｏｘＴｏＰｒｉｎｔサーブレット３２１とＷｅｂブラウザとの通信では、ＳＳＬによるデータの暗号を行うため、セキュアセッションＩＤ及びセッションＩＤで管理するようにした。本実施形態によれば、複数のサーブレットで異なる識別子を管理する必要がある場合であっても、同一のＷｅｂブラウザからの要求であれば共通のセッション情報として一元的に管理することができる。
【００５９】
また本実施形態によれば、Ｓ５０１でＳｃａｎＴｏＢｏｘサーブレットがＨＴＴＰリクエストを受信すると、セッション情報としてセッションＩＤ及びセキュアセッションＩＤの両方を一括して生成するようにした。この結果、Ｓ５０１の後ＢｏｘＴｏＰｒｉｎｔサーブレットにＨＴＴＰリクエストがあった時に（Ｓ５０４）セキュアセッションＩＤを生成する必要はなくなる。最初のリクエスト時（Ｓ５０１）にセッション情報を一括で生成することによって、ＣＰＵの処理負荷が軽減することができるという効果がある。
【００６０】
次に図６を用いて、本実施形態におけるＳｃａｎＴｏＢｏｘサーブレットが行うＳｃａｎＴｏＢｏｘ処理について説明する。図６のフローチャートの各ステップを実行するためのプログラムは、ＭＦＰ１０１のＲＯＭ２０３またはＨＤＤ２０４に記憶されており、ＲＡＭ２０２にロードされ、ＣＰＵ２０１によって実行される。
【００６１】
図６のフローチャートは、外部機器１０２または１０３を操作するユーザがＭＦＰ１０１にＳｃａｎＴｏＢｏｘ処理を指示することにより開始する。ＳｃａｎＴｏＢｏｘ処理を指示する際、ユーザは、Ｗｅｂブラウザ３４０で表示される操作画面で、原稿のスキャン解像度、読み取った画像のボックス格納先、格納する画像に設定するファイル名などを指定して、スキャンの実行指示を行う。
【００６２】
Ｓ６０１にて、ＳｃａｎＴｏＢｏｘサーブレット３１１は、Ｗｅｂブラウザ３４０からＨＴＴＰリクエストを受信する。ＨＴＴＰリクエストのＣｏｋｋｉｅヘッダには、セッションＩＤが含まれている場合がある。
【００６３】
Ｓ６０２にて、ＳｃａｎＴｏＢｏｘサーブレット３１１は、ＨＴＴＰリクエストのＣｏｋｋｉｅヘッダをチェック（確認）する。確認の結果、ＣｏｏｋｉｅヘッダにセッションＩＤが存在する場合（Ｓ６０３でＹｅｓ）、Ｓ６０９へ進む。ＣｏｏｋｉｅヘッダにセッションＩＤが存在しない場合（Ｓ６０３でＮｏ）、Ｓ６０４へ進む。
【００６４】
Ｓ６０４にて、ＳｃａｎＴｏＢｏｘサーブレット３１１は、セッション情報（セッションＩＤ、セキュアセッションＩＤ、ＨＴＴＰフラグ、使用日時の情報）を生成する。なお、これ以外にも、ユーザを識別するための識別子やサーブレットで固有に使用する設定などを生成してもよい。
【００６５】
Ｓ６０５にて、ＳｃａｎＴｏＢｏｘサーブレット３１１は、Ｓ６０４で生成したＨＴＴＰフラグをＯＦＦに設定する。
【００６６】
Ｓ６０６にて、ＳｃａｎＴｏＢｏｘサーブレット３１１は、Ｓ６０４、Ｓ６０５で生成及び設定したセッション情報をセッション管理部のセッションテーブルに記憶する。セッションテーブルに記憶したセッション情報は、ＲＡＭ２０２に一時的に記憶される。
【００６７】
Ｓ６０７にて、ＳｃａｎＴｏＢｏｘサーブレット３１１は、Ｓ６０１で受信したＨＴＴＰリクエストに従ってＳｃａｎＴｏＢｏｘの処理を実行する。ＨＴＴＰリクエストには、スキャン解像度、ボックス格納先、およびボックスに格納する画像に設定するためのファイル名などの情報が含まれている。ＳｃａｎＴｏＢｏｘサーブレット３１１は、ＨＴＴＰリクエストに含まれる情報に従って、スキャナ２２０で読み取った画像データをＨＤＤ２０４に記憶する。
【００６８】
Ｓ６０８にて、ＳｃａｎＴｏＢｏｘサーブレット３１１は、Ｓ６０４で生成したセッションＩＤとＳ６０７で実行した結果（成功または失敗を示す情報）をＨＴＴＰレスポンスとして送信し、本フローチャートの処理を終了する。
【００６９】
一方、ＨＴＴＰリクエストのｃｏｏｋｉｅヘッダにセッションＩＤが存在する場合（Ｓ６０３でＹｅｓ）、Ｓ６０９の処理を行う。Ｓ６０９では、ＳｃａｎＴｏＢｏｘサーブレット３１１は、ｃｏｏｋｉｅヘッダのセッションＩＤをキーにして、セッション管理部３３０で管理されているセッションテーブルを検索する。検索の結果、ＣｏｏｋｉｅヘッダのセッションＩＤと一致するセッションＩＤを持つセッション情報がセッションテーブルにある場合（Ｓ６１０でＹｅｓ）、Ｓ６１１へ進む。ＣｏｏｋｉｅヘッダのセッションＩＤと一致するセッションＩＤを持つセッション情報がない場合（Ｓ６１０でＮｏ）、Ｓ６０４へ進む。
【００７０】
Ｓ６１１にて、ＳｃａｎＴｏＢｏｘサーブレット３１１は、Ｓ６１０で一致すると判定されたセッション情報を特定し、特定したセッション情報の使用日時を更新する。具体的には、ＭＦＰ１０１の内部タイマ（不図示）により取得した現在時刻を使用日時に設定し、図４のセッションテーブルに記憶する。
【００７１】
Ｓ６１２にて、ＳｃａｎＴｏＢｏｘサーブレット３１１はＳｃａｎＴｏＢｏｘの処理を実行する。具体的には、Ｓ６０１で受信したＨＴＴＰリクエストに含まれる情報に従って、スキャナ２２０で読み取った画像データをＨＤＤ２０４に記憶する。
【００７２】
Ｓ６１３にて、ＳｃａｎＴｏＢｏｘサーブレット３１１は、Ｓ６１２の実行結果（成功または失敗を示す情報）をＨＴＴＰレスポンスとしてＷｅｂブラウザ３４０へ送信して、本フローチャートの処理を終了する。なお、Ｓ６１３ではセッションＩＤは送信されない。
【００７３】
図７を用いて、本実施形態におけるＢｏｘＴｏＰｒｉｎｔサーブレット３２１によるＢｏｘＴｏＰｒｉｎｔ処理について説明する。図７のフローチャートの各ステップを実行するためのプログラムは、ＭＦＰ１０１のＲＯＭ２０３またはＨＤＤ２０４に記憶されており、ＲＡＭ２０２にロードされたＣＰＵ２０１によって実行される。
【００７４】
なお、図７のフローチャートは、外部機器のＷｅｂブラウザで、ユーザがＢｏｘＴｏＰｒｉｎｔの指示を行うことにより開始する。ＷｅｂブラウザでＢｏｘＴｏＰｒｉｎｔ処理の指示を行う際、ユーザは、Ｗｅｂブラウザの操作画面で、印刷対象の画像データの格納場所、印刷前にプレビューを行うか否か、及び各種の印刷設定を指定してプリント指示を行う。
【００７５】
Ｓ７０１にて、ＢｏｘＴｏＰｒｉｎｔサーブレット３２１は、Ｗｅｂブラウザ３４０からＨＴＴＰリクエストを受信する。
【００７６】
Ｓ７０２にて、ＢｏｘＴｏＰｒｉｎｔサーブレット３２１は、ＨＴＴＰリクエストのＣｏｋｋｉｅヘッダを確認する。確認の結果、ＣｏｏｋｉｅヘッダにセキュアセッションＩＤが存在する場合（Ｓ７０３でＹｅｓ）、Ｓ７０４へ進む。ＣｏｏｋｉｅヘッダにセキュアセッションＩＤが存在しない場合（Ｓ７０３でＮｏ）、Ｓ７０９へ進む。
【００７７】
Ｓ７０４にて、ＢｏｘＴｏＰｒｉｎｔサーブレット３２１は、Ｃｏｋｋｉｅヘッダに存在するセキュアセッションＩＤをキーにして、セッション管理部３３０で管理されているセッションテーブルを検索する。検索の結果、ＣｏｏｋｉｅヘッダのセキュアセッションＩＤと一致するセキュアセッションＩＤを持つセッション情報がセッションテーブルにある場合（Ｓ７０５でＹｅｓ）、Ｓ７０６へ進む。ＣｏｏｋｉｅヘッダのセキュアセッションＩＤと一致するセキュアセッションＩＤを持つセッション情報がない場合（Ｓ７０５でＮｏ）、Ｓ７０９へ進む。
【００７８】
なおＳ７０５でＹｅｓと判定する場合とは、Ｓ７０１で受信するＨＴＴＰリクエストに含まれるＣｏｏｋｉｅヘッダに、セッションテーブルで管理するセキュアセッションＩＤが存在する場合である。この場合、一度ＳＳＬによる通信を行ってセキュアセッションＩＤを送信したことがあるＷｅｂブラウザからの要求であると判断し、Ｓ７０６以降の処理へ進む。
【００７９】
Ｓ７０６にて、ＢｏｘＴｏＰｒｉｎｔサーブレット３２１は、Ｓ７０５で一致すると判定されたセッション情報を特定し、特定したセッション情報の使用日時を更新する。
【００８０】
Ｓ７０７にて、ＢｏｘＴｏＰｒｉｎｔサーブレット３２１は、Ｓ７０１で受信したＨＴＴＰリクエストに従ってＢｏｘＴｏＰｒｉｎｔの処理を実行する。具体的には、Ｓ７０１で受信したＨＴＴＰリクエストに含まれる、印刷対象の画像データの格納場所、印刷前にプレビューを行うか否か、及び各種の印刷設定に基づきプリントを行う。
【００８１】
Ｓ７０８にて、ＢｏｘＴｏＰｒｉｎｔサーブレット３２１は、Ｓ７０８の実行結果（成功または失敗を示す情報）をＨＴＴＰレスポンスとしてＷｅｂブラウザ３４０へ送信して、本フローチャートの処理を終了する。
【００８２】
なお、Ｓ７０１で受信したＨＴＴＰリクエストにプレビューを行う指定がある場合には、Ｓ７０７では、ＨＤＤ２０４に記憶された画像データを取得して画像処理部２０９でプレビュー画像を生成する。そしてＳ７０８にて、プレビュー画像をＨＴＴＰレスポンスとしてＷｅｂブラウザ３４０へ送信する。再度Ｗｅｂブラウザ３４０から、プレビュー画像に基づき印刷実行を指示するＨＴＴＰリクエストを受信することにより、Ｓ７０１〜Ｓ７０６のステップを行い、Ｓ７０７でＳｃａｎＴｏＢｏｘ処理の続きを実行する。
【００８３】
一方、ＨＴＴＰリクエストのｃｏｏｋｉｅヘッダにセキュアセッションＩＤが存在しない場合（Ｓ７０３でＮｏ）、Ｓ７０９の処理を行う。Ｓ７０９では、ＢｏｘＴｏＰｒｉｎｔサーブレット３２１は、ＨＴＴＰリクエストのｃｏｏｋｉｅヘッダにセキュアセッションＩＤが存在するか否かを判断する。ｃｏｏｋｉｅヘッダにセッションＩＤが存在する場合（Ｓ７０９でＹｅｓ）、Ｓ７１０へ進む。ｃｏｏｋｉｅヘッダにセッションＩＤが存在しない場合（Ｓ７０９でＮｏ）、Ｓ７１７へ進む。
【００８４】
Ｓ７１０にて、ＢｏｘＴｏＰｒｉｎｔサーブレット３２１は、ＣｏｏｋｉｅヘッダのセッションＩＤをキーにして、セッション管理部３３０で管理されているセッションテーブルを検索する。検索の結果、ＣｏｏｋｉｅヘッダのセッションＩＤと一致するセッションＩＤを持つセッション情報がセッションテーブルにある場合（Ｓ７１１でＹｅｓ）、Ｓ７１２へ進む。ＣｏｏｋｉｅヘッダのセッションＩＤと一致するセッションＩＤを持つセッション情報がない場合（Ｓ７１１でＮｏ）、Ｓ７１７へ進む。
【００８５】
Ｓ７１２にて、ＢｏｘＴｏＰｒｉｎｔサーブレット３２１は、Ｓ７１１で一致すると判定されたセッション情報を特定し、特定したセッション情報のＨＴＴＰＳフラグがＯＮであるかＯＦＦであるかを判定する。ＨＴＴＰＳフラグがＯＦＦであると判定した場合（Ｓ７１２でＮｏ）、Ｓ７１３へ進む。
【００８６】
なお、Ｓ７１２でＮｏと判定する場合とは、Ｓ７０１で受信したＨＴＴＰリクエストに含まれるＣｏｏｋｉｅヘッダにセッションＩＤは含まれているが、ＨＴＴＰＳフラグはＯＦＦになっている場合である。つまり、過去にＳｃａｎＴｏＢｏｘサーブレットとの通信を行っており、まだＢｏｘＴｏＰｒｉｎｔサーブレットとの通信は行っていないＷｅｂブラウザからの要求であると判断し、Ｓ７１３以降の処理へ進む。
【００８７】
Ｓ７１３にて、ＢｏｘＴｏＰｒｉｎｔサーブレット３２１は、Ｓ７１２で特定したセッション情報のＨＴＴＰＳフラグをＯＮに設定する。Ｓ７１４にて、ＢｏｘＴｏＰｒｉｎｔサーブレット３２１は、Ｓ７１２で特定したセッション情報の使用日時を更新する。Ｓ７１５にて、ＢｏｘＴｏＰｒｉｎｔサーブレット３２１は、Ｓ７０１で受信したＨＴＴＰリクエストに従ってＢｏｘＴｏＰｒｉｎｔの処理を実行する。
【００８８】
Ｓ７１６にて、ＢｏｘＴｏＰｒｉｎｔサーブレット３２１は、セッション管理部３３０で管理するセッションテーブルから、Ｓ７１２で特定したセッション情報のセキュアセッションＩＤを取得する。そして取得したセキュアセッションＩＤとＳ７１５の実行結果（成功または失敗を示す情報）を、ＨＴＴＰレスポンスとしてＷｅｂブラウザ３４０へ送信して、本フローチャートの処理を終了する。
【００８９】
一方、Ｓ７１２でＹｅｓと判定した場合、Ｓ７１７以降の処理を行う。Ｓ７１２でＹｅｓと判定する場合とは、ＨＴＴＰＳフラグがＯＮになっているので、一度ＢｏｘＴｏＰｒｉｎｔサーブレットとＷｅｂブラウザとの間でＳＳＬによるデータの通信が行われている場合である。つまり、セキュアセッションＩＤがＢｏｘＴｏＰｒｉｎｔサーブレットからＷｅｂブラウザへ送信されているはずである。しかし、Ｓ７０１で受信したＨＴＴＰリクエストに含まれるＣｏｏｋｉｅヘッダには、セッションＩＤは含まれているがセキュアセッションＩＤは含まれていない（又はセキュアセッションＩＤは含まれているがセッションテーブルの値と一致しない）。この場合には、第三者がＷｅｂブラウザとＳｃａｎＴｏＢｏｘとの通信を盗聴したケースなどが考えられ、新たなセッション情報を生成するためにＳ７１７へ進む。
【００９０】
Ｓ７１７にて、ＢｏｘＴｏＰｒｉｎｔサーブレット３２１は、新たなセッション情報（セッションＩＤ、セキュアセッションＩＤ、ＨＴＴＰＳフラグ、使用日時）を生成する。この処理は、図６のＳ６０４と同様である。
【００９１】
Ｓ７１８にて、ＢｏｘＴｏＰｒｉｎｔサーブレット３２１は、Ｓ７１７で生成したセッション情報のＨＴＴＰＳフラグをＯＮに設定し、Ｓ７１９にて、Ｓ７１７で生成したセッション情報をセッションテーブルに保存する。
【００９２】
Ｓ７１９にて、ＢｏｘＴｏＰｒｉｎｔサーブレット３２１は、Ｓ７０１で受信したＨＴＴＰリクエストに従ってＢｏｘＴｏＰｒｉｎｔの処理を実行する。Ｓ７２１にて、ＢｏｘＴｏＰｒｉｎｔサーブレット３２１は、Ｓ７１７で生成したセッション情報のうちセッションＩＤとセキュアセッションＩＤを実行結果とともにＷｅｂブラウザ３４０へ送信し、本フローチャートの処理を終了する。
【００９３】
以上より、本実施形態によれば、複数のサーブレットで異なる識別子を用いて外部機器を識別する必要がある場合であっても、ＭＦＰ１０１は、同一のＷｅｂブラウザからの要求であることを認識することができる。
【００９４】
また本実施形態によれば、ＳｃａｎＴｏＢｏｘサーブレットが外部機器を識別するセッションＩＤと、ＢｏｘＴｏＰｒｉｎｔサーブレットが外部機器を識別するセキュアセッションＩＤを対応づけてセッションテーブルに記憶した。この結果、セッションＩＤとセキュアセッションＩＤを共通のセッション情報としてＭＦＰで一元的に管理することが可能となる。
【００９５】
また本実施形態によれば、ＳｃａｎＴｏＢｏｘサーブレットがＨＴＴＰリクエストを受信すると、セッションＩＤ及びセキュアセッションＩＤの両方を一括して生成するようにした。この結果、ＳｃａｎＴｏＢｏｘサーブレットへ第１の処理要求を送信した外部機器から、ＢｏｘＴｏＰｒｉｎｔサーブレットが第２の処理要求を受信した場合、セキュアセッションＩＤを生成する必要はなくなる。つまり、最初の処理要求（第１の処理要求）を受信した時にセッション情報を一括で生成することにより、ＣＰＵの処理負荷が軽減することができ、セッション情報の管理が容易となるという効果を得ることができる。
【００９６】
（他の実施形態）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【符号の説明】
【００９７】
１０１  ＭＦＰ
１０２  外部機器
３１０  ＨＴＴＰサーバ
３１１  ＳｃａｎＴｏＢｏｘサーブレット
３２０  ＨＴＴＰＳサーバ  
３２１  ＢｏｘＴｏＰｒｉｎｔサーブレット
３３０  セッション管理部
【図１】
0005669497.tif 000002
【図２】
0005669497.tif 000003
【図３】
0005669497.tif 000004
【図４】
0005669497.tif 000005
【図５】
0005669497.tif 000006
【図６】
0005669497.tif 000007
【図７】
0005669497.tif 000008