情報処理システム、情報処理装置、及びそれらの制御方法
【課題】情報処理装置が、サーバから制御の実行を要求された場合に、認証処理を必要とされることなく制御の完了をサーバに通知する技術を提供する。
【解決手段】本発明の情報処理システムでは、サーバ102は、MFP101のWebブラウザ420からの認証情報を用いた認証に成功すると、セッションIDを生成し、画面情報に当該セッションIDを付加してWebブラウザ420に送信する。Webブラウザ420は、サーバ102から受信した画面情報に基づいて表示した操作画面を介した操作を受け付けて、その操作内容をサーバ102に送信する。サーバ102は、当該操作内容に対応するジョブを実行させるためのリクエストを、セッションIDの指定とともに、MFP101のサービスプロバイダ430に送信する。サービスプロバイダ430は、ジョブの実行を完了すると、当該実行結果を示す完了情報にセッションIDを付加してサーバ102へ送信する。
【解決手段】本発明の情報処理システムでは、サーバ102は、MFP101のWebブラウザ420からの認証情報を用いた認証に成功すると、セッションIDを生成し、画面情報に当該セッションIDを付加してWebブラウザ420に送信する。Webブラウザ420は、サーバ102から受信した画面情報に基づいて表示した操作画面を介した操作を受け付けて、その操作内容をサーバ102に送信する。サーバ102は、当該操作内容に対応するジョブを実行させるためのリクエストを、セッションIDの指定とともに、MFP101のサービスプロバイダ430に送信する。サービスプロバイダ430は、ジョブの実行を完了すると、当該実行結果を示す完了情報にセッションIDを付加してサーバ102へ送信する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、MFP等の情報処理装置、情報処理装置を含む情報処理システム、及びそれらの制御方法に関するものである。
【背景技術】
【0002】
PC等の情報処理装置では、ネットワーク上のWebサーバ等のサーバ装置から提供される情報に基づいて、当該情報処理装置の表示部に操作画面を表示することが一般に行われている。例えば、情報処理装置が、ネットワーク上のWebサーバに対して、Webブラウザによって表示部に操作画面を表示するために必要な画面情報を要求(リクエスト)する。当該要求を受信したWebサーバでは、Webアプリケーションが、Webブラウザによって操作画面を表示させるための画面情報に相当するHTMLデータを、当該要求に対する応答(レスポンス)として情報処理装置に送信する。情報処理装置のWebブラウザは、受信したHTMLデータを解析し、解析したHTMLデータの記述に基づく操作画面を、当該情報処理装置の表示部に表示する。さらに、Webブラウザは、表示した操作画面を介した入力によりユーザの指示を受け付けると、入力された指示をWebサーバに通知する。この通知を受けたWebサーバ上のWebアプリケーションは、通知された指示に従って処理を実行する。
【0003】
近年では、後述するように、スキャナ、プリンタ等を備えたMFP(Multi Function Peripheral)の中には、上述のようなWebブラウザを備えているものが存在する。このようなMFPは、上述した手順でWebサーバから提供される画面情報に基づく操作画面を、当該MFPのWebブラウザによって表示部に表示する。さらに、MFPは、表示した操作画面を介して、ユーザからの各種指示を受け付ける。
【0004】
例えば、特許文献1では、MFPが備える機能を利用するための指示をユーザに入力させるための操作画面の画面情報を、WebサーバがMFPへ提供する手法が提案されている。特許文献1では、MFPのユーザは、Webブラウザにより表示された操作画面を介して、MFPに対する指示を入力する。入力された指示は、WebブラウザによってMFPからWebサーバに通知される。当該通知を受けたWebサーバは、通知された指示の内容に従った処理をMFPに実行させるために、MFPを制御するための制御データを、SOAP(Simple Object Access Protocol)等の通信プロトコルでMFPに送信する。これにより、Webサーバは、MFPに対して制御データに従った処理の実行を要求する。当該要求を受信したMFPは、要求された処理を実行する。特許文献1によれば、WebサーバとMFPとの間でこのような処理を行うことによって、MFPを操作するための全メニューデータをMFP内で保持しておく必要がなくなる。また、メニューデータを変更する場合には、MFPではなくWebサーバ上で容易に行うことが可能になる。
【0005】
このようなWebサーバは、不特定のクライアントから接続される場合には、接続元のクライアントに対して、セッションごとにユーザ認証を要求することが一般的である。Webサーバが認証処理を行う場合、認証用の認証画面のWebサーバ側で容易にカスタマイズ可能な認証方式であるフォーム認証が用いられることが多い。この場合、Webサーバ上のWebアプリケーションが、認証用のフォームをクライアントに提供する。Webサーバは、フォーム認証によるクライアントの認証が完了すると、当該クライアントとの間で確立するセッションに用いるセッションIDを発行し、それをHTTPレスポンスとして当該クライアントに送信する。当該クライアントは、受信したセッションIDを、その後にサーバへ送信するHTTPリクエストに設定する。このような手順により、クライアントとサーバは、その後の通信を認証済みのセッションとして実行可能である。
【0006】
Webサーバとクライアントとの間では、フォーム認証以外の認証方式が用いられる場合もある。例えば、特許文献2では、SOAPプロトコルを用いたSOAP通信により認証を行うことが記載されている。この場合、クライアントは、SOAP通信による認証後に、WebサーバからSOAPレスポンスで返される一時URLに対してHTTPリクエストを行うことで、セッションIDを取得できる。クライアントは、Webサーバに送信するHTTPリクエストにこのセッションIDを設定することで、上述のフォーム認証の場合と同様、Webサーバとの通信を認証済みのセッションとして実行可能である。
【0007】
ここで、特許文献1のように、Webサーバが、MFPのスキャナ、プリンタ等のデバイスをSOAP通信により制御するデバイス制御を実行する場合を想定する。この場合に、Webサーバによるデバイス制御で要求された処理をMFPが完了したことを、Webサーバが把握するためには、そのことをMFPからWebサーバへ通知する必要がある。例えば、このデバイス制御が、特許文献1のようにSOAPを利用して行われている場合、MFPは、制御の完了後に、そのことを示すデータをSOAPレスポンスでWebサーバに通知すればよい。
【0008】
ところが上述のデバイス制御によりMFPが実行するジョブの中には、その実行が完了するまでに長時間を要するものがある。例えば、プリンタを用いる印刷ジョブが実行される場合、印刷後の記録紙の排紙が完了するまでには、ある程度の時間を要する場合がある。この場合、MFPが、デバイス制御の要求をSOAPリクエストにより受けてから、制御の完了をSOAPレスポンスによりWebサーバに通知するまでの応答時間が長くなる可能性がある。このことは、Webサーバにおける負荷の観点から好ましくない。Webサーバにおける負荷を軽減するためには、例えば、MFPは、Webサーバからデバイス制御に関するSOAPリクエストを受けた際に、予めSOAPレスポンスをWebサーバへ送信する。その後、MFPは、要求された制御の実行が完了した際に、そのことを示す完了通知をWebサーバに送信すればよい。
【先行技術文献】
【特許文献】
【0009】
【特許文献1】特開2006−127503号公報
【特許文献2】特開2008−077614号公報
【発明の概要】
【発明が解決しようとする課題】
【0010】
上述のように、MFPがデバイス制御の完了通知を送信する際に、Webサーバによって認証を要求される場合、MFPは、Webサーバから要求された認証方式による認証を完了しないと、当該完了通知をWebサーバへ送信することができない。例えば、Webサーバから要求される認証方式がフォーム認証である場合、MFPは、完了通知を送信するためには、Webサーバごとに異なるフォームに対応して認証を行わなければならない。一方で、Webサーバから要求される認証方式がフォーム認証以外の認証方式(例えば、HTTP認証のような認証プロトコル)である場合、MFPは、フォーム認証以外の認証方式に対応する必要がある。
【0011】
本発明は、上述の問題に鑑みてなされたものであり、情報処理装置が、サーバから制御の実行を要求された場合に、認証処理を必要とされることなく制御の完了をサーバに通知する技術を提供することを目的としている。
【課題を解決するための手段】
【0012】
本発明は、例えば、情報処理システムとして実現できる。情報処理システムは、サーバ装置と、当該サーバ装置と通信可能な情報処理装置であって、サーバ装置によって提供される画面情報を用いて操作画面を表示部に表示する制御を行う表示制御部、及びサーバ装置からの指示に応じたジョブを実行する制御を行う実行制御部を含む情報処理装置と、を備える情報処理システムであって、サーバ装置は、表示制御部から受信した認証情報を用いた認証に成功すると、当該表示制御部との間の通信に用いるセッション識別子を生成する生成手段と、生成手段によって生成されたセッション識別子を画面情報に付加して、当該画面情報を表示制御部に送信する手段と、画面情報に基づく操作画面を介した操作内容を表示制御部から受信すると、当該操作内容に対応するジョブを実行させるための指示を実行制御部に送信する手段と、生成手段によって生成されたセッション識別子を、実行制御部からサーバ装置への通信に用いるセッション識別子として実行制御部に指定する指定手段と、指示に応じたジョブの実行結果を示す完了情報を、実行制御部から受信する受信手段と、を備え、情報処理装置の表示制御部は、サーバ装置から受信した画面情報を用いて、表示部に操作画面を表示する手段と、操作画面を介した操作内容をサーバ装置に送信する手段と、を備え、情報処理装置の実行制御部は、サーバ装置から指示を受信すると、当該指示に応じたジョブを実行する実行手段と、ジョブの実行が完了すると、当該ジョブの実行結果を示す完了情報に指定手段によって指定されたセッション識別子を付加して、当該完了情報をサーバ装置に送信する手段と、を備えることを特徴とする。
【発明の効果】
【0013】
本発明によれば、例えば、情報処理装置が、サーバから制御の実行を要求された場合に、認証処理を必要とされることなく制御の完了をサーバに通知する技術を提供できる。
【図面の簡単な説明】
【0014】
【図1】本発明の第1の実施形態に係る情報処理システム100の構成の全体図である。
【図2】本発明の第1の実施形態に係るMFP101の構成を示すブロック図である。
【図3】本発明の第1の実施形態に係るサーバ102の構成を示すブロック図である。
【図4】本発明の第1の実施形態に係る情報処理システム100のソフトウェア構成を示す図である。
【図5】本発明の第1の実施形態におけるセッション情報管理テーブルを示す模式図である。
【図6】本発明の第1の実施形態に係る情報処理システム100における処理で発生する画面遷移の一例を示す図である。
【図7】本発明の第1の実施形態に係る情報処理システム100における処理の流れを示すシーケンス図である。
【図8A】、
【図8B】、
【図8C】本発明の第1の実施形態に係る情報処理システム100においてMFP101とサーバ102との間で送受信される情報の一例である。
【図9】本発明の第1の実施形態に係るサーバ102のWebアプリケーション411が、HTTPリクエストを受信した際に実行する処理の手順を示すフローチャートである。
【図10】本発明の第1の実施形態に係るMFP101のサービスプロバイダ430が、SOAPリクエストを受信した際に実行する処理の手順を示すフローチャートである。
【図11】本発明の第1の実施形態に係るMFP101のサービスプロバイダ430が、ジョブ完了イベントを受信した際に実行する処理の手順を示すフローチャートである。
【図12】本発明の第1の実施形態に係るMFP101のWebブラウザ420が、HTTPレスポンスを受信した際に実行する処理の手順を示すフローチャートである。
【図13】本発明の第2の実施形態に係る情報処理システム100のソフトウェア構成を示す図である。
【発明を実施するための形態】
【0015】
以下、本発明を実施するための形態について図面を用いて説明する。なお、以下の実施形態は特許請求の範囲に係る発明を限定するものでなく、また実施形態で説明されている特徴の組み合わせの全てが発明の解決手段に必須のものとは限らない。
【0016】
[第1の実施形態]
<情報処理システム100のハードウェア構成>
まず、本発明に係る第1の実施形態について説明する。図1は、第1の実施形態における情報処理システム100の全体図である。LAN110には、MFP101及びサーバ102が相互に通信可能に接続されている。図1には、それぞれ1台のMFP101及びサーバ102が、ネットワークの一例であるLAN110に接続された例を示しているが、何台のMFP101及びサーバ102がLAN110に接続されていてもよい。なお、本実施形態において、サーバ102は、サーバ装置の一例であり、MFP101は、サーバ装置と通信可能な情報処理装置の一例である。
【0017】
図2は、MFP101の構成を示すブロック図である。MFP101は、MFP101全体の動作を制御する制御部210と、操作部219と、プリンタ220と、スキャナ221といったデバイスを備える。MFP101はCPU211を備え、CPU211は、ROM212に記憶された制御プログラムをRAM213に読み出して、印刷制御、読取制御、送信制御等の各種制御を行う。RAM213は、CPU211の主メモリ、ワークエリア等の一時記憶領域として用いられる。HDD214には、画像データや各種プログラム、或いは後述する各種情報テーブルが格納される。
【0018】
操作部I/F215は、操作部219と制御部210とを接続するインタフェースである。操作部219は、タッチパネル機能を有する液晶表示部やキーボード等を備える。液晶表示部は、各種の情報を表示する表示部として機能する。また、液晶表示部及びキーボードは、ユーザがMFP101に各種の情報及び指示を入力するためのユーザインタフェースとして機能する。MFP101は、後述するように、制御プログラムの実行によって実現される機能の1つとして、Webブラウザを備えている。MFP101のWebブラウザは、サーバ102から画像情報として受信されるHTMLデータを解析し、解析したHTMLデータの記述に基づく操作画面を、操作部219の液晶表示部に表示する。
【0019】
プリンタI/F216は、プリンタ220と制御部210とを接続するインタフェースである。プリンタ220で印刷すべき画像データは、プリンタI/F216を介して制御部210から転送される。プリンタ220は、転送された画像データに基づいて、記録媒体上に画像を印刷する。スキャナI/F217は、スキャナ221と制御部210とを接続するインタフェースである。スキャナ221は、原稿の画像を読み取って画像データを生成し、生成した画像データを、スキャナI/F217を介して制御部210に入力する。
【0020】
ネットワークI/F218は、制御部210(MFP101)をLAN110に接続するインタフェースである。ネットワークI/F218は、LAN110上の外部装置(例えば、サーバ102)に画像データや各種情報を送信したり、LAN110上の外部装置から各種情報を受信したりする。
【0021】
図3は、サーバ102の構成を示すブロック図である。CPU311を含む制御部310は、サーバ102全体の動作を制御する。CPU311は、ROM312に記憶された制御プログラムをRAM313に読み出して、各種の制御を実行する。RAM313は、CPU311の主メモリ、ワークエリア等の一時記憶領域として用いられる。HDD314には、画像データや各種プログラムが格納される。ネットワークI/F315は、制御部310(サーバ102)をLAN110に接続するインタフェースである。ネットワークI/F315は、LAN110上の他の装置との間で各種情報を送受信する。
【0022】
<情報処理システム100のソフトウェア構成>
図4は、情報処理システム100全体のソフトウェア構成を示す図である。図4に示す各機能部は、MFP101のCPU211、及びサーバ102のCPU311が、それぞれ制御プログラムを実行することによって実現される。MFP101は、CPU211による制御プログラムの実行によって実現する機能部として、Webブラウザ420及びサービスプロバイダ430を有する。サーバ102は、CPU311による制御プログラムの実行によって実現する機能部としてWebサーバ410を有する。なお、本実施形態において、Webブラウザ420は、サーバ装置によって提供される画面情報を用いて操作画面を表示部に表示する制御を行う表示制御部の一例として機能する。また、サービスプロバイダ430は、サーバ装置からの指示に応じたジョブを実行する制御を行う実行制御部の一例として機能する。
【0023】
サーバ102のWebサーバ410は、MFP101のWebブラウザ420及びサービスプロバイダ430のそれぞれと、LAN110を介して通信可能である。以下では、MFP101のWebブラウザ420及びサービスプロバイダ430と、サーバ102のWebサーバ410の構成について、詳細に説明する。
【0024】
(MFP101)
Webブラウザ420は、通信部421、解析部422、画面表示部423、及びセッション情報管理部424を有する。通信部421は、HTTPプロトコルに従って、サーバ102のWebアプリケーション411へリクエストを送信し、そのレスポンスをWebアプリケーション411から受信する。MFP101は、通信部421でHTTPリクエストを送信することによって、Webブラウザ420により操作部219の液晶表示部に操作画面を表示するための画面情報に相当するHTTPデータを、Webアプリケーション411に要求する。通信部421は、Webブラウザ420により表示した操作画面を介してユーザが入力した情報を、サーバ102のWebアプリケーション411に通知する。
【0025】
解析部422は、Webアプリケーション411から受信したHTTPレスポンスを解析する。HTTPレスポンスには、Webブラウザ420によって表示される操作画面の内容を記述したHTMLデータが含まれる。HTTPレスポンスには、Webアプリケーション411へHTTPリクエスト送る際に、そのHTTPリクエストで設定すべきセッション情報を表すクッキーが指定されている場合もある。画面表示部423は、解析部422によるHTTPレスポンスの解析結果に基づいて、操作部219の液晶表示部に操作画面を表示する。ここで、セッション情報には、MFP101とサーバ102との間で確立されたセッションを特定するためのセッションID(セッション識別子又はセッション識別情報)が含まれる。本実施形態では、セッションID(SID)として、クッキーが用いる。
【0026】
セッション情報管理部424は、解析部422による解析の結果に基づいて、HTTPレスポンスで指定されたクッキー(セッションID)をセッション情報管理テーブルに格納する。図5はセッション情報管理テーブルの一例を示す模式図である。セッション情報管理テーブルは、ドメイン名及びクッキーを含む。図5では、ドメイン名“192.168.0.102”が示すWebサーバ410からクッキー“SID=84721340”が指定された場合に、それらがセッション情報管理テーブルに格納された場合を示している。この状態において、通信部421は、ドメイン名“192.168.0.102”が示すWebサーバ410へHTTPリクエストを送信する場合、当該HTTPリクエストに対してクッキー“SID=84721340”を設定(付加)する。なお、MFP101とサーバ102との間では、同一のクッキーを用いた通信は、同一のセッションの通信として特定される。
【0027】
サービスプロバイダ430は、通信部431、解析部432、ジョブ制御部433、及びセッション情報管理部434を含む。通信部431は、Webアプリケーション411からSOAPリクエストを受信し、また、Webアプリケーション411へSOAPレスポンスを送信する。ここで、SOAPリクエストは、例えば、プリンタ220による印刷処理、スキャナ221による読取処理、又はネットワークI/F218を介した送信処理の実行を、サーバ102がMFP101に依頼するための制御要求である。SOAPリクエストには、MFP101が備えるデバイスを制御するための命令が記述されている。解析部432は、通信部431が受信したSOAPリクエストを解析して、それに含まれる制御命令を取得する。
【0028】
ジョブ制御部433は、解析部432によって解析された制御命令を実行するためのジョブを生成する。ジョブ制御部433は、生成したジョブを実行することによって、プリンタ220による印刷処理、スキャナ240による読取処理、及びネットワークI/F218を介した送信処理等を実行する。ジョブ制御部433は、生成したジョブの実行を完了すると、当該ジョブの実行結果を示す完了情報の通知(完了通知)を、SOAPリクエストに従ってWebアプリケーション411へ送信するように、通信部431に指示する。なお、ジョブ制御部433は、ジョブの生成から完了通知までの間、SOAPリクエストの内容を、実行中のジョブと紐付けて保持している。
【0029】
セッション情報管理部434は、サーバ102とMFP101との間で確立されたセッションに関する情報を管理する。セッション情報管理部434は、解析部432による解析結果に基づいて、SOAPリクエストで指定されたジョブ完了通知情報に含まれるクッキーを、セッション情報管理テーブルに格納して管理する。セッション情報管理部434が管理するセッション情報管理テーブルは、図5に示したセッション情報管理テーブルと同様であり、ドメイン名及びクッキーを含む。
【0030】
(サーバ102)
Webサーバ410は、Webアプリケーション411及びセッション情報管理部412を含む。Webサーバ410は、MFP101のWebブラウザ420からリクエストとして送信される情報を受信し、受信した情報に基づいた処理を、Webアプリケーション411に実行させる。さらに、Webサーバ410は、Webアプリケーション411の処理によって得られるHTMLデータを、Webブラウザ420からのリクエストに対するレスポンスとして、MFP101に送信する。ここで送信されるHTMLデータには、MFP101のWebブラウザ420によって表示される操作画面の内容を示す記述が含まれる。
【0031】
Webアプリケーション411は、Webブラウザ420からのリクエストに応じて、Webブラウザ420により表示すべき操作画面の画面情報を示すHTMLデータを生成する。また、Webアプリケーション411は、Webブラウザ420との間で確立したセッションを特定するためのクッキーを生成したり、サービスプロバイダ430に実行させる処理に関する制御要求を生成したりする。生成されたHTMLデータ及びクッキーは、HTTPレスポンスとして、Webサーバ410によってWebブラウザ420の通信部421へ送信される。一方で、制御要求については、SOAPリクエストとして、Webアプリケーション411によってサービスプロバイダ430の通信部431へ送信される。
【0032】
セッション情報管理部412は、サーバ102とMFP101との間で確立されたセッションに関する情報を管理する。例えば、セッション情報管理部412は、Webアプリケーション411からの要求に従って、管理しているクッキーを保存したり削除したりする。
【0033】
<情報処理システム100における処理の流れ>
これまでに、本実施形態におけるシステム構成の概要について説明してきた。以下では、本実施形態における情報処理システム100において実行される処理の流れについて説明する。図6は、本実施形態に係る情報処理システム100における処理で発生する画面遷移の一例を示す図である。図6に示すログイン画面610、メニュー画面620、及び操作画面630は何れも、サーバ102のWebアプリケーション411によって生成された画面情報(HTMLデータ)を、Webブラウザ420が処理して操作部219の液晶表示部に表示する画面の一例である。
【0034】
ログイン画面610は、フォーム認証用の画面の一例であり、ユーザIDを入力するためのユーザIDフィールド611、パスワードを入力するためのパスワードフィールド612、及びログインボタン613を含んでいる。ユーザは、ログイン画面610を介してユーザID及びパスワードを認証情報として入力できる。ログインボタン613は、Webブラウザ420からWebアプリケーション411へ送信したユーザID及びパスワードに基づいた認証を、Webアプリケーション411に対して要求するためのボタンである。
【0035】
ログイン画面610を介して入力された認証情報は、ログインボタン613の押下に応じてWebブラウザ420からWebアプリケーション411へ送信され、Webアプリケーション411において実行される認証処理に用いられる。Webブラウザ420は、ログインボタン613が押下され、かつ、Webアプリケーション411による認証に成功した場合に、Webアプリケーション411から送信される情報に基づいて、ログイン画面610からメニュー画面620へ画面を遷移させる。
【0036】
メニュー画面620は、MFP101が備える何れの機能を利用するのかを、ユーザに選択させるための画面である。メニュー画面620は、各種の機能ボタン621及びログアウトボタン622を含む。Webブラウザ420は、何れかの機能ボタン621が押下されると、選択された機能に対応した操作画面に遷移する。また、ログアウトボタン622が押下されると、Webブラウザ420は、メニュー画面620からログイン画面610へ画面を遷移させる。
【0037】
操作画面630は、メニュー画面620で「スキャン送信」が選択された場合に、スキャン送信機能を利用するための操作画面である。操作画面630は、ファイル名及びファイルフォーマットの指定欄631、632、実行ボタン634、戻るボタン634、並びにログアウトボタン635を含む。Webブラウザ420は、実行ボタンが押下されると、スキャナで原稿を読み取って画像ファイルを生成し、生成した画像データをFTPサーバへ送信する。また、Webブラウザ420は、戻るボタン633が押下された場合には、メニュー画面620へ画面を遷移させ、ログアウトボタン635が押下された場合には、ログイン画面610へ画面を遷移させる。
【0038】
図7は、本実施形態に係る情報処理システム100における処理の流れを示したシーケンス図である。
まず、S701で、Webブラウザ420は、メニュー画面620を要求するHTTPリクエストを、Webサーバ410(サーバ102)へ送信する。図8Aの801は、S701において送信されるHTTPリクエストの一例である。この例では、Webブラウザ420は、ホスト名“192.168.0.102”が示すWebサーバ410(サーバ102)に対して、パス名“menu”が示すメニュー画面をGETメソッドで要求している。なお、図8Aの801に示すように、当該HTTPリクエストには、セッションIDであるクッキーが設定されていないものとする。
【0039】
S702で、Webアプリケーション411は、メニュー画面620を要求する最初のHTTPリクエストを受信すると、ログイン画面610のHTMLデータを含むHTTPレスポンスを、応答としてWebブラウザ420へ送信する。まず、S702で、Webアプリケーション411は、当該HTTPリクエストに、クッキーが付加されているか否かを判定する。Webアプリケーション411は、当該HTTPリクエストにクッキーが付加されていないと判定すると、Webブラウザ420に対して、認証のための認証情報を要求する。
【0040】
ここで、図8Aの801に示したように、Webブラウザ420からの最初のHTTPリクエストには、クッキーが設定されていない。そのため、Webアプリケーション411は、Webブラウザ420に対して認証情報を要求するために、ログイン画面610のHTMLデータを、HTTPリクエストに対する応答としてWebブラウザ420へ送信する。図8Aの802は、S702において送信されるHTTPレスポンスの一例であり、当該HTTPレスポンスは、例えばログイン画面610を表すHTMLデータを含んでいる。この例は、ログイン画面610によって、ユーザID“userId”及びパスワード“passwd”を入力するフォームが提供されることを表している。また、ログイン画面610において、ログインボタン“loginButton”が押下されると、パス名“login”が示すログイン画面について、ユーザID“userId”及びパスワード“passwd”をPOSTメソッドで送信すべきことを表している。
【0041】
S703で、Webブラウザ420は、Webアプリケーション411からのログイン画面610を用いた認証情報の要求に応じて、ログインを要求するための、認証情報を含むHTTPリクエストをWebアプリケーション411へ送信する。図8Aの803は、S703において送信されるHTTPリクエストの一例である。この例では、ログイン画面610のユーザIDフィールドに“user001”、パスワードフィールドに“password”がそれぞれ認証情報として入力されて、かつ、ログインボタンが押下されたことを表している。
【0042】
S704で、Webアプリケーション411は、Webブラウザ420から受信した認証情報に基づいて認証処理を行う。Webアプリケーション411は、認証に成功すると、Webブラウザ420との通信に用いるクッキー(セッションID)を生成する。さらに、Webアプリケーション411は、生成したクッキーを、HTTPレスポンスに付加(例えば、HTTPヘッダに設定)して、当該HTTPレスポンスを、S703のHTTPリクエストに対する応答として、Webブラウザ420へ送信する。これにより、Webアプリケーション411は、Webブラウザ420に対して、Webブラウザ420がWebアプリケーション411に送信する次回以降のHTTPリクエストには、当該クッキーを使用すべきことを指定している。ここで、図8Bの804は、S704において送信されるHTTPレスポンスの一例である。この例では、HTTPヘッダにクッキー“sid=84721340”が付加されている。
【0043】
S705で、Webブラウザ420は、操作画面630を要求するHTTPリクエストを、Webアプリケーション411へ送信する。図8Bの805は、S705において送信されるHTTPリクエストの一例である。この例では、Webブラウザ420は、パス名“ftp”が示す操作画面を、GETメソッドで要求している。このとき、Webブラウザ420は、S704でWebアプリケーション411から受信した応答に含まれるクッキー指定に従って、送信するHTTPリクエストのHTTPヘッダにクッキー“sid=84721340”を設定している。
【0044】
S706で、Webアプリケーション411は、操作画面630のHTTPデータを含むHTTPレスポンスを、応答としてWebブラウザ420へ送信する。図8Bの806は、S706において送信されるHTTPレスポンスの一例であり、例えば操作画面630を表すHTMLデータを含んでいる。このとき、Webアプリケーション411は、Webブラウザ420からのHTTPリクエストに、クッキーが設定されていることを判断した結果として、操作画面630のHTTPデータを応答として送信する。当該HTTPリクエストにクッキーが設定されていない場合には、Webアプリケーション411は、S702と同様に、ログイン画面610のHTTPデータを応答として送信することになる。
【0045】
Webブラウザ420は、S706でWebアプリケーション411から受信したHTTPデータ(画面情報)を用いて、操作部219の液晶表示部に操作画面630を表示するとともに、当該操作画面630を介したユーザの操作を受け付ける。S707で、Webブラウザ420は、操作画面630を介したユーザの操作内容を、Webアプリケーション411へ送信する。即ち、Webブラウザ420は、当該操作内容を送信することによって、MFP101が備えるデバイスの制御を要求するHTTPリクエストを、Webアプリケーション411へ送信する。このHTTPリクエストは、ユーザが操作画面630を介して実行ボタン634を押下したことに応じて送信される。
【0046】
Webアプリケーション411は、当該HTTPリクエストの受信に応じて、S708で、MFP101が備えるデバイスの制御を要求するSOAPリクエスト(デバイス制御要求)を、MFP101のサービスプロバイダ430へ送信する。これにより、Webアプリケーション411は、Webブラウザ420から受信した、操作画面630の操作内容に対応するジョブ(サービス)を実行させるための指示を、SOAPリクエストとしてサービスプロバイダ430に送信する。
【0047】
さらに、S708で、Webアプリケーション411は、サービスプロバイダ430からWebアプリケーション411への通信に用いるクッキーとして、S704で生成したクッキーを使用すべきことをサービスプロバイダ430に対して指定する。具体的には、Webアプリケーション411は、サービスプロバイダ430がジョブの実行結果を示す完了情報をWebアプリケーション411に送信する際に使用すべきクッキーとして、S704で生成したクッキーをサービスプロバイダ430に指定する。本実施形態では、Webアプリケーション411は、S704で生成したクッキーを、S708で送信するSOAPリクエストに付加することによって、当該指定処理を実行する。
【0048】
図8Cの807は、S708において送信されるSOAPリクエストの一例である。この例では、Webアプリケーション411は、ホスト名“192.168.0.101”が示すMFP101に対して、POSTメソッドでサービスの実行を要求している。具体的には、Webアプリケーション411は、サービスプロバイダ430に対して、原稿をスキャンして得たデータをPDFファイルに変換した後、当該PDFファイルをFTPサーバへ送信するジョブの実行を指示している。
【0049】
サービスプロバイダ430は、S708におけるSOAPリクエストを受信すると、当該リクエストに対応する処理を実行するためのジョブを生成する。図8Cの807では、スキャン設定には、解像度300×300及びフルカラーが、文書設定にはPDFフォーマットが、FTP設定にはホストアドレス“192.168.0.103“及びファイル名“test.pdf”が、それぞれ設定されている。サービスプロバイダ430は、これらの設定に従った処理を実行するためのジョブを生成し、生成したジョブを実行する。また、図8Cの807では、ジョブの実行が完了した際に、パス名“ftp”が示す操作画面について、ジョブ結果を通知すべきこと、及び当該通知の際には、クッキー“sid=84721340”を使用すべきことが、指定されている。ここで、Webアプリケーション411が指定するクッキーは、S704で指定したクッキーと同一である。
【0050】
S709で、MFP101のサービスプロバイダ430は、S708で受け付けたSOAPリクエスト(デバイス制御要求)に対して応答するためのSOAPレスポンスを、サーバ102のWebアプリケーション411に送信するこれに応じて、S710で、Webアプリケーション411は、S707のリクエストへのレスポンスとして操作画面630のHTMLデータを送信する。その後、サービスプロバイダ430が、S708で受け付けたSOAPリクエストに従って生成したジョブの実行を完了すると、処理がS711へ進む。
【0051】
S711で、サービスプロバイダ430は、SOAPリクエスト(デバイス制御要求)に応じたジョブの実行結果を示す完了情報を通知するためのHTTPリクエストを、Webアプリケーション411へ送信する。また、当該HTTPリクエストには、S708で指定されたクッキーを付加する。図8Cの808は、S711において送信されるHTTPリクエストの一例である。この例では、ジョブが正常に終了したことを示すHTTPリクエストにクッキー“sid=84721340”を設定している。さらに、当該HTTPリクエストを、ホスト名“192.168.0.102”が示すWebサーバ410に対して、パス名“ftp”が示す操作画面についてのPOSTメソッドで通知している。図8Cの807を用いて説明したように、当該HTTPリクエストに含まれる処理結果の通知先及びクッキーは、S708で受け付けたSOAPリクエストで指定された情報に従って設定されている。
【0052】
S712で、Webアプリケーション411は、受信した処理結果通知への応答として、HTTPレスポンスをサービスプロバイダ430へ送信する。なお、Webアプリケーション411は、S711で受信したHTTPリクエスト(完了情報の通知)にクッキーが付加されていなかった場合には、ログイン画面610のHTMLデータをHTTPレスポンスとして送信する。
【0053】
S713で、Webブラウザ420は、操作画面630のログアウトボタン635が押下されると、ログアウトを要求するHTTPリクエストをWebアプリケーション411へ送信する。これに応じて、S714で、Webアプリケーション411は、ログイン画面610を表すHTMLデータを含むHTTPレスポンスを、Webブラウザ420へ送信する。S713以降(ログアウト後)では、Webブラウザ420が、これまで使用したクッキー(S704で取得したクッキー)を設定してHTTPリクエストを送信したとしても、Webアプリケーション411は、それを無効なクッキーと判断する。
【0054】
このように、本実施形態では、Webアプリケーション411(サーバ102)とWebブラウザ420とのセッション(通信)、及びWebアプリケーション411とサービスプロバイダ430とのセッションに、同一のクッキーを使用する制御を行う。これにより、Webブラウザ420がサーバ102の要求に応じてフォーム認証を実行した後、サーバ102からSOAPリクエストによって制御の実行を要求された場合に、サービスプロバイダ430が再度、サーバ102から認証を要求されることがなくなる。
【0055】
<サーバ102における処理手順>
次に、図9〜図12に示すフローチャートを用いて、サーバ102のWebアプリケーション411と、MFP101のサービスプロバイダ430及びWebブラウザ420とによって実行される処理の手順について、それぞれ説明する。
【0056】
図9は、サーバ102のWebアプリケーション411で実行される処理の手順を示すフローチャートである。Webアプリケーション411は、何らかの画面情報を要求するHTTPリクエスト等のHTTPリクエストを(Webブラウザ420又はサービスプロバイダ430から)受信すると、S901以下の処理の実行を開始する。S901で、Webアプリケーション411は、受信したHTTPリクエストのHTTPヘッダにクッキーが設定(付加)されているか判定する。ここで、Webアプリケーション411は、クッキーが設定されていると判定した場合にはS902へ処理を進める一方で、クッキーが設定されていないと判定した場合にはS903へ処理を進める。例えば、Webブラウザ420からWebアプリケーション411への初回のリクエスト時には、HTTPリクエストにクッキーが設定されていない。この場合には、S901からS903へ処理を進めることになる。
【0057】
S902で、Webアプリケーション411は、HTTPリクエストで取得したクッキーを、セッション情報管理部412に保存しているか否かを判定する。Webアプリケーション411は、取得したクッキーを保存していないと判定した場合には、当該クッキーは無効であると判断し、S903へ処理を進める。
【0058】
S903で、Webアプリケーション411は、HTTPリクエストによる要求内容を判別する。ここで、Webアプリケーション411は、メニュー画面620の取得が要求されていると判別した場合には、HTTPリクエストにクッキーが付加されてなかったことを理由として、S955に処理へ進める。S955では、Webアプリケーション411は、HTTPリクエストの送信元に認証情報を要求するために、ログイン画面610のHTMLデータを含むHTTPレスポンスを応答として送信し、処理を終了する。なお、ログイン画面610のURLに対するリダイレクトを送信して処理を終了してもよい。一方で、S903で、Webアプリケーション411は、ログインが要求されていると判別した場合は、S904〜S907の認証処理へ進む。
【0059】
S904で、Webアプリケーション411は、HTTPリクエスト(ログイン要求)に含まれる認証情報(ユーザID及びパスワード)を認証情報リポジトリと照合する。S905で、Webアプリケーション411は、S904における照合結果に基づいて、認証に成功したか否かを判定し、成功したと判定した場合にはS906へ処理を進める一方で、失敗したと判定した場合にはS955へ処理を進める。S955では、Webアプリケーション411は、ログイン画面610のHTMLデータを含むHTTPレスポンスを応答として送信し、処理を終了する。
【0060】
一方で、S906では、Webアプリケーション411は、クッキーを生成して、それをセッション情報管理部412へ保存する。ここで生成されたクッキーは、図7を用いて説明したように、それ以降の一連のセッション(通信)に用いられる。次にS907で、Webアプリケーション411は、メニュー画面620のHTMLデータを含むHTTPレスポンスを生成し、それを応答として送信する。図8Bの804に示したように、このHTTPレスポンスは、S906で生成されたクッキーが設定された状態で、Webブラウザ420へ送られる。
【0061】
次に、S913以下の処理について説明する。上述のように、ログイン画面(認証画面)610を用いた認証に成功すると、Webブラウザ420は、セッション情報としてクッキーを設定したHTTPリクエストをWebアプリケーション411へ送信する。この場合、図9においてはS901、S902、S913の順に処理が進むことになる。S913で、Webアプリケーション411は、HTTPリクエストによる要求内容を判別する。ここでは、当該要求内容は、メニュー画面620の取得、操作画面630の取得、デバイス制御に関する要求、ジョブの実行結果を示す処理結果通知、及びログアウト要求のうちの何れかである。Webアプリケーション411は、当該要求内容が、メニュー画面620の取得、操作画面630の取得、デバイス制御、処理結果通知、又はログアウト要求であると判別すると、それぞれS914、S924、S934、S944、又はS954へ処理を進める。
【0062】
S914では、Webアプリケーション411は、メニュー画面620のHTMLデータを含むHTTPレスポンスを、応答としてWebブラウザ420へ送信して、処理を終了する。S924では、Webアプリケーション411は、操作画面630のHTMLデータを含むHTTPレスポンスを、応答としてWebブラウザ420へ送信して、処理を終了する。S934では、Webアプリケーション411は、デバイス制御を要求するためのSOAPリクエストをサービスプロバイダ430へ送信し、上述のS924へ処理を進める。なお、当該SOAPリクエストには、上述のように、Webアプリケーション411とWebブラウザ420との間のセッションで用いたクッキーが付加される。
【0063】
S944では、Webアプリケーション411は、ジョブの実行結果の通知成功について応答するためのHTTPレスポンスを、Webブラウザ420へ送信し、処理を終了する。S954では、Webアプリケーション411は、HTTPリクエストで取得したクッキーをセッション情報管理部412から削除する。さらに、S955で、Webアプリケーション411は、ログイン画面610のHTMLデータを含むHTTPレスポンスを、応答としてWebブラウザ420へ送信して処理を終了する。
【0064】
Webブラウザ420は、ログアウト後にサーバ102(Webアプリケーション411)に送信するHTTPリクエストにも、それまで使用していたクッキーと同一のクッキーを設定可能である。しかし、その場合には、セッション情報管理部412には当該クッキーが保存されてないために、図9においてはS901、S902、S903、S955の順に処理が進むことになる。その結果、Webアプリケーション411は、当該HTTPリクエストに設定されたクッキーを無効であると判断して、ログイン画面610のHTMLデータを含む応答を、Webブラウザ420へ送信することになる。
【0065】
<MFP101における処理手順>
図10及び図11は、MFP101のサービスプロバイダ430によって実行される処理の手順を示すフローチャートである。サービスプロバイダ430は、通信部431によって、デバイス制御要求であるSOAPリクエストをサーバ102のWebアプリケーション411から受信すると、図10におけるS1001以下の処理の実行を開始する。まずS1001で、サービスプロバイダ430は、解析部432により、SOAPリクエストによる要求内容を解析する。次にS1002で、サービスプロバイダ430は、ジョブ制御部433により、S1001の解析結果に基づいて、ジョブの実行が完了した際に、ジョブの実行結果を通知する通知先のドメイン名及びクッキーを、セッション情報管理部434に保存する。
【0066】
次に、S1003で、サービスプロバイダ430は、ジョブ制御部433により、S1001の解析結果に基づいて、デバイス制御を行うためのジョブを生成するとともに、当該ジョブの実行を開始する。さらに、S1004で、サービスプロバイダ430は、デバイス制御要求を受け付けたことを示すSOAPレスポンスを、応答として通信部431により送信した後、処理を終了する。
【0067】
その後、サービスプロバイダ430が、制御対象のデバイスから、ジョブの実行の完了を示すジョブ完了イベントを受信すると、図11におけるS1101以下の処理の実行を開始する。ここで、ジョブ完了イベントは、図10を用いて説明したジョブに含まれる処理の実行が完了すると、制御対象のデバイスからジョブ制御部433に対して通知されるイベントである。
【0068】
まずS1101で、サービスプロバイダ430は、ジョブ制御部433により、ジョブの実行結果を示す完了情報として、要求されたデバイス制御が完了したことを示す処理完了情報を生成する。ここで、処理完了情報には、受信したジョブ完了イベントに応じた、正常終了、キャンセル終了、エラー終了等を示す情報が含まれる。次にS1102で、サービスプロバイダ430は、ジョブ制御部433により、処理完了情報の通知先のドメイン名に対応するクッキーを、セッション情報管理部434から取得する。さらに、S1103で、サービスプロバイダ430は、通信部431により、処理完了情報及びクッキーを設定したHTTPレスポンスを、(通知先のドメイン名に対応する)Webアプリケーション411へ送信して、処理を終了する。
【0069】
次に、図12は、MFP101のWebブラウザ420によって実行される処理の手順を示すフローチャートである。Webブラウザ420は、通信部421によってHTTPレスポンスを受信すると、S1201以下の処理の実行を開始する。S1201で、Webブラウザ420は、解析部422により、クッキーを設定すべき指示がHTTPレスポンスに含まれているか否かを判定する。ここで、Webブラウザ420は、クッキー設定が指示されていると判定した場合、S1202へ処理を進め、指示されていないと判定した場合、処理を終了する。S1202で、Webブラウザ420は、セッション情報管理部424により、HTTPリクエストを送信した際の送信先のホスト名とS1201で解析したクッキーとを保存して、処理を終了する。
【0070】
以上説明したように、本実施形態に係る情報処理システムでは、サーバ102(Webアプリケーション411)は、MFP101のWebブラウザ420からの認証情報を用いた認証に成功すると、セッションID(クッキー)を生成する。さらに、サーバ102は、Webブラウザ420からの要求に応じて画面情報を送信する際には、生成したセッションIDを付加する。Webブラウザ420は、サーバ102から受信した画面情報に基づいて操作画面を表示して、当該操作画面を介した操作を受け付ける。Webブラウザ420が、表示した操作画面を介した操作内容をサーバ102に送信すると、サーバ102は、当該操作内容に対応するジョブを実行させるためのSOAPリクエストを、MFP101のサービスプロバイダ430に送信する。その際に、サービスプロバイダ430からサーバ102へその後に情報を送信する際に使用すべきセッションIDを指定する。当該指定は、例えば、SOAPリクエストにセッションIDを付加することによって行われる。サービスプロバイダ430は、SOAPリクエストに応じたジョブの実行を完了すると、当該実行結果を示す完了情報に、指定されたセッションIDを付加して、当該完了情報をサーバ102へ送信する。
【0071】
このように、サーバ102は、MFP101のWebブラウザ420との通信のために認証処理に基づき生成したセッションIDを、サービスプロバイダ430とサーバ102との通信にも使用できるよう、サービスプロバイダ430に通知(指定)する。これにより、MFP101は、サーバ102からのSOAPリクエスト(指示)に応じて実行したジョブの実行結果を示す完了情報をサーバ102に通知する際に、さらなる認証処理をサーバ102から必要とされることなく、当該通知を実行できる。
【0072】
[第2の実施形態]
次に、本発明に係る第2の実施形態について説明する。第1の実施形態では、MFP101のサービスプロバイダ430は、S708でサーバ102(Webアプリケーション411)から指定されたセッションID(クッキー)を用いて、サーバ102からの指示に応じたジョブの実行結果をサーバ102に送信する。これに対して、第2の実施形態では、サーバ102は、MFP101のサービスプロバイダ430に対して、第1の実施形態のように、セッションIDを指定することがない。その代わりに、サービスプロバイダ430は、MFP101のWebブラウザ420とサーバ102との間で既に使用されているセッションIDを参照し、かつ、それを使用してジョブの実行結果をサーバ102に送信することを特徴としている。なお、以下では、第1の実施形態と異なる部分を中心として説明する。
【0073】
図13は、第2の実施形態に係る情報処理システム100のソフトウェア構成を示す図である。図13に示す各機能部は、第1の実施形態の図4と同様、MFP101のCPU211、及びサーバ102のCPU311が、それぞれ制御プログラムを実行することによって実現される。第1の実施形態との相違点は、MFP101におけるセッション情報管理部の配置にある。第1の実施形態(図4)では、Webブラウザ420がセッション情報管理部424を、サービスプロバイダ430がセッション情報管理部434を、それぞれ有している。これに対して、本実施形態では、MFP101に、Webブラウザ420及びサービスプロバイダ430に対して共通のセッション情報管理部440が設けられている。
【0074】
セッション情報管理部440は、サーバ102とWebブラウザ420との間の通信で用いられるセッションID等のセッション情報を管理するとともに、サーバ102とサービスプロバイダ430との間の通信で用いられるセッション情報も管理する。Webブラウザ420及びサービスプロバイダ430は、それぞれ、共通のセッション情報管理部440に対して、セッション情報のWebブラウザ420及びサービスプロバイダ430は、共通のセッション情報管理部440に対して、セッション情報の保存、取得、及び削除を指示可能である。
【0075】
本実施形態では、第1の実施形態のS708で行ったように、Webアプリケーション411からサービスプロバイダ430へのSOAPリクエストの送信の際に、Webアプリケーション411は、クッキーを指定しない。サービスプロバイダ430は、SOAPリクエストに応じたジョブの実行が完了すると、当該ジョブの実行結果を示す完了情報に付加するクッキーとして、セッション情報管理部440から取得したクッキーを使用する。当該クッキーは、S704でWebアプリケーション411によって生成され、かつ、Webブラウザ420に送信されたクッキーに相当する。セッション情報管理部440は、S704で、Webアプリケーション411から受信したクッキーを管理(保存)している。
【0076】
以上のように、本実施形態では、MFP101は、サーバ102(Webアプリケーション411)からWebブラウザ420によって受信したセッションID(クッキー)を、MFP101側において、サービスプロバイダ430でも共用する。具体的には、サーバ102からのSOAPリクエストに対応するジョブの実行結果をサーバ102に通知する際に、Webブラウザ420で受信され、かつ、セッション情報管理部440に保存されているクッキーを、当該通知に付加してサーバ102に送信する。これにより、サーバ102からMFP101のサービスプロバイダ430に対して、使用すべきクッキーを指定する処理を必要とすることなく、第1の実施形態と同等の効果を得ることが可能である。
【0077】
[その他の実施形態]
上述の実施形態では、Webサーバ410はフォーム認証を提供しているが、本発明はこれに限定されない。例えば、Webサーバ410がフォーム認証以外のHTTP認証を提供している場合には、Webサーバ410はクッキー以外の所定のHTTPヘッダに、セッション情報を設定するようサービスプロバイダ430に指示してもよい。この場合、サービスプロバイダ430は、Webサーバ410からの指示に従ってHTTPヘッダを設定して、Webサーバ410へHTTPリクエストを行えばよい。
【0078】
上述の実施形態では、Webサーバ410からサービスプロバイダ430へ、SOAPリクエストを送信することでデバイス制御及びセッション情報の指定を行っていたが、サービスプロバイダ430の利用形態はこれに限定されない。例えば、Webアプリケーション411が応答として送信するHTTPレスポンスを使用して、デバイス制御及びセッション情報の指定を行うことで、サービスプロバイダ430を制御してもよい。さらに、Java(登録商標)Scriptによってデバイス制御及びセッション情報の指定を行うことで、Webサーバ410は、Webブラウザ420からは非同期に、サービスプロバイダ430を制御してもよい。
【0079】
上述の実施形態では、Webアプリケーション411はWebブラウザ420からログアウト要求を受けると、セッション情報を削除していた。しかし、Webアプリケーション411は、サービスプロバイダ430からジョブ完了通知を受けた後に、セッション情報を削除してもよい。
【0080】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
【技術分野】
【0001】
本発明は、MFP等の情報処理装置、情報処理装置を含む情報処理システム、及びそれらの制御方法に関するものである。
【背景技術】
【0002】
PC等の情報処理装置では、ネットワーク上のWebサーバ等のサーバ装置から提供される情報に基づいて、当該情報処理装置の表示部に操作画面を表示することが一般に行われている。例えば、情報処理装置が、ネットワーク上のWebサーバに対して、Webブラウザによって表示部に操作画面を表示するために必要な画面情報を要求(リクエスト)する。当該要求を受信したWebサーバでは、Webアプリケーションが、Webブラウザによって操作画面を表示させるための画面情報に相当するHTMLデータを、当該要求に対する応答(レスポンス)として情報処理装置に送信する。情報処理装置のWebブラウザは、受信したHTMLデータを解析し、解析したHTMLデータの記述に基づく操作画面を、当該情報処理装置の表示部に表示する。さらに、Webブラウザは、表示した操作画面を介した入力によりユーザの指示を受け付けると、入力された指示をWebサーバに通知する。この通知を受けたWebサーバ上のWebアプリケーションは、通知された指示に従って処理を実行する。
【0003】
近年では、後述するように、スキャナ、プリンタ等を備えたMFP(Multi Function Peripheral)の中には、上述のようなWebブラウザを備えているものが存在する。このようなMFPは、上述した手順でWebサーバから提供される画面情報に基づく操作画面を、当該MFPのWebブラウザによって表示部に表示する。さらに、MFPは、表示した操作画面を介して、ユーザからの各種指示を受け付ける。
【0004】
例えば、特許文献1では、MFPが備える機能を利用するための指示をユーザに入力させるための操作画面の画面情報を、WebサーバがMFPへ提供する手法が提案されている。特許文献1では、MFPのユーザは、Webブラウザにより表示された操作画面を介して、MFPに対する指示を入力する。入力された指示は、WebブラウザによってMFPからWebサーバに通知される。当該通知を受けたWebサーバは、通知された指示の内容に従った処理をMFPに実行させるために、MFPを制御するための制御データを、SOAP(Simple Object Access Protocol)等の通信プロトコルでMFPに送信する。これにより、Webサーバは、MFPに対して制御データに従った処理の実行を要求する。当該要求を受信したMFPは、要求された処理を実行する。特許文献1によれば、WebサーバとMFPとの間でこのような処理を行うことによって、MFPを操作するための全メニューデータをMFP内で保持しておく必要がなくなる。また、メニューデータを変更する場合には、MFPではなくWebサーバ上で容易に行うことが可能になる。
【0005】
このようなWebサーバは、不特定のクライアントから接続される場合には、接続元のクライアントに対して、セッションごとにユーザ認証を要求することが一般的である。Webサーバが認証処理を行う場合、認証用の認証画面のWebサーバ側で容易にカスタマイズ可能な認証方式であるフォーム認証が用いられることが多い。この場合、Webサーバ上のWebアプリケーションが、認証用のフォームをクライアントに提供する。Webサーバは、フォーム認証によるクライアントの認証が完了すると、当該クライアントとの間で確立するセッションに用いるセッションIDを発行し、それをHTTPレスポンスとして当該クライアントに送信する。当該クライアントは、受信したセッションIDを、その後にサーバへ送信するHTTPリクエストに設定する。このような手順により、クライアントとサーバは、その後の通信を認証済みのセッションとして実行可能である。
【0006】
Webサーバとクライアントとの間では、フォーム認証以外の認証方式が用いられる場合もある。例えば、特許文献2では、SOAPプロトコルを用いたSOAP通信により認証を行うことが記載されている。この場合、クライアントは、SOAP通信による認証後に、WebサーバからSOAPレスポンスで返される一時URLに対してHTTPリクエストを行うことで、セッションIDを取得できる。クライアントは、Webサーバに送信するHTTPリクエストにこのセッションIDを設定することで、上述のフォーム認証の場合と同様、Webサーバとの通信を認証済みのセッションとして実行可能である。
【0007】
ここで、特許文献1のように、Webサーバが、MFPのスキャナ、プリンタ等のデバイスをSOAP通信により制御するデバイス制御を実行する場合を想定する。この場合に、Webサーバによるデバイス制御で要求された処理をMFPが完了したことを、Webサーバが把握するためには、そのことをMFPからWebサーバへ通知する必要がある。例えば、このデバイス制御が、特許文献1のようにSOAPを利用して行われている場合、MFPは、制御の完了後に、そのことを示すデータをSOAPレスポンスでWebサーバに通知すればよい。
【0008】
ところが上述のデバイス制御によりMFPが実行するジョブの中には、その実行が完了するまでに長時間を要するものがある。例えば、プリンタを用いる印刷ジョブが実行される場合、印刷後の記録紙の排紙が完了するまでには、ある程度の時間を要する場合がある。この場合、MFPが、デバイス制御の要求をSOAPリクエストにより受けてから、制御の完了をSOAPレスポンスによりWebサーバに通知するまでの応答時間が長くなる可能性がある。このことは、Webサーバにおける負荷の観点から好ましくない。Webサーバにおける負荷を軽減するためには、例えば、MFPは、Webサーバからデバイス制御に関するSOAPリクエストを受けた際に、予めSOAPレスポンスをWebサーバへ送信する。その後、MFPは、要求された制御の実行が完了した際に、そのことを示す完了通知をWebサーバに送信すればよい。
【先行技術文献】
【特許文献】
【0009】
【特許文献1】特開2006−127503号公報
【特許文献2】特開2008−077614号公報
【発明の概要】
【発明が解決しようとする課題】
【0010】
上述のように、MFPがデバイス制御の完了通知を送信する際に、Webサーバによって認証を要求される場合、MFPは、Webサーバから要求された認証方式による認証を完了しないと、当該完了通知をWebサーバへ送信することができない。例えば、Webサーバから要求される認証方式がフォーム認証である場合、MFPは、完了通知を送信するためには、Webサーバごとに異なるフォームに対応して認証を行わなければならない。一方で、Webサーバから要求される認証方式がフォーム認証以外の認証方式(例えば、HTTP認証のような認証プロトコル)である場合、MFPは、フォーム認証以外の認証方式に対応する必要がある。
【0011】
本発明は、上述の問題に鑑みてなされたものであり、情報処理装置が、サーバから制御の実行を要求された場合に、認証処理を必要とされることなく制御の完了をサーバに通知する技術を提供することを目的としている。
【課題を解決するための手段】
【0012】
本発明は、例えば、情報処理システムとして実現できる。情報処理システムは、サーバ装置と、当該サーバ装置と通信可能な情報処理装置であって、サーバ装置によって提供される画面情報を用いて操作画面を表示部に表示する制御を行う表示制御部、及びサーバ装置からの指示に応じたジョブを実行する制御を行う実行制御部を含む情報処理装置と、を備える情報処理システムであって、サーバ装置は、表示制御部から受信した認証情報を用いた認証に成功すると、当該表示制御部との間の通信に用いるセッション識別子を生成する生成手段と、生成手段によって生成されたセッション識別子を画面情報に付加して、当該画面情報を表示制御部に送信する手段と、画面情報に基づく操作画面を介した操作内容を表示制御部から受信すると、当該操作内容に対応するジョブを実行させるための指示を実行制御部に送信する手段と、生成手段によって生成されたセッション識別子を、実行制御部からサーバ装置への通信に用いるセッション識別子として実行制御部に指定する指定手段と、指示に応じたジョブの実行結果を示す完了情報を、実行制御部から受信する受信手段と、を備え、情報処理装置の表示制御部は、サーバ装置から受信した画面情報を用いて、表示部に操作画面を表示する手段と、操作画面を介した操作内容をサーバ装置に送信する手段と、を備え、情報処理装置の実行制御部は、サーバ装置から指示を受信すると、当該指示に応じたジョブを実行する実行手段と、ジョブの実行が完了すると、当該ジョブの実行結果を示す完了情報に指定手段によって指定されたセッション識別子を付加して、当該完了情報をサーバ装置に送信する手段と、を備えることを特徴とする。
【発明の効果】
【0013】
本発明によれば、例えば、情報処理装置が、サーバから制御の実行を要求された場合に、認証処理を必要とされることなく制御の完了をサーバに通知する技術を提供できる。
【図面の簡単な説明】
【0014】
【図1】本発明の第1の実施形態に係る情報処理システム100の構成の全体図である。
【図2】本発明の第1の実施形態に係るMFP101の構成を示すブロック図である。
【図3】本発明の第1の実施形態に係るサーバ102の構成を示すブロック図である。
【図4】本発明の第1の実施形態に係る情報処理システム100のソフトウェア構成を示す図である。
【図5】本発明の第1の実施形態におけるセッション情報管理テーブルを示す模式図である。
【図6】本発明の第1の実施形態に係る情報処理システム100における処理で発生する画面遷移の一例を示す図である。
【図7】本発明の第1の実施形態に係る情報処理システム100における処理の流れを示すシーケンス図である。
【図8A】、
【図8B】、
【図8C】本発明の第1の実施形態に係る情報処理システム100においてMFP101とサーバ102との間で送受信される情報の一例である。
【図9】本発明の第1の実施形態に係るサーバ102のWebアプリケーション411が、HTTPリクエストを受信した際に実行する処理の手順を示すフローチャートである。
【図10】本発明の第1の実施形態に係るMFP101のサービスプロバイダ430が、SOAPリクエストを受信した際に実行する処理の手順を示すフローチャートである。
【図11】本発明の第1の実施形態に係るMFP101のサービスプロバイダ430が、ジョブ完了イベントを受信した際に実行する処理の手順を示すフローチャートである。
【図12】本発明の第1の実施形態に係るMFP101のWebブラウザ420が、HTTPレスポンスを受信した際に実行する処理の手順を示すフローチャートである。
【図13】本発明の第2の実施形態に係る情報処理システム100のソフトウェア構成を示す図である。
【発明を実施するための形態】
【0015】
以下、本発明を実施するための形態について図面を用いて説明する。なお、以下の実施形態は特許請求の範囲に係る発明を限定するものでなく、また実施形態で説明されている特徴の組み合わせの全てが発明の解決手段に必須のものとは限らない。
【0016】
[第1の実施形態]
<情報処理システム100のハードウェア構成>
まず、本発明に係る第1の実施形態について説明する。図1は、第1の実施形態における情報処理システム100の全体図である。LAN110には、MFP101及びサーバ102が相互に通信可能に接続されている。図1には、それぞれ1台のMFP101及びサーバ102が、ネットワークの一例であるLAN110に接続された例を示しているが、何台のMFP101及びサーバ102がLAN110に接続されていてもよい。なお、本実施形態において、サーバ102は、サーバ装置の一例であり、MFP101は、サーバ装置と通信可能な情報処理装置の一例である。
【0017】
図2は、MFP101の構成を示すブロック図である。MFP101は、MFP101全体の動作を制御する制御部210と、操作部219と、プリンタ220と、スキャナ221といったデバイスを備える。MFP101はCPU211を備え、CPU211は、ROM212に記憶された制御プログラムをRAM213に読み出して、印刷制御、読取制御、送信制御等の各種制御を行う。RAM213は、CPU211の主メモリ、ワークエリア等の一時記憶領域として用いられる。HDD214には、画像データや各種プログラム、或いは後述する各種情報テーブルが格納される。
【0018】
操作部I/F215は、操作部219と制御部210とを接続するインタフェースである。操作部219は、タッチパネル機能を有する液晶表示部やキーボード等を備える。液晶表示部は、各種の情報を表示する表示部として機能する。また、液晶表示部及びキーボードは、ユーザがMFP101に各種の情報及び指示を入力するためのユーザインタフェースとして機能する。MFP101は、後述するように、制御プログラムの実行によって実現される機能の1つとして、Webブラウザを備えている。MFP101のWebブラウザは、サーバ102から画像情報として受信されるHTMLデータを解析し、解析したHTMLデータの記述に基づく操作画面を、操作部219の液晶表示部に表示する。
【0019】
プリンタI/F216は、プリンタ220と制御部210とを接続するインタフェースである。プリンタ220で印刷すべき画像データは、プリンタI/F216を介して制御部210から転送される。プリンタ220は、転送された画像データに基づいて、記録媒体上に画像を印刷する。スキャナI/F217は、スキャナ221と制御部210とを接続するインタフェースである。スキャナ221は、原稿の画像を読み取って画像データを生成し、生成した画像データを、スキャナI/F217を介して制御部210に入力する。
【0020】
ネットワークI/F218は、制御部210(MFP101)をLAN110に接続するインタフェースである。ネットワークI/F218は、LAN110上の外部装置(例えば、サーバ102)に画像データや各種情報を送信したり、LAN110上の外部装置から各種情報を受信したりする。
【0021】
図3は、サーバ102の構成を示すブロック図である。CPU311を含む制御部310は、サーバ102全体の動作を制御する。CPU311は、ROM312に記憶された制御プログラムをRAM313に読み出して、各種の制御を実行する。RAM313は、CPU311の主メモリ、ワークエリア等の一時記憶領域として用いられる。HDD314には、画像データや各種プログラムが格納される。ネットワークI/F315は、制御部310(サーバ102)をLAN110に接続するインタフェースである。ネットワークI/F315は、LAN110上の他の装置との間で各種情報を送受信する。
【0022】
<情報処理システム100のソフトウェア構成>
図4は、情報処理システム100全体のソフトウェア構成を示す図である。図4に示す各機能部は、MFP101のCPU211、及びサーバ102のCPU311が、それぞれ制御プログラムを実行することによって実現される。MFP101は、CPU211による制御プログラムの実行によって実現する機能部として、Webブラウザ420及びサービスプロバイダ430を有する。サーバ102は、CPU311による制御プログラムの実行によって実現する機能部としてWebサーバ410を有する。なお、本実施形態において、Webブラウザ420は、サーバ装置によって提供される画面情報を用いて操作画面を表示部に表示する制御を行う表示制御部の一例として機能する。また、サービスプロバイダ430は、サーバ装置からの指示に応じたジョブを実行する制御を行う実行制御部の一例として機能する。
【0023】
サーバ102のWebサーバ410は、MFP101のWebブラウザ420及びサービスプロバイダ430のそれぞれと、LAN110を介して通信可能である。以下では、MFP101のWebブラウザ420及びサービスプロバイダ430と、サーバ102のWebサーバ410の構成について、詳細に説明する。
【0024】
(MFP101)
Webブラウザ420は、通信部421、解析部422、画面表示部423、及びセッション情報管理部424を有する。通信部421は、HTTPプロトコルに従って、サーバ102のWebアプリケーション411へリクエストを送信し、そのレスポンスをWebアプリケーション411から受信する。MFP101は、通信部421でHTTPリクエストを送信することによって、Webブラウザ420により操作部219の液晶表示部に操作画面を表示するための画面情報に相当するHTTPデータを、Webアプリケーション411に要求する。通信部421は、Webブラウザ420により表示した操作画面を介してユーザが入力した情報を、サーバ102のWebアプリケーション411に通知する。
【0025】
解析部422は、Webアプリケーション411から受信したHTTPレスポンスを解析する。HTTPレスポンスには、Webブラウザ420によって表示される操作画面の内容を記述したHTMLデータが含まれる。HTTPレスポンスには、Webアプリケーション411へHTTPリクエスト送る際に、そのHTTPリクエストで設定すべきセッション情報を表すクッキーが指定されている場合もある。画面表示部423は、解析部422によるHTTPレスポンスの解析結果に基づいて、操作部219の液晶表示部に操作画面を表示する。ここで、セッション情報には、MFP101とサーバ102との間で確立されたセッションを特定するためのセッションID(セッション識別子又はセッション識別情報)が含まれる。本実施形態では、セッションID(SID)として、クッキーが用いる。
【0026】
セッション情報管理部424は、解析部422による解析の結果に基づいて、HTTPレスポンスで指定されたクッキー(セッションID)をセッション情報管理テーブルに格納する。図5はセッション情報管理テーブルの一例を示す模式図である。セッション情報管理テーブルは、ドメイン名及びクッキーを含む。図5では、ドメイン名“192.168.0.102”が示すWebサーバ410からクッキー“SID=84721340”が指定された場合に、それらがセッション情報管理テーブルに格納された場合を示している。この状態において、通信部421は、ドメイン名“192.168.0.102”が示すWebサーバ410へHTTPリクエストを送信する場合、当該HTTPリクエストに対してクッキー“SID=84721340”を設定(付加)する。なお、MFP101とサーバ102との間では、同一のクッキーを用いた通信は、同一のセッションの通信として特定される。
【0027】
サービスプロバイダ430は、通信部431、解析部432、ジョブ制御部433、及びセッション情報管理部434を含む。通信部431は、Webアプリケーション411からSOAPリクエストを受信し、また、Webアプリケーション411へSOAPレスポンスを送信する。ここで、SOAPリクエストは、例えば、プリンタ220による印刷処理、スキャナ221による読取処理、又はネットワークI/F218を介した送信処理の実行を、サーバ102がMFP101に依頼するための制御要求である。SOAPリクエストには、MFP101が備えるデバイスを制御するための命令が記述されている。解析部432は、通信部431が受信したSOAPリクエストを解析して、それに含まれる制御命令を取得する。
【0028】
ジョブ制御部433は、解析部432によって解析された制御命令を実行するためのジョブを生成する。ジョブ制御部433は、生成したジョブを実行することによって、プリンタ220による印刷処理、スキャナ240による読取処理、及びネットワークI/F218を介した送信処理等を実行する。ジョブ制御部433は、生成したジョブの実行を完了すると、当該ジョブの実行結果を示す完了情報の通知(完了通知)を、SOAPリクエストに従ってWebアプリケーション411へ送信するように、通信部431に指示する。なお、ジョブ制御部433は、ジョブの生成から完了通知までの間、SOAPリクエストの内容を、実行中のジョブと紐付けて保持している。
【0029】
セッション情報管理部434は、サーバ102とMFP101との間で確立されたセッションに関する情報を管理する。セッション情報管理部434は、解析部432による解析結果に基づいて、SOAPリクエストで指定されたジョブ完了通知情報に含まれるクッキーを、セッション情報管理テーブルに格納して管理する。セッション情報管理部434が管理するセッション情報管理テーブルは、図5に示したセッション情報管理テーブルと同様であり、ドメイン名及びクッキーを含む。
【0030】
(サーバ102)
Webサーバ410は、Webアプリケーション411及びセッション情報管理部412を含む。Webサーバ410は、MFP101のWebブラウザ420からリクエストとして送信される情報を受信し、受信した情報に基づいた処理を、Webアプリケーション411に実行させる。さらに、Webサーバ410は、Webアプリケーション411の処理によって得られるHTMLデータを、Webブラウザ420からのリクエストに対するレスポンスとして、MFP101に送信する。ここで送信されるHTMLデータには、MFP101のWebブラウザ420によって表示される操作画面の内容を示す記述が含まれる。
【0031】
Webアプリケーション411は、Webブラウザ420からのリクエストに応じて、Webブラウザ420により表示すべき操作画面の画面情報を示すHTMLデータを生成する。また、Webアプリケーション411は、Webブラウザ420との間で確立したセッションを特定するためのクッキーを生成したり、サービスプロバイダ430に実行させる処理に関する制御要求を生成したりする。生成されたHTMLデータ及びクッキーは、HTTPレスポンスとして、Webサーバ410によってWebブラウザ420の通信部421へ送信される。一方で、制御要求については、SOAPリクエストとして、Webアプリケーション411によってサービスプロバイダ430の通信部431へ送信される。
【0032】
セッション情報管理部412は、サーバ102とMFP101との間で確立されたセッションに関する情報を管理する。例えば、セッション情報管理部412は、Webアプリケーション411からの要求に従って、管理しているクッキーを保存したり削除したりする。
【0033】
<情報処理システム100における処理の流れ>
これまでに、本実施形態におけるシステム構成の概要について説明してきた。以下では、本実施形態における情報処理システム100において実行される処理の流れについて説明する。図6は、本実施形態に係る情報処理システム100における処理で発生する画面遷移の一例を示す図である。図6に示すログイン画面610、メニュー画面620、及び操作画面630は何れも、サーバ102のWebアプリケーション411によって生成された画面情報(HTMLデータ)を、Webブラウザ420が処理して操作部219の液晶表示部に表示する画面の一例である。
【0034】
ログイン画面610は、フォーム認証用の画面の一例であり、ユーザIDを入力するためのユーザIDフィールド611、パスワードを入力するためのパスワードフィールド612、及びログインボタン613を含んでいる。ユーザは、ログイン画面610を介してユーザID及びパスワードを認証情報として入力できる。ログインボタン613は、Webブラウザ420からWebアプリケーション411へ送信したユーザID及びパスワードに基づいた認証を、Webアプリケーション411に対して要求するためのボタンである。
【0035】
ログイン画面610を介して入力された認証情報は、ログインボタン613の押下に応じてWebブラウザ420からWebアプリケーション411へ送信され、Webアプリケーション411において実行される認証処理に用いられる。Webブラウザ420は、ログインボタン613が押下され、かつ、Webアプリケーション411による認証に成功した場合に、Webアプリケーション411から送信される情報に基づいて、ログイン画面610からメニュー画面620へ画面を遷移させる。
【0036】
メニュー画面620は、MFP101が備える何れの機能を利用するのかを、ユーザに選択させるための画面である。メニュー画面620は、各種の機能ボタン621及びログアウトボタン622を含む。Webブラウザ420は、何れかの機能ボタン621が押下されると、選択された機能に対応した操作画面に遷移する。また、ログアウトボタン622が押下されると、Webブラウザ420は、メニュー画面620からログイン画面610へ画面を遷移させる。
【0037】
操作画面630は、メニュー画面620で「スキャン送信」が選択された場合に、スキャン送信機能を利用するための操作画面である。操作画面630は、ファイル名及びファイルフォーマットの指定欄631、632、実行ボタン634、戻るボタン634、並びにログアウトボタン635を含む。Webブラウザ420は、実行ボタンが押下されると、スキャナで原稿を読み取って画像ファイルを生成し、生成した画像データをFTPサーバへ送信する。また、Webブラウザ420は、戻るボタン633が押下された場合には、メニュー画面620へ画面を遷移させ、ログアウトボタン635が押下された場合には、ログイン画面610へ画面を遷移させる。
【0038】
図7は、本実施形態に係る情報処理システム100における処理の流れを示したシーケンス図である。
まず、S701で、Webブラウザ420は、メニュー画面620を要求するHTTPリクエストを、Webサーバ410(サーバ102)へ送信する。図8Aの801は、S701において送信されるHTTPリクエストの一例である。この例では、Webブラウザ420は、ホスト名“192.168.0.102”が示すWebサーバ410(サーバ102)に対して、パス名“menu”が示すメニュー画面をGETメソッドで要求している。なお、図8Aの801に示すように、当該HTTPリクエストには、セッションIDであるクッキーが設定されていないものとする。
【0039】
S702で、Webアプリケーション411は、メニュー画面620を要求する最初のHTTPリクエストを受信すると、ログイン画面610のHTMLデータを含むHTTPレスポンスを、応答としてWebブラウザ420へ送信する。まず、S702で、Webアプリケーション411は、当該HTTPリクエストに、クッキーが付加されているか否かを判定する。Webアプリケーション411は、当該HTTPリクエストにクッキーが付加されていないと判定すると、Webブラウザ420に対して、認証のための認証情報を要求する。
【0040】
ここで、図8Aの801に示したように、Webブラウザ420からの最初のHTTPリクエストには、クッキーが設定されていない。そのため、Webアプリケーション411は、Webブラウザ420に対して認証情報を要求するために、ログイン画面610のHTMLデータを、HTTPリクエストに対する応答としてWebブラウザ420へ送信する。図8Aの802は、S702において送信されるHTTPレスポンスの一例であり、当該HTTPレスポンスは、例えばログイン画面610を表すHTMLデータを含んでいる。この例は、ログイン画面610によって、ユーザID“userId”及びパスワード“passwd”を入力するフォームが提供されることを表している。また、ログイン画面610において、ログインボタン“loginButton”が押下されると、パス名“login”が示すログイン画面について、ユーザID“userId”及びパスワード“passwd”をPOSTメソッドで送信すべきことを表している。
【0041】
S703で、Webブラウザ420は、Webアプリケーション411からのログイン画面610を用いた認証情報の要求に応じて、ログインを要求するための、認証情報を含むHTTPリクエストをWebアプリケーション411へ送信する。図8Aの803は、S703において送信されるHTTPリクエストの一例である。この例では、ログイン画面610のユーザIDフィールドに“user001”、パスワードフィールドに“password”がそれぞれ認証情報として入力されて、かつ、ログインボタンが押下されたことを表している。
【0042】
S704で、Webアプリケーション411は、Webブラウザ420から受信した認証情報に基づいて認証処理を行う。Webアプリケーション411は、認証に成功すると、Webブラウザ420との通信に用いるクッキー(セッションID)を生成する。さらに、Webアプリケーション411は、生成したクッキーを、HTTPレスポンスに付加(例えば、HTTPヘッダに設定)して、当該HTTPレスポンスを、S703のHTTPリクエストに対する応答として、Webブラウザ420へ送信する。これにより、Webアプリケーション411は、Webブラウザ420に対して、Webブラウザ420がWebアプリケーション411に送信する次回以降のHTTPリクエストには、当該クッキーを使用すべきことを指定している。ここで、図8Bの804は、S704において送信されるHTTPレスポンスの一例である。この例では、HTTPヘッダにクッキー“sid=84721340”が付加されている。
【0043】
S705で、Webブラウザ420は、操作画面630を要求するHTTPリクエストを、Webアプリケーション411へ送信する。図8Bの805は、S705において送信されるHTTPリクエストの一例である。この例では、Webブラウザ420は、パス名“ftp”が示す操作画面を、GETメソッドで要求している。このとき、Webブラウザ420は、S704でWebアプリケーション411から受信した応答に含まれるクッキー指定に従って、送信するHTTPリクエストのHTTPヘッダにクッキー“sid=84721340”を設定している。
【0044】
S706で、Webアプリケーション411は、操作画面630のHTTPデータを含むHTTPレスポンスを、応答としてWebブラウザ420へ送信する。図8Bの806は、S706において送信されるHTTPレスポンスの一例であり、例えば操作画面630を表すHTMLデータを含んでいる。このとき、Webアプリケーション411は、Webブラウザ420からのHTTPリクエストに、クッキーが設定されていることを判断した結果として、操作画面630のHTTPデータを応答として送信する。当該HTTPリクエストにクッキーが設定されていない場合には、Webアプリケーション411は、S702と同様に、ログイン画面610のHTTPデータを応答として送信することになる。
【0045】
Webブラウザ420は、S706でWebアプリケーション411から受信したHTTPデータ(画面情報)を用いて、操作部219の液晶表示部に操作画面630を表示するとともに、当該操作画面630を介したユーザの操作を受け付ける。S707で、Webブラウザ420は、操作画面630を介したユーザの操作内容を、Webアプリケーション411へ送信する。即ち、Webブラウザ420は、当該操作内容を送信することによって、MFP101が備えるデバイスの制御を要求するHTTPリクエストを、Webアプリケーション411へ送信する。このHTTPリクエストは、ユーザが操作画面630を介して実行ボタン634を押下したことに応じて送信される。
【0046】
Webアプリケーション411は、当該HTTPリクエストの受信に応じて、S708で、MFP101が備えるデバイスの制御を要求するSOAPリクエスト(デバイス制御要求)を、MFP101のサービスプロバイダ430へ送信する。これにより、Webアプリケーション411は、Webブラウザ420から受信した、操作画面630の操作内容に対応するジョブ(サービス)を実行させるための指示を、SOAPリクエストとしてサービスプロバイダ430に送信する。
【0047】
さらに、S708で、Webアプリケーション411は、サービスプロバイダ430からWebアプリケーション411への通信に用いるクッキーとして、S704で生成したクッキーを使用すべきことをサービスプロバイダ430に対して指定する。具体的には、Webアプリケーション411は、サービスプロバイダ430がジョブの実行結果を示す完了情報をWebアプリケーション411に送信する際に使用すべきクッキーとして、S704で生成したクッキーをサービスプロバイダ430に指定する。本実施形態では、Webアプリケーション411は、S704で生成したクッキーを、S708で送信するSOAPリクエストに付加することによって、当該指定処理を実行する。
【0048】
図8Cの807は、S708において送信されるSOAPリクエストの一例である。この例では、Webアプリケーション411は、ホスト名“192.168.0.101”が示すMFP101に対して、POSTメソッドでサービスの実行を要求している。具体的には、Webアプリケーション411は、サービスプロバイダ430に対して、原稿をスキャンして得たデータをPDFファイルに変換した後、当該PDFファイルをFTPサーバへ送信するジョブの実行を指示している。
【0049】
サービスプロバイダ430は、S708におけるSOAPリクエストを受信すると、当該リクエストに対応する処理を実行するためのジョブを生成する。図8Cの807では、スキャン設定には、解像度300×300及びフルカラーが、文書設定にはPDFフォーマットが、FTP設定にはホストアドレス“192.168.0.103“及びファイル名“test.pdf”が、それぞれ設定されている。サービスプロバイダ430は、これらの設定に従った処理を実行するためのジョブを生成し、生成したジョブを実行する。また、図8Cの807では、ジョブの実行が完了した際に、パス名“ftp”が示す操作画面について、ジョブ結果を通知すべきこと、及び当該通知の際には、クッキー“sid=84721340”を使用すべきことが、指定されている。ここで、Webアプリケーション411が指定するクッキーは、S704で指定したクッキーと同一である。
【0050】
S709で、MFP101のサービスプロバイダ430は、S708で受け付けたSOAPリクエスト(デバイス制御要求)に対して応答するためのSOAPレスポンスを、サーバ102のWebアプリケーション411に送信するこれに応じて、S710で、Webアプリケーション411は、S707のリクエストへのレスポンスとして操作画面630のHTMLデータを送信する。その後、サービスプロバイダ430が、S708で受け付けたSOAPリクエストに従って生成したジョブの実行を完了すると、処理がS711へ進む。
【0051】
S711で、サービスプロバイダ430は、SOAPリクエスト(デバイス制御要求)に応じたジョブの実行結果を示す完了情報を通知するためのHTTPリクエストを、Webアプリケーション411へ送信する。また、当該HTTPリクエストには、S708で指定されたクッキーを付加する。図8Cの808は、S711において送信されるHTTPリクエストの一例である。この例では、ジョブが正常に終了したことを示すHTTPリクエストにクッキー“sid=84721340”を設定している。さらに、当該HTTPリクエストを、ホスト名“192.168.0.102”が示すWebサーバ410に対して、パス名“ftp”が示す操作画面についてのPOSTメソッドで通知している。図8Cの807を用いて説明したように、当該HTTPリクエストに含まれる処理結果の通知先及びクッキーは、S708で受け付けたSOAPリクエストで指定された情報に従って設定されている。
【0052】
S712で、Webアプリケーション411は、受信した処理結果通知への応答として、HTTPレスポンスをサービスプロバイダ430へ送信する。なお、Webアプリケーション411は、S711で受信したHTTPリクエスト(完了情報の通知)にクッキーが付加されていなかった場合には、ログイン画面610のHTMLデータをHTTPレスポンスとして送信する。
【0053】
S713で、Webブラウザ420は、操作画面630のログアウトボタン635が押下されると、ログアウトを要求するHTTPリクエストをWebアプリケーション411へ送信する。これに応じて、S714で、Webアプリケーション411は、ログイン画面610を表すHTMLデータを含むHTTPレスポンスを、Webブラウザ420へ送信する。S713以降(ログアウト後)では、Webブラウザ420が、これまで使用したクッキー(S704で取得したクッキー)を設定してHTTPリクエストを送信したとしても、Webアプリケーション411は、それを無効なクッキーと判断する。
【0054】
このように、本実施形態では、Webアプリケーション411(サーバ102)とWebブラウザ420とのセッション(通信)、及びWebアプリケーション411とサービスプロバイダ430とのセッションに、同一のクッキーを使用する制御を行う。これにより、Webブラウザ420がサーバ102の要求に応じてフォーム認証を実行した後、サーバ102からSOAPリクエストによって制御の実行を要求された場合に、サービスプロバイダ430が再度、サーバ102から認証を要求されることがなくなる。
【0055】
<サーバ102における処理手順>
次に、図9〜図12に示すフローチャートを用いて、サーバ102のWebアプリケーション411と、MFP101のサービスプロバイダ430及びWebブラウザ420とによって実行される処理の手順について、それぞれ説明する。
【0056】
図9は、サーバ102のWebアプリケーション411で実行される処理の手順を示すフローチャートである。Webアプリケーション411は、何らかの画面情報を要求するHTTPリクエスト等のHTTPリクエストを(Webブラウザ420又はサービスプロバイダ430から)受信すると、S901以下の処理の実行を開始する。S901で、Webアプリケーション411は、受信したHTTPリクエストのHTTPヘッダにクッキーが設定(付加)されているか判定する。ここで、Webアプリケーション411は、クッキーが設定されていると判定した場合にはS902へ処理を進める一方で、クッキーが設定されていないと判定した場合にはS903へ処理を進める。例えば、Webブラウザ420からWebアプリケーション411への初回のリクエスト時には、HTTPリクエストにクッキーが設定されていない。この場合には、S901からS903へ処理を進めることになる。
【0057】
S902で、Webアプリケーション411は、HTTPリクエストで取得したクッキーを、セッション情報管理部412に保存しているか否かを判定する。Webアプリケーション411は、取得したクッキーを保存していないと判定した場合には、当該クッキーは無効であると判断し、S903へ処理を進める。
【0058】
S903で、Webアプリケーション411は、HTTPリクエストによる要求内容を判別する。ここで、Webアプリケーション411は、メニュー画面620の取得が要求されていると判別した場合には、HTTPリクエストにクッキーが付加されてなかったことを理由として、S955に処理へ進める。S955では、Webアプリケーション411は、HTTPリクエストの送信元に認証情報を要求するために、ログイン画面610のHTMLデータを含むHTTPレスポンスを応答として送信し、処理を終了する。なお、ログイン画面610のURLに対するリダイレクトを送信して処理を終了してもよい。一方で、S903で、Webアプリケーション411は、ログインが要求されていると判別した場合は、S904〜S907の認証処理へ進む。
【0059】
S904で、Webアプリケーション411は、HTTPリクエスト(ログイン要求)に含まれる認証情報(ユーザID及びパスワード)を認証情報リポジトリと照合する。S905で、Webアプリケーション411は、S904における照合結果に基づいて、認証に成功したか否かを判定し、成功したと判定した場合にはS906へ処理を進める一方で、失敗したと判定した場合にはS955へ処理を進める。S955では、Webアプリケーション411は、ログイン画面610のHTMLデータを含むHTTPレスポンスを応答として送信し、処理を終了する。
【0060】
一方で、S906では、Webアプリケーション411は、クッキーを生成して、それをセッション情報管理部412へ保存する。ここで生成されたクッキーは、図7を用いて説明したように、それ以降の一連のセッション(通信)に用いられる。次にS907で、Webアプリケーション411は、メニュー画面620のHTMLデータを含むHTTPレスポンスを生成し、それを応答として送信する。図8Bの804に示したように、このHTTPレスポンスは、S906で生成されたクッキーが設定された状態で、Webブラウザ420へ送られる。
【0061】
次に、S913以下の処理について説明する。上述のように、ログイン画面(認証画面)610を用いた認証に成功すると、Webブラウザ420は、セッション情報としてクッキーを設定したHTTPリクエストをWebアプリケーション411へ送信する。この場合、図9においてはS901、S902、S913の順に処理が進むことになる。S913で、Webアプリケーション411は、HTTPリクエストによる要求内容を判別する。ここでは、当該要求内容は、メニュー画面620の取得、操作画面630の取得、デバイス制御に関する要求、ジョブの実行結果を示す処理結果通知、及びログアウト要求のうちの何れかである。Webアプリケーション411は、当該要求内容が、メニュー画面620の取得、操作画面630の取得、デバイス制御、処理結果通知、又はログアウト要求であると判別すると、それぞれS914、S924、S934、S944、又はS954へ処理を進める。
【0062】
S914では、Webアプリケーション411は、メニュー画面620のHTMLデータを含むHTTPレスポンスを、応答としてWebブラウザ420へ送信して、処理を終了する。S924では、Webアプリケーション411は、操作画面630のHTMLデータを含むHTTPレスポンスを、応答としてWebブラウザ420へ送信して、処理を終了する。S934では、Webアプリケーション411は、デバイス制御を要求するためのSOAPリクエストをサービスプロバイダ430へ送信し、上述のS924へ処理を進める。なお、当該SOAPリクエストには、上述のように、Webアプリケーション411とWebブラウザ420との間のセッションで用いたクッキーが付加される。
【0063】
S944では、Webアプリケーション411は、ジョブの実行結果の通知成功について応答するためのHTTPレスポンスを、Webブラウザ420へ送信し、処理を終了する。S954では、Webアプリケーション411は、HTTPリクエストで取得したクッキーをセッション情報管理部412から削除する。さらに、S955で、Webアプリケーション411は、ログイン画面610のHTMLデータを含むHTTPレスポンスを、応答としてWebブラウザ420へ送信して処理を終了する。
【0064】
Webブラウザ420は、ログアウト後にサーバ102(Webアプリケーション411)に送信するHTTPリクエストにも、それまで使用していたクッキーと同一のクッキーを設定可能である。しかし、その場合には、セッション情報管理部412には当該クッキーが保存されてないために、図9においてはS901、S902、S903、S955の順に処理が進むことになる。その結果、Webアプリケーション411は、当該HTTPリクエストに設定されたクッキーを無効であると判断して、ログイン画面610のHTMLデータを含む応答を、Webブラウザ420へ送信することになる。
【0065】
<MFP101における処理手順>
図10及び図11は、MFP101のサービスプロバイダ430によって実行される処理の手順を示すフローチャートである。サービスプロバイダ430は、通信部431によって、デバイス制御要求であるSOAPリクエストをサーバ102のWebアプリケーション411から受信すると、図10におけるS1001以下の処理の実行を開始する。まずS1001で、サービスプロバイダ430は、解析部432により、SOAPリクエストによる要求内容を解析する。次にS1002で、サービスプロバイダ430は、ジョブ制御部433により、S1001の解析結果に基づいて、ジョブの実行が完了した際に、ジョブの実行結果を通知する通知先のドメイン名及びクッキーを、セッション情報管理部434に保存する。
【0066】
次に、S1003で、サービスプロバイダ430は、ジョブ制御部433により、S1001の解析結果に基づいて、デバイス制御を行うためのジョブを生成するとともに、当該ジョブの実行を開始する。さらに、S1004で、サービスプロバイダ430は、デバイス制御要求を受け付けたことを示すSOAPレスポンスを、応答として通信部431により送信した後、処理を終了する。
【0067】
その後、サービスプロバイダ430が、制御対象のデバイスから、ジョブの実行の完了を示すジョブ完了イベントを受信すると、図11におけるS1101以下の処理の実行を開始する。ここで、ジョブ完了イベントは、図10を用いて説明したジョブに含まれる処理の実行が完了すると、制御対象のデバイスからジョブ制御部433に対して通知されるイベントである。
【0068】
まずS1101で、サービスプロバイダ430は、ジョブ制御部433により、ジョブの実行結果を示す完了情報として、要求されたデバイス制御が完了したことを示す処理完了情報を生成する。ここで、処理完了情報には、受信したジョブ完了イベントに応じた、正常終了、キャンセル終了、エラー終了等を示す情報が含まれる。次にS1102で、サービスプロバイダ430は、ジョブ制御部433により、処理完了情報の通知先のドメイン名に対応するクッキーを、セッション情報管理部434から取得する。さらに、S1103で、サービスプロバイダ430は、通信部431により、処理完了情報及びクッキーを設定したHTTPレスポンスを、(通知先のドメイン名に対応する)Webアプリケーション411へ送信して、処理を終了する。
【0069】
次に、図12は、MFP101のWebブラウザ420によって実行される処理の手順を示すフローチャートである。Webブラウザ420は、通信部421によってHTTPレスポンスを受信すると、S1201以下の処理の実行を開始する。S1201で、Webブラウザ420は、解析部422により、クッキーを設定すべき指示がHTTPレスポンスに含まれているか否かを判定する。ここで、Webブラウザ420は、クッキー設定が指示されていると判定した場合、S1202へ処理を進め、指示されていないと判定した場合、処理を終了する。S1202で、Webブラウザ420は、セッション情報管理部424により、HTTPリクエストを送信した際の送信先のホスト名とS1201で解析したクッキーとを保存して、処理を終了する。
【0070】
以上説明したように、本実施形態に係る情報処理システムでは、サーバ102(Webアプリケーション411)は、MFP101のWebブラウザ420からの認証情報を用いた認証に成功すると、セッションID(クッキー)を生成する。さらに、サーバ102は、Webブラウザ420からの要求に応じて画面情報を送信する際には、生成したセッションIDを付加する。Webブラウザ420は、サーバ102から受信した画面情報に基づいて操作画面を表示して、当該操作画面を介した操作を受け付ける。Webブラウザ420が、表示した操作画面を介した操作内容をサーバ102に送信すると、サーバ102は、当該操作内容に対応するジョブを実行させるためのSOAPリクエストを、MFP101のサービスプロバイダ430に送信する。その際に、サービスプロバイダ430からサーバ102へその後に情報を送信する際に使用すべきセッションIDを指定する。当該指定は、例えば、SOAPリクエストにセッションIDを付加することによって行われる。サービスプロバイダ430は、SOAPリクエストに応じたジョブの実行を完了すると、当該実行結果を示す完了情報に、指定されたセッションIDを付加して、当該完了情報をサーバ102へ送信する。
【0071】
このように、サーバ102は、MFP101のWebブラウザ420との通信のために認証処理に基づき生成したセッションIDを、サービスプロバイダ430とサーバ102との通信にも使用できるよう、サービスプロバイダ430に通知(指定)する。これにより、MFP101は、サーバ102からのSOAPリクエスト(指示)に応じて実行したジョブの実行結果を示す完了情報をサーバ102に通知する際に、さらなる認証処理をサーバ102から必要とされることなく、当該通知を実行できる。
【0072】
[第2の実施形態]
次に、本発明に係る第2の実施形態について説明する。第1の実施形態では、MFP101のサービスプロバイダ430は、S708でサーバ102(Webアプリケーション411)から指定されたセッションID(クッキー)を用いて、サーバ102からの指示に応じたジョブの実行結果をサーバ102に送信する。これに対して、第2の実施形態では、サーバ102は、MFP101のサービスプロバイダ430に対して、第1の実施形態のように、セッションIDを指定することがない。その代わりに、サービスプロバイダ430は、MFP101のWebブラウザ420とサーバ102との間で既に使用されているセッションIDを参照し、かつ、それを使用してジョブの実行結果をサーバ102に送信することを特徴としている。なお、以下では、第1の実施形態と異なる部分を中心として説明する。
【0073】
図13は、第2の実施形態に係る情報処理システム100のソフトウェア構成を示す図である。図13に示す各機能部は、第1の実施形態の図4と同様、MFP101のCPU211、及びサーバ102のCPU311が、それぞれ制御プログラムを実行することによって実現される。第1の実施形態との相違点は、MFP101におけるセッション情報管理部の配置にある。第1の実施形態(図4)では、Webブラウザ420がセッション情報管理部424を、サービスプロバイダ430がセッション情報管理部434を、それぞれ有している。これに対して、本実施形態では、MFP101に、Webブラウザ420及びサービスプロバイダ430に対して共通のセッション情報管理部440が設けられている。
【0074】
セッション情報管理部440は、サーバ102とWebブラウザ420との間の通信で用いられるセッションID等のセッション情報を管理するとともに、サーバ102とサービスプロバイダ430との間の通信で用いられるセッション情報も管理する。Webブラウザ420及びサービスプロバイダ430は、それぞれ、共通のセッション情報管理部440に対して、セッション情報のWebブラウザ420及びサービスプロバイダ430は、共通のセッション情報管理部440に対して、セッション情報の保存、取得、及び削除を指示可能である。
【0075】
本実施形態では、第1の実施形態のS708で行ったように、Webアプリケーション411からサービスプロバイダ430へのSOAPリクエストの送信の際に、Webアプリケーション411は、クッキーを指定しない。サービスプロバイダ430は、SOAPリクエストに応じたジョブの実行が完了すると、当該ジョブの実行結果を示す完了情報に付加するクッキーとして、セッション情報管理部440から取得したクッキーを使用する。当該クッキーは、S704でWebアプリケーション411によって生成され、かつ、Webブラウザ420に送信されたクッキーに相当する。セッション情報管理部440は、S704で、Webアプリケーション411から受信したクッキーを管理(保存)している。
【0076】
以上のように、本実施形態では、MFP101は、サーバ102(Webアプリケーション411)からWebブラウザ420によって受信したセッションID(クッキー)を、MFP101側において、サービスプロバイダ430でも共用する。具体的には、サーバ102からのSOAPリクエストに対応するジョブの実行結果をサーバ102に通知する際に、Webブラウザ420で受信され、かつ、セッション情報管理部440に保存されているクッキーを、当該通知に付加してサーバ102に送信する。これにより、サーバ102からMFP101のサービスプロバイダ430に対して、使用すべきクッキーを指定する処理を必要とすることなく、第1の実施形態と同等の効果を得ることが可能である。
【0077】
[その他の実施形態]
上述の実施形態では、Webサーバ410はフォーム認証を提供しているが、本発明はこれに限定されない。例えば、Webサーバ410がフォーム認証以外のHTTP認証を提供している場合には、Webサーバ410はクッキー以外の所定のHTTPヘッダに、セッション情報を設定するようサービスプロバイダ430に指示してもよい。この場合、サービスプロバイダ430は、Webサーバ410からの指示に従ってHTTPヘッダを設定して、Webサーバ410へHTTPリクエストを行えばよい。
【0078】
上述の実施形態では、Webサーバ410からサービスプロバイダ430へ、SOAPリクエストを送信することでデバイス制御及びセッション情報の指定を行っていたが、サービスプロバイダ430の利用形態はこれに限定されない。例えば、Webアプリケーション411が応答として送信するHTTPレスポンスを使用して、デバイス制御及びセッション情報の指定を行うことで、サービスプロバイダ430を制御してもよい。さらに、Java(登録商標)Scriptによってデバイス制御及びセッション情報の指定を行うことで、Webサーバ410は、Webブラウザ420からは非同期に、サービスプロバイダ430を制御してもよい。
【0079】
上述の実施形態では、Webアプリケーション411はWebブラウザ420からログアウト要求を受けると、セッション情報を削除していた。しかし、Webアプリケーション411は、サービスプロバイダ430からジョブ完了通知を受けた後に、セッション情報を削除してもよい。
【0080】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
【特許請求の範囲】
【請求項1】
サーバ装置と、当該サーバ装置と通信可能な情報処理装置であって、前記サーバ装置によって提供される画面情報を用いて操作画面を表示部に表示する制御を行う表示制御部、及び前記サーバ装置からの指示に応じたジョブを実行する制御を行う実行制御部を含む情報処理装置と、を備える情報処理システムであって、
前記サーバ装置は、
前記表示制御部から受信した認証情報を用いた認証に成功すると、当該表示制御部との間の通信に用いるセッション識別子を生成する生成手段と、
前記生成手段によって生成された前記セッション識別子を前記画面情報に付加して、当該画面情報を前記表示制御部に送信する手段と、
前記画面情報に基づく前記操作画面を介した操作内容を前記表示制御部から受信すると、当該操作内容に対応するジョブを実行させるための指示を前記実行制御部に送信する手段と、
前記生成手段によって生成された前記セッション識別子を、前記実行制御部から前記サーバ装置への通信に用いるセッション識別子として前記実行制御部に指定する指定手段と、
前記指示に応じたジョブの実行結果を示す完了情報を、前記実行制御部から受信する受信手段と、
を備え、
前記情報処理装置の前記表示制御部は、
前記サーバ装置から受信した前記画面情報を用いて、前記表示部に前記操作画面を表示する手段と、
前記操作画面を介した前記操作内容を前記サーバ装置に送信する手段と、
を備え、
前記情報処理装置の前記実行制御部は、
前記サーバ装置から前記指示を受信すると、当該指示に応じたジョブを実行する実行手段と、
前記ジョブの実行が完了すると、当該ジョブの実行結果を示す完了情報に前記指定手段によって指定された前記セッション識別子を付加して、当該完了情報を前記サーバ装置に送信する手段と、
を備えることを特徴とする情報処理システム。
【請求項2】
前記指定手段は、
前記実行制御部に送信される前記指示に、前記生成手段によって生成された前記セッション識別子を付加することによって、前記実行制御部から前記サーバ装置への通信に用いるセッション識別子を指定することを特徴とする請求項1に記載の情報処理システム。
【請求項3】
サーバ装置と、当該サーバ装置と通信可能な情報処理装置であって、前記サーバ装置によって提供される画面情報を用いて操作画面を表示部に表示する制御を行う表示制御部、及び前記サーバ装置からの指示に応じたジョブを実行する制御を行う実行制御部を含む情報処理装置と、を備える情報処理システムであって、
前記サーバ装置は、
前記表示制御部から受信した認証情報を用いた認証に成功すると、当該表示制御部との間の通信に用いるセッション識別子を生成する生成手段と、
前記生成手段によって生成された前記セッション識別子を前記画面情報に付加して、当該画面情報を前記表示制御部に送信する手段と、
前記画面情報に基づく前記操作画面を介した操作内容を前記表示制御部から受信すると、当該操作内容に対応するジョブを実行させるための指示を前記実行制御部に送信する手段と、
前記指示に応じたジョブの実行結果を示す完了情報を、前記実行制御部から受信する受信手段と、
を備え、
前記情報処理装置の前記表示制御部は、
前記サーバ装置から受信した前記画面情報を用いて、前記表示部に前記操作画面を表示する手段と、
前記操作画面を介した前記操作内容を前記サーバ装置に送信する手段と、
を備え、
前記情報処理装置の前記実行制御部は、
前記サーバ装置から前記指示を受信すると、当該指示に対応するジョブを実行する手段と、
前記ジョブの実行が完了すると、当該ジョブの実行結果を示す完了情報に前記表示制御部と前記サーバ装置との間の通信で用いられたセッション識別子を付加して、当該完了情報を前記サーバ装置に送信する送信手段と、
を備えることを特徴とする情報処理システム。
【請求項4】
前記情報処理装置は、
前記サーバ装置と前記表示制御部との間の通信で用いられるセッション識別子を管理する管理手段をさらに備え、
前記送信手段は、前記表示制御部と前記サーバ装置との間の通信に用いられたセッション識別子を前記管理手段から取得して、取得したセッション識別子を前記完了情報に付加して当該完了情報を前記サーバ装置に送信すること
を特徴とする請求項3に記載の情報処理システム。
【請求項5】
前記情報処理装置の前記表示制御部は、
前記サーバ装置に前記画面情報を要求する手段と、
前記サーバ装置からの要求に応じて、前記認証情報を前記サーバ装置に送信する手段と、
をさらに備え、
前記サーバ装置は、
前記表示制御部から前記画面情報を要求を受信すると、当該要求に、前記生成手段によって既に生成されたセッション識別子が付加されているか否かを判定する手段と、
前記画面情報の要求にセッション識別子が付加されていないと判定されると、前記表示制御部に前記認証情報を要求する手段と、
前記表示制御部から前記認証情報を受信すると、当該認証情報を用いた認証を行う認証手段と、
をさらに備えることを特徴とする請求項1乃至4の何れか1項に記載の情報処理システム。
【請求項6】
前記実行手段は、
前記サーバ装置から前記指示を受信すると、前記指示に対応する処理を実行するためのジョブを生成する手段と、
前記生成されたジョブを実行する手段と、
前記生成されたジョブの実行が完了すると、当該ジョブの実行結果を示す前記完了情報を生成する手段と、
をさらに備えることを特徴とする請求項1乃至5の何れか1項に記載の情報処理システム。
【請求項7】
サーバ装置と通信可能であり、前記サーバ装置によって提供される画面情報を用いて操作画面を表示部に表示する制御を行う表示制御部、及び前記サーバ装置からの指示に応じたジョブを実行する制御を行う実行制御部を含む情報処理装置であって、
前記表示制御部は、
前記サーバ装置に対して送信した認証情報による認証が成功したことに応じて、前記表示制御部と前記サーバ装置との間の通信に用いるセッション識別子として前記サーバ装置において生成されたセッション識別子が付加された前記画面情報を受信して、当該画面情報を用いて前記表示部に前記操作画面を表示する手段と、
前記操作画面を介した操作内容を前記サーバ装置に送信する手段と、
を備え、
前記実行制御部は、
前記操作内容に対応するジョブを実行させるための指示を、前記サーバ装置から受信すると、当該指示に応じたジョブを実行する実行手段と、
前記ジョブの実行が完了すると、当該ジョブの実行結果を示す完了情報に、前記実行制御部から前記サーバ装置への通信に用いるセッション識別子として指定された、前記サーバ装置において生成された前記セッション識別子を付加して、当該完了情報を前記サーバ装置に送信する手段と、
を備えることを特徴とする情報処理装置。
【請求項8】
サーバ装置と通信可能であり、前記サーバ装置によって提供される画面情報を用いて操作画面を表示部に表示する制御を行う表示制御部、及び前記サーバ装置からの指示に応じたジョブを実行する制御を行う実行制御部を含む情報処理装置であって、
前記表示制御部は、
前記サーバ装置に対して送信した認証情報による認証が成功したことに応じて、前記表示制御部と前記サーバ装置との間の通信に用いるセッション識別子として前記サーバ装置において生成されたセッション識別子が付加された前記画面情報を受信して、当該画面情報を用いて前記表示部に前記操作画面を表示する手段と、
前記操作画面を介した操作内容を前記サーバ装置に送信する手段と、
を備え、
前記実行制御部は、
前記操作内容に対応するジョブを実行させるための指示を、前記サーバ装置から受信すると、当該指示に応じたジョブを実行する実行手段と、
前記ジョブの実行が完了すると、当該ジョブの実行結果を示す完了情報に、前記表示制御部と前記サーバ装置との間の通信で用いられたセッション識別子を付加して、当該完了情報を前記サーバ装置に送信する手段と、
を備えることを特徴とする情報処理装置。
【請求項9】
サーバ装置と、当該サーバ装置と通信可能な情報処理装置であって、前記サーバ装置によって提供される画面情報を用いて操作画面を表示部に表示する制御を行う表示制御部、及び前記サーバ装置からの指示に応じたジョブを実行する制御を行う実行制御部を含む情報処理装置と、を備える情報処理システムの制御方法であって、
前記サーバ装置が、
前記表示制御部から受信した認証情報を用いた認証に成功すると、当該表示制御部との間の通信に用いるセッション識別子を生成する生成工程と、
前記生成工程において生成された前記セッション識別子を前記画面情報に付加して、当該画面情報を前記表示制御部に送信する工程と、
前記画面情報に基づく前記操作画面を介した操作内容を前記表示制御部から受信すると、当該操作内容に対応するジョブを実行させるための指示を前記実行制御部に送信する工程と、
前記生成工程において生成された前記セッション識別子を、前記実行制御部から前記サーバ装置への通信に用いるセッション識別子として前記実行制御部に指定する指定工程と、
前記指示に応じたジョブの実行結果を示す完了情報を、前記実行制御部から受信する受信工程と、
を実行し、
前記情報処理装置の前記表示制御部が、
前記サーバ装置から受信した前記画面情報を用いて、前記表示部に前記操作画面を表示する工程と、
前記操作画面を介した前記操作内容を前記サーバ装置に送信する工程と、
を実行し、
前記情報処理装置の前記実行制御部が、
前記サーバ装置から前記指示を受信すると、当該指示に応じたジョブを実行する実行工程と、
前記ジョブの実行が完了すると、当該ジョブの実行結果を示す完了情報に前記指定工程において指定された前記セッション識別子を付加して、当該完了情報を前記サーバ装置に送信する工程と、
とを実行することを特徴とする情報処理システムの制御方法。
【請求項10】
サーバ装置と、当該サーバ装置と通信可能な情報処理装置であって、前記サーバ装置によって提供される画面情報を用いて操作画面を表示部に表示する制御を行う表示制御部、及び前記サーバ装置からの指示に応じたジョブを実行する制御を行う実行制御部を含む情報処理装置と、を備える情報処理システムの制御方法であって、
前記サーバ装置が、
前記表示制御部から受信した認証情報を用いた認証に成功すると、当該表示制御部との間の通信に用いるセッション識別子を生成する生成工程と、
前記生成工程において生成された前記セッション識別子を前記画面情報に付加して、当該画面情報を前記表示制御部に送信する工程と、
前記画面情報に基づく前記操作画面を介した操作内容を前記表示制御部から受信すると、当該操作内容に対応するジョブを実行させるための指示を前記実行制御部に送信する工程と、
前記指示に応じたジョブの実行結果を示す完了情報を、前記実行制御部から受信する受信工程と、
を実行し、
前記情報処理装置の前記表示制御部が、
前記サーバ装置から受信した前記画面情報を用いて、前記表示部に前記操作画面を表示する工程と、
前記操作画面を介した前記操作内容を前記サーバ装置に送信する工程と、
を実行し、
前記情報処理装置の前記実行制御部が、
前記サーバ装置から前記指示を受信すると、当該指示に対応するジョブを実行する工程と、
前記ジョブの実行が完了すると、当該ジョブの実行結果を示す完了情報に前記表示制御部と前記サーバ装置との間の通信で用いられたセッション識別子を付加して、当該完了情報を前記サーバ装置に送信する送信工程と、
を実行することを特徴とする情報処理システムの制御方法。
【請求項11】
サーバ装置と通信可能であり、前記サーバ装置によって提供される画面情報を用いて操作画面を表示部に表示する制御を行う表示制御部、及び前記サーバ装置からの指示に応じたジョブを実行する制御を行う実行制御部を含む情報処理装置の制御方法であって、
前記表示制御部が、
前記サーバ装置に対して送信した認証情報による認証が成功したことに応じて、前記表示制御部と前記サーバ装置との間の通信に用いるセッション識別子として前記サーバ装置において生成されたセッション識別子が付加された前記画面情報を受信して、当該画面情報を用いて前記表示部に前記操作画面を表示する工程と、
前記操作画面を介した操作内容を前記サーバ装置に送信する工程と、
を実行し、
前記実行制御部が、
前記操作内容に対応するジョブを実行させるための指示を、前記サーバ装置から受信すると、当該指示に応じたジョブを実行する工程と、
前記ジョブの実行が完了すると、当該ジョブの実行結果を示す完了情報に、前記実行制御部から前記サーバ装置への通信に用いるセッション識別子として指定された、前記サーバ装置において生成された前記セッション識別子を付加して、当該完了情報を前記サーバ装置に送信する工程と、
を実行することを特徴とする情報処理装置の制御方法。
【請求項12】
サーバ装置と通信可能であり、前記サーバ装置によって提供される画面情報を用いて操作画面を表示部に表示する制御を行う表示制御部、及び前記サーバ装置からの指示に応じたジョブを実行する制御を行う実行制御部を含む情報処理装置の制御方法であって、
前記表示制御部が、
前記サーバ装置に対して送信した認証情報による認証が成功したことに応じて、前記表示制御部と前記サーバ装置との間の通信に用いるセッション識別子として前記サーバ装置において生成されたセッション識別子が付加された前記画面情報を受信して、当該画面情報を用いて前記表示部に前記操作画面を表示する工程と、
前記操作画面を介した操作内容を前記サーバ装置に送信する工程と、
を実行し、
前記実行制御部が、
前記操作内容に対応するジョブを実行させるための指示を、前記サーバ装置から受信すると、当該指示に応じたジョブを実行する工程と、
前記ジョブの実行が完了すると、当該ジョブの実行結果を示す完了情報に、前記表示制御部と前記サーバ装置との間の通信で用いられたセッション識別子を付加して、当該完了情報を前記サーバ装置に送信する工程と、
を実行することを特徴とする情報処理装置の制御方法。
【請求項1】
サーバ装置と、当該サーバ装置と通信可能な情報処理装置であって、前記サーバ装置によって提供される画面情報を用いて操作画面を表示部に表示する制御を行う表示制御部、及び前記サーバ装置からの指示に応じたジョブを実行する制御を行う実行制御部を含む情報処理装置と、を備える情報処理システムであって、
前記サーバ装置は、
前記表示制御部から受信した認証情報を用いた認証に成功すると、当該表示制御部との間の通信に用いるセッション識別子を生成する生成手段と、
前記生成手段によって生成された前記セッション識別子を前記画面情報に付加して、当該画面情報を前記表示制御部に送信する手段と、
前記画面情報に基づく前記操作画面を介した操作内容を前記表示制御部から受信すると、当該操作内容に対応するジョブを実行させるための指示を前記実行制御部に送信する手段と、
前記生成手段によって生成された前記セッション識別子を、前記実行制御部から前記サーバ装置への通信に用いるセッション識別子として前記実行制御部に指定する指定手段と、
前記指示に応じたジョブの実行結果を示す完了情報を、前記実行制御部から受信する受信手段と、
を備え、
前記情報処理装置の前記表示制御部は、
前記サーバ装置から受信した前記画面情報を用いて、前記表示部に前記操作画面を表示する手段と、
前記操作画面を介した前記操作内容を前記サーバ装置に送信する手段と、
を備え、
前記情報処理装置の前記実行制御部は、
前記サーバ装置から前記指示を受信すると、当該指示に応じたジョブを実行する実行手段と、
前記ジョブの実行が完了すると、当該ジョブの実行結果を示す完了情報に前記指定手段によって指定された前記セッション識別子を付加して、当該完了情報を前記サーバ装置に送信する手段と、
を備えることを特徴とする情報処理システム。
【請求項2】
前記指定手段は、
前記実行制御部に送信される前記指示に、前記生成手段によって生成された前記セッション識別子を付加することによって、前記実行制御部から前記サーバ装置への通信に用いるセッション識別子を指定することを特徴とする請求項1に記載の情報処理システム。
【請求項3】
サーバ装置と、当該サーバ装置と通信可能な情報処理装置であって、前記サーバ装置によって提供される画面情報を用いて操作画面を表示部に表示する制御を行う表示制御部、及び前記サーバ装置からの指示に応じたジョブを実行する制御を行う実行制御部を含む情報処理装置と、を備える情報処理システムであって、
前記サーバ装置は、
前記表示制御部から受信した認証情報を用いた認証に成功すると、当該表示制御部との間の通信に用いるセッション識別子を生成する生成手段と、
前記生成手段によって生成された前記セッション識別子を前記画面情報に付加して、当該画面情報を前記表示制御部に送信する手段と、
前記画面情報に基づく前記操作画面を介した操作内容を前記表示制御部から受信すると、当該操作内容に対応するジョブを実行させるための指示を前記実行制御部に送信する手段と、
前記指示に応じたジョブの実行結果を示す完了情報を、前記実行制御部から受信する受信手段と、
を備え、
前記情報処理装置の前記表示制御部は、
前記サーバ装置から受信した前記画面情報を用いて、前記表示部に前記操作画面を表示する手段と、
前記操作画面を介した前記操作内容を前記サーバ装置に送信する手段と、
を備え、
前記情報処理装置の前記実行制御部は、
前記サーバ装置から前記指示を受信すると、当該指示に対応するジョブを実行する手段と、
前記ジョブの実行が完了すると、当該ジョブの実行結果を示す完了情報に前記表示制御部と前記サーバ装置との間の通信で用いられたセッション識別子を付加して、当該完了情報を前記サーバ装置に送信する送信手段と、
を備えることを特徴とする情報処理システム。
【請求項4】
前記情報処理装置は、
前記サーバ装置と前記表示制御部との間の通信で用いられるセッション識別子を管理する管理手段をさらに備え、
前記送信手段は、前記表示制御部と前記サーバ装置との間の通信に用いられたセッション識別子を前記管理手段から取得して、取得したセッション識別子を前記完了情報に付加して当該完了情報を前記サーバ装置に送信すること
を特徴とする請求項3に記載の情報処理システム。
【請求項5】
前記情報処理装置の前記表示制御部は、
前記サーバ装置に前記画面情報を要求する手段と、
前記サーバ装置からの要求に応じて、前記認証情報を前記サーバ装置に送信する手段と、
をさらに備え、
前記サーバ装置は、
前記表示制御部から前記画面情報を要求を受信すると、当該要求に、前記生成手段によって既に生成されたセッション識別子が付加されているか否かを判定する手段と、
前記画面情報の要求にセッション識別子が付加されていないと判定されると、前記表示制御部に前記認証情報を要求する手段と、
前記表示制御部から前記認証情報を受信すると、当該認証情報を用いた認証を行う認証手段と、
をさらに備えることを特徴とする請求項1乃至4の何れか1項に記載の情報処理システム。
【請求項6】
前記実行手段は、
前記サーバ装置から前記指示を受信すると、前記指示に対応する処理を実行するためのジョブを生成する手段と、
前記生成されたジョブを実行する手段と、
前記生成されたジョブの実行が完了すると、当該ジョブの実行結果を示す前記完了情報を生成する手段と、
をさらに備えることを特徴とする請求項1乃至5の何れか1項に記載の情報処理システム。
【請求項7】
サーバ装置と通信可能であり、前記サーバ装置によって提供される画面情報を用いて操作画面を表示部に表示する制御を行う表示制御部、及び前記サーバ装置からの指示に応じたジョブを実行する制御を行う実行制御部を含む情報処理装置であって、
前記表示制御部は、
前記サーバ装置に対して送信した認証情報による認証が成功したことに応じて、前記表示制御部と前記サーバ装置との間の通信に用いるセッション識別子として前記サーバ装置において生成されたセッション識別子が付加された前記画面情報を受信して、当該画面情報を用いて前記表示部に前記操作画面を表示する手段と、
前記操作画面を介した操作内容を前記サーバ装置に送信する手段と、
を備え、
前記実行制御部は、
前記操作内容に対応するジョブを実行させるための指示を、前記サーバ装置から受信すると、当該指示に応じたジョブを実行する実行手段と、
前記ジョブの実行が完了すると、当該ジョブの実行結果を示す完了情報に、前記実行制御部から前記サーバ装置への通信に用いるセッション識別子として指定された、前記サーバ装置において生成された前記セッション識別子を付加して、当該完了情報を前記サーバ装置に送信する手段と、
を備えることを特徴とする情報処理装置。
【請求項8】
サーバ装置と通信可能であり、前記サーバ装置によって提供される画面情報を用いて操作画面を表示部に表示する制御を行う表示制御部、及び前記サーバ装置からの指示に応じたジョブを実行する制御を行う実行制御部を含む情報処理装置であって、
前記表示制御部は、
前記サーバ装置に対して送信した認証情報による認証が成功したことに応じて、前記表示制御部と前記サーバ装置との間の通信に用いるセッション識別子として前記サーバ装置において生成されたセッション識別子が付加された前記画面情報を受信して、当該画面情報を用いて前記表示部に前記操作画面を表示する手段と、
前記操作画面を介した操作内容を前記サーバ装置に送信する手段と、
を備え、
前記実行制御部は、
前記操作内容に対応するジョブを実行させるための指示を、前記サーバ装置から受信すると、当該指示に応じたジョブを実行する実行手段と、
前記ジョブの実行が完了すると、当該ジョブの実行結果を示す完了情報に、前記表示制御部と前記サーバ装置との間の通信で用いられたセッション識別子を付加して、当該完了情報を前記サーバ装置に送信する手段と、
を備えることを特徴とする情報処理装置。
【請求項9】
サーバ装置と、当該サーバ装置と通信可能な情報処理装置であって、前記サーバ装置によって提供される画面情報を用いて操作画面を表示部に表示する制御を行う表示制御部、及び前記サーバ装置からの指示に応じたジョブを実行する制御を行う実行制御部を含む情報処理装置と、を備える情報処理システムの制御方法であって、
前記サーバ装置が、
前記表示制御部から受信した認証情報を用いた認証に成功すると、当該表示制御部との間の通信に用いるセッション識別子を生成する生成工程と、
前記生成工程において生成された前記セッション識別子を前記画面情報に付加して、当該画面情報を前記表示制御部に送信する工程と、
前記画面情報に基づく前記操作画面を介した操作内容を前記表示制御部から受信すると、当該操作内容に対応するジョブを実行させるための指示を前記実行制御部に送信する工程と、
前記生成工程において生成された前記セッション識別子を、前記実行制御部から前記サーバ装置への通信に用いるセッション識別子として前記実行制御部に指定する指定工程と、
前記指示に応じたジョブの実行結果を示す完了情報を、前記実行制御部から受信する受信工程と、
を実行し、
前記情報処理装置の前記表示制御部が、
前記サーバ装置から受信した前記画面情報を用いて、前記表示部に前記操作画面を表示する工程と、
前記操作画面を介した前記操作内容を前記サーバ装置に送信する工程と、
を実行し、
前記情報処理装置の前記実行制御部が、
前記サーバ装置から前記指示を受信すると、当該指示に応じたジョブを実行する実行工程と、
前記ジョブの実行が完了すると、当該ジョブの実行結果を示す完了情報に前記指定工程において指定された前記セッション識別子を付加して、当該完了情報を前記サーバ装置に送信する工程と、
とを実行することを特徴とする情報処理システムの制御方法。
【請求項10】
サーバ装置と、当該サーバ装置と通信可能な情報処理装置であって、前記サーバ装置によって提供される画面情報を用いて操作画面を表示部に表示する制御を行う表示制御部、及び前記サーバ装置からの指示に応じたジョブを実行する制御を行う実行制御部を含む情報処理装置と、を備える情報処理システムの制御方法であって、
前記サーバ装置が、
前記表示制御部から受信した認証情報を用いた認証に成功すると、当該表示制御部との間の通信に用いるセッション識別子を生成する生成工程と、
前記生成工程において生成された前記セッション識別子を前記画面情報に付加して、当該画面情報を前記表示制御部に送信する工程と、
前記画面情報に基づく前記操作画面を介した操作内容を前記表示制御部から受信すると、当該操作内容に対応するジョブを実行させるための指示を前記実行制御部に送信する工程と、
前記指示に応じたジョブの実行結果を示す完了情報を、前記実行制御部から受信する受信工程と、
を実行し、
前記情報処理装置の前記表示制御部が、
前記サーバ装置から受信した前記画面情報を用いて、前記表示部に前記操作画面を表示する工程と、
前記操作画面を介した前記操作内容を前記サーバ装置に送信する工程と、
を実行し、
前記情報処理装置の前記実行制御部が、
前記サーバ装置から前記指示を受信すると、当該指示に対応するジョブを実行する工程と、
前記ジョブの実行が完了すると、当該ジョブの実行結果を示す完了情報に前記表示制御部と前記サーバ装置との間の通信で用いられたセッション識別子を付加して、当該完了情報を前記サーバ装置に送信する送信工程と、
を実行することを特徴とする情報処理システムの制御方法。
【請求項11】
サーバ装置と通信可能であり、前記サーバ装置によって提供される画面情報を用いて操作画面を表示部に表示する制御を行う表示制御部、及び前記サーバ装置からの指示に応じたジョブを実行する制御を行う実行制御部を含む情報処理装置の制御方法であって、
前記表示制御部が、
前記サーバ装置に対して送信した認証情報による認証が成功したことに応じて、前記表示制御部と前記サーバ装置との間の通信に用いるセッション識別子として前記サーバ装置において生成されたセッション識別子が付加された前記画面情報を受信して、当該画面情報を用いて前記表示部に前記操作画面を表示する工程と、
前記操作画面を介した操作内容を前記サーバ装置に送信する工程と、
を実行し、
前記実行制御部が、
前記操作内容に対応するジョブを実行させるための指示を、前記サーバ装置から受信すると、当該指示に応じたジョブを実行する工程と、
前記ジョブの実行が完了すると、当該ジョブの実行結果を示す完了情報に、前記実行制御部から前記サーバ装置への通信に用いるセッション識別子として指定された、前記サーバ装置において生成された前記セッション識別子を付加して、当該完了情報を前記サーバ装置に送信する工程と、
を実行することを特徴とする情報処理装置の制御方法。
【請求項12】
サーバ装置と通信可能であり、前記サーバ装置によって提供される画面情報を用いて操作画面を表示部に表示する制御を行う表示制御部、及び前記サーバ装置からの指示に応じたジョブを実行する制御を行う実行制御部を含む情報処理装置の制御方法であって、
前記表示制御部が、
前記サーバ装置に対して送信した認証情報による認証が成功したことに応じて、前記表示制御部と前記サーバ装置との間の通信に用いるセッション識別子として前記サーバ装置において生成されたセッション識別子が付加された前記画面情報を受信して、当該画面情報を用いて前記表示部に前記操作画面を表示する工程と、
前記操作画面を介した操作内容を前記サーバ装置に送信する工程と、
を実行し、
前記実行制御部が、
前記操作内容に対応するジョブを実行させるための指示を、前記サーバ装置から受信すると、当該指示に応じたジョブを実行する工程と、
前記ジョブの実行が完了すると、当該ジョブの実行結果を示す完了情報に、前記表示制御部と前記サーバ装置との間の通信で用いられたセッション識別子を付加して、当該完了情報を前記サーバ装置に送信する工程と、
を実行することを特徴とする情報処理装置の制御方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8A】
【図8B】
【図8C】
【図9】
【図10】
【図11】
【図12】
【図13】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8A】
【図8B】
【図8C】
【図9】
【図10】
【図11】
【図12】
【図13】
【公開番号】特開2012−226610(P2012−226610A)
【公開日】平成24年11月15日(2012.11.15)
【国際特許分類】
【出願番号】特願2011−94378(P2011−94378)
【出願日】平成23年4月20日(2011.4.20)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成24年11月15日(2012.11.15)
【国際特許分類】
【出願日】平成23年4月20日(2011.4.20)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]