説明

クラウドシステム、クラウドサービスのライセンス管理方法、およびプログラム

【課題】ライセンスの状態に応じた顧客先管理者によるアクセス権限の割り当てが困難であった。
【解決手段】ライセンスの状態に応じて、顧客先管理者に提示する画面を生成する。また、ライセンス状態に処理中ステータスを設け、非同期処理によるライセンスの状態変更時には顧客先管理者による操作を禁止する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、クラウドシステムおよびクラウドサービスのライセンス管理方法に関し、たとえばユーザーのライセンス情報を元に、各種クラウドサービスへのアクセス制御を実施するためのライセンス管理方法に関するものである。
【背景技術】
【0002】
近年インターネットにおいて、様々なクラウドサービスが提供されている。これらサービスには、IDおよびパスワードの維持管理、アクセス制御といったセキュリティ対策のための認証機構が備えられているのが一般であり、ユーザーは利用するサービスのライセンスを購入し、サービスの利用を行うことが一般的である。特許文献1には、様々なサービスの認証とライセンスの管理を行うサービスの運用方法が開示されている。このサービスでは、サービス毎に管理されたライセンス情報に基づきアクセス制御を行い、サービスの利用可否をサービス単位で制御することが行われている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2002−333928号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、従来技術では、ライセンス情報に基づくアクセス制御はクラウドサーバにより一元的に行われており、ライセンスを取得した顧客の管理者ユーザーが、そのライセンスに基づいて、サービスを利用する顧客の一般ユーザーに対してさらにアクセス権限を割り当てることは困難であった。例えば、サービスを試用するためのトライアルライセンスをサーバにより付与された顧客の管理者ユーザーは、そのトライアルライセンスをそのまま一般ユーザーに利用させることができる。それにより一般ユーザがトライアルライセンスに対してあたえられたアクセス権限をそのまま行使できる。しかしながら、管理者ユーザーが、一般ユーザに対して例えばユーザーごとに相異なるアクセス権限を割り当てることを望んでも、付与されたライセンスに付随する権限をユーザーごとに制御することは困難であった。
【0005】
また、様々なライセンスの種類が増えることで、トライアルライセンスから本ライセンスへといったライセンスの移行等、各種ライセンス移行処理をサーバが実施する必要が生じる。この際、ライセンスの移行に伴って各ユーザーに付与されているアクセス権限の更新を順次行う必要がある。しかし、クラウドサービスのように多数のユーザーが利用しているシステムではこれら処理は非常に時間がかかる。よって、ライセンスの移行処理と同期して各ユーザーのアクセス権限の更新処理を実施することが困難であった。また同様の理由から、ライセンスの停止や回復など、ライセンスの状態の変化に同期して、各ユーザーに割り当てたアクセス権限を更新することもまた困難であった。
【0006】
本発明は上記課題を解決することを目的としており、詳しくは、ライセンスを行使する顧客のユーザーごとにアクセス権限を割り当てることを目的とする。また、各種ライセンスの移行処理やライセンスの状態の変更に対して、ライセンスとアクセス権限との不整合を生ずることなく、ユーザーに割り当てたアクセス権限の更新を非同期処理にて実施することを目的とする。
【課題を解決するための手段】
【0007】
本発明は上記従来例に鑑みてなされたもので、以下の構成を備える。
【0008】
クライアントに対してサービスを提供する一又は複数のサーバであって、
サービス提供を契約したテナントと、該テナントに属するユーザと、ライセンスされたサービスにおける前記ユーザのアクセス権限を示すロールとを登録したユーザ管理テーブルを格納する格納手段と、
前記クライアントからの要求に応じて、前記ユーザに対するロールの設定のためのユーザインターフェースを提供するユーザインターフェース手段と、
前記ユーザインターフェースを介して前記ユーザに対して設定されたロールに従って前記ユーザ管理テーブルを更新する更新手段とを備える。
【発明の効果】
【0009】
本発明によると、ライセンスを供与された顧客の管理者ユーザーは、その管理下にある一般ユーザーに対してアクセス権を容易に設定することができる。さらに、ライセンスの状態の変更やライセンスの移行に応じて各ユーザーのアクセス権限を適時更新でき、ライセンスとの整合を維持できる。。
【図面の簡単な説明】
【0010】
【図1】本発明の実施形態におけるクラウドシステムの全体構成を示す図である。
【図2】本発明の実施形態におけるクライアント端末、サーバーコンピューターのハードウェア構成図である。
【図3】本発明の実施形態におけるクライアント端末のシステム構成図である。
【図4】本発明の実施形態における認証サービスのシステム構成図である。
【図5】本発明の実施形態における認証サービスで管理されるデーターの一例の図である。
【図6】本発明の実施形態における帳票サービスおよびプリントサービスのシステム構成図である。
【図7】本発明の実施形態におけるビジネス支援サービスのシステム構成図である。
【図8】本発明の実施形態におけるテナント構造を示す模式図である。
【図9】本発明の実施形態における販売者ユーザーがテナントに対してライセンスを設定する画面の図である。
【図10】本発明の実施形態におけるライセンス状態の状態遷移図である。
【図11】本発明の実施形態におけるビジネス支援サービスで管理されるデーターの一例の図である。
【図12】本発明の実施形態におけるビジネス支援サービスが図9の画面を生成する処理フローである。
【図13】本発明の実施形態における顧客先管理者ユーザーが一般ユーザーに対して、製品ロールの付与と解除を実施するための画面の図である
【図14】本発明の実施形態におけるビジネス支援サービスが図13の画面を生成する処理フローである。
【図15】本発明の実施形態における様々なライセンス状態に応じた図13の表示方法のバリエーションの図である。
【図16】本発明の実施形態におけるビジネス支援サービスのバッチ処理の処理フローである。
【発明を実施するための形態】
【0011】
以下、本発明を実施するための最良の形態について図面を用いて説明する。なお、本実施形態において「サービス」とは、クライアントに対して提供される機能のみならず、サーバーコンピューターが当該サービスを提供するために必要とする資源等を含む。たとえば「認証サービス」は、単にクライアントを認証する機能のみならず、認証サービスを提供するサーバーコンピューターが認証サービスを提供するために消費するハードウェア資源およびソフトウェア資源を含む。したがって、以下の説明においては、「サービス」は「サーバ」と読み替えることもできる。本実施形態ではサーバという用語を用いないのは、ひとつのサービスが一又は複数のサーバにより提供されることや、複数のサービスが一つのサーバにより提供されることがあるためであり、サービスという抽象的な定義がより適切なためである。またクラウドシステムとは、インターネットを介してクライアントがサーバからサービスの提供を受けるシステムであり、不特定のクライアントを対象としたクライアントサーバシステムとよぶこともできる。
【0012】
<図1:クラウドシステムの全体構成>
図1は、本発明の実施の形態に係るクラウドシステムの全体構成を示す図である。図1において、認証サービス101、ビジネス支援サービス102、帳票サービス103、プリントサービス(文書印刷サービス)104、クライアント端末106〜109は、ネットワーク110〜112を介して接続されている。図1において、クライアント端末106〜109は、複数台接続されていることを仮定している。ネットワーク110〜112は、例えば、インターネット等のLAN、WAN、電話回線、専用デジタル回線、ATMやフレームリレー回線、ケーブルテレビ回線、データー放送用無線回線等のそれぞれ別個のネットワークであり、これらのネットワークは互いに接続されている。ネットワーク110〜112は、データーの送受信が可能であればよい。一般的なクラウドサービスでは、ネットワーク110はインターネット、ネットワーク111、112は企業内ネットワークやサービスプロバイダーのネットワークとなる。認証サービス101、ビジネス支援サービス102、帳票サービス103、プリントサービス104は、一般的にサーバーコンピューター上にて実行されており、これらサービス群がユーザーに対してクラウドサービスを提供する。よって、本願発明では各サーバをサービスと記載する。クラウドサービスは、HTTPを介してクライアントからサーバに要求され、サーバからクライアントに提供される。このためにサーバでは、サービス提供を実施するためのアプリケーションプログラムを実行しており、特にクライアントからの要求に応じて提供するサービスに関わるアプリケーションプログラムを本例ではWebアプリケーションと呼ぶ。Webアプリケーションはさらにバックエンドにおかれたプログラムに処理の一部を任せる場合もある。各サーバはそれぞれ別個のあるいはいずれかのサーバに共通のローカルネットワークに接続されている場合もあるが、クライアントは各サービスをインターネットから提供されるものとして処理するので、サーバ側のネットワーク構成はどのようなものでもよい。クライアント端末106〜109は、例えば、デスクトップパソコン、ノートパソコン、モバイルパソコン、PDA(パーソナルデーターアシスタント)等から成るが、プログラムの実行環境が内蔵された携帯電話であってもよい。クライアント端末106〜109では、Webブラウザ(インターネットブラウザ、WWWブラウザ、World Wide Webの利用に供するブラウザ)等のプログラムを実行する環境が内蔵されている。
【0013】
<図2:クライアント端末およびサーバーコンピューターのハードウェア構成>
図2は、本発明の実施形態に係るクライアント端末106〜109、サービス群101〜104を実行するサーバーコンピューターのハードウェア構成図である。
【0014】
図2において、CPU202は装置全体の制御を行う。CPU202はハードディスク(HDD)205に格納されているアプリケーションプログラムやOS等を実行し、RAM203にプログラムの実行に必要な情報、ファイル等を一時的に格納する制御を行う。ROM204は記憶手段であり、内部には、基本I/Oプログラム等の各種データーを記憶する。RAM203は一時記憶手段であり、CPU202の主メモリ、ワークエリア等として機能する。HDD205は外部記憶手段の一つであり、大容量メモリとして機能し、Webブラウザ等のアプリケーションプログラム、サービス群のプログラム、OS、関連プログラム等を格納している。ディスプレイ206は表示手段であり、キーボード207から入力したコマンド等を表示したりするものである。インターフェース208は外部装置I/Fであり、プリンター、USB機器、周辺機器を接続する。キーボード207は指示入力手段である。システムバス201は、装置内におけるデーターの流れを司るものである。ネットワークインターフェースカード(NIC)209は、該インターフェース209、ネットワーク110〜112を介して外部装置とのデーターのやり取りを行う。なお、上記コンピュータの構成はその一例であり、図2の構成例に限定されるものではない。例えば、データーやプログラムの格納先は、その特徴に応じてROM204、RAM203、HDD205などで変更することも可能である。
【0015】
<図3:クライアント端末のシステム構成>
図3は、本発明の実施形態に係るクライアント端末106〜109のシステム構成図である。図3において、Webブラウザ301を利用し、サービス群101〜104が提供する各種Webアプリケーションへのリクエストの送信と、レスポンスの表示等を行う。クラウドサービスを利用するユーザーは本クライアント端末106〜109のWebブラウザ301を利用して、クラウドサービスを利用する。
【0016】
続いて、クラウドサービスを提供する認証サービス101、ビジネス支援サービス102、帳票サービス103、プリントサービス104の各サービスに関して説明する。
【0017】
初めに、図4、図5を用いて、認証サービス101に関して説明する。認証サービス101はクラウドサービス全体の認証・認可をつかさどるサービスである。 <図4:認証サービス101のシステム構成>
図4は、本発明の実施形態に係る認証サービス101のシステム構成図である。図4において、認証アプリケーション401が認証機能を提供するアプリケーションプログラム(すなわちWebアプリケーション)である。データーベース402は、ユーザーIDやパスワード、ユーザーの属性情報や認可情報等を保存し、また管理しており、認証アプリケーション401にて各種機能を実現するためのデーター管理を行う。
【0018】
ユーザー管理モジュール416ではクラウドサービスを利用可能なユーザーを管理する。各ユーザーの情報には、ユーザーID、パスワード、ユーザーの名前といった情報や、ユーザーがどのテナントに所属するかのテナントID、そのユーザーのロールを保持しているロール情報といった設定が、ユーザーごとに関連付けられて保持されている。ここでいうテナントとは、顧客がクラウドサービスを利用・管理する単位である。クラウドサービスでは、1つのシステムで複数のテナントを管理している。ユーザー企業を顧客として契約を行った場合、そのユーザー企業毎にテナントを結び付けて管理し、そのユーザーのデーターもテナント毎に管理される。たとえば顧客が企業であれば、その企業に属する個別のユーザーを、そのユーザーが所属する企業単位で管理することを、テナントで管理していると称する。もちろん顧客は企業とは限らず、そのほかの団体等であってもよい。いずれにしても、ライセンス契約ごとにユーザーを管理する単位をテナントと呼ぶ。このテナントの概念により、ユーザー企業はあたかも別々のシステム上で提供されている自分自身だけの為のサービスを利用しているのと同じでようにクラウドサービスを利用できる。
【0019】
ロール管理モジュール415ではクラウドサービスにユーザーがアクセスするための権限をロールという概念で管理する。たとえば本実施形態では、「テナント管理者ロール」というロールを定義し、そのロールがアクセスできるWebアプリケーションのURLが関連して設定される。テナント管理者ロールを持つユーザーをテナント管理者ユーザーと呼ぶ。これに対して、テナント管理者ロールを持たないユーザーを一般ユーザーと呼ぶ。
【0020】
認可モジュール413は、クラウドサービスを利用する各ユーザーがアクセスできるサービスの認可の機能を実現する。認可モジュール413は、ユーザーIDとそのユーザーがアクセスしたいWebアプリケーションのURL情報とを受け取る。認可モジュール413は、ユーザーIDに割り当てられているロールをユーザー管理モジュール416より取得する。さらには、ロール管理モジュール415よりそのロールがアクセス可能なURLの情報を取得する。認可モジュール413は、ユーザーがアクセスしたいURLとアクセス可能なURLの比較、即ちマッチングを行い、その結果に応じてアクセスの許可・不許可を決定する。実際にユーザーがWebアプリケーションにアクセスした際にどのように認可の機能が動作するかは、後述の帳票サービス103およびプリントサービス104の説明で詳細を記載する。
【0021】
ログインモジュール411は、ユーザーがクラウドサービスにログイン機能を提供するためのWebアプリケーションである。クライアント端末106〜109のWebブラウザ301からのリクエストを受信したログインモジュール411は、ユーザーがWebブラウザに入力した認証情報を元にログイン処理を実行する。
【0022】
ログイン処理では、ログインモジュール411が認証モジュール412に対して、ユーザーが入力した認証情報を通知する。認証モジュール412は通知されたユーザーの認証情報をデーターベースに登録されているユーザーアカウント、パスワードと照合して認証処理を実施し、ログインモジュール411にその結果を返す。ログインモジュール411は、認証結果を表示するWeb画面を生成してWebブラウザ301にレスポンスを送信する。実際にユーザーがWebアプリケーションにアクセスした際にどのようにログインの機能が動作するかは、後述の帳票サービス103およびプリントサービス104の説明で詳細を記載する。
【0023】
外部I/Fモジュール414は後述する認証エージェント601、701からの処理依頼や、ビジネス支援サービス102からの処理依頼を処理するためのインターフェイスであり、認証サービスの機能(図4の各モジュール)を外部から呼び出すためのものである。
【0024】
<図5:認証サービスデーターベースで管理されているデーターの例>
図5は、認証サービス101のデーターベース(認証サービスデーターベース)402で管理されているデーターの一例である。図5において、ユーザー管理テーブル501は、各種ユーザー情報を管理している。ユーザーID511はユーザーをシステムで一意に識別する情報であり、ログイン時に入力するIDである。パスワード512はユーザーがシステムにログインする際に利用するパスワードの情報である。パスワードは一般的には、パスワード文字列をそのまま格納するのではなく、ハッシュ化して格納する等、セキュリティ対策されることが一般的である。テナントID513はユーザーが所属するテナントを一意に識別する情報である。姓514、名515はユーザーが任意に入力する情報でユーザーの名前を管理できる。所持ロール516はユーザーに割り当てられているロールID一覧である。
【0025】
アクセス権限管理テーブル502は、各ロールがどのURLにアクセス権限を持っているのかを管理する。ロールID531はロールをシステムで一意に識別する情報である。アクセス許可URLはそのロールがユーザーに所持されている場合にユーザーがアクセスできるURLの情報である。たとえば、レコード541はロールID「distributor」を持つユーザーは、「https://biz/tenantmanagement/*」にアクセス可能であることを示す。認証サービスデーターベースの各レコードは、たとえばクラウドサービスの販売者ユーザーが、各テナントとの契約内容に応じて登録すればよい。ただし、いったん登録された各ユーザーのロールに関しては、当該ユーザーが属するテナントの管理者ユーザーにより、図7に示すユーザー管理モジュールを介して更新することを許してもよい。
【0026】
<図6:帳票サービス103およびプリントサービス104>
次に、帳票サービス103およびプリントサービス104の概要に関して図6のシステム構成図で説明を行う。帳票サービス103、プリントサービス104は実際に顧客向けに販売するサービスであり、プリント機能や、帳票生成機能を顧客に提供する。
【0027】
図6において、Webアプリケーション602はクライアント端末106〜109のWebブラウザ301からのリクエストを受信する。リクエストを受信したWebアプリケーション602はそのリクエストの内容に応じた処理をバックエンド603に依頼する。バックエンド603はサービスを実現するためのプリント実行や帳票生成等の機能を提供する。バックエンド603はWebアプリケーション602から依頼された処理を実行しその結果をWebアプリケーション602に返す。Webアプリケーション602は、バックエンド603の処理結果を基にWeb画面を生成し、Webブラウザ301にレスポンスを送信する。認証エージェント601は、Webブラウザ301からWebアプリケーション602へのリクエストに割り込みを行い、認証サービス101と連携することで、ユーザーの認証・認可処理を実施する。認証エージェント601はリクエストともにクライアントから受信した情報、たとえばユーザIDやパスワード等の認証情報を認証サービス101の外部I/F414に送信する、認証サービス101は認証411と認可413の機能にて認証・認可処理を行い、その結果を認証エージェント601へ応答する。認証エージェントは認証・認可処理が正常に終了した場合、すなわちユーザが認証された場合にはリクエストをWebアプリケーション601へ送信し、認証・認可処理が失敗した場合、すなわちユーザが認証されなかった場合にはエラー画面を表示する。以上の処理によって、帳票サービス103およびプリントサービス104の利用制御を行っている。
【0028】
<図7:ビジネス支援サービス102>
次に、ビジネス支援サービス102に関して、図7のシステム構成図で説明を行う。ビジネス支援サービス102は、ライセンス管理やユーザー管理といったビジネスインフラを提供するためのサービスである。図7において、Webアプリケーション702はクライアント端末106〜109のWebブラウザ301からのリクエストを受信する。リクエストを受信したWebアプリケーション702はそのリクエストの内容に応じた処理を実施し、処理結果となるWeb画面を生成し、Webブラウザ301にレスポンスを送信する。Webアプリケーション702はテナント管理711、ユーザー管理712の機能を提供する。各機能に関しては後述する。バッチアプリケーション703はバックエンドで動作する各種機能を実現するアプリケーション群であり、本ライセンス移行721、期限切れ722、ライセンス無効化723、ライセンス有効化724、解約725の機能を実現する。各機能に関しては後述する。データーベース704はWebアプリケーション702やバッチアプリケーション703で利用するデーターを管理している。本例では、図8に示すテナント情報もこのデーターベース704で管理される。認証エージェント701は認証エージェント601と同様で、認証サービス101と連携し、ビジネス支援サービスのWebアプリケーション702のアクセス制御を行っている。
【0029】
<図8:テナント情報の構造>
図8は、本発明の実施形態に係る、テナント情報の構造を示す模式図である。図8において、テナント801の単位で顧客のクラウドサービスの利用を管理する。よって、テナント801は顧客ごとに存在する。テナント801には、ユーザー802が所属しており、各ユーザーはテナント801内で一意に識別される。テナント801は複数のライセンス情報を保持する。ライセンス情報1つに対してサービス1つが紐づけられるため、本実施形態では、帳票サービス103用のライセンスは、帳票サービスライセンス情報803が管理する。また、プリントサービス104用のライセンスは、プリントサービスライセンス情報804が管理する。各ライセンス情報にはそのサービスを最大何人のユーザーが利用できるかのライセンス数の情報や、ライセンスの種別や有効期限等が管理されている。テナント情報は、たとえばテナントIDに、当該テナントに属するユーザーのユーザーIDと、当該テナントに対して付与されたライセンス情報とが関連付けられた情報である。さらに、ユーザーIDに対して、当該テナントに対して付与されているライセンスのライセンス情報を関連付けることもできる。テナント情報は、クラウドサービスの販売者ユーザーにより、テナント契約にともなって作成され、ビジネス支援サービス102のデーターベース704に登録される。ただし、本実施形態においては、テナント情報がいったん登録されたあとは、テナントに属するユーザーやライセンスの変更に関しては、テナント管理者ユーザーがテナント管理モジュール711を介しておこなうことができる。このようにテナントの管理者ユーザーは、ビジネス支援サービスを介して、ライセンスやユーザー、ユーザーのアクセス権限の追加や削除および変更といった管理をおこなうため、テナント情報が作成された時点で、当該テナントの管理者(テナント管理者ユーザー)に対しては、ビジネス支援サービスへのアクセス権限が付与される。ビジネス支援サービスへのアクセス権限はその他のライセンスと同様にライセンス情報で管理してもよいが、ライセンス情報なしでアクセス権限を認めてもよい。テナント情報が更新され、それに応じてユーザーのアクセス権限が変更されれば、その変更は認証サービスデーターベースに反映される。認証サービスデーターベースへの反映は不図示のプログラムを介して行ってもよいし、認証エージェントを介して行ってもよい。
【0030】
次に、クラウドサービスの利用開始手順を順に説明する。まずは、図9から図12を用いて、クラウドサービスを顧客に販売する販売者ユーザーが、顧客向けのテナントの作成、テナント管理者用のユーザーアカウントの作成、およびテナントへのライセンス設定を行うための手順に関して説明する。
【0031】
販売者ユーザーはクラウドサービスにログインし、ビジネス支援サービス102のテナント管理モジュール711にて顧客用のテナント情報の作成とテナント管理者用のユーザーアカウントの作成を行う。初期に作成されるテナント情報には、テナントIDとそのテナントのテナント管理者ユーザーのユーザーIDが含まれる。テナントに属するそのほかの一般ユーザーやサービスのライセンスは、テナント情報を作成した後、そのテナントに関連付けて登録することができる。テナント管理者ユーザーは、ライセンスの設定を行うために、テナント情報の作成に伴って、そのテナントのテナント管理者ユーザーに対してビジネス支援サービスへのアクセスを許可するライセンスは付与される。またテナントに属するテナント管理者ユーザーに対しては、ライセンス情報の登録がされていなくとも、ビジネス支援サービスへのアクセスを許可するようにしてもよい。
【0032】
<図9:ライセンス設定画面>
図9は、販売者ユーザーがテナントに対してライセンスを設定する画面の図である。本画面は、たとえば販売者ユーザーがその端末を介して生成したテナント情報に基づいて、テナント管理モジュール711にて生成される。そして、販売者ユーザーが利用しているクライアント端末のWebブラウザ301からの要求に応じて、要求元のクライアント端末に表示される。ライセンス状態901、902はそれぞれ帳票サービス103とプリントサービス104の、当該テナントに対する現在のライセンス状態を表している。サービス名911はサービスの名称を表示する。ライセンス状態912は現在のライセンスの状態を表示する。図9は初期状態の例であり、いずれのライセンスも未契約状態にある。ライセンス状態の詳細は後述する。ライセンス数913は、そのサービスを利用できるユーザーの最大数であり、使用中ライセンス数914は、テナント内に、現在のライセンスに対応したロールが割り当てられているユーザーが何人存在するかを表示する。スケジュール915はトライアルや本契約の開始日・終了日を表示する。ライセンス変更欄903、904は、ライセンス状態を変更するためのユーザーインターフェースである。ライセンス状態912の変更やライセンス数913の変更、トライアル終了日のスケジュール915の設定が可能である。このユーザーインターフェースを介してライセンスが変更されると、その変更はデーターベース704に反映される。
【0033】
<図10:ライセンスの状態>
図10はライセンス状態の状態遷移図である。図10を基にライセンス状態の詳細の説明を行う。ライセンス状態は各ライセンス情報に関連付けて管理される情報であり、ライセンス状態が遷移するごとに遷移後の状態に更新される。未契約1001はライセンスを契約していない状態である。例えば新規のテナントに対して新規にライセンス情報が作成された場合、そのライセンスの初期状態は未契約1001となる。未契約状態1001では、そのライセンスに対応したサービスは利用できない。また、未契約状態1001の場合、販売者ユーザーは、図9の画面にて、トライアル1002もしくは、本ライセンス状態1003にライセンス状態を変更することが可能となる。トライアル状態1002に変更する場合は、ライセンス数913とトライアル終了日のスケジュール915を設定する必要がある。本ライセンス状態1003に変更する場合は、ランセンス数913を設定する必要がある。
【0034】
トライアル状態1002は、製品のライセンスを試験的に利用する場合の状態である。試験的にサービスを利用する場合、利用できる期間が定められている他、利用するサービスの一部機能が制限されている可能性もある。例えば、帳票サービスの場合、トライアルのロールが割り当てられたユーザーは、帳票のサーバーへの保存が利用できない。プリントサービスの場合、再印刷が利用できない。または、帳票サービスを30日間しか利用できない等の制限である。
【0035】
本ライセンス状態1003は、製品のライセンスを正式に購入し利用する場合の状態である。トライアル状態1002から本ライセンス状態1003へ移行する場合、本ライセンス移行処理中状態1011を経て、状態移行する。ライセンスの移行は、トライアル状態1002のときに、販売者ユーザーが図9の画面にて指示する。販売者ユーザーが、ライセンス状態を本ライセンス状態1003への変更として指示すると、本ライセンス移行処理中状態1011に変化する。トライアル1002から本ライセンス状態1003への移行に関する処理の詳細は後述する。
【0036】
期限切れ状態1004は、トライアル状態1002の有効期間が終了した状態である。トライアル終了日を過ぎた場合であり、顧客はそのサービスを利用できない。トライアル状態1002から期限切れ状態1004へ移行する場合、期限切れ処理中状態1012の状態をへて状態が変化する。ライセンスの移行は、バッチアプリケーション603の期限切れ処理622の機能によって実行される。トライアル状態1002から期限切れ状態1004への移行に関する処理の詳細は後述する。
【0037】
無効状態1005の状態は、本ライセンス状態1003の利用を強制的に中断するための状態である。本ライセンス状態1003から無効状態1005へ移行する場合、無効化処理中状態1013を経て、状態移行する。ライセンスの移行は、本ライセンス状態1003のときに、販売者ユーザーが図9の画面にて指示する。販売者ユーザーがライセンス状態を無効状態1005への変更を指示すると、無効化処理中状態1013に変化する。本ライセンス状態1003から無効状態1005への移行に関する処理の詳細は後述する。また、無効状態1005から本ライセンス状態1003へ移行する場合、有効化処理中状態1014をへて状態が変化する。ライセンスの移行は、無効状態1005のときに、販売者ユーザーが図9の画面にて実施する。販売者ユーザーがライセンスの状態を本ライセンス状態1003へ変更を指示すると有効化処理中状態1014に変化する。無効状態1005から本ライセンス状態1003への移行に関する処理の詳細は後述する。
【0038】
解約状態1006は、契約を終了しライセンスを解約した場合の状態であり、顧客はそのサービスを利用できない。無効状態1005から解約状態1006へ移行する場合、解約処理中状態1015を経て、状態が移行する。ライセンスの移行は、無効状態1005のときに、販売者ユーザーが図9の画面にて実施する。販売者ユーザーがライセンス状態を解約状態1006への変更を指示すると解約処理中状態1015に変化する。無効状態1005から解約状態1006への移行に関する処理の詳細は後述する。期限切れ状態1004から解約状態1006へ移行する場合、即座に状態が変化する。ライセンスの移行は、期限切れ状態1005の状態のときに、販売者ユーザーが図9の画面にて実施する。販売者ユーザーがライセンス状態を解約状態1006への変更を指示すると解約状態1006に移行する。
【0039】
解約状態1006から本ライセンス状態1003へ移行する場合、即座に状態が変化する。ライセンスの移行は、解約状態1006のときに、販売者ユーザーが図9の画面にて実施する。販売者ユーザーがライセンス状態を本ライセンス状態1003への変更を指示すると本ライセンス状態1003に移行する。
【0040】
移行後のライセンス状態は、データーベース704に登録されたライセンス情報に反映される。
【0041】
以上説明したように販売者ユーザーが画面9を操作する際、操作対象のライセンス状態に応じて画面が切り替わる。また、ライセンス状態の変更によっては、即座に状態が変更されるのではなく、処理中状態1011~1015のライセンス状態に設定され非同期によるライセンス情報変更処理の準備がなされる。この非同期にライセンス情報変更処理が実施されるのは、ライセンスの状態変化に応じて、ユーザーに割り当てられているアクセス権情報の更新を行う必要があるためである。この、アクセス権情報の更新を行うためには、テナント内の全ユーザーに対して順次処理していく必要があり非常に時間がかかる。
【0042】
<図11:データーベース704で管理されるデーター例>
図11は、ビジネス支援サービス102のデーターベース704にて管理されている、テナントのライセンス情報や製品のライセンス状態とロールの関連を示すデーターの一例を示す図である。図11において、ライセンス管理テーブル1101は、ライセンスごとにサービスやテナント等を管理するためのテーブルである。ライセンスID1111にて、そのライセンスがシステムで一意に特定される。製品ID1112は製品を一意に識別するIDで、本例ではサービスのIDである。図11では、帳票サービス103の製品ID1112は「form」とし、プリントサービス104の製品ID1112を「print」と定義している。テナントID1113は、そのライセンスがどのテナントのものかを特定する情報である。ライセンス状態1114はライセンスの状態を示す。図10で説明したライセンス状態1001からライセンス状態1011のいずれかの値が記録される。ライセンス数1115はライセンスの上限数であり、ライセンス数913に表示される値と同様である。開始日1116はそのライセンスが利用開始された日付けあるいは日時が記録される。終了日1117はトライアルライセンス設定時に入力するトライアル終了日もしくは、解約された日時が記録される。
【0043】
製品ロール管理テーブル1102は、サービスごとのロールを定義するテーブルである。ロールID1131はロールを一意に識別する情報であり、認証サービス101のロール管理テーブル501で定義されるロールID531と同様である。製品ID1133は、そのロールがどのサービスの為のものか示す情報である。本例のレコード1141では、「formAdmin」ロールは、「form」製品のライセンスであると定義されている。ライセンス種別はそのロールが「本ライセンス」のときのロールなのか、「トライアル」のときのロールなのかを示す。本例のレコード1141とレコード1142ではそれぞれ、「formAdmin」ロールは「本ライセンス」のロールであり、「formTrialAdmin」ロールは「トライアル」のロールであると定義されている。関連ロールID1132は、ロールIDに関連したロールIDを定義している。関連ロールID1132は、ライセンス種別1134が「本ライセンス」の場合、ライセンス種別が「無効」の場合のロールIDが設定され、ライセンス種別1134が「トライアル」の場合、ライセンス種別が「本ライセンス」のロールIDが設定される。本例のレコード1141では、本ライセンスのロール「formAdmin」に関連するロールは無効のロール「formInvldAdmin」であり、レコード1142ではトライアルのロール「formTrialAdmin」に関連するロールは本ライセンスのロール「formAdmin」である。消費欄1135はライセンス数管理を行うか否かを定義する。消費欄1135が「0」の場合、ライセンス数管理を行わないので、テナント管理者ユーザーは、一般ユーザに対して上限なくロールを付与することが可能である。消費1135が「1」の場合、ライセンス数管理が行われるので、テナント管理者ユーザーはライセンス数1115で定義された上限までしかロールを付与することができない。本例ではレコード1141の「formAdmin」ロールではライセンス数管理されず、レコード1143の「formUser」ロールではライセンス数管理される。
【0044】
<図12:テナント管理モジュールによるライセンス設定画面の生成処理>
図12は、テナント管理モジュール711が図9の画面を生成する際の処理フローである。販売者ユーザーがWebブラウザ301にてテナント管理711の図9画面にアクセスした場合、テナント管理モジュール711は図12の手順で図9の画面を生成し、Webを介してクライアントのWebブラウザ301に送信する。図9の画面へのアクセスは、たとえばビジネス支援サービス102にアクセスすると、サービス選択画面が表示され、その中から既存のテナントのライセンスの設定を選択すると、テナント管理モジュール711が実行されて図12の処理が開始される。図12ではまず、ステップS1201にて、選択したテナントのライセンス状態をチェックする。本処理ではライセンス管理テーブル1101より、該当するテナントIDに対して設定されたすべてのライセンスを対象としてライセンス状態1114の情報を読み込む。ライセンスが複数ある場合には、各ライセンスに順次着目して読み込む。着目ライセンス状態1114が「未契約」の場合、ステップS1202に進む。ステップS1202では、ライセンス状態912の選択肢903、904にて、「トライアル」または「本ライセンス」が設定できるよう選択肢を生成する。着目ライセンス状態1114が「トライアル」、もしくは「解約」の場合、ステップS1203に進む。ステップS1203では、ライセンス状態912の選択肢903、904にて、「本ライセンス」が設定できるよう選択肢を生成する。着目ライセンス状態1114が「本ライセンス」の場合ステップS1204に進む。ステップS1204では、903、904のライセンス状態912の選択肢にて、「無効」が設定できるよう選択肢を生成する。着目ライセンス状態1114が「無効」の場合ステップS1205に進む。ステップS1205では、ライセンス状態912の選択肢903、904にて、「本ライセンス」および「解約」が設定できるよう選択肢を生成する。着目ライセンス状態1114が「期限切れ」の場合ステップS1206に進む。ステップS1206では、ライセンス状態912の選択肢903、904にて、「本ライセンス」および「解約」が設定できるよう選択肢を生成する。着目ライセンス状態1114がその他の処理中状態の場合ステップS1207に進む。ステップS1207では、ライセンス状態を変更する機能をすべて無効化し、ライセンス状態の変更ができないように生成する。本処理により、ライセンス状態が処理中状態の場合、ライセンス状態の変更ができないようにしている。以上の処理を、選択されたテナントに付与されているライセンスすべてについて行う。
【0045】
作成された図9の画面は、WebサーバおよびWebブラウザを介して販売者ユーザの端末に表示される。販売者ユーザーは図9の画面において、選択したテナントの各ライセンスについて必要な設定値を入力する。入力された設定値はWebを介してビジネス支援サービス102のテナント管理モジュール711に送信され、データーベース704に反映される。
【0046】
以上、図9から図12にて、販売者ユーザーが顧客向けのテナント情報を作成し、テナント管理者用のユーザーアカウントの作成、テナントへのライセンス設定を実施する手順に関して説明した。引き続き、テナント管理者ユーザーがユーザーに対して製品のライセンスを割り当てる流れを図13から図15を用いて説明する。
【0047】
テナント管理者ユーザーは、クラウドサービスにログインし、ビジネス支援サービス102のユーザー管理712にて自身が所属するテナントに一般ユーザーのアカウントを作成する。テナント管理者ユーザーは作成した一般ユーザーに対して製品ロールを割り当てることで、一般ユーザーは該当する製品を利用可能となる。
【0048】
<図13:テナント管理者ユーザーによる一般ユーザーのロールの付与と解除>
図13は、テナント管理者ユーザーが一般ユーザーに対して、製品ロールの付与と解除を実施するための画面の図である。本画面は、テナント管理者ユーザーによるWebを介したユーザロールの管理画面の要求に応じてユーザー管理モジュール712にて生成され、テナント管理者ユーザーが利用しているクライアント端末106〜109のWebブラウザ301に表示される。本図は、図5、図11で示したデーター例に基づいた画面表示を行った例である。 ユーザーID1301は、現在操作対象となっている一般ユーザーのユーザーIDである。本例では、「customer1@1002AA」523に対して操作を行っている。ここで1002AAはテナントIDであり、customer1はそのテナントに属するユーザーIDである。操作対象のユーザーは、たとえば図13の画面に先立って当該テナントに属するユーザIDのリストの画面をユーザー管理モジュール712が生成してそれをクライアントのWebブラウザで表示させ、その中で選択されたユーザを対象にするなどして決定される。
【0049】
画面1302は帳票サービスに対する設定画面であり、画面1303はプリントサービスに対する設定画面である。本例では、テナント「1002AA」が対象なので、ライセンス管理テーブル1101のレコード1121、1122より、このテナントが「本ライセンス」および「トライアル」のライセンスを保持しており、それぞれのライセンスに対するロール割り当て機能が有効として表示される。
【0050】
ロール1311には、選択されたテナントに関連付けられたライセンスに係るサービスに対するロールすべてが表示される。本例では帳票サービスの現在のライセンス状態にに係るすべてのロールを表示する。本例では、ライセンス管理テーブル1101のレコード1121の情報より、テナント「1002AA」の製品ID「form」はライセンス状態が「本ライセンス」である。そのため、図11の製品ロール管理テーブル1102より、製品ID「form」でライセンス種別が「本ライセンス」であるレコード1141とレコード1143の情報より、表示名1136を利用して表示を行う。ステータス1313には、例えば「未使用」1321、あるいは「使用中」1322のように、現在そのライセンスに対応したロールがユーザーに割当てられているか否かを表示する。図5のユーザ管理テーブル501によれば、ユーザ「customer1@1002AA」523の所持ロール516では、「formUser」のロールが割当てられている。そこで、ロール「formUser」の表示名を「一般」、そのステータスとして「使用中」1322と表示する。
【0051】
開始ボタン1323は未使用のライセンスを割り当てるときに押下する。ボタンを押下すると対応するロール「formAdmin」がユーザー「customer1@1002AA」523に割り当てられる。停止ボタン1324は、使用中のライセンスの割り当てを解除するときに押下する。ボタンを押下すると対応する「formUser」のロールが「customer1@1002AA」523から割り当てを解除される。
【0052】
使用済みライセンス数/利用可能ライセンス数欄1314では、使用済みライセンス数1325および利用可能ライセンス数1326が表示される。使用済みライセンス数1325は、認証サービス101の外部I/F414に対して、テナントID「1002AA」に含まれるユーザーで、「formUser」ロールが割当てられたユーザーが何人いるのかを問い合わせて表示する。認証サービス101はユーザ管理テーブル501を参照して当該テナントに属するユーザの内、当該ロールが割り当てられたユーザの数を応答する。利用可能ライセンス数1326は、ライセンス管理テーブル1101のライセンス数1115より取得して表示する。
【0053】
このようにして表示されたユーザインターフェース上で、テナント管理者ユーザーがロールの割り当てまたは解除等の操作を行うと、たとえば操作対象のユーザーについて、そのユーザIDと、割り当てまたは解除されらロールID等をファイルとして保存し、ビジネス支援サービス102に送信する。それを受信したビジネス支援サービス102のユーザ管理モジュール712は、認証サービス101に対して、更新されたユーザのロールをユーザ管理テーブル501に反映するよう要求する。
【0054】
<図14:ロール管理画面の生成手順>
図14は、ユーザー管理モジュール712が図13の画面を生成する際の処理フローである。販売者ユーザーがWebブラウザ301にてユーザー管理モジュール712の図13の画面にアクセスした場合、ユーザー管理モジュール712は図14の手順で図13の画面を生成し、Webを介してクライアントのWebブラウザ301に送信する。図13の画面へのアクセスは、たとえばビジネス支援サービス102にアクセスすると、サービス選択画面が表示され、その中から既存のユーザに対するロールの設定を選択すると、ユーザ管理モジュール712が実行されて図14の処理が開始される。図14ではまず、ステップS1401にて、そのテナントに存在する製品毎に処理を行う。本例のライセンス管理テーブル1101では、テナントID「1002AA」には、製品ID「form」のライセンス1121と、製品ID「print」のライセンス1122の2個のライセンスが存在しており、その2製品分のループ処理が実行される。
【0055】
画面生成処理S1402の画面生成処理S1411では、まずライセンス状態のチェックを行う。本処理はライセンス管理テーブル1101のライセンス状態1114が読まれ、チェックされる。
【0056】
ステップS1411にて、ライセンス状態が「トライアル」もしくは「本ライセンス」の場合、ステップS1412にて、製品情報画面生成を行う。製品情報画面生成S1412では各サービスの表示欄1302や1303および、タイトル行の画面1311〜1314を生成する。ステップS1413では、ロール毎のループ処理を行う。製品ID1133とライセンス状態1114とライセンス種別1134から、定義されているロールID1131の全ロールに対して処理を行う。例えば、製品ID「form」でライセンス種別が「本ライセンス」の場合、製品ロール管理テーブル1102のロール「formAdmin」1141とロール「formUser」1143が処理すべき対象のロールとなり処理をおこなう。
【0057】
ステップS1414では、ロール操作画面生成を行う。ステップS1421にて、処理中のロールがライセンスを消費するか否かのチェックを行う。本処理では製品ロール管理テーブル1102の消費1135の値を参照する。ライセンスを消費する場合は、ステップS1422へ、消費しない場合は、ステップS1428のライセンス割り当て画面生成へ進む。例えば、ロール1141の「formAdmin」はライセンスを消費せず、ロール1143の「formUser」はライセンスを消費する。ステップS1428で生成されるライセンス割当画面は図13の表示欄1304に相当する。この欄では、ユーザー「customer1@1002AA」に「formAdminUser」ロールを割り当てることが可能なので、ロール割り当てボタン1323が表示される。
【0058】
ステップS1422では、利用済みロールのカウントを行う。本処理では、処理中のロールのロールIDとテナントIDを認証サービス101の外部I/F414に問い合わせる。ステップS1423では、操作対象ユーザー1301に対象のロールが付与されているかをチェックする。付与されている場合には、ステップS1424のライセンス解除画面生成に進む。ステップS1424で生成されるライセンス解除画面は図13のロール表示欄1305に相当する。ユーザー「customer1@1002AA」には「formUser」ロールが割り当てられているので、ロール解除ボタン1324が表示される。
【0059】
ステップS1423にて、ロールが付与されていないと判定した場合、ステップS1425に進む。ステップS1425では利用済みロール数がライセンス数よりも小さいかをチェックする。本処理は、ステップS1422で取得した値と、ライセンス管理テーブル1101のライセンス数1115とを比較する。利用済みロール数が小さい場合ステップS1426のライセンス割当画面生成に進む。そうでない場合はステップS1427のライセンス上限エラー画面生成に進む。ステップS1426で生成されるライセンス割り当て画面は図15(a)の画面1501に相当する。ロール割り当てボタン1502が有効化される。ステップS1427で生成されるライセンス上限エラー画面は図15(b)の1511に相当する。ユーザーにライセンスの上限までユーザーにロール割り当て済みであることを通知するため、メッセージ1512が表示される。また、これ以上ロール割り当てができないので、ロール割り当てボタン1513が無効化される。
【0060】
ステップS1411の処理に戻る。ステップS1411にて、ライセンス状態が「本ライセンス移行処理中」の場合、ステップS1415以降の処理を行う。「本ライセンス移行処理中」の場合、バッチアプリケーション703にて各ユーザーに割り当てられたロールが更新される。よって、テナント内のユーザーには、本ライセンスとトライアルのロールが混在して付与されている状態になる。この状態では、現在割り当てられているロール数が正確に取得できず上限管理が難しい。よって、バッチ処理が終了するまでユーザー操作を制限する必要がある。そこでステップS1415にて、製品情報画面の生成を行う。本処理はステップS1412と同様である。さらにステップS1416にてライセンス移行中画面の生成を行う。ステップS1416で生成されるライセンス移行中画面は図15(c)に相当する。ライセンス移行処理中であることを通知するため、メッセージ1521を表示し、ユーザー操作を制限するため、ロール割り当てボタン1522、1523が無効化される。
【0061】
ステップS1411の処理に戻る。ステップS1411にて、ライセンス状態が「その他」の場合、ステップS1417にて、非表示画面生成を行う。ステップS1417で生成されるライセンス移行中画面は図15(d)に相当する。本例では、帳票管理サービスのライセンス状態が「その他」であり、図13の帳票管理サービス1302の表示がなくなり、プリントサービス1303のみが表示されている状態である。例え「無効」や「解約」のようにユーザーに割り当てるロールを提示する必要がない場合でだけではなく、「期限切れ処理中」や「無効化処理中」のように、まだユーザーのロールが更新されていない状態でも、顧客先管理者ユーザーにもう使えないことを認識させるために、非表示とする。
【0062】
以上が、顧客先管理者ユーザーが一般ユーザーに対して製品のライセンスを割り当てる流れである。
【0063】
最後に、ビジネス支援サービス102のバッチアプリケーション703の処理に関して説明する。バッチアプリケーション703はWebアプリケーション711とは非同期に動作しており、定期的に起動され必要な処理の有無のチェックと処理の実行を行う。
【0064】
<図16A、図16B:ライセンス移行に伴うロールの移行処理>
図16Aがバッチアプリケーション703の処理フローを示す図である。ステップS1601にてライセンス状態の確認を実施する。本処理はビジネス支援サービス102のバッチアプリケーション703が、ライセンス管理テーブル1101のライセンス状態1114を元にその実行開始の判断する。そのためたとえばバッチアプリケーション703は定期的にライセンスごとに順次着目してそのライセンス状態を参照する。
【0065】
着目ライセンス状態が「本ライセンス移行中の場合」、本ライセンス移行721にて処理が実施される。ステップS1611では、ロールIDと関連ロールIDの取得処理を実施する。本処理は、現在処理中のライセンスの製品IDを基に、製品ロール管理テーブル1102より、ライセンス種別が「トライアル」のロールIDと関連ロールIDを取得する。例えば、製品ID「form」が該当する場合、そのロールID「formTrialAdmin」1142と関連ロールID「formAdmin」、ロールID「formTrialUser」1144と関連ロールID「formUser」を取得する。次にステップS1612にて、認証サービス101の外部I/F411に対してロール移行処理要求を行う。認証サービス102に対して、ロール移行処理要求とともに、テナントID、移行元ロールとしてロールID、移行先ロールとして関連ロールIDを渡す。認証サービス102は、ユーザ管理テーブル501を操作し、テナント内の移行元ロールIDが割当てられているユーザーに対して、移行先ロールを割り当て、移行元ロールを削除する処理を行う。これにより、テナント内のロールが、トライアルに対応したロールから本ライセンスに対応したロールに置き換わる。ステップS1612にてロールの置き換え処理が終了したら、ステップS1613にて、ライセンス状態を「本ライセンス」に変更する。
【0066】
図16BのステップS1661が、ロール移行処理要求に応じて認証サービス102で実施されるロール移行処理のフローである。ステップS1662にて、テナント内の全ユーザーに対して順次着目してループ処理を行う。ステップS1663にて、移行元ロールを着目ユーザーが持っているかをチェックする。移行元ロールを持っている場合、ステップS1664に進み、指定された移行先ロールを付与するか、移行先ロールの指定がない場合は処理をスキップする。ステップS1663の処理後にステップS1665にて移行元ロールの削除を行う。例えば、ロールID「formTrialUser」を移行元ロールID、関連ロールID「formUser」を移行先ロールIDとして認証サービス102に渡すとする。その場合、認証サービス102では指定されたテナント内の全ユーザーのうち、移行元ロールID「formTrialUser」が付与されているユーザーに対して処理を行う。ステップS1664では移行先ロールID「formUser」の付与を行う。このタイミングでは、ユーザーはロールID「formUser」「formTrialUser」の両方のロールを持つため、「formUser」の権限でサービスが利用可能となる。この後ステップS1665で「formTrialUser」を削除することで、ロールの移行が完了する。なおロールの付与および削除は、ユーザ管理テーブル501の所持ロール516に、ロールIDの追加および削除を行うことで実現される。 ステップS1601に戻る。ステップS1601にて、ライセンス状態が「トライアル」の場合、期限切れ722にて処理が実施される。ステップS1621ではライセンスの終了日1117を過ぎているかをチェックする。終了日を過ぎている場合には、ステップS1622にて、ライセンス状態を「期限切れ処理中」に変更する。ステップS1623では、ロールID取得処理を実施する。本処理は、現在処理中のライセンスの製品IDを元に、製品ロール管理テーブル1102より、ライセンス種別が「トライアル」のロールIDを取得する。例えば、製品ID「form」が該当する場合、ロールID「formTrialAdmin」1142と」、ロールID「formTrialUser」1144を取得する。次にステップS1624にて、認証サービス101の外部I/F411に対してロール移行処理要求を行う。認証サービス102に対して、ロール移行処理要求とともにテナントID、移行元ロールとしてロールID、移行先ロールを無指定で渡すことで、テナント内のトライアルに対応したロールが全て削除される。ステップS1624にてロールの置き換え処理が終了したら、ステップS1625にて、ライセンス状態を「期限切れ」、ライセンス数を「0」に変更する。
【0067】
ステップS1601に戻る。ステップS1601にて、ライセンス状態が「無効化処理中」の場合、ライセンス無効723にて処理が実施される。ステップS1631では、ロールID、関連ロールID取得処理を実施する。本処理は、現在処理中のライセンスの製品IDを元に、製品ロール管理テーブル1102より、ライセンス種別が「本ライセンス」のロールIDと関連ロールIDを取得する。例えば、製品ID「form」が該当する場合、1141」のロールID「formAdmin」と関連ロールID「formInvldAdmin」、1143のロールID「formUser」と関連ロールID「formInvldUser」を取得する。次にステップS1632にて、認証サービス101の外部I/F411に対してロール移行処理要求を行う。認証サービスに対して、テナントID、移行元ロールとしてロールID、移行先ロールとして関連ロールIDを渡すことで、テナント内の本ライセンスに対応したロールが全て無効ライセンスに対応したロールに置き換わる。無効ライセンスに対応したロールは、どのURLにもアクセスできないので、本処理によって、サービスにアクセスできなくなる。ステップS1632にてロールの置き換え処理が終了したら、ステップS1633にて、ライセンス状態を「無効」に変更する。
【0068】
ステップS1601に戻る。ステップS1601にて、ライセンス状態が「有効化処理中」の場合、ライセンス有効724にて処理が実施される。ステップS1641では、ロールID、関連ロールID取得処理を実施する。本処理は、現在処理中のライセンスの製品IDを元に、製品ロール管理テーブル1102より、ライセンス種別が「本ライセンス」のロールIDと関連ロールIDを取得する。例えば、製品ID「form」が該当する場合、1141」のロールID「formAdmin」と関連ロールID「formInvldAdmin」、1143のロールID「formUser」と関連ロールID「formInvldUser」を取得する。次にステップS1642にて、認証サービス101の外部I/F411に対してロール移行処理要求を行う。認証サービスに対して、テナントID、移行元ロールとして関連ロールID、移行先ロールとしてロールIDを渡すことで、テナント内の無効ライセンスに対応したロールが全て本ライセンスに対応したロールに置き換わる。ステップS1642にてロールの置き換え処理が終了したら、ステップS1643にて、ライセンス状態を「本ライセンス」に変更する。
【0069】
ステップS1601に戻る。ステップS1601にて、ライセンス状態が「解約処理中」の場合、解約725にて処理が実施される。ステップS1651では、ロールID取得処理を実施する。本処理は、現在処理中のライセンスの製品IDを元に、製品ロール管理テーブル1102より、ライセンス種別が「本ライセンス」の関連ロールIDを取得する。例えば、製品ID「form」が該当する場合、1141の関連ロールID「formInvldAdmin」と」、1143の関連ロールID「formInvldUser」を取得する。次にステップS1652にて、認証サービス101の外部I/F411に対してロール移行処理要求を行う。認証サービスに対して、テナントID、移行元ロールとして関連ロールID、移行先ロールを無指定で渡すことで、テナント内の無効ライセンスに対応したロールが全て削除される。ステップS1652にてロールの置き換え処理が終了したら、ステップS1653にて、ライセンス状態を「解約」、ライセンス数を「0」に変更する。
【0070】
以上が、バッチアプリケーション703の処理の詳細である。本処理により、ライセンス状態の変更に伴う、一般ユーザーのアクセス権の変更処理が非同期処理にて実現される。以上、本発明を実施するための最良の形態の説明を終わる。
【0071】
以上説明した実施形態によれば、各ユーザによるサービスへのアクセス権限を定義したロールを、ライセンスが付与されたテナント側の管理者により管理できる。本例ではロールはライセンスに対して管理者用と一般ユーザ用の2種類であったが、より詳細なアクセス権限を定義したロールを用意し、それをユーザに対して割り当てることもできる。このため、クラウドサービス側の販売者ユーザーは、契約に基づくテナントの定義(たとえばテナントごとのユーザやライセンスの内容など)を行えばよく、テナント内でのユーザの権限付与は、テナント側が主体となっておこなうことができる。
【0072】
さらに、ライセンスの移行があった場合、それに伴う各ユーザに対するロールの移行は、ライセンスの移行とは非同期に実行されるために、ロールの移行に伴う処理負荷の増大及び処理の遅滞を防止できる。また、ライセンスの移行からロールの移行までの期間は、ライセンス移行前のロールと移行後のロールとが共存し、さらにロールの割り当てや削除等、ロールの移動は禁止されるために、ライセンスとロールの移行のずれにより生じる矛盾を防止できる。
【0073】
[その他の実施形態]
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。

【特許請求の範囲】
【請求項1】
クライアントに対してサービスを提供する一又は複数のサーバであって、
サービスの提供を契約したテナントと、該テナントに属するユーザと、ライセンスされたサービスにおける前記ユーザのアクセス権限を示すロールとを登録したユーザ管理テーブルを格納する格納手段と、
前記テナントに属するクライアントからの要求に応じて、前記ユーザに対しロールを設定するためのユーザインターフェースを提供するユーザインターフェース手段と、
前記ユーザインターフェースを介して設定された前記ユーザに割り当てるロールに従って前記ユーザ管理テーブルのロールを更新する更新手段と
を備えることを特徴とするサーバ。
【請求項2】
前記格納手段には、前記テナントに対して付与されたライセンスの状態を示すテナント情報をさらに格納し、
前記テナント情報のライセンスの状態を他の状態に変更する変更手段と、
前記ライセンスの状態の変更に伴って、当該ライセンスが付与されたテナントに属するユーザのロールを、変更された後の状態に応じたロールに更新する更新手段と、を更に備え、
前記更新手段は、前記ライセンスの状態の変更とは非同期に、バッチ処理によりロールの変更を行うことを特徴とする請求項1に記載のサーバ。
【請求項3】
前記ライセンスの状態の変更の指示を受け付ける手段をさらに備え、
前記ライセンスの状態には、ライセンスの状態の変更が行われたものの当該ライセンスの状態の変更に伴うロールの更新が済んでいないことを示す処理中状態を含み、
前記変更手段は、前記ライセンスの状態の変更の指示を受け付けると、現在のライセンスの状態を前記処理中状態に変更し、
前記ユーザインターフェース手段は、当該ライセンスが処理中状態であった場合には、前記ユーザに対するロールの設定をさせないためのユーザインターフェースを提供することを特徴とする請求項2に記載のサーバ。
【請求項4】
前記クライアントに提供するサービスには、帳票管理サービスと文書印刷サービスの少なくともいずれかを含むことを特徴とする請求項1乃至3のいずれか一項に記載のサーバ。
【請求項5】
請求項1乃至4のいずれか一項に記載のサーバと、該サーバとWebを介して接続されたクライアントとを含むことを特徴とするクラウドシステム。
【請求項6】
クライアントに対してサービスを提供するサーバによるユーザ管理方法であって、
格納手段が、サービスの提供を契約したテナントと、該テナントに属するユーザと、ライセンスされたサービスにおける前記ユーザのアクセス権限を示すロールとを登録したユーザ管理テーブルを記憶手段に格納する格納工程と、
ユーザインターフェース手段が、前記テナントに属するクライアントからの要求に応じて、前記ユーザに対しロールを設定するためのユーザインターフェースを提供するユーザインターフェースの提供工程と、
更新手段が、前記ユーザインターフェースを介して設定された前記ユーザに割り当てるロールに従って前記ユーザ管理テーブルのロールを更新する更新工程と
を有することを特徴とするユーザ管理方法。
【請求項7】
請求項1乃至4のいずれか一項に記載のサーバとしてコンピュータを機能させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate


【公開番号】特開2012−256248(P2012−256248A)
【公開日】平成24年12月27日(2012.12.27)
【国際特許分類】
【出願番号】特願2011−129546(P2011−129546)
【出願日】平成23年6月9日(2011.6.9)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】