(57)【要約】【課題】  所定のサービスを受けるための電子的な証明書が無効となってしまった場合でも、その旨をユーザに意識させることなくサービスの利用を継続することができる情報処理装置、前記情報処理装置に電子的な証明書を提供する認証装置、及び前記情報処理装置にサービスを提供する外部装置の提供を目的とする。【解決手段】  ユーザを認証する認証装置からの証明情報を用いて外部装置の機能を利用する情報処理装置であって、前記ユーザを前記認証装置に認証させるための認証情報を受信する受信手段と、前記認証情報を前記認証装置に送信することにより前記ユーザが認証された旨を表す第一の証明情報を取得する第一の証明情報取得手段と、前記第一の証明情報に基づき前記外部装置の機能を利用するための第二の証明情報を前記認証装置から取得する第二の証明情報取得手段とを有することにより上記課題を解決する。【選択図】  図４
2005064770.tif 000002
【特許請求の範囲】
【請求項１】
ユーザを認証する認証装置からの証明情報を用いて外部装置の機能を利用する情報処理装置であって、
前記ユーザを前記認証装置に認証させるための認証情報を受信する受信手段と、
前記認証情報を前記認証装置に送信することにより前記ユーザが認証された旨を表す第一の証明情報を取得する第一の証明情報取得手段と、
前記第一の証明情報に基づき前記外部装置の機能を利用するための第二の証明情報を前記認証装置から取得する第二の証明情報取得手段とを有することを特徴とする情報処理装置。
【請求項２】
前記第一の証明情報と該第一の証明情報を発行した認証装置の所在を表す情報とを一意に識別するための識別情報に基づき、前記第一の証明情報と前記認証装置の所在を表す情報とを保持する証明情報保持手段を有することを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記第一の証明情報取得手段により取得された前記第一の証明情報は、少なくとも前記第二の証明情報を取得するための有効期限を有することを特徴とする請求項１又は２記載の情報処理装置。
【請求項４】
前記第二の証明情報は前記外部装置の機能を利用するための情報であり、
前記第二の証明情報を用いて前記外部装置の機能を利用することを特徴とする請求項１乃至３いずれか一項記載の情報処理装置。
【請求項５】
前記認証情報を保持する認証情報保持手段を更に有し、
前記第一の証明情報取得手段は、前記認証装置による前記第一の証明情報の有効期限の判断の結果、前記有効期限が切れている旨の通知を受信したとき、前記認証情報保持手段に保持されている前記認証情報に基づき、前記認証装置より新たな前記第一の証明情報を取得することを特徴とする請求項１乃至４いずれか一項記載の情報処理装置。
【請求項６】
前記認証情報保持手段は更に、前記認証情報を一意に識別する識別情報を有し、該識別情報を用いて前記認証情報と前記証明情報保持手段で保持される情報とを関連付けて管理することを特徴とする請求項５記載の情報処理装置。
【請求項７】
前記識別情報は前記証明情報保持手段と前記認証情報保持手段とで共通したものであることを特徴とする請求項６記載の情報処理装置。
【請求項８】
ネットワークを介して請求項１乃至７いずれか一記載の情報処理装置から送信されるユーザを認証するための認証情報を受信し該認証情報に係るユーザを認証する認証手段と、
前記認証情報に基づき前記ユーザの認証が行われた旨を表す第一の証明情報を生成する第一の証明情報生成手段と、
該第一の証明情報生成手段により生成された前記第一の証明情報を前記情報処理装置に送信する手段とを有することを特徴とする認証装置。
【請求項９】
前記情報処理装置から受信した前記第一の証明情報に基づき、前記外部装置の機能を前記情報処理装置に利用させるための第二の証明情報を生成する第二の証明情報生成手段を更に有することを特徴とする請求項８記載の認証装置。
【請求項１０】
前記第一の証明情報生成手段により生成された第一の証明情報は前記第二の証明情報を生成するための有効期限が記述されていることを特徴とする請求項８又は９記載の認証装置。
【請求項１１】
前記認証手段は前記情報処理装置から前記第一の証明情報を用いた前記第二の証明情報の取得要求を受信したとき、前記第一の証明情報の有効期限を確認し、有効期限が切れていないときは前記第二の証明情報生成手段に第二の証明情報を生成させることを特徴とする請求項８乃至１０いずれか一記載の認証装置。
【請求項１２】
前記認証手段は前記情報処理装置から前記第一の証明情報を用いた前記第二の証明情報の取得要求を受信したとき、前記第一の証明情報の有効期限を確認し、有効期限が切れていたときは前記情報処理装置にその旨を送信することを特徴とする請求項８乃至１１いずれか一記載の認証装置。
【請求項１３】
ネットワークを介して請求項１乃至７いずれか一記載の情報処理装置から前記第二の証明情報を伴い送信される所定の機能提供要求を受信する要求受信手段と、
前記所定の機能提供要求に係る処理を実行する処理実行手段とを有し、
前記処理実行手段は、前記第二の証明情報に基づき前記所定の機能提供要求に係る処理を実行することを特徴とする外部装置。
【請求項１４】
前記第二の証明情報の正当性を判断する証明情報判断手段を有することを特徴とする請求項１３記載の外部装置。
【請求項１５】
ユーザを認証する認証装置からの証明情報を用いて外部装置の機能を利用する情報処理装置における証明情報取得方法であって、
前記ユーザを前記認証装置に認証させるための認証情報を受信する受信手順と、
前記認証情報を前記認証装置に送信することにより前記ユーザが認証された旨を表す第一の証明情報を取得する第一の証明情報取得手順と、
前記第一の証明情報に基づき前記外部装置の機能を利用するための第二の証明情報を前記認証装置から取得する第二の証明情報取得手順とを有することを特徴とする証明情報取得方法。
【請求項１６】
前記第一の証明情報と該第一の証明情報を発行した認証装置の所在を表す情報とを一意に識別するための識別情報に基づき、前記第一の証明情報と前記認証装置の所在を表す情報とを所定の記憶領域に保存する証明情報保存手順を有することを特徴とする請求項１５記載の証明情報取得方法。
【請求項１７】
前記第一の証明情報取得手順において取得された前記第一の証明情報は、少なくとも前記第二の証明情報を取得するための有効期限を有することを特徴とする請求項１５又は１６記載の証明情報取得方法。
【請求項１８】
前記第二の証明情報は前記外部装置の機能を利用するための情報であり、
前記情報処理装置は、前記第二の証明情報を用いて前記外部装置の機能を利用することを特徴とする請求項１５乃至１７いずれか一項記載の証明情報取得方法。
【請求項１９】
前記認証情報を所定の記憶領域に保存する認証情報保存手順を更に有し、
前記第一の証明情報取得手順は、前記認証装置による前記第一の証明情報の有効期限の判断の結果、前記有効期限が切れている旨の通知を受信した場合に、前記所定の記憶領域に保存されている前記認証情報に基づき、前記認証装置より新たな前記第一の証明情報を取得することを特徴とする請求項１５乃至１８いずれか一項記載の証明情報取得方法。
【請求項２０】
前記認証情報保存手順は、前記認証情報を一意に識別する識別情報を用いて前記認証情報を前記証明情報保存手順で保存される情報と関連付けて保存することを特徴とする請求項１９記載の証明情報取得方法。
【請求項２１】
前記識別情報は前記証明情報保存手順と前記認証情報保存手順とで共通したものであることを特徴とする請求項２０記載の証明情報取得方法。
【請求項２２】
コンピュータを用いたユーザの認証方法であって、
ネットワークを介して請求項１乃至７いずれか一記載の情報処理装置から送信されるユーザを認証するための認証情報を受信し該認証情報に係るユーザを認証する認証手順と、
前記認証情報に基づき前記ユーザの認証が行われた旨を表す第一の証明情報を生成する第一の証明情報生成手順と、
該第一の証明情報生成手順において生成された前記第一の証明情報を前記情報処理装置に送信する手順とを有することを特徴とする認証方法。
【請求項２３】
前記情報処理装置から受信した前記第一の証明情報に基づき、前記外部装置の機能を前記情報処理装置に利用させるための第二の証明情報を生成する第二の証明情報生成手順を更に有することを特徴とする請求項２２記載の認証方法。
【請求項２４】
前記第一の証明情報生成手順において生成された第一の証明情報は前記第二の証明情報を生成するための有効期限が記述されていることを特徴とする請求項２３記載の認証方法。
【請求項２５】
前記第二の証明情報生成手順は、前記第一の証明情報の有効期限を確認し、有効期限が切れていないときは前記第二の証明情報を生成することを特徴とする請求項２３又は２４記載の認証装置。
【請求項２６】
前記第二の証明情報生成手順は、前記第一の証明情報の有効期限を確認し、有効期限が切れていたときは前記情報処理装置にその旨を送信することを特徴とする請求項２３乃至２５いずれか一項記載の認証方法。
【請求項２７】
コンピュータを用いた機能提供方法であって、
ネットワークを介して請求項１乃至７いずれか一記載の情報処理装置から前記第二の証明情報を伴い送信される所定の機能提供要求を受信する要求受信手順と、
前記第二の証明情報に基づき前記所定の機能提供要求に係る処理を実行する処理実行手順とを有することを特徴とする機能提供方法。
【請求項２８】
前記第二の証明情報の正当性を判断する証明情報判断手順を有することを特徴とする請求項２７記載の機能提供方法。
【請求項２９】
ユーザを認証する認証装置からの証明情報を用いて外部装置の機能を利用する情報処理装置に、
前記ユーザを前記認証装置に認証させるための認証情報を受信する受信手順と、
前記認証情報を前記認証装置に送信することにより前記ユーザが認証された旨を表す第一の証明情報を取得する第一の証明情報取得手順と、
前記第一の証明情報に基づき前記外部装置の機能を利用するための第二の証明情報を前記認証装置から取得する第二の証明情報取得手順とを実行させるための証明情報取得プログラム。
【請求項３０】
コンピュータに、
ネットワークを介して請求項１乃至７いずれか一記載の情報処理装置から送信されるユーザを認証するための認証情報を受信し該認証情報に係るユーザを認証する認証手順と、
前記認証情報に基づき前記ユーザの認証が行われた旨を表す第一の証明情報を生成する第一の証明情報生成手順と、
該第一の証明情報生成手順において生成された前記第一の証明情報を前記情報処理装置に送信する手順とを実行させるための認証プログラム。
【請求項３１】
コンピュータに、
ネットワークを介して請求項１乃至７いずれか一記載の情報処理装置から前記第二の証明情報を伴い送信される所定の機能提供要求を受信する要求受信手順と、
前記第二の証明情報に基づき前記所定の機能提供要求に係る処理を実行する処理実行手順とを実行させるための機能提供プログラム。
【請求項３２】
ユーザを認証する認証装置からの証明情報を用いて外部装置の機能を利用する情報処理装置に、
前記ユーザを前記認証装置に認証させるための認証情報を受信する受信手順と、
前記認証情報を前記認証装置に送信することにより前記ユーザが認証された旨を表す第一の証明情報を取得する第一の証明情報取得手順と、
前記第一の証明情報に基づき前記外部装置の機能を利用するための第二の証明情報を前記認証装置から取得する第二の証明情報取得手順とを実行させるための証明情報取得プログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項３３】
コンピュータに、
ネットワークを介して請求項１乃至７いずれか一記載の情報処理装置から送信されるユーザを認証するための認証情報を受信し該認証情報に係るユーザを認証する認証手順と、
前記認証情報に基づき前記ユーザの認証が行われた旨を表す第一の証明情報を生成する第一の証明情報生成手順と、
該第一の証明情報生成手順において生成された前記第一の証明情報を前記情報処理装置に送信する手順とを実行させるための認証プログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項３４】
コンピュータに、
ネットワークを介して請求項１乃至７いずれか一記載の情報処理装置から前記第二の証明情報を伴い送信される所定の機能提供要求を受信する要求受信手順と、
前記第二の証明情報に基づき前記所定の機能提供要求に係る処理を実行する処理実行手順とを実行させるための機能提供プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子的な証明情報に基づいてサービスを利用する情報処理装置、前記情報処理装置に前記証明情報を提供する認証装置、前記情報処理装置にサービスを提供する外部装置に関する。
【背景技術】
【０００２】
ネットワーク上に接続されたサーバのサービスを利用するためには、サーバに対する不正なアクセスを防止するため、クライアントはサーバに対してユーザ名及びパスワード等の認証情報の提示を要求されるのが一般である。
【０００３】
しかしながら、クライアントとサーバ間がインターネット等の不特定多数のユーザがアクセス可能なネットワークを介して接続されていることが一般的な今日において、パスワード等の認証情報をネットワーク上に頻繁に流通させるのは好ましくない。
【０００４】
そこで、認証情報をサーバに対して直接提示するのではなく、クライアントが既に認証を受けている正当なユーザであることを証明する電子的な証明書（以下、「チケット」という。）を用いる方式が既に実現されている。
【０００５】
クライアントは、まず、チケット発行機能が実装されている認証サーバに対してユーザ名及びパスワード等を提示することにより、認証サーバによって認証を受けると共にチケットの発行を受ける。
【０００６】
クライアントが所定のサーバに対してチケットを提示してサービスの提供を要求すると、サーバは、当該チケットの正当性の確認を認証サーバに対して要求する。認証サーバよりチケットが正当である旨の応答が得られると、サーバはクライアントに対してサービスを提供する。
【０００７】
ここで、チケットには、パスワード等の認証情報は記録されていない。また、チケットにはサーバにおけるサービスを利用することが可能な有効期限が決められている。したがって、万が一悪意のあるユーザにチケットが盗まれた場合でも、パスワード等が直接盗まれた場合に比べ、被害の規模を小さく抑えることができる。すなわち、チケットを利用することで、より高度なセキュリティの確保が期待できる。
【０００８】
また、チケットを利用した場合においても、ユーザによるユーザ名及びパスワード等の入力の負担を軽減するため、シングルサインオンの技術が既に導入されている。すなわち、複数のサーバにおけるサービスを利用する場合、ユーザはチケットの発行を受ける際に一回だけユーザ名及びパスワード等を入力すればよく、その後は、当該チケットが流通させることで、各サーバの機能を利用することができる。
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、上述したように、チケットには有効期限がある。したがって、チケットの有効期限が切れた場合、すなわち、チケットが無効となった場合には当該チケットをサーバに提示してもサーバによってサービスの提供が拒絶される。
【００１０】
そのため、サービスの提供を受けるにためは、チケットの再発行を受ける必要がある。そのためには、ユーザによるユーザ名及びパスワードの入力が必要となり、ユーザに煩わしさを感じさせてしまうという問題がある。
【００１１】
本発明は、上記の点に鑑みてなされたものであって、所定のサービスを受けるための電子的な証明書が無効となってしまった場合でも、その旨をユーザに意識させることなくサービスの利用を継続することができる情報処理装置、前記情報処理装置に電子的な証明書を提供する認証装置、及び前記情報処理装置にサービスを提供する外部装置の提供を目的とする。
【課題を解決するための手段】
【００１２】
そこで上記課題を解決するため、本発明は、請求項１に記載されるように、ユーザを認証する認証装置からの証明情報を用いて外部装置の機能を利用する情報処理装置であって、前記ユーザを前記認証装置に認証させるための認証情報を受信する受信手段と、前記認証情報を前記認証装置に送信することにより前記ユーザが認証された旨を表す第一の証明情報を取得する第一の証明情報取得手段と、前記第一の証明情報に基づき前記外部装置の機能を利用するための第二の証明情報を前記認証装置から取得する第二の証明情報取得手段とを有することを特徴とする。
【００１３】
また、上記課題を解決するため、本発明は、請求項８に記載されるように、ネットワークを介して請求項１乃至７いずれか一記載の情報処理装置から送信されるユーザを認証するための認証情報を受信し該認証情報に係るユーザを認証する認証手段と、前記認証情報に基づき前記ユーザの認証が行われた旨を表す第一の証明情報を生成する第一の証明情報生成手段と、該第一の証明情報生成手段により生成された前記第一の証明情報を前記情報処理装置に送信する手段とを有する認証装置であることを特徴とする。
【００１４】
また、上記課題を解決するため、本発明は、請求項１３に記載されるように、ネットワークを介して請求項１乃至７いずれか一記載の情報処理装置から前記第二の証明情報を伴い送信される所定の機能提供要求を受信する要求受信手段と、前記所定の機能提供要求に係る処理を実行する処理実行手段とを有し、前記処理実行手段は、前記第二の証明情報に基づき前記所定の機能提供要求に係る処理を実行する外部装置であることを特徴とする。
【００１５】
また、上記課題を解決するため、本発明は、上記情報処理装置における証明情報取得方法、前記証明情報取得方法をコンピュータに実行させるための証明情報取得プログラム、又は前記証明情報取得プログラムを記録した記録媒体としてもよい。
【００１６】
また、上記課題を解決するため、本発明は、上記認証装置における認証方法、前記証認証方法をコンピュータに実行させるための認証プログラム、又は前記認証プログラムを記録した記録媒体としてもよい。
【００１７】
また、上記課題を解決するため、本発明は、上記外部装置における機能提供方法、前記証機能提供方法をコンピュータに実行させるための機能提供プログラム、又は前記機能提供プログラムを記録した記録媒体としてもよい。
【発明の効果】
【００１８】
本発明によれば、所定のサービスを受けるための電子的な証明書が無効となってしまった場合でも、その旨をユーザに意識させることなくサービスの利用を継続することができる情報処理装置、前記情報処理装置に電子的な証明書を提供する認証装置、及び前記情報処理装置にサービスを提供する外部装置を提供することができる。
【発明を実施するための最良の形態】
【００１９】
以下、図面に基づいて本発明の実施の形態を説明する。図１は、本発明の実施の形態におけるＷｅｂシステムの構成例を示す図である。図１に示されるように、本実施の形態におけるＷｅｂシステム１は、Ｗｅｂサーバ１０、端末２０、認証サーバ３０、文書管理サーバ４０、文書配信サーバ５０等から構成され、各構成要素は、インターネットやＬＡＮ等のネットワーク６０を介して接続されている。
【００２０】
Ｗｅｂサーバ１０は、端末２０が要求する情報を表示するＷｅｂページを端末２０に提供するための機能を有するコンピュータである。ここでＷｅｂページとは、汎用的なＷｅｂブラウザで表示可能なＨＴＭＬ，ＸＭＬ形式等のデータをいう。Ｗｅｂサーバ１０は、端末２０に対するＷｅｂページの提供に際し、必要に応じて認証サーバ３０、文書管理サーバ４０又は文書配信サーバ５０の機能を利用する。
【００２１】
端末２０は、Ｗｅｂサーバ１０が提供するＷｅｂページを閲覧するためのＷｅｂブラウザを備えたＰＣ、ＰＤＡ（Personal Digital(Data) Assistants）、又は携帯電話等の通信端末である。
【００２２】
認証サーバ３０は、Ｗｅｂシステム１を利用するユーザによって入力されたユーザ名及びパスワード等の認証情報に基づくユーザの認証機能が実装されたコンピュータであり、当該認証機能をＷｅｂサービス（認証サービス）としてネットワーク６０上に提供する。
【００２３】
文書管理サーバ４０は、文書情報を管理する文書データベースが実装されたコンピュータであり、文書情報の登録、検索、及び更新等の諸機能をＷｅｂサービス（文書管理サービス）としてネットワーク６０上に提供する。
【００２４】
文書配信サーバ５０は、文書データの配信機能（以下、「文書配信機能」という。）をＷｅｂサービス（文書配信サービス）としてネットワーク６０上に提供するサーバである。文書配信機能とは、端末２０において選択された文書データを、端末２０において選択された宛先に送信する機能をいう。
【００２５】
認証サーバ３０、文書管理サーバ４０及び文書配信サーバ５０等における諸機能は、Ｗｅｂサービスとして提供されているため、ＳＯＡＰのＲＰＣによって呼び出すことが可能である。したがって、以下、これらのサーバを総称する場合、「ＳＯＡＰサーバ」と呼ぶこととする。
【００２６】
次に、Ｗｅｂサーバ１０の詳細について説明する。図２は、本発明の実施の形態におけるＷｅｂサーバのハードウェア構成例を示す図である。Ｗｅｂサーバ１０は、ＣＰＵ１０１１、ＲＯＭ１０１２、ＲＡＭ１０１３、補助記憶装置１０１４、ネットワークインタフェース（Ｉ／Ｆ）１０１５、ドライブ装置１０１６等から構成されている。
【００２７】
ＣＰＵ１０１１は、Ｗｅｂサーバ１０全体を制御する制御部であり、ＲＯＭ１０１２や補助記憶装置１０１４に格納された各種制御プログラムやアプリケーションプログラムを実行して装置の制御、通信の制御、データの取得及び編集等の動作を行う。
【００２８】
ＲＯＭ１０１２は、主に装置の制御プログラムを記憶する記憶手段であり、ＲＡＭ１０１３はＣＰＵ１０１１のワークメモリや一時的なデータの記憶に用いる記憶手段である。
【００２９】
補助記憶装置１０１４は、各種アプリケーションプログラムやデータを記憶する記憶手段である。ネットワークＩ／Ｆ１０１５は、Ｗｅｂサーバ１０をネットワーク６０に接続するためのインタフェースである。
【００３０】
ドライブ装置１０１６は、本発明の機能を実行するプログラムが記録されたＣＤ−ＲＯＭ等の記録媒体１０１７を読み取るための装置である。
【００３１】
なお、図２には操作部や表示部を示していないが、キーボードやマウス等による操作部や、液晶やブラウン管（ＣＲＴ）による表示部を設け、ユーザからの入力の受付や動作結果の表示を行うことができるようにしてもよい。
【００３２】
また、各種ＳＯＡＰサーバについても、図２と同様と同様に構成することができる。したがって、ＳＯＡＰサーバにおける機能を実現するプログラムについても、ＣＤ−ＲＯＭ等の記録媒体によって提供される。当該ＣＤ−ＲＯＭがドライブ装置１０１６に読み取られることにより、ＳＯＡＰサーバは、当該プログラムに定義されている機能を実現する。
【００３３】
次にＷｅｂシステム１の機能構成例について説明する。図３は、本発明の実施の形態におけるＷｅｂサーバの機能構成例を示す図である。図３に示されるように、Ｗｅｂサーバ１０は、Ｗｅｂサーバプログラム１１と、Ｗｅｂアプリ１２と、プラグインコントローラ１３と、認証プラグインマネージャ１４と、文書管理プラグインマネージャ１５と、文書配信プラグインマネージャ１６と、認証プラグインオブジェクト１７、文書管理プラグインオブジェクト１８と、文書配信プラグインオブジェクト１９とから構成されている。
【００３４】
Ｗｅｂサーバプラグラム１１は、端末２０からＨＴＴＰ（HyperText Transfer Protocol）による各種処理要求（ＨＴＴＰリクエスト）を受信し、当該処理要求に対応したＷｅｂアプリ１２を呼び出すと共に、Ｗｅｂアプリ１２の生成したＷｅｂページを端末２０に送信するためのデーモンプログラムである。
【００３５】
Ｗｅｂアプリ１２は、いわゆるＷｅｂアプリケーションであり、端末２０に提供するためのＨＴＭＬ形式等によるＷｅｂページの生成を主な機能とする。Ｗｅｂアプリ１２は、Ｗｅｂページの生成に際し、必要に応じプラグインコントローラ１３を介して認証プラグインオブジェクト１７、文書管理プラグインオブジェクト１８又は文書配信プラグインオブジェクト１９等（以下、総称する場合「プラグインオブジェクト」という。）を入手し、当該オブジェクトを介して各種ＳＯＡＰサーバの機能を利用する。
【００３６】
プラグインコントローラ１３は、Ｗｅｂアプリ１２に対し、各種プラグインオブジェクトを入手するための共通化されたインタフェースを提供するモジュールである。すなわち、プラグインコントローラ１３は、オブジェクトの種別（型）にかかわらず共通のインタフェース（メソッド）によってオブジェクトの取得要求を受け付ける。例えば、本実施の形態におけるプラグインコントローラ１３は、getPlugin()というメソッド（プラグイン取得メソッド）によって、オブジェクトの取得要求を受け付ける。また、各Ｗｅｂアプリ１２もその種別を問わず共通のプラグイン取得メソッドを呼び出すことによりオブジェクトを取得する。
【００３７】
認証プラグインマネージャ１４、文書管理プラグインマネージャ１５及び文書配信プラグインマネージャ１６等（以下、総称する場合「プラグインマネージャ」という。）は、プラグインオブジェクトの種別に応じて各プラグインオブジェクトのライフサイクル（存在）を管理するオブジェクトである。すなわち、各オブジェクトマネージャには、それぞれが対応するプラグインオブジェクトの生成機能や破棄機能等がメソッドとして実装されている。
【００３８】
認証プラグインオブジェクト１７、文書管理プラグインオブジェクト１８及び文書配信プラグインオブジェクト１９等のプラグインオブジェクトは、認証サーバ３０、文書管理サーバ４０又は文書配信サーバ５０等の諸機能をメソッドインタフェースによってＷｅｂアプリ１２に対して透過的に提供するためのオブジェクトである。各プラグインオブジェクトは、Ｗｅｂアプリ１２からのメソッドの呼び出しに応じ、当該プラグインオブジェクトが対応するＳＯＡＰサーバにおけるメソッドをＳＯＡＰのＲＰＣによって呼び出すことにより、各ＳＯＡＰサーバの機能をＷｅｂアプリ１２に対して提供する。
【００３９】
なお、本実施の形態において、プラグインマネージャとプラグインオブジェクトによって一つのプラグインが構成される。すなわち、認証プラグインマネージャ１４と認証プラグインオブジェクト１７によって認証サーバ３０に対するプラグイン（認証プラグイン）が構成され、同様に文書管理プラグインマネージャ１５及び文書管理プラグインオブジェクト１８によって文書管理サーバ４０に対するプラグイン（文書管理プラグイン）が、文書配信プラグインマネージャ１６及び文書配信プラグインオブジェクト１９によって文書配信サーバ５０に対するプラグイン（文書配信プラグイン）が構成される。
【００４０】
したがって、新たなプラグインを追加する場合、例えば文書データを印刷する印刷サーバ（非図示）に対するプラグインを追加する場合は、印刷プラグインマネージャと印刷プラグインオブジェクトとを実装すればよい。
【００４１】
文書管理サーバ４０には、文書管理機能をＷｅｂサービスとして提供する文書管理サービス４５が実装されている。文書管理サービス４５は、ＳＯＡＰ処理部４１、文書管理部４２及び認証チケット検証部４３等から構成されている。ＳＯＡＰ処理部４１は、文書管理プラグイン１７から送信される、メソッドの呼び出し情報を含むＳＯＡＰメッセージを受信し、当該ＳＯＡＰメッセージに基づいて、呼び出し要求のあったメソッドを呼び出すためのモジュールである。
【００４２】
文書管理部４２は、文書管理機能を提供するための各種メソッドが実装されているモジュールである。すなわち、文書管理部４２に実装されているメソッドが、ＳＯＡＰのＲＰＣによって呼び出される対象である。
【００４３】
認証チケット検証部４３は、認証チケットの正当性を確認するためのモジュールである。ここで、認証チケットとは、ユーザが認証サーバ３０によって認証された旨を示す情報を有するデータ、又は当該情報に対するポインタ情報を有するデータであり、認証サーバ３０がユーザによって入力された認証情報に基づいてユーザが認証された際に発行するものである。
【００４４】
文書配信サーバ５０には、文書配信機能をＷｅｂサービスとして提供する文書配信サービス５５が実装されている。文書配信サービス５５は、ＳＯＡＰ処理部５１、文書配信部５２及び認証チケット検証部５３等から構成されている。ＳＯＡＰ処理部５１、認証チケット検証部５３は、文書管理サーバ４０におけるＳＯＡＰ処理部４１、認証チケット検証部４３と同様の機能を有するモジュールである。文書配信部５２は、文書配信機能を提供するための各種メソッドが実装されているモジュールである。すなわち、文書配信部５２に実装されているメソッドが、ＳＯＡＰのＲＰＣによって呼び出される対象である。
【００４５】
図４は、認証プラグインオブジェクト及び認証サーバの機能構成例を示す図である。図４に示されるように、認証プラグインオブジェクト１７は、認証メソッド１７１、マスタチケット取得メソッド１７２、認証チケット取得メソッド１７３、認証情報管理テーブル１７４及びマスタチケット管理テーブル１７５等を有する。
【００４６】
認証メソッド１７１は、認証情報に基づくユーザの認証要求（認証チケットの発行要求）を受け付けるためのメソッドである。認証メソッド１７１は、マスタチケット取得メソッド１７２や認証チケット取得メソッド１７３等を呼び出すことにより、プラグインコントローラ１３より要求された認証処理を認証サーバ３０に要求し、認証処理の結果として返信される認証チケットを呼び出し元に返却する。認証メソッド１７１は、認証要求に係るユーザのユーザ名とパスワードとを引数として受け付ける。
【００４７】
マスタチケット取得メソッド１７２は、認証メソッド１７１の引数に指定されたユーザ名とパスワードとに基づく認証要求を認証サーバ３０に送信することによりマスタチケットを認証サーバ３０より取得するためのメソッドである。
【００４８】
ここで、マスタチケットとは、上述した認証チケットと同様、ユーザが認証サーバ３０において認証された旨を示すデータであるが、両者は用途が異なる。
【００４９】
認証チケットは、例えば一つのＳＯＡＰサーバのみ等、限られた範囲のみで有効なチケットである。例えば、文書管理サーバ４０を対象として発行された認証チケットは、文書配信サーバ５０等、他のＳＯＡＰサーバでは利用できない。各ＳＯＡＰサーバの認証チケット検証部は、当該ＳＯＡＰサーバを対象としていない認証チケットを伴った利用要求を認めないからである。従って、万が一認証チケットを盗まれた場合でも、当該認証チケットの所有者が受ける被害は、当該認証チケットが対象としているＳＯＡＰサーバのみに限られる。
【００５０】
これに対しマスタチケットは、チケットを用いた認証に対応している全てのＳＯＡＰサーバにおいて有効な万能のチケットである。また、マスタチケットを提示することによって認証チケットの発行を受けることができる。したがって、マスタチケットが盗まれた場合には、当該マスタチケットの所有者が受ける被害は、チケットに対応しているシステムの全範囲に及ぶ可能性がある。
【００５１】
これら２種類のチケットが定義されているのは、セキュリティ上の観点によるところが大きい。すなわち、認証チケットは、マスタチケットをネットワーク上に頻繁に流通させないために定義されたチケットである。したがって、マスタチケットは、認証チケットの発行要求時等、限られた際にしか用いられない。
【００５２】
認証チケット取得メソッド１７３は、マスタチケット取得メソッド１７２によって認証サーバ３０から取得されたマスタチケットを用いて、認証サーバ３０に対し認証チケットの発行要求を送信することにより、認証サーバ３０より認証チケットを取得するためのメソッドである。
【００５３】
認証情報管理テーブル１７４は、ユーザによって入力されたパスワード等のユーザの認証情報を保持しておくためのテーブルである。マスタチケット管理テーブル１７５は、マスタチケット取得メソッド１７２によって取得したマスタチケットを保持しておくためのテーブルである。
【００５４】
一方、認証サーバ３０には、認証機能をＷｅｂサービスとして提供する認証サービス３５が実装されている。認証サービス３５は、ＳＯＡＰ処理部３１、認証処理部３２、マスタチケット発行部３３及び認証チケット発行部３４等から構成されている。
【００５５】
ＳＯＡＰ処理部３１は、文書管理サーバ４０等、他のＳＯＡＰサーバにおけるＳＯＡＰ処理部と同様のモジュールである。認証処理部３２は、認証情報に基づくユーザの認証機能等が実装されているモジュールであり、当該機能の利用要求をメソッドインタフェースによって受け付ける。すなわち、ＳＯＡＰ処理部３１に実装されているメソッドが、ＳＯＡＰのＲＰＣによって呼び出される対象である。
【００５６】
マスタチケット発行部３３は、認証処理部３２において認証されたユーザに対するマスタチケットを生成するモジュールである。認証チケット発行部３４は、マスタチケットに基づいて認証チケットを生成するためのモジュールである。
【００５７】
以下、Ｗｅｂシステム１の処理手順について説明する。図５、図６及び図７は、ユーザが最初にＷｅｂシステムを利用する際の認証処理を説明するためのシーケンス図である。ここで、「最初にＷｅｂシステムを利用する際」とは、ユーザが、Ｗｅｂシステム１において文書管理サーバ４０や文書配信サーバ５０の機能を利用するために、認証サーバ３０によってまだ一度も認証を受けていない状態を意味する。
【００５８】
ユーザが、端末３０におけるＷｅｂブラウザにおいて、文書管理サーバ４０に管理されている文書データの一覧情報（以下、「文書一覧情報」という。）を閲覧しようと、文書一覧情報を表示するＷｅｂページ（以下、「文書一覧ページ」という。）に対するＵＲＬをＷｅｂブラウザに入力すると、端末３０は、Ｗｅｂサーバ１０に対し文書一覧ページの送信を要求するＨＴＴＰリクエストを送信する（Ｓ１１）。
【００５９】
Ｗｅｂサーバ１０においては、端末３０からのＨＴＴＰリクエストを受信したＷｅｂサーバプログラム１１によってＷｅｂアプリ１２が呼び出される。文書一覧情報を取得するためには、文書管理プラグインオブジェクト１８を入手する必要があるため、Ｗｅｂアプリ１２は、プラグインコントローラ１３のプラグイン取得メソッド（getPlugin()）呼び出すことにより、文書管理プラグインオブジェクト１８の提供をプラグインコントローラ１３に対して要求する（Ｓ１２）。なお、プラグイン取得メソッドの引数には、取得対象とするプラグインオブジェクトの種別を示す情報としてプラグイン名（ここでは、「文書管理」）が指定される。
【００６０】
プラグインコントローラ１３は、プラグイン取得メソッドの引数に指定されたプラグイン名に基づき、要求されたプラグインオブジェクト（文書管理プラグインオブジェクト１８）が属するプラグインの種別を判断し、当該プラグインのプラグインマネージャ（文書管理プラグインオブジェクトマネージャ１４）のプラグイン取得メソッド（getPlugin()）を呼び出すことにより、プラグインマネージャに対しプラグインオブジェクトの提供を要求する。
【００６１】
なお、プラグインマネージャのプラグイン取得メソッドには、引数として認証チケットを指定することができるが、ここでは、認証チケットは引数に指定されない。ここで引数として指定される認証チケットは、後述するように、文書管理サーバ４０に対とのセッションを接続する際に用いられるが、ＳＯＡＰサーバの中にはセッションを接続する際に、ユーザが認証されていることを必要としないもの、すなわち、認証チケットの提示を要しないものもある。そこで、ユーザが認証を受けていない状態（認証チケットが無い状態）でとりあえず文書管理サーバ４０とのセッションの接続を試みてみるというわけである。
【００６２】
ステップＳ１３に続いてステップＳ１４に進み、文書管理プラグインマネージャ１５は、文書管理プラグインオブジェクト１８をインスタンス化する。インスタンス化された文書管理プラグインオブジェクトは、文書管理サーバ４０におけるセッション接続メソッド（startSession()）をＳＯＡＰのＲＰＣによって呼び出すことにより、文書管理サーバ４０にセッションの接続を要求する（Ｓ１５）。なお、セッション接続メソッドの引数には、認証チケットを指定することができるが、上述の理由により、ここでは認証チケットは引数に指定されない。
【００６３】
本実施の形態において、文書管理サーバ４０は、認証を受けたユーザに対してのみ利用を許可するように実装されている。すなわち、文書管理サーバ４０の認証チケット検証部５３は、セッション接続要求メソッドの引数に指定されている可能性のある認証チケットの正当性を検証しようとする。しかし、ここではセッション接続要求メソッドの引数には認証チケットが指定されていない。そこで、文書管理サーバ４０は、ユーザが認証されていないためにセッションを接続できない旨（認証エラー）をセッション接続メソッドの返却情報として文書管理プラグインオブジェクト１８に送信する（Ｓ１６）。
【００６４】
認証エラーは、文書管理プラグインオブジェクト１８から文書管理プラグインマネージャ１５を経てプラグインコントローラ１３に返却される（Ｓ１７、Ｓ１８）。
【００６５】
プラグインコントローラ１３は、認証エラーを受け取ることによって文書管理サーバ４０を利用するためには、認証チケットが必要であることを判断する。したがって、認証サーバ３０から認証チケットの発行を受けるため、認証プラグインマネージャ１４に対して認証オブジェクトの提供を要求する(getPlugin())（Ｓ１９）。
【００６６】
認証プラグインマネージャ１４は、認証プラグインオブジェクト１７をインスタンス化し（Ｓ２０）、当該認証プラグインオブジェクト１７をプラグインコントローラ１３に対して返却する（Ｓ２１）。
【００６７】
プラグインコントローラ１３は、認証プラグインオブジェクト１７の認証メソッド１７１を呼び出すことにより、文書管理サーバ４０に対する認証チケットの発行を認証プラグインオブジェクト１７に対して要求する（Ｓ２２）。なお、認証メソッド１７１の引数には、ユーザのユーザ名及びパスワード等の認証情報を指定することができるが、ここではまだ、ユーザによる認証情報の入力は行われていないため、プラグインコントローラ１３は、引数は認証情報を指定せずに認証メソッド１７１を呼び出す。
【００６８】
プラグインコントローラ１３がこの段階で認証情報の入力をユーザに要求せずに、引数に認証情報を指定しないまま認証メソッド１７１を呼び出すのは、後述されるように、カレントユーザが過去に認証チケットの発行を受けている場合には、認証情報を認証メソッドの引数に指定しなくとも認証チケットの入手に成功する場合があるからである。
【００６９】
ステップＳ２３に進み、認証プラグインオブジェクト１７は、認証メソッドの引数に認証情報が指定されていないため、カレントユーザは過去に認証を受けているか否かをマスタチケット管理テーブル１７５を参照して確認する。
【００７０】
図８は、マスタチケット管理テーブルの構成例を示す図である。図８に示されるように、マスタチケット管理テーブル１７５は、ＩＤ、マスタチケット、及び認証サービスのＵＲＬ等のデータ項目を有し、過去にユーザに対して発行されたマスタチケットを保持しておくためのテーブルである。
【００７１】
ＩＤは、各レコードを一意に識別するための番号である。マスタチケットは、過去に発行されたマスタチケットそのものである。認証サービスＵＲＬは、当該マスタチケットを発行した認証サーバ３０の認証サービス対するＵＲＬである。
【００７２】
この段階においては、ユーザはまだ一度も認証サーバ３０によって認証を受けていないため、マスタチケット管理テーブル１７５にはマスタチケットは一つも登録されていない。したがって、認証プラグインオブジェクト１７の認証メソッド１７１は、ユーザに対する認証チケットは発行できない旨（認証エラー）をプラグインコントローラ１３に対して返却する（Ｓ２４）。
【００７３】
プラグインコントローラ１３は、認証エラーをステップＳ１２において呼び出されたプラグイン取得メソッドの返却情報として、Ｗｅｂアプリ１２に対して返却する。（Ｓ２５）。
【００７４】
認証エラーを受け取ったＷｅｂアプリ１２は、ユーザに対して認証情報の入力を要求する必要がある旨を認識し、ユーザ名及びパスワード等を入力させるためのインタフェースを備えたＷｅｂページ（以下、「ログインページ」という。）を生成する（Ｓ２６）。ログインページは、Ｗｅｂアプリ１２からＷｅｂサーバプログラム１１を介して端末２０に送信され、端末２０のＷｅｂブラウザによって表示される（Ｓ２７）。
【００７５】
ユーザが、ログインページにおいてユーザ名及びパスワード等の認証情報を入力すると、端末２０は、当該認証情報と共に文書一覧ページの送信要求（ＨＴＴＰリクエスト）を改めてＷｅｂサーバ１０に対して送信する（図６：Ｓ２８）。
【００７６】
Ｗｅｂアプリ１２は、ステップＳ１２と同様にプラグインコントローラ１３のプラグイン取得メソッドを呼び出すことにより、文書管理プラグインオブジェクト１７の提供をプラグインコントローラ１３に対して要求する（Ｓ２９）。但し、今度は、プラグイン取得メソッドの引数には、端末２０より受信した認証情報が更に指定される。
【００７７】
プラグインコントローラ１３は、プラグイン取得メソッドの引数に認証情報が指定されていることに基づき、認証プラグインマネージャ１４のプラグイン取得メソッドを呼び出すことにより、認証プラグインマネージャ１４に対し認証プラグインオブジェクト１７の提供を要求する（Ｓ３０）。認証プラグインマネージャ１４は、ステップＳ２０においてインスタンス化した認証プラグインオブジェクト１７を取得し（Ｓ３１）、当該認証プラグインオブジェクト１７をプラグインコントローラ１３に対して返却する（Ｓ３２）。
【００７８】
プラグインコントローラ１３は、認証プラグインオブジェクト１７の認証メソッド１７１を呼び出すことにより改めて文書管理サーバ４０に対する認証チケットの発行を要求する（Ｓ３３）。但し、今度は認証メソッドの引数には端末２０より受信した認証情報が指定される。
【００７９】
認証メソッド１７１が、引数に認証情報が指定されていることに基づき、認証チケットの発行を受けるために必要なマスタチケットを入手すべくマスタチケット取得メソッド１７２を呼び出すと、マスタチケット取得メソッド１７２は、認証サーバ３０の認証処理部３２におけるマスタチケット発行メソッドをＳＯＡＰのＲＰＣによって呼び出すことにより、当該認証情報に基づく認証及びマスタチケットの発行要求（ＳＯＡＰメッセージ）を認証サーバ３０に対して送信する（Ｓ３４）。
【００８０】
図９は、マスタチケット発行メソッドを呼び出す際のＳＯＡＰメッセージの例を示す図である。図９のＳＯＡＰメッセージ６１において、符号６１１によって示される部分がマスタチケット発行メソッドに対する呼び出し情報である。すなわち、タグ６１２のタグ名である「authenticateByPassword」は、マスタチケット発行メソッドのメソッド名であり、記述６１３、６１４及び６１５は、マスタチケット発行メソッドの引数情報である。記述６１３、６１４は、ユーザ名とパスワードに対応する引数情報である。また、記述６１５は、発行要求に係るマスタチケットの有効期限（単位は分）についての引数情報である。
【００８１】
ステップＳ３４に続いてステップＳ３５に進み、ＳＯＡＰメッセージ６１（図９）を受信したＳＯＡＰ処理部３１によって認証処理部３２のマスタチケット発行メソッドが呼び出され、認証処理部３２は、マスタチケット発行メソッドの引数に指定されているユーザ名及びパスワード等の認証情報に基づいてカレントユーザの認証処理を実行する。
【００８２】
カレントユーザが認証されると、認証処理部３２からの要求に基づいてマスタチケット発行部３３がカレントユーザに対するマスタチケットを生成する（Ｓ３６）。
【００８３】
図１０は、マスタチケットのデータ構造例を示す図である。図１０に示されるようにマスタチケットは、チケットＩＤ、有効範囲、有効期限、認証ユーザＩＤ及びＭＩＣ等から構成される。
【００８４】
チケットＩＤは、発行されたチケットを一意に識別するためのコードである。有効範囲はマスタチケットと認証チケットとの種類の別と、当該チケットが認証チケットである場合は、当該チケットを利用可能な範囲を識別するための情報である。すなわち、当該チケットがマスタチケットである場合は、有効範囲には「マスタ」と記録され、当該チケットが認証チケットである場合は、当該認証チケットを利用可能な範囲を識別するための名称（ドメイン名、サーバ名等）が記録される。
【００８５】
有効期限は、当該チケットに基づいて認証チケットの発行を受けることが可能な期限であり、認証メソッドの引数に指定された有効期限に基づいて定められる。有効期限が切れたチケットは、無効なものとして扱われる。これによって、万が一マスタチケットが盗まれた場合における被害が無限に拡大することを防止することができる。
【００８６】
認証ユーザＩＤは、認証を受けたユーザのユーザＩＤである。ＭＩＣは、当該チケットが途中で改竄されていないかを確認するためのコードである。
【００８７】
ステップＳ３６に続いてステップＳ３７に進み、認証処理部３２が、マスタチケット発行部３３の生成したマスタチケットをマスタチケット発行メソッドの返却情報としてＳＯＡＰ処理部３１に出力すると、ＳＯＡＰ処理部３１は、マスタチケットをシリアライズし、シリアライズしたマスタチケットを返却情報として含むＳＯＡＰメッセージを認証プラグインオブジェクト１７に対して送信する。
【００８８】
図１１は、マスタチケット発行メソッドの返却情報を含むＳＯＡＰメッセージの例を示す図である。図１１のＳＯＡＰメッセージ６２において、符号６２１で示される部分が、返却情報である。すなわち、記述６２２において＜ｒｅｔｕｒｎＶａｌｕｅ＞タグで囲まれ、符号６２２によって示される文字列が、シリアライズされたマスタチケットである。
【００８９】
ステップＳ３７に続いてステップＳ３８に進み、認証プラグインオブジェクト１７の認証メソッド１７１は、認証サーバ３０より受信したマスタチケットをマスタチケット管理テーブル１７５に登録し、更に、ログインページにおいて入力されたユーザ名及びパスワード等の認証情報を認証情報管理テーブル１７４に登録する。
【００９０】
図１２は、マスタチケットが登録されたマスタチケット管理テーブルの例を示す図である。図１２に示されるように、マスタチケットの内容と、マスタチケットを発行した認証サーバ３０とのＵＲＬとが登録されている。
【００９１】
また、図１３は、認証情報管理テーブルの構成例を示す図である。図１３に示されるように、認証情報管理テーブル１７４は、ＩＤ、ユーザ名、パスワード及び認証サービスＵＲＬ等をデータ項目として有している。
【００９２】
ＩＤは、各レコードを一意に識別するための番号であり、マスタチケット管理テーブル１７５において対応するレコードのＩＤと同一の値をとる。すなわち、ＩＤによって、認証情報管理テーブル１７４におけるレコードとマスタチケット管理テーブル１７５におけるレコードとの関連付けが実現されている。
【００９３】
ユーザ名及びパスードは、認証を受けたユーザのユーザ名とパスワードである。認証サービスＵＲＬは、マスタチケットの発行を受けた認証サーバ３０における認証サービスに対するＵＲＬであり、マスタチケット管理テーブル１７５において対応するレコードにおけるものと同一の値となる。
【００９４】
なお、本実施の形態においては、認証情報管理テーブル１７４におけるレコードと、マスタチケット管理テーブル１７５におけるレコードとは１対１に対応しているため、両テーブルにおける情報を一つのテーブルによって管理するようにしてもよい。
【００９５】
ステップＳ３８に続いてステップＳ３９に進み、認証メソッド１７１が、認証チケットの発行を受けるべく、ステップＳ３７で入手したマスタチケットを引数に指定して認証チケット取得メソッド１７３を呼び出すと、認証チケット取得メソッド１７３は、認証サーバ３０の認証処理部３２における認証チケット発行メソッドをＳＯＡＰのＲＰＣによって呼び出すことにより、認証チケットの発行要求（ＳＯＡＰメッセージ）を認証サーバ３０に対して送信する。
【００９６】
図１４は、認証チケット発行メソッドを呼び出す際のＳＯＡＰメッセージの例を示す図である。図１４のＳＯＡＰメッセージ６３において、符号６３１によって示される部分が認証チケット発行メソッドに対する呼び出し情報である。すなわち、タグ６３２のタグ名である「createAuthTicket」は、認証チケット発行メソッドのメソッド名であり、記述６３３、６３４及び６３５は、認証チケット発行メソッドの引数情報である。記述６３３は、マスタチケットに対応する引数情報である。記述６３４は、発行要求に係る認証チケットの有効期限（単位は分）についての引数情報である。記述６３５は、発効要求に係る認証チケットの有効範囲を示す情報である。
ステップＳ３９に続いてステップＳ４０に進み、ＳＯＡＰメッセージ（図１４）を受信したＳＯＡＰ処理部３１によって認証処理部３２の認証チケット発行メソッドが呼び出され、認証処理部３２は、認証チケット発行メソッドの引数に指定されているマスタチケットの正当性の確認処理を行う。マスタチケットの正当性の確認処理としては、例えば、マスタチケットの有効期限が切れていないか、及びマスタチケットが改竄されていないか等の確認が行われる。
【００９７】
マスタチケットの正当性が確認されると、認証処理部３２からの要求に応じ、認証チケット発行部３４が、マスタチケットに基づいて認証チケットを生成する（Ｓ４１）。なお、認証チケットのデータ構造は、図１０のマスタチケットの構造と同様であってもよいし、認証サーバ３０において管理されているユーザ情報に対するポインタ情報であってもよい。
【００９８】
認証処理部３２が、認証チケット発行部３４の生成した認証チケットを認証チケット発行メソッドの返却情報としてＳＯＡＰ処理部３１に出力すると、ＳＯＡＰ処理部３１は、認証チケットをシリアライズし、シリアライズした認証チケットを返却情報として含むＳＯＡＰメッセージを認証プラグインオブジェクト１７に対して送信する（Ｓ４２）。
【００９９】
図１５は、認証チケット発行メソッドの返却情報を含むＳＯＡＰメッセージの例を示す図である。図１１のＳＯＡＰメッセージ６４において、符号６４１で示される部分が、返却情報である。すなわち、記述６４２において＜ｒｅｔｕｒｎＶａｌｕｅ＞タグで囲まれ、符号６４２によって示される文字列が、シリアライズされた認証チケットである。
【０１００】
ステップＳ４２に続いてステップＳ４３に進み、認証メソッド１７１は、デシリアライズした認証チケットを返却情報としてプラグインコントローラ１３に対して返却する。
【０１０１】
以上でプラグインコントローラ１３は、カレントユーザに対する文書管理サーバ４０用の認証チケットを入手したことになる。そこで、プラグインコントローラ１３は、入手した認証チケットを引数に指定して改めて文書管理プラグインマネージャ１５のプラグイン取得メソッド（getPlugin()）を呼び出すことにより、文書管理プラグインオブジェクト１８の提供を文書管理プラグインマネージャ１５に対して要求する（図７：Ｓ４４）。
【０１０２】
文書管理プラグインマネージャ１５は、ステップＳ１４においてインスタンス化した文書管理プラグインオブジェクト１８に対して認証チケットを引数として文書管理サーバ４０とのセッションの接続を要求する（Ｓ４５）。文書管理プラグインオブジェクト１８は、今度はマスタチケットに基づいて発行された認証チケットを引数に指定して文書管理サーバ４０におけるセッション接続メソッド（startSession()）をＳＯＡＰのＲＰＣによって呼び出す（Ｓ４６）。
【０１０３】
文書管理サーバ４０において、認証チケット検証部４３は、セッション接続メソッドの引数に指定された認証チケットを検証することにより、例えば、認証チケットの所有者であるカレントユーザに文書管理サーバ４０の利用は許可されているか等を判断する（Ｓ４７）。
【０１０４】
カレントユーザが利用権限のあるユーザである旨が確認されると、文書管理サーバ４０の文書管理部４２はセッションを接続し、セッションを接続した旨をセッション接続メソッドの返却情報として文書管理プラグインオブジェクト１８に対して送信する（Ｓ４８）。
【０１０５】
文書管理プラグインオブジェクト１８が、セッションの接続に成功した旨を文書管理プラグインマネージャ１５に対して返却すると（Ｓ４９）、文書管理プラグインマネージャ１５は、プラグインコントローラ１３に対して文書管理プラグインオブジェクト１８を出力する（Ｓ５０）。文書管理プラグインオブジェクト１８は、ステップＳ２９において呼び出されたプラグイン取得メソッドの返却情報として、Ｗｅｂアプリ１２に対して返却される（Ｓ５１）。
【０１０６】
文書管理プラグインオブジェクト１８を入手できたＷｅｂアプリ１２は、文書管理プラグインオブジェクト１８に対して文書一覧情報の取得を要求する（Ｓ５２）。文書管理プラグインオブジェクト１８は、文書管理サーバ４０における文書管理部４２の文書一覧取得メソッドをＳＯＡＰのＲＰＣによって呼び出すことにより、文書管理サーバ４０に対して文書一覧情報の送信を要求する（Ｓ５３）。
【０１０７】
文書管理部４２は、文書一覧情報を取得し、当該文書一覧情報を文書一覧取得メソッドの返却情報として文書管理プラグインオブジェクト１８に対して送信する（Ｓ５４）。
【０１０８】
文書管理プラグインオブジェクト１８が、受信した文書一覧情報をＷｅｂアプリ１２に対して返却すると（Ｓ５５）、Ｗｅｂアプリ１２は、当該文書一覧情報を表示する文書一覧ページを生成する（Ｓ５６）。文書一覧ページは、Ｗｅｂアプリ１２からＷｅｂサーバプログラム１１を介して端末２０に送信され、端末２０のＷｅｂブラウザによって表示される（Ｓ５７）。
【０１０９】
以上で、ユーザがＷｅｂシステム１における文書管理サービスを利用することにより、当該ユーザの認証情報及びマスタチケットが認証情報管理テーブル１７４又はマスタチケット管理テーブル１７５に保持されたことになる。次に、かかる状態において、ユーザが文書管理サービスとは別のサービスを利用しようとした場合のＷｅｂシステム１における処理について説明する。
【０１１０】
図１６から図１８は、ユーザが別のサービスの利用を要求した際の認証処理を説明するためのシーケンス図である。
【０１１１】
ユーザが、端末３０Ｗｅｂブラウザに表示されている文書一覧ページにおいて所定の文書データの配信を指示すると、端末３０は、Ｗｅｂサーバ１０に対し文書データの配信を要求するＨＴＴＰリクエストを送信する（Ｓ６１）。
【０１１２】
Ｗｅｂサーバ１０においては、端末３０からのＨＴＴＰリクエストを受信したＷｅｂサーバプログラム１１によってＷｅｂアプリ１２が呼び出される。文書データを文書配信サーバ５０に配信させるためには文書配信プラグインオブジェクト１９を入手する必要があるため、Ｗｅｂアプリ１２は、引数に文書配信プラグインのプラグイン名（「文書配信」）を指定して、プラグインコントローラ１３のプラグイン取得メソッド（getPlugin()）を呼び出す（Ｓ６２）。
【０１１３】
プラグインコントローラ１３は、最初に文書管理プラグインオブジェクト１８を取得した際（図５：Ｓ１３）と同様に、引数に認証チケットを指定しないで文書配信プラグインマネージャ１６のプラグイン取得メソッドを呼び出す。プラグインコントローラ１３は、カレントユーザが既に認証を受けているか否かについては関知しないからである（Ｓ６３）。
【０１１４】
文書配信サーバ５０も文書管理サーバ４０と同様に認証を受けたユーザに対してのみ利用を許可するように実装されているため、ステップＳ６４からステップＳ７２までは、ステップＳ１４からステップＳ２２までと同様の処理が実行される。
【０１１５】
すなわち、文書配信プラグインオブジェクト１９がインスタンス化され（Ｓ６４）、文書配信プラグインオブジェクト１９が文書配信サーバ５０とのセッションの接続を要求すると（Ｓ６５）、文書配信サーバ５０より認証エラーが返信される（Ｓ６６）。認証エラーは、文書配信プラグインマネージャ１６を介してプラグインコントローラ１３に対して返却される（Ｓ６７、Ｓ６８）。
【０１１６】
プラグインコントローラ１３は、認証チケットを入手するため、認証プラグインオブジェクト１７を入手し（Ｓ６９〜Ｓ７１）、認証プラグインオブジェクト１７の認証メソッド１７１を、引数に認証情報を指定せずに呼び出すことにより、認証プラグインオブジェクト１７に対して文書配信サーバ５０に対する認証チケットの発行を要求する（Ｓ７２）。
【０１１７】
認証メソッド１７１は、マスタチケット管理テーブル１７５（図１２）よりマスタチケットを取得する（Ｓ７３）。マスタチケット管理テーブル１７５には、上記において文書管理サービスを利用する際に発行されたマスタチケットが登録されているため、ここでは、当該マスタチケットが取り出される。
【０１１８】
認証メソッド１７１が、認証チケットの発行を受けるべく、マスタチケット管理テーブル１７５より取得したマスタチケットを引数に指定して認証チケット取得メソッド１７３を呼び出すと、認証チケット取得メソッド１７３は、認証サーバ３０の認証処理部３２における認証チケット発行メソッドをＳＯＡＰのＲＰＣによって呼び出すことにより、認証チケットの発行要求（ＳＯＡＰメッセージ）を認証サーバ３０に対して送信する（Ｓ７４）。
【０１１９】
図１９は、マスタチケット管理テーブルに登録されているマスタチケットを用いて認証チケット発行メソッドを呼び出す際のＳＯＡＰメッセージの例を示す図である。図１９のＳＯＡＰメッセージ６５は、図１４のＳＯＡＰメッセージ６３と同様の構成をしているため、詳細な説明は省略する。
【０１２０】
ステップＳ７４続いてステップＳ７５に進み、ステップＳ４０（図６）と同様に認証サーバ３０の認証処理部３２が、認証チケット発行メソッドの引数に指定されているマスタチケットの正当性の確認処理を行う。マスタチケットの正当性が確認された場合はステップＳ８５に進み、認証チケット発行部３４がカレントユーザに対する認証チケットを生成する。
【０１２１】
マスタチケットの正当性が確認できなかった場合、例えば、マスタチケットの有効期限が切れていた場合には、認証処理部ステップＳ７５からステップＳ８４までの処理が実行される。
【０１２２】
すなわち、認証処理部３２は、認証チケット発行メソッドの返却情報としてマスタチケットは期限切れである旨を認証プラグインオブジェクト１７に対して送信する（Ｓ７６）。認証プラグインオブジェクト１７が、改めてマスタチケットの発行を受けるべく、認証情報管理テーブル１７４よりカレントユーザの認証情報を取得し（Ｓ７７）、当該認証情報を引数に指定して認証サーバ３０の認証処理部３２におけるマスタチケット発行メソッドをＳＯＡＰのＲＰＣによって呼び出すと（Ｓ７８）、ステップＳ３５〜Ｓ３７（図６）と同様にマスタチケットが発行される（Ｓ７９〜Ｓ８１）。
【０１２３】
ステップＳ８２に進み、認証プラグインオブジェクト１７の認証メソッド１７１は、マスタチケット管理テーブル１７５に登録されている、期限切れとなったマスタチケットを新たに入手したマスタチケットによって更新し、新たに入手したマスタチケットを引数に指定して、改めてマスタチケット発行メソッドをＳＯＡＰのＲＰＣによって呼び出す（Ｓ８３）。
【０１２４】
認証サーバ３０の認証処理部３２がマスタチケットの正当性を確認し（Ｓ８４）、正当性が認証されるとエラー処理は終了し、ステップＳ７５においてマスタチケットの正当性が認証された場合と同様に認証チケット発行部３４によって認証チケットが生成される（Ｓ８５）。
【０１２５】
ステップＳ８５に続いてステップＳ８６に進み、認証処理部３２が、認証チケット発行部３４の生成した認証チケットを認証チケット発行メソッドの返却情報としてＳＯＡＰ処理部３１に出力すると、ＳＯＡＰ処理部３１は、認証チケットをシリアライズし、シリアライズした認証チケットを返却情報として含むＳＯＡＰメッセージを認証プラグインオブジェクト１７に対して送信する。
【０１２６】
図２０は、認証チケット発行メソッドの返却情報を含むＳＯＡＰメッセージの例を示す図である。図２０のＳＯＡＰメッセージ６６は、図１５のＳＯＡＰメッセージ６４と同様の構成をしているため、詳細な説明は省略する。
【０１２７】
ステップＳ８６に続いてステップＳ８７に進み、認証メソッド１７１は、デシリアライズした認証チケットを返却情報としてプラグインコントローラ１３に対して返却する。
【０１２８】
以上でプラグインコントローラ１３は、カレントユーザに対する文書配信サーバ５０用の認証チケットを入手したことになる。そこで、プラグインコントローラ１３は、入手した認証チケットを引数に指定して、改めて文書配信プラグインマネージャ１６のプラグイン取得メソッド（getPlugin()）を呼び出すことにより、文書配信プラグインオブジェクト１９の提供を文書配信プラグインマネージャ１６に対して要求する（Ｓ８８）。なお、以降、ステップＳ８８〜Ｓ１０２までの処理は、利用対象となるＷｅｂサービスが文書配信サービス（文書配信サーバ３０）であることを除き、ステップＳ４４〜Ｓ５７（図７）までの処理の流れと基本的に同じである。
【０１２９】
文書配信プラグインマネージャ１６は、ステップＳ６４においてインスタンス化した文書配信プラグインオブジェクト１９に対して認証チケットを引数として文書配信サーバ５０とのセッションの接続を要求する（Ｓ８９）。文書配信プラグインオブジェクト１９は、今度はマスタチケット管理テーブル１７５に保持されていたマスタチケットに基づいて発行された認証チケットを引数に指定して文書配信サーバ５０におけるセッション接続メソッド（startSession()）をＳＯＡＰのＲＰＣによって呼び出す（Ｓ９０）。
【０１３０】
文書配信サーバ５０において、認証チケット検証部５３は、セッション接続メソッドの引数に指定された認証チケットを検証することにより、例えば、認証チケットの所有者であるカレントユーザに文書配信サーバ５０の利用は許可されているか等を判断する（Ｓ９１）。
【０１３１】
ここで、文書配信サーバ５０に対するカレントユーザのアカウントが、文書管理サーバ４０におけるアカウントと同一のユーザ名によって作成されている場合は、文書管理サーバ４０によって認証されたユーザは、文書配信サーバ５０においても認証される可能性が高い。
【０１３２】
カレントユーザが利用権限のあるユーザである旨が確認されると、文書配信サーバ５０の文書配信部５２はセッションを接続し、セッションを接続した旨をセッション接続メソッドの返却情報として文書配信プラグインオブジェクト１９に対して送信する（Ｓ９２）。
【０１３３】
文書配信プラグインオブジェクト１９が、セッションの接続に成功した旨を文書配信プラグインマネージャ１６に対して返却すると（Ｓ９３）、文書配信プラグインオブジェクト１９が、文書配信プラグインマネージャ１６からプラグインコントローラ１３を経てＷｅｂアプリ１２に対して返却される（Ｓ９４、Ｓ
９５）。
【０１３４】
文書配信プラグインオブジェクト１９を入手したＷｅｂアプリ１２は、文書配信プラグインオブジェクト１９に対して文書データの配信の取得を要求する（Ｓ９６）。文書配信プラグインオブジェクト１９は、文書配信サーバ５０における文書配信部５２の文書配信メソッドをＳＯＡＰのＲＰＣによって呼び出すことにより、文書配信サーバ５０に対して文書データの配信を要求する（Ｓ９７）。
【０１３５】
文書配信部５２は、文書データを配信し（Ｓ９８）、文書データの配信処理の結果に関する情報（以下、「配信結果情報」という。）を文書配信メソッドの返却情報として文書配信プラグインオブジェクト１９に対して送信する（Ｓ９９）。
【０１３６】
文書配信プラグインオブジェクト１９が、受信した配信結果情報をＷｅｂアプリ１２に対して返却すると（Ｓ１００）、Ｗｅｂアプリ１２は、当該配信結果情報を表示するＷｅｂページ（以下、「結果通知ページ」という。）を生成する（Ｓ１０１）。結果通知ページは、Ｗｅｂアプリ１２からＷｅｂサーバプログラム１１を介して端末２０に送信され、端末２０のＷｅｂブラウザによって表示される（Ｓ１０２）。
【０１３７】
なお、ステップＳ９１において、両サーバにおけるカレントユーザに対するアカウントが異なる場合は、文書管理サーバ４０において認証されたユーザであっても、文書配信サーバ５０においては認証されない。したがって、この場合は、改めてログインページが端末２０に送信され、ユーザに対して文書配信サーバ５０に対する認証情報の入力が要求される。ユーザによって文書配信サーバ５０に対する認証情報が入力されると、ステップＳ２８以降（図６）と同様の処理が実行される。その結果、当該認証情報に基づいて新たなマスタチケットが発行され、当該マスタチケットに基づいて文書配信サーバ５０に対する認証チケットが発行される。当該認証チケットによって、文書配信サーバ５０の機能の利用が可能となり、以降に改めて他のＳＯＡＰサーバの機能に係る処理要求があった場合には、文書管理サーバ４０の利用の際に発行されたマスタチケットと文書配信サーバ５０の利用の際に発行されたマスタチケットとによって順番に認証の試みが行われる。
【０１３８】
上述したように、本実施の形態におけるＷｅｂシステム１によれば、このように、過去にマスタチケットの発行を要求する際に利用した認証情報が認証情報管理テーブル１７４に保持されているため、マスタチケットの有効期限が切れ、再発行を受ける必要がある場合でも、再度ユーザに認証情報の入力を要求する必要はない。
【０１３９】
また、既に文書管理サーバ４０の機能を利用していたユーザが、別途文書配信サーバ５０の機能を利用する際には、文書管理サーバ４０の機能を利用する際に入力した認証情報及び当該認証情報に基づいて生成されたマスタチケットに基づいて文書配信サーバ５０における認証が行われるため、ユーザは、改めて認証情報を入力する必要がない。よって、ユーザの認証情報の入力作業に対する負担を軽減することができる。
【０１４０】
なお、本実施の形態においては、マスタチケットと認証チケットと二つのチケットを利用しているが、必ずしも二種類のチケットを利用する必要はない。すなわち、マスタチケットのみを利用することでも本発明の効果は同様に得ることができる。
【０１４１】
ところで、近年においては、ある特定の機能に特化した組み込み機器においてもＷｅｂサーバとして機能するもの等、コンピュータと同等の情報処理を実行することができるものが提供されている。例えば、融合機、複合機、又はＭＦＰ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｒｉｎｔｅｒ）と呼ばれる、プリンタ、コピー、又はファクシミリ等の複合サービスに固有の処理を行う複数のアプリケーションを有する画像処理装置もかかる機器に該当する。最近の画像処理装置には、Ｗｅｂサーバとしての機能を有し、更に、コピーした情報又はＦＡＸ受信した情報等を文書データとして蓄積する文書管理機能を有しているものもある。
【０１４２】
したがって、このような画像処理装置を用いて、本実施の形態におけるＷｅｂシステム１を構成しても本発明の効果を同様に得ることができる。図２１は、画像処理装置を用いて構成したＷｅｂシステムの構成例を示す図である。図２１中、図１と同一部分には同一符号を付し、その説明は省略する。
【０１４３】
図２１と図１とを比較すると、図２１には、Ｗｅｂサーバ１０、認証サーバ３０、文書管理サーバ４０及び文書配信サーバ５０の代わりに、画像処理装置４１０、画像処理装置４２０及び画像処理装置４３０が、Ｗｅｂシステム４００の構成要素となっている。
【０１４４】
画像処理装置４１０には、Ｗｅｂサーバ１０に実装されていた機能、すなわち、Ｗｅｂサーバプログラム１１、Ｗｅｂアプリ１２、プラグインコントローラ１３、各種プラグインマネージャ、及び各種プラグインオブジェクト等に該当するＷｅｂサーバ機能４１１と、認証サーバ３０に実装されていた認証サービス３５とが組み込まれている。
【０１４５】
画像処理装置４２０には、文書管理サーバ４０に実装されていたものと同様の文書管理サービス４５が組み込まれている。画像処理装置４３０には、文書配信サーバ５０に実装されていたものと同様の文書配信サービス５５が組み込まれている。すなわち、画像処理装置４１０は、Ｗｅｂサーバ１０及び認証サーバ３０として、画像処理装置４２０は、文書管理サーバ４０として、画像処理装置４３０は、文書配信サーバ５０としてそれぞれ機能することになる。かかる形態によれば、Ｗｅｂシステム４００において本発明による効果を同様に得ることができる。
【０１４６】
なお、文書管理機能と文書配信機能とは画像処理装置と極めて結びつきが強い機能である。したがって、図２１のように、各機能がそれぞれの画像処理装置に分散されているのではなく、一台の画像処理装置にすべての機能が組み込まれているような形態にしてもよい。
【０１４７】
以上、本発明の好ましい実施例について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【図面の簡単な説明】
【０１４８】
【図１】本発明の実施の形態におけるＷｅｂシステムの構成例を示す図である。
【図２】本発明の実施の形態におけるＷｅｂサーバのハードウェア構成例を示す図である。
【図３】本発明の実施の形態におけるＷｅｂサーバの機能構成例を示す図である。
【図４】認証プラグインオブジェクト及び認証サーバの機能構成例を示す図である。
【図５】ユーザが最初にＷｅｂシステムを利用する際の認証処理を説明するためのシーケンス図である。
【図６】ユーザが最初にＷｅｂシステムを利用する際の認証処理を説明するためのシーケンス図である。
【図７】ユーザが最初にＷｅｂシステムを利用する際の認証処理を説明するためのシーケンス図である。
【図８】マスタチケット管理テーブルの構成例を示す図である。
【図９】マスタチケット発行メソッドを呼び出す際のＳＯＡＰメッセージの例を示す図である。
【図１０】マスタチケットのデータ構造例を示す図である。
【図１１】マスタチケット発行メソッドの返却情報を含むＳＯＡＰメッセージの例を示す図である。
【図１２】マスタチケットが登録されたマスタチケット管理テーブルの例を示す図である。
【図１３】認証情報管理テーブルの構成例を示す図である。
【図１４】認証チケット発行メソッドを呼び出す際のＳＯＡＰメッセージの例を示す図である。
【図１５】認証チケット発行メソッドの返却情報を含むＳＯＡＰメッセージの例を示す図である。
【図１６】ユーザが別のサービスの利用を要求した際の認証処理を説明するためのシーケンス図である。
【図１７】ユーザが別のサービスの利用を要求した際の認証処理を説明するためのシーケンス図である。
【図１８】ユーザが別のサービスの利用を要求した際の認証処理を説明するためのシーケンス図である。
【図１９】マスタチケット管理テーブルに登録されているマスタチケットを用いて認証チケット発行メソッドを呼び出す際のＳＯＡＰメッセージの例を示す図である。
【図２０】認証チケット発行メソッドの返却情報を含むＳＯＡＰメッセージの例を示す図である。
【図２１】画像処理装置を用いて構成したＷｅｂシステムの構成例を示す図である。
【符号の説明】
【０１４９】
１                Ｗｅｂシステム
１０              Ｗｅｂサーバ
１１              Ｗｅｂサーバプログラム
１２              Ｗｅｂアプリ
１３              プラグインコントローラ
１４              認証プラグインマネージャ
１５              文書管理プラグインマネージャ
１６              文書配信プラグインマネージャ
１７              認証プラグインオブジェクト
１８              文書管理プラグインオブジェクト
１９              文書配信プラグインオブジェクト
２０              端末
３０              認証サーバ
３１              ＳＯＡＰ処理部
３２              認証処理部
３３              マスタチケット発行部
３４              認証チケット発行部
３５              認証サービス
４０              文書管理サーバ
４１              ＳＯＡＰ処理部
４２              文書管理部
４３              認証チケット検証部
４５              文書管理サービス
５０              文書配信サーバ
５１              ＳＯＡＰ処理部
５２              文書配信部
５３              認証チケット検証部
５５              文書配信サービス
１７１            認証メソッド
１７２            マスタチケット取得メソッド
１７３            認証チケット取得メソッド
１７４            認証情報管理テーブル
１７５            マスタチケット管理テーブル
４１０、４２０、４３０      画像処理装置
４１１            Ｗｅｂサーバ機能
１０１１          ＣＰＵ
１０１２          ＲＯＭ
１０１３          ＲＡＭ
１０１４          補助記憶装置
１０１５          ネットワークＩ／Ｆ
１０１６          ドライブ装置
１０１７          記録媒体
【図１】
2005064770.tif 000003
【図２】
2005064770.tif 000004
【図３】
2005064770.tif 000005
【図４】
2005064770.tif 000006
【図５】
2005064770.tif 000007
【図６】
2005064770.tif 000008
【図７】
2005064770.tif 000009
【図８】
2005064770.tif 000010
【図９】
2005064770.tif 000011
【図１０】
2005064770.tif 000012
【図１１】
2005064770.tif 000013
【図１２】
2005064770.tif 000014
【図１３】
2005064770.tif 000015
【図１４】
2005064770.tif 000016
【図１５】
2005064770.tif 000017
【図１６】
2005064770.tif 000018
【図１７】
2005064770.tif 000019
【図１８】
2005064770.tif 000020
【図１９】
2005064770.tif 000021
【図２０】
2005064770.tif 000022
【図２１】
2005064770.tif 000023