(57)【要約】      （修正有）【課題】マルチテナント型ＵＲＬでない場合においても、ＳＰ−Ｉｎｉｔｉａｔｅｄ型でクラウドサービスを提供する。【解決手段】ユーザに対して、ユーザの所属先に関わらず同一のＵＲＬで、サービスを提供するサービス提供システム２００であって、ユーザの所属先を特定する情報と、ユーザを認証する認証装置３００の接続先との対応関係を記憶する記憶部と、ユーザが用いるクライアント装置１００から、サービスの提供の要求を受信する受信部と、サービスの提供の要求からユーザの所属先を特定する情報を抽出し、ユーザの所属先に対応する認証装置の接続先を特定する特定部と、特定された認証装置３００の接続先をクライアント装置１００に通知する通知部と、を有する。受信部は、クライアント装置１００から、ＵＲＬを用いてサービスの提供を行うよう、認証が完了している旨を含むサービスの提供の要求を受信する。【選択図】図７
2017010266.tif 000002
【特許請求の範囲】
【請求項１】
ユーザに対して、前記ユーザの所属先に関わらず同一のネットワーク上のアドレスで、サービスの提供の要求を受け付けるサービス提供システムと、前記ユーザが用いるクライアント装置とを有する、情報処理システムであって、
前記サービス提供システムは、
前記ユーザの所属先を特定する情報と、前記ユーザの所属先に対応する認証装置の接続先との対応関係を記憶する記憶部と、
前記クライアント装置から、前記サービスの提供の要求を受信する第１の受信部と、
受信した前記サービスの提供の要求から抽出された前記ユーザの所属先を特定する情報を用いて、前記対応関係から前記ユーザの所属先に対応する認証装置の接続先を特定する特定部と、
特定された認証装置の接続先を前記クライアント装置に通知する通知部と、を有し、
前記クライアント装置は、
前記サービス提供システムから前記認証装置の接続先を受信し、前記ユーザの認証が完了した後、前記認証装置から認証が完了している旨を含む情報を受信する第２の受信部と、
前記アドレスを用いて前記サービスの提供の要求を行うように、前記認証が完了している旨を含むサービスの提供の要求を前記サービス提供システムに送信する送信部と、を有する情報処理システム。
【請求項２】
前記特定部が前記認証装置の接続先を特定できない場合、前記通知部は、前記サービス提供システムと同一の管理者により管理される認証装置の接続先を前記クライアント装置に通知する請求項１に記載の情報処理システム。
【請求項３】
前記ユーザの所属先を特定する情報は、前記クライアント装置の機体を特定する情報であって、
前記記憶部は、
前記クライアント装置の機体を特定する情報と、前記ユーザの所属先の識別子と、前記ユーザの所属先に対応する前記認証装置の接続先との対応関係を記憶する請求項１又は２に記載の情報処理システム。
【請求項４】
前記サービス提供システムが、前記クライアント装置から、前記認証が完了している旨を含む前記サービスの提供の要求を受信した場合、前記サービス提供システムは、前記記憶部に、前記機体を特定する情報と、前記ユーザの所属先の識別子と、前記クライアント装置のアドレス又は該クライアント装置の前記アドレスの帯域とを関連付けて記憶する請求項３に記載の情報処理システム。
【請求項５】
前記クライアント装置は、画像形成装置であって、
前記ユーザの所属先を特定する情報は、前記クライアント装置のアドレスであって、
前記記憶部は、
前記クライアント装置の前記アドレス又は該クライアント装置の前記アドレスの帯域と、前記ユーザの所属先の識別子と、前記ユーザの所属先に対応する前記認証装置の接続先との対応関係を記憶する請求項１又は２に記載の情報処理システム。
【請求項６】
前記認証が完了している旨を含む前記サービスの提供の要求は、前記クライアント装置の機体を特定する情報を含み、
前記サービス提供システムが、前記クライアント装置から前記認証が完了している旨を含む前記サービスの提供の要求を受信した場合、
前記サービス提供システムは、前記記憶部に、前記クライアント装置の前記アドレス又は該クライアント装置の前記アドレスの帯域と、前記ユーザの所属先の識別子と、前記機体を特定する情報とを関連付けて記憶する請求項５に記載の情報処理システム。
【請求項７】
前記ユーザの所属先を特定する情報は、前記ユーザの所属先の識別子であって、
前記ユーザの認証が完了した後、前記サービス提供システムは、前記クライアント装置に前記ユーザの所属先の識別子を通知し、
前記クライアント装置は、前記サービス提供システムに再びサービスの提供の要求を送信する時に、前記サービス提供システムに前記ユーザの所属先の識別子を通知する前記請求項１又は２に記載の情報処理システム。
【請求項８】
ユーザに対して、前記ユーザの所属先に関わらず同一のネットワーク上のアドレスで、サービスの提供の要求を受け付けるサービス提供システムと、前記ユーザが用いるクライアント装置との間で実行される制御方法であって、
前記サービス提供システムが、前記ユーザの所属先を特定する情報と、前記ユーザの所属先に対応する認証装置の接続先との対応関係を記憶するステップと、
前記クライアント装置が、前記サービス提供システムに、前記サービスの提供の要求を送信するステップと、
前記サービス提供システムが、受信した前記サービスの提供の要求から抽出された前記ユーザの所属先を特定する情報を用いて、前記対応関係から前記ユーザの所属先に対応する認証装置の接続先を特定するステップと、
前記サービス提供システムが、特定された認証装置の接続先を前記クライアント装置に通知する通知部ステップと、
前記クライアント装置が、前記サービス提供システムから前記認証装置の接続先を受信するステップと、
前記クライアント装置が、前記ユーザの認証が完了した後、前記認証装置から認証が完了している旨を含む情報を受信するステップと、
前記クライアント装置が、前記アドレスを用いて前記サービスの提供の要求を行うように、前記認証が完了している旨を含むサービスの提供の要求を前記サービス提供システムに送信するステップと、を有する制御方法。
【請求項９】
ユーザに対して、前記ユーザの所属先に関わらず同一のネットワーク上のアドレスで、サービスの提供の要求を受け付けるサービス提供装置であって、
前記ユーザの所属先を特定する情報と、前記ユーザの所属先に対応する認証装置の接続先との対応関係を記憶する記憶部と、
前記ユーザが用いるクライアント装置から、前記サービスの提供の要求を受信する受信部と、
受信した前記サービスの提供の要求から抽出された前記ユーザの所属先を特定する情報を用いて、前記対応関係から前記ユーザの所属先に対応する認証装置の接続先を特定する特定部と、
特定された認証装置の接続先を前記クライアント装置に通知する通知部と、を有し、
前記受信部は、前記クライアント装置から、前記アドレスを用いて前記サービスの提供の要求を行うように、認証が完了している旨を含むサービスの提供の要求を受信するサービス提供装置。
【請求項１０】
信号の送受信を中継する中継装置を介して、前記クライアント装置との間で信号の送受信を行う請求項９に記載のサービス提供装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム、制御方法、及びサービス提供装置に関する。
【背景技術】
【０００２】
近年、注目されているクラウドサービスは、サービスプロバイダ（ＳＰ：Ｓｅｒｖｉｃｅ  Ｐｒｏｖｉｄｅｒ）によりネットワークに配置された複数のサーバを有するサービス提供システムが、ユーザのクライアント装置にサービスを提供する形態で実現される。
【０００３】
クラウドサービスにおいて、クライアント装置が、サービス提供を受ける時に、最初にサービス提供システムに接続し、サービス提供システムからユーザ認証を行う認証装置にリダイレクトさせる方式が知られている（ＳＰ−Ｉｎｉｔｉａｔｅｄ型）。
【０００４】
ＳＰ−Ｉｎｉｔｉａｔｅｄ型では、ユーザの所属先毎に、異なる認証装置により認証を行うため、ユーザの所属先毎に異なる認証方式を設定できる。
【０００５】
加えて、ＳＰ−Ｉｎｉｔｉａｔｅｄ型では、クライアント装置が、まずクラウドサービスを提供するサービスプロバイダのＵＲＬに接続を行う。その後、この接続は、認証装置にリダイレクトされる。認証装置が、クライアント装置を使用しているユーザを認証する。この認証が正常に終了すると、サービスプロバイダは、クライアント装置をサービス提供システムに接続させるという手順が実行される。このように、ユーザの観点からは、クラウドサービスにアクセスすると自動的にユーザ認証処理を促されその後のクラウドサービスを受けられるように体感できる。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ＳＰ−Ｉｎｉｔｉａｔｅｄ型において、ユーザの所属先毎に接続先のＵＲＬが異なる場合（マルチテナント型ＵＲＬ）では、サービス提供システムは、クライアント装置が指定したサービス提供システムのＵＲＬからユーザの所属先の認証装置を特定する。そして、サービス提供システムのＵＲＬは、認証装置のＵＲＬにリダイレクトされる。
【０００７】
しかし、ユーザの所属先に関わらず共通の接続先のＵＲＬが用いられる場合、このＵＲＬからリダイレクト先の認証装置のアドレスを特定できないという問題があった。
【０００８】
本実施形態は、上記の点に鑑みてなされたもので、マルチテナント型ＵＲＬでない場合においても、ＳＰ−Ｉｎｉｔｉａｔｅｄ型でクラウドサービスを実現する情報処理システム、制御方法、及びサービス提供装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本実施形態に係る情報処理システムは、ユーザに対して、前記ユーザの所属先に関わらず同一のネットワーク上のアドレスで、サービスの提供の要求を受け付けるサービス提供システムと、前記ユーザが用いるクライアント装置とを有する、情報処理システムであって、前記サービス提供システムは、前記ユーザの所属先を特定する情報と、前記ユーザの所属先に対応する認証装置の接続先との対応関係を記憶する記憶部と、前記クライアント装置から、前記サービスの提供の要求を受信する第１の受信部と、受信した前記サービスの提供の要求から抽出された前記ユーザの所属先を特定する情報を用いて、前記記憶部から前記ユーザの所属先に対応する認証装置の接続先を特定する特定部と、特定された認証装置の接続先を前記クライアント装置に通知する通知部と、を有し、前記クライアント装置は、前記サービス提供システムから前記認証装置の接続先を受信し、前記ユーザの認証が完了した後、前記認証装置から認証が完了している旨を含む情報を受信する第２の受信部と、前記アドレスを用いて前記サービスの提供の要求を行うように、前記認証が完了している旨を含むサービスの提供の要求を前記サービス提供システムに送信する送信部と、を有する。
【発明の効果】
【００１０】
本実施形態によれば、マルチテナント型ＵＲＬでない場合においても、ＳＰ−Ｉｎｉｔｉａｔｅｄ型でクラウドサービスを実現する情報処理システム、制御方法、及びサービス提供装置を提供することができる。
【図面の簡単な説明】
【００１１】
【図１】第１の実施形態に係る情報処理システムの一例を示す図である。
【図２】第１の実施形態に係るコンピュータシステムのハードウェア構成図の一例である。
【図３】第１の実施形態に係るサービス提供システムの機能構成の一例を示す図である。
【図４】第１の実施形態に係るテナント情報記憶部で保持するテーブルの一例を示す図である。
【図５】第１の実施形態に係るテナント情報記憶部で保持するテーブルの一例を示す図である。
【図６】第１の実施形態に係るテナント情報記憶部で保持するテーブルの一例を示す図である。
【図７】第１の実施形態における動作手順の一例を示す図である。
【図８】第１の実施形態における動作手順の一例を示す図である。
【図９】第１の実施形態における動作手順の一例を示す図である。
【図１０】第１の実施形態における動作手順の一例を示す図である。
【図１１】第１の実施形態における動作手順の一例を示す図である。
【図１２】第２の実施形態における動作手順の一例を示す図である。
【発明を実施するための形態】
【００１２】
［第１実施形態］
＜システム構成＞
図１は、第１の実施形態に係る情報処理システム１の一例を示す図である。
【００１３】
本実施形態に係る情報処理システム１は、サービス提供システム２００と、クライアント装置１００と、認証装置３００と、外部サービス提供機能部４００とを有する。
【００１４】
サービス提供システム２００は、ネットワークサービスプロバイダＡ（以下、ＮＳＰ＃Ａ）により管理される。サービス提供システム２００は、認証エージェント２１０と、認証・認可サーバ２２０と、デバイス向けポータル部２３０と、ユーザ管理ポータル部２４０と、サービス提供機能部２５０とを有する。
【００１５】
認証エージェント２１０は、クライアント装置１００から、サービス提供システム２００へのサービスの提供の要求を受信する。ここで、認証エージェント２１０のサービスの提供の要求を受信する機能は、第１の受信部と表現されてもよい。
【００１６】
サービスの提供の要求を送信したクライアント装置１００の認証が完了している場合、認証エージェント２１０は、デバイス向けポータル部２３０、ユーザ管理ポータル部２４０、又はサービス提供機能部２５０に、サービスの提供の要求を転送する。
【００１７】
一方で、サービスの提供の要求を送信したクライアント装置１００の認証が完了していない場合、認証エージェント２１０は、認証・認可サーバ２２０にクライアント装置１００の認証を実行する認証装置３００の接続先を問い合わせる。
【００１８】
認証エージェント２１０は、クライアント装置１００から外部サービス提供機能部４００へのサービスの提供の要求を受け付け、該要求を外部サービス提供機能部４００に転送してもよい。或いは、サービスの提供の要求を送信したクライアント装置１００の認証処理が完了していない場合、認証エージェント２１０は、認証・認可サーバ２２０と連携して、クライアント装置１００に、認証装置３００の接続先を通知してもよい。ここで、認証・認可サーバ２２０の認証装置３００の接続先を通知する機能は、通知部と表現されてもよい。
【００１９】
認証・認可サーバ２２０は、認証エージェント２１０から、認証を実行する認証装置３００の接続先の問い合わせを受ける。
【００２０】
ＮＳＰ＃Ａで認証を行う場合、つまり、サービス提供システム２００で認証を行う場合には、認証・認可サーバ２２０は、クライアント装置１００のユーザに対する認証を実行してもよい。
【００２１】
ＮＳＰ＃Ａで認証を行わない場合、つまり、サービス提供システム２００ではなく、外部の認証装置３００で認証を行う場合には、認証・認可サーバ２２０は、クライアント装置１００のユーザの認証を行う認証装置３００の接続先を特定する。ここで、認証・認可サーバ２２０の認証先を特定する機能は、特定部と表現されてもよい。
【００２２】
認証・認可サーバ２２０は、ユーザの所属先を識別する情報であるテナントＩＤと、該テナントに所属するユーザを認証する認証装置３００の接続先との対応関係を記憶する。加えて、認証・認可サーバ２２０は、クライアント装置１００の機体番号と、アドレスと、テナントＩＤとの対応関係を管理してもよい。
【００２３】
ここで、機体番号は、クライアント装置１００に付与された番号であり、例えば、シリアルＩＤ、及びＭＡＣアドレス（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ  ａｄｄｒｅｓｓ）等である。クライアント装置１００のアドレスは、例えば、ＩＰアドレスである。
【００２４】
クライアント装置１００が、外部の認証装置３００により認証された旨の通知を受信すると、認証・認可サーバ２２０は、認証Ｃｏｏｋｉｅを発行し、認証エージェント２１０を介して、クライアント装置１００に通知する。認証Ｃｏｏｋｉｅは、ユーザのテナントＩＤを含んでもよい。
【００２５】
ここで、クライアント装置１００の認証された旨の通知を受信する機能は、第２の受信部と表現されてもよい。
【００２６】
デバイス向けポータル部２３０は、認証が完了しているユーザのクライアント装置１００に対して、各種サービスを提供する。
【００２７】
ユーザ管理ポータル部２４０は、認証が完了しているユーザに対して、クライアント装置１００を介して、各種サービスを提供する。
【００２８】
サービス提供機能部２５０は、ユーザのクライアント装置１００に対して、各種サービスを提供する。
【００２９】
サービス提供システム２００で提供するサービスの具体例については後述する。
【００３０】
クライアント装置１００は、例えば、ＭＦＰ（Ｍｕｌｔｉｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）１１０、又はＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）１２０等である。ここで、ＭＦＰ１１０は画像形成装置の一例である。
【００３１】
ユーザはＭＦＰ１１０、又はＰＣ１２０等を用いてサービス提供システム２００に接続し、各種サービスを受けることができる。
【００３２】
認証装置３００は、認証処理を実行する。ここでは、認証装置３００がＡＤＦＳ（Ａｃｔｉｖｅ  Ｄｉｒｅｃｔｏｒｙ  Ｆｅｄｅｒａｔｉｏｎ  Ｓｅｒｖｉｃｅ）認証を実行する場合を例に説明する。
【００３３】
認証装置３００は、ＡＤＦＳ３１０と、ＡＤ（Ａｃｔｉｖｅ  Ｄｉｒｅｃｔｏｒｙ）３２０と、ＣＡＰ（Ｃｅｎｔｒａｌ  Ａｃｃｅｓｓ  Ｐｏｌｉｃｙ）３３０とを有する。
【００３４】
ＡＤＦＳ３１０は、クライアント装置１００から、ユーザの認証の要求を受け付ける。ユーザの認証の要求には、ＡＤＦＳ３１０が認証を行うのに必要な情報、例えば、ユーザＩＤとパスワードが含まれる。
【００３５】
ＡＤ３２０は、ユーザの認証に必要な情報を保持する。例えば、ユーザのＩＤとパスワードとでユーザを認証する場合、ＡＤ３２０はユーザのＩＤとパスワードとを保持する。
【００３６】
ＡＤＦＳ３１０は、ユーザの認証の要求を受け付けると、ＡＤ３２０の保持している情報を参照しつつ、認証の実行を行う。
【００３７】
ＣＡＰ３３０もＡＤＦＳ３１０と同様に、クライアント装置１００から、ユーザの認証の要求を受け付け、ＡＤ３２０と連携して認証の実行を行う。
【００３８】
以降は、ＡＤＦＳ３１０で認証を実施する形態について記載するが、ＣＡＰ３３０を用いても同様の処理を実施可能である。
【００３９】
ＡＤＦＳ３１０とＡＤ３２０とを用いることにより、サービス提供システム２００の外部の認証装置３００で、認証を実行することが可能となる。例えば、ユーザの所属先の会社等に設置された認証装置３００が、社内システム用のユーザＩＤとパスワードとを用いてユーザを認証することが可能となる。
【００４０】
ここでは、認証装置３００がＡＤＦＳ認証を実行する場合を例に説明したが、認証装置３００は、Ｏｐｅｎ  ＩＤ（登録商標）  Ｃｏｎｎｅｃｔ認証を用いてもよい。
【００４１】
外部サービス提供機能部４００は、サービス提供システム２００の外部に配置される。すなわち、ＮＳＰ＃Ａ以外のサービスプロバイダが、ユーザのクライアント装置１００にサービスを提供する場合、外部サービス提供機能部４００が用いられる。
【００４２】
なお、認証エージェント２１０は、中継装置の一例である。サービス提供システムを１つの装置で実現する場合、サービス提供装置と呼ばれてもよい。
＜ハードウェア構成＞
図１のクライアント装置１００、サービス提供システム２００、認証装置３００、及び外部サービス提供機能部４００は、例えば図２に示すようなハードウェア構成のコンピュータシステムにより実現される。
【００４３】
図２は、第１の実施形態に係るコンピュータシステムのハードウェア構成図の一例である。図２のコンピュータシステム１５００は、入力装置１５０１、表示装置１５０２、外部Ｉ／Ｆ１５０３、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１５０４、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１５０５、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１５０６、通信Ｉ／Ｆ１５０７、及びＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）１５０８等を備え、それぞれがバスＢで相互に接続されている。
【００４４】
入力装置１５０１は、キーボード、マウス、及びタッチパネル等を含み、ユーザが各操作信号を入力するのに用いられる。
【００４５】
表示装置１５０２は、ディスプレイ等を含み、コンピュータシステム１５００による処理結果を表示する。
【００４６】
通信Ｉ／Ｆ１５０７は、コンピュータシステム１５００をネットワークに接続するインタフェースである。これにより、コンピュータシステム１５００は通信Ｉ／Ｆ１５０７を介してデータ通信を行うことができる。
【００４７】
ＨＤＤ１５０８は、プログラム及びデータを格納している不揮発性の記憶装置である。格納されるプログラム及びデータは、例えばコンピュータシステム１５００全体を制御する基本ソフトウェアであるＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）及び、ＯＳ上において各種機能を提供するアプリケーションソフトウェア等がある。
【００４８】
ＨＤＤ１５０８は格納しているプログラム及びデータを所定のファイルシステム及び／又はＤＢ（データベース）により管理している。
【００４９】
外部Ｉ／Ｆ１５０３は、外部装置とのインタフェースである。外部装置には、記録媒体１５０３ａ等がある。これにより、コンピュータシステム１５００は外部Ｉ／Ｆ１５０３を介して記録媒体１５０３ａの読み取り及び／又は書き込みを行うことができる。
【００５０】
記録媒体１５０３ａにはフレキシブルディスク、ＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ）、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）、ＳＤメモリカード（ＳＤ  Ｍｅｍｏｒｙ  ｃａｒｄ）、及びＵＳＢメモリ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ  ｍｅｍｏｒｙ）等がある。
【００５１】
ＲＯＭ１５０５は、電源を切ってもプログラム及びデータを保持することができる不揮発性の半導体メモリ（記憶装置）である。ＲＯＭ１５０５は、コンピュータシステム１５００の起動時に実行されるＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）、ＯＳ設定、及びネットワーク設定等のプログラム及びデータを格納する。
【００５２】
ＲＡＭ１５０４は、プログラム及びデータを一時保持する揮発性の半導体メモリ（記憶装置）である。
【００５３】
ＣＰＵ１５０６は、ＲＯＭ１５０５及びＨＤＤ１５０８等の記憶装置からプログラム及びデータをＲＡＭ１５０４上に読み出し、処理を実行することで、コンピュータシステム１５００全体の制御と、機能とを実現する演算装置である。
【００５４】
クライアント装置１００、サービス提供システム２００、認証装置３００、及び外部サービス提供機能部４００は、コンピュータシステム１５００のハードウェア構成により、後述するような各種処理を実現できる。
【００５５】
なお、クライアント装置１００が、ＭＦＰ１１０の場合、ＭＦＰ１１０で提供するプリンタ、ＦＡＸ、及びスキャナ等の機能を実現するために専用のハードウェア装置が追加される場合がある。
＜機能構成＞
（１）サービス提供システム
図３は、第１の実施形態に係るサービス提供システム２００の機能構成の一例を示す図である。
【００５６】
サービス提供システム２００はプログラムを実行することにより、アプリケーション２６０、共通サービス２７０、データベース（ＤＢ）２８０及びプラットフォームＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）２６４等を実現している。
【００５７】
アプリケーション２６０は、ポータルサービスアプリ２６１、スキャンサービスアプリ２６２、及びプリントサービスアプリ２６３を一例として有する。
【００５８】
ポータルサービスアプリ２６１は、ポータルサービスを提供するアプリケーションである。ポータルサービスアプリ２６１は、サービス提供システム２００を利用するための入り口となるサービスを提供する。
【００５９】
スキャンサービスアプリ２６２は、スキャンサービスを提供するアプリケーションである。プリントサービスアプリ２６３は、プリントサービスを提供するアプリケーションである。アプリケーション２６０には、その他のサービスアプリが含まれていてもよい。
【００６０】
プラットフォームＡＰＩ２６４は、ポータルサービスアプリ２６１、スキャンサービスアプリ２６２、及びプリントサービスアプリ２６３等のアプリケーション２６０が共通サービス２７０を利用するためのインタフェースである。
【００６１】
プラットフォームＡＰＩ２６４は、アプリケーション２６０からの要求を共通サービス２７０が受信するために設けられた予め定義されたインタフェースであり、例えば関数及びクラス等により構成される。
【００６２】
プラットフォームＡＰＩ２６４は、サービス提供システム２００が複数のサーバ等の情報処理装置で構成される場合、ネットワーク経由で利用可能な例えばＷｅｂ  ＡＰＩにより実現できる。
【００６３】
共通サービス２７０は、認証・認可部２７１、テナント管理部２７２、ユーザ管理部２７５、ライセンス管理部（Ｗｒａｐｐｅｒ）２７３、機器管理部２７６、一時画像保存部２７４、及びログ収集部２７７を有する。
【００６４】
認証・認可部２７１は、クライアント装置１００からのサービスの提供の要求に基づいて認証・認可を実行する。
【００６５】
認証・認可部２７１は、例えばユーザ情報記憶部２８６、及びライセンス情報記憶部２８３等にアクセスしてユーザを認証・認可する。
【００６６】
また、認証・認可部２７１は、例えば、テナント情報記憶部２８２、ライセンス情報記憶部２８３、及び機器情報記憶部２８７等と連携して、クライアント装置１００を認証する。
【００６７】
テナント管理部２７２は、テナント情報記憶部２８２に記憶されているテナント情報を管理する。ユーザ管理部２７５は、ユーザ情報記憶部２８６に記憶されているユーザ情報を管理する。
【００６８】
ライセンス管理部２７３は、ライセンス情報記憶部２８３に記憶されているライセンス情報を管理する。機器管理部２７６は、機器情報記憶部２８７に記憶されている機器情報を管理する。一時画像保存部２７４は、一時画像記憶部２８４への一時画像の保存、一時画像記憶部２８４からの一時画像の取得を行う。
【００６９】
ログ収集部２７７は、ユーザのログイン情報を収集し、ログ情報記憶部２８１に記憶する。
【００７０】
データベース２８０は、ログ情報記憶部２８１、テナント情報記憶部２８２、ユーザ情報記憶部２８６、ライセンス情報記憶部２８３、機器情報記憶部２８７、一時画像記憶部２８４、ジョブ情報記憶部２８５、及びアプリケーション固有の設定情報記憶部２８８を有する。
【００７１】
ログ情報記憶部２８１は、ログ情報を記憶する。テナント情報記憶部２８２は、テナント情報を記憶する。ユーザ情報記憶部２８６は、ユーザ情報を記憶する。ライセンス情報記憶部２８３は、ライセンス情報を記憶する。機器情報記憶部２８７は、機器情報を記憶する。
【００７２】
一時画像記憶部２８４は、一時画像を記憶する。一時画像は、スキャン画像等のファイル及びデータである。ジョブ情報記憶部２８５は処理（ジョブ）に係るリクエストの情報（ジョブ情報）を記憶する。アプリケーション固有の設定情報記憶部２８８はアプリケーション２６０に固有の設定情報を記憶する。
【００７３】
サービス提供システム２００は、認証・認可及び画像処理に関する共通のサービスを提供する統合基盤と、統合基盤の機能を利用してスキャンサービス、プリントサービス、及びポータルサービス等のアプリサービスを提供するサービス群として機能する。統合基盤は例えば共通サービス２７０、データベース２８０及びプラットフォームＡＰＩ２６４によって構成される。サービス群は例えばアプリケーション２６０によって構成される。
【００７４】
図３に示したサービス提供システム２００は、サービス群と統合基盤とを分離した構成により、プラットフォームＡＰＩ２６４を利用するアプリケーション２６０を容易に開発できる。
【００７５】
サービス提供システム２００内で、ポータルサービスアプリ２６１は、図１のデバイス向けポータル部２３０と、ユーザ管理ポータル部２４０とにより実現されてもよい。
【００７６】
サービス提供システム２００内で、スキャンサービスアプリ２６２、及びプリントサービスアプリ２６３等のアプリケーション２６０は、図１のサービス提供機能部２５０により実現されてもよい。
【００７７】
認証・認可部２７１と、テナント情報記憶部２８２と、ユーザ情報記憶部２８６とは、図１の認証・認可サーバ２２０により実現されてもよい。
【００７８】
なお、図３に示したサービス提供システム２００の処理ブロックの分類形態は一例であり、アプリケーション２６０と、共通サービス２７０と、データベース２８０とが図３に示されるような階層で分類されていることが必須ではない。第１の実施形態に係るサービス提供システム２００の処理を実施できるのであれば、図３に示される階層関係等は特定のものに限定されない。
【００７９】
（２）テナント情報
図４乃至図６を用いて、テナント情報記憶部２８２で保持する情報について説明する。本実施形態では、テナント情報記憶部２８２が、認証・認可サーバ２２０上に配置される場合を例に説明する。
【００８０】
図４に示すテーブルＡは、テナント情報記憶部２８２で保持するテーブルの一例を示す図である。
【００８１】
テーブルＡに示すように、テナント情報記憶部２８２は、ユーザの所属先を示す識別子であるテナントＩＤと、シリアルＩＤとの対応関係を管理する。シリアルＩＤは、クライアント装置１００に付与されている識別子であり、機体を一意に特定可能である。テナント情報記憶部２８２は、シリアルＩＤ以外の機体を一意に特定可能な識別子とテナントＩＤとの対応関係をテーブルで管理してもよい。
【００８２】
内部ＩＤはテーブル内の管理用の番号である。
【００８３】
サービス提供システム２００の管理者は、テナント情報記憶部２８２に、ユーザのクライアント装置１００のシリアルＩＤを予め登録してもよい。予め登録しない場合には、クライアント装置１００から、サービス提供システム２００への接続の処理の時に、クライアント装置１００のシリアルＩＤとテナントＩＤとの対応関係をテナント情報記憶部２８２に登録してもよい。
【００８４】
図５に示すテーブルＢは、テナント情報記憶部２８２で保持するテーブルの一例を示す図である。
【００８５】
テーブルＢに示すように、テナント情報記憶部２８２は、テナントＩＤと、認証方式と、認証を実行する認証装置３００の接続先との対応関係を管理する。
【００８６】
認証方式の欄には、テナントＩＤ毎に実行する認証方式が設定される。例えば、ＮＳＰ（Ｎｅｔｗｏｒｋ  Ｓｅｒｖｉｃｅ  Ｐｒｏｖｉｄｅｒ）認証、ＡＤＦＳ認証、又はＯｐｅｎ  ＩＤ  Ｃｏｎｎｅｃｔ認証等が設定される。
【００８７】
ＮＳＰ認証が設定されている場合、サービス提供システム２００内の、認証・認可サーバ２２０が認証を行う。ＡＤＦＳ認証、又はＯｐｅｎ  ＩＤ  Ｃｏｎｎｅｃｔ認証が設定されている場合、サービス提供システム２００の外に配置されている認証装置３００が認証を行う。
【００８８】
接続先の欄には、クライアント装置１００が、認証装置３００への接続に用いる接続先の情報が設定される。本実施形態では、認証装置３００のＵＲＬが設定される。なお、接続先の欄には、クライアント装置１００が認証装置３００へ接続することができる情報が設定されればよく、ＵＲＬ以外が設定されてもよい。例えば、接続先の欄に、ＩＰアドレス等が設定されてもよい。
【００８９】
なお、内部ＩＤはテーブル内の管理用の番号である。
【００９０】
図６に示すテーブルＣは、テナント情報記憶部２８２で保持するテーブルの一例を示す図である。
【００９１】
テーブルＣに示すように、テナント情報記憶部２８２は、テナントＩＤと、クライアント装置１００のＩＰアドレス又はクライアント装置１００が割り当てられているＩＰアドレスのサブネットとの対応関係を管理する。ＩＰアドレスは、クライアント装置１００に割り当てられているアドレスである。
【００９２】
ここで、テナント情報記憶部２８２は、クライアント装置１００が、ＭＦＰ１１０の場合に、テナントＩＤとＩＰアドレスとを管理する。
【００９３】
この場合、ＭＦＰ１１０設置の時に設定したＩＰアドレスが変更されないことが前提条件となる。
【００９４】
一方、クライアント装置１００が、ＰＣ１２０の場合、ＰＣ１２０からサービス提供システム２００に接続する時に割り当てられるＩＰアドレスが変更される可能性がある。このため、クライアント装置１００が、ＰＣ１２０の場合には、テナント情報記憶部２８２は、テナントＩＤとＩＰアドレスとの対応関係を管理しない。
【００９５】
内部ＩＤはテーブル内の管理用の番号である。
【００９６】
サービス提供システム２００の管理者は、テナント情報記憶部２８２に、ユーザのクライアント装置１００のＩＰアドレスを予め登録してもよい。予め登録しない場合には、クライアント装置１００から、サービス提供システム２００への接続の処理の時に、クライアント装置１００のＩＰアドレスとテナントＩＤとの対応関係をテナント情報記憶部２８２に登録してもよい。
【００９７】
なお、図４、図５及び図６は、一つのクライアント装置１００の内部ＩＤと、テナントＩＤと、シリアルＩＤとの対応関係のみを示しており、クライアント装置１００の台数分の情報がテーブルＡ、テーブルＢ及びテーブルＣに管理されている。
＜動作手順＞
図７乃至図１１を用いて、本実施形態の動作手順について説明する。
【００９８】
（１）シリアルＩＤによる認証装置３００の特定
図７は、本実施形態における動作手順の一例を示す図である。
【００９９】
ステップＳ７０１で、クライアント装置１００は、ユーザからサービス提供機能部２５０への接続の指示を受信し、サービスの提供の要求を生成する。この時に、クライアント装置１００は、該クライアント装置１００に設定されているシリアルＩＤを取得し、サービスの提供の要求に含める。
【０１００】
ステップＳ７０２で、クライアント装置１００は、シリアルＩＤを含むサービスの提供の要求を認証エージェント２１０に送信する。サービスの提供の要求の宛先には、サービス提供先であるサービス提供システム２００のＵＲＬが設定される。
【０１０１】
本実施形態における、サービス提供システム２００のＵＲＬには、ユーザの所属先であるテナントを特定する情報を含まない。例えば、ＵＲＬは、単にサービス提供システム２００を示す「ｈｔｔｐ：／／  ｓｅｒｖｉｃｅ−ｐｒｏｖｉｄｅ．ｃｏｍ」といった形式になる。
【０１０２】
ステップＳ７０３で、認証エージェント２１０は、サービスの提供の要求を受信すると、サービスの提供の要求からシリアルＩＤを抽出する。
【０１０３】
ステップＳ７０４で、認証エージェント２１０は、サービスの提供の要求に認証が完了している旨を示す情報が含まれていない場合、クライアント装置１００のユーザが認証されていないと判断する。例えば、サービスの提供の要求に認証Ｃｏｏｋｉｅが含まれていない場合、認証エージェント２１０は、認証が完了していないと判断してもよい。
【０１０４】
この場合、認証エージェント２１０は、認証・認可サーバ２２０に、リダイレクト先のＵＲＬの問い合わせを送信する。該問い合わせには、シリアルＩＤを含む。ここで、リダイレクト先のＵＲＬとは、ユーザの認証を実行する認証装置３００の接続先を表すＵＲＬである。
【０１０５】
ステップＳ７０５で、認証・認可サーバ２２０は、問い合わせに含まれるシリアルＩＤから、クライアント装置１００のユーザの所属先を特定する情報であるテナントＩＤを特定する。シリアルＩＤからテナントＩＤを特定するために、認証・認可サーバ２２０は、保持している図４のテーブルＡを用いる。
【０１０６】
さらに、認証・認可サーバ２２０は、特定されたテナントＩＤから認証方式と、認証装置３００の接続先ＵＲＬとを特定する。テナントＩＤから認証方式と、認証装置３００の接続先ＵＲＬとを特定するために、認証・認可サーバ２２０は、保持している図５のテーブルＢを用いる。
【０１０７】
本動作手順では、認証方式はＡＤＦＳである例を示しているが、認証方式がＯｐｅｎ  ＩＤ  Ｃｏｎｎｅｃｔの場合でも同様の手順となる。
【０１０８】
ステップＳ７０６で、認証・認可サーバ２２０は、認証エージェント２１０に、リダイレクト先のＵＲＬを知らせる応答と、ＳＡＭＬ（Ｓｅｃｕｒｉｔｙ  Ａｓｓｅｒｔｉｏｎ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）要求とを送信する。該応答は、クライアント装置１００のユーザを認証するＡＤＦＳ３１０の接続先のＵＲＬを含む。なお、認証・認可サーバ２２０は、リダイレクト先であるＡＤＦＳ３１０のＵＲＬの末尾に、ＳＡＭＬ要求を表すクエリ文字列を付加して、認証エージェント２１０に応答してもよい。
【０１０９】
ここで、ＳＡＭＬ要求及び応答手順では、まずサービス提供システム２００から認証が完了した旨を報告するように要求を受ける。次に、クライアント装置１００が、認証装置３００との間で認証処理が正常に完了した場合、サービス提供システム２００に認証を完了した旨を、ＳＡＭＬで定められた形式で設定し応答する。
【０１１０】
ステップＳ７０７で、認証エージェント２１０は、クライアント装置１００に、リダイレクト先のＵＲＬとＳＡＭＬ要求とを通知する。
【０１１１】
なお、ＳＡＭＬ要求がリダイレクト先のＵＲＬの末尾にクエリ文字列として付加されている場合、クライアント装置１００は、認証エージェント２１０からＳＡＭＬ要求を受信したことを認識しない。クライアント装置１００は、通知されたリダイレクト先のＵＲＬに接続する処理を行うだけである。
【０１１２】
ステップＳ７０８−１で、クライアント装置１００は、通知されたリダイレクト先ＵＲＬを用いてＡＤＦＳ３１０にアクセスする。ＡＤＦＳ３１０にアクセスする時には、クライアント装置１００は、ＡＤＦＳ３１０に、ＳＡＭＬ要求を通知する。ＳＡＭＬ要求は、リダイレクト先ＵＲＬの末尾にクエリ文字列として付加されてもよい。この場合、上述したように、クライアント装置１００は、ＳＡＭＬ要求を送信していることを認識しない。
【０１１３】
ステップＳ７０８−２で、ＡＤＦＳ３１０は、クライアント装置１００にログイン画面を表示するデータを送信する。クライアント装置１００は、該データを受信すると、ログイン画面を表示する。
【０１１４】
ステップＳ７０８−３で、クライアント装置１００はユーザからユーザＩＤ、及びパスワードの入力を受け付けると、クライアント装置１００は、ＡＤＦＳ３１０に、入力されたユーザＩＤとパスワードとを含むログイン要求を送信する。
【０１１５】
なお、ステップＳ７０８−３で、ユーザから入力されるユーザＩＤ、及びパスワードは、ＡＤ３２０で管理されているユーザＩＤと、パスワードである。例えば、ＡＤＦＳ３１０とＡＤ３２０がユーザの所属する会社等の組織により管理されている場合、ユーザＩＤは社員番号、パスワードは社員番号に対応付けられたパスワードである。
【０１１６】
ステップＳ７０９で、ＡＤＦＳ３１０は、ログイン要求を受信すると、ＡＤ３２０に認証情報の確認要求を送信する。該確認要求には、ユーザＩＤと、パスワードとを含む。
【０１１７】
ステップＳ７１０で、ＡＤ３２０は、確認要求で通知されたユーザＩＤとパスワードと、ＡＤ３２０が保持しているユーザＩＤとパスワードとが一致するか確認する。ユーザＩＤとパスワードとが一致している場合、認証成功となる。
【０１１８】
ステップＳ７１１で、ＡＤ３２０は、ＡＤＦＳ３１０に応答を送信する。応答には認証が成功した旨を含む。
【０１１９】
ステップＳ７１２で、ＡＤＦＳ３１０は、ＡＤ３２０から認証が成功した旨を受信すると、ＳＡＭＬ応答を生成する。
【０１２０】
ステップＳ７１３で、ＡＤＦＳ３１０は、クライアント装置１００にログイン応答を送信する。ログイン応答には生成されたＳＡＭＬ応答を含む。
【０１２１】
ステップＳ７１４で、クライアント装置１００は、認証エージェント２１０に認証結果を通知する。該通知には、ＳＡＭＬ応答を含む。
【０１２２】
ステップＳ７１５で、認証エージェント２１０は、認証・認可サーバ２２０に、クライアント装置１００のユーザの認証結果を通知する。該通知にはＳＡＭＬ応答を含む。
【０１２３】
ステップＳ７１６で、認証・認可サーバ２２０は、ＳＡＭＬ応答を確認する。正常に認証が完了している場合、認証・認可サーバ２２０は、認証Ｃｏｏｋｉｅを発行する。認証Ｃｏｏｋｉｅには、認証が正常に完了している旨を示す情報、及びテナントＩＤ等を含む。
【０１２４】
なお、クライアント装置１００のＩＰアドレスが登録されてない場合、認証Ｃｏｏｋｉｅが発行された後に、認証・認可サーバ２２０は、クライアント装置１００のテナントＩＤと、シリアルＩＤと、ＩＰアドレス又はＩＰアドレスのサブネットと、認証装置３００との対応関係を記憶してもよい。特に、クライアント装置１００がＭＦＰ１１０の場合、テナントＩＤと、シリアルＩＤと、ＩＰアドレス又はＩＰアドレスのサブネットとの対応関係が記憶されることが好ましい。ＭＦＰ１１０のＩＰアドレス又はＩＰアドレスのサブネットは固定的に割り当てられる場合が多いためである。
【０１２５】
ＩＰアドレス又はＩＰアドレスのサブネットとの対応関係を記憶する時に、認証・認可サーバ２２０は、認証エージェント２１０を介して登録の可否をクライアント装置１００に問い合わせてもよい。該問い合わせを受けて、クライアント装置１００は、ＩＰアドレス又はＩＰアドレスのサブネットの登録の可否を表示して、ユーザに登録可否の判断を促してもよい。
【０１２６】
ステップＳ７１７で、認証・認可サーバ２２０は、認証エージェント２１０に応答を送信する。応答には、認証Ｃｏｏｋｉｅを含む。
【０１２７】
ステップＳ７１８で、認証エージェント２１０は、クライアント装置１００に応答を送信する。応答には、認証Ｃｏｏｋｉｅを含む。
【０１２８】
ステップＳ７１９で、クライアント装置１００は、認証エージェント２１０に、サービスの提供の要求を送信する。該要求には認証Ｃｏｏｋｉｅを含む。
【０１２９】
ステップＳ７２０で、認証エージェント２１０は、要求に含まれる認証Ｃｏｏｋｉｅから認証が完了していることを確認し、クライアント装置１００からのサービスの提供の要求を、サービス提供機能部２５０に送信する。
【０１３０】
なお、本動作手順では、認証装置３００が、ユーザＩＤとパスワードとから、ユーザの認証を行う手順を示したが、その他の認証方式を適用可能であることは勿論である。
【０１３１】
（２）ＩＰアドレスによる認証装置３００の特定
図８は、本実施形態における動作手順の一例を示す図である。図７に示す動作手順と共通する部分については説明を省略し、異なる部分について説明する。
【０１３２】
図８では、クライアント装置１００のＩＰアドレスから認証装置３００を特定する動作手順を示している。本動作手順は、クライアント装置１００に、固定的にＩＰアドレス、又はＩＰアドレスのサブネットが割り当てられる場合、例えばクライアント装置１００がＭＦＰの場合に適用されることが好ましい。
【０１３３】
ステップＳ８０１で、クライアント装置１００は、ユーザからサービス提供機能部２５０への接続の指示を受信し、サービスの提供の要求を認証エージェント２１０に送信する。サービスの提供の要求の宛先には、サービス提供先であるサービス提供システム２００のＵＲＬが設定される。
【０１３４】
図７のステップＳ７０２の場合と同様に、本実施形態における、サービス提供システム２００のＵＲＬには、ユーザの所属先であるテナントを特定する情報を含まない。
【０１３５】
ステップＳ８０２で、認証エージェント２１０は、サービスの提供の要求を受信すると、該要求から、要求の送信元であるクライアント装置１００のＩＰアドレスを抽出する。
【０１３６】
ステップＳ８０３で、認証エージェント２１０は、クライアント装置１００のユーザが認証されていないため、認証・認可サーバ２２０に、リダイレクト先のＵＲＬの問い合わせを送信する。該問い合わせには、クライアント装置１００のＩＰアドレスを含む。ここで、リダイレクト先のＵＲＬとは、ユーザの認証を実行する認証装置３００の接続先を表すＵＲＬである。
【０１３７】
ステップＳ８０４で、認証・認可サーバ２２０は、問い合わせに含まれるクライアント装置１００のＩＰアドレスから、クライアント装置１００のユーザの所属先を特定する情報であるテナントＩＤを特定する。ＩＰアドレスからテナントＩＤを特定するために、認証・認可サーバ２２０は、保持している図６のテーブルＣを用いる。
【０１３８】
さらに、認証・認可サーバ２２０は、特定されたテナントＩＤから認証方式と、認証装置３００の接続先ＵＲＬとを特定する。テナントＩＤから認証方式と、認証装置３００の接続先ＵＲＬとを特定するために、認証・認可サーバ２２０は、保持している図５のテーブルＢを用いる。
【０１３９】
本動作手順では、認証方式はＡＤＦＳである例を示している。
【０１４０】
ステップＳ８０５で、認証・認可サーバ２２０は、認証エージェント２１０に、リダイレクト先のＵＲＬを知らせる応答と、ＳＡＭＬ要求とを送信する。該応答には、クライアント装置１００のユーザを認証するＡＤＦＳ３１０の接続先ＵＲＬを含む。
【０１４１】
ステップＳ８０６で、認証エージェント２１０は、クライアント装置１００に、リダイレクト先のＵＲＬとＳＡＭＬ要求とを通知する。
【０１４２】
以降の手順については、図７のステップＳ７０８乃至ステップＳ７２０と同様のため、説明を省略する。
【０１４３】
なお、クライアント装置１００のシリアルＩＤが、認証・認可サーバ２２０に登録されてない場合、認証Ｃｏｏｋｉｅが発行された後に、認証・認可サーバ２２０は、クライアント装置１００のテナントＩＤと、シリアルＩＤと、ＩＰアドレス又はＩＰアドレスのサブネットと、認証装置３００の接続先との対応関係を記憶してもよい。クライアント装置１００のシリアルＩＤは、認証エージェント２１０へ送信される信号、例えば、サービスの提供の要求（ステップＳ７１９等）に含まれる。
【０１４４】
シリアルＩＤを記憶する時に、認証・認可サーバ２２０は、認証エージェント２１０を介して登録の可否をクライアント装置１００に問い合わせてもよい。該問い合わせを受けて、クライアント装置１００は、シリアルＩＤの登録の可否を表示して、ユーザに登録可否の判断を促してもよい。
【０１４５】
（３）テナントＩＤによる認証装置３００の特定
図９は、本実施形態における動作手順の一例を示す図である。図７及び図８に示す動作手順と共通する部分については説明を省略し、異なる部分について説明する。
【０１４６】
ステップＳ９０１で、クライアント装置１００は、ユーザからサービス提供機能部２５０への接続の指示を受信し、サービスの提供の要求を認証エージェント２１０に送信する。
【０１４７】
図７のステップＳ７０２の場合と同様に、本実施形態における、サービス提供システム２００のＵＲＬには、ユーザの所属先であるテナントを特定する情報を含まない。
【０１４８】
ステップＳ９０１におけるサービスの提供の要求には、テナントＩＤを含む。テナントＩＤは予めクライアント装置１００にユーザが設定してもよい。クライアント装置１００が過去にサービス提供システム２００に接続した時にテナントＩＤを取得し、保持してもよい。
【０１４９】
クライアント装置１００は、テナントＩＤをＨＴＴＰメッセージのＣｏｏｋｉｅに設定して送信してもよい。
【０１５０】
ステップＳ９０２で、認証エージェント２１０は、サービスの提供の要求を受信すると、該要求から、テナントＩＤを抽出する。
【０１５１】
ステップＳ９０３で、認証エージェント２１０は、クライアント装置１００のユーザが認証されていないため、認証・認可サーバ２２０に、リダイレクト先のＵＲＬの問い合わせを送信する。該問い合わせには、クライアント装置１００のテナントＩＤを含む。ここで、リダイレクト先のＵＲＬとは、ユーザの認証を実行する認証装置３００の接続先を表すＵＲＬである。
【０１５２】
ステップＳ９０４で、認証・認可サーバ２２０は、問い合わせに含まれるクライアント装置１００のテナントＩＤから認証方式と、認証装置３００の接続先ＵＲＬを特定する。
【０１５３】
テナントＩＤから認証方式と、認証装置３００の接続先ＵＲＬとを特定するために、認証・認可サーバ２２０は、図５のテーブルＢを用いる。本動作手順では、認証方式はＡＤＦＳである例を示している。
【０１５４】
ステップＳ９０５で、認証・認可サーバ２２０は、認証エージェント２１０に、リダイレクト先のＵＲＬを知らせる応答と、ＳＡＭＬ要求とを送信する。該応答には、クライアント装置１００のユーザを認証するＡＤＦＳ３１０の接続先ＵＲＬを含む。
【０１５５】
ステップＳ９０６で、認証エージェント２１０は、クライアント装置１００に、リダイレクト先のＵＲＬとＳＡＭＬ要求とを通知する。
【０１５６】
以降の手順については、図７のステップＳ７０８乃至ステップＳ７２０と同様のため、説明を省略する。
【０１５７】
なお、クライアント装置１００のシリアルＩＤとＩＰアドレスとが認証・認可サーバ２２０に登録されてない場合、認証・認可サーバ２２０は、認証Ｃｏｏｋｉｅが発行された後に、クライアント装置１００のテナントＩＤと、シリアルＩＤと、ＩＰアドレス又はＩＰアドレスのサブネットとの対応関係を記憶してもよい。クライアント装置１００のシリアルＩＤは、認証エージェント２１０へ送信される信号に含まれる。
【０１５８】
（４）認証エージェント及び認証・認可サーバの動作手順
図１０は、本実施形態における認証エージェント２１０と、認証・認可サーバ２２０との動作手順の一例を示す図である。
【０１５９】
ステップＳ１００１で、認証エージェント２１０は、サービスの提供の要求を受信する。
【０１６０】
ステップＳ１００２で、認証エージェント２１０は、サービスの提供の要求を送信したユーザの認証が完了しているか確認する。サービスの提供の要求に認証が完了した旨の情報含む場合、認証エージェント２１０は、ユーザの認証が完了していると判断してもよい。例えば、サービスの提供の要求に認証Ｃｏｏｋｉｅを含む場合、認証エージェント２１０は、認証が完了していると判断してもよい。
【０１６１】
ユーザの認証が完了している場合、ステップＳ１００３に進む（ステップＳ１００２  Ｙｅｓ）。ユーザの認証が完了していない場合（ステップＳ１００２  Ｎｏ）、ステップＳ１００４に進む。
【０１６２】
ユーザの認証が完了している場合、ステップＳ１００３で、認証エージェント２１０は、サービスの提供の要求をサービス提供機能部２５０に転送する。
【０１６３】
ユーザの認証が完了していない場合、ステップＳ１００４で、認証エージェント２１０から問い合わせを受けた認証・認可サーバ２２０は、サービスの提供の要求の宛先ＵＲＬを確認し、宛先ＵＲＬからテナントＩＤを抽出できるか検証する。
【０１６４】
宛先ＵＲＬからテナントＩＤを抽出できる場合、ステップＳ１００５に進む（ステップＳ１００４  Ｙｅｓ）。宛先ＵＲＬからテナントＩＤを抽出できない場合、ステップＳ１００８に進む（ステップＳ１００４  Ｎｏ）。
【０１６５】
ここで、宛先ＵＲＬからテナントＩＤを抽出できる場合、ＵＲＬは、以下のような形式になる。
【０１６６】
「ｈｔｔｐ：／／ｓｅｒｖｉｃｅ−ｐｒｏｖｉｄｅ／ｃｏｍｐａｎｙ−Ａ．ｃｏｍ」
この場合、ＵＲＬ内の「ｃｏｍｐａｎｙ−Ａ」の部分から、テナントがｃｏｍｐａｎｙ−Ａであることが特定できる。
【０１６７】
ステップＳ１００５で、認証・認可サーバ２２０は、宛先ＵＲＬに含まれる情報からテナントＩＤを抽出し、ステップＳ１００６に進む。
【０１６８】
ステップＳ１００６で、認証・認可サーバ２２０は、テナントＩＤから認証装置３００の接続先ＵＲＬを特定し、ステップＳ１００７に進む。ここで、認証・認可サーバ２２０は、テナントＩＤから認証装置３００の接続先ＵＲＬを特定するために、図５のテーブルＢを用いる。
【０１６９】
ステップＳ１００７で、認証・認可サーバ２２０は、テナントＩＤから認証装置３００の接続先ＵＲＬを認証エージェント２１０に通知し、認証エージェント２１０は、クライアント装置１００に、認証装置３００の接続先ＵＲＬを通知する。
【０１７０】
次に、宛先ＵＲＬからテナントＩＤを抽出できない場合について説明する。
【０１７１】
ステップＳ１００８で、認証・認可サーバ２２０は、サービスの提供の要求に含まれるＣｏｏｋｉｅ、つまりＨｔｔｐ  ＲｅｑｕｅｓｔのＨｔｔｐヘッダに設定されているＣｏｏｋｉｅからテナントＩＤを抽出できるか検証する。
【０１７２】
ステップＳ１００９で、ＣｏｏｋｉｅからテナントＩＤを抽出できた場合、ステップＳ１０１０に進む（ステップＳ１００９  Ｙｅｓ）。一方、ＣｏｏｋｉｅからテナントＩＤを抽出できない場合、ステップＳ１０１１に進む（ステップＳ１００９  Ｎｏ）。
【０１７３】
ＣｏｏｋｉｅからテナントＩＤを抽出できた場合、ステップＳ１０１０で、認証・認可サーバ２２０は、テナントＩＤから認証装置３００の接続先ＵＲＬを特定する。ここで、認証・認可サーバ２２０は、テナントＩＤから認証装置３００の接続先ＵＲＬを特定するために、図５のテーブルＢを用いる。
【０１７４】
認証・認可サーバ２２０は、認証装置３００の接続先ＵＲＬを特定し、ステップＳ１００７に進む。
【０１７５】
上述した通り、ステップＳ１００７で、クライアント装置１００に認証装置３００の接続先ＵＲＬを通知する。
【０１７６】
次に、ＣｏｏｋｉｅからテナントＩＤを抽出できない場合について説明する。
【０１７７】
ステップＳ１０１１で、認証・認可サーバ２２０は、サービスの提供の要求からシリアルＩＤを抽出できるか検証する。
【０１７８】
ステップＳ１０１２で、認証・認可サーバ２２０が、サービスの提供の要求からシリアルＩＤを抽出できた場合、ステップＳ１０１５に進む（ステップＳ１０１２  Ｙｅｓ）。認証・認可サーバ２２０が、シリアルＩＤを抽出できない場合、ステップＳ１０１３に進む（ステップＳ１０１２  Ｎｏ）。
【０１７９】
シリアルＩＤを抽出できた場合、ステップＳ１０１５で、認証・認可サーバ２２０は、シリアルＩＤからテナントＩＤを特定し、テナントＩＤから認証装置３００の接続先ＵＲＬを特定する。ここで、認証・認可サーバ２２０は、シリアルＩＤからテナントＩＤを特定するために図４のテーブルＡを用い、テナントＩＤから認証装置３００の接続先ＵＲＬを特定するために、図５のテーブルＢを用いる。
【０１８０】
認証・認可サーバ２２０は、認証装置３００の接続先ＵＲＬを特定し、ステップＳ１００７に進む。
【０１８１】
上述した通り、ステップＳ１００７で、クライアント装置１００に認証装置３００の接続先ＵＲＬを通知する。
【０１８２】
次に、シリアルＩＤを抽出できなかった場合について説明する。
【０１８３】
ステップＳ１０１３で、認証・認可サーバ２２０は、クライアント装置１００のＩＰアドレスを抽出する。クライアント装置１００のＩＰアドレスは、クライアント装置１００からのサービスの提供の要求の送信元ＩＰアドレスの欄に含まれる。
【０１８４】
ステップＳ１０１４で、認証・認可サーバ２２０は、ＩＰアドレスからテナントＩＤを特定し、テナントＩＤから認証装置３００の接続先ＵＲＬを特定する。ここで、認証・認可サーバ２２０は、ＩＰアドレスからテナントＩＤを特定するため、図６のテーブルＣを用い、テナントＩＤから認証装置３００の接続先ＵＲＬを特定するために、図５のテーブルＢを用いる。
【０１８５】
認証・認可サーバ２２０は、認証装置３００の接続先ＵＲＬを特定し、ステップＳ１００７に進む。
【０１８６】
上述した通り、ステップＳ１００７で、クライアント装置１００に認証装置３００の接続先ＵＲＬを通知する。
【０１８７】
図１０に示す動作手順では、認証装置３００の接続先を特定する場合に、テナントＩＤから特定する処理、シリアルＩＤから特定する処理、ＩＰアドレスから特定する処理の順番で処理が実行される例を示したが、処理の順番については変更可能である。認証・認可サーバ２２０は、シリアルＩＤと、ＩＰアドレスと、テナントＩＤとの組み合わせから認証装置３００の接続先を特定してもよい。
【０１８８】
認証エージェント２１０は、クライアント装置１００からのサービスの提供の要求から、シリアルＩＤと、ＩＰアドレスと、テナントＩＤとを抽出し、認証・認可サーバ２２０に通知し、認証・認可サーバ２２０が、認証装置３００の接続先を特定するのに必要な情報を選択してもよい。
【０１８９】
（５）認証・認可サーバの動作手順
図１１は、本実施形態における認証・認可サーバ２２０の動作手順の一例を示す図である。
【０１９０】
まず、シリアルＩＤから認証装置３００の接続先を特定する場合について説明する。
【０１９１】
ステップＳ１１０１で、認証・認可サーバ２２０は、クライアント装置１００のシリアルＩＤを抽出する。
【０１９２】
ステップＳ１１０２で、認証・認可サーバ２２０は、図４のテーブルＡを用い、シリアルＩＤに対応するテナントＩＤを検索する。
【０１９３】
ステップＳ１１０３で、認証・認可サーバ２２０が、シリアルＩＤに対応するテナントＩＤを特定できた場合、ステップＳ１１０４に進む。認証・認可サーバ２２０が、シリアルＩＤに対応するテナントＩＤを特定できない場合（ステップＳ１１０３  Ｎｏ）、ステップＳ１１０７に進む。
【０１９４】
テナントＩＤが特定できた場合（ステップＳ１１０３  Ｙｅｓ）、ステップＳ１１０４で、認証・認可サーバ２２０は、シリアルＩＤに対応するテナントＩＤを取得する。
【０１９５】
ステップＳ１１０５で、認証・認可サーバ２２０は、図５のテーブルＢから、テナントＩＤに対応するテナント情報を取得し、ステップＳ１１０６に進む。ここで、テナント情報には、テナントＩＤに対応する認証方式と、認証装置３００のＵＲＬとが含まれる。
【０１９６】
ステップＳ１１０６で、認証・認可サーバ２２０は、取得したテナント情報から認証方式を確認し、ＮＳＰ認証の場合、ステップＳ１１０７に進み（ステップＳ１１０６  Ｙｅｓ）、ＮＳＰ認証でない場合（ステップＳ１１０６  Ｎｏ）、ステップＳ１１０８に進む。
【０１９７】
ステップＳ１１０７で、認証・認可サーバ２２０は、ＮＳＰ認証を行う認証装置３００のＵＲＬを接続先に設定し、ステップＳ１１０９に進む。ＮＳＰ認証を行う認証装置３００のＵＲＬは、サービス提供システム２００内の場所を示すＵＲＬとなる。
【０１９８】
ステップＳ１１０９で、認証・認可サーバ２２０は、ＮＳＰ認証を行う認証装置３００のＵＲＬを設定し、認証エージェント２１０に接続先の認証装置３００のＵＲＬを通知する。
【０１９９】
一方、認証方式がＮＳＰ認証でない場合、ステップＳ１１０８で、認証・認可サーバ２２０は、外部の認証装置３００のＵＲＬを接続先に設定し、ステップＳ１１０９に進む。
【０２００】
ステップＳ１１０９の処理は上述した通りである。
【０２０１】
テナントＩＤが特定できない場合（ステップＳ１１０３  Ｎｏ）、ステップＳ１１０７に進み、ステップＳ１１０７が実行された後、ステップＳ１１０９が実行される。ステップＳ１１０７及びステップＳ１１０９で実行される内容については上述した通りである。
【０２０２】
次に、ＩＰアドレスから認証装置３００の接続先を特定する場合について説明する。
【０２０３】
ステップＳ１１１０で、認証・認可サーバ２２０は、クライアント装置１００のＩＰアドレスを抽出する。
【０２０４】
ステップＳ１１１１で、認証・認可サーバ２２０は、図６のテーブルＣを用い、ＩＰアドレスに対応するテナントＩＤを検索し、ステップＳ１１０３に進む。
【０２０５】
ステップＳ１１０３以降の手順については、シリアルＩＤから認証装置３００を特定する場合と同様である。
【０２０６】
次に、テナントＩＤから認証装置３００の接続先を特定する場合について説明する。
【０２０７】
ステップＳ１１１２で、認証・認可サーバ２２０は、クライアント装置１００のテナントＩＤを抽出する。認証・認可サーバ２２０は、クライアント装置１００からのサービスの提供の要求に含まれる情報、例えばＣｏｏｋｉｅからテナントＩＤを抽出する。テナントＩＤが抽出された後、ステップＳ１１０４に進む。
【０２０８】
以降の手順については、シリアルＩＤから認証装置３００を特定する場合と同様である。
【０２０９】
図１１に示す動作手順では、テナントＩＤを特定できない場合、テナントＩＤを特定できない場合（ステップＳ１１０３  Ｎｏ）、ステップＳ１１０７に進み、ＮＳＰログインを行う認証装置のＵＲＬを、クライアント装置１００に通知する手順を示したが、テナントＩＤを特定できない場合、認証・認可サーバ２２０は、クライアント装置１００にエラーを通知してもよい。この場合、クライアント装置１００はエラーの通知を表示してもよい。
【０２１０】
［第２実施形態］
次に、第２実施形態について説明する。第１実施形態と共通する部分については説明を省略し、異なる部分について説明する。
【０２１１】
第１実施形態においては、クライアント装置１００がまずサービス提供システム２００にアクセスする、ＳＰ−Ｉｎｉｔｉａｔｅｄ型の実施形態について説明したが、認証装置３００にまずアクセスするＩｄＰ−Ｉｎｉｔｉａｔｅｄ（Ｉｄｅｎｔｉｔｙ  Ｐｒｏｖｉｄｅｒ  −  Ｉｎｉｔｉａｔｅｄ）型と組み合わせてもよい。
【０２１２】
図１２を用いて、ＳＰ−Ｉｎｉｔｉａｔｅｄ型とＩｄＰ−Ｉｎｉｔｉａｔｅｄ型を組み合わせた動作手順について説明する。図１２は、本実施形態の動作手順の一例を示す図である。
【０２１３】
クライアント装置１００が、サービス提供システム２００が提供するサービスを初めて使用する場合、クライアント装置１００は、まずユーザのＩＤとパスワードの発行元である認証装置３００にアクセスする。認証装置３００は、クライアント装置１００に対する認証の処理を行う。認証の処理が完了した後、クライアント装置１００は、サービス提供システム２００にアクセスする。具体的には、ステップＳ１２０１乃至ステップＳ１２１３の手順が実行される。
【０２１４】
ここで、ステップＳ１２０１−１乃至ステップＳ１２１３の手順は、図７のステップＳ７０８−１乃至ステップＳ７２０と同様であるため、説明を省略する。
【０２１５】
２回目以降に、クライアント装置１００がサービス提供システム２００にアクセスする場合、クライアント装置１００は、初回アクセスの時に取得したテナントＩＤをサービスの提供の要求に含めてサービス提供システム２００にアクセスする。具体的にはステップＳ１２１４乃至ステップＳ１２１９の手順が実行される。
【０２１６】
テナントＩＤは、初回アクセスの時にサービス提供システム２００から、クライアント装置１００に通知される認証Ｃｏｏｋｉｅに含まれてもよい。
【０２１７】
ここで、ステップＳ１２１４乃至ステップＳ１２１９の手順は図９のステップＳ９０１乃至ステップＳ９０６と同様であるため、説明を省略する。
【０２１８】
上述した実施形態では、初回と２回目以降との処理を例に説明したが、クライアント装置１００は、テナントＩＤを保持していない場合は、ＩｄＰ−Ｉｎｉｔｉａｔｅｄ型で認証装置３００に接続し、テナントＩＤを保持している場合は、ＳＰ−Ｉｎｉｔｉａｔｅｄ型でサービス提供システムに接続してもよい。
【０２１９】
［その他］
上述した実施形態では、クライアント装置１００からの信号を、認証エージェント２１０が受け付けた後に、認証・認可サーバ２２０に必要な情報が転送される手順について説明したが、クライアント装置１００と、認証・認可サーバ２２０との間で直接、の信号の送受信を行ってもよい。
【０２２０】
上述した実施形態では、サービス提供システム２００が認証Ｃｏｏｋｉｅを発行した時に、サービス提供システム２００は、クライアント装置１００のＩＰアドレス、又はシリアルＩＤを登録していたが、認証Ｃｏｏｋｉｅを発行する前に、例えば、サービス提供システム２００へのサービスの提供の要求を受信した時に、サービス提供システム２００は、クライアント装置１００のＩＰアドレス、又はシリアルＩＤを登録してもよい。
【０２２１】
サービス提供システム２００と外部サービス提供機能部４００とが共通のテナントＩＤを用いている場合、認証エージェント２１０が、クライアント装置１００から外部サービス提供機能部４００へのサービスの提供の要求を受信してもよい。この要求を受信後、認証エージェント２１０は、クライアント装置１００に、認証装置３００の接続先を通知してもよい。
【０２２２】
認証・認可サーバ２２０、認証エージェント２１０、及びその他のサービス提供システム２００内の各機能は、複数のサーバに分散して配置されてもよいし、同一のサーバに配置されてもよい。同様に、認証装置３００内のＡＤＦＳ３１０と、ＡＤ３２０とは複数のサーバに分散して配置されてもよいし、同一のサーバに配置されてもよい。
【０２２３】
上述した実施形態において、テナントＩＤを予めクライアント装置１００に設定し、クライアント装置１００が、サービス提供システム２００へのサービスの要求を送信する時に、テナントＩＤを含む信号を送信してもよい。これにより、シリアルＩＤ、及び機体番号が、サービス提供システム２００に登録されてない場合でも、サービス提供システム２００は、認証装置３００の接続先ＵＲＬを特定できる。
【０２２４】
図４乃至図６に示したテーブルＡ、Ｂ及びＣは、テーブル形式以外の形式で対応関係が管理されてもよいことは勿論である。
【０２２５】
上述した実施の形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、サービス提供システム２００に供給してもよい。そして、そのサービス提供システム２００が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、上述の実施形態が、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は、いずれかの実施の形態を構成することになる。ここで、記憶媒体は、記録媒体または非一時的な記憶媒体である。
【０２２６】
また、コンピュータ装置が読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけではない。そのプログラムコードの指示に従って、コンピュータ装置上で動作しているオペレーティングシステム（ＯＳ）等が実際の処理の一部または全部を行ってもよい。さらに、その処理によって前述した実施形態の機能が実現されてもよいことは言うまでもない。
【０２２７】
以上、本発明の好ましい実施形態について説明したが、本発明はこうした実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
【符号の説明】
【０２２８】
１００  クライアント装置
２００  サービス提供システム
２１０  認証エージェント
２２０  認証・認可サーバ
２５０  サービス提供機能部
３００  認証装置
３１０  ＡＤＦＳ
３２０  ＡＤ
【先行技術文献】
【特許文献】
【０２２９】
【特許文献１】特開２０１３−０２５４０５号公報
【特許文献２】特開２０１２−１６８７９５号公報
【図１】
2017010266.tif 000003
【図２】
2017010266.tif 000004
【図３】
2017010266.tif 000005
【図４】
2017010266.tif 000006
【図５】
2017010266.tif 000007
【図６】
2017010266.tif 000008
【図７】
2017010266.tif 000009
【図８】
2017010266.tif 000010
【図９】
2017010266.tif 000011
【図１０】
2017010266.tif 000012
【図１１】
2017010266.tif 000013
【図１２】
2017010266.tif 000014