(57)【特許請求の範囲】
【請求項１】
サーバ装置と、当該サーバ装置と通信可能な情報処理装置であって、前記サーバ装置によって提供される画面情報を用いて操作画面を表示部に表示する制御を行う表示制御部、及び前記サーバ装置からの指示に応じたジョブを実行する制御を行う実行制御部を含む情報処理装置と、を備える情報処理システムであって、
前記サーバ装置は、
前記表示制御部から受信した認証情報を用いた認証に成功すると、当該表示制御部との間の通信に用いるセッション識別子を生成する生成手段と、
前記生成手段によって生成された前記セッション識別子と前記画面情報とを前記表示制御部に送信する手段と、
前記画面情報に基づく前記操作画面を介した操作内容を前記表示制御部から受信すると、当該操作内容に対応するジョブを実行させるためのジョブ情報と、前記生成手段によって生成された前記セッション識別子を、前記サーバ装置への通信に用いるセッション識別子として前記実行制御部に指示する指示情報とを前記実行制御部に送信する手段と、
前記ジョブ情報に応じたジョブの実行結果を示す完了情報を、前記実行制御部から受信する受信手段と、
を備え、
前記情報処理装置の前記表示制御部は、
前記サーバ装置から受信したセッション識別子を管理する手段と、
前記サーバ装置から受信した前記画面情報を用いて、前記表示部に前記操作画面を表示する手段と、
前記操作画面を介した前記操作内容と前記管理されているセッション識別子とを前記サーバ装置に送信する手段と、
を備え、
前記情報処理装置の前記実行制御部は、
前記サーバ装置から前記ジョブ情報を受信すると、当該ジョブ情報に応じたジョブを実行する実行手段と、
前記サーバ装置から受信した前記指示情報が示すセッション識別子を管理する手段と、
前記ジョブの実行が完了すると、当該ジョブの実行結果を示す完了情報と、前記指示情報に従って、前記管理されているセッション識別子とを前記サーバ装置に送信する手段と、
を備えることを特徴とする情報処理システム。
【請求項２】
前記指示情報は、
前記実行制御部に送信される前記ジョブ情報に、前記生成手段によって生成された前記セッション識別子を付加することによって前記サーバ装置から前記実行制御部に送信されることを特徴とする請求項１に記載の情報処理システム。
【請求項３】
前記情報処理装置の前記表示制御部は、
前記サーバ装置に前記画面情報を要求する手段と、
前記サーバ装置からの要求に応じて、前記認証情報を前記サーバ装置に送信する手段と、
をさらに備え、
前記サーバ装置は、
前記表示制御部から前記画面情報の要求を受信すると、当該要求に、前記生成手段によって既に生成されたセッション識別子が付加されているか否かを判定する手段と、
前記画面情報の要求にセッション識別子が付加されていないと判定されると、前記表示制御部に前記認証情報を要求する手段と、
前記表示制御部から前記認証情報を受信すると、当該認証情報を用いた認証を行う認証手段と、
をさらに備えることを特徴とする請求項１または２に記載の情報処理システム。
【請求項４】
前記実行手段は、
前記サーバ装置から前記ジョブ情報を受信すると、前記ジョブ情報に対応する処理を実行するためのジョブを生成する手段と、
前記生成されたジョブを実行する手段と、
前記生成されたジョブの実行が完了すると、当該ジョブの実行結果を示す前記完了情報を生成する手段と、
をさらに備えることを特徴とする請求項１乃至３の何れか１項に記載の情報処理システム。
【請求項５】
サーバ装置と通信可能であり、前記サーバ装置によって提供される画面情報を用いて操作画面を表示部に表示する制御を行う表示制御部、及び前記サーバ装置からの指示に応じたジョブを実行する制御を行う実行制御部を含む情報処理装置であって、
前記表示制御部は、
前記サーバ装置に対して送信した認証情報による認証が成功したことに応じて、前記画面情報と、前記表示制御部と前記サーバ装置との間の通信に用いるセッション識別子として前記サーバ装置において生成されたセッション識別子とを受信する手段と、
前記サーバ装置から受信されたセッション識別子を管理する手段と、
前記サーバ装置から受信された前記画面情報を用いて、前記表示部に前記操作画面を表示する手段と、
前記操作画面を介した操作内容と前記管理されているセッション識別子とを前記サーバ装置に送信する手段と、
を備え、
前記実行制御部は、
前記操作内容に対応するジョブを実行させるためのジョブ情報を、前記サーバ装置から受信すると、当該ジョブ情報に応じたジョブを実行する実行手段と、
前記サーバ装置において生成された前記セッション識別子を、前記実行制御部から前記サーバ装置への通信に用いるセッション識別子として指示する指示情報を前記サーバ装置から受信すると、当該指示情報が示すセッション識別子を管理する手段と、
前記ジョブの実行が完了すると、当該ジョブの実行結果を示す完了情報と、前記指示情報に従って、前記管理されているセッション識別子とを前記サーバ装置に送信する手段と、
を備えることを特徴とする情報処理装置。
【請求項６】
サーバ装置と、当該サーバ装置と通信可能な情報処理装置であって、前記サーバ装置によって提供される画面情報を用いて操作画面を表示部に表示する制御を行う表示制御部、及び前記サーバ装置からの指示に応じたジョブを実行する制御を行う実行制御部を含む情報処理装置と、を備える情報処理システムの制御方法であって、
前記サーバ装置が、
前記表示制御部から受信した認証情報を用いた認証に成功すると、当該表示制御部との間の通信に用いるセッション識別子を生成する生成工程と、
前記生成工程において生成された前記セッション識別子と前記画面情報とを前記表示制御部に送信する工程と、
前記画面情報に基づく前記操作画面を介した操作内容を前記表示制御部から受信すると、当該操作内容に対応するジョブを実行させるためのジョブ情報と、前記生成工程において生成された前記セッション識別子を、前記サーバ装置への通信に用いるセッション識別子として前記実行制御部に指示する指示情報とを前記実行制御部に送信する工程と、
前記ジョブ情報に応じたジョブの実行結果を示す完了情報を、前記実行制御部から受信する受信工程と、
を実行し、
前記情報処理装置の前記表示制御部が、
前記サーバ装置から受信したセッション識別子を管理する工程と、
前記サーバ装置から受信した前記画面情報を用いて、前記表示部に前記操作画面を表示する工程と、
前記操作画面を介した前記操作内容と前記管理されているセッション識別子とを前記サーバ装置に送信する工程と、
を実行し、
前記情報処理装置の前記実行制御部が、
前記サーバ装置から前記ジョブ情報を受信すると、当該ジョブ情報に応じたジョブを実行する実行工程と、
前記サーバ装置から受信した前記指示情報が示すセッション識別子を管理する工程と、
前記ジョブの実行が完了すると、当該ジョブの実行結果を示す完了情報と、前記指示情報に従って、前記管理されているセッション識別子とを前記サーバ装置に送信する工程と、
を実行することを特徴とする情報処理システムの制御方法。
【請求項７】
サーバ装置と通信可能であり、前記サーバ装置によって提供される画面情報を用いて操作画面を表示部に表示する制御を行う表示制御部、及び前記サーバ装置からの指示に応じたジョブを実行する制御を行う実行制御部を含む情報処理装置の制御方法であって、
前記表示制御部が、
前記サーバ装置に対して送信した認証情報による認証が成功したことに応じて、前記画面情報と、前記表示制御部と前記サーバ装置との間の通信に用いるセッション識別子として前記サーバ装置において生成されたセッション識別子とを受信する工程と、
前記サーバ装置から受信されたセッション識別子を管理する工程と、
前記サーバ装置から受信された前記画面情報を用いて前記表示部に前記操作画面を表示する工程と、
前記操作画面を介した操作内容を前記サーバ装置に送信する工程と、
を実行し、
前記実行制御部が、
前記操作内容に対応するジョブを実行させるためのジョブ情報を、前記サーバ装置から受信すると、当該ジョブ情報に応じたジョブを実行する工程と、
前記サーバ装置において生成された前記セッション識別子を、前記実行制御部から前記サーバ装置への通信に用いるセッション識別子として指示する指示情報を前記サーバ装置から受信すると、当該指示情報が示すセッション識別子を管理する工程と、
前記ジョブの実行が完了すると、当該ジョブの実行結果を示す完了情報と、前記指示情報に従って、前記管理されているセッション識別子とを前記サーバ装置に送信する工程と、
を実行することを特徴とする情報処理装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＭＦＰ等の情報処理装置、情報処理装置を含む情報処理システム、及びそれらの制御方法に関するものである。
【背景技術】
【０００２】
ＰＣ等の情報処理装置では、ネットワーク上のＷｅｂサーバ等のサーバ装置から提供される情報に基づいて、当該情報処理装置の表示部に操作画面を表示することが一般に行われている。例えば、情報処理装置が、ネットワーク上のＷｅｂサーバに対して、Ｗｅｂブラウザによって表示部に操作画面を表示するために必要な画面情報を要求（リクエスト）する。当該要求を受信したＷｅｂサーバでは、Ｗｅｂアプリケーションが、Ｗｅｂブラウザによって操作画面を表示させるための画面情報に相当するＨＴＭＬデータを、当該要求に対する応答（レスポンス）として情報処理装置に送信する。情報処理装置のＷｅｂブラウザは、受信したＨＴＭＬデータを解析し、解析したＨＴＭＬデータの記述に基づく操作画面を、当該情報処理装置の表示部に表示する。さらに、Ｗｅｂブラウザは、表示した操作画面を介した入力によりユーザの指示を受け付けると、入力された指示をＷｅｂサーバに通知する。この通知を受けたＷｅｂサーバ上のＷｅｂアプリケーションは、通知された指示に従って処理を実行する。
【０００３】
近年では、後述するように、スキャナ、プリンタ等を備えたＭＦＰ（Multi Function Peripheral）の中には、上述のようなＷｅｂブラウザを備えているものが存在する。このようなＭＦＰは、上述した手順でＷｅｂサーバから提供される画面情報に基づく操作画面を、当該ＭＦＰのＷｅｂブラウザによって表示部に表示する。さらに、ＭＦＰは、表示した操作画面を介して、ユーザからの各種指示を受け付ける。
【０００４】
例えば、特許文献１では、ＭＦＰが備える機能を利用するための指示をユーザに入力させるための操作画面の画面情報を、ＷｅｂサーバがＭＦＰへ提供する手法が提案されている。特許文献１では、ＭＦＰのユーザは、Ｗｅｂブラウザにより表示された操作画面を介して、ＭＦＰに対する指示を入力する。入力された指示は、ＷｅｂブラウザによってＭＦＰからＷｅｂサーバに通知される。当該通知を受けたＷｅｂサーバは、通知された指示の内容に従った処理をＭＦＰに実行させるために、ＭＦＰを制御するための制御データを、ＳＯＡＰ（Simple Object Access Protocol）等の通信プロトコルでＭＦＰに送信する。これにより、Ｗｅｂサーバは、ＭＦＰに対して制御データに従った処理の実行を要求する。当該要求を受信したＭＦＰは、要求された処理を実行する。特許文献１によれば、ＷｅｂサーバとＭＦＰとの間でこのような処理を行うことによって、ＭＦＰを操作するための全メニューデータをＭＦＰ内で保持しておく必要がなくなる。また、メニューデータを変更する場合には、ＭＦＰではなくＷｅｂサーバ上で容易に行うことが可能になる。
【０００５】
このようなＷｅｂサーバは、不特定のクライアントから接続される場合には、接続元のクライアントに対して、セッションごとにユーザ認証を要求することが一般的である。Ｗｅｂサーバが認証処理を行う場合、認証用の認証画面をＷｅｂサーバ側で容易にカスタマイズ可能な認証方式であるフォーム認証が用いられることが多い。この場合、Ｗｅｂサーバ上のＷｅｂアプリケーションが、認証用のフォームをクライアントに提供する。Ｗｅｂサーバは、フォーム認証によるクライアントの認証が完了すると、当該クライアントとの間で確立するセッションに用いるセッションＩＤを発行し、それをＨＴＴＰレスポンスとして当該クライアントに送信する。当該クライアントは、受信したセッションＩＤを、その後にサーバへ送信するＨＴＴＰリクエストに設定する。このような手順により、クライアントとサーバは、その後の通信を認証済みのセッションとして実行可能である。
【０００６】
Ｗｅｂサーバとクライアントとの間では、フォーム認証以外の認証方式が用いられる場合もある。例えば、特許文献２では、ＳＯＡＰプロトコルを用いたＳＯＡＰ通信により認証を行うことが記載されている。この場合、クライアントは、ＳＯＡＰ通信による認証後に、ＷｅｂサーバからＳＯＡＰレスポンスで返される一時ＵＲＬに対してＨＴＴＰリクエストを行うことで、セッションＩＤを取得できる。クライアントは、Ｗｅｂサーバに送信するＨＴＴＰリクエストにこのセッションＩＤを設定することで、上述のフォーム認証の場合と同様、Ｗｅｂサーバとの通信を認証済みのセッションとして実行可能である。
【０００７】
ここで、特許文献１のように、Ｗｅｂサーバが、ＭＦＰのスキャナ、プリンタ等のデバイスをＳＯＡＰ通信により制御するデバイス制御を実行する場合を想定する。この場合に、Ｗｅｂサーバによるデバイス制御で要求された処理をＭＦＰが完了したことを、Ｗｅｂサーバが把握するためには、そのことをＭＦＰからＷｅｂサーバへ通知する必要がある。例えば、このデバイス制御が、特許文献１のようにＳＯＡＰを利用して行われている場合、ＭＦＰは、制御の完了後に、そのことを示すデータをＳＯＡＰレスポンスでＷｅｂサーバに通知すればよい。
【０００８】
ところが上述のデバイス制御によりＭＦＰが実行するジョブの中には、その実行が完了するまでに長時間を要するものがある。例えば、プリンタを用いる印刷ジョブが実行される場合、印刷後の記録紙の排紙が完了するまでには、ある程度の時間を要する場合がある。この場合、ＭＦＰが、デバイス制御の要求をＳＯＡＰリクエストにより受けてから、制御の完了をＳＯＡＰレスポンスによりＷｅｂサーバに通知するまでの応答時間が長くなる可能性がある。このことは、Ｗｅｂサーバにおける負荷の観点から好ましくない。Ｗｅｂサーバにおける負荷を軽減するためには、例えば、ＭＦＰは、Ｗｅｂサーバからデバイス制御に関するＳＯＡＰリクエストを受けた際に、予めＳＯＡＰレスポンスをＷｅｂサーバへ送信する。その後、ＭＦＰは、要求された制御の実行が完了した際に、そのことを示す完了通知をＷｅｂサーバに送信すればよい。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００６−１２７５０３号公報
【特許文献２】特開２００８−０７７６１４号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
上述のように、ＭＦＰがデバイス制御の完了通知を送信する際に、Ｗｅｂサーバによって認証を要求される場合、ＭＦＰは、Ｗｅｂサーバから要求された認証方式による認証を完了しないと、当該完了通知をＷｅｂサーバへ送信することができない。例えば、Ｗｅｂサーバから要求される認証方式がフォーム認証である場合、ＭＦＰは、完了通知を送信するためには、Ｗｅｂサーバごとに異なるフォームに対応して認証を行わなければならない。一方で、Ｗｅｂサーバから要求される認証方式がフォーム認証以外の認証方式（例えば、ＨＴＴＰ認証のような認証プロトコル）である場合、ＭＦＰは、フォーム認証以外の認証方式に対応する必要がある。
【００１１】
本発明は、上述の問題に鑑みてなされたものであり、情報処理装置が、サーバから制御の実行を要求された場合に、認証処理を必要とされることなく制御の完了をサーバに通知する技術を提供することを目的としている。
【課題を解決するための手段】
【００１２】
本発明は、例えば、情報処理システムとして実現できる。本発明の一態様に係る情報処理システムは、サーバ装置と、当該サーバ装置と通信可能な情報処理装置であって、前記サーバ装置によって提供される画面情報を用いて操作画面を表示部に表示する制御を行う表示制御部、及び前記サーバ装置からの指示に応じたジョブを実行する制御を行う実行制御部を含む情報処理装置と、を備える情報処理システムであって、前記サーバ装置は、前記表示制御部から受信した認証情報を用いた認証に成功すると、当該表示制御部との間の通信に用いるセッション識別子を生成する生成手段と、前記生成手段によって生成された前記セッション識別子と前記画面情報とを前記表示制御部に送信する手段と、前記画面情報に基づく前記操作画面を介した操作内容を前記表示制御部から受信すると、当該操作内容に対応するジョブを実行させるためのジョブ情報と、前記生成手段によって生成された前記セッション識別子を、前記サーバ装置への通信に用いるセッション識別子として前記実行制御部に指示する指示情報とを前記実行制御部に送信する手段と、前記ジョブ情報に応じたジョブの実行結果を示す完了情報を、前記実行制御部から受信する受信手段と、を備え、前記情報処理装置の前記表示制御部は、前記サーバ装置から受信したセッション識別子を管理する手段と、前記サーバ装置から受信した前記画面情報を用いて、前記表示部に前記操作画面を表示する手段と、前記操作画面を介した前記操作内容と前記管理されているセッション識別子とを前記サーバ装置に送信する手段と、を備え、前記情報処理装置の前記実行制御部は、前記サーバ装置から前記ジョブ情報を受信すると、当該ジョブ情報に応じたジョブを実行する実行手段と、前記サーバ装置から受信した前記指示情報が示すセッション識別子を管理する手段と、前記ジョブの実行が完了すると、当該ジョブの実行結果を示す完了情報と、前記指示情報に従って、前記管理されているセッション識別子とを前記サーバ装置に送信する手段と、を備えることを特徴とする。
【発明の効果】
【００１３】
本発明によれば、例えば、情報処理装置が、サーバから制御の実行を要求された場合に、認証処理を必要とされることなく制御の完了をサーバに通知する技術を提供できる。
【図面の簡単な説明】
【００１４】
【図１】本発明の第１の実施形態に係る情報処理システム１００の構成の全体図である。
【図２】本発明の第１の実施形態に係るＭＦＰ１０１の構成を示すブロック図である。
【図３】本発明の第１の実施形態に係るサーバ１０２の構成を示すブロック図である。
【図４】本発明の第１の実施形態に係る情報処理システム１００のソフトウェア構成を示す図である。
【図５】本発明の第１の実施形態におけるセッション情報管理テーブルを示す模式図である。
【図６】本発明の第１の実施形態に係る情報処理システム１００における処理で発生する画面遷移の一例を示す図である。
【図７】本発明の第１の実施形態に係る情報処理システム１００における処理の流れを示すシーケンス図である。
【図８Ａ】、
【図８Ｂ】、
【図８Ｃ】本発明の第１の実施形態に係る情報処理システム１００においてＭＦＰ１０１とサーバ１０２との間で送受信される情報の一例である。
【図９】本発明の第１の実施形態に係るサーバ１０２のＷｅｂアプリケーション４１１が、ＨＴＴＰリクエストを受信した際に実行する処理の手順を示すフローチャートである。
【図１０】本発明の第１の実施形態に係るＭＦＰ１０１のサービスプロバイダ４３０が、ＳＯＡＰリクエストを受信した際に実行する処理の手順を示すフローチャートである。
【図１１】本発明の第１の実施形態に係るＭＦＰ１０１のサービスプロバイダ４３０が、ジョブ完了イベントを受信した際に実行する処理の手順を示すフローチャートである。
【図１２】本発明の第１の実施形態に係るＭＦＰ１０１のＷｅｂブラウザ４２０が、ＨＴＴＰレスポンスを受信した際に実行する処理の手順を示すフローチャートである。
【図１３】本発明の第２の実施形態に係る情報処理システム１００のソフトウェア構成を示す図である。
【発明を実施するための形態】
【００１５】
以下、本発明を実施するための形態について図面を用いて説明する。なお、以下の実施形態は特許請求の範囲に係る発明を限定するものでなく、また実施形態で説明されている特徴の組み合わせの全てが発明の解決手段に必須のものとは限らない。
【００１６】
［第１の実施形態］
＜情報処理システム１００のハードウェア構成＞
まず、本発明に係る第１の実施形態について説明する。図１は、第１の実施形態における情報処理システム１００の全体図である。ＬＡＮ１１０には、ＭＦＰ１０１及びサーバ１０２が相互に通信可能に接続されている。図１には、それぞれ１台のＭＦＰ１０１及びサーバ１０２が、ネットワークの一例であるＬＡＮ１１０に接続された例を示しているが、何台のＭＦＰ１０１及びサーバ１０２がＬＡＮ１１０に接続されていてもよい。なお、本実施形態において、サーバ１０２は、サーバ装置の一例であり、ＭＦＰ１０１は、サーバ装置と通信可能な情報処理装置の一例である。
【００１７】
図２は、ＭＦＰ１０１の構成を示すブロック図である。ＭＦＰ１０１は、ＭＦＰ１０１全体の動作を制御する制御部２１０と、操作部２１９と、プリンタ２２０と、スキャナ２２１といったデバイスを備える。ＭＦＰ１０１はＣＰＵ２１１を備え、ＣＰＵ２１１は、ＲＯＭ２１２に記憶された制御プログラムをＲＡＭ２１３に読み出して、印刷制御、読取制御、送信制御等の各種制御を行う。ＲＡＭ２１３は、ＣＰＵ２１１の主メモリ、ワークエリア等の一時記憶領域として用いられる。ＨＤＤ２１４には、画像データや各種プログラム、或いは後述する各種情報テーブルが格納される。
【００１８】
操作部Ｉ／Ｆ２１５は、操作部２１９と制御部２１０とを接続するインタフェースである。操作部２１９は、タッチパネル機能を有する液晶表示部やキーボード等を備える。液晶表示部は、各種の情報を表示する表示部として機能する。また、液晶表示部及びキーボードは、ユーザがＭＦＰ１０１に各種の情報及び指示を入力するためのユーザインタフェースとして機能する。ＭＦＰ１０１は、後述するように、制御プログラムの実行によって実現される機能の１つとして、Ｗｅｂブラウザを備えている。ＭＦＰ１０１のＷｅｂブラウザは、サーバ１０２から画像情報として受信されるＨＴＭＬデータを解析し、解析したＨＴＭＬデータの記述に基づく操作画面を、操作部２１９の液晶表示部に表示する。
【００１９】
プリンタＩ／Ｆ２１６は、プリンタ２２０と制御部２１０とを接続するインタフェースである。プリンタ２２０で印刷すべき画像データは、プリンタＩ／Ｆ２１６を介して制御部２１０から転送される。プリンタ２２０は、転送された画像データに基づいて、記録媒体上に画像を印刷する。スキャナＩ／Ｆ２１７は、スキャナ２２１と制御部２１０とを接続するインタフェースである。スキャナ２２１は、原稿の画像を読み取って画像データを生成し、生成した画像データを、スキャナＩ／Ｆ２１７を介して制御部２１０に入力する。
【００２０】
ネットワークＩ／Ｆ２１８は、制御部２１０（ＭＦＰ１０１）をＬＡＮ１１０に接続するインタフェースである。ネットワークＩ／Ｆ２１８は、ＬＡＮ１１０上の外部装置（例えば、サーバ１０２）に画像データや各種情報を送信したり、ＬＡＮ１１０上の外部装置から各種情報を受信したりする。
【００２１】
図３は、サーバ１０２の構成を示すブロック図である。ＣＰＵ３１１を含む制御部３１０は、サーバ１０２全体の動作を制御する。ＣＰＵ３１１は、ＲＯＭ３１２に記憶された制御プログラムをＲＡＭ３１３に読み出して、各種の制御を実行する。ＲＡＭ３１３は、ＣＰＵ３１１の主メモリ、ワークエリア等の一時記憶領域として用いられる。ＨＤＤ３１４には、画像データや各種プログラムが格納される。ネットワークＩ／Ｆ３１５は、制御部３１０（サーバ１０２）をＬＡＮ１１０に接続するインタフェースである。ネットワークＩ／Ｆ３１５は、ＬＡＮ１１０上の他の装置との間で各種情報を送受信する。
【００２２】
＜情報処理システム１００のソフトウェア構成＞
図４は、情報処理システム１００全体のソフトウェア構成を示す図である。図４に示す各機能部は、ＭＦＰ１０１のＣＰＵ２１１、及びサーバ１０２のＣＰＵ３１１が、それぞれ制御プログラムを実行することによって実現される。ＭＦＰ１０１は、ＣＰＵ２１１による制御プログラムの実行によって実現する機能部として、Ｗｅｂブラウザ４２０及びサービスプロバイダ４３０を有する。サーバ１０２は、ＣＰＵ３１１による制御プログラムの実行によって実現する機能部としてＷｅｂサーバ４１０を有する。なお、本実施形態において、Ｗｅｂブラウザ４２０は、サーバ装置によって提供される画面情報を用いて操作画面を表示部に表示する制御を行う表示制御部の一例として機能する。また、サービスプロバイダ４３０は、サーバ装置からの指示に応じたジョブを実行する制御を行う実行制御部の一例として機能する。
【００２３】
サーバ１０２のＷｅｂサーバ４１０は、ＭＦＰ１０１のＷｅｂブラウザ４２０及びサービスプロバイダ４３０のそれぞれと、ＬＡＮ１１０を介して通信可能である。以下では、ＭＦＰ１０１のＷｅｂブラウザ４２０及びサービスプロバイダ４３０と、サーバ１０２のＷｅｂサーバ４１０の構成について、詳細に説明する。
【００２４】
（ＭＦＰ１０１）
Ｗｅｂブラウザ４２０は、通信部４２１、解析部４２２、画面表示部４２３、及びセッション情報管理部４２４を有する。通信部４２１は、ＨＴＴＰプロトコルに従って、サーバ１０２のＷｅｂアプリケーション４１１へリクエストを送信し、そのレスポンスをＷｅｂアプリケーション４１１から受信する。ＭＦＰ１０１は、通信部４２１でＨＴＴＰリクエストを送信することによって、Ｗｅｂブラウザ４２０により操作部２１９の液晶表示部に操作画面を表示するための画面情報に相当するＨＴＴＰデータを、Ｗｅｂアプリケーション４１１に要求する。通信部４２１は、Ｗｅｂブラウザ４２０により表示した操作画面を介してユーザが入力した情報を、サーバ１０２のＷｅｂアプリケーション４１１に通知する。
【００２５】
解析部４２２は、Ｗｅｂアプリケーション４１１から受信したＨＴＴＰレスポンスを解析する。ＨＴＴＰレスポンスには、Ｗｅｂブラウザ４２０によって表示される操作画面の内容を記述したＨＴＭＬデータが含まれる。ＨＴＴＰレスポンスには、Ｗｅｂアプリケーション４１１へＨＴＴＰリクエスト送る際に、そのＨＴＴＰリクエストで設定すべきセッション情報を表すクッキーが指定されている場合もある。画面表示部４２３は、解析部４２２によるＨＴＴＰレスポンスの解析結果に基づいて、操作部２１９の液晶表示部に操作画面を表示する。ここで、セッション情報には、ＭＦＰ１０１とサーバ１０２との間で確立されたセッションを特定するためのセッションＩＤ（セッション識別子又はセッション識別情報）が含まれる。本実施形態では、セッションＩＤ（ＳＩＤ）として、クッキーが用いる。
【００２６】
セッション情報管理部４２４は、解析部４２２による解析の結果に基づいて、ＨＴＴＰレスポンスで指定されたクッキー（セッションＩＤ）をセッション情報管理テーブルに格納する。図５はセッション情報管理テーブルの一例を示す模式図である。セッション情報管理テーブルは、ドメイン名及びクッキーを含む。図５では、ドメイン名“１９２．１６８．０．１０２”が示すＷｅｂサーバ４１０からクッキー“ＳＩＤ＝８４７２１３４０”が指定された場合に、それらがセッション情報管理テーブルに格納された場合を示している。この状態において、通信部４２１は、ドメイン名“１９２．１６８．０．１０２”が示すＷｅｂサーバ４１０へＨＴＴＰリクエストを送信する場合、当該ＨＴＴＰリクエストに対してクッキー“ＳＩＤ＝８４７２１３４０”を設定（付加）する。なお、ＭＦＰ１０１とサーバ１０２との間では、同一のクッキーを用いた通信は、同一のセッションの通信として特定される。
【００２７】
サービスプロバイダ４３０は、通信部４３１、解析部４３２、ジョブ制御部４３３、及びセッション情報管理部４３４を含む。通信部４３１は、Ｗｅｂアプリケーション４１１からＳＯＡＰリクエストを受信し、また、Ｗｅｂアプリケーション４１１へＳＯＡＰレスポンスを送信する。ここで、ＳＯＡＰリクエストは、例えば、プリンタ２２０による印刷処理、スキャナ２２１による読取処理、又はネットワークＩ／Ｆ２１８を介した送信処理の実行を、サーバ１０２がＭＦＰ１０１に依頼するための制御要求である。ＳＯＡＰリクエストには、ＭＦＰ１０１が備えるデバイスを制御するための命令が記述されている。解析部４３２は、通信部４３１が受信したＳＯＡＰリクエストを解析して、それに含まれる制御命令を取得する。
【００２８】
ジョブ制御部４３３は、解析部４３２によって解析された制御命令を実行するためのジョブを生成する。ジョブ制御部４３３は、生成したジョブを実行することによって、プリンタ２２０による印刷処理、スキャナ２２１による読取処理、及びネットワークＩ／Ｆ２１８を介した送信処理等を実行する。ジョブ制御部４３３は、生成したジョブの実行を完了すると、当該ジョブの実行結果を示す完了情報の通知（完了通知）を、ＳＯＡＰリクエストに従ってＷｅｂアプリケーション４１１へ送信するように、通信部４３１に指示する。なお、ジョブ制御部４３３は、ジョブの生成から完了通知までの間、ＳＯＡＰリクエストの内容を、実行中のジョブと紐付けて保持している。
【００２９】
セッション情報管理部４３４は、サーバ１０２とＭＦＰ１０１との間で確立されたセッションに関する情報を管理する。セッション情報管理部４３４は、解析部４３２による解析結果に基づいて、ＳＯＡＰリクエストで指定されたジョブ完了通知情報に含まれるクッキーを、セッション情報管理テーブルに格納して管理する。セッション情報管理部４３４が管理するセッション情報管理テーブルは、図５に示したセッション情報管理テーブルと同様であり、ドメイン名及びクッキーを含む。
【００３０】
（サーバ１０２）
Ｗｅｂサーバ４１０は、Ｗｅｂアプリケーション４１１及びセッション情報管理部４１２を含む。Ｗｅｂサーバ４１０は、ＭＦＰ１０１のＷｅｂブラウザ４２０からリクエストとして送信される情報を受信し、受信した情報に基づいた処理を、Ｗｅｂアプリケーション４１１に実行させる。さらに、Ｗｅｂサーバ４１０は、Ｗｅｂアプリケーション４１１の処理によって得られるＨＴＭＬデータを、Ｗｅｂブラウザ４２０からのリクエストに対するレスポンスとして、ＭＦＰ１０１に送信する。ここで送信されるＨＴＭＬデータには、ＭＦＰ１０１のＷｅｂブラウザ４２０によって表示される操作画面の内容を示す記述が含まれる。
【００３１】
Ｗｅｂアプリケーション４１１は、Ｗｅｂブラウザ４２０からのリクエストに応じて、Ｗｅｂブラウザ４２０により表示すべき操作画面の画面情報を示すＨＴＭＬデータを生成する。また、Ｗｅｂアプリケーション４１１は、Ｗｅｂブラウザ４２０との間で確立したセッションを特定するためのクッキーを生成したり、サービスプロバイダ４３０に実行させる処理に関する制御要求を生成したりする。生成されたＨＴＭＬデータ及びクッキーは、ＨＴＴＰレスポンスとして、Ｗｅｂサーバ４１０によってＷｅｂブラウザ４２０の通信部４２１へ送信される。一方で、制御要求については、ＳＯＡＰリクエストとして、Ｗｅｂアプリケーション４１１によってサービスプロバイダ４３０の通信部４３１へ送信される。
【００３２】
セッション情報管理部４１２は、サーバ１０２とＭＦＰ１０１との間で確立されたセッションに関する情報を管理する。例えば、セッション情報管理部４１２は、Ｗｅｂアプリケーション４１１からの要求に従って、管理しているクッキーを保存したり削除したりする。
【００３３】
＜情報処理システム１００における処理の流れ＞
これまでに、本実施形態におけるシステム構成の概要について説明してきた。以下では、本実施形態における情報処理システム１００において実行される処理の流れについて説明する。図６は、本実施形態に係る情報処理システム１００における処理で発生する画面遷移の一例を示す図である。図６に示すログイン画面６１０、メニュー画面６２０、及び操作画面６３０は何れも、サーバ１０２のＷｅｂアプリケーション４１１によって生成された画面情報（ＨＴＭＬデータ）を、Ｗｅｂブラウザ４２０が処理して操作部２１９の液晶表示部に表示する画面の一例である。
【００３４】
ログイン画面６１０は、フォーム認証用の画面の一例であり、ユーザＩＤを入力するためのユーザＩＤフィールド６１１、パスワードを入力するためのパスワードフィールド６１２、及びログインボタン６１３を含んでいる。ユーザは、ログイン画面６１０を介してユーザＩＤ及びパスワードを認証情報として入力できる。ログインボタン６１３は、Ｗｅｂブラウザ４２０からＷｅｂアプリケーション４１１へ送信したユーザＩＤ及びパスワードに基づいた認証を、Ｗｅｂアプリケーション４１１に対して要求するためのボタンである。
【００３５】
ログイン画面６１０を介して入力された認証情報は、ログインボタン６１３の押下に応じてＷｅｂブラウザ４２０からＷｅｂアプリケーション４１１へ送信され、Ｗｅｂアプリケーション４１１において実行される認証処理に用いられる。Ｗｅｂブラウザ４２０は、ログインボタン６１３が押下され、かつ、Ｗｅｂアプリケーション４１１による認証に成功した場合に、Ｗｅｂアプリケーション４１１から送信される情報に基づいて、ログイン画面６１０からメニュー画面６２０へ画面を遷移させる。
【００３６】
メニュー画面６２０は、ＭＦＰ１０１が備える何れの機能を利用するのかを、ユーザに選択させるための画面である。メニュー画面６２０は、各種の機能ボタン６２１及びログアウトボタン６２２を含む。Ｗｅｂブラウザ４２０は、何れかの機能ボタン６２１が押下されると、選択された機能に対応した操作画面に遷移する。また、ログアウトボタン６２２が押下されると、Ｗｅｂブラウザ４２０は、メニュー画面６２０からログイン画面６１０へ画面を遷移させる。
【００３７】
操作画面６３０は、メニュー画面６２０で「スキャン送信」が選択された場合に、スキャン送信機能を利用するための操作画面である。操作画面６３０は、ファイル名及びファイルフォーマットの指定欄６３１、６３２、実行ボタン６３４、戻るボタン６３４、並びにログアウトボタン６３５を含む。Ｗｅｂブラウザ４２０は、実行ボタンが押下されると、スキャナで原稿を読み取って画像ファイルを生成し、生成した画像データをＦＴＰサーバへ送信する。また、Ｗｅｂブラウザ４２０は、戻るボタン６３３が押下された場合には、メニュー画面６２０へ画面を遷移させ、ログアウトボタン６３５が押下された場合には、ログイン画面６１０へ画面を遷移させる。
【００３８】
図７は、本実施形態に係る情報処理システム１００における処理の流れを示したシーケンス図である。
まず、Ｓ７０１で、Ｗｅｂブラウザ４２０は、メニュー画面６２０を要求するＨＴＴＰリクエストを、Ｗｅｂサーバ４１０（サーバ１０２）へ送信する。図８Ａの８０１は、Ｓ７０１において送信されるＨＴＴＰリクエストの一例である。この例では、Ｗｅｂブラウザ４２０は、ホスト名“１９２．１６８．０．１０２”が示すＷｅｂサーバ４１０（サーバ１０２）に対して、パス名“ｍｅｎｕ”が示すメニュー画面をＧＥＴメソッドで要求している。なお、図８Ａの８０１に示すように、当該ＨＴＴＰリクエストには、セッションＩＤであるクッキーが設定されていないものとする。
【００３９】
Ｓ７０２で、Ｗｅｂアプリケーション４１１は、メニュー画面６２０を要求する最初のＨＴＴＰリクエストを受信すると、ログイン画面６１０のＨＴＭＬデータを含むＨＴＴＰレスポンスを、応答としてＷｅｂブラウザ４２０へ送信する。まず、Ｓ７０２で、Ｗｅｂアプリケーション４１１は、当該ＨＴＴＰリクエストに、クッキーが付加されているか否かを判定する。Ｗｅｂアプリケーション４１１は、当該ＨＴＴＰリクエストにクッキーが付加されていないと判定すると、Ｗｅｂブラウザ４２０に対して、認証のための認証情報を要求する。
【００４０】
ここで、図８Ａの８０１に示したように、Ｗｅｂブラウザ４２０からの最初のＨＴＴＰリクエストには、クッキーが設定されていない。そのため、Ｗｅｂアプリケーション４１１は、Ｗｅｂブラウザ４２０に対して認証情報を要求するために、ログイン画面６１０のＨＴＭＬデータを、ＨＴＴＰリクエストに対する応答としてＷｅｂブラウザ４２０へ送信する。図８Ａの８０２は、Ｓ７０２において送信されるＨＴＴＰレスポンスの一例であり、当該ＨＴＴＰレスポンスは、例えばログイン画面６１０を表すＨＴＭＬデータを含んでいる。この例は、ログイン画面６１０によって、ユーザＩＤ“ｕｓｅｒＩｄ”及びパスワード“ｐａｓｓｗｄ”を入力するフォームが提供されることを表している。また、ログイン画面６１０において、ログインボタン“ｌｏｇｉｎＢｕｔｔｏｎ”が押下されると、パス名“ｌｏｇｉｎ”が示すログイン画面について、ユーザＩＤ“ｕｓｅｒＩｄ”及びパスワード“ｐａｓｓｗｄ”をＰＯＳＴメソッドで送信すべきことを表している。
【００４１】
Ｓ７０３で、Ｗｅｂブラウザ４２０は、Ｗｅｂアプリケーション４１１からのログイン画面６１０を用いた認証情報の要求に応じて、ログインを要求するための、認証情報を含むＨＴＴＰリクエストをＷｅｂアプリケーション４１１へ送信する。図８Ａの８０３は、Ｓ７０３において送信されるＨＴＴＰリクエストの一例である。この例では、ログイン画面６１０のユーザＩＤフィールドに“ｕｓｅｒ００１”、パスワードフィールドに“ｐａｓｓｗｏｒｄ”がそれぞれ認証情報として入力されて、かつ、ログインボタンが押下されたことを表している。
【００４２】
Ｓ７０４で、Ｗｅｂアプリケーション４１１は、Ｗｅｂブラウザ４２０から受信した認証情報に基づいて認証処理を行う。Ｗｅｂアプリケーション４１１は、認証に成功すると、Ｗｅｂブラウザ４２０との通信に用いるクッキー（セッションＩＤ）を生成する。さらに、Ｗｅｂアプリケーション４１１は、生成したクッキーを、ＨＴＴＰレスポンスに付加（例えば、ＨＴＴＰヘッダに設定）して、当該ＨＴＴＰレスポンスを、Ｓ７０３のＨＴＴＰリクエストに対する応答として、Ｗｅｂブラウザ４２０へ送信する。これにより、Ｗｅｂアプリケーション４１１は、Ｗｅｂブラウザ４２０に対して、Ｗｅｂブラウザ４２０がＷｅｂアプリケーション４１１に送信する次回以降のＨＴＴＰリクエストには、当該クッキーを使用すべきことを指定している。ここで、図８Ｂの８０４は、Ｓ７０４において送信されるＨＴＴＰレスポンスの一例である。この例では、ＨＴＴＰヘッダにクッキー“ｓｉｄ＝８４７２１３４０”が付加されている。
【００４３】
Ｓ７０５で、Ｗｅｂブラウザ４２０は、操作画面６３０を要求するＨＴＴＰリクエストを、Ｗｅｂアプリケーション４１１へ送信する。図８Ｂの８０５は、Ｓ７０５において送信されるＨＴＴＰリクエストの一例である。この例では、Ｗｅｂブラウザ４２０は、パス名“ｆｔｐ”が示す操作画面を、ＧＥＴメソッドで要求している。このとき、Ｗｅｂブラウザ４２０は、Ｓ７０４でＷｅｂアプリケーション４１１から受信した応答に含まれるクッキー指定に従って、送信するＨＴＴＰリクエストのＨＴＴＰヘッダにクッキー“ｓｉｄ＝８４７２１３４０”を設定している。
【００４４】
Ｓ７０６で、Ｗｅｂアプリケーション４１１は、操作画面６３０のＨＴＴＰデータを含むＨＴＴＰレスポンスを、応答としてＷｅｂブラウザ４２０へ送信する。図８Ｂの８０６は、Ｓ７０６において送信されるＨＴＴＰレスポンスの一例であり、例えば操作画面６３０を表すＨＴＭＬデータを含んでいる。このとき、Ｗｅｂアプリケーション４１１は、Ｗｅｂブラウザ４２０からのＨＴＴＰリクエストに、クッキーが設定されていることを判断した結果として、操作画面６３０のＨＴＴＰデータを応答として送信する。当該ＨＴＴＰリクエストにクッキーが設定されていない場合には、Ｗｅｂアプリケーション４１１は、Ｓ７０２と同様に、ログイン画面６１０のＨＴＴＰデータを応答として送信することになる。
【００４５】
Ｗｅｂブラウザ４２０は、Ｓ７０６でＷｅｂアプリケーション４１１から受信したＨＴＴＰデータ（画面情報）を用いて、操作部２１９の液晶表示部に操作画面６３０を表示するとともに、当該操作画面６３０を介したユーザの操作を受け付ける。Ｓ７０７で、Ｗｅｂブラウザ４２０は、操作画面６３０を介したユーザの操作内容を、Ｗｅｂアプリケーション４１１へ送信する。即ち、Ｗｅｂブラウザ４２０は、当該操作内容を送信することによって、ＭＦＰ１０１が備えるデバイスの制御を要求するＨＴＴＰリクエストを、Ｗｅｂアプリケーション４１１へ送信する。このＨＴＴＰリクエストは、ユーザが操作画面６３０を介して実行ボタン６３４を押下したことに応じて送信される。
【００４６】
Ｗｅｂアプリケーション４１１は、当該ＨＴＴＰリクエストの受信に応じて、Ｓ７０８で、ＭＦＰ１０１が備えるデバイスの制御を要求するＳＯＡＰリクエスト（デバイス制御要求）を、ＭＦＰ１０１のサービスプロバイダ４３０へ送信する。これにより、Ｗｅｂアプリケーション４１１は、Ｗｅｂブラウザ４２０から受信した、操作画面６３０の操作内容に対応するジョブ（サービス）を実行させるための指示を、ＳＯＡＰリクエストとしてサービスプロバイダ４３０に送信する。
【００４７】
さらに、Ｓ７０８で、Ｗｅｂアプリケーション４１１は、サービスプロバイダ４３０からＷｅｂアプリケーション４１１への通信に用いるクッキーとして、Ｓ７０４で生成したクッキーを使用すべきことをサービスプロバイダ４３０に対して指定する。具体的には、Ｗｅｂアプリケーション４１１は、サービスプロバイダ４３０がジョブの実行結果を示す完了情報をＷｅｂアプリケーション４１１に送信する際に使用すべきクッキーとして、Ｓ７０４で生成したクッキーをサービスプロバイダ４３０に指定する。本実施形態では、Ｗｅｂアプリケーション４１１は、Ｓ７０４で生成したクッキーを、Ｓ７０８で送信するＳＯＡＰリクエストに付加することによって、当該指定処理を実行する。
【００４８】
図８Ｃの８０７は、Ｓ７０８において送信されるＳＯＡＰリクエストの一例である。この例では、Ｗｅｂアプリケーション４１１は、ホスト名“１９２．１６８．０．１０１”が示すＭＦＰ１０１に対して、ＰＯＳＴメソッドでサービスの実行を要求している。具体的には、Ｗｅｂアプリケーション４１１は、サービスプロバイダ４３０に対して、原稿をスキャンして得たデータをＰＤＦファイルに変換した後、当該ＰＤＦファイルをＦＴＰサーバへ送信するジョブの実行を指示している。
【００４９】
サービスプロバイダ４３０は、Ｓ７０８におけるＳＯＡＰリクエストを受信すると、当該リクエストに対応する処理を実行するためのジョブを生成する。図８Ｃの８０７では、スキャン設定には、解像度３００×３００及びフルカラーが、文書設定にはＰＤＦフォーマットが、ＦＴＰ設定にはホストアドレス“１９２．１６８．０．１０３“及びファイル名“ｔｅｓｔ．ｐｄｆ”が、それぞれ設定されている。サービスプロバイダ４３０は、これらの設定に従った処理を実行するためのジョブを生成し、生成したジョブを実行する。また、図８Ｃの８０７では、ジョブの実行が完了した際に、パス名“ｆｔｐ”が示す操作画面について、ジョブ結果を通知すべきこと、及び当該通知の際には、クッキー“ｓｉｄ＝８４７２１３４０”を使用すべきことが、指定されている。ここで、Ｗｅｂアプリケーション４１１が指定するクッキーは、Ｓ７０４で指定したクッキーと同一である。
【００５０】
Ｓ７０９で、ＭＦＰ１０１のサービスプロバイダ４３０は、Ｓ７０８で受け付けたＳＯＡＰリクエスト（デバイス制御要求）に対して応答するためのＳＯＡＰレスポンスを、サーバ１０２のＷｅｂアプリケーション４１１に送信する。これに応じて、Ｓ７１０で、Ｗｅｂアプリケーション４１１は、Ｓ７０７のリクエストへのレスポンスとして操作画面６３０のＨＴＭＬデータを送信する。その後、サービスプロバイダ４３０が、Ｓ７０８で受け付けたＳＯＡＰリクエストに従って生成したジョブの実行を完了すると、処理がＳ７１１へ進む。
【００５１】
Ｓ７１１で、サービスプロバイダ４３０は、ＳＯＡＰリクエスト（デバイス制御要求）に応じたジョブの実行結果を示す完了情報を通知するためのＨＴＴＰリクエストを、Ｗｅｂアプリケーション４１１へ送信する。また、当該ＨＴＴＰリクエストには、Ｓ７０８で指定されたクッキーを付加する。図８Ｃの８０８は、Ｓ７１１において送信されるＨＴＴＰリクエストの一例である。この例では、ジョブが正常に終了したことを示すＨＴＴＰリクエストにクッキー“ｓｉｄ＝８４７２１３４０”を設定している。さらに、当該ＨＴＴＰリクエストを、ホスト名“１９２．１６８．０．１０２”が示すＷｅｂサーバ４１０に対して、パス名“ｆｔｐ”が示す操作画面についてのＰＯＳＴメソッドで通知している。図８Ｃの８０７を用いて説明したように、当該ＨＴＴＰリクエストに含まれる処理結果の通知先及びクッキーは、Ｓ７０８で受け付けたＳＯＡＰリクエストで指定された情報に従って設定されている。
【００５２】
Ｓ７１２で、Ｗｅｂアプリケーション４１１は、受信した処理結果通知への応答として、ＨＴＴＰレスポンスをサービスプロバイダ４３０へ送信する。なお、Ｗｅｂアプリケーション４１１は、Ｓ７１１で受信したＨＴＴＰリクエスト（完了情報の通知）にクッキーが付加されていなかった場合には、ログイン画面６１０のＨＴＭＬデータをＨＴＴＰレスポンスとして送信する。
【００５３】
Ｓ７１３で、Ｗｅｂブラウザ４２０は、操作画面６３０のログアウトボタン６３５が押下されると、ログアウトを要求するＨＴＴＰリクエストをＷｅｂアプリケーション４１１へ送信する。これに応じて、Ｓ７１４で、Ｗｅｂアプリケーション４１１は、ログイン画面６１０を表すＨＴＭＬデータを含むＨＴＴＰレスポンスを、Ｗｅｂブラウザ４２０へ送信する。Ｓ７１３以降（ログアウト後）では、Ｗｅｂブラウザ４２０が、これまで使用したクッキー（Ｓ７０４で取得したクッキー）を設定してＨＴＴＰリクエストを送信したとしても、Ｗｅｂアプリケーション４１１は、それを無効なクッキーと判断する。
【００５４】
このように、本実施形態では、Ｗｅｂアプリケーション４１１（サーバ１０２）とＷｅｂブラウザ４２０とのセッション（通信）、及びＷｅｂアプリケーション４１１とサービスプロバイダ４３０とのセッションに、同一のクッキーを使用する制御を行う。これにより、Ｗｅｂブラウザ４２０がサーバ１０２の要求に応じてフォーム認証を実行した後、サーバ１０２からＳＯＡＰリクエストによって制御の実行を要求された場合に、サービスプロバイダ４３０が再度、サーバ１０２から認証を要求されることがなくなる。
【００５５】
＜サーバ１０２における処理手順＞
次に、図９〜図１２に示すフローチャートを用いて、サーバ１０２のＷｅｂアプリケーション４１１と、ＭＦＰ１０１のサービスプロバイダ４３０及びＷｅｂブラウザ４２０とによって実行される処理の手順について、それぞれ説明する。
【００５６】
図９は、サーバ１０２のＷｅｂアプリケーション４１１で実行される処理の手順を示すフローチャートである。Ｗｅｂアプリケーション４１１は、何らかの画面情報を要求するＨＴＴＰリクエスト等のＨＴＴＰリクエストを（Ｗｅｂブラウザ４２０又はサービスプロバイダ４３０から）受信すると、Ｓ９０１以下の処理の実行を開始する。Ｓ９０１で、Ｗｅｂアプリケーション４１１は、受信したＨＴＴＰリクエストのＨＴＴＰヘッダにクッキーが設定（付加）されているか判定する。ここで、Ｗｅｂアプリケーション４１１は、クッキーが設定されていると判定した場合にはＳ９０２へ処理を進める一方で、クッキーが設定されていないと判定した場合にはＳ９０３へ処理を進める。例えば、Ｗｅｂブラウザ４２０からＷｅｂアプリケーション４１１への初回のリクエスト時には、ＨＴＴＰリクエストにクッキーが設定されていない。この場合には、Ｓ９０１からＳ９０３へ処理を進めることになる。
【００５７】
Ｓ９０２で、Ｗｅｂアプリケーション４１１は、ＨＴＴＰリクエストで取得したクッキーを、セッション情報管理部４１２に保存しているか否かを判定する。Ｗｅｂアプリケーション４１１は、取得したクッキーを保存していないと判定した場合には、当該クッキーは無効であると判断し、Ｓ９０３へ処理を進める。
【００５８】
Ｓ９０３で、Ｗｅｂアプリケーション４１１は、ＨＴＴＰリクエストによる要求内容を判別する。ここで、Ｗｅｂアプリケーション４１１は、メニュー画面６２０の取得が要求されていると判別した場合には、ＨＴＴＰリクエストにクッキーが付加されてなかったことを理由として、Ｓ９５５に処理へ進める。Ｓ９５５では、Ｗｅｂアプリケーション４１１は、ＨＴＴＰリクエストの送信元に認証情報を要求するために、ログイン画面６１０のＨＴＭＬデータを含むＨＴＴＰレスポンスを応答として送信し、処理を終了する。なお、ログイン画面６１０のＵＲＬに対するリダイレクトを送信して処理を終了してもよい。一方で、Ｓ９０３で、Ｗｅｂアプリケーション４１１は、ログインが要求されていると判別した場合は、Ｓ９０４〜Ｓ９０７の認証処理へ進む。
【００５９】
Ｓ９０４で、Ｗｅｂアプリケーション４１１は、ＨＴＴＰリクエスト（ログイン要求）に含まれる認証情報（ユーザＩＤ及びパスワード）を認証情報リポジトリと照合する。Ｓ９０５で、Ｗｅｂアプリケーション４１１は、Ｓ９０４における照合結果に基づいて、認証に成功したか否かを判定し、成功したと判定した場合にはＳ９０６へ処理を進める一方で、失敗したと判定した場合にはＳ９５５へ処理を進める。Ｓ９５５では、Ｗｅｂアプリケーション４１１は、ログイン画面６１０のＨＴＭＬデータを含むＨＴＴＰレスポンスを応答として送信し、処理を終了する。
【００６０】
一方で、Ｓ９０６では、Ｗｅｂアプリケーション４１１は、クッキーを生成して、それをセッション情報管理部４１２へ保存する。ここで生成されたクッキーは、図７を用いて説明したように、それ以降の一連のセッション（通信）に用いられる。次にＳ９０７で、Ｗｅｂアプリケーション４１１は、メニュー画面６２０のＨＴＭＬデータを含むＨＴＴＰレスポンスを生成し、それを応答として送信する。図８Ｂの８０４に示したように、このＨＴＴＰレスポンスは、Ｓ９０６で生成されたクッキーが設定された状態で、Ｗｅｂブラウザ４２０へ送られる。
【００６１】
次に、Ｓ９１３以下の処理について説明する。上述のように、ログイン画面（認証画面）６１０を用いた認証に成功すると、Ｗｅｂブラウザ４２０は、セッション情報としてクッキーを設定したＨＴＴＰリクエストをＷｅｂアプリケーション４１１へ送信する。この場合、図９においてはＳ９０１、Ｓ９０２、Ｓ９１３の順に処理が進むことになる。Ｓ９１３で、Ｗｅｂアプリケーション４１１は、ＨＴＴＰリクエストによる要求内容を判別する。ここでは、当該要求内容は、メニュー画面６２０の取得、操作画面６３０の取得、デバイス制御に関する要求、ジョブの実行結果を示す処理結果通知、及びログアウト要求のうちの何れかである。Ｗｅｂアプリケーション４１１は、当該要求内容が、メニュー画面６２０の取得、操作画面６３０の取得、デバイス制御、処理結果通知、又はログアウト要求であると判別すると、それぞれＳ９１４、Ｓ９２４、Ｓ９３４、Ｓ９４４、又はＳ９５４へ処理を進める。
【００６２】
Ｓ９１４では、Ｗｅｂアプリケーション４１１は、メニュー画面６２０のＨＴＭＬデータを含むＨＴＴＰレスポンスを、応答としてＷｅｂブラウザ４２０へ送信して、処理を終了する。Ｓ９２４では、Ｗｅｂアプリケーション４１１は、操作画面６３０のＨＴＭＬデータを含むＨＴＴＰレスポンスを、応答としてＷｅｂブラウザ４２０へ送信して、処理を終了する。Ｓ９３４では、Ｗｅｂアプリケーション４１１は、デバイス制御を要求するためのＳＯＡＰリクエストをサービスプロバイダ４３０へ送信し、上述のＳ９２４へ処理を進める。なお、当該ＳＯＡＰリクエストには、上述のように、Ｗｅｂアプリケーション４１１とＷｅｂブラウザ４２０との間のセッションで用いたクッキーが付加される。
【００６３】
Ｓ９４４では、Ｗｅｂアプリケーション４１１は、ジョブの実行結果の通知成功について応答するためのＨＴＴＰレスポンスを、Ｗｅｂブラウザ４２０へ送信し、処理を終了する。Ｓ９５４では、Ｗｅｂアプリケーション４１１は、ＨＴＴＰリクエストで取得したクッキーをセッション情報管理部４１２から削除する。さらに、Ｓ９５５で、Ｗｅｂアプリケーション４１１は、ログイン画面６１０のＨＴＭＬデータを含むＨＴＴＰレスポンスを、応答としてＷｅｂブラウザ４２０へ送信して処理を終了する。
【００６４】
Ｗｅｂブラウザ４２０は、ログアウト後にサーバ１０２（Ｗｅｂアプリケーション４１１）に送信するＨＴＴＰリクエストにも、それまで使用していたクッキーと同一のクッキーを設定可能である。しかし、その場合には、セッション情報管理部４１２には当該クッキーが保存されてないために、図９においてはＳ９０１、Ｓ９０２、Ｓ９０３、Ｓ９５５の順に処理が進むことになる。その結果、Ｗｅｂアプリケーション４１１は、当該ＨＴＴＰリクエストに設定されたクッキーを無効であると判断して、ログイン画面６１０のＨＴＭＬデータを含む応答を、Ｗｅｂブラウザ４２０へ送信することになる。
【００６５】
＜ＭＦＰ１０１における処理手順＞
図１０及び図１１は、ＭＦＰ１０１のサービスプロバイダ４３０によって実行される処理の手順を示すフローチャートである。サービスプロバイダ４３０は、通信部４３１によって、デバイス制御要求であるＳＯＡＰリクエストをサーバ１０２のＷｅｂアプリケーション４１１から受信すると、図１０におけるＳ１００１以下の処理の実行を開始する。まずＳ１００１で、サービスプロバイダ４３０は、解析部４３２により、ＳＯＡＰリクエストによる要求内容を解析する。次にＳ１００２で、サービスプロバイダ４３０は、ジョブ制御部４３３により、Ｓ１００１の解析結果に基づいて、ジョブの実行が完了した際に、ジョブの実行結果を通知する通知先のドメイン名及びクッキーを、セッション情報管理部４３４に保存する。
【００６６】
次に、Ｓ１００３で、サービスプロバイダ４３０は、ジョブ制御部４３３により、Ｓ１００１の解析結果に基づいて、デバイス制御を行うためのジョブを生成するとともに、当該ジョブの実行を開始する。さらに、Ｓ１００４で、サービスプロバイダ４３０は、デバイス制御要求を受け付けたことを示すＳＯＡＰレスポンスを、応答として通信部４３１により送信した後、処理を終了する。
【００６７】
その後、サービスプロバイダ４３０が、制御対象のデバイスから、ジョブの実行の完了を示すジョブ完了イベントを受信すると、図１１におけるＳ１１０１以下の処理の実行を開始する。ここで、ジョブ完了イベントは、図１０を用いて説明したジョブに含まれる処理の実行が完了すると、制御対象のデバイスからジョブ制御部４３３に対して通知されるイベントである。
【００６８】
まずＳ１１０１で、サービスプロバイダ４３０は、ジョブ制御部４３３により、ジョブの実行結果を示す完了情報として、要求されたデバイス制御が完了したことを示す処理完了情報を生成する。ここで、処理完了情報には、受信したジョブ完了イベントに応じた、正常終了、キャンセル終了、エラー終了等を示す情報が含まれる。次にＳ１１０２で、サービスプロバイダ４３０は、ジョブ制御部４３３により、処理完了情報の通知先のドメイン名に対応するクッキーを、セッション情報管理部４３４から取得する。さらに、Ｓ１１０３で、サービスプロバイダ４３０は、通信部４３１により、処理完了情報及びクッキーを設定したＨＴＴＰレスポンスを、（通知先のドメイン名に対応する）Ｗｅｂアプリケーション４１１へ送信して、処理を終了する。
【００６９】
次に、図１２は、ＭＦＰ１０１のＷｅｂブラウザ４２０によって実行される処理の手順を示すフローチャートである。Ｗｅｂブラウザ４２０は、通信部４２１によってＨＴＴＰレスポンスを受信すると、Ｓ１２０１以下の処理の実行を開始する。Ｓ１２０１で、Ｗｅｂブラウザ４２０は、解析部４２２により、クッキーを設定すべき指示がＨＴＴＰレスポンスに含まれているか否かを判定する。ここで、Ｗｅｂブラウザ４２０は、クッキー設定が指示されていると判定した場合、Ｓ１２０２へ処理を進め、指示されていないと判定した場合、処理を終了する。Ｓ１２０２で、Ｗｅｂブラウザ４２０は、セッション情報管理部４２４により、ＨＴＴＰリクエストを送信した際の送信先のホスト名とＳ１２０１で解析したクッキーとを保存して、処理を終了する。
【００７０】
以上説明したように、本実施形態に係る情報処理システムでは、サーバ１０２（Ｗｅｂアプリケーション４１１）は、ＭＦＰ１０１のＷｅｂブラウザ４２０からの認証情報を用いた認証に成功すると、セッションＩＤ（クッキー）を生成する。さらに、サーバ１０２は、Ｗｅｂブラウザ４２０からの要求に応じて画面情報を送信する際には、生成したセッションＩＤを付加する。Ｗｅｂブラウザ４２０は、サーバ１０２から受信した画面情報に基づいて操作画面を表示して、当該操作画面を介した操作を受け付ける。Ｗｅｂブラウザ４２０が、表示した操作画面を介した操作内容をサーバ１０２に送信すると、サーバ１０２は、当該操作内容に対応するジョブを実行させるためのＳＯＡＰリクエストを、ＭＦＰ１０１のサービスプロバイダ４３０に送信する。その際に、サービスプロバイダ４３０からサーバ１０２へその後に情報を送信する際に使用すべきセッションＩＤを指定する。当該指定は、例えば、ＳＯＡＰリクエストにセッションＩＤを付加することによって行われる。サービスプロバイダ４３０は、ＳＯＡＰリクエストに応じたジョブの実行を完了すると、当該実行結果を示す完了情報に、指定されたセッションＩＤを付加して、当該完了情報をサーバ１０２へ送信する。
【００７１】
このように、サーバ１０２は、ＭＦＰ１０１のＷｅｂブラウザ４２０との通信のために認証処理に基づき生成したセッションＩＤを、サービスプロバイダ４３０とサーバ１０２との通信にも使用できるよう、サービスプロバイダ４３０に通知（指定）する。これにより、ＭＦＰ１０１は、サーバ１０２からのＳＯＡＰリクエスト（指示）に応じて実行したジョブの実行結果を示す完了情報をサーバ１０２に通知する際に、さらなる認証処理をサーバ１０２から必要とされることなく、当該通知を実行できる。
【００７２】
［第２の実施形態］
次に、本発明に係る第２の実施形態について説明する。第１の実施形態では、ＭＦＰ１０１のサービスプロバイダ４３０は、Ｓ７０８でサーバ１０２（Ｗｅｂアプリケーション４１１）から指定されたセッションＩＤ（クッキー）を用いて、サーバ１０２からの指示に応じたジョブの実行結果をサーバ１０２に送信する。これに対して、第２の実施形態では、サーバ１０２は、ＭＦＰ１０１のサービスプロバイダ４３０に対して、第１の実施形態のように、セッションＩＤを指定することがない。その代わりに、サービスプロバイダ４３０は、ＭＦＰ１０１のＷｅｂブラウザ４２０とサーバ１０２との間で既に使用されているセッションＩＤを参照し、かつ、それを使用してジョブの実行結果をサーバ１０２に送信することを特徴としている。なお、以下では、第１の実施形態と異なる部分を中心として説明する。
【００７３】
図１３は、第２の実施形態に係る情報処理システム１００のソフトウェア構成を示す図である。図１３に示す各機能部は、第１の実施形態の図４と同様、ＭＦＰ１０１のＣＰＵ２１１、及びサーバ１０２のＣＰＵ３１１が、それぞれ制御プログラムを実行することによって実現される。第１の実施形態との相違点は、ＭＦＰ１０１におけるセッション情報管理部の配置にある。第１の実施形態（図４）では、Ｗｅｂブラウザ４２０がセッション情報管理部４２４を、サービスプロバイダ４３０がセッション情報管理部４３４を、それぞれ有している。これに対して、本実施形態では、ＭＦＰ１０１に、Ｗｅｂブラウザ４２０及びサービスプロバイダ４３０に対して共通のセッション情報管理部４４０が設けられている。
【００７４】
セッション情報管理部４４０は、サーバ１０２とＷｅｂブラウザ４２０との間の通信で用いられるセッションＩＤ等のセッション情報を管理するとともに、サーバ１０２とサービスプロバイダ４３０との間の通信で用いられるセッション情報も管理する。Ｗｅｂブラウザ４２０及びサービスプロバイダ４３０は、それぞれ、共通のセッション情報管理部４４０に対して、セッション情報の保存、取得、及び削除を指示可能である。
【００７５】
本実施形態では、第１の実施形態のＳ７０８で行ったように、Ｗｅｂアプリケーション４１１からサービスプロバイダ４３０へのＳＯＡＰリクエストの送信の際に、Ｗｅｂアプリケーション４１１は、クッキーを指定しない。サービスプロバイダ４３０は、ＳＯＡＰリクエストに応じたジョブの実行が完了すると、当該ジョブの実行結果を示す完了情報に付加するクッキーとして、セッション情報管理部４４０から取得したクッキーを使用する。当該クッキーは、Ｓ７０４でＷｅｂアプリケーション４１１によって生成され、かつ、Ｗｅｂブラウザ４２０に送信されたクッキーに相当する。セッション情報管理部４４０は、Ｓ７０４で、Ｗｅｂアプリケーション４１１から受信したクッキーを管理（保存）している。
【００７６】
以上のように、本実施形態では、ＭＦＰ１０１は、サーバ１０２（Ｗｅｂアプリケーション４１１）からＷｅｂブラウザ４２０によって受信したセッションＩＤ（クッキー）を、ＭＦＰ１０１側において、サービスプロバイダ４３０でも共用する。具体的には、サーバ１０２からのＳＯＡＰリクエストに対応するジョブの実行結果をサーバ１０２に通知する際に、Ｗｅｂブラウザ４２０で受信され、かつ、セッション情報管理部４４０に保存されているクッキーを、当該通知に付加してサーバ１０２に送信する。これにより、サーバ１０２からＭＦＰ１０１のサービスプロバイダ４３０に対して、使用すべきクッキーを指定する処理を必要とすることなく、第１の実施形態と同等の効果を得ることが可能である。
【００７７】
［その他の実施形態］
上述の実施形態では、Ｗｅｂサーバ４１０はフォーム認証を提供しているが、本発明はこれに限定されない。例えば、Ｗｅｂサーバ４１０がフォーム認証以外のＨＴＴＰ認証を提供している場合には、Ｗｅｂサーバ４１０はクッキー以外の所定のＨＴＴＰヘッダに、セッション情報を設定するようサービスプロバイダ４３０に指示してもよい。この場合、サービスプロバイダ４３０は、Ｗｅｂサーバ４１０からの指示に従ってＨＴＴＰヘッダを設定して、Ｗｅｂサーバ４１０へＨＴＴＰリクエストを行えばよい。
【００７８】
上述の実施形態では、Ｗｅｂサーバ４１０からサービスプロバイダ４３０へ、ＳＯＡＰリクエストを送信することでデバイス制御及びセッション情報の指定を行っていたが、サービスプロバイダ４３０の利用形態はこれに限定されない。例えば、Ｗｅｂアプリケーション４１１が応答として送信するＨＴＴＰレスポンスを使用して、デバイス制御及びセッション情報の指定を行うことで、サービスプロバイダ４３０を制御してもよい。さらに、Ｊａｖａ（登録商標）Ｓｃｒｉｐｔによってデバイス制御及びセッション情報の指定を行うことで、Ｗｅｂサーバ４１０は、Ｗｅｂブラウザ４２０からは非同期に、サービスプロバイダ４３０を制御してもよい。
【００７９】
上述の実施形態では、Ｗｅｂアプリケーション４１１はＷｅｂブラウザ４２０からログアウト要求を受けると、セッション情報を削除していた。しかし、Ｗｅｂアプリケーション４１１は、サービスプロバイダ４３０からジョブ完了通知を受けた後に、セッション情報を削除してもよい。
【００８０】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
0005930602.tif 000002
【図２】
0005930602.tif 000003
【図３】
0005930602.tif 000004
【図４】
0005930602.tif 000005
【図５】
0005930602.tif 000006
【図６】
0005930602.tif 000007
【図７】
0005930602.tif 000008
【図８Ａ】
0005930602.tif 000009
【図８Ｂ】
0005930602.tif 000010
【図８Ｃ】
0005930602.tif 000011
【図９】
0005930602.tif 000012
【図１０】
0005930602.tif 000013
【図１１】
0005930602.tif 000014
【図１２】
0005930602.tif 000015
【図１３】
0005930602.tif 000016