(57)【特許請求の範囲】
【請求項１】
外部装置と通信可能な画像処理装置において、
ユーザが前記画像処理装置にログインした場合に前記ユーザを識別するユーザ情報を記憶する記憶手段と、
表示手段に表示された操作画面上で前記ユーザが入力した操作情報と、前記記憶手段に記憶されたユーザ情報とを前記外部装置に送信する送信手段と、
ユーザ情報を含む処理要求を前記外部装置から受信する受信手段と、
前記受信手段によって受信された処理要求に含まれるユーザ情報と前記記憶手段に記憶されたユーザ情報とが一致する場合に、前記処理要求に応じて画像処理を実行する画像処理手段と、
前記ユーザが前記画像処理装置からログアウトする指示を受け付けた場合において、前記画像処理手段による画像処理の実行前であれば、前記ユーザ情報を退避ユーザ情報として前記記憶手段に記憶するよう制御する制御手段と、を備え、
前記制御手段は、前記受信手段により受信された処理要求に含まれるユーザ情報と前記記憶手段に記憶されたユーザ情報とが一致しない場合、前記処理要求に含まれるユーザ情報と前記記憶手段に記憶された退避ユーザ情報とが一致するか否かを確認し、前記処理要求に含まれるユーザ情報と前記退避ユーザ情報とが一致した場合、前記処理要求に応じて前記画像処理手段に画像処理を実行させるとともに前記退避ユーザ情報を削除することを特徴とする画像処理装置。
【請求項２】
前記受信手段によって受信された処理要求と前記記憶手段に記憶されたユーザ情報とが一致しない場合、前記制御手段は、前記画像処理手段による画像処理の実行を制限するよう制御することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記送信手段により操作情報とともに送信されるユーザ情報は、前記ユーザが画像処理装置にログインするための認証に使用したユーザＩＤを少なくとも含むことを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
前記受信手段によって受信された処理要求と前記記憶手段に記憶されたユーザ情報とが一致しない場合にエラーを前記外部装置に通知する通知手段を更に有することを特徴とする請求項１ないし３のいずれか１項に記載の画像処理装置。
【請求項５】
前記制御手段は、前記ユーザが前記画像処理装置からログアウトする指示を受け付けた場合において、前記外部装置に問い合わせを行い、処理要求を生成中か否かを判断することを特徴とする請求項１ないし４のいずれか１項に記載の画像処理装置。
【請求項６】
前記制御手段は、前記ユーザが前記画像処理装置からログアウトする指示を受け付けた場合において、前記画像処理手段による画像処理を実行後であれば、前記ユーザ情報を削除することを特徴とする請求項１ないし５のいずれか１項に記載の画像処理装置。
【請求項７】
前記制御手段は、前記ユーザが前記画像処理装置からログアウトした後、所定の期間が経過した場合、前記記憶手段に記憶された退避ユーザ情報を削除することを特徴とする請求項１ないし６のいずれか１項に記載の画像処理装置。
【請求項８】
前記画像処理装置は、ユーザ認証を行う認証装置と通信可能であり、
前記記憶手段は、前記認証装置により認証されたユーザ情報を記憶することを特徴とする請求項３に記載の画像処理装置。
【請求項９】
前記記憶手段は、更に、前記ユーザが認証されたことを示すセキュリティトークンを記憶することを特徴とする請求項１ないし８のいずれか１項に記載の画像処理装置。
【請求項１０】
前記ユーザと異なる他のユーザが前記画像処理装置にログインしているか否かを判別する判別手段を更に備え、
前記制御手段は、前記他のユーザが前記画像処理装置にログインしていると前記判別手段によって判別された場合、前記他のユーザが前記画像処理装置からログアウトするまで、前記処理要求に応じて前記画像処理手段が画像処理を実行することを制限することを特徴とする請求項１ないし９のいずれか１項に記載の画像処理装置。
【請求項１１】
前記画像処理手段は画像処理を実行することによりＷｅｂサービスを提供し、
前記受信手段が受信する処理要求は、前記画像処理装置にＷｅｂサービスを依頼する要求であることを特徴とする請求項１に記載の画像処理装置。
【請求項１２】
前記画像処理手段は、前記Ｗｅｂサービスを依頼する要求に応じて、コピー、スキャン、プリントの少なくともいずれかを行うことを特徴とする請求項１１に記載の画像処理装置。
【請求項１３】
外部装置と通信可能な画像処理装置において、
ユーザが前記画像処理装置にログインした場合に前記ユーザを識別するユーザ情報を記憶する記憶手段と、
操作手段に対してユーザが入力した操作情報と、前記記憶手段に記憶されたユーザ情報とを前記外部装置に送信する送信手段と、
ユーザ情報を含む処理要求を前記外部装置から受信する受信手段と、
前記処理要求に含まれるユーザ情報と前記記憶手段に記憶されたユーザ情報とが一致する場合に、前記処理要求に応じて画像処理を実行する画像処理手段と、
前記画像処理装置からログアウトする指示を前記ユーザから受け付けた場合に、前記記憶手段に記憶されたユーザ情報に一致するユーザ情報が含まれる処理要求が前記外部装置から受信されていなければ、前記ユーザが前記画像処理装置からログアウトすることを制限し、前記記憶手段に記憶されたユーザ情報に一致するユーザ情報が含まれる処理要求が前記外部装置から受信されていれば、前記ユーザを前記画像処理装置からログアウトさせて前記ユーザ情報を前記記憶手段から削除する制御手段と、
を有することを特徴とする画像処理装置。
【請求項１４】
前記外部装置に対して、前記外部装置において前記処理要求を生成する処理が実行中か否かを問い合わせる問い合わせ手段と、
前記制御手段は、前記問い合わせ手段による問い合わせの応答が前記処理要求を生成する処理が実行中であることを示す場合、前記ユーザがログアウトすることを制限することを特徴とする請求項１３に記載の画像処理装置。
【請求項１５】
前記制御手段は、少なくとも前記送信手段によって操作情報が送信されてから前記受信手段によって処理要求が受信されるまでは、前記ユーザがログアウトすることを制限することを特徴とする請求項１３に記載の画像処理装置。
【請求項１６】
前記第制御手段は、前記ユーザのログアウトを禁止する情報を表示手段に表示させるよう制御することを特徴とする請求項１３に記載の画像処理装置。
【請求項１７】
外部装置と通信可能な画像処理装置の制御方法であって、
ユーザが前記画像処理装置にログインした場合に前記ユーザを識別するユーザ情報を記憶する第１記憶ステップと、
表示手段に表示された操作画面上で前記ユーザが入力した操作情報と、前記第１記憶ステップで記憶されたユーザ情報とを前記外部装置に送信する送信ステップと、
ユーザ情報を含む処理要求を前記外部装置から受信する受信ステップと、
前記受信ステップで受信された処理要求に含まれるユーザ情報と前記第１記憶ステップで記憶されたユーザ情報とが一致する場合に、前記処理要求に応じて画像処理を実行する画像処理ステップと、
前記ユーザが前記画像処理装置からログアウトする指示を受け付けた場合において、前記画像処理ステップでの画像処理が実行される前であれば、前記ユーザ情報を退避ユーザ情報として記憶する第２記憶ステップと、
前記受信ステップで受信された処理要求に含まれるユーザ情報と前記第１記憶ステップ記憶されたユーザ情報とが一致しない場合、前記処理要求に含まれるユーザ情報と前記第２記憶ステップで記憶された退避ユーザ情報とが一致するか否かを確認し、前記処理要求に含まれるユーザ情報と前記退避ユーザ情報とが一致した場合、前記処理要求に応じて画像処理を実行するとともに前記退避ユーザ情報を削除する制御ステップと、
を有することを特徴とする制御方法。
【請求項１８】
外部装置と通信可能な画像処理装置の制御方法であって、
ユーザが前記画像処理装置にログインした場合に前記ユーザを識別するユーザ情報を記憶する記憶ステップと、
操作手段に対してユーザが入力した操作情報と、前記記憶手段に記憶されたユーザ情報とを前記外部装置に送信する送信ステップと、
ユーザ情報を含む処理要求を前記外部装置から受信する受信ステップと、
前記処理要求に含まれるユーザ情報と前記記憶ステップで記憶されたユーザ情報とが一致する場合に、前記処理要求に応じて画像処理を実行する画像処理ステップと、
前記画像処理装置からログアウトする指示を前記ユーザから受け付けた場合に、前記記憶ステップで記憶されたユーザ情報に一致するユーザ情報が含まれる処理要求が前記外部装置から受信されていなければ、前記ユーザが前記画像処理装置からログアウトすることを制限し、前記記憶ステップで記憶されたユーザ情報に一致するユーザ情報が含まれる処理要求が前記外部装置から受信されていれば、前記ユーザを前記画像処理装置からログアウトさせて前記ユーザ情報を前記記憶手段から削除する制御ステップと、
を有することを特徴とする制御方法。
【請求項１９】
請求項１７に記載の制御方法をコンピュータに実行させるためのコンピュータが読み取り可能なプログラム。
【請求項２０】
請求項１８に記載の制御方法をコンピュータに実行させるためのコンピュータが読み取り可能なプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は外部装置からの処理要求に応じて画像処理を実行することが可能な画像処理装置および制御方法に関する。
【背景技術】
【０００２】
近年、プリンタやスキャナ機能を備えたＭＦＰ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）は、Ｗｅｂブラウザを搭載し、Ｗｅｂサーバにアクセスしている。これにより、ＭＦＰは、Ｗｅｂサーバが備えるＷｅｂアプリケーションを直接操作することができる。【０００３】
また、このようなＷｅｂブラウザを備えたＭＦＰにおいて、本来ＭＦＰが有する機能を実行するための操作画面の情報をＷｅｂサーバから受信し、それをＷｅｂブラウザを利用して操作するという形態のシステムが知られている。このシステムでは、ユーザは、Ｗｅｂブラウザが表示した操作画面を介して、例えば、ＭＦＰが備えるコピー機能を選択する指示を入力する。入力された指示はＭＦＰのＷｅｂブラウザによってＷｅｂサーバに送信される。Ｗｅｂサーバは、Ｗｅｂブラウザから送信された指示の内容にしたがって、ＭＦＰに対するコピー処理の要求を生成し、ＭＦＰに対して送信する。そして、コピー処理の要求を受信したＭＦＰは、受信した要求に基づいてコピーを実行する。このように、ＭＦＰとＷｅｂサーバとの連携処理によって、ＭＦＰを操作するための操作画面の情報をＭＦＰ内で保持しておく必要がなくなる。また操作画面の変更も、Ｗｅｂサーバ上で一般的なＷｅｂアプリケーションを変更するのと同様の方法で行うことができる。【０００４】
一方、特定のユーザがＭＦＰのコピー機能を利用する場合において、そのユーザによるコピー機能の利用を許可するか否かを認証する技術が特許文献１に開示されている。【０００５】
特許文献１によれば、ユーザがＭＦＰにログインしてからログアウトするまでの間、ログインしたユーザの認証情報をＭＦＰ内に記憶する。ログインしたユーザがＭＦＰのコピー機能を選択すると、ＭＦＰは、記憶したユーザの認証情報に基づいて、選択された機能に対する権限があるか否かを判定する。判定した結果、選択されたコピー機能に対する権限がある場合にはコピーすることを許可し、コピーを実行することができる。そして、ユーザの認証情報は、ユーザがＭＦＰからログアウトする際に削除される。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００７−２１３４１９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
例えばＭＦＰのコピー機能を実行する場合、特許文献１によれば、ログインしたユーザの権限にしたがってコピーを適切に実行することができる。しかし、特許文献１の技術を前述のＭＦＰとサーバとの連携処理によってコピーを実行する場合に利用すると、以下の場合に課題が生じる。【０００８】
具体的には、ユーザがコピー機能を選択してから、コピーの実行が開始されるまでの間に、ユーザがＭＦＰからログアウトを指示した場合である。つまり、ＭＦＰのコピー機能をユーザが選択してから、実際にコピーが開始されるまでの合間に、Ｗｅｂサーバ側でコピー処理の要求を生成する工程が発生する。この工程の途中で、ユーザがＭＦＰからログアウトを指示する可能性がある。ログアウトの指示に応じてログアウト処理を行われると、ユーザの認証情報はＭＦＰ内から削除されるので、コピー機能に対するユーザの権限があるか否かを判定する際、コピー機能に対するユーザの権限がないものと判定される。その結果、コピーを実行することができなくなってしまう。【０００９】
このように、外部装置が処理要求を生成している間にユーザが画像処理装置からのログアウトを指示すると、外部装置から処理要求を受信してもその処理要求に応じた画像処理を実行することができない。【００１０】
本発明は、上記課題を解決するため、外部装置が処理要求を生成している間にユーザがログアウトを指示した場合でも、ログアウトを指示する前の処理要求に応じた画像処理を継続して行うことが可能な画像処理装置を提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明の画像処理装置は、外部装置と通信可能な画像処理装置であって、操作手段に対してユーザが行った操作にしたがって操作情報を生成する生成手段と、前記生成手段によって生成された操作情報を前記外部装置に送信する送信手段と、前記外部装置で生成された処理要求を前記外部装置から受信する受信手段と、前記受信手段によって受信された処理要求に応じて画像処理を実行する画像処理手段と、前記受信手段が前記外部装置から処理要求を受信した場合、前記送信手段によって送信された所定の操作情報に基づく処理要求であるならば、前記画像処理手段が当該処理要求に応じて画像処理を実行することを許可するよう制御する制御手段と、を備えることを特徴とする。【００１２】
また本発明のその他の画像処理装置は、外部装置と通信可能な画像処理装置であって、操作手段を介してユーザによって行われた操作にしたがって操作情報を生成する生成手段と、前記生成手段によって生成された操作情報を前記外部装置に送信する送信手段と、前記外部装置で生成された処理要求を前記外部装置から受信する受信手段と、前記受信手段によって受信された処理要求に応じて画像処理を行う画像処理手段と、前記操作手段を介して操作を行ったユーザが前記画像処理装置にログインしている場合、当該ログインしているユーザによって前記操作手段を介して行われた操作にしたがって前記生成手段によって生成され前記送信手段によって送信された操作情報に基づいて前記外部装置で生成された処理要求に応じて前記画像処理手段が画像処理を行うことを許可する第１の制御手段と、当該ユーザによって前記操作手段を介して行われた操作にしたがって前記生成手段によって生成され前記送信手段によって送信された操作情報に基づいて前記外部装置で生成された処理要求が前記受信手段によって受信されていない場合、当該ユーザがログアウトすることを制限する第２の制御手段を有することを特徴とする。
【発明の効果】
【００１３】
本発明によれば、ユーザが画像処理装置からログアウトを指示した場合でも、ログアウトする前に指示された画像処理を継続して実行することができる。
【図面の簡単な説明】
【００１４】
【図１】第１の実施形態に係るシステム構成を説明する図である。
【図２】ＭＦＰ１１０のハードウェア構成を示す図である。
【図３】Ｗｅｂサーバ１３０のハードウェア構成を示す図である。
【図４】ＭＦＰ１１０のソフトウェア構成を示す図である。
【図５】Ｗｅｂサーバ１３０のソフトウェア構成を示す図である。
【図６】ＭＦＰ１１０とＷｅｂサーバ１３０のデータの流れを示すシーケンス図である。
【図７】ログイン管理部４１０が表示するログイン画面を示す図である。
【図８】認証コンテキストのデータ構成を示す図である。
【図９】Ｗｅｂブラウザ４３０が表示するコピー画面を示す図である。
【図１０】ＭＦＰ１１０の全体の処理を示すフローチャート
【図１１】ログアウトに関する処理を示すフローチャートである。
【図１２】Ｗｅｂサービスの実行処理を示すフローチャートである。
【図１３】第２の実施形態に係るＭＦＰのソフトウェア構成を示す図である。
【図１４】第２の実施形態に係るＭＦＰ１１０とＷｅｂサーバ１３０のデータの流れを示すシーケンス図である。
【図１５】第２の実施形態おいてメニュー画面を示す図である。
【図１６】第２の実施形態おいてコピー実行中画面を示す図である。
【発明を実施するための形態】
【００１５】
以下、本発明を実施するための形態について図面を参照して説明する。なお、各図面において同様の機能を有する箇所には同一の符号を付し、説明の重複は省略する。
【００１６】
（第１の実施形態）
図１を参照して、第１の実施形態におけるシステムのネットワーク構成を説明する。ＭＦＰ１１０、ホストコンピュータ１２０、Ｗｅｂサーバ１３０、及び認証サーバ１４０が、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）１００を介して互いに通信可能に接続されている。
【００１７】
ＬＡＮ１００は、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）やインターネットに接続されている。
【００１８】
ＭＦＰ１１０は、スキャナ機能、プリント機能、コピー機能、送信機能などの複数の機能を兼ね備える装置である。画像データの入出力、画像データの送受信、および各種の画像処理を行う。なお、ＭＦＰ１１０は画像処理装置の一例として挙げるが、本発明の画像処理装置はこれに限らず、スキャナ機能、プリンタ機能、コピー機能、送信機能のいずれかを備えるＳＦＰ（Ｓｉｎｇｌｅ  Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）であってもよい。
【００１９】
ホストコンピュータ１２０は、ＭＦＰ１１０からサービスを受ける装置である。ホストコンピュータ１２０は、例えばＰＣ（パーソナルコンピュータ）やＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）や携帯電話がある。
【００２０】
Ｗｅｂサーバ１３０は、ＭＦＰ１１０に操作画面を表示するための画面情報を提供したり、ＭＦＰ１１０に対してＷｅｂサービスを依頼したりする装置である。Ｗｅｂサーバ１３０は、外部装置の一例である。なおＷｅｂサーバ１３０は、ホストコンピュータ１２０と一体の装置であってもよい。
【００２１】
認証サーバ１４０は、ＭＦＰ１１０にログインするユーザの認証を行う装置である。ユーザを識別する認証情報をあらかじめ登録し、ＭＦＰ１１０からの問い合わせに対してユーザ認証を行い、結果をＭＦＰ１１０に送信する。認証サーバ１４０は、例えばＬＤＡＰ（Ｌｉｇｈｔｗｅｉｇｈｔ  Ｄｉｒｅｃｔｏｒｙ  Ａｃｃｅｓｓ  Ｐｒｏｔｏｃｏｌ）サーバなどである。なお、Ｗｅｂサーバ１３０と認証サーバ１４０とが一体の装置であってもよい。また、ＭＦＰ１１０と認証サーバ１４０とが一体の装置であってもよい。
【００２２】
次に図２を参照して、ＭＦＰ１１０のハードウェア構成を説明する。ＭＦＰ１１０は、コントロールユニット１１１、操作部１１２、スキャナ１１３、およびプリンタ１１４を備える。
【００２３】
コントロールユニット１１１は、スキャナ１１３およびプリンタ１１４と接続され、これらを制御する。またコントロールユニット１１１は、ＬＡＮ１００や公衆回線（不図示）と接続され、これらを介して画像データ、装置情報、制御情報などの入出力を行う。
【００２４】
操作部１１２は、ユーザの操作情報を操作部Ｉ／Ｆ４０に出力する装置である。操作部１１２は、コントロールユニット１１１に対する操作を行うキーボードと、画像データや各種機能の表示を行う液晶パネルとを備える。またキーボードは、ＭＦＰ１１０へのログイン、またはＭＦＰ１１０からのログアウトを指示するＩＤキーを備える。
【００２５】
スキャナ１１３は、原稿画像の読み取り処理を行う装置である。スキャナ１１３は、原稿用紙を搬送する原稿給紙ユニットと、原稿画像を光学的に読み取って電気信号としての画像データに変換するスキャナユニットとを備える。
【００２６】
プリンタ１１４は、画像データの出力処理を行う装置である。プリンタ１１４は、記録用紙を収容する複数段の給紙カセットを備えた給紙ユニットと、画像データを記録用紙に転写、定着するマーキングユニットと、印字された記録用紙にソート処理やステイプル処理を施して外部に排出する排紙ユニットとを備える。
【００２７】
コントロールユニット１１１は、ＣＰＵ２０１、ＲＡＭ２０２、ＲＯＭ２０３、ＨＤＤ２０４、画像バスＩ／Ｆ２０５、操作部Ｉ／Ｆ２０６、およびネットワークＩ／Ｆ２０８を備える。これら各部は、システムバス２０７を介して互いに接続される。
【００２８】
ＣＰＵ２０１は、ＭＦＰ１１０全体の動作を制御する。ＣＰＵ２０１は、ＲＯＭ２０３またはＨＤＤ２０４に格納されたプログラムをＲＡＭ２０２に読み出し、読み出したプログラムを実行することで各種制御処理を実行する。
【００２９】
ＲＡＭ２０２は、ＣＰＵ２０１の作業領域を提供するメモリである。画像データを一時記憶する画像メモリとしても使用される。ＲＡＭ２０２は、揮発性の記憶装置の一例である。
【００３０】
ＲＯＭ２０３はブートＲＯＭであり、システムのブートプログラムが格納されている。
【００３１】
ＨＤＤ２０４には、システムソフトウェア、画像データなどが格納される。ＨＤＤ２０４は不揮発性の記憶装置の一例である。
【００３２】
画像バスＩ／Ｆ２０５は、システムバス２０７と画像バス２１０とを接続し、データ構造を変換するバスブリッジである。
【００３３】
操作部Ｉ／Ｆ２０６は、操作部１１２とコントロールユニット１１１との間でデータの入出力を行うインタフェースである。操作部Ｉ／Ｆ２０６は、ユーザが操作部１１２を介して入力した情報をＣＰＵ２０１に出力したり、操作部１１２の液晶パネルに表示する画像データを操作部１１２に対して出力したりする。
【００３４】
ネットワークＩ／Ｆ２０８は、ＬＡＮ１００と接続され、ＬＡＮ１００に対して情報の入出力を行う。
【００３５】
画像バス２１０は、ラスタイメージプロセッサ（ＲＩＰ）２１１、デバイスＩ／Ｆ２１２、スキャナ画像処理部２１３、プリンタ画像処理部２１４を接続する。
【００３６】
ＲＩＰ２１１は、ＬＡＮ１００を介して受信したＰＤＬ（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｎ  Ｌａｎｇｕａｇｅ）コードをビットマップイメージに展開する。
【００３７】
デバイスＩ／Ｆ２１２は、スキャナ１１３およびプリンタ１１４とコントロールユニット１１１とを接続する。
【００３８】
スキャナ画像処理部２１３は、入力画像データに対し補正、加工、編集などを行う。
【００３９】
プリンタ画像処理部２１４は、プリント出力画像データに対して、プリンタの補正、解像度変換などを行う。
【００４０】
次に図３を参照して、Ｗｅｂサーバ１３０のハードウェア構成を説明する。Ｗｅｂサーバ１３０は、ＣＰＵ３０１、ＲＡＭ３０２、ＲＯＭ３０３、ＨＤＤ３０４、画像バスＩ／Ｆ３０５、ネットワークＩ／Ｆ３０７、画像処理部３０８、および画像バス３０９を備える。これら各部は、システムバス３０６を介して相互に接続される。
【００４１】
ＣＰＵ３０１は、Ｗｅｂサーバ１３０全体の動作を制御する。ＲＯＭ３０３またはＨＤＤ３０４に格納されたプログラムをＲＡＭ３０２に読み出し、読み出したプログラムを実行することで各種制御処理を実行する。
【００４２】
ＲＡＭ３０２は、ＣＰＵ３０１が動作するためにシステムワーキングメモリであり、ＣＰＵ３０１により読み出されたプログラムや画像データを一時的に記憶する。
【００４３】
ＲＯＭ３０３は、ブートＲＯＭであり、システムのブートプログラムが格納されている。
【００４４】
ＨＤＤ３０４は、システムソフトウェア、画像データなどを格納する。
【００４５】
画像バスＩ／Ｆ３０５は、システムバス３０６と、画像データを転送する画像バス３０９とを接続し、データ構造を変換するバスブリッジである。
ネットワークＩ／Ｆ３０７は、Ｗｅｂサーバ１３０と他の装置と間で、ＬＡＮ１００を介して画像データやその他の各種情報の入出力を行う。
【００４６】
画像処理部３０８は、スキャナ１１３で読み取って得られた画像データに対して画像処理を行ったり、プリンタ１１４へ出力される画像データに対して画像処理を行ったりする。
【００４７】
次に図４を参照して、ＭＦＰ１１０で実行されるプログラムの機能構成を説明する。図４は、ＲＡＭ２０２に展開されたプログラムの機能構成を示す。
【００４８】
このプログラムは、ログイン管理部４１０、認証コンテキスト管理部４２０、Ｗｅｂブラウザ４３０、通信部４４０、サービスプロバイダ４５０、およびジョブ実行部４６０を有する。
【００４９】
ログイン管理部４１０は、ログイン画面表示部４１１、認証部４１２を有する。またログイン管理部４１０は、ユーザがＭＦＰ１１０にログインしているか、またはログアウトしているかの状態を監視する。
【００５０】
ログイン画面表示部４１１は、ユーザに認証情報を入力させるためのログイン画面を、操作部１１２に表示する。なお、この操作画面は、Ｗｅｂサーバ１３０によって提供される画面ではなく、ＭＦＰ１１０内に保持する情報を読み出して表示する画面である。
【００５１】
認証部４１２は、ログイン画面表示部４１１によって表示されたログイン画面を介して入力された認証情報を用いて、ユーザ認証を行う。具体的には、入力された認証情報を認証サーバ１４０に問い合わせ、その問い合わせ結果に応じてログイン処理を実行するか否かを判断する。また認証部４１２は、ユーザの認証が成功すると、認証コンテキストを生成するために必要な情報を、認証コンテキスト管理部４２０に渡す。認証コンテキストは、ユーザがＭＦＰ１１０にログインしたことに応じて生成された認証情報や、ユーザがＭＦＰ１１０へのログインが成功したことによって認証サーバ１４０またはＷｅｂサーバ１３０から取得した認証情報や、ユーザを識別する識別情報などを含む。詳細は図８を参照しながら後述する。
【００５２】
認証コンテキスト管理部４２０は、ＭＦＰ１１０にログインしたユーザに関する認証コンテキストを管理するモジュールである。認証コンテキスト管理部４２０は、生成部４２１、保存部４２２を有する。
【００５３】
生成部４２１は、ログインしたユーザに関する認証コンテキストを生成する。認証部４１２によって認証されたユーザの認証情報に基づいて、認証コンテキストを生成する。認証コンテキストが生成された後のユーザの操作は、認証コンテキストに書き込まれたユーザの権限で行われる。
【００５４】
保存部４２２は、生成部４２１によって生成された認証コンテキストを保持する。なお、認証コンテキストは、認証コンテキスト管理部４２０の保存部４２２が保持する代わりに、Ｗｅｂブラウザ４３０や、サービスプロバイダ４５０が保持することも可能である。Ｗｅｂブラウザ４３０、サービスプロバイダ４５０のそれぞれが認証コンテキストを個別に保持する場合、ユーザのログインまたはログアウト状態を、機能部ごとに個別に管理することになる。
【００５５】
Ｗｅｂブラウザ４３０は、操作画面表示部４３１、解析部４３２、イベント処理部４３３を有する。
【００５６】
操作画面表示部４３１は、解析部４３２の解析結果に基づいて、操作部１１２に操作画面を表示する。
【００５７】
解析部４３２は、通信部４４０を介してプレゼンテーション部５０１から受信するＨＴＭＬ（ＨｙｐｅｒＴｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）ファイルを解析する。このＨＴＭＬファイルは、Ｗｅｂブラウザ４３０に表示すべき操作画面を示す記述を含む。
【００５８】
イベント処理部４３３は、操作画面表示部４３１により表示された操作画面を介して操作されたボタンの内容に応じて、Ｗｅｂサーバ１３０に対して送信するためのイベントを生成する。具体的には、ＨＴＴＰ（ＨｙｐｅｒＴｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）にしたがってＷｅｂアプリケーション部５００に送信するためのＨＴＴＰ要求メッセージを生成する。
【００５９】
通信部４４０は、ネットワークＩ／Ｆ２０８を利用して、ＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）によって記述されたリソースに対するＨＴＴＰ要求を発行し、その応答を受信する。この過程で、各種符号化形式に則した通信データの符号化・復号化を行う。
【００６０】
サービスプロバイダ４５０は、Ｗｅｂサーバ１３０から依頼されたＷｅｂサービスを提供するモジュールである。具体的には、Ｗｅｂサーバ１３０から受信するＳＯＡＰ（Ｓｉｍｐｌｅ  Ｏｂｊｅｃｔ  Ａｃｃｅｓｓ  Ｐｒｏｔｏｃｏｌ）要求のメッセージの内容にしたがって、スキャナ画像処理部２１３またはプリンタ画像処理部２１４に画像処理を行わせる。このＳＯＡＰ要求メッセージは、画像処理のパラメータなど（Ｗｅｂブラウザ４３０から受信したスキャン設定や送信設定を含む）を伝えるメッセージである。サービスプロバイダ４５０は、処理受付部４５１、ジョブ生成部４５２を有する。
【００６１】
処理受付部４５１は、Ｗｅｂサーバ１３０からＷｅｂサービスとしての処理要求を受信し、その処理要求をジョブ生成部４５２に渡す。この処理要求は、ＳＯＡＰにしたがったメッセージである。ジョブ生成部４５２は、Ｗｅｂサーバ１３０から受信したＳＯＡＰ要求のメッセージを解釈してジョブを生成し、ジョブ実行部４６０にジョブの実行を指示する。尚、ジョブ生成部４５２は、処理受付部４５１によって受信されたＳＯＡＰ要求のメッセージを解釈してジョブを生成しているが、本発明はこれに限られない。例えば、Ｗｅｂブラウザ４３０によって受信されるＨＴＴＰのメッセージに埋め込まれたジョブスクリプトを解釈することによってジョブを生成してもよい。また、通信プロトコルとしてＳＯＡＰを利用しているが、別のプロトコルを用いて処理要求を受信しても構わない。
【００６２】
ジョブ実行部４６０は、ジョブ生成部４５２が生成するジョブを実行する。具体的には、プリンタ１１４による印刷処理、スキャナ１１３による読み取り処理、ネットワークＩ／Ｆ２０８を介した送信処理などを実行する。
【００６３】
次に図５を参照して、Ｗｅｂサーバ１３０で実行されるプログラムの機能構成を説明する。図５は、Ｗｅｂサーバ１３０が備えるＲＡＭ３０２に展開されたプログラムの機能構成を示すブロック図である。
【００６４】
Ｗｅｂサーバ１３０は、Ｗｅｂアプリケーション部５００を有する。Ｗｅｂアプリケーション部５００は、プレゼンテーション部５０１、ロジック部５０２、セッション管理部５０３を有する。
【００６５】
プレゼンテーション部５０１は、Ｗｅｂブラウザ４３０と通信することによって各種処理を行い、ＭＦＰ１１０の操作部１１２に表示する操作画面を提供する。具体的には、ユーザの指示に伴うＷｅｂブラウザ４３０からのＨＴＴＰ要求を受信し、必要に応じてロジック部５０２に処理を行わせる。また、プレゼンテーション部５０１は、Ｗｅｂブラウザ４３０からのＨＴＴＰ要求や、ロジック部５０２の処理結果に応じて、Ｗｅｂブラウザ４３０に表示すべき操作画面のＨＴＭＬファイルを生成し、Ｗｅｂブラウザ４３０に送信する。
【００６６】
ロジック部５０２は、ＭＦＰ１１０にＷｅｂサービスを依頼するための処理要求を生成する。具体的には、プレゼンテーション部５０１が受け取ったＨＴＴＰ要求に応じて、各種処理を実行するとともに、ＭＦＰ１１０のサービスプロバイダ４５０に対して、ＳＯＡＰ要求を生成し、送信する。またロジック部５０２は、サービスプロバイダ４５０によるサービスの完了時にＷｅｂブラウザ４３０で表示させたい画面に対応するＵＲＩを、復帰ＵＲＩとして伝える。ＳＯＡＰ要求を送信することによって、プリンタ１１４による印刷処理の要求や、スキャナ１１３による読み取り処理の要求、またはネットワークＩ／Ｆ２０８を介した送信処理の要求などを行う。
【００６７】
セッション管理部５０３は、ＭＦＰ１１０からのログイン要求からログアウト要求を行われるまでのＷｅｂブラウザ４３０との通信に関して、状態、および、データの一時保存のためのセッション情報を管理する。またセッション管理部５０３は、ＭＦＰ１１０から受信した認証コンテキストを保存し、ＳＯＡＰ要求をＭＦＰ１１０へ送信する際に参照される。
【００６８】
次に図６を参照して、ＭＦＰ１１０とＷｅｂサーバ１３０とが行う処理とデータの流れを説明する。なお、ここでは、ＭＦＰ１１０のコピー機能を利用して、コピーを実行する例を説明する。
【００６９】
ステップＳ６０１（以下、ステップの表記は省略する）で、ログイン管理部４１０は、ログイン処理を行う。
【００７０】
ここで図７を参照して、ログイン画面表示部４１１によって操作部１１２に表示されるログイン画面を説明する。７０１はユーザ名入力フィールドであり、７０２はパスワード入力フィールドである。７０３はログインボタンである。ユーザＩＤ入力フィールド７０１およびパスワード入力フィールド７０２に、自分のユーザ名とパスワードを、識別情報として入力する。なお認証情報は、ユーザ名とパスワードの他、ドメイン名などを指定してもよい。ユーザは識別情報の入力後、ログインボタン７０３を押し、ログインを指示する。この指示に応じて、ログイン管理部４１０は、ログイン画面を介して入力された識別情報を認証サーバ１４０へ送信し、ログインの判定結果を要求する。認証サーバ１４０から、正当なユーザであることを示す結果を受け取った場合、ユーザ認証が成功したと判定し、認証が成功したユーザの権限で、ＭＦＰ１１０の機能を利用できる。
【００７１】
ユーザ認証が成功したと判定されたら、次に認証コンテキスト管理部４２０は、ユーザ認証に成功したことにしたがって認証コンテキストを生成する。認証コンテキスト管理部４２０は、生成した認証コンテキストを、ＲＡＭ２０２に保存するとともに、通信部４４０を介してＷｅｂサーバ１３０に通知する。
【００７２】
ここで図８を参照して、認証コンテキスト管理部４２０によって生成される認証コンテキストの一例を示す。認証コンテキスト８０１は、以下のデータ構造を有する。
【００７３】
認証サーバ名８０２は、ユーザ認証を行う装置名を格納する。ここでは、認証サーバ１４０のサーバ名を識別する値を格納する。
【００７４】
認証サーバのＩＰアドレス８０３は、認証サーバ名８０２のＩＰアドレスを格納する。ここでは、認証サーバ１４０のＩＰアドレスを格納する。
【００７５】
セキュリティトークン８０４は、認証が成功したことを示す結果（セキュリティトークン）を格納する。ここでは、認証サーバ１４０から取得したセキュリティトークンを格納する。
【００７６】
ユーザ名８０５は、ログインユーザの名称を格納する。このユーザ名は、ユーザＩＤに対応付けられて認証サーバ１４０で登録されている。
【００７７】
ユーザＩＤ８０６は、ログイン時に入力するユーザＩＤを格納する。
【００７８】
グループ名８０７は、ログインユーザのグループ名称を格納する。認証サーバ１４０から取得したユーザが所属するグループ名を格納する。
【００７９】
グループＩＤ８０８は、認証サーバ１４０から取得したグループのグループＩＤを格納する。
【００８０】
ドメイン名８０９は、認証サーバ１４０から取得したユーザが所属するドメイン名を格納する。
【００８１】
メールアドレス８１０は、認証サーバ１４０から取得したユーザのメールアドレスを格納する。
【００８２】
アクセス権８１１は、ログインユーザが行うことができる操作の権限が記述された情報等を格納する。
【００８３】
有効期間８１２は、ログインユーザがＭＦＰ１１０からログアウトしてから認証コンテキストを削除するまでの所定期間が指定された値を格納する。ユーザがログアウトしてから所定期間が経過した場合、認証コンテキストは認証コンテキスト管理部４２０により自動的に削除される。このように、認証コンテキストは、所定の期間が経過したことに応じて削除されるので、ログアウトした後にＭＦＰ１１０に保持され続けることを防ぐことができる。
【００８４】
なお認証コンテキストは、ＭＦＰ１１０にログインするユーザを特定する情報を含むものであれば、図８に示す認証コンテキストに限定されない。例えば、ログイン画面でユーザが入力したユーザを識別するための識別情報であってもよい。
【００８５】
なお、保存部４２２が保存する認証コンテキストは、ユーザのログイン状態を識別する情報を有していてもよい。この情報は、現在ユーザがＭＦＰ１１０にログインしているか、またはログアウトしているか、などを識別する情報である。この場合、ログイン管理部４１０は、ログイン状態を識別する情報に基づいてユーザのログイン状態を判別することができる。
【００８６】
次にＳ６０２で、通信部４４０は、認証コンテキスト管理部４２０によって生成された認証コンテキストを、Ｗｅｂサーバ１３０へ送信する。なお、認証コンテキストは、認証コンテキスト管理部４２０の生成部４２１が生成する代わりに、認証サーバ１４０、あるいはＷｅｂサーバ１３０が生成してもよい。認証サーバ１４０が認証コンテキストを生成する場合、生成した認証コンテキストをＭＦＰ１１０とＷｅｂサーバ１３０へ送信する。またＷｅｂサーバ１３０が認証コンテキストを生成する場合、Ｗｅｂサーバ１３０自身が認証サーバの機能を兼ね備え、ユーザ認証が成功したことに応じて認証コンテキストを生成し、ＭＦＰ１１０に対して認証コンテキストを送信する。
【００８７】
Ｓ６０３で、Ｗｅｂサーバ１３０のセッション管理部５０３は、認証コンテキスト管理部４２０によって送信された認証コンテキストを保存する。
【００８８】
Ｓ６０４で、ログイン管理部４１０は、ユーザ認証が成功したことに応じてＷｅｂブラウザ４３０の起動を指示する。なおＷｅｂブラウザ４３０の起動指示は、ログイン管理部４１０の代わりに、ユーザが操作部を介して指示してもよい。
【００８９】
Ｓ６０５で、Ｗｅｂブラウザ４３０は、プレゼンテーション部５０１に対して、操作部１１２に表示するコピー画面を取得するための要求を行う。Ｗｅｂブラウザ４３０で管理されている初期表示ＵＲＬ情報に基づき、Ｗｅｂサーバ１３０に対してＧＥＴメソッドのＨＴＴＰ要求を送信する。なお、ここではコピー画面の取得要求を例に説明するが、コピー画面以外の取得要求であってもよく、例えば、コピー、スキャン、送信などの機能を選択する選択画面や、メニュー画面の取得要求などであってもよい。また、コピー画面の取得要求と同時に、Ｓ６０２で送信した認証コンテキストをＷｅｂサーバ１３０に送信してもよい。この場合、Ｓ６０２の処理を省略することもできる。
【００９０】
Ｓ６０６で、プレゼンテーション部５０１は、Ｗｅｂブラウザ４３０からのＨＴＴＰ要求に基づき、コピー画面をＷｅｂブラウザ４３０に表示させるためのＨＴＭＬファイルを生成または取得する。
【００９１】
Ｓ６０７で、プレゼンテーション部５０１は、生成したＨＴＭＬファイルをＷｅｂサーバ１３０からＭＦＰ１１０に送信する。
【００９２】
Ｓ６０８で、ＭＦＰ１１０の解析部４３２は、Ｗｅｂサーバ１３０から通信部４４０を介して受信したＨＴＭＬファイルを解析し、操作画面表示部４３１は、操作部１１２にコピー画面を表示する。そして、イベント処理部４３３は、表示されたコピー画面を介して実行イベントを受け付ける。
【００９３】
図９に、操作画面表示部４３１によって操作部１１２に表示されるコピー画面を示す。図９は、コピー操作をするための基本画面である。設定ボタン９１１は、コピーの倍率、用紙サイズ、部数の印刷条件を設定するボタンである。両面ボタン９２１は、両面コピーを行うか否かの印刷条件を設定するボタンである。スタートボタン９２２は、設定された印刷条件に基づいてコピーの実行を指示するボタンである。スタートボタン９２２が押されたことに応じて、Ｗｅｂブラウザ４３０は、設定された条件にしたがって生成された操作情報をコピーの実行指示（実行イベント）とともにＷｅｂサーバ１３０に送信する。
【００９４】
次にＳ６０９で、イベント処理部４３３は、図９のコピー画面を介してユーザが指示した実行イベントを、通信部４４０を介してプレゼンテーション部５０１に送信する。
【００９５】
Ｓ６１０で、プレゼンテーション部５０１は、ロジック部５０２に対して、コピーの実行を要求するメッセージを生成する指示を行う。ロジック部５０２は、その指示に従いＳＯＡＰ要求を生成する。ＳＯＡＰ要求には、コピーウェブサービスを実行するためのメッセージがＸＭＬ（ｅＸｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）形式で記述されている。
【００９６】
Ｓ６１１で、ロジック部５０２は、生成したＳＯＡＰ要求をＭＦＰ１１０のサービスプロバイダ４５０に送信する。またロジック部５０２は、セッション管理部５０３で管理する認証コンテキストを取得し、ＳＯＡＰ要求とともに認証コンテキスト管理部４２０へ送信する。
【００９７】
Ｓ６１２で、認証コンテキスト管理部４２０は、自身が保存する認証コンテキストと、セッション管理部５０３が保存する認証コンテキストとを比較し、一致したらコピーサービスの実行を許可する。サービスプロバイダ４５０は、ロジック部５０２が生成したＳＯＡＰ要求メッセージにしたがってジョブ実行部にコピージョブの実行を指示する。具体的には、サービスプロバイダ４５０がＳＯＡＰ要求メッセージを解析し、ＳＯＡＰ要求メッセージにしたがって、コピーを実行する。
【００９８】
次に図１０のフローチャートを参照して、ＭＦＰ１１０が実行する処理を説明する。図１０のフローチャートに示す各動作は、ＣＰＵ２０１がＲＯＭ２０３に格納されたプログラムを実行することにより実現される。図１０のフローチャートは、ユーザがＭＦＰ１１０の操作部１１２に備えられているＩＤキーを押下することにより開始される。
【００９９】
Ｓ１００１で、ログイン管理部４１０はユーザからのログインの指示を受け付ける。具体的には、図７のログイン画面をログイン画面表示部４１１が表示し、ユーザからユーザＩＤなどの識別情報が入力されるのを待つ。
【０１００】
Ｓ１００２で、認証部４１２は、図７のログイン画面を介してユーザによって入力された識別情報を取得し、認証サーバ１４０に問い合わせることによりユーザ認証を行う。
【０１０１】
Ｓ１００３で、認証コンテキスト管理部４２０の生成部４２１は、ユーザが入力した識別情報に基づいて認証コンテキストを生成する。
【０１０２】
Ｓ１００４で、認証コンテキスト管理部４２０の保存部４２２は、生成部４２１によって生成された認証コンテキストをＲＡＭ２０２に保存する。
【０１０３】
Ｓ１００５で、通信部４４０は、保存部４２２に保存されている認証コンテキストを、Ｗｅｂサーバ１３０に送信する。
【０１０４】
Ｓ１００６で、ログイン管理部４１０は、Ｗｅｂブラウザ４３０を起動する。
【０１０５】
Ｓ１００７で、Ｗｅｂブラウザ４３０の通信部４４０は、操作画面を表示するため、ＨＴＴＰ要求をプレゼンテーション部５０１に対して行う。Ｗｅｂブラウザ４３０で管理されている初期表示ＵＲＬ情報に基づき、Ｗｅｂサーバ１３０に対してＧＥＴメソッドのＨＴＴＰ要求を送信する。
【０１０６】
Ｓ１００８で、通信部４４０は、ＨＴＭＬファイルをプレゼンテーション部５０１から受信する。このＨＴＭＬファイルは、コピー画面を表示するための画面情報が記述されている。
【０１０７】
Ｓ１００９で、解析部４３２がＨＴＭＬファイルを解析し、操作画面表示部４３１が図９のコピー画面を操作部１１２に表示する。
【０１０８】
Ｓ１０１０で、イベント処理部４３３は、操作されたボタンの内容に応じて、Ｗｅｂアプリケーション部５００に対して送信するための実行イベントを生成する。具体的には、スタートボタン９２２が押下されたことに応じて、設定ボタン９１１で設定された内容に基づく実行イベントを生成する。
【０１０９】
なお、Ｓ１００７からＳ１００９の処理は、Ｓ１０１０でスタートボタン９２２が押下されるまで複数回にわたって繰り返されてもよい。この場合、Ｗｅｂブラウザ４３０とプレゼンテーション部５０１との間で、ＨＴＴＰによる操作画面の要求と応答のやりとりが複数回にわたって行われる。
【０１１０】
Ｓ１０１１で、通信部４４０は、イベント処理によって生成された実行イベントを、Ｗｅｂサーバ１３０に送信する。なお、Ｓ１０１１より前にログアウトが指示された場合、認証コンテキスト管理部４２０は認証コンテキストを削除してログイン画面に戻る。
【０１１１】
Ｓ１０１２で、ログイン管理部４１０は、ユーザからのログアウトの指示がされたか否かを監視する。ログイン管理部４１０は、操作部１１２に備えられたＩＤキーが、ユーザによって押下されたか否かを検知し、ＩＤキーが押下された場合、Ｓ１０１３に進む。ＩＤキーが押下されていない場合、Ｓ１０１４に進む。
【０１１２】
Ｓ１０１３で、ログイン管理部４１０は、ログアウトに関連する処理を行う。ログアウトに関連する処理とは、認証コンテキストをＲＡＭ２０２からＨＤＤ２０４に退避する処理や、ログアウトを禁止する処理である。処理の詳細は、図１１のフローチャートを参照して後述する。
【０１１３】
Ｓ１０１４で、サービスプロバイダ４５０の処理受付部４５１は、Ｗｅｂサーバ１３０からＳＯＡＰ要求を受信したか否かを判定する。ＳＯＡＰ要求を受信していない場合、Ｓ１０１２に戻る。ＳＯＡＰ要求を受信した場合、Ｓ１０１５に処理を進める。
【０１１４】
Ｓ１０１５で、ＳＯＡＰ要求メッセージに記述されたコピー処理の依頼に基づいて、Ｗｅｂサービスの呼び出しを行う。具体的には、ジョブ生成部４５２がＳＯＡＰ要求にしたがってコピージョブを生成し、ジョブ実行部４６０によりコピー処理を実行する。
【０１１５】
次に図１１を参照して、ＭＦＰ１１０のログアウトに関する処理を説明する。図１１は、図１０のＳ１０１３のログアウト処理を詳細に示すフローチャートである。
【０１１６】
Ｓ１１０１で、ログイン管理部４１０は、ユーザが操作部１１２に備えられたＩＤキーを押下したことを検知し、ログアウトの指示を受け付ける。なお、ＩＤキーの代わりに、Ｗｅｂブラウザ４３０によって表示された操作画面のログアウトボタンの押したことを検知してもよい。
【０１１７】
Ｓ１１０２で、ログイン管理部４１０は、Ｗｅｂブラウザ４３０を通してＷｅｂサーバ１３０に対して、ロジック部５０２のロジックの処理状況を確認する。具体的には、ロジック部５０２がＳＯＡＰ要求の生成中であるか否かを、ＨＴＴＰ要求により問い合わせる。そしてＷｅｂブラウザ４３０は、ロジック部５０２のロジックの処理状況の結果をＨＴＴＰ応答として受信する。このとき、受信するＨＴＴＰ応答には、ロジックの処理状況に加えて、ロジックの処理中にＭＦＰからのログアウト処理の実行を禁止することをＭＦＰ１１０に通知する情報を含めてもよい。ログアウト処理の実行を禁止することをＭＦＰに通知することにより、Ｗｅｂサーバ１３０側で処理を行っている途中で、ＭＦＰ１１０側でログアウト処理を行われることを防止する。すなわち、認証コンテキストは削除されずに保持しつづけるので、ＳＯＡＰ要求ととも受信した認証コンテキストと、ＭＦＰ１１０に記憶された認証コンテキストとを比較することにより、ログインしたユーザであることを判定することができる。その結果、適切に画像処理を実行することができる。
【０１１８】
Ｓ１１０３で、Ｗｅｂブラウザ４３０は、受信したＨＴＴＰ応答を解釈し、Ｗｅｂサーバ１３０でロジックが実行中であるか否かを判断する。具体的には、ロジック部５０２でＳＯＡＰ要求メッセージを生成中であるか否かを判断する。Ｗｅｂブラウザ４３０は、Ｓ１１０２で受信したＨＴＴＰ応答の内容に従った情報に基づき判断する。またＷｅｂサーバ１３０においてロジックが実行中であることを示す情報を操作部１１２に表示する。ロジック部５０２でロジックが実行中であると判断した場合、Ｓ１１０４に進む。すでにＷｅｂサーバ１３０でロジックが完了していると判断した場合、あるいは、Ｗｅｂサーバ１３０側でのエラーなどにより、ＳＯＡＰ要求の生成が中断している場合、Ｓ１１０６に進む。
【０１１９】
Ｓ１１０４で、Ｗｅｂブラウザ４３０は、ロジック部５０２のロジック実行中にユーザがＭＦＰからログアウトすることを許可するか否か判断する。このときＳ１１０２で受信したＨＴＴＰ応答にロジックの実行中のログアウト処理を禁止する情報に基づき判断してもよい。ログアウトを許可する場合、Ｓ１１０５に処理を進める。ログアウトを禁止する場合、Ｓ１１０８に処理を進める。
【０１２０】
Ｓ１１０５で、Ｗｅｂブラウザ４３０は、認証コンテキストを退避する。即ち、ＲＡＭ２０２に保持していた認証コンテキストを、ＨＤＤ２０４に複製する。
【０１２１】
Ｓ１１０６で、ログイン管理部４１０は、ログアウト処理を実行する。Ｗｅｂブラウザ４３０によって表示される操作画面から、図７のログイン画面に遷移する。これにより、Ｗｅｂブラウザ４３０が表示する操作画面を介したユーザの操作は制限される。なお、ログアウトが完了したことを通知する画面をログイン管理部４１０によって表示させてもよい。
【０１２２】
Ｓ１１０７で、認証コンテキスト管理部４２０は、ＲＡＭ２０２に保存している認証コンテキストを削除する。なお、ＨＤＤ２０４に退避させた認証コンテキストは削除しない。
【０１２３】
Ｓ１１０２で受信したＨＴＴＰ応答にロジックの実行中のログアウト処理を禁止する情報が含まれている場合、Ｓ１１０８で、ログアウトを禁止するために、操作部１１２にログアウトが制限されている旨のダイアログを表示し、ログアウトを禁止する。また、ユーザがログアウトを指示した場合、ロジック部５０２の実行状況をＭＦＰに通知する。ロジック部５０２がまだ実行中であればその旨を通知することにより、認証コンテキストを削除しないよう制限する。そして、ログアウトすることを禁止することにより、コピー処理が完了する前にログアウトされないように制御する。
【０１２４】
なおＳ１１０３で、Ｗｅｂブラウザ４３０はＷｅｂサーバ１３０側でのロジックが実行中である場合、認証コンテキストをＨＤＤ３０４に退避させるようにした。しかし、ロジックが実行中であるか否かに関わらず、ログアウト後の認証コンテキストをＨＤＤ３０４に保存してもかまわない。この場合、ＨＤＤ３０４が保存する認証コンテキストに対して有効期間を設定することが望ましい。有効期間の経過後、ＨＤＤ３０４に保存された認証コンテキストはＣＰＵ３０１により削除される。
【０１２５】
更に、認証コンテキストに有効期間を設定することにより、Ｗｅｂサーバ１３０側のエラーなどによりログアウト後のユーザからの処理要求を受信しなかった場合、認証コンテキストがＭＦＰ１１０に保持され続けることを防止できる。
【０１２６】
なおＳ１１０５で、認証コンテキストをＨＤＤ２０４に退避させる代わりに、ＲＡＭ２０２に退避させてもよい。この場合、認証コンテキスト管理部４２０が、ログイン中のユーザの認証コンテキストと、ログアウトした後のユーザの認証コンテキスト（退避させた認証コンテキスト）とを識別可能に保持する必要がある。
【０１２７】
図１２を参照して、Ｗｅｂサービスの実行の流れを説明する。図１２は、図１０のＳ１０１５の詳細を示すフローチャートである。
【０１２８】
Ｓ１２０１で、認証コンテキスト管理部４２０は、Ｗｅｂサーバから受信したＳＯＡＰ要求がログインユーザの操作に対応する処理要求であるか否かを判別する。具体的には、受信したＳＯＡＰ要求のヘッダ内に埋め込まれた認証コンテキストと、認証コンテキスト管理部４２０によってＲＡＭ２０２に保持されている認証コンテキストとが一致するか否かを判定する。一致すると判定した場合、Ｓ１２０２に処理を進める。一致しないと判定した場合、Ｓ１２０３に処理を進める。
【０１２９】
なお、Ｓ１２０１の判別処理は、ユーザがＭＦＰ１１０にログインしているか、ログアウトしているかに応じて判別を行ってもよい。この場合、ログイン管理部４１０が認証コンテキスト管理部４２０の保存部４２２に保存されている認証コンテキストに基づいて、ログイン状態を判別する。
【０１３０】
Ｓ１２０２で、サービスプロバイダ４５０は、認証コンテキストの権限に従い、Ｗｅｂサービスの呼び出し処理を行う。具体的には、ジョブ生成部４５２が、ＳＯＡＰ要求メッセージに基づき生成されたコピージョブを生成する。ジョブ実行部４６０は、ジョブ生成部４５２によって生成されたコピージョブに基づいて、プリンタ１１４による印刷処理を実行する。
【０１３１】
Ｓ１２０３で、認証コンテキスト管理部４２０は、ＨＤＤ３０４に退避させた認証コンテキストを対象に比較を行う。ＨＤＤ２０４にログアウトしたユーザの認証コンテキストが保存されていて、かつＷｅｂサーバ１３０から受信した認証コンテキストと一致した場合、Ｓ１２０５に処理を進める。ＨＤＤ２０４にログアウトしたユーザの認証コンテキストがない場合、あるいは、比較した結果が一致しない場合、Ｓ１２０７に処理を進める。
【０１３２】
Ｓ１２０４で、認証コンテキスト管理部４２０は、他のユーザによってＭＦＰ１１０にログインされているか、即ち、他のユーザの認証コンテキストを管理していないかを判別する。判別した結果、他のユーザによってログインされている場合、図１０のＳ１０１１からＳ１０１４までの間に他のユーザによってＭＦＰ１１０にログインされたと判断する。そして認証コンテキスト管理部４２０が他のユーザの認証コンテキストを削除するまで、処理を中断する。この間、他のユーザが操作を行い、その操作に対する処理が完了するまで待つことになる。他のユーザによってログインされていない場合、あるいは他のユーザの認証コンテキストがＲＡＭ２０２から削除された場合、Ｓ１２０５に進む。
【０１３３】
Ｓ１２０５で、退避させた認証コンテキストの権限に従い、サービスプロバイダ４５０に対してＷｅｂサービス呼び出し処理を進める。この処理はＳ１２０２の処理と同様のものである。
【０１３４】
Ｓ１２０６で、認証コンテキスト管理部４２０は、ＨＤＤ２０４に保存されている認証コンテキストを削除する。すなわち、Ｗｅｂサーバ１３０からの処理要求に対応する処理の実行が完了したことに応じて削除される。これにより、ユーザがＭＦＰ１１０からログアウトした後も継続して認証コンテキストがＭＦＰ１１０に保持されることを防止する。その結果、認証コンテキストに含まれる個人情報などが、ＭＦＰ１１０内に残ってしまうことを防止できる。また、認証コンテキスト管理部４２０は、図９の有効期間８１２で指定された所定の期間が経過したことに応じて削除してもよい。
【０１３５】
Ｓ１２０７で、Ｗｅｂブラウザ４３０は、Ｗｅｂサービスの呼び出し結果をＷｅｂサーバ１３０に通知し、必要に応じて実行完了画面を操作部１１２に表示し、本フローチャートの処理を終了する。
【０１３６】
Ｓ１２０８で、認証コンテキスト管理部４２０は、Ｗｅｂサーバ１３０に認証エラーを通知し、本フローチャートの処理を終了する。
【０１３７】
本実施形態によれば、ＭＦＰ１１０からユーザがログアウトを指示した後も認証コンテキストをＭＦＰ１１０から削除せずに保持する。これにより、Ｗｅｂサーバ１３０でのロジックの実行中にユーザがログアウトすることを可能とする。その結果、ＭＦＰ１１０からユーザがログアウトを指示した後でも、適切にＷｅｂサーバ１３０からのＷｅｂサービス呼び出しを実行することができる。
【０１３８】
なお、Ｓ１２０４で、ユーザがＭＦＰ１１０からログアウトした後に、別のユーザがＭＦＰ１１０にログインした場合、その別のユーザの処理を優先させる。このことにより、別のユーザがログインしている状態でも、ログアウトした後のユーザに対するＷｅｂサービス呼び出しが適切に実行することが可能となる。その結果、特定のユーザがデバイス機能の実行の完了を待つためにＭＦＰ１１０を占有することを防止できる。
【０１３９】
（第２の実施形態）
次に、本発明に係る第２の実施形態を説明する。第２の実施形態は、スキャンを要求するためのＳＯＡＰ要求を受信した後、プリントを要求するためのＳＯＡＰ要求を受信するまでの間に、ユーザからログアウトを指示した場合の例である。第２の実施形態におけるシステム構成、各装置のハードウェア構成は、第１の実施形態と同様である。
【０１４０】
図１３を参照して、ＭＦＰ１１０で実行されるプログラムの機能構成を説明する。
【０１４１】
サービスプロバイダ４５０は、スキャナ１１３による読み取りを行うスキャンサービスプロバイダ１３１０と、プリンタ１１４による印刷処理を行うプリントサービスプロバイダ１３２０とを有する。
【０１４２】
スキャンサービスプロバイダ１３１０は、処理受付部１３１１とジョブ生成部１３１２を有する。処理受付部１３１１は、Ｗｅｂサーバ１３０からスキャン処理を要求するＳＯＡＰ要求を受信し、ジョブ生成部１３１２に渡す。ジョブ生成部１３１２は、受信したＳＯＡＰ要求に基づき、スキャンジョブを生成し、ジョブ実行部にスキャンジョブの実行を指示する。
【０１４３】
プリントサービスプロバイダ１３２０は、処理受付部１３２１とジョブ生成部１３２２を有する。処理受付部１３２１がＷｅｂサーバ１３０からプリント処理を依頼するＳＯＡＰ要求を受信し、ジョブ生成部１３２２に渡す。ジョブ生成部１３２２は、受信したＳＯＡＰ要求に基づき、スキャンジョブを生成し、ジョブ実行部４６０にプリントジョブの実行を指示する。
【０１４４】
なお、その他のＭＦＰ１１０におけるプログラムの機能構成は、図４と同様である。また、Ｗｅｂサーバ１３０におけるプログラムの機能構成は、図５と同様である。
【０１４５】
図１４は、ＭＦＰ１１０とＷｅｂサーバ１３０を用いたコピー処理のシーケンス図である。
【０１４６】
まずユーザは、ＭＦＰ１１０に対して操作部１１２を用いてログインを指示すると、Ｓ１４０１で、ログイン管理部４１０は、操作部１１２に対して図７のログイン画面を表示し、ユーザにユーザＩＤを入力することを求める。ユーザは図７のログイン画面に対して、ユーザ名、パスワードを入力し、ログイン操作を行う。
【０１４７】
次にＳ１４０２で、ログイン管理部４１０は、ユーザ認証処理を行う。ユーザ認証に成功すると、Ｗｅｂブラウザ４３０、スキャンサービスプロバイダ１３１０、およびプリントサービスプロバイダ１３２０に対して認証コンテキストを通知する。第１の実施形態では、認証コンテキスト管理部４２０が認証コンテキストを保存したが、第２の実施形態では、それぞれのモジュールに対して認証コンテキストを通知する。
【０１４８】
次にＳ１４０３で、Ｗｅｂブラウザ４３０は、設定されている接続先であるＷｅｂサーバ１３０にメニュー画面を要求する。Ｓ１４０４で、Ｗｅｂサーバ１３０上では、操作画面の要求に従い、メニュー画面情報を生成する。そしてＳ１４０５で、ＭＦＰ１１０に対して生成した画面情報（ＨＴＭＬファイル）を送信する。Ｗｅｂブラウザ４３０は、前記メニュー画面情報を受信し、ＭＦＰ１１０の操作部１１２に対して図１５のメニュー画面を表示する。図１５のメニュー画面は、ＭＦＰ１１０の機能の実行を指示するための、コピーボタン１０１１、Ｓｅｎｄボタン１０１２、プリントボタン１０１３を有する。また、ログアウトボタン１５０２を有する。ログアウトボタン１５０２が押された場合は、Ｗｅｂサーバ１３０への実行イベントが送信されていないので、認証コンテキストの退避処理は行われずにログイン管理部４１０によるログアウト処理を行う。
【０１４９】
次にＳ１４０６で、Ｗｅｂブラウザ４３０は、ユーザによって操作部１１２を用いて入力された指示に基づきコピー操作を選択する。ユーザは、図１５のコピーボタン１０１１を押下する。Ｓ１４０７で、Ｗｅｂブラウザ４３０は、ユーザの指示を判断し、Ｗｅｂサーバ１３０に対して、コピー処理の選択を通知する。Ｓ１４０８で、Ｗｅｂサーバ１３０は、コピー処理の選択要求に従い、コピー画面を表示するための画面情報を生成する。そして、ＭＦＰ１１０に対して生成したコピー画面の画面情報を送信する。Ｓ１４０９で、Ｗｅｂブラウザ４３０は、コピー画面情報を受信し、操作部１１２に、図９のコピー画面を表示する。
【０１５０】
Ｓ１４１０で、Ｗｅｂブラウザ４３０は、設定ボタン９１１、両面ボタン９２１、スタートボタン９２２を表示し、印刷条件の設定や、コピー開始の操作を受け付ける。ユーザがスタートボタン９２２を押下すると、Ｓ１４１１で、Ｗｅｂブラウザ４３０は、ユーザの指示を判断し、Ｗｅｂサーバ１３０に対してコピー処理実行イベントを通知する。
【０１５１】
Ｓ１４１２で、Ｗｅｂサーバ１３０は、コピー処理実行イベントの通知に従い、コピー処理をスキャン処理とプリント処理に分割し実行する。まずスキャン処理の準備を行う。具体的には、ロジック部５０２が、スキャン処理を要求するためのＳＯＡＰ要求を生成する。そしてＳ１４１３で、ＭＦＰ１１０のスキャンサービスプロバイダ１３１０に対して、スキャン処理を行うためのＳＯＡＰ要求を送信する。このスキャン処理依頼の通信には、スキャン設定、スキャン情報の送信先に加えて、ユーザ認証時に生成された認証コンテキストも加えて送信される。
【０１５２】
スキャンサービスプロバイダ１３１０は次の処理を進める。まずＳ１４１４で、Ｗｅｂサーバ１３０経由で取得した認証コンテキストと、ログイン管理部４１０から取得した認証コンテキストが一致するかを判別する。判別した結果認証コンテキストが一致する場合、ＳＯＡＰ要求に含まれるスキャン設定パラメータにしたがってスキャン処理を実行する。
【０１５３】
Ｓ１４１５で、Ｗｅｂサーバ１３０は、ロジック部５０２によるＳＯＡＰ要求の生成と並行して、プレゼンテーション部５０１はコピー実行中であることを示す画面情報を生成する。そしてＳ１４１６で、Ｗｅｂブラウザ４３０に対して、生成したコピー実行中画面の画面情報を送信する。Ｗｅｂブラウザ４３０は、前記コピー実行中画面の画面情報を受信し、操作部１１２に対して図１６のコピー実行中画面を表示する。
【０１５４】
一方、Ｓ１４１７で、ログイン管理部４１０は、スキャン処理がスキャナ１１３によって開始し、図１６のコピー実行中画面が表示された時、ユーザからログアウトの指示を受け付ける。具体的には、ＭＦＰ１１０に対して操作部１１２を用いて、図１６のログアウトボタン１６０２の押下を受け付ける。
【０１５５】
Ｓ１４１８で、ログイン管理部４１０は、ユーザの指示を判断し、ログアウト処理を実行する。具体的には、各モジュールに対して、認証コンテキストの無効化を通知する。その後、ログイン管理部４１０は、操作部１１２に図７のログイン画面を表示する。
【０１５６】
一方、Ｓ１４１９で、コントロールユニット１１１で同時に動いているスキャンサービスプロバイダ１３１０は、スキャン処理が終わると、スキャン結果をＷｅｂサーバ１３０に送信する。スキャン結果には、スキャナ１１３で読み取って得られた画像データも含まれている。
【０１５７】
Ｓ１４２０で、スキャン結果を受け取ったＷｅｂサーバ１３０は、スキャン結果の画像データに対して、プリントするための画像処理を行う。例えば、原稿のコピーを防止するための地紋情報をプリントデータに埋め込む画像処理を行う。Ｗｅｂサーバ１３０は、画像処理が完了した後、プリントサービスプロバイダ１３２０に対して、プリント処理を要求するためのＳＯＡＰ要求を送信する。
【０１５８】
Ｓ１４２２で、プリント要求に関するＳＯＡＰ要求を受け取ったプリントサービスプロバイダ１３２０は、手元の認証コンテキストを参照する。ここで、ＳＯＡＰ要求を受け取る前にログアウト処理されたが、退避させた認証コンテキストをＨＤＤ２０４に保持しており、その認証コンテキストとの一致を比較して、プリント依頼を許可し、プリンタ１１４を用いて実際のデータをプリントする。
【０１５９】
第２の実施形態によれば、スキャン処理の要求を受信してから、プリント処理の要求を受信するまでの間に、ユーザがログアウトを指示した場合、適切にＭＦＰのコピー機能を実行することができる。
【０１６０】
（その他の実施例）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【符号の説明】
【０１６１】
１１０  ＭＦＰ
１３０  Ｗｅｂサーバ
【図１】
0005474084.tif 000002
【図２】
0005474084.tif 000003
【図３】
0005474084.tif 000004
【図４】
0005474084.tif 000005
【図５】
0005474084.tif 000006
【図６】
0005474084.tif 000007
【図７】
0005474084.tif 000008
【図８】
0005474084.tif 000009
【図９】
0005474084.tif 000010
【図１０】
0005474084.tif 000011
【図１１】
0005474084.tif 000012
【図１２】
0005474084.tif 000013
【図１３】
0005474084.tif 000014
【図１４】
0005474084.tif 000015
【図１５】
0005474084.tif 000016
【図１６】
0005474084.tif 000017