(57)【要約】      （修正有）【課題】画像処理装置から送信された指示に対応する処理要求を外部装置から受付ける場合に、画像処理装置を操作しているユーザによって行われた指示に対応する処理要求による適切な処理を行うことができる。【解決手段】画像処理装置の操作部でユーザ認証した認証コンテキストと外部ネットワークからウェブサービスリクエストでユーザ認証した認証コンテキストを比較する。認証コンテキストが一致しない場合は、ウェブサービスリクエストを外部ネットワークから受け付けない。【選択図】図１２
2010114714.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して外部装置に接続されたデータ処理装置であって、
前記外部装置が備えるユーザインタフェースを取得して表示する表示手段と、
前記表示手段によって表示されたユーザインタフェースを介してユーザから指示を受付ける受付手段と、
前記受付手段によって受付けた指示を前記外部装置に送信する指示送信手段と、
前記データ処理装置を操作するユーザの情報に基づくユーザの認証に成功した場合に認証情報を生成する生成手段と、
前記生成手段によって生成された認証情報を記憶する記憶手段と、
前記生成手段によって生成された認証情報を前記外部装置に送信する送信手段と、
前記外部装置から、前記指示送信手段によって前記外部装置に送信された指示に対応する処理要求と、前記生成手段によって生成された認証情報とを受信する受信手段と、
前記受信手段によって受信した認証情報と、前記記憶手段に記憶された認証情報に基づいて、前記指示送信手段によって前記外部装置に送信された指示に対応する処理要求に基づく処理を実行する制御手段とを備えることを特徴とするデータ処理装置。
【請求項２】
前記データ処理装置を操作するユーザの情報に基づくユーザの認証は、前記データ処理装置を当該ユーザが使用することを許可するために行われることを特徴とする請求項１に記載のデータ処理装置。
【請求項３】
前記データ処理装置を操作するユーザの情報に基づくユーザの認証は、前記データ処理装置と前記ネットワークを介して接続された外部の認証サーバによって行われることを特徴とする請求項１または２に記載のデータ処理装置。
【請求項４】
原稿の画像を読み取る読取手段をさらに備え、
前記指示送信手段によって送信された指示に対応する処理要求に基づく処理は、前記読取手段による読取処理であることを特徴とする請求項１乃至３のいずれかに記載のデータ処理装置。
【請求項５】
ネットワークを介してデータ処理装置に接続された情報処理装置であって、
前記データ処理装置にユーザインタフェースを送信するユーザインタフェース送信手段と、
前記インタフェース送信手段によって前記データ処理装置に送信されたユーザインタフェースを介して受付けた指示を受信する指示受信手段と、
前記データ処理装置から、前記データ処理装置を操作するユーザの認証に成功した場合に生成される認証情報を受信する受信手段と、
前記指示受信手段によって受信された指示に対応する処理要求と、前記受信手段によって受信された認証情報とを前記データ処理装置に送信する送信手段とを備えることを特徴とする情報処理装置。
【請求項６】
前記データ処理装置を操作するユーザの認証は、前記データ処理装置を当該ユーザが使用することを許可するために行われることを特徴とする請求項５に記載の情報処理装置。
【請求項７】
ネットワークを介して外部装置に接続されたデータ処理装置の制御方法であって、
前記外部装置が備えるユーザインタフェースを取得して表示する表示工程と、
前記表示工程にて表示されたユーザインタフェースを介してユーザから指示を受付ける受付工程と、
前記受付工程にて受付けた指示を前記外部装置に送信する指示送信工程と、
前記データ処理装置を操作するユーザの情報に基づくユーザの認証に成功した場合に認証情報を生成する生成工程と、
前記生成工程にて生成された認証情報を記憶手段に記憶する記憶工程と、
前記生成工程にて生成された認証情報を前記外部装置に送信する送信工程と、
前記外部装置から、前記指示送信工程にて前記外部装置に送信された指示に対応する処理要求と、前記生成工程にて生成された認証情報とを受信する受信工程と、
前記受信工程にて受信した認証情報と、前記記憶手段に記憶された認証情報に基づいて、前記指示送信工程にて前記外部装置に送信された指示に対応する処理要求に基づく処理を実行する制御工程とを備えることを特徴とするデータ処理装置の制御方法。
【請求項８】
前記データ処理装置を操作するユーザの情報に基づくユーザの認証は、前記データ処理装置を当該ユーザが使用することを許可するために行われることを特徴とする請求項７に記載のデータ処理装置の制御方法。
【請求項９】
前記データ処理装置を操作するユーザの情報に基づくユーザの認証は、前記データ処理装置と前記ネットワークを介して接続された外部の認証サーバによって行われることを特徴とする請求項７または８に記載のデータ処理装置の制御方法。
【請求項１０】
原稿の画像を読み取る読取工程をさらに備え、
前記指示送信工程にて送信された指示に対応する処理要求に基づく処理は、前記読取工程による読取処理であることを特徴とする請求項７乃至９のいずれかに記載のデータ処理装置の制御方法。
【請求項１１】
ネットワークを介してデータ処理装置に接続された情報処理装置の制御方法であって、
前記データ処理装置にユーザインタフェースを送信するユーザインタフェース送信工程と、
前記インタフェース送信工程にて前記データ処理装置に送信されたユーザインタフェースを介して受付けた指示を受信する指示受信工程と、
前記データ処理装置から、前記データ処理装置を操作するユーザの認証に成功した場合に生成される認証情報を受信する受信工程と、
前記指示受信工程にて受信した指示に対応する処理要求と、前記受信工程にて受信した認証情報とを前記データ処理装置に送信する送信工程とを備えることを特徴とする情報処理装置の制御方法。
【請求項１２】
前記データ処理装置を操作するユーザの認証は、前記データ処理装置を当該ユーザが使用することを許可するために行われることを特徴とする請求項１１に記載の情報処理装置の制御方法。
【請求項１３】
請求項７乃至９のいずれかに記載のデータ処理装置の制御方法を、当該データ処理装置のコンピュータに実行させるためのプログラムを記憶したコンピュータ読取り可能な記憶媒体。
【請求項１４】
請求項７乃至９のいずれかに記載のデータ処理装置の制御方法を、当該データ処理装置のコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理装置、データ処理装置の制御方法、情報処理装置、情報処理装置の制御方法、記憶媒体及びプログラムに関するものである。
【背景技術】
【０００２】
近年、プリンタ、コピー、ファクシミリ、スキャナなどの各装置の機能を１つの筐体内に収納したデータ処理装置が一般的に知られている。このようなデータ処理装置は、ＭＦＰ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）と呼ばれている。該データ処理装置は、１つの筐体内に表示部、印刷部および撮像部などを備えるとともに、プリンタ、コピーおよびファクシミリ、スキャナにそれぞれ対応するアプリケーションを備える。
【０００３】
そして、このようなデータ処理装置は、使用するアプリケーションの切り替えて、プリンタ、コピー、スキャナまたはファクシミリ等の機能を実行する。
【０００４】
また、当該データ処理装置がウェブクライアント機能としてブラウザを備え、遠隔のウェブサーバから様々なコンテンツを取得（ダウンロード）する機能が知られている。
【０００５】
さらに、ウェブサーバ等の外部装置にデータ処理装置を操作するためのユーザインタフェースを実装し、データ処理装置のブラウザを利用して当該ユーザインタフェースを利用する方法が知られている。
【０００６】
このような方法を用いて、従来のデータ処理装置のブラウザからウェブサーバ等の外部装置を介して行われた指示は、外部からの処理要求（例えばウェブサービスリクエスト）としてデータ処理装置に受付けられる。
【０００７】
このようなデータ処理装置において、例えば、ウェブサーバを特定する情報（ホスト名など）をデータ処理装置とウェブサーバ間でやり取りすることで、正当なウェブサーバからの処理要求（情報＋印刷要求など）のみを実行するものがある。（特許文献１参照）
【特許文献１】特開2008-003834号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、特許文献１ではウェブサーバの情報をもとに処理の実行可否を判断しているため、正当なウェブサーバからの処理要求であれば、例え当該処理要求が、データ処理装置を操作しているユーザからの要求でなくても受け付けてしまう。
【０００９】
例えば、悪意のあるユーザが上述のウェブサーバにアクセスし、当該ウェブサーバから処理要求をデータ処理装置に送信したとする。その場合、データ処理装置は、当該ウェブサーバからの処理要求に基づき、データ処理装置を操作するユーザの意図しない処理を実行してしまう。具体的に、ユーザがデータ処理装置のスキャナに原稿をセットし、スキャンのための設定を行っている間に、データ処理装置がウェブサーバから第三者によってスキャン要求を受け付けると、ユーザの意図しない原稿の読取りが開始されてしまう場合がある。
【００１０】
このような事態は、悪意のあるユーザではなく、データ処理装置やウェブサーバを利用する権限を有する正当なユーザであっても発生するおそれがある。例えば、データ処理装置を操作しているユーザとは異なるユーザが、上述のウェブサーバにアクセスし、当該ウェブサーバから処理要求をデータ処理装置に送信したとする。その場合も、同様に、データ処理装置を操作するユーザの意図しない処理が実行されてしまうことがある。
【００１１】
本発明は上記課題を解決するためになされたものである。本発明は、データ処理装置から送信された指示に対応する処理要求を外部装置から受付ける場合に、データ処理装置を操作しているユーザによって行われた指示に対応する処理要求による適切な処理を行うことを目的とする。
【課題を解決するための手段】
【００１２】
上記目的を達成する本発明のデータ処理装置は以下に示す構成を備える。
【００１３】
ネットワークを介して外部装置に接続されたデータ処理装置であって、外部装置が備えるユーザインタフェースを取得して表示する表示手段と、表示手段によって表示されたユーザインタフェースを介してユーザから指示を受付ける受付手段と、受付手段によって受付けた指示を外部装置に送信する指示送信手段と、ユーザの情報を入力する操作手段と、操作手段によって入力されたユーザの情報に基づくユーザの認証に成功した場合に認証情報を生成する生成手段と、生成手段によって生成された認証情報を記憶手段に記憶する記憶手段と、生成手段によって生成された認証情報を外部装置に送信する送信手段と、外部装置から、指示送信手段によって送信された指示に対応する処理要求と、生成手段によって生成された認証情報とを受信する受信手段と、受信手段によって受信した認証情報と、記憶手段に記憶された認証情報に基づいて、指示送信手段によって送信された指示に対応する処理要求に基づく処理を実行する制御手段とを備えることを特徴とする。
【発明の効果】
【００１４】
本発明によれば、データ処理装置から送信された指示に対応する処理要求を外部装置から受付ける場合に、データ処理装置を操作しているユーザによって行われた指示に対応する処理要求による適切な処理を行うことができる。
【発明を実施するための最良の形態】
【００１５】
次に本発明を実施するための最良の形態について図面を参照して説明する。
【００１６】
＜システム構成の説明＞
〔第１実施形態〕
図１は、本実施形態を示す画像処理装置を含む画像処理システムの一例を示すブロック図である。なお、本実施形態では、データ処理装置として画像処理装置を、データ処理システムの一例として画像処理システムを例に説明する。本実施形態では、画像処理装置、サーバ、認証サーバ等がネットワークを介して接続されて、情報処理装置として機能するサーバが画像処理装置に提供するシステム例である。なお、認証サーバは、画像処理装置１１０内、あるいはサーバ１３０内に設けることも可能であり、その場合には、認証サーバをネットワーク上に設ける必要はない。ただし、本実施形態では、認証サーバを利用して、ローカル認証処理と、ウェブ認証処理とを行う場合を説明する。また、本実施形態における画像処理装置は、いわゆる複合機（ＭＦＰ(Multi Function Peripheral)である場合を示すが、ＳＦＰ（Single Function Peripheral:単一機能周辺機器）であってもよい。
【００１７】
図１において、１００はＬＡＮ(Local Area Network)であり、ＷＡＮ(Wide Area Network)やインターネットに接続されている。
【００１８】
ホストコンピュータ１２０は、ＬＡＮ１００に接続されている。ホストコンピュータ１２０は、ウェブブラウザ１２０Ａがインストールされており、ＬＡＮ１００を介して、画像処理装置１１０、サーバ１３０にＨＴＴＰ接続してサービスの提供を受けることができる。
【００１９】
ホストコンピュータ１２０としては、例えばＰＣ（パーソナルコンピュータ）やＰＤＡ(Personal Digital Assistant)や携帯電話がある。
【００２０】
サーバ１３０は、ウェブアプリケーションサーバを実現するためのソフトウェアプロセス群として以下のソフトウェアモジュールがインストールされている。
【００２１】
本例では、サーバ１３０が備えるソフトウェアモジュールとしては、ウェブサーバ部１３１と、アプリケーションサーバ部１３２、データ管理部１３３を備える。当該サーバ１３０は、ネットワーク上の複数の装置からアクセスすることができ、それら複数の装置は、当該サーバ１３０の機能を利用することができる。例えば、サーバ１３０は、ネットワークに接続されたホストコンピュータ１２０や、画像処理装置１１０、あるいは不図示の他の装置からアクセスされ、その機能が利用される。
【００２２】
ここで、ウェブサーバ部１３１は、クライアントからのＨＴＴＰプロトコルによる要求に応答してＨＴＭＬなどのコンテンツを伝送する。アプリケーションサーバ部１３２は、ＨＴＴＰ要求に応じて所定の処理と動的に変化するＨＴＴＰ応答を行う。また、アプリケーションサーバ部１３２は、ＣＧＩ（Ｃｏｍｍｏｎ Ｇａｔｅｗａｙ ＩｎｔｅｒｆａｃｅＳ）プログラムやサーブレット（Ｓｅｒｖｌｅｔ）などの形態で実装される。データ管理部１３３は、アプリケーションサーバ部１３２から呼び出されるスクリプトデータの保存や受信したデータの格納を行う。
【００２３】
認証サーバ１４０は、ユーザ認証及びユーザ情報管理を行う。具体的に、認証サーバ１４０は、ＬＡＮ１００に接続される画像処理装置１１０、サーバ１３０からユーザ名、ドメイン名、パスワード等のＣｒｅｄｅｎｔｉａｌを用いてユーザ認証を行う。そして、認証サーバ１４０は、ユーザ認証に成功すると、Ｓｅｃｕｒｉｔｙ Ｔｏｋｅｎ（以下ＳＴ）を認証の要求元に返す。
【００２４】
ここで、Ｃｒｅｄｅｎｔｉａｌとは、ユーザ認証に必要なユーザの信用情報であり、例えば、ユーザ名、ドメイン名、パスワード等を指す。また、ＳＴとは、上記Ｃｒｅｄｅｎｔｉａｌが正当なものであることが確認されてユーザ認証に成功した場合に返される、認証済みであることを示す情報である。
【００２５】
そして、認証サーバ１４０でユーザ認証する機器間であれば、ＳＴを用いることにより再度Ｃｒｅｄｅｎｔｉａｌによるユーザ認証を受ける必要がない。認証サーバ１４０により、ＬＡＮ１００に接続された機器間で統一的にユーザ認証を行うことができ、さらに機器間でユーザを一意に特定することができる。
【００２６】
画像処理装置１１０は、画像の入出力と送受信および各種の画像処理を行う複合機である。
【００２７】
画像処理装置１１０は、画像入力デバイスであるスキャナ１１３、画像出力デバイスであるプリンタ１１４、コントローラユニット１１１、および操作部１１２を備える。
【００２８】
スキャナ１１３、プリンタ１１４、操作部１１２は、それぞれ、コントローラユニット１１１に接続され、コントローラユニット１１１からの命令によって制御される。コントローラユニット１１１は、ＬＡＮ１００に接続されている。
【００２９】
[画像処理装置１１０のソフトウェア構成について]
次に、画像処理装置１１０のソフトウェア構成について図２を参照しながら説明する。
【００３０】
図２は、図１に示した画像処理装置１１０のソフトウェア構成を示すブロック図である。
【００３１】
図２において、ユーザインタフェース（以下、ＵＩ）モジュール２０１は、オペレータが画像処理装置１１０に対する各種操作・設定を行う際に、機器とユーザ操作との仲介を行うモジュールである。
【００３２】
このＵＩモジュール２０１は、オペレータの操作に従い、後述の各種モジュールに入力情報を転送して処理の依頼、またはデータの設定などを行う。
【００３３】
ウェブサーバ(Web-Server)モジュール２０３は、ウェブクライアント（例えばホストコンピュータ１２０）からのＨＴＴＰ要求を受け付ける。以下、ウェブサーバ(Web-Server)モジュール２０３を、ウェブサーバ(Web-Server)２０３と略記する。
【００３４】
そして、ウェブサーバ２０３は、クライアントからのＨＴＴＰ要求に対して、ＨＴＴＰモジュール２１４、ＴＣＰ／ＩＰ通信モジュール２１７、ネットワークドライバ(Network-Driver)２２１を介してウェブクライアントにＨＴＴＰで応答する。ここで、応答される内容は、画像処理装置１１０の管理情報等が含まれる。
【００３５】
ウェブブラウザ(Web-Browser)モジュール２０９は、インターネットまたはイントラネット上の各種ウェブページを読み込んで表示を行うものである。以下、ウェブブラウザ(Web-Browser)モジュール２０９をウェブブラウザ２０９と略記し、そのの詳細な構成は後述する。
【００３６】
ＨＴＴＰモジュール２１４は、画像処理装置１１０がＨＴＴＰによる通信を行う際に使用される。ＨＴＴＰモジュール２１４は後述のＴＣＰ／ＩＰ通信モジュール２１７を使って、ウェブサーバ２０３やウェブブラウザ２０９、後述のウェブサービスプロバイダ(Web-Service-Provider)モジュール２０７に通信機能を提供する。
【００３７】
また、ＨＴＴＰモジュール２１４は、ＨＴＴＰをはじめとするウェブで用いられる各種プロトコルに対応し、特にセキュリティ対応したプロトコルによる通信機能を提供する。
【００３８】
ＴＣＰ／ＩＰ通信モジュール２１７は、ネットワークドライバ(Network Driver)２２１を用いて、前述の各種モジュールにネットワーク通信機能を提供する。ネットワークドライバ２２１は、ネットワークに物理的に接続され、データの入出力を制御するものである。
【００３９】
認証サービス(Authentication-Service)モジュール２０５は、ユーザが画像処理装置の機能を利用するためのユーザ認証処理を管理・制御するものである。
【００４０】
ローカル認証サービス(ＬＡＳ)モジュール２１０はＵＩモジュール２０１から行われるユーザ認証に対する認証処理の管理・制御を行う。以下、ローカル認証サービス(ＬＡＳ)モジュールをＬＡＳと略記する。
【００４１】
ＬＡＳ２１０はＵＩモジュール２０１から入力されたＣｒｅｄｅｎｔｉａｌを受けると、認証サーバ１４０に対して認証処理を行う。
【００４２】
なお、認証サーバ１４０の認証方式により、ユーザ認証のためのデータ通信プロトコルやユーザ認証に必要なＣｒｅｄｅｎｔｉａｌは異なる。そのため、ＬＡＳ２１０は入れ替え可能であり、ＬＡＳ２１０を入れ替えることにより認証サーバ１４０の様々な認証方式に対応することができる。ここで、認証方式には、例えばＮＴＬＭ認証やケルベロス認証などがある。また、ＬＡＳ２１０の入れ替えにより、認証サーバ１４０で行う認証の代わりに画像処理装置１１０内の簡易認証サービスモジュール２１３で認証を行う構成をとることもできる。以下、簡易認証サービスモジュールをＳＡＳと略記する。
【００４３】
さらに、ＬＡＳ２１０の入れ替えによりタッチパネルやソフトキーボードによる認証情報入力のほかにＵＳＢキーボードやＵＳＢカードリーダによるＣｒｅｄｅｎｔｉａｌ入力など、さまざまな入力の受け付けが可能になる。
【００４４】
リモート認証サービス（ＲＡＳ）モジュール２１１はウェブクライアントからウェブサーバモジュール２０３経由で行われるユーザ認証に対する認証処理の管理・制御を行う。以下、リモート認証サービス（ＲＡＳ）モジュールをＲＡＳと略記する。
【００４５】
ＲＡＳ２１１はウェブサーバ２０３からのＣｒｅｄｅｎｔｉａｌを受けると、認証サーバ１４０と認証処理を行う。ＬＡＳ２１０と同様に入れ替え可能であり、ＲＡＳ２１１を入れ替えることにより認証サーバ１４０の様々な認証方式に対応することができる。
【００４６】
ウェブサービス認証モジュール（ＷＡＳ）モジュール２１２は、後述のウェブサービスプロバイダモジュール２０７経由で画像処理装置の機能を利用するための認証処理の管理・制御を行う。以下、ウェブサービス認証モジュール（ＷＡＳ）モジュールをＷＡＳと略記する。
【００４７】
なお、ＷＡＳ２１２は、認証処理を行うためのインタフェースをウェブサービスとしてネットワークに公開している。
【００４８】
認証コンテキスト管理（ＡＣＭ）モジュール２０６はユーザ認証成功後に認証サーバ１４０から返されるＳＴ及びに認証サーバ１４０から取得可能なユーザ情報を管理する。以下、認証コンテキスト管理（ＡＣＭ）モジュールをＡＣＭと略記する。なお、ＡＣＭ２０６の詳細説明は後述する。
【００４９】
ウェブサービスプロバイダ(Ｗｅｂ-Ｓｅｒｖｉｃｅ-Ｐｒｉｖｉｄｅｒ)モジュール２０７は、ウェブサービスとしてデバイスの機能を提供する。ウェブサービスプロバイダ(Ｗｅｂ-Ｓｅｒｖｉｃｅ-Ｐｒｉｖｉｄｅｒ)モジュール２０７は、ＬＡＮ１００を介して受信したコマンドを解釈して実行する。このコマンドには、例えばＳＯＡＰ等のコマンドを適用することができる。以下、ウェブサービスプロバイダ(Ｗｅｂ-Ｓｅｒｖｉｃｅ-Ｐｒｉｖｉｄｅｒ)モジュールをＷＳＰと略記する。
【００５０】
ユーザ設定情報管理（ＵＰＭ）モジュール２０８は、ユーザの設定情報・管理情報をユーザ単位で管理する。以下、ユーザ設定情報管理（ＵＰＭ）モジュールをＵＰＭと略記する。ＵＰＭ２０８は、設定情報を取得するためにはＳＴを必要とし、ＳＴをアクセスキーとして各ユーザの設定情報を取得する。
【００５１】
ＳＡＳ２１３は、画像処理装置１１０内でユーザ認証及びユーザ情報管理を行うモジュールである。
【００５２】
このように認証サービス(Authentication-Service)モジュール２０５は、認証サービスをＬＡＳ２１０，ＲＡＳ２１１、ＷＡＳ２１２のいずれかを入れ替えることにより認証サーバ１４０で認証を行う。また、認証サービス(Authentication-Service)モジュール２０５は、認証サービスをＬＡＳ２１０，ＲＡＳ２１１、ＷＡＳ２１２以外の簡易認証サービスモジュール２１３で認証を行うように切り替えることが可能である。
【００５３】
制御ＡＰＩ（Control API）２１８は、ウェブサーバ２０３やウェブブラウザ２０９、ＷＳＰ２０７などの上流モジュールに、Ｊｏｂ-Ｍａｎａｇｅｒ２１９などの下流モジュールに対するインタフェースを提供する。これによって、上流および下流のモジュール間の依存関係が軽減され、それぞれの流用性を高めることができる。以下、ジョブマネージャ（Ｊｏｂ-Ｍａｎａｇｅｒ）モジュールをＪｏｂ-Ｍａｎａｇｅｒと略記する。
【００５４】
Ｊｏｂ-Ｍａｎａｇｅｒ２１９は、前述の各種モジュールから制御ＡＰＩ２１８を介して指示される様々な処理を解釈し、後述の各モジュール２２０，２２４，２２６に指示を与えるものである。また、Ｊｏｂ-Ｍａｎａｇｅｒ２１９は、画像処理装置１１０内で実行されるハード的な処理を一元管理するものである。
【００５５】
コーデックマネージャ（ＣＯＤＥＣ-Ｍａｎａｇｅｒ）モジュール２２０は、Ｊｏｂ-Ｍａｎａｇｅｒ２１９が指示する処理の中で、データの各種圧縮・伸長を管理・制御するものである。以下、コーデックマネージャ（ＣＯＤＥＣ-Ｍａｎａｇｅｒ）モジュールをＣＯＤＥＣ-Ｍａｎａｇｅｒと略記する。
【００５６】
ＦＢＥエンコーダ（ＦＢＥ-ＥｎｃｏＤｅｒ）モジュール２２９は、スキャン処理によって読み込まれたデータを、ＦＢＥフォーマットを用いて圧縮する。具体的には、Ｊｏｂ-Ｍａｎａｇｅｒ２１９や後述のＳｃａｎ-Ｍａｎａｇｅｒ２２４によって実行されたスキャン処理によって読み込まれたデータを、ＦＢＥフォーマットを用いて圧縮する。
【００５７】
ＪＰＥＧ-ＣＯＤＥＣ２２２は、読み込まれたデータのＪＰＥＧ圧縮および印刷データのＪＰＥＧ展開処理を行う。
【００５８】
ここで、読み込まれたデータとは、Ｊｏｂ-Ｍａｎａｇｅｒ２１９やＳｃａｎｎｅｒ-Ｍａｎａｇｅｒ２２４によって実行されたスキャン処理に基づくデータである。また、印刷データとは、Ｐｒｉｎｔ-Ｍａｎａｇｅｒ２２６によって実行された印刷データである。
【００５９】
ＭＭＲコーデック（ＭＭＲ-ＣＯＤＥＣ）モジュール２２３は、読み込まれたデータのＭＭＲ圧縮および印刷データのＭＭＲ伸長処理を行う。ここで、読み込まれたデータとは、Ｊｏｂ-Ｍａｎａｇｅｒ２１９やＳｃａｎｎｅｒ-Ｍａｎａｇｅｒ２２４によって実行されたスキャン処理に基づくデータが含まれる。また、読み込まれたデータとは、Ｐｒｉｎｔ-Ｍａｎａｇｅｒ２２６によって実行された印刷処理に基づくデータが含まれる。
【００６０】
Ｓｃａｎｎｅｒ-Ｍａｎａｇｅｒ２２４は、Ｊｏｂ-Ｍａｎａｇｅｒ２１９が指示するスキャン処理を管理・制御するものである。スＳｃａｎｎｅｒ-Ｍａｎａｇｅｒ２２４と画像処理装置１１０に内部的に接続しているスキャナ１１３との間の通信が、ＳＣＳＩドライバ２２５を介して行われる。
【００６１】
Ｐｒｉｎｔ-Ｍａｎａｇｅｒ２２６は、Ｊｏｂ-Ｍａｎａｇｅｒ２１９が指示する印刷処理を管理・制御するものである。Ｐｒｉｎｔ-Ｍａｎａｇｅｒ２２６とプリンタ１１４との間のインタフェースがＥｎｇｉｎｅ-Ｉ/Ｆ２２７により提供される。
【００６２】
また、パラレルポートドライバ（Ｐａｒａｌｌｅｌ）２２８が搭載されており、Ｐａｒａｌｌｅｌ２２８を介して不図示の出力機器にデータを出力する際のＩ／Ｆを提供する。
【００６３】
[画像処理装置１１０の詳細構成について]
次に、画像処理装置１１０の構成について図３を参照しながら説明する。
【００６４】
図３は、図１に示した画像処理装置１１０の詳細構成を示すブロック図である。
【００６５】
図３において、１１１はコントローラユニットで、装置全体を制御する。コントローラユニット１１１は、画像入力デバイスであるスキャナ１１３や画像出力デバイスであるプリンタ１１４を接続し、これらを制御する。さらに、コントローラユニット１１１は、ＬＡＮ１００や公衆回線と接続され、これらを介して画像情報やデバイス情報の入出力を外部の機器との間で行う。ここで、公衆回線に接続される機器には、ファクシミリ装置、あるいはファクシミリ機能を備える情報処理装置が含まれる。
【００６６】
コントローラユニット１１１は、システムバス３０７を介して以下のデバイスと接続される。ここで、デバイスとは、ＣＰＵ３０１、ＲＡＭ３０２、ＲＯＭ３０３、ＨＤＤ（ハードディスク装置）３０４、イメージバスＩ／Ｆ３０５、操作部Ｉ／Ｆ３０６、ネットワークＩ／Ｆ３０８、およびモデム（ＭＯＤＥＭ）３０９が含まれる。
【００６７】
ＲＡＭ３０２は、ＣＰＵ３０１の作業領域を提供するためのメモリであり、また、画像データを一時記憶するための画像メモリとしても使用される。ＲＯＭ３０３はブートＲＯＭであり、ＲＯＭ３０３には、システムのブートプログラムが格納されている。ＨＤＤ３０４には、システムソフトウェア、画像データなどが格納される。
【００６８】
操作部Ｉ／Ｆ３０６は、操作部１１２との間で入出力を行うためのインタフェースであり、操作部１１２に表示する画像データを操作部１１２に対して出力する。また、操作部Ｉ／Ｆ３０６は、ユーザが操作部１１２を介して入力した情報を、ＣＰＵ３０１に伝送するなどの役割を果たす。
【００６９】
ＮｅｔｗｏｒｋＩ／Ｆ３０８は、ＬＡＮと接続され、ＬＡＮに対して情報の入出力を行う。ＭＯＤＥＭ３０９は、公衆回線と接続され、公衆回線に対して情報の入出力を行う。
【００７０】
ＩｍａｇｅＢｕｓＩ／Ｆ３０５は、システムバス３０７と画像データを高速で転送する画像バス３１０とを接続し、データ構造を変換するバスブリッジである。
【００７１】
画像バス３１０には、ＲＩＰ（ラスタイメージプロセッサ）３１１、デバイスＩ／Ｆ３１２、スキャナ画像処理部３１３、プリンタ画像処理部３１４、画像回転部３１５、および画像圧縮部３１６が接続されている。
【００７２】
ＲＩＰ３１１は、ＬＡＮから受信されたＰＤＬコードをビットマップイメージに展開する。デバイスＩ／Ｆ３１２は、スキャナ１１３およびプリンタ１１４とコントローラユニット１１１とを接続し、画像データの同期系／非同期系の変換を行う。
【００７３】
スキャナ画像処理部３１３は、入力画像データに対し補正、加工、編集などを行う。プリンタ画像処理部３１４は、プリント出力画像データに対して、プリンタの補正、解像度変換などを行う。画像回転部３１５は、画像データの回転を行う。
【００７４】
画像圧縮部３１６は、多値画像データに対してはＪＰＥＧ圧縮伸長処理を行い、２値画像データに対してはＪＢＩＧ，ＭＭＲ，ＭＨなどの圧縮伸長処理を行う。
【００７５】
[画像処理装置１１０の外観構成について]
画像処理装置の外観構成について図４を参照しながら説明する。
【００７６】
図４は、図１に示した画像処理装置１１０の外観を示す図である。
【００７７】
図４において、画像処理装置１１０において、スキャナ１１３は、原稿となる紙上の画像を照明し、ＣＣＤラインセンサ（図示せず）を走査することによって、ラスタイメージデータを生成する。
【００７８】
使用者が原稿用紙を原稿フィーダ４０５のトレイ４０６にセットして、操作部１１２において読み取りの起動を指示すると、コントローラユニット１１１のＣＰＵ３０１がスキャナ１１３に指示を与える。
【００７９】
そして、原稿フィーダ４０５が原稿用紙を１枚ずつフィードし、スキャナ１１３は原稿フィーダ４０５からフィードされた原稿画像の読み取り動作を行う。
【００８０】
プリンタ１１４は、ラスタイメージデータを用紙上の印刷するものであり、その印刷方式として、感光体ドラムや感光体ベルトを用いた電子写真方式が用いられている。
【００８１】
なお、印刷方式として、微少ノズルアレイからインクを吐出して用紙上に直接画像を印字するインクジェット方式などの他の方式を用いてもよいことはいうまでもない。
【００８２】
プリンタ１１４のプリント動作は、ＣＰＵ３０１からの指示によって起動される。プリンタ１１４は、異なる用紙サイズまたは異なる用紙向きを選択可能なように複数の給紙段を有し、それぞれに対応した用紙カセット４０１，４０２，４０３が搭載される。
【００８３】
また、排紙トレイ４０４が設けられており、この排紙トレイ４０４には、印字し終わった用紙が排紙される。
【００８４】
[画像処理装置１１０の操作部１１２の外観構成について]
次に、操作部１１２の構成について図５を参照しながら説明する。
【００８５】
図５は、図１に示した操作部１１２の外観構成を示す図である。
【００８６】
図５において、操作部１１２には、ＬＣＤ上にタッチパネル５０２が貼られているＬＣＤ表示部５０１を有する。
【００８７】
このＬＣＤ表示部５０１には、システムの操作画面およびソフトキーが表示されるとともに、表示されているキーが押されると、押された位置を示す位置情報がＣＰＵ３０１に伝えられる。
【００８８】
また、操作部１１２には、スタートキー５０５、ストップキー５０３、ＩＤキー５０７、リセットキー５０４の各種ハードキーが設けられている。
【００８９】
スタートキー５０５は、原稿画像の読み取り動作の開始を指示するためのキーであり、スタートキー５０５の中央部には、緑と赤の２色のＬＥＤ表示部５０６が設けられている。
【００９０】
２色のＬＥＤ表示部５０６は、その色によってスタートキー５０５が使用可能な状態にあるか否かを表す。ストップキー５０３は、稼働中の動作を止めるためのキーである。
【００９１】
ＩＤキー５０７は、使用者のユーザＩＤを入力するときに用いられるキーである。リセットキー５０４は操作部１１２からの設定を初期化するときに用いられるキーである。
【００９２】
[画像処理装置１１０の操作部１１２の構成について]
次に、操作部１１２の構成について図６を参照しながら説明する。
【００９３】
図６は、図１の操作部１１２の詳細構成を示すブロック図である。
【００９４】
図６において、操作部１１２は、操作部Ｉ／Ｆ３０６を介してシステムバス３０７に接続される。システムバス３０７には、上述したように、ＣＰＵ３０１、ＲＡＭ３０２、ＲＯＭ３０３、ＨＤＤ３０４などが接続されている。
【００９５】
操作部Ｉ／Ｆ３０６は、ユーザからの入力を制御するための入力ポート６０１と、画面出力デバイスを制御するための出力ポート６０２とを有する。
【００９６】
入力ポート６０１は、タッチパネル５０２、各種ハードキー５０３，５０４，５０５，５０７を含むキー群からのユーザ入力をＣＰＵ３０１に渡す。
【００９７】
ＣＰＵ３０１は、ユーザ入力の内容と制御プログラムとに基づいて表示画面データを生成し、出力ポート６０２を介して、ＬＣＤ表示部５０１に表示画面を出力する。また、ＣＰＵ３０１は、出力ポート６０２を介して必要に応じてＬＥＤ表示部５０６を制御する。
【００９８】
[画像処理装置１１０のウェブブラウザモジュール２０９の構成について]
図２に示すウェブブラウザ２０９は、ＨＴＴＰモジュール２１４を介して、他のネットワークノードとの間に接続を確立し通信する。この通信においては、ＵＲＬによって記述されたリソースに対してＨＴＴＰ要求が発行され、その応答が得られる。この過程で、各種符号化形式に則した通信データの符号化・復号化も行われる。
【００９９】
イベント処理部（不図示）は、操作部１１２上のタッチパネル５０２や各キーなどに対してユーザが行った操作のイベントを受信して、各イベントに対応した処理を行う。
【０１００】
また、イベント処理部は、制御ＡＰＩ２１８から装置やジョブなどの状態遷移イベントを受信して、各イベントに対応した処理を行う。
【０１０１】
スクリプトインタプリタ（不図示）は、Ｊａｖａ（登録商標）Ｓｃｒｉｐｔ（ＥＣＭＡ Ｓｃｒｉｐｔ）などのスクリプトを解釈し実行するインタプリタである。
【０１０２】
スクリプトは、文書に埋め込まれているか、または文書からリンクされた別ファイル中に記述される。コンテンツの提供者は、スクリプトによって、提供する文書の動的な挙動をプログラムできる。
【０１０３】
[ＨＴＴＰプロトコルによる要求と応答の流れ]
図７は、図２に示したＨＴＴＰモジュール２１４によるＨＴＴＰプロトコルによる要求と応答の処理の流れを示す図である。
【０１０４】
図７において、クライアント７０１は、図７に示すように、ＨＴＴＰ要求を送信しＨＴＴＰ応答を受信するソフトウェアが実装された装置である。本実施態では、ウェブブラウザ２０９が実装された画像処理装置１１０や、ウェブブラウザが実装されたホストコンピュータ１２０に相当する。
【０１０５】
サーバ７０２は、ＨＴＴＰ要求を受信して対応する処理を行い、さらにＨＴＴＰ応答を返信するソフトウェアであり、本実施形態では、図１に示したサーバ１３０に相当するものである。
【０１０６】
クライアント７０１は、ＨＴＴＰ要求をＧＥＴメソッドまたはＰＯＳＴメソッドのいずれかの方法で送信することができる。
【０１０７】
ここで、クライアント７０１が所望のリソースに対するＨＴＴＰ要求７０３をＧＥＴメソッドでサーバ７０２に送信する場合、リソースは一般にＵＲＩ（特にＵＲＬ）形式によって指定される。
【０１０８】
そして、サーバ７０２は、ＨＴＴＰ要求７０３により指定されたリソースに対応するデータを取得または生成し、このデータをＨＴＴＰ応答７０４によって返送する。
【０１０９】
次に、ＨＴＴＰ要求をＰＯＳＴメソッドで送信する場合を説明する。ＨＴＭＬ文書にフォーム（ｆｏｒｍ）が含まれ、その送信方法にＰＯＳＴメソッドが指定されている場合、以下のような処理が行われる。
【０１１０】
すなわち、クライアント７０１のウェブブラウザにより表示されたフォームにユーザにより入力された情報は符号化される。そして、クライアント７０１は、その符号化された情報、すなわちフォームの入力内容はＨＴＴＰ要求７０５に添付してサーバ７０２に送信する。
【０１１１】
サーバ７０２においては、指定されたリソースが、クライアント７０１から送られたデータを受信して処理を行い、ＨＴＴＰ応答７０６を生成し、クライアント７０１に返信する。
【０１１２】
[画像処理装置１１０のブラウザ画面構成について]
次に、ＵＩモジュール２０１により表示されるウェブブラウザの画面構成について図８を参照しながら説明する。
【０１１３】
図８は、図６に示すＬＣＤ表示部５０１に表示されるユーザインタフェースの一例を示す図である。本例は、ＵＩモジュール２０１により表示されるウェブブラウザの画面に対応する。
【０１１４】
図８において、ブラウザ画面８００には、ＵＲＬ入力フィールド８０８、コンテンツ表示領域８０２、およびステータス領域８０７が表示される。また、ブラウザ画面８００には、タブ８０１、ＯＫボタン８０９、プログレスバー、戻るボタン８０３、進むボタン８０４、リロードボタン８０６、中止ボタン８０５等のボタン類が表示される。なお、ボタン類の表示形態、表示位置は本表示画面例に限定されるものではない。
【０１１５】
タブ８０１は、ウェブブラウザ機能と他の機能（コピー、ボックス、送信、拡張）との画面切り替えを行うボタンとして機能するものである。ＵＲＬ入力フィールド８０８は、ユーザが所望のリソースのＵＲＬを入力するフィールドであり、当該フィールドをユーザが押すと、文字入力を行うための仮想的なフルキーボード（不図示）が表示される。
【０１１６】
ユーザは、仮想的なフルキーボード上に配置されたキートップを模したソフトキーによって所望の文字列を入力することができる。
【０１１７】
ＯＫボタン８０９は、入力したＵＲＬ文字列を確定するソフトキーである。ＵＲＬが確定されると、ウェブブラウザモジュール２０９は、当該リソースの取得を行うためのＨＴＴＰ要求を発行する。
【０１１８】
プログレスバーは、ＨＴＴＰ要求応答によるコンテンツ取得処理の進捗状況を示す。コンテンツ表示領域８０２は、取得したリソースが表示される領域である。戻るボタン８０３は、コンテンツ表示の履歴をさかのぼり、現時点で表示しているコンテンツの前に表示したコンテンツを表示し直すためのソフトキーである。
【０１１９】
進むボタン８０４は、コンテンツ表示の履歴をさかのぼって表示しているときに、その時点で表示しているコンテンツの後に表示したコンテンツの表示に戻るためのソフトキーである。
【０１２０】
リロードボタン８０６は、現時点で表示しているコンテンツの再取得と再表示を行う。中止ボタン８０５は、実行中のコンテンツ取得処理を中止するソフトキーである。
【０１２１】
ステータス領域８１０は、画像処理装置の各種機能からのメッセージを表示する領域である。このステータス領域８１０には、ブラウザ画面８００を表示中であっても、スキャナやプリンタや他の機能などから、ユーザの注意を促すためのメッセージを表示することができる。
【０１２２】
また、同様にウェブブラウザ機能からもメッセージの表示を行うことができる。ウェブブラウザ機能は、リンク先のＵＲＬ文字列、コンテンツのタイトル文字列、スクリプトによって指示されたメッセージなどを表示する。
【０１２３】
[認証コンテキスト管理モジュールについて]
図２に示すＡＣＭ２０６は、以下の各認証サービスモジュールから受け取る認証コンテキストを管理する。ここで、各認証サービスには、ＬＡＳ２１０、ＲＡＳ２１１、ＷＡＳ２１２が含まれる。ＬＡＳ２１０、ＲＡＳ２１１、ＷＡＳ２１２は、認証に成功すると認証コンテキストとして必要な情報をＡＣＭ２０６に渡す。ＡＣＭ２０６は認証コンテキストを作成し、ユーザ情報を書き込む。このようにして、認証に成功し認証コンテキストにユーザ情報が書き込まれると、それ以降のユーザの操作はすべて認証コンテキストに書き込まれたユーザの権限で動作する。
【０１２４】
さらに、ＡＣＭ２０６は、認証コンテキストを管理する。ＡＣＭ２０６によって管理される、認証コンテキストは、上述のように、ユーザの認証に成功し、認証コンテキストが作成されてから、ユーザのログアウト処理が行われるまでの期間である。
【０１２５】
また、ログアウト条件としては、ユーザによりログアウト処理がされる、設定されたタイムアウト時間の間に何も操作を行われない、各種デバイス設定情報の変更がされる、低電力モードへの移行、デバイス再起動等がある。
【０１２６】
次に、認証コンテキストのデータ構造について図９を用いて説明する。
【０１２７】
図９は、図２に示したＡＣＭ２０６が作成して管理する認証コンテキストのデータ構造を説明する図である。
【０１２８】
図９において、属性(Ａｔｔｒｉｂｕｔｅ)列９０１は認証コンテキストが持つ属性を示している。またデータタイプ（ＤａｔaＴｙｐｅ）列９０２は各属性に対応したデータタイプを示している。
【０１２９】
認証サービスタイプ属性（ＡｕｔｈＳｖｃＴｙｐｅ）９０３は、どの認証サービス（ＬＡＳ２１０、ＲＡＳ２１１、ＷＡＳ２１２）から作られた認証コンテキストであるかを識別するための情報を格納する。
【０１３０】
認証サーバアドレス属性（ＡｕｔｈＳｅｒＩＰ）９０４は、認証サーバ１４０のＩＰアドレスを格納する。ＳＴ属性（ＳｅｃｕｒｉｔｙＴｏｋｅｎ）９０５は、認証サーバ１４０から取得したＳＴを格納する。
【０１３１】
ユーザ名属性（ＵｓｅｒＮａｍｅ）９０６は、認証サーバ１４０から取得したユーザ名を格納する。ユーザＩＤ属性（ＵｓｅｒＩＤ）９０７は、認証サーバ１４０から取得したユーザのユーザＩＤを格納する。
【０１３２】
グループ名属性（ＧｒｏｕｐＮａｍｅ）９０８は、認証サーバ１４０から取得したユーザが所属するグループ名を格納する。グループＩＤ属性（ＧｒｏｕｐＩＤ）９０９は、認証サーバ１４０から取得したグループのグループＩＤを格納する。
【０１３３】
ドメイン名属性（ＤｏｍａｉｎＮａｍｅ）９１０は、認証サーバ１４０から取得したユーザが所属するドメイン名を格納する。メールアドレス属性（Ｅｍａｉｌ）９１１は、認証サーバ１４０から取得したユーザのメールアドレスを格納する。９１２はアクセス権属性（ＡｃｃｅｓｓＲｉｇｈｔ）である。
【０１３４】
[ウェブサービス認証サービスモジュール２１２に対する処理の流れ]
図１０は、図２に示したＷＡＳ２１２に対する処理の一例を説明する図である。なお、Ｓ１００２〜Ｓ１００９は各ステップを示す。
【０１３５】
図１０において、クライアント１００１は、ＷＡＳ２１２に対してウェブサービスとしてＨＴＴＰ要求を送信し、ＨＴＴＰ応答を受信するソフトウェアを実装する端末であり、本実施形態ではサーバ１３０に相当する。
【０１３６】
まず、Ｓ１００２で、クライアント１００１は、画像処理装置１１０のＷＡＳ２１２に対して認証方式を問い合わせるためのＨＴＴＰ要求を送る。次に、Ｓ１００３で、クライアント１００１によるＳ１００２の要求に対して、ＷＡＳ２１２はクライアント１００１に対して認証方式を返信する。
【０１３７】
そして、Ｓ１００４で、ＷＡＳ２１２は、クライアント１００１から受け取るＣｒｅｄｅｎｔｉａｌに対するユーザ認証を行う。
【０１３８】
Ｓ１００４でクライアント１００１からＷＡＳ２１２に対してＳＴを渡しユーザ認証を行うと、ウェブサービス認証サービスモジュール２１２は、認証サーバに対してそのＳＴが正当であるかどうかの確認を行う。ここで、ＳＴが正当な場合は認証サーバ１４０からＯＫが返る。
【０１３９】
ユーザ認証に成功すると、ＷＡＳ２１２はＡＣＭ２０６に対して認証コンテキスト作成を依頼する。ＡＣＭ２０６はＳＴとユーザ情報を元に認証コンテキストを作成し保存する。このようにして、認証コンテキストが作成されると、ユーザは認証コンテキストに基づいた権限で画像処理装置１１０のサービスをウェブサービス経由で利用することができる。
【０１４０】
そして、Ｓ１００５で、ＷＡＳ２１２は、クライアント１００１に対してＳＴを返信する。次に、Ｓ１００６で、クライアント１００１はウェブサービス記述のヘッダ部分にＳＴを付加する形式で挿入し、画像処理装置１１０に対してＨＴＴＰ要求を送る。
【０１４１】
ＷＡＳ２１２は、クライアント１００１から受け取るＨＴＴＰ要求のヘッダ部のＳＴを読み取り、ＳＴが正当なものであるかを判断する。ここで、受け取ったＳＴが正しくないと判断した場合は、Ｓ１００７でクライアント１００１に対してエラーを返信する。ここで、ＳＴが正当なものであるとＷＡＳ２１２が判断した場合、ローカル認証サービス経由で作成した認証コンテキストと、ウェブサービス経由で作成した認証コンテキストが一致しているかどうかをＷＡＳ２１２が確認する。
【０１４２】
ここで、ＷＡＳ２１２が２つの認証コンテキストが一致していると判断した場合は、ＷＳＰ２０７に対してウェブサービス呼び出しを行う。一方、ＷＡＳ２１２が２つの認証コンテキストが一致していないと判断した場合は、Ｓ１００７で、ＷＡＳ２１２はエラーをクライアント１００１に返す。
【０１４３】
次に、Ｓ１００８で、クライアント１００１はログアウトのＨＴＴＰ要求をＷＡＳ２１２へ送る。ＷＡＳ２１２はログアウト要求を受け取ると、ＡＣＭ２０６に対応した認証コンテキストを破棄するように依頼し、ＡＣＭ２０６は認証コンテキストを破棄する。
【０１４４】
そして、Ｓ１００９で、認証コンテキストが破棄されたら、ＷＡＳ２１２からクライアント１００１にＯＫが返り、失敗したらＮＧが返信される。
【０１４５】
[サーバ１３０の詳細構成について]
次に、サーバ１３０の詳細構成について図１１を参照しながら説明する。
【０１４６】
図１１は、図１に示したサーバ１３０の詳細構成を示すブロック図である。
【０１４７】
図１１において、アプリケーションサーバ部１３２のビジネスロジック部１１０３は、ＨＴＴＰ要求に応じてウェブサーバ部１３１から呼び出されて処理を実行する。ビジネスロジック部１１０３は、処理結果として、動的に生成したＨＴＭＬをウェブサーバ部１３１に返す。
【０１４８】
アプリケーションサーバ部１３２のスクリプトエンジン部１１０２は、ビジネスロジック部から呼び出され、後述するプログラム管理領域１１０５からスクリプトを読み込んでビジネスロジック部１１０３に返す。ここで、スクリプトとは、プログラム実行記述書に対応するものである。
【０１４９】
ビジネスロジック部１１０３は、スクリプトエンジン部１１０２によって読み込まれたスクリプトを順次実行する。そして、ウェブサービスリクエスタ部１１０１は、ビジネスロジック部１１０３から呼び出され、外部のウェブサービスプロバイダ（例えば、ＷＳＰ２０７）に対してウェブサービス呼び出しを行う。
【０１５０】
認証部１１０４は、ビジネスロジック部１１０３から呼び出され、ユーザ認証処理の管理・制御及びにユーザ情報管理、ユーザ設定管理を行う。データ管理部１３３のプログラム管理領域１１０５は、各種スクリプト及びスクリプトから呼び出されるプログラムを管理する。プログラム管理領域１１０５のデータはプラグイン機構（不図示）により追加や変更可能である。このプラグイン機構により、サーバ１３０の機能カスタマイズを可能にする。
【０１５１】
データ格納領域１１０６は、文書などのデータを格納する領域である。プリファレンスデータ領域１１０７は、ユーザ毎の設定情報を格納する領域である。
【０１５２】
ビジネスロジック部１１０３は、認証部１１０４より取得したＳＴをアクセスキーとしてプリファレンスデータ領域１１０７に格納されたユーザ毎の設定情報を取得する。そして、ビジネスロジック部１１０３は、さらに取得したユーザ毎の設定情報を用いて、ユーザ毎にカスタマイズした画面や機能を提供する。
【０１５３】
上述したようなシステムの構成にて、画像処理装置１１０を操作するユーザは、サーバ１３０に実装されたユーザインタフェースを取得し、取得したユーザインタフェースを画像処理装置１１０の操作部１１２に表示させる。そして、操作部１１２に表示されたユーザインタフェースを用いて、ユーザは、画像処理装置１１０に所望の処理を実行させるための指示を行う。ユーザによって行われた指示は、画像処理装置１１０によってサーバ１３０に送信される。サーバ１３０は、ユーザによって行われた指示の処理内容を判断し、当該指示内容に対応する処理要求を画像処理装置１１０に送信する。画像処理装置１１０は、サーバ１３０によって送信された処理要求を受信し、当該処理要求に従って動作する。このように動作させることによって、ユーザは、サーバ１３０に実装されたインタフェースを用いて、画像処理装置１１０に所望の動作を行わせることができる。この処理要求は、サーバ１３０がユーザインタフェースを送信することによって開始されたセッションにて行ってもよいし、そのセッションとは異なるセッションを開始して行ってもよい。
【０１５４】
なお、この処理要求には、画像処理装置１１０を特定する情報も含まれており、これにより、画像処理装置１１０に処理を実行させるものである。
【０１５５】
また、ユーザは、画像処理装置１１０を次のように動作させることもできる。例えば、ユーザは、サーバ１３０に実装されたユーザインタフェースによって、サーバ１３０以外の外部装置に処理要求を送信し、当該外部装置が処理要求の結果を画像処理装置１１０に送信するように制御させることができる。ここでいう外部装置の処理とは、例えば、データのダウンロード要求等があり、外部装置がユーザによって指定された場所からデータをダウンロードし、ダウンロードが完了した場合に、画像処理装置１１０にダウンロードしたデータを送信する。
【０１５６】
次に、本実施形態を示す画像処理システムにおける画像処理について図１２のフローチャートを参照しながら説明する。
【０１５７】
図１２は、本実施形態を示す画像処理システムにおけるデータ処理を説明するフローチャートである。本例は、画像処理装置１１０、サーバ１３０，認証サーバ１４０を含む画像処理システムにおける画像処理例である。特に、画像処理装置１１０がサーバ１３０が提供するＵＩサービスを用いて、画像処理を指示する際の一連のデータ処理例である。また、Ｓ１２０１、Ｓ１２０２、Ｓ１２０６〜Ｓ１２０９、Ｓ１２２０、Ｓ１２２１、Ｓ１２２６、Ｓ１２２８、Ｓ１２３１、Ｓ１２３２、Ｓ１２３４、Ｓ１２３５、Ｓ１２３６、Ｓ１２３８〜Ｓ１２４２は画像処理装置の処理に対応する。また、Ｓ１２０３〜Ｓ１２０５、Ｓ１２１２〜Ｓ１２１５、Ｓ１２２７、Ｓ１２２９、Ｓ１２３０は認証サーバ１４０の処理に対応する。また、Ｓ１２１０、Ｓ１２１１、Ｓ１２１３、Ｓ１２１６〜Ｓ１２１９、Ｓ１２２２〜Ｓ１２２５、Ｓ１２３３、Ｓ１２３７はサーバ１３０の処理である。また、各ステップは、画像処理装置１１０、認証サーバ１４０、サーバ１３０が備えるＣＰＵがＲＡＭに図２に示したモジュールをロードして実行することで実現される。なお、説明上、制御を実行するモジュールに従い処理を説明する。
【０１５８】
図１３は、図１に示した画像処理装置１１０が備える操作部１１２に表示されるログイン画面の一例を示す図である。本例では、ユーザが、当該操作部１１２を操作して、ユーザ名、ドメイン名、パスワードのＣｒｅｄｅｎｔｉａｌを入力して画像処理装置１１０にログインする。画像処理装置１１０にログインした場合に、ユーザは、画像処理装置１１０の使用を許可される。
【０１５９】
また、本実施形態では、認証サーバ１４０を画像処理システムとして独立した情報処理装置で構成する場合について説明するが、認証サーバ１４０の機能と同様の機能を画像処理装置１１０、あるいは、サーバ１３０が備えていてもよい。
【０１６０】
Ｓ１２０１で、ユーザは、操作部１１２に表示される図１３に示されるユーザ名入力テキストボックス１３０１に対して、ユーザ名を入力する。なお、ユーザがユーザ名入力テキストボックス１３０１を選択するとＵＩモジュール２０１はソフトキーボードを操作部１１２に表示する。これによりユーザは文字入力を簡便に行うことができるように構成されている。
【０１６１】
同様に、ユーザは、操作部１１２に表示される図１３に示されるドメイン名入力テキストボックス１３０２からあらかじめ登録されたドメイン名を選択する。なお、ドメイン名入力テキストボックス１３０２に表示されるドメインの個数は、画像処理装置１１０が対応する認証サーバの個数に対応している。
【０１６２】
つまり、画像処理装置１１０は複数の認証サーバとやり取り可能である。
【０１６３】
同様に、ユーザは、操作部１１２に表示される図１３に示されるパスワード入力テキストボックス１３０３にパスワードを入力。このようにして、ユーザにより、ユーザ名、ドメイン名、パスワードの入力あるいは選択が完了した後、ＯＫボタン１３０４が押下される。これにより、入力されたユーザ名、ドメイン名、パスワードのＣｒｅｄｅｎｔｉａｌがＵＩモジュール２０１からＬＡＳ２１０に渡される。
【０１６４】
次に、Ｓ１２０２で、ＬＡＳ２１０は認証サーバ１４０に対してＣｒｅｄｅｎｔｉａｌを送信する。そして、Ｓ１２０３で、認証サーバ１４０は、予め認証サーバ１４０に登録しておいたユーザごとのＣｒｅｄｅｎｔｉａｌと、ＬＡＳ２１０から受信したＣｒｅｄｅｎｔｉａｌとに基づいてユーザ認証を行う。ここで、認証サーバ１４０は、ＬＡＳ２１０から受け取ったＣｒｅｄｅｎｔｉａｌに基づくユーザ認証に成功しているかどうかを判断する。ここで、認証サーバ１４０がユーザ認証に失敗していると判断した場合は、Ｓ１２０１へ戻る。つまり、ＬＡＳ２１０から受信したＣｒｅｄｅｎｔｉａｌが正しくない場合、認証サーバ１４０からＬＡＳ２１０に対して認証失敗が返信され、再度認証画面が操作部１１２に表示されて、Ｓ１２０１に遷移する。
【０１６５】
一方、Ｓ１２０３で、ＬＡＳ２１０から受信したＣｒｅｄｅｎｔｉａｌに対する認証を成功したと認証サーバ１４０が判断した場合は、Ｓ１２０４に遷移する。
【０１６６】
そして、Ｓ１２０４で、認証サーバ１４０は、画像処理装置１１０から受け取ったＣｒｅｄｅｎｔｉａｌに対応したＳＴ（認証トークン）を発行し、Ｓ１２０５で、認証サーバ１４０はＬＡＳ２１０に対してＳＴを返信する。
【０１６７】
次に、Ｓ１２０６で、ＬＡＳ２１０は認証サーバ１４０から受信したＳＴをキーとして再度認証サーバ１４０に問い合わせを行い、ユーザ情報を取得する。そして、Ｓ１２０７で、ＡＣＭ２０６は認証コンテキストを作成して、ＲＡＭ３０２上に保存する。
【０１６８】
ここで、画像処理装置１１０を操作するユーザが操作部１１２でブラウザ画面８００を表示するよう指示する。そして、ユーザからの指示に基づき、画像処理装置１１０のウェブブラウザモジュール２０９は、ＵＰＭ２０８で管理されている初期表示ＵＲＬ情報に基づき、サーバ１３０のＵＲＬに対してＧＥＴメソッドのＨＴＴＰ要求を送信する。サーバ１３０はユーザの認証が成功していることを条件として動作するため、受信したＨＴＴＰ要求にＳＴが含まれていないと、ＨＴＴＰ要求してきたクライアントとのユーザの認証が行われていないと判断する。その場合、サーバ１３０からはログイン画面に対応したＨＴＴＰ応答が画像処理装置１１０のウェブブラウザモジュール２０９に返信され、ブラウザ画面８００ではサーバ１３０へのログイン画面が表示される。
【０１６９】
ただし、サーバ１３０がＳＳＯ（シングル・サイン・オン）に対応している場合、すでに認証サーバ１４０のＳＴを画像処理装置１１０の認証コンテキスト管理モジュール２０６で保持している。このため、ＳＴをＨＴＴＰ要求に含めてサーバ１３０に送信することによりＳ１２０８からＳ１２１５は省略可能である。Ｓ１２０８からＳ１２１５を省略した場合、Ｓ１２０７からＳ１２１６に処理を進める。以下、Ｓ１２０８以降の処理を説明する。Ｓ１２０８からＳ１２１５を省略することによって、ユーザは、Ｓ１２０１で画像処理装置１１０にログインする際に一度Ｃｒｅｄｅｎｔｉａｌを入力しておけば、Ｓ１２０８で再度Ｃｒｅｄｅｎｔｉａｌを入力する必要がなくなり、操作性が向上する。
【０１７０】
Ｓ１２０８で、操作部１１２を操作するユーザから画像処理装置１１０のブラウザログイン画面（不図示）でユーザ名、ドメイン名、パスワードのＣｒｅｄｅｎｔｉａｌの入力を受け付ける。すると、Ｓ１２０９で、画像処理装置１１０のウェブブラウザモジュール２０９はＨＴＴＰモジュール２１４を通してＣｒｅｄｅｎｔｉａｌをＰＵＴメソッドのＨＴＴＰ要求としてサーバ１３０に送信する。
【０１７１】
次に、Ｓ１２１０で、サーバ１３０のウェブサーバ部１３１は画像処理装置１１０からのＣｒｅｄｅｎｔｉａｌをＨＴＴＰ要求として受信する。そして、Ｓ１２１１で、サーバ１３０の認証部１１０４は、ウェブサーバ部１３１からビジネスロジック部１１０３経由でＣｒｅｄｅｎｔｉａｌを受け取り、認証サーバ１４０に対してＣｒｅｄｅｎｔｉａｌを送信する。
【０１７２】
そして、Ｓ１２１２で、認証サーバ１４０は、予めユーザごとに登録しておいたＣｒｅｄｅｎｔｉａｌと、サーバ１３０の認証部１１０４から受信したＣｒｅｄｅｎｔｉａｌとを用いてユーザ認証を行う。ここで、認証部１１０４がユーザ認証に成功しているかどうかを判断し、ユーザ認証を成功していると判断した場合は、Ｓ１２１４に遷移する。
【０１７３】
一方、Ｓ１２１２で、サーバ１３０の認証部１１０４から受信したＣｒｅｄｅｎｔｉａｌが正しくないと認証部１１０４が判断した場合は、Ｓ１２１３に遷移する。そして、Ｓ１２１３で、ウェブサーバ部１３１は、画像処理装置１１０に対して認証失敗であることを示すメッセージと認証画面を合成したＨＴＭＬを作成して、ＨＴＴＰ応答として画像処理装置１１０に返す。
【０１７４】
次に、Ｓ１２１４で、認証サーバ１４０はＣｒｅｄｅｎｔｉａｌに対応したＳＴを発行し、Ｓ１２１５で、認証サーバ１４０はサーバ１３０の認証部１１０４に対しＳＴを返信する。
【０１７５】
次に、サーバ１３０の認証部１１０４は、認証サーバ１４０から受信したＳＴを用いて、再度認証サーバ１４０に問い合わせを行い、ユーザ情報を取得する。そして、認証部１１０４は取得したＳＴ及びにユーザ情報をプリファレンスデータ領域１１０７に格納する。
【０１７６】
そして、サーバ１３０のビジネスロジック部１１０３は、ユーザ認証に成功している場合、ユーザのＳＴをアクセスキーにデータ管理部１３３のプリファレンスデータ領域１１０７からユーザの画面作成に必要なユーザ情報を取り出す。
【０１７７】
次に、Ｓ１２１６で、ビジネスロジック部１１０３は、以前に失敗して残っている処理タスクがあるかどうかを判断する。ここで、残っている処理タスクがないとビジネスロジック部１１０３が判断した場合は、Ｓ１２１７へ遷移し、残っている処理タスクが有るとビジネスロジック部１１０３が判断した場合は、Ｓ１２１８へ遷移する。なお、残っている処理タスクとは、図１４に示したボタン１４０１〜１４０４のいずれかのボタンがユーザに押下されたが、機能実行に失敗した場合に、Ｓ１２３７でサーバ１３０に残される処理タスクをいう。また、後述するＳ１２３７で保存される内容は、上記ボタンを操作したユーザを示すユーザ情報と、「ボタンに対応したスクリプト」とである。これにより、ユーザの次回ログイン時に認証情報からユーザを特定し、そのユーザに対してだけ、残っている処理タスクを表示することが可能となる。
【０１７８】
つまり、上記ユーザ情報と、「ボタンに対応したスクリプト」をサーバ１３０で保存して管理することで、再度ユーザがログインした場合に、ボタンに対応する機能を実行できるようになる。一例を挙げれば、図１４に示すボタン１４０３、すなわち、Scan to フォルダＡに対応する機能を実行させる際に、当該ボタン１４０３をユーザが押下したのち、認証処理の途中で処理が中断する場合がある。なお、図１４のボタンの各ボタンの説明については後述する。このような場合に、当該機能のために設定するストレージへのパス等の情報が保持されることとなり、次回、ユーザがログインした場合に、そのようなパス設定等の処理が不要となり、ユーザによる操作負担を軽減できる。
【０１７９】
そして、Ｓ１２１７で、ビジネスロジック部１１０３は、ユーザ情報を元にユーザに対応した画面構築を行い、実行画面情報（Ｗｅｂページ）を作成し、Ｓ１２１９へ進む。
【０１８０】
一方、Ｓ１２１８では、ビジネスロジック部１１０３は残処理の表示画面とユーザ情報を元にユーザに対応した画面の２つを合わせた画面構築を行い、画面（Ｗｅｂページ）を作成する。
【０１８１】
そして、Ｓ１２１９で、ウェブサーバ部１３１は、ビジネスロジック部１１０３が作成した画面をステップ１２０９の画像処理装置１１０からのＨＴＴＰ要求のＨＴＴＰ応答として画像処理装置１１０に返信する。Ｓ１２１９で作成された画面情報が画像処理装置１１０に送信される。
【０１８２】
図１４を用いて、画像処理装置１１０がサーバ１３０から受信したＨＴＴＰ応答をブラウザ画面８００で表示した画面の一例について説明する。
【０１８３】
図１４は、図２に示した操作部１１２に表示されるユーザインタフェースの一例を示す図である。本例は、サーバ１３０から画面情報を受け取って画像処理装置１１０のウェブブラウザ２０９、ＵＩモジュール２０１を介して表示されるユーザインタフェースに対応する。つまり、ＷＡＳ２１２による認証が完了した状態で、画像処理装置１１０がサーバ１３０から提供されるユーザインタフェースに対応する。また、後述するボタンは、サーバ１３０の機能を用いた画像処理を実行させるためのボタンとしても機能する。
【０１８４】
図１４において、ボタン１４０１は、画像処理装置１１０で紙原稿をスキャンし、画像処理装置１１０でカラー印刷を行うためのボタンである。ボタン１４０２は、画像処理装置１１０で紙原稿をスキャンし、画像処理装置１１０で白黒印刷を行うためのボタンである。
【０１８５】
また、ボタン１４０３は、画像処理装置１１０で紙原稿をスキャンし、スキャンした画像データを画像処理装置１１０でＰＤＦ形式のデータに変換する。そして、ＰＤＦ形式のデータに変換された画像データを画像処理装置１１０からサーバ１３０のデータ格納領域１１０６のフォルダＡ（論理領域）へデータ格納するためのボタンである。
【０１８６】
ボタン１４０４は、サーバ１３０のデータ格納領域１１０６に保存された“ＸＸＸ文書.PDF“文書を画像処理装置１１０で印刷するためのボタンである。これらボタンが画像処理装置１１０の操作部１１２からユーザの操作に基づいて押下される。
【０１８７】
そして、画像処理装置１１０の操作部１１２で押下されたボタン情報がサーバ１３０に通知されると、サーバ１３０のビジネスロジック部１１０３でボタンに対応したロジックを動作させる。
【０１８８】
そして、ビジネスロジック部１１０３でボタンに対応したロジックを動作させると、ウェブサービスリクエスタ部１１０１を通して画像処理装置１１０の各機能に対応したウェブサービスが呼び出されて処理が実行される。各ボタンに対応したビジネスロジックは、スクリプトにより表現されるため、スクリプトの表現により様々なパターンの機能ボタンの提供が可能である。つまり、複数の機能を連携した機能ボタンを表示することも可能である。例えばボタン１４０１〜１４０４を組み合わせたボタン等が考えられる。この図１４に示される画面は、ホストコンピュータ１２０が備える表示部にも表示することができる。具体的な手順として、まず、ホストコンピュータ１２０は、サーバ１３０にアクセスする際に、Ｗｅｂブラウザ１２０Ａを介してユーザによって入力されたユーザＩＤや、パスワード等の情報をサーバ１３０に送信する。サーバ１３０は、送信されたユーザＩＤや、パスワード等の情報をもとに、認証サーバ１４０によって認証を行わせる。認証に成功した場合に、サーバ１３０は、図１４のような画面をホストコンピュータ１２０のＷｅｂブラウザ１２０Ａに送信し、表示させる。そして、ユーザは、表示された画面に表示されたボタン１４０１〜１４０４を用いて、画像処理装置１１０に対する指示を行うことができる。このように、ホストコンピュータ１２０から画像処理装置１１０に対して指示を行うこともできる。
【０１８９】
以下、図１４に示すユーザインタフェースにおいて、ボタン１４０１が画像処理装置１１０の操作部１１２からユーザに押下された場合について詳細に説明する。
【０１９０】
Ｓ１２２０で、画像処理装置１１０の操作部１１２に表示されるボタン１４０１がユーザに押下さると、ボタン１４０１の押下イベントがＵＩモジュール２０１からウェブブラウザモジュール２０９に通知される。なお、Ｓ１２２０では、認証されたユーザ情報に適応したボタンが表示されるように表示制御が実行されて、図１４に示すユーザインタフェースが表示される。
【０１９１】
そして、Ｓ１２２１で、ウェブブラウザモジュール２０９からボタン１４０１が押下されたことを意味するＰＵＴメソッドのＨＴＴＰ要求がＨＴＴＰモジュール２１４を通してサーバ１３０に送信される。
【０１９２】
次に、Ｓ１２２２で、サーバ１３０のウェブサーバ部１３１は、画像処理装置１１０からボタン１４０１が押下されたことを意味するＨＴＴＰ要求を受け取る。そして、ウェブサーバ部１３１は、ビジネスロジック部１１０３に受け取ったボタン１４０１に対応したロジック処理を依頼する。
【０１９３】
次に、Ｓ１２２３で、ビジネスロジック部１１０３はボタンに対応したスクリプトをプログラム管理領域１１０５から取り出してスクリプトエンジン部１１０２にスクリプト処理を依頼する。
【０１９４】
そして、Ｓ１２２４で、スクリプトエンジン部１１０２はスクリプトの内容から画像処理装置１１０に対する処理内容及びに設定情報等を読み込んでビジネスロジック部１１０３に返す。
【０１９５】
次に、Ｓ１２２５で、サーバ１３０のビジネスロジック部１１０３は、ウェブサービスリクエスタ部１１０１から画像処理装置１１０に対してウェブサービスを用いて画像処理装置１１０の機能利用するための認証処理を行う。
【０１９６】
なお、サーバ１３０が保持しているＳＴを送信する場合は、Ｓ１２２６からＳ１２３０は省略できる。
【０１９７】
Ｓ１２２６で、画像処理装置１１０のＷＡＳ２１２は、サーバ１３０から受け取ったＣｒｅｄｅｎｔｉａｌを認証サーバ１４０に対して送信する。そして、Ｓ１２２７で、認証サーバ１４０は、画像処理装置１１０のＷＡＳ２１２から受信したＣｒｅｄｅｎｔｉａｌでユーザ認証を行う。そして、認証サーバ１４０は画像処理装置１１０のＷＡＳ２１２から受信したＣｒｅｄｅｎｔｉａｌの認証がＯＫかどうかを判断する。ここで、ユーザ認証がＯＫ（成功）であると認証サーバ１４０が判断した場合は、Ｓ１２２９に遷移する。
【０１９８】
一方、Ｓ１２２７で、ＷＡＳ２１２から受信したＣｒｅｄｅｎｔｉａｌが正しくないと認証サーバ１４０が判断した場合は、認証サーバ１４０から画像処理装置１１０のＷＡＳ２１２に対して認証失敗が返信される。
【０１９９】
そして、Ｓ１２２８で、画像処理装置１１０のＷＡＳ２１２からサーバ１３０に対して、認証失敗が返信され、サーバ１３０によるＳ１２２５に遷移する。
【０２００】
一方、Ｓ１２２７で、ＷＡＳ２１２から受信したＣｒｅｄｅｎｔｉａｌが成功であると認証サーバ１４０が判断した場合は、Ｓ１２２９で、認証サーバ１４０はＣｒｅｄｅｎｔｉａｌに対応したＳＴを発行する。そして、Ｓ１２３０で、認証サーバ１４０は画像処理装置１１０のＷＡＳ２１２に対しＳＴを返信する。
【０２０１】
次に、Ｓ１２３１で、画像処理装置１１０のＷＡＳ２１２は認証サーバ１４０から受信したＳＴをキーとして再度認証サーバ１４０に問い合わせを行い、ユーザ情報を取得する。
【０２０２】
そして、Ｓ１２３２で、ＡＣＭ２０６は、認証サーバ１４０から受信したＳＴと認証サーバ１４０から取得したユーザ情報とから認証コンテキストを作成しＲＡＭ３０２に保存する。
【０２０３】
次に、Ｓ１２３３で、サーバ１３０のビジネスロジック部１１０３は認証に成功すると、スクリプトエンジン部１１０２から返されたスクリプトの実行処理を順次実行する。ここでは、ＳＴとスキャン要求のウェブサービスのＨＴＴＰ要求を画像処理装置１１０に送信する。
【０２０４】
そして、Ｓ１２３４で、画像処理装置１１０のＷＡＳ２１２はＳＴとスキャン要求をサーバ１３０から受け取る。
【０２０５】
次に、Ｓ１２３５で、ＷＡＳ２１２は、Ｓ１２０７にてローカル認証サービス経由で作成した認証コンテキストと、Ｓ１２３２にてウェブサービス経由で作成した認証コンテキストが一致しているかどうかを確認する。なお、一致しているかどうかの判断方法には、ＳＴ属性９０５、ユーザ名属性９０６、ユーザＩＤ属性９０７、グループ名属性９０８、グループＩＤ属性９０９、ドメイン名属性９１０、メールアドレス属性９１１のいずれかで比較を行う方法がある。なお、これらの属性を組み合わせて比較する方法を用いてもよい。
【０２０６】
ここで、ＷＡＳ２１２が比較の結果、ローカル認証サービス経由で作成した認証コンテキストとウェブサービス経由で作成した認証コンテキストが一致していないと判断した場合、Ｓ１３３６で、ＷＡＳ２１２は、サーバ１３０にエラーを返す。そして、Ｓ１２３７で、サーバ１３０のビジネスロジック部１１０３はプリファレンスデータ領域１１０７に処理が失敗したことを保存して、本処理を終了する。ここでは、サーバ１３０のビジネスロジック部１１０３がプリファレンスデータ領域１１０７に残っている処理タスクをユーザ情報に関連付けて保存する。
【０２０７】
一方、Ｓ１２３５で、ＷＡＳ２１２が比較の結果、ローカル認証サービス経由で作成した認証コンテキストとウェブサービス経由で作成した認証コンテキストが一致していると判断した場合は、Ｓ１２３８へ遷移する。ここで、ローカル認証サービス経由で作成された認証コンテキストがないとＷＡＳ２１２が判断した場合は、Ｓ１２３８へ遷移する。
【０２０８】
次に、Ｓ１２３８で、ＷＳＰ２０７のスキャンのウェブサービスが呼ばれる。そして、Ｓ１２３９で、スキャンのウェブサービス呼び出しでスキャン設定がされていない場合は、ユーザに対して操作部１１２でスキャン設定画面を表示し、スキャン設定をさせる。
【０２０９】
一方、スキャンのウェブサービス呼び出しでスキャン設定がなされている場合は、Ｓ１２３９は省略される。
【０２１０】
そして、Ｓ１２４０で、ユーザは、紙原稿をスキャナ１１３にセットし、スキャンを実行する。なお、スキャナ１１３に、原稿給送装置（ＡＤＦ）が接続されている場合には、ＡＤＦを利用してスキャンを実行してもよい。
【０２１１】
そして、Ｓ１２４１で、スキャナ１１３は、給送される紙原稿或いは載置される紙原稿の画像を読み取る。そして、Ｓ１２４２で、プリンタ１１４は読み取った画像データに従って印刷処理を実行して、本処理を終了する。
【０２１２】
以上のように、サーバ１３０等の外部装置にユーザインタフェースを実装することによって、画像処理装置１１０にユーザインタフェースを実装する場合に比べて、ソフトウェアの実装が容易であるというメリットがある。画像処理装置１１０のユーザインタフェースを実装する場合には、画像処理装置１１０特有のプログラミング方法について習熟していなければならない。一方、サーバ１３０にユーザインタフェースを実装する場合には、Ｗｅｂアプリケーション用のソフトウェアを実装できれば充分であるためである。
【０２１３】
また、以上のように、画像処理装置１１０の操作部１１２でユーザ認証した際に生成した第１の認証コンテキストと、ネットワークからウェブサービスリクエストでユーザ認証した第２の認証コンテキストをＷＡＳ２１２が比較する。そして、ＷＡＳ２１２が、第１の認証コンテキストと第２の認証コンテキストが一致しないと判断した場合は、ウェブサービスリクエストをネットワークから受け付けない。これにより、成りすましを防ぎ、画像処理装置１１０の操作部１１２で操作を行うユーザがスキャン、プリントサービスを実行することができる。
【０２１４】
例えば、画像処理装置１１０の操作部１１２によってＣｒｅｄｅｎｔｉａｌを入力していない第三者が、ネットワークを介してサーバ１３０にアクセスし、サーバ１３０が備える操作画面を介して画像処理装置１１０に対してスキャン要求を行ったとする。その場合に、サーバ１３０から画像処理装置１１０に送られるスキャン要求には、正しいＳＴが付けられないため、当該スキャン要求に基づくスキャンは画像処理装置１１０で実行されない。一方、画像処理装置１１０の操作部１１２によりＣｒｅｄｅｎｔｉａｌを入力したユーザであれば、画像処理装置１１０の操作部１１２から行ったスキャン要求には、正しいＳＴが付けられるため、当該スキャン要求に基づいて処理が実行される。このように制御することによって、例えば、ユーザがスキャナ１１３に原稿をセットした状態で、第三者によるスキャン要求を受付け、原稿をセットしたユーザの意図に反したスキャン処理が実行されてしまうといった事態を防ぐことができる。
【０２１５】
このようにローカル認証サービス経由で作成した認証コンテキストとウェブサービス経由で作成した認証コンテキストが一致しない限り、サーバ１３０で認証されてもウェブサービスリクエストが実行されない。
【０２１６】
なお、本実施形態において、画像処理装置１１０が、サーバ１３０からスキャン要求を受信してスキャン処理（読取処理）を実行する場合について説明したが、スキャン要求以外の処理要求であってもよい。例えば、ＨＤＤ３０４に格納されたデータを印刷するための要求やその他の処理要求であってもよい。また、本実施形態においては、サーバ１３０がユーザインタフェース送信を行い、送信されたユーザインタフェースを介してユーザが行った指示を、画像処理装置１１０がサーバ１３０に対して指示送信を行う場合について説明した。そして、当該送信された指示をサーバ１３０が直接、指示受信を行う例について説明した。しかしながら、指示送信によって送信される指示は、サーバ１３０以外の装置を経由してサーバ１３０に到達する構成であってもよい。
【０２１７】
以下、図１５に示すメモリマップを参照して本発明に係る画像処理システムで読み取り可能なデータ処理プログラムの構成について説明する。
【０２１８】
図１５は、本発明に係る画像処理装置、サーバ、認証サーバを含む画像処理システムで読み取り可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。
【０２１９】
なお、特に図示しないが、記憶媒体に記憶されるプログラム群を管理する情報、例えばバージョン情報，作成者等も記憶され、かつ、プログラム読み出し側のＯＳ等に依存する情報、例えばプログラムを識別表示するアイコン等も記憶される場合もある。
【０２２０】
さらに、各種プログラムに従属するデータも上記ディレクトリに管理されている。また、各種プログラムをコンピュータにインストールするためのプログラムや、インストールするプログラムが圧縮されている場合に、解凍するプログラム等も記憶される場合もある。
【０２２１】
本実施形態におけるフローチャートに示す機能が外部からインストールされるプログラムによって、ホストコンピュータにより遂行されていてもよい。そして、その場合、ＣＤ−ＲＯＭやフラッシュメモリやＦＤ等の記憶媒体により、あるいはネットワークを介して外部の記憶媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。
【０２２２】
以上のように、前述した実施形態の機能を実現するソフトウエアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給する。そして、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【０２２３】
この場合、コンピュータ読取可能な記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０２２４】
従って、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等、プログラムの形態を問わない。
【０２２５】
プログラムを供給するための記憶媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤなどを用いることができる。
【０２２６】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶したコンピュータ読み取り可能な記憶媒体は本発明を構成することになる。
【０２２７】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、該ホームページから本発明のコンピュータプログラムそのもの、もしくは、圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバやｆｔｐサーバ等も本発明の請求項に含まれるものである。
【０２２８】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【０２２９】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけではない。例えばそのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行う。そして、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０２３０】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込ませる。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０２３１】
本発明は上記実施形態に限定されるものではなく、本発明の趣旨に基づき種々の変形（各実施形態の有機的な組合せを含む）が可能であり、それらを本発明の範囲から除外するものではない。
【０２３２】
本発明の様々な例と実施形態を示して説明したが、当業者であれば、本発明の趣旨と範囲は、本明細書内の特定の説明に限定されるのではない。
【図面の簡単な説明】
【０２３３】
【図１】本実施形態を示す画像処理装置を含む画像処理システムの一例を示すブロック図である。
【図２】図１に示した画像処理装置１１０のソフトウェア構成を示すブロック図である。
【図３】図１に示した画像処理装置１１０の詳細構成を示すブロック図である。
【図４】図１に示した画像処理装置１１０の外観を示す図である。
【図５】図１に示した操作部１１２の外観構成を示す図である。
【図６】図１の操作部１１２の詳細構成を示すブロック図である。
【図７】図２に示したＨＴＴＰモジュール２１４によるＨＴＴＰプロトコルによる要求と応答の処理の流れを示す図である。
【図８】図６に示すＬＣＤ表示部５０１に表示されるユーザインタフェースの一例を示す図である。
【図９】図２に示したＡＣＭ２０６が作成して管理する認証コンテキストのデータ構造を説明する図である。
【図１０】図２に示したＷＡＳ２１２に対する処理の一例を説明する図である。
【図１１】図１に示したサーバ１３０の詳細構成を示すブロック図である。
【図１２】本実施形態を示す画像処理システムにおけるデータ処理を説明するフローチャートである。
【図１３】図１に示した画像処理装置１１０が備える操作部１１２に表示されるログイン画面の一例を示す図である。
【図１４】図２に示した操作部１１２に表示されるユーザインタフェースの一例を示す図である。
【図１５】本発明に係る画像処理装置、サーバ、認証サーバを含む画像処理システムで読み取り可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。
【符号の説明】
【０２３４】
１１０  画像処理装置
１２０  ホストコンピュータ
１３０  サーバ
１４０  認証サーバ
【図１】
2010114714.tif 000003
【図２】
2010114714.tif 000004
【図３】
2010114714.tif 000005
【図４】
2010114714.tif 000006
【図５】
2010114714.tif 000007
【図６】
2010114714.tif 000008
【図７】
2010114714.tif 000009
【図８】
2010114714.tif 000010
【図９】
2010114714.tif 000011
【図１０】
2010114714.tif 000012
【図１１】
2010114714.tif 000013
【図１２】
2010114714.tif 000014
【図１３】
2010114714.tif 000015
【図１４】
2010114714.tif 000016
【図１５】
2010114714.tif 000017