(57)【特許請求の範囲】
【請求項１】
クライアントに対してサービスを提供する一又は複数のサーバであって、
サービスの提供を契約したテナントと、該テナントに属するユーザと、ライセンスされたサービスにおける前記ユーザのアクセス権限を示すロールとを登録したユーザ管理テーブルを格納する格納手段と、
ライセンスの設定を行うクライアントからの要求に応じて、前記テナントに対してライセンスを設定するための第１のユーザインターフェースを提供し、前記テナントに属するクライアントからの要求に応じて、前記第１のユーザインターフェースを介して前記テナントに割り当てられたライセンスに対応するロールを前記ユーザに対し設定するための第２のユーザインターフェースを提供するユーザインターフェース手段と、
前記第２のユーザインターフェースを介して設定された前記ユーザに割り当てるロールに従って前記ユーザ管理テーブルのロールを更新する更新手段と
を備え、
前記ライセンスの状態が、ライセンスの状態の変更が行われたものの当該ライセンスの状態の変更に伴うロールの更新が済んでいないことを示す処理中状態である場合、前記ユーザインターフェース手段は、前記ライセンスを前記テナントに設定不可能な前記第１のユーザインターフェースを提供することを特徴とするサーバ。
【請求項２】
前記ライセンスの状態を他の状態に変更する変更手段を更に備え、
前記更新手段は、前記ライセンスの状態が処理中状態であるライセンスが付与されたテナントに属するユーザのロールを、変更された後の状態に応じたロールに更新し、
前記更新手段はさらに、前記ライセンスの状態の変更とは非同期に、バッチ処理により前記ロールの変更を行うことを特徴とする請求項１に記載のサーバ。
【請求項３】
前記ライセンスの状態の変更の指示を受け付ける手段をさらに備え、
前記変更手段は、前記ライセンスの状態の変更の指示を受け付けると、現在のライセンスの状態を前記処理中状態に変更し、
前記ユーザインターフェース手段は、前記ライセンスの状態が前記処理中状態であった場合には、当該ライセンスを前記テナントに設定不可能な前記第１のユーザインターフェースを提供することに加えて、当該ライセンスが付与されたテナントに属する前記ユーザに対するロールの設定をさせない前記第２のユーザインターフェースを提供することを特徴とする請求項２に記載のサーバ。
【請求項４】
前記クライアントに提供するサービスには、帳票管理サービスと文書印刷サービスの少なくともいずれかを含むことを特徴とする請求項１乃至３のいずれか一項に記載のサーバ。
【請求項５】
請求項１乃至４のいずれか一項に記載のサーバと、該サーバとＷｅｂを介して接続されたクライアントとを含むことを特徴とするクラウドシステム。
【請求項６】
クライアントに対してサービスを提供するサーバによるユーザ管理方法であって、
格納手段が、サービスの提供を契約したテナントと、該テナントに属するユーザと、ライセンスされたサービスにおける前記ユーザのアクセス権限を示すロールとを登録したユーザ管理テーブルを記憶手段に格納する格納工程と、
ユーザインターフェース手段が、ライセンスの設定を行うクライアントからの要求に応じて、前記テナントに対してライセンスを設定するための第１のユーザインターフェースを提供し、前記テナントに属するクライアントからの要求に応じて、前記第１のユーザインターフェースを介して前記テナントに割り当てられたライセンスに対応するロールを前記ユーザに対し設定するための第２のユーザインターフェースを提供するユーザインターフェースの提供工程と、
更新手段が、前記第２のユーザインターフェースを介して設定された前記ユーザに割り当てるロールに従って前記ユーザ管理テーブルのロールを更新する更新工程と
を有し、
前記ライセンスの状態が、ライセンスの状態の変更が行われたものの当該ライセンスの状態の変更に伴うロールの更新が済んでいないことを示す処理中状態である場合、前記ユーザインターフェースの提供工程では、前記ライセンスを前記テナントに設定不可能な前記第１のユーザインターフェースを提供すすることを特徴とするユーザ管理方法。
【請求項７】
請求項１乃至４のいずれか一項に記載のサーバとしてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クラウドシステムおよびクラウドサービスのライセンス管理方法に関し、たとえばユーザーのライセンス情報を元に、各種クラウドサービスへのアクセス制御を実施するためのライセンス管理方法に関するものである。
【背景技術】
【０００２】
近年インターネットにおいて、様々なクラウドサービスが提供されている。これらサービスには、ＩＤおよびパスワードの維持管理、アクセス制御といったセキュリティ対策のための認証機構が備えられているのが一般であり、ユーザーは利用するサービスのライセンスを購入し、サービスの利用を行うことが一般的である。特許文献１には、様々なサービスの認証とライセンスの管理を行うサービスの運用方法が開示されている。このサービスでは、サービス毎に管理されたライセンス情報に基づきアクセス制御を行い、サービスの利用可否をサービス単位で制御することが行われている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００２−３３３９２８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来技術では、ライセンス情報に基づくアクセス制御はクラウドサーバにより一元的に行われており、ライセンスを取得した顧客の管理者ユーザーが、そのライセンスに基づいて、サービスを利用する顧客の一般ユーザーに対してさらにアクセス権限を割り当てることは困難であった。例えば、サービスを試用するためのトライアルライセンスをサーバにより付与された顧客の管理者ユーザーは、そのトライアルライセンスをそのまま一般ユーザーに利用させることができる。それにより一般ユーザがトライアルライセンスに対してあたえられたアクセス権限をそのまま行使できる。しかしながら、管理者ユーザーが、一般ユーザに対して例えばユーザーごとに相異なるアクセス権限を割り当てることを望んでも、付与されたライセンスに付随する権限をユーザーごとに制御することは困難であった。
【０００５】
また、様々なライセンスの種類が増えることで、トライアルライセンスから本ライセンスへといったライセンスの移行等、各種ライセンス移行処理をサーバが実施する必要が生じる。この際、ライセンスの移行に伴って各ユーザーに付与されているアクセス権限の更新を順次行う必要がある。しかし、クラウドサービスのように多数のユーザーが利用しているシステムではこれら処理は非常に時間がかかる。よって、ライセンスの移行処理と同期して各ユーザーのアクセス権限の更新処理を実施することが困難であった。また同様の理由から、ライセンスの停止や回復など、ライセンスの状態の変化に同期して、各ユーザーに割り当てたアクセス権限を更新することもまた困難であった。
【０００６】
本発明は上記課題を解決することを目的としており、詳しくは、ライセンスを行使する顧客のユーザーごとにアクセス権限を割り当てることを目的とする。また、各種ライセンスの移行処理やライセンスの状態の変更に対して、ライセンスとアクセス権限との不整合を生ずることなく、ユーザーに割り当てたアクセス権限の更新を非同期処理にて実施することを目的とする。
【課題を解決するための手段】
【０００７】
本発明は上記従来例に鑑みてなされたもので、以下の構成を備える。
【０００８】
クライアントに対してサービスを提供する一又は複数のサーバであって、
サービス提供を契約したテナントと、該テナントに属するユーザと、ライセンスされたサービスにおける前記ユーザのアクセス権限を示すロールとを登録したユーザ管理テーブルを格納する格納手段と、
前記クライアントからの要求に応じて、前記ユーザに対するロールの設定のためのユーザインターフェースを提供するユーザインターフェース手段と、
前記ユーザインターフェースを介して前記ユーザに対して設定されたロールに従って前記ユーザ管理テーブルを更新する更新手段とを備える。
【発明の効果】
【０００９】
本発明によると、ライセンスを供与された顧客の管理者ユーザーは、その管理下にある一般ユーザーに対してアクセス権を容易に設定することができる。さらに、ライセンスの状態の変更やライセンスの移行に応じて各ユーザーのアクセス権限を適時更新でき、ライセンスとの整合を維持できる。。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施形態におけるクラウドシステムの全体構成を示す図である。
【図２】本発明の実施形態におけるクライアント端末、サーバーコンピューターのハードウェア構成図である。
【図３】本発明の実施形態におけるクライアント端末のシステム構成図である。
【図４】本発明の実施形態における認証サービスのシステム構成図である。
【図５】本発明の実施形態における認証サービスで管理されるデーターの一例の図である。
【図６】本発明の実施形態における帳票サービスおよびプリントサービスのシステム構成図である。
【図７】本発明の実施形態におけるビジネス支援サービスのシステム構成図である。
【図８】本発明の実施形態におけるテナント構造を示す模式図である。
【図９】本発明の実施形態における販売者ユーザーがテナントに対してライセンスを設定する画面の図である。
【図１０】本発明の実施形態におけるライセンス状態の状態遷移図である。
【図１１】本発明の実施形態におけるビジネス支援サービスで管理されるデーターの一例の図である。
【図１２】本発明の実施形態におけるビジネス支援サービスが図９の画面を生成する処理フローである。
【図１３】本発明の実施形態における顧客先管理者ユーザーが一般ユーザーに対して、製品ロールの付与と解除を実施するための画面の図である
【図１４】本発明の実施形態におけるビジネス支援サービスが図１３の画面を生成する処理フローである。
【図１５】本発明の実施形態における様々なライセンス状態に応じた図１３の表示方法のバリエーションの図である。
【図１６】本発明の実施形態におけるビジネス支援サービスのバッチ処理の処理フローである。
【発明を実施するための形態】
【００１１】
以下、本発明を実施するための最良の形態について図面を用いて説明する。なお、本実施形態において「サービス」とは、クライアントに対して提供される機能のみならず、サーバーコンピューターが当該サービスを提供するために必要とする資源等を含む。たとえば「認証サービス」は、単にクライアントを認証する機能のみならず、認証サービスを提供するサーバーコンピューターが認証サービスを提供するために消費するハードウェア資源およびソフトウェア資源を含む。したがって、以下の説明においては、「サービス」は「サーバ」と読み替えることもできる。本実施形態ではサーバという用語を用いないのは、ひとつのサービスが一又は複数のサーバにより提供されることや、複数のサービスが一つのサーバにより提供されることがあるためであり、サービスという抽象的な定義がより適切なためである。またクラウドシステムとは、インターネットを介してクライアントがサーバからサービスの提供を受けるシステムであり、不特定のクライアントを対象としたクライアントサーバシステムとよぶこともできる。
【００１２】
＜図１：クラウドシステムの全体構成＞
図１は、本発明の実施の形態に係るクラウドシステムの全体構成を示す図である。図１において、認証サービス１０１、ビジネス支援サービス１０２、帳票サービス１０３、プリントサービス（文書印刷サービス）１０４、クライアント端末１０６〜１０９は、ネットワーク１１０〜１１２を介して接続されている。図１において、クライアント端末１０６〜１０９は、複数台接続されていることを仮定している。ネットワーク１１０〜１１２は、例えば、インターネット等のＬＡＮ、ＷＡＮ、電話回線、専用デジタル回線、ＡＴＭやフレームリレー回線、ケーブルテレビ回線、データー放送用無線回線等のそれぞれ別個のネットワークであり、これらのネットワークは互いに接続されている。ネットワーク１１０〜１１２は、データーの送受信が可能であればよい。一般的なクラウドサービスでは、ネットワーク１１０はインターネット、ネットワーク１１１、１１２は企業内ネットワークやサービスプロバイダーのネットワークとなる。認証サービス１０１、ビジネス支援サービス１０２、帳票サービス１０３、プリントサービス１０４は、一般的にサーバーコンピューター上にて実行されており、これらサービス群がユーザーに対してクラウドサービスを提供する。よって、本願発明では各サーバをサービスと記載する。クラウドサービスは、ＨＴＴＰを介してクライアントからサーバに要求され、サーバからクライアントに提供される。このためにサーバでは、サービス提供を実施するためのアプリケーションプログラムを実行しており、特にクライアントからの要求に応じて提供するサービスに関わるアプリケーションプログラムを本例ではＷｅｂアプリケーションと呼ぶ。Ｗｅｂアプリケーションはさらにバックエンドにおかれたプログラムに処理の一部を任せる場合もある。各サーバはそれぞれ別個のあるいはいずれかのサーバに共通のローカルネットワークに接続されている場合もあるが、クライアントは各サービスをインターネットから提供されるものとして処理するので、サーバ側のネットワーク構成はどのようなものでもよい。クライアント端末１０６〜１０９は、例えば、デスクトップパソコン、ノートパソコン、モバイルパソコン、ＰＤＡ（パーソナルデーターアシスタント）等から成るが、プログラムの実行環境が内蔵された携帯電話であってもよい。クライアント端末１０６〜１０９では、Ｗｅｂブラウザ（インターネットブラウザ、ＷＷＷブラウザ、Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂの利用に供するブラウザ）等のプログラムを実行する環境が内蔵されている。
【００１３】
＜図２：クライアント端末およびサーバーコンピューターのハードウェア構成＞
図２は、本発明の実施形態に係るクライアント端末１０６〜１０９、サービス群１０１〜１０４を実行するサーバーコンピューターのハードウェア構成図である。
【００１４】
図２において、ＣＰＵ２０２は装置全体の制御を行う。ＣＰＵ２０２はハードディスク（ＨＤＤ）２０５に格納されているアプリケーションプログラムやＯＳ等を実行し、ＲＡＭ２０３にプログラムの実行に必要な情報、ファイル等を一時的に格納する制御を行う。ＲＯＭ２０４は記憶手段であり、内部には、基本Ｉ／Ｏプログラム等の各種データーを記憶する。ＲＡＭ２０３は一時記憶手段であり、ＣＰＵ２０２の主メモリ、ワークエリア等として機能する。ＨＤＤ２０５は外部記憶手段の一つであり、大容量メモリとして機能し、Ｗｅｂブラウザ等のアプリケーションプログラム、サービス群のプログラム、ＯＳ、関連プログラム等を格納している。ディスプレイ２０６は表示手段であり、キーボード２０７から入力したコマンド等を表示したりするものである。インターフェース２０８は外部装置Ｉ／Ｆであり、プリンター、ＵＳＢ機器、周辺機器を接続する。キーボード２０７は指示入力手段である。システムバス２０１は、装置内におけるデーターの流れを司るものである。ネットワークインターフェースカード（ＮＩＣ）２０９は、該インターフェース２０９、ネットワーク１１０〜１１２を介して外部装置とのデーターのやり取りを行う。なお、上記コンピュータの構成はその一例であり、図２の構成例に限定されるものではない。例えば、データーやプログラムの格納先は、その特徴に応じてＲＯＭ２０４、ＲＡＭ２０３、ＨＤＤ２０５などで変更することも可能である。
【００１５】
＜図３：クライアント端末のシステム構成＞
図３は、本発明の実施形態に係るクライアント端末１０６〜１０９のシステム構成図である。図３において、Ｗｅｂブラウザ３０１を利用し、サービス群１０１〜１０４が提供する各種Ｗｅｂアプリケーションへのリクエストの送信と、レスポンスの表示等を行う。クラウドサービスを利用するユーザーは本クライアント端末１０６〜１０９のＷｅｂブラウザ３０１を利用して、クラウドサービスを利用する。
【００１６】
続いて、クラウドサービスを提供する認証サービス１０１、ビジネス支援サービス１０２、帳票サービス１０３、プリントサービス１０４の各サービスに関して説明する。
【００１７】
初めに、図４、図５を用いて、認証サービス１０１に関して説明する。認証サービス１０１はクラウドサービス全体の認証・認可をつかさどるサービスである。  ＜図４：認証サービス１０１のシステム構成＞
図４は、本発明の実施形態に係る認証サービス１０１のシステム構成図である。図４において、認証アプリケーション４０１が認証機能を提供するアプリケーションプログラム（すなわちＷｅｂアプリケーション）である。データーベース４０２は、ユーザーＩＤやパスワード、ユーザーの属性情報や認可情報等を保存し、また管理しており、認証アプリケーション４０１にて各種機能を実現するためのデーター管理を行う。
【００１８】
ユーザー管理モジュール４１６ではクラウドサービスを利用可能なユーザーを管理する。各ユーザーの情報には、ユーザーＩＤ、パスワード、ユーザーの名前といった情報や、ユーザーがどのテナントに所属するかのテナントＩＤ、そのユーザーのロールを保持しているロール情報といった設定が、ユーザーごとに関連付けられて保持されている。ここでいうテナントとは、顧客がクラウドサービスを利用・管理する単位である。クラウドサービスでは、１つのシステムで複数のテナントを管理している。ユーザー企業を顧客として契約を行った場合、そのユーザー企業毎にテナントを結び付けて管理し、そのユーザーのデーターもテナント毎に管理される。たとえば顧客が企業であれば、その企業に属する個別のユーザーを、そのユーザーが所属する企業単位で管理することを、テナントで管理していると称する。もちろん顧客は企業とは限らず、そのほかの団体等であってもよい。いずれにしても、ライセンス契約ごとにユーザーを管理する単位をテナントと呼ぶ。このテナントの概念により、ユーザー企業はあたかも別々のシステム上で提供されている自分自身だけの為のサービスを利用しているのと同じでようにクラウドサービスを利用できる。
【００１９】
ロール管理モジュール４１５ではクラウドサービスにユーザーがアクセスするための権限をロールという概念で管理する。たとえば本実施形態では、「テナント管理者ロール」というロールを定義し、そのロールがアクセスできるＷｅｂアプリケーションのＵＲＬが関連して設定される。テナント管理者ロールを持つユーザーをテナント管理者ユーザーと呼ぶ。これに対して、テナント管理者ロールを持たないユーザーを一般ユーザーと呼ぶ。
【００２０】
認可モジュール４１３は、クラウドサービスを利用する各ユーザーがアクセスできるサービスの認可の機能を実現する。認可モジュール４１３は、ユーザーＩＤとそのユーザーがアクセスしたいＷｅｂアプリケーションのＵＲＬ情報とを受け取る。認可モジュール４１３は、ユーザーＩＤに割り当てられているロールをユーザー管理モジュール４１６より取得する。さらには、ロール管理モジュール４１５よりそのロールがアクセス可能なＵＲＬの情報を取得する。認可モジュール４１３は、ユーザーがアクセスしたいＵＲＬとアクセス可能なＵＲＬの比較、即ちマッチングを行い、その結果に応じてアクセスの許可・不許可を決定する。実際にユーザーがＷｅｂアプリケーションにアクセスした際にどのように認可の機能が動作するかは、後述の帳票サービス１０３およびプリントサービス１０４の説明で詳細を記載する。
【００２１】
ログインモジュール４１１は、ユーザーがクラウドサービスにログイン機能を提供するためのＷｅｂアプリケーションである。クライアント端末１０６〜１０９のＷｅｂブラウザ３０１からのリクエストを受信したログインモジュール４１１は、ユーザーがＷｅｂブラウザに入力した認証情報を元にログイン処理を実行する。
【００２２】
ログイン処理では、ログインモジュール４１１が認証モジュール４１２に対して、ユーザーが入力した認証情報を通知する。認証モジュール４１２は通知されたユーザーの認証情報をデーターベースに登録されているユーザーアカウント、パスワードと照合して認証処理を実施し、ログインモジュール４１１にその結果を返す。ログインモジュール４１１は、認証結果を表示するＷｅｂ画面を生成してＷｅｂブラウザ３０１にレスポンスを送信する。実際にユーザーがＷｅｂアプリケーションにアクセスした際にどのようにログインの機能が動作するかは、後述の帳票サービス１０３およびプリントサービス１０４の説明で詳細を記載する。
【００２３】
外部Ｉ／Ｆモジュール４１４は後述する認証エージェント６０１、７０１からの処理依頼や、ビジネス支援サービス１０２からの処理依頼を処理するためのインターフェイスであり、認証サービスの機能（図４の各モジュール）を外部から呼び出すためのものである。
【００２４】
＜図５：認証サービスデーターベースで管理されているデーターの例＞
図５は、認証サービス１０１のデーターベース（認証サービスデーターベース）４０２で管理されているデーターの一例である。図５において、ユーザー管理テーブル５０１は、各種ユーザー情報を管理している。ユーザーＩＤ５１１はユーザーをシステムで一意に識別する情報であり、ログイン時に入力するＩＤである。パスワード５１２はユーザーがシステムにログインする際に利用するパスワードの情報である。パスワードは一般的には、パスワード文字列をそのまま格納するのではなく、ハッシュ化して格納する等、セキュリティ対策されることが一般的である。テナントＩＤ５１３はユーザーが所属するテナントを一意に識別する情報である。姓５１４、名５１５はユーザーが任意に入力する情報でユーザーの名前を管理できる。所持ロール５１６はユーザーに割り当てられているロールＩＤ一覧である。
【００２５】
アクセス権限管理テーブル５０２は、各ロールがどのＵＲＬにアクセス権限を持っているのかを管理する。ロールＩＤ５３１はロールをシステムで一意に識別する情報である。アクセス許可ＵＲＬはそのロールがユーザーに所持されている場合にユーザーがアクセスできるＵＲＬの情報である。たとえば、レコード５４１はロールＩＤ「distributor」を持つユーザーは、「https://biz/tenantmanagement/*」にアクセス可能であることを示す。認証サービスデーターベースの各レコードは、たとえばクラウドサービスの販売者ユーザーが、各テナントとの契約内容に応じて登録すればよい。ただし、いったん登録された各ユーザーのロールに関しては、当該ユーザーが属するテナントの管理者ユーザーにより、図７に示すユーザー管理モジュールを介して更新することを許してもよい。
【００２６】
＜図６：帳票サービス１０３およびプリントサービス１０４＞
次に、帳票サービス１０３およびプリントサービス１０４の概要に関して図６のシステム構成図で説明を行う。帳票サービス１０３、プリントサービス１０４は実際に顧客向けに販売するサービスであり、プリント機能や、帳票生成機能を顧客に提供する。
【００２７】
図６において、Ｗｅｂアプリケーション６０２はクライアント端末１０６〜１０９のＷｅｂブラウザ３０１からのリクエストを受信する。リクエストを受信したＷｅｂアプリケーション６０２はそのリクエストの内容に応じた処理をバックエンド６０３に依頼する。バックエンド６０３はサービスを実現するためのプリント実行や帳票生成等の機能を提供する。バックエンド６０３はＷｅｂアプリケーション６０２から依頼された処理を実行しその結果をＷｅｂアプリケーション６０２に返す。Ｗｅｂアプリケーション６０２は、バックエンド６０３の処理結果を基にＷｅｂ画面を生成し、Ｗｅｂブラウザ３０１にレスポンスを送信する。認証エージェント６０１は、Ｗｅｂブラウザ３０１からＷｅｂアプリケーション６０２へのリクエストに割り込みを行い、認証サービス１０１と連携することで、ユーザーの認証・認可処理を実施する。認証エージェント６０１はリクエストともにクライアントから受信した情報、たとえばユーザＩＤやパスワード等の認証情報を認証サービス１０１の外部Ｉ／Ｆ４１４に送信する、認証サービス１０１は認証４１１と認可４１３の機能にて認証・認可処理を行い、その結果を認証エージェント６０１へ応答する。認証エージェントは認証・認可処理が正常に終了した場合、すなわちユーザが認証された場合にはリクエストをＷｅｂアプリケーション６０１へ送信し、認証・認可処理が失敗した場合、すなわちユーザが認証されなかった場合にはエラー画面を表示する。以上の処理によって、帳票サービス１０３およびプリントサービス１０４の利用制御を行っている。
【００２８】
＜図７：ビジネス支援サービス１０２＞
次に、ビジネス支援サービス１０２に関して、図７のシステム構成図で説明を行う。ビジネス支援サービス１０２は、ライセンス管理やユーザー管理といったビジネスインフラを提供するためのサービスである。図７において、Ｗｅｂアプリケーション７０２はクライアント端末１０６〜１０９のＷｅｂブラウザ３０１からのリクエストを受信する。リクエストを受信したＷｅｂアプリケーション７０２はそのリクエストの内容に応じた処理を実施し、処理結果となるＷｅｂ画面を生成し、Ｗｅｂブラウザ３０１にレスポンスを送信する。Ｗｅｂアプリケーション７０２はテナント管理７１１、ユーザー管理７１２の機能を提供する。各機能に関しては後述する。バッチアプリケーション７０３はバックエンドで動作する各種機能を実現するアプリケーション群であり、本ライセンス移行７２１、期限切れ７２２、ライセンス無効化７２３、ライセンス有効化７２４、解約７２５の機能を実現する。各機能に関しては後述する。データーベース７０４はＷｅｂアプリケーション７０２やバッチアプリケーション７０３で利用するデーターを管理している。本例では、図８に示すテナント情報もこのデーターベース７０４で管理される。認証エージェント７０１は認証エージェント６０１と同様で、認証サービス１０１と連携し、ビジネス支援サービスのＷｅｂアプリケーション７０２のアクセス制御を行っている。
【００２９】
＜図８：テナント情報の構造＞
図８は、本発明の実施形態に係る、テナント情報の構造を示す模式図である。図８において、テナント８０１の単位で顧客のクラウドサービスの利用を管理する。よって、テナント８０１は顧客ごとに存在する。テナント８０１には、ユーザー８０２が所属しており、各ユーザーはテナント８０１内で一意に識別される。テナント８０１は複数のライセンス情報を保持する。ライセンス情報１つに対してサービス１つが紐づけられるため、本実施形態では、帳票サービス１０３用のライセンスは、帳票サービスライセンス情報８０３が管理する。また、プリントサービス１０４用のライセンスは、プリントサービスライセンス情報８０４が管理する。各ライセンス情報にはそのサービスを最大何人のユーザーが利用できるかのライセンス数の情報や、ライセンスの種別や有効期限等が管理されている。テナント情報は、たとえばテナントＩＤに、当該テナントに属するユーザーのユーザーＩＤと、当該テナントに対して付与されたライセンス情報とが関連付けられた情報である。さらに、ユーザーＩＤに対して、当該テナントに対して付与されているライセンスのライセンス情報を関連付けることもできる。テナント情報は、クラウドサービスの販売者ユーザーにより、テナント契約にともなって作成され、ビジネス支援サービス１０２のデーターベース７０４に登録される。ただし、本実施形態においては、テナント情報がいったん登録されたあとは、テナントに属するユーザーやライセンスの変更に関しては、テナント管理者ユーザーがテナント管理モジュール７１１を介しておこなうことができる。このようにテナントの管理者ユーザーは、ビジネス支援サービスを介して、ライセンスやユーザー、ユーザーのアクセス権限の追加や削除および変更といった管理をおこなうため、テナント情報が作成された時点で、当該テナントの管理者（テナント管理者ユーザー）に対しては、ビジネス支援サービスへのアクセス権限が付与される。ビジネス支援サービスへのアクセス権限はその他のライセンスと同様にライセンス情報で管理してもよいが、ライセンス情報なしでアクセス権限を認めてもよい。テナント情報が更新され、それに応じてユーザーのアクセス権限が変更されれば、その変更は認証サービスデーターベースに反映される。認証サービスデーターベースへの反映は不図示のプログラムを介して行ってもよいし、認証エージェントを介して行ってもよい。
【００３０】
次に、クラウドサービスの利用開始手順を順に説明する。まずは、図９から図１２を用いて、クラウドサービスを顧客に販売する販売者ユーザーが、顧客向けのテナントの作成、テナント管理者用のユーザーアカウントの作成、およびテナントへのライセンス設定を行うための手順に関して説明する。
【００３１】
販売者ユーザーはクラウドサービスにログインし、ビジネス支援サービス１０２のテナント管理モジュール７１１にて顧客用のテナント情報の作成とテナント管理者用のユーザーアカウントの作成を行う。初期に作成されるテナント情報には、テナントＩＤとそのテナントのテナント管理者ユーザーのユーザーＩＤが含まれる。テナントに属するそのほかの一般ユーザーやサービスのライセンスは、テナント情報を作成した後、そのテナントに関連付けて登録することができる。テナント管理者ユーザーは、ライセンスの設定を行うために、テナント情報の作成に伴って、そのテナントのテナント管理者ユーザーに対してビジネス支援サービスへのアクセスを許可するライセンスは付与される。またテナントに属するテナント管理者ユーザーに対しては、ライセンス情報の登録がされていなくとも、ビジネス支援サービスへのアクセスを許可するようにしてもよい。
【００３２】
＜図９：ライセンス設定画面＞
図９は、販売者ユーザーがテナントに対してライセンスを設定する画面の図である。本画面は、たとえば販売者ユーザーがその端末を介して生成したテナント情報に基づいて、テナント管理モジュール７１１にて生成される。そして、販売者ユーザーが利用しているクライアント端末のＷｅｂブラウザ３０１からの要求に応じて、要求元のクライアント端末に表示される。ライセンス状態９０１、９０２はそれぞれ帳票サービス１０３とプリントサービス１０４の、当該テナントに対する現在のライセンス状態を表している。サービス名９１１はサービスの名称を表示する。ライセンス状態９１２は現在のライセンスの状態を表示する。図９は初期状態の例であり、いずれのライセンスも未契約状態にある。ライセンス状態の詳細は後述する。ライセンス数９１３は、そのサービスを利用できるユーザーの最大数であり、使用中ライセンス数９１４は、テナント内に、現在のライセンスに対応したロールが割り当てられているユーザーが何人存在するかを表示する。スケジュール９１５はトライアルや本契約の開始日・終了日を表示する。ライセンス変更欄９０３、９０４は、ライセンス状態を変更するためのユーザーインターフェースである。ライセンス状態９１２の変更やライセンス数９１３の変更、トライアル終了日のスケジュール９１５の設定が可能である。このユーザーインターフェースを介してライセンスが変更されると、その変更はデーターベース７０４に反映される。
【００３３】
＜図１０：ライセンスの状態＞
図１０はライセンス状態の状態遷移図である。図１０を基にライセンス状態の詳細の説明を行う。ライセンス状態は各ライセンス情報に関連付けて管理される情報であり、ライセンス状態が遷移するごとに遷移後の状態に更新される。未契約１００１はライセンスを契約していない状態である。例えば新規のテナントに対して新規にライセンス情報が作成された場合、そのライセンスの初期状態は未契約１００１となる。未契約状態１００１では、そのライセンスに対応したサービスは利用できない。また、未契約状態１００１の場合、販売者ユーザーは、図９の画面にて、トライアル１００２もしくは、本ライセンス状態１００３にライセンス状態を変更することが可能となる。トライアル状態１００２に変更する場合は、ライセンス数９１３とトライアル終了日のスケジュール９１５を設定する必要がある。本ライセンス状態１００３に変更する場合は、ランセンス数９１３を設定する必要がある。
【００３４】
トライアル状態１００２は、製品のライセンスを試験的に利用する場合の状態である。試験的にサービスを利用する場合、利用できる期間が定められている他、利用するサービスの一部機能が制限されている可能性もある。例えば、帳票サービスの場合、トライアルのロールが割り当てられたユーザーは、帳票のサーバーへの保存が利用できない。プリントサービスの場合、再印刷が利用できない。または、帳票サービスを３０日間しか利用できない等の制限である。
【００３５】
本ライセンス状態１００３は、製品のライセンスを正式に購入し利用する場合の状態である。トライアル状態１００２から本ライセンス状態１００３へ移行する場合、本ライセンス移行処理中状態１０１１を経て、状態移行する。ライセンスの移行は、トライアル状態１００２のときに、販売者ユーザーが図９の画面にて指示する。販売者ユーザーが、ライセンス状態を本ライセンス状態１００３への変更として指示すると、本ライセンス移行処理中状態１０１１に変化する。トライアル１００２から本ライセンス状態１００３への移行に関する処理の詳細は後述する。
【００３６】
期限切れ状態１００４は、トライアル状態１００２の有効期間が終了した状態である。トライアル終了日を過ぎた場合であり、顧客はそのサービスを利用できない。トライアル状態１００２から期限切れ状態１００４へ移行する場合、期限切れ処理中状態１０１２の状態をへて状態が変化する。ライセンスの移行は、バッチアプリケーション６０３の期限切れ処理６２２の機能によって実行される。トライアル状態１００２から期限切れ状態１００４への移行に関する処理の詳細は後述する。
【００３７】
無効状態１００５の状態は、本ライセンス状態１００３の利用を強制的に中断するための状態である。本ライセンス状態１００３から無効状態１００５へ移行する場合、無効化処理中状態１０１３を経て、状態移行する。ライセンスの移行は、本ライセンス状態１００３のときに、販売者ユーザーが図９の画面にて指示する。販売者ユーザーがライセンス状態を無効状態１００５への変更を指示すると、無効化処理中状態１０１３に変化する。本ライセンス状態１００３から無効状態１００５への移行に関する処理の詳細は後述する。また、無効状態１００５から本ライセンス状態１００３へ移行する場合、有効化処理中状態１０１４をへて状態が変化する。ライセンスの移行は、無効状態１００５のときに、販売者ユーザーが図９の画面にて実施する。販売者ユーザーがライセンスの状態を本ライセンス状態１００３へ変更を指示すると有効化処理中状態１０１４に変化する。無効状態１００５から本ライセンス状態１００３への移行に関する処理の詳細は後述する。
【００３８】
解約状態１００６は、契約を終了しライセンスを解約した場合の状態であり、顧客はそのサービスを利用できない。無効状態１００５から解約状態１００６へ移行する場合、解約処理中状態１０１５を経て、状態が移行する。ライセンスの移行は、無効状態１００５のときに、販売者ユーザーが図９の画面にて実施する。販売者ユーザーがライセンス状態を解約状態１００６への変更を指示すると解約処理中状態１０１５に変化する。無効状態１００５から解約状態１００６への移行に関する処理の詳細は後述する。期限切れ状態１００４から解約状態１００６へ移行する場合、即座に状態が変化する。ライセンスの移行は、期限切れ状態１００５の状態のときに、販売者ユーザーが図９の画面にて実施する。販売者ユーザーがライセンス状態を解約状態１００６への変更を指示すると解約状態１００６に移行する。
【００３９】
解約状態１００６から本ライセンス状態１００３へ移行する場合、即座に状態が変化する。ライセンスの移行は、解約状態１００６のときに、販売者ユーザーが図９の画面にて実施する。販売者ユーザーがライセンス状態を本ライセンス状態１００３への変更を指示すると本ライセンス状態１００３に移行する。
【００４０】
移行後のライセンス状態は、データーベース７０４に登録されたライセンス情報に反映される。
【００４１】
以上説明したように販売者ユーザーが画面９を操作する際、操作対象のライセンス状態に応じて画面が切り替わる。また、ライセンス状態の変更によっては、即座に状態が変更されるのではなく、処理中状態１０１１~１０１５のライセンス状態に設定され非同期によるライセンス情報変更処理の準備がなされる。この非同期にライセンス情報変更処理が実施されるのは、ライセンスの状態変化に応じて、ユーザーに割り当てられているアクセス権情報の更新を行う必要があるためである。この、アクセス権情報の更新を行うためには、テナント内の全ユーザーに対して順次処理していく必要があり非常に時間がかかる。
【００４２】
＜図１１：データーベース７０４で管理されるデーター例＞
図１１は、ビジネス支援サービス１０２のデーターベース７０４にて管理されている、テナントのライセンス情報や製品のライセンス状態とロールの関連を示すデーターの一例を示す図である。図１１において、ライセンス管理テーブル１１０１は、ライセンスごとにサービスやテナント等を管理するためのテーブルである。ライセンスＩＤ１１１１にて、そのライセンスがシステムで一意に特定される。製品ＩＤ１１１２は製品を一意に識別するＩＤで、本例ではサービスのＩＤである。図１１では、帳票サービス１０３の製品ＩＤ１１１２は「form」とし、プリントサービス１０４の製品ＩＤ１１１２を「print」と定義している。テナントＩＤ１１１３は、そのライセンスがどのテナントのものかを特定する情報である。ライセンス状態１１１４はライセンスの状態を示す。図１０で説明したライセンス状態１００１からライセンス状態１０１１のいずれかの値が記録される。ライセンス数１１１５はライセンスの上限数であり、ライセンス数９１３に表示される値と同様である。開始日１１１６はそのライセンスが利用開始された日付けあるいは日時が記録される。終了日１１１７はトライアルライセンス設定時に入力するトライアル終了日もしくは、解約された日時が記録される。
【００４３】
製品ロール管理テーブル１１０２は、サービスごとのロールを定義するテーブルである。ロールＩＤ１１３１はロールを一意に識別する情報であり、認証サービス１０１のロール管理テーブル５０１で定義されるロールＩＤ５３１と同様である。製品ＩＤ１１３３は、そのロールがどのサービスの為のものか示す情報である。本例のレコード１１４１では、「formAdmin」ロールは、「form」製品のライセンスであると定義されている。ライセンス種別はそのロールが「本ライセンス」のときのロールなのか、「トライアル」のときのロールなのかを示す。本例のレコード１１４１とレコード１１４２ではそれぞれ、「formAdmin」ロールは「本ライセンス」のロールであり、「formTrialAdmin」ロールは「トライアル」のロールであると定義されている。関連ロールＩＤ１１３２は、ロールＩＤに関連したロールＩＤを定義している。関連ロールＩＤ１１３２は、ライセンス種別１１３４が「本ライセンス」の場合、ライセンス種別が「無効」の場合のロールＩＤが設定され、ライセンス種別１１３４が「トライアル」の場合、ライセンス種別が「本ライセンス」のロールＩＤが設定される。本例のレコード１１４１では、本ライセンスのロール「formAdmin」に関連するロールは無効のロール「formInvldAdmin」であり、レコード１１４２ではトライアルのロール「formTrialAdmin」に関連するロールは本ライセンスのロール「formAdmin」である。消費欄１１３５はライセンス数管理を行うか否かを定義する。消費欄１１３５が「０」の場合、ライセンス数管理を行わないので、テナント管理者ユーザーは、一般ユーザに対して上限なくロールを付与することが可能である。消費１１３５が「１」の場合、ライセンス数管理が行われるので、テナント管理者ユーザーはライセンス数１１１５で定義された上限までしかロールを付与することができない。本例ではレコード１１４１の「formAdmin」ロールではライセンス数管理されず、レコード１１４３の「formUser」ロールではライセンス数管理される。
【００４４】
＜図１２：テナント管理モジュールによるライセンス設定画面の生成処理＞
図１２は、テナント管理モジュール７１１が図９の画面を生成する際の処理フローである。販売者ユーザーがＷｅｂブラウザ３０１にてテナント管理７１１の図９画面にアクセスした場合、テナント管理モジュール７１１は図１２の手順で図９の画面を生成し、Ｗｅｂを介してクライアントのＷｅｂブラウザ３０１に送信する。図９の画面へのアクセスは、たとえばビジネス支援サービス１０２にアクセスすると、サービス選択画面が表示され、その中から既存のテナントのライセンスの設定を選択すると、テナント管理モジュール７１１が実行されて図１２の処理が開始される。図１２ではまず、ステップＳ１２０１にて、選択したテナントのライセンス状態をチェックする。本処理ではライセンス管理テーブル１１０１より、該当するテナントＩＤに対して設定されたすべてのライセンスを対象としてライセンス状態１１１４の情報を読み込む。ライセンスが複数ある場合には、各ライセンスに順次着目して読み込む。着目ライセンス状態１１１４が「未契約」の場合、ステップＳ１２０２に進む。ステップＳ１２０２では、ライセンス状態９１２の選択肢９０３、９０４にて、「トライアル」または「本ライセンス」が設定できるよう選択肢を生成する。着目ライセンス状態１１１４が「トライアル」、もしくは「解約」の場合、ステップＳ１２０３に進む。ステップＳ１２０３では、ライセンス状態９１２の選択肢９０３、９０４にて、「本ライセンス」が設定できるよう選択肢を生成する。着目ライセンス状態１１１４が「本ライセンス」の場合ステップＳ１２０４に進む。ステップＳ１２０４では、９０３、９０４のライセンス状態９１２の選択肢にて、「無効」が設定できるよう選択肢を生成する。着目ライセンス状態１１１４が「無効」の場合ステップＳ１２０５に進む。ステップＳ１２０５では、ライセンス状態９１２の選択肢９０３、９０４にて、「本ライセンス」および「解約」が設定できるよう選択肢を生成する。着目ライセンス状態１１１４が「期限切れ」の場合ステップＳ１２０６に進む。ステップＳ１２０６では、ライセンス状態９１２の選択肢９０３、９０４にて、「本ライセンス」および「解約」が設定できるよう選択肢を生成する。着目ライセンス状態１１１４がその他の処理中状態の場合ステップＳ１２０７に進む。ステップＳ１２０７では、ライセンス状態を変更する機能をすべて無効化し、ライセンス状態の変更ができないように生成する。本処理により、ライセンス状態が処理中状態の場合、ライセンス状態の変更ができないようにしている。以上の処理を、選択されたテナントに付与されているライセンスすべてについて行う。
【００４５】
作成された図９の画面は、ＷｅｂサーバおよびＷｅｂブラウザを介して販売者ユーザの端末に表示される。販売者ユーザーは図９の画面において、選択したテナントの各ライセンスについて必要な設定値を入力する。入力された設定値はＷｅｂを介してビジネス支援サービス１０２のテナント管理モジュール７１１に送信され、データーベース７０４に反映される。
【００４６】
以上、図９から図１２にて、販売者ユーザーが顧客向けのテナント情報を作成し、テナント管理者用のユーザーアカウントの作成、テナントへのライセンス設定を実施する手順に関して説明した。引き続き、テナント管理者ユーザーがユーザーに対して製品のライセンスを割り当てる流れを図１３から図１５を用いて説明する。
【００４７】
テナント管理者ユーザーは、クラウドサービスにログインし、ビジネス支援サービス１０２のユーザー管理７１２にて自身が所属するテナントに一般ユーザーのアカウントを作成する。テナント管理者ユーザーは作成した一般ユーザーに対して製品ロールを割り当てることで、一般ユーザーは該当する製品を利用可能となる。
【００４８】
＜図１３：テナント管理者ユーザーによる一般ユーザーのロールの付与と解除＞
図１３は、テナント管理者ユーザーが一般ユーザーに対して、製品ロールの付与と解除を実施するための画面の図である。本画面は、テナント管理者ユーザーによるＷｅｂを介したユーザロールの管理画面の要求に応じてユーザー管理モジュール７１２にて生成され、テナント管理者ユーザーが利用しているクライアント端末１０６〜１０９のＷｅｂブラウザ３０１に表示される。本図は、図５、図１１で示したデーター例に基づいた画面表示を行った例である。   ユーザーＩＤ１３０１は、現在操作対象となっている一般ユーザーのユーザーＩＤである。本例では、「customer1@1002AA」５２３に対して操作を行っている。ここで1002AAはテナントＩＤであり、customer1はそのテナントに属するユーザーＩＤである。操作対象のユーザーは、たとえば図１３の画面に先立って当該テナントに属するユーザＩＤのリストの画面をユーザー管理モジュール７１２が生成してそれをクライアントのＷｅｂブラウザで表示させ、その中で選択されたユーザを対象にするなどして決定される。
【００４９】
画面１３０２は帳票サービスに対する設定画面であり、画面１３０３はプリントサービスに対する設定画面である。本例では、テナント「1002AA」が対象なので、ライセンス管理テーブル１１０１のレコード１１２１、１１２２より、このテナントが「本ライセンス」および「トライアル」のライセンスを保持しており、それぞれのライセンスに対するロール割り当て機能が有効として表示される。
【００５０】
ロール１３１１には、選択されたテナントに関連付けられたライセンスに係るサービスに対するロールすべてが表示される。本例では帳票サービスの現在のライセンス状態にに係るすべてのロールを表示する。本例では、ライセンス管理テーブル１１０１のレコード１１２１の情報より、テナント「1002AA」の製品ＩＤ「form」はライセンス状態が「本ライセンス」である。そのため、図１１の製品ロール管理テーブル１１０２より、製品ＩＤ「form」でライセンス種別が「本ライセンス」であるレコード１１４１とレコード１１４３の情報より、表示名１１３６を利用して表示を行う。ステータス１３１３には、例えば「未使用」１３２１、あるいは「使用中」１３２２のように、現在そのライセンスに対応したロールがユーザーに割当てられているか否かを表示する。図５のユーザ管理テーブル５０１によれば、ユーザ「customer1@1002AA」５２３の所持ロール５１６では、「formUser」のロールが割当てられている。そこで、ロール「formUser」の表示名を「一般」、そのステータスとして「使用中」１３２２と表示する。
【００５１】
開始ボタン１３２３は未使用のライセンスを割り当てるときに押下する。ボタンを押下すると対応するロール「formAdmin」がユーザー「customer1@1002AA」５２３に割り当てられる。停止ボタン１３２４は、使用中のライセンスの割り当てを解除するときに押下する。ボタンを押下すると対応する「formUser」のロールが「customer1@1002AA」５２３から割り当てを解除される。
【００５２】
使用済みライセンス数／利用可能ライセンス数欄１３１４では、使用済みライセンス数１３２５および利用可能ライセンス数１３２６が表示される。使用済みライセンス数１３２５は、認証サービス１０１の外部Ｉ／Ｆ４１４に対して、テナントＩＤ「1002AA」に含まれるユーザーで、「formUser」ロールが割当てられたユーザーが何人いるのかを問い合わせて表示する。認証サービス１０１はユーザ管理テーブル５０１を参照して当該テナントに属するユーザの内、当該ロールが割り当てられたユーザの数を応答する。利用可能ライセンス数１３２６は、ライセンス管理テーブル１１０１のライセンス数１１１５より取得して表示する。
【００５３】
このようにして表示されたユーザインターフェース上で、テナント管理者ユーザーがロールの割り当てまたは解除等の操作を行うと、たとえば操作対象のユーザーについて、そのユーザＩＤと、割り当てまたは解除されらロールＩＤ等をファイルとして保存し、ビジネス支援サービス１０２に送信する。それを受信したビジネス支援サービス１０２のユーザ管理モジュール７１２は、認証サービス１０１に対して、更新されたユーザのロールをユーザ管理テーブル５０１に反映するよう要求する。
【００５４】
＜図１４：ロール管理画面の生成手順＞
図１４は、ユーザー管理モジュール７１２が図１３の画面を生成する際の処理フローである。販売者ユーザーがＷｅｂブラウザ３０１にてユーザー管理モジュール７１２の図１３の画面にアクセスした場合、ユーザー管理モジュール７１２は図１４の手順で図１３の画面を生成し、Ｗｅｂを介してクライアントのＷｅｂブラウザ３０１に送信する。図１３の画面へのアクセスは、たとえばビジネス支援サービス１０２にアクセスすると、サービス選択画面が表示され、その中から既存のユーザに対するロールの設定を選択すると、ユーザ管理モジュール７１２が実行されて図１４の処理が開始される。図１４ではまず、ステップＳ１４０１にて、そのテナントに存在する製品毎に処理を行う。本例のライセンス管理テーブル１１０１では、テナントＩＤ「1002AA」には、製品ＩＤ「form」のライセンス１１２１と、製品ＩＤ「print」のライセンス１１２２の２個のライセンスが存在しており、その２製品分のループ処理が実行される。
【００５５】
画面生成処理Ｓ１４０２の画面生成処理Ｓ１４１１では、まずライセンス状態のチェックを行う。本処理はライセンス管理テーブル１１０１のライセンス状態１１１４が読まれ、チェックされる。
【００５６】
ステップＳ１４１１にて、ライセンス状態が「トライアル」もしくは「本ライセンス」の場合、ステップＳ１４１２にて、製品情報画面生成を行う。製品情報画面生成Ｓ１４１２では各サービスの表示欄１３０２や１３０３および、タイトル行の画面１３１１〜１３１４を生成する。ステップＳ１４１３では、ロール毎のループ処理を行う。製品ＩＤ１１３３とライセンス状態１１１４とライセンス種別１１３４から、定義されているロールＩＤ１１３１の全ロールに対して処理を行う。例えば、製品ＩＤ「form」でライセンス種別が「本ライセンス」の場合、製品ロール管理テーブル１１０２のロール「formAdmin」１１４１とロール「formUser」１１４３が処理すべき対象のロールとなり処理をおこなう。
【００５７】
ステップＳ１４１４では、ロール操作画面生成を行う。ステップＳ１４２１にて、処理中のロールがライセンスを消費するか否かのチェックを行う。本処理では製品ロール管理テーブル１１０２の消費１１３５の値を参照する。ライセンスを消費する場合は、ステップＳ１４２２へ、消費しない場合は、ステップＳ１４２８のライセンス割り当て画面生成へ進む。例えば、ロール１１４１の「formAdmin」はライセンスを消費せず、ロール１１４３の「formUser」はライセンスを消費する。ステップＳ１４２８で生成されるライセンス割当画面は図１３の表示欄１３０４に相当する。この欄では、ユーザー「customer1@1002AA」に「formAdminUser」ロールを割り当てることが可能なので、ロール割り当てボタン１３２３が表示される。
【００５８】
ステップＳ１４２２では、利用済みロールのカウントを行う。本処理では、処理中のロールのロールＩＤとテナントＩＤを認証サービス１０１の外部Ｉ／Ｆ４１４に問い合わせる。ステップＳ１４２３では、操作対象ユーザー１３０１に対象のロールが付与されているかをチェックする。付与されている場合には、ステップＳ１４２４のライセンス解除画面生成に進む。ステップＳ１４２４で生成されるライセンス解除画面は図１３のロール表示欄１３０５に相当する。ユーザー「customer1@1002AA」には「formUser」ロールが割り当てられているので、ロール解除ボタン１３２４が表示される。
【００５９】
ステップＳ１４２３にて、ロールが付与されていないと判定した場合、ステップＳ１４２５に進む。ステップＳ１４２５では利用済みロール数がライセンス数よりも小さいかをチェックする。本処理は、ステップＳ１４２２で取得した値と、ライセンス管理テーブル１１０１のライセンス数１１１５とを比較する。利用済みロール数が小さい場合ステップＳ１４２６のライセンス割当画面生成に進む。そうでない場合はステップＳ１４２７のライセンス上限エラー画面生成に進む。ステップＳ１４２６で生成されるライセンス割り当て画面は図１５（ａ）の画面１５０１に相当する。ロール割り当てボタン１５０２が有効化される。ステップＳ１４２７で生成されるライセンス上限エラー画面は図１５（ｂ）の１５１１に相当する。ユーザーにライセンスの上限までユーザーにロール割り当て済みであることを通知するため、メッセージ１５１２が表示される。また、これ以上ロール割り当てができないので、ロール割り当てボタン１５１３が無効化される。
【００６０】
ステップＳ１４１１の処理に戻る。ステップＳ１４１１にて、ライセンス状態が「本ライセンス移行処理中」の場合、ステップＳ１４１５以降の処理を行う。「本ライセンス移行処理中」の場合、バッチアプリケーション７０３にて各ユーザーに割り当てられたロールが更新される。よって、テナント内のユーザーには、本ライセンスとトライアルのロールが混在して付与されている状態になる。この状態では、現在割り当てられているロール数が正確に取得できず上限管理が難しい。よって、バッチ処理が終了するまでユーザー操作を制限する必要がある。そこでステップＳ１４１５にて、製品情報画面の生成を行う。本処理はステップＳ１４１２と同様である。さらにステップＳ１４１６にてライセンス移行中画面の生成を行う。ステップＳ１４１６で生成されるライセンス移行中画面は図１５（ｃ）に相当する。ライセンス移行処理中であることを通知するため、メッセージ１５２１を表示し、ユーザー操作を制限するため、ロール割り当てボタン１５２２、１５２３が無効化される。
【００６１】
ステップＳ１４１１の処理に戻る。ステップＳ１４１１にて、ライセンス状態が「その他」の場合、ステップＳ１４１７にて、非表示画面生成を行う。ステップＳ１４１７で生成されるライセンス移行中画面は図１５（ｄ）に相当する。本例では、帳票管理サービスのライセンス状態が「その他」であり、図１３の帳票管理サービス１３０２の表示がなくなり、プリントサービス１３０３のみが表示されている状態である。例え「無効」や「解約」のようにユーザーに割り当てるロールを提示する必要がない場合でだけではなく、「期限切れ処理中」や「無効化処理中」のように、まだユーザーのロールが更新されていない状態でも、顧客先管理者ユーザーにもう使えないことを認識させるために、非表示とする。
【００６２】
以上が、顧客先管理者ユーザーが一般ユーザーに対して製品のライセンスを割り当てる流れである。
【００６３】
最後に、ビジネス支援サービス１０２のバッチアプリケーション７０３の処理に関して説明する。バッチアプリケーション７０３はＷｅｂアプリケーション７１１とは非同期に動作しており、定期的に起動され必要な処理の有無のチェックと処理の実行を行う。
【００６４】
＜図１６Ａ、図１６Ｂ：ライセンス移行に伴うロールの移行処理＞
図１６Ａがバッチアプリケーション７０３の処理フローを示す図である。ステップＳ１６０１にてライセンス状態の確認を実施する。本処理はビジネス支援サービス１０２のバッチアプリケーション７０３が、ライセンス管理テーブル１１０１のライセンス状態１１１４を元にその実行開始の判断する。そのためたとえばバッチアプリケーション７０３は定期的にライセンスごとに順次着目してそのライセンス状態を参照する。
【００６５】
着目ライセンス状態が「本ライセンス移行中の場合」、本ライセンス移行７２１にて処理が実施される。ステップＳ１６１１では、ロールＩＤと関連ロールＩＤの取得処理を実施する。本処理は、現在処理中のライセンスの製品ＩＤを基に、製品ロール管理テーブル１１０２より、ライセンス種別が「トライアル」のロールＩＤと関連ロールＩＤを取得する。例えば、製品ＩＤ「form」が該当する場合、そのロールＩＤ「formTrialAdmin」１１４２と関連ロールＩＤ「formAdmin」、ロールＩＤ「formTrialUser」１１４４と関連ロールＩＤ「formUser」を取得する。次にステップＳ１６１２にて、認証サービス１０１の外部Ｉ／Ｆ４１１に対してロール移行処理要求を行う。認証サービス１０２に対して、ロール移行処理要求とともに、テナントＩＤ、移行元ロールとしてロールＩＤ、移行先ロールとして関連ロールＩＤを渡す。認証サービス１０２は、ユーザ管理テーブル５０１を操作し、テナント内の移行元ロールＩＤが割当てられているユーザーに対して、移行先ロールを割り当て、移行元ロールを削除する処理を行う。これにより、テナント内のロールが、トライアルに対応したロールから本ライセンスに対応したロールに置き換わる。ステップＳ１６１２にてロールの置き換え処理が終了したら、ステップＳ１６１３にて、ライセンス状態を「本ライセンス」に変更する。
【００６６】
図１６ＢのステップＳ１６６１が、ロール移行処理要求に応じて認証サービス１０２で実施されるロール移行処理のフローである。ステップＳ１６６２にて、テナント内の全ユーザーに対して順次着目してループ処理を行う。ステップＳ１６６３にて、移行元ロールを着目ユーザーが持っているかをチェックする。移行元ロールを持っている場合、ステップＳ１６６４に進み、指定された移行先ロールを付与するか、移行先ロールの指定がない場合は処理をスキップする。ステップＳ１６６３の処理後にステップＳ１６６５にて移行元ロールの削除を行う。例えば、ロールＩＤ「formTrialUser」を移行元ロールＩＤ、関連ロールID「formUser」を移行先ロールＩＤとして認証サービス１０２に渡すとする。その場合、認証サービス１０２では指定されたテナント内の全ユーザーのうち、移行元ロールＩＤ「formTrialUser」が付与されているユーザーに対して処理を行う。ステップＳ１６６４では移行先ロールＩＤ「formUser」の付与を行う。このタイミングでは、ユーザーはロールＩＤ「formUser」「formTrialUser」の両方のロールを持つため、「formUser」の権限でサービスが利用可能となる。この後ステップＳ１６６５で「formTrialUser」を削除することで、ロールの移行が完了する。なおロールの付与および削除は、ユーザ管理テーブル５０１の所持ロール５１６に、ロールＩＤの追加および削除を行うことで実現される。  ステップＳ１６０１に戻る。ステップＳ１６０１にて、ライセンス状態が「トライアル」の場合、期限切れ７２２にて処理が実施される。ステップＳ１６２１ではライセンスの終了日１１１７を過ぎているかをチェックする。終了日を過ぎている場合には、ステップＳ１６２２にて、ライセンス状態を「期限切れ処理中」に変更する。ステップＳ１６２３では、ロールＩＤ取得処理を実施する。本処理は、現在処理中のライセンスの製品ＩＤを元に、製品ロール管理テーブル１１０２より、ライセンス種別が「トライアル」のロールＩＤを取得する。例えば、製品ＩＤ「form」が該当する場合、ロールＩＤ「formTrialAdmin」１１４２と」、ロールＩＤ「formTrialUser」１１４４を取得する。次にステップＳ１６２４にて、認証サービス１０１の外部Ｉ／Ｆ４１１に対してロール移行処理要求を行う。認証サービス１０２に対して、ロール移行処理要求とともにテナントＩＤ、移行元ロールとしてロールＩＤ、移行先ロールを無指定で渡すことで、テナント内のトライアルに対応したロールが全て削除される。ステップＳ１６２４にてロールの置き換え処理が終了したら、ステップＳ１６２５にて、ライセンス状態を「期限切れ」、ライセンス数を「０」に変更する。
【００６７】
ステップＳ１６０１に戻る。ステップＳ１６０１にて、ライセンス状態が「無効化処理中」の場合、ライセンス無効７２３にて処理が実施される。ステップＳ１６３１では、ロールＩＤ、関連ロールＩＤ取得処理を実施する。本処理は、現在処理中のライセンスの製品ＩＤを元に、製品ロール管理テーブル１１０２より、ライセンス種別が「本ライセンス」のロールＩＤと関連ロールＩＤを取得する。例えば、製品ＩＤ「form」が該当する場合、１１４１」のロールＩＤ「formAdmin」と関連ロールＩＤ「formInvldAdmin」、１１４３のロールＩＤ「formUser」と関連ロールＩＤ「formInvldUser」を取得する。次にステップＳ１６３２にて、認証サービス１０１の外部Ｉ／Ｆ４１１に対してロール移行処理要求を行う。認証サービスに対して、テナントＩＤ、移行元ロールとしてロールＩＤ、移行先ロールとして関連ロールＩＤを渡すことで、テナント内の本ライセンスに対応したロールが全て無効ライセンスに対応したロールに置き換わる。無効ライセンスに対応したロールは、どのＵＲＬにもアクセスできないので、本処理によって、サービスにアクセスできなくなる。ステップＳ１６３２にてロールの置き換え処理が終了したら、ステップＳ１６３３にて、ライセンス状態を「無効」に変更する。
【００６８】
ステップＳ１６０１に戻る。ステップＳ１６０１にて、ライセンス状態が「有効化処理中」の場合、ライセンス有効７２４にて処理が実施される。ステップＳ１６４１では、ロールＩＤ、関連ロールＩＤ取得処理を実施する。本処理は、現在処理中のライセンスの製品ＩＤを元に、製品ロール管理テーブル１１０２より、ライセンス種別が「本ライセンス」のロールＩＤと関連ロールＩＤを取得する。例えば、製品ＩＤ「form」が該当する場合、１１４１」のロールＩＤ「formAdmin」と関連ロールＩＤ「formInvldAdmin」、１１４３のロールＩＤ「formUser」と関連ロールＩＤ「formInvldUser」を取得する。次にステップＳ１６４２にて、認証サービス１０１の外部Ｉ／Ｆ４１１に対してロール移行処理要求を行う。認証サービスに対して、テナントＩＤ、移行元ロールとして関連ロールＩＤ、移行先ロールとしてロールＩＤを渡すことで、テナント内の無効ライセンスに対応したロールが全て本ライセンスに対応したロールに置き換わる。ステップＳ１６４２にてロールの置き換え処理が終了したら、ステップＳ１６４３にて、ライセンス状態を「本ライセンス」に変更する。
【００６９】
ステップＳ１６０１に戻る。ステップＳ１６０１にて、ライセンス状態が「解約処理中」の場合、解約７２５にて処理が実施される。ステップＳ１６５１では、ロールＩＤ取得処理を実施する。本処理は、現在処理中のライセンスの製品ＩＤを元に、製品ロール管理テーブル１１０２より、ライセンス種別が「本ライセンス」の関連ロールＩＤを取得する。例えば、製品ＩＤ「form」が該当する場合、１１４１の関連ロールＩＤ「formInvldAdmin」と」、１１４３の関連ロールＩＤ「formInvldUser」を取得する。次にステップＳ１６５２にて、認証サービス１０１の外部Ｉ／Ｆ４１１に対してロール移行処理要求を行う。認証サービスに対して、テナントＩＤ、移行元ロールとして関連ロールＩＤ、移行先ロールを無指定で渡すことで、テナント内の無効ライセンスに対応したロールが全て削除される。ステップＳ１６５２にてロールの置き換え処理が終了したら、ステップＳ１６５３にて、ライセンス状態を「解約」、ライセンス数を「０」に変更する。
【００７０】
以上が、バッチアプリケーション７０３の処理の詳細である。本処理により、ライセンス状態の変更に伴う、一般ユーザーのアクセス権の変更処理が非同期処理にて実現される。以上、本発明を実施するための最良の形態の説明を終わる。
【００７１】
以上説明した実施形態によれば、各ユーザによるサービスへのアクセス権限を定義したロールを、ライセンスが付与されたテナント側の管理者により管理できる。本例ではロールはライセンスに対して管理者用と一般ユーザ用の２種類であったが、より詳細なアクセス権限を定義したロールを用意し、それをユーザに対して割り当てることもできる。このため、クラウドサービス側の販売者ユーザーは、契約に基づくテナントの定義（たとえばテナントごとのユーザやライセンスの内容など）を行えばよく、テナント内でのユーザの権限付与は、テナント側が主体となっておこなうことができる。
【００７２】
さらに、ライセンスの移行があった場合、それに伴う各ユーザに対するロールの移行は、ライセンスの移行とは非同期に実行されるために、ロールの移行に伴う処理負荷の増大及び処理の遅滞を防止できる。また、ライセンスの移行からロールの移行までの期間は、ライセンス移行前のロールと移行後のロールとが共存し、さらにロールの割り当てや削除等、ロールの移動は禁止されるために、ライセンスとロールの移行のずれにより生じる矛盾を防止できる。
【００７３】
［その他の実施形態］
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
0005814639.tif 000002
【図２】
0005814639.tif 000003
【図３】
0005814639.tif 000004
【図４】
0005814639.tif 000005
【図５】
0005814639.tif 000006
【図６】
0005814639.tif 000007
【図７】
0005814639.tif 000008
【図８】
0005814639.tif 000009
【図９】
0005814639.tif 000010
【図１０】
0005814639.tif 000011
【図１１】
0005814639.tif 000012
【図１２】
0005814639.tif 000013
【図１３】
0005814639.tif 000014
【図１４】
0005814639.tif 000015
【図１５】
0005814639.tif 000016
【図１６】
0005814639.tif 000017