JP2019219957A - ライセンス管理システム及び方法、サービス提供システム、プログラム - Google Patents
ライセンス管理システム及び方法、サービス提供システム、プログラム Download PDFInfo
- Publication number
- JP2019219957A JP2019219957A JP2018117312A JP2018117312A JP2019219957A JP 2019219957 A JP2019219957 A JP 2019219957A JP 2018117312 A JP2018117312 A JP 2018117312A JP 2018117312 A JP2018117312 A JP 2018117312A JP 2019219957 A JP2019219957 A JP 2019219957A
- Authority
- JP
- Japan
- Prior art keywords
- license
- license information
- event
- state
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
【課題】ライセンスの状態変更イベントを通知する構成において、ライセンスの状態変更の予約を通知することは好ましくない。【解決手段】ライセンスごとに、サービスの利用可否に関わるライセンス状態とライセンス状態が適用される適用タイミングとを対応付けたライセンス情報を記憶しておき、ライセンス情報に新たなライセンスについてのライセンス情報が追加されたことに応じて、ライセンス状態の変更を通知する状態変更イベントをサービス提供サーバーに対して発行するが、追加されたライセンス情報の適用タイミングが即時でない場合には、状態変更イベントを発行しない。【選択図】図4
Description
本発明はイベント通知、特にライセンス状態の変更を通知するためのイベント通知に関するライセンス管理システム及び方法、サービス提供システム、プログラムに関する。
クラウドが一般化するに伴い、従来イントラネット環境にサーバーを構築し運用していたサービスのクラウド化がますます進んでいる。ここでいうサービスとは、インターネット等のネットワークを介して接続されたサーバーが提供する機能、換言すれば、ウェブアプリケーションのことを指す。このようなサービスは一般にライセンスを有するクライアントに対して提供されるため、ライセンス管理を、サービスを提供するサービス提供サーバーに代えてライセンス管理機能を提供するサービスライセンス管理サーバーにより行うシステムもある。。さらにサービスライセンス管理サーバーの負荷の軽減のためにPub/Subメッセージングモデルと呼ばれるモデルを適用するケースが増えてきている。Pub/Subメッセージングモデルを適用したライセンス管理システムでは、あらかじめ、ライセンス状態変更イベントに関心のあるサービス提供サーバーは、ライセンス状態変更イベントをサブスクライブしておく。すなわち、たとえば、サービス提供サーバーは、関心のあるライセンス状態変更イベントについて、当該イベントの発生を通知するようサービスライセンス管理サーバーに登録しておく。サービスライセンス管理サーバーで登録したイベントが発生すると、たとえばユーザーの保有ライセンス状態が変化すると、サービスライセンス管理サーバーはライセンス状態変更イベントをパブリッシュする。パブリッシュされたイベントは、イベントをサブスクライブした各々のサービス提供サーバーにイベント通知される。すなわちサービスライセンス管理サーバーは、当該イベントを通知するよう登録したサブスクライバであるサービス提供サーバーにイベントの発生を通知する。ライセンス状態変更イベントを受信したサービス提供サーバーは、ライセンス状態変更イベントに応じたユーザーの保有ライセンス状態を記憶する。サービス提供サーバーは、ライセンスの確認を、このようにして更新されるライセンス状態を参照して行う。このようにして、サービス提供サーバーは、サービスライセンス管理サーバーに問い合わせることなく、自身でユーザーの保有ライセンスの有無を判断することができる。たとえば特許文献1には、ライセンスの更新を端末に通知する技術が開示されている。
ここで、ライセンス契約には、サービス提供サーバーの利用を即座に開始する形態以外にも、たとえば翌月から利用を開始する形態も考えられる。また、一定期間で利用を終了させる形態の契約も考えられる。このような場合、サービスライセンス管理サーバーには、翌月からの開始を予約するライセンスや、一定期間後に終了するライセンスを登録できることが好ましい。一方で、サービスライセンス管理サーバーがデータベースに、ユーザー保有ライセンスの変化予約を書き込むと、それがイベントとしてサービス提供サーバーに通知され、サービス提供サーバーは、ユーザーが保有するライセンスの状態変更が予約されたことのイベントを受信することになる。
しかしサービス提供サーバーの関心事は、現時点でのユーザー保有ライセンス状態の変化である。そのためサービス提供サーバーが、ユーザーが保有するライセンス状態変更が予約されたことのイベントを受信するのは好ましくない。
本発明は前述の課題を鑑みてなされたもので、ライセンス状態の変更の予約をライセンス状態変更イベントとして通知することがないライセンス管理システム及び方法、サービス提供システム、プログラムを提供することを目的とする。
上記目的を達成するために本発明は以下の構成を有する。すなわち、ライセンスごとに、サービスの利用可否に関わるライセンス状態と前記ライセンス状態が適用される適用タイミングとを対応付けたライセンス情報を記憶するライセンス情報管理手段と、
前記ライセンス情報に新たなライセンスについての前記ライセンス情報が追加されたことに応じて、前記ライセンス状態の変更を通知する状態変更イベントをサービス提供サーバーに対して発行するイベント発行手段とを有し、
前記イベント発行手段は、追加された前記ライセンス情報の適用タイミングが即時でない場合には、前記状態変更イベントを発行しないことを特徴とするライセンス管理システムが提供される。
前記ライセンス情報に新たなライセンスについての前記ライセンス情報が追加されたことに応じて、前記ライセンス状態の変更を通知する状態変更イベントをサービス提供サーバーに対して発行するイベント発行手段とを有し、
前記イベント発行手段は、追加された前記ライセンス情報の適用タイミングが即時でない場合には、前記状態変更イベントを発行しないことを特徴とするライセンス管理システムが提供される。
本発明によれば、ライセンス状態の変更の予約をライセンス状態変更イベントとして通知することがない情報処理装置及びライセンス管理方法とプログラムを提供することができる。
[実施形態1]
●システム構成
以下、本発明を実施するための形態について図面を用いて説明する。本実施の形態に係るアクセス制御システムは、図1に示すような構成のネットワーク上に実現される。なおライセンス管理の観点から、このシステムをライセンス管理システムと称することもある。図1において、WAN100は、Wide Area Network(広域ネットワーク)であり、本発明ではWorld Wide Web(WWW)システムが構築されている。LAN110およびLAN150は各構成要素を接続するLocal Area Network(ローカルエリアネットワーク)である。
●システム構成
以下、本発明を実施するための形態について図面を用いて説明する。本実施の形態に係るアクセス制御システムは、図1に示すような構成のネットワーク上に実現される。なおライセンス管理の観点から、このシステムをライセンス管理システムと称することもある。図1において、WAN100は、Wide Area Network(広域ネットワーク)であり、本発明ではWorld Wide Web(WWW)システムが構築されている。LAN110およびLAN150は各構成要素を接続するLocal Area Network(ローカルエリアネットワーク)である。
サービスライセンス管理サーバー151は、ユーザーの所属するテナントに対してサービスライセンスの付与・解除等の管理を行う。テナントとは契約者ごとにデータやユーザーを分離する単位である。以下、本実施の形態においては、サービスライセンスは、あるテナントに属するユーザーに対してあるサービスの利用を許可するものとする。すなわち、サービスライセンスは、テナントごと且つサービスごとに付与される。ライセンスとしては例えば、複合機管理クラウドサービスの利用を許可するサービスライセンスなどが考えられる。複合機管理クラウドサービスは、管理対象の複合機がその機器情報をクラウドサービス(すなわち複合機管理クラウドサービスを提供するサービス提供サーバー)にアップロードする。サーバーは管理対象の複合機に異常がないかを一元的に管理する。なおサービスライセンスは上述されるものに限定されるものでなく、あるユーザーに対してあるサービスの利用を許可するものであってもよい。データ記憶サーバー152は、サービスライセンス管理サーバー151が付与・解除したサービスライセンス情報を記憶する。イベント発行サーバー153は、データ記憶サーバー152が記憶するライセンス情報が追加・更新などにより変更されたことに伴ってライセンス状態変更イベントを発行する。定期実行サーバー154は定期的な処理を実行する。
サービス提供サーバー161および162は、ユーザーにクラウドサービスを提供する。サービス提供サーバーとしては例えば、複合機管理サービスサーバーや印刷サービスサーバーなどが考えられる。またそれら以外のサービス提供サーバーであってもよい。各サービス提供サーバーでは、ユーザーによるサービス要求を受信した際に、要求元のユーザーが必要なライセンスを保有しているか判断し、ライセンスの有無に応じてサービス要求を処理するか否かを判断する。例えば複合機管理サービスサーバーは、ユーザーが複合機管理サービスの利用ライセンスを保有している場合に、そのユーザーからの要求に応じて複合機の一覧表示や利用状況レポートの出力を実行する。また印刷サービスサーバーは、ユーザーが印刷サービスの利用ライセンスを保有している場合に、そのユーザーからの要求に応じて印刷ジョブを受け付けてクラウド印刷を実行する。一方で各サービス提供サーバーは、必要なライセンスを保有していないユーザーに対しては、前述する機能を提供しないよう構成される。
ユーザー端末111はサービスライセンス管理サーバー151やサービス提供サーバー161、162等に関するユーザーによる操作を受け付け、またサービス提供サーバー161,162からの情報を表示等により出力する。ユーザー端末のことを単に端末と呼ぶこともある。
サービスライセンス管理サーバー151、データ記憶サーバー152、イベント発行サーバー153、定期実行サーバー154およびサービス提供サーバー161、162はそれぞれLAN150を介してWAN100と接続されている。また同様に端末111はLAN110を介してWAN100と接続されている。なおサービスライセンス管理サーバー151、データ記憶サーバー152、イベント発行サーバー153、定期実行サーバー154およびサービス提供サーバー161、162はそれぞれ個別のLAN上に構成されていてもよいし同一のLAN上に構成されていてもよい。同様に、同一のPCまたはサーバーコンピューター上に構成されていてもよい。また、サービスライセンス管理サーバー151、データ記憶サーバー152、イベント発行サーバー153、定期実行サーバー154およびサービス提供サーバー161、162は図1ではそれぞれが1台として描かれているが複数のサーバーから構成されたサーバーシステムでも良い。例えば、複数台のサーバーをクラスタ化してサービスライセンス管理サーバー151を構成しても良い。なお、本願発明においてサーバーシステムと称した場合は、少なくとも1台のサーバーから構成された特定のサービスを提供する装置を指すものとする。
図1においてデータ記憶サーバー152および定期管理サーバー154はライセンスを管理するサーバーであり、ライセンス情報管理部として機能する。またイベント発行サーバー153はイベントを発行するイベント発行部として機能する。またサービス提供サーバー161または162により提供されるサービスが複合機管理サービスの場合、管理対象となる複合機は、不図示のLANやアクセス回線を介してWAN100に接続される。またサービス提供サーバー161または162により提供されるサービスが印刷サービスの場合、印刷ジョブを実行する印刷装置も不図示のLANやアクセス回線を介してWAN100に接続される。
●イベント発行サーバー
本実施の形態に係るイベント発行サーバー153などの各種サーバーおよびユーザー端末は、図2に示すような構成のPCから成るシステム上に実現される。図2は本実施の形態に係る、イベント発行サーバー153のハードウェア構成を示す図である。またサービスライセンス管理サーバー151、データ記憶サーバー152、定期実行サーバー154、サービス提供サーバー161、162の構成やユーザー端末111の構成も同様である。尚、図2に示されるハードウェアブロック図は一般的な情報処理装置のハードウェアブロック図に相当するものとし、本実施形態のサーバーコンピューターおよび端末には一般的な情報処理装置のハードウェア構成を適用できる。
本実施の形態に係るイベント発行サーバー153などの各種サーバーおよびユーザー端末は、図2に示すような構成のPCから成るシステム上に実現される。図2は本実施の形態に係る、イベント発行サーバー153のハードウェア構成を示す図である。またサービスライセンス管理サーバー151、データ記憶サーバー152、定期実行サーバー154、サービス提供サーバー161、162の構成やユーザー端末111の構成も同様である。尚、図2に示されるハードウェアブロック図は一般的な情報処理装置のハードウェアブロック図に相当するものとし、本実施形態のサーバーコンピューターおよび端末には一般的な情報処理装置のハードウェア構成を適用できる。
図2において、CPU201は、ROM203のプログラム用ROMに記憶された、或いはハードディスク211からRAM202にロードされたOSやアプリケーション等のプログラムを実行する。ここでOSとはコンピュータ上で稼動するオペレーティングシステムの略語であり、以下オペレーティングシステムのことをOSと呼ぶ。後述する各フローチャートの処理はこのプログラムの実行により実現できる。RAM202は、CPU201の主メモリ、ワークエリア等として機能する。キーボードコントローラ(KBC)205は、キーボード(KB)209や不図示のポインティングデバイスからのキー入力を制御する。CRTコントローラ(CRTC)206は、CRTディスプレイ210の表示を制御する。ディスクコントローラ(DKC)207は各種データを記憶するハードディスク(HD)211やフロッピー(登録商標)ディスク(FD)等におけるデータアクセスを制御する。NC212はネットワークに接続されて、ネットワークに接続された他の機器との通信制御処理を実行する。尚、後述の全ての説明においては、特に断りのない限り実行のハード上の主体はCPU201であり、ソフトウェア上の主体はハードディスク(HD)211にインストールされたアプリケーションプログラムである。
図3(a)は本実施の形態に係る、データ記憶サーバー152のモジュール構成を示す図である。データ記憶サーバー152はライセンス情報記憶モジュール301と呼び出しモジュール302とを持つ。
図3(b)は本実施の形態に係る、イベント発行サーバー153のモジュール構成を示す図である。イベント発行サーバー153は第1のイベント発行モジュール303、第1の適用タイミング判断モジュール304を持つ。
データ記憶サーバー152はサービスライセンス管理サーバー151から受け付けたライセンス情報をライセンス情報記憶モジュール301で記憶し、呼び出しモジュール302がイベント発行サーバー153を呼び出す。イベント発行サーバー153では第1のイベント発行モジュール303が呼び出しモジュール302から呼び出しを受け、ライセンス状態変更イベントを発行する。なおライセンス状態変更イベントの発行においては、第1の適用タイミング判断モジュール304で、追加されたライセンス情報の適用タイミングが予約か否か判断し、イベント発行の要否を判断する。
●ライセンス情報追加処理
図4(a)は本実施の形態に係る、データ記憶サーバー152におけるライセンス情報追加処理のフローである。本フローは、ユーザーがサービスライセンス管理サーバー151を操作したことに伴い、データ記憶サーバー152がサービスライセンス管理サーバー151からライセンス情報追加指示を受信することで開始される。
図4(a)は本実施の形態に係る、データ記憶サーバー152におけるライセンス情報追加処理のフローである。本フローは、ユーザーがサービスライセンス管理サーバー151を操作したことに伴い、データ記憶サーバー152がサービスライセンス管理サーバー151からライセンス情報追加指示を受信することで開始される。
ステップS401でライセンス情報記憶モジュール301は、ライセンス情報の追加を受け付ける。ステップS402でライセンス情報記憶モジュール301は、ステップS401で受信したライセンス情報を記憶する。
表1はライセンス情報記憶モジュール301でライセンス情報を記憶するライセンス情報テーブルの例であり、1つのレコードが1つのライセンス情報に相当する。ライセンス情報記憶モジュール301がライセンス情報の追加を受け付けると、ライセンス情報テーブルに順次ライセンス情報が追加される。
テナント識別子からライセンス適用日時までの各値は、サービスライセンス管理サーバー151を介してユーザーから指定される値である。ライセンス種別はそのライセンスが付与されるサービスを示す。ライセンス状態は、ライセンスの状態、例えばサービスの利用可否などを示し、たとえば製品版が対象であればProduct(製品)、試供版が対象であればTrial(試用)、無効であればDisabled(無効)などになる。適用タイミングは、ライセンスが適用される時期を示し、即時適用であればinstant(即時)、適用日時が後の日時であればreservation(予約)などになる。ライセンス適用日時は、適用タイミングが予約の場合に、ライセンスが適用される時期を示す。追加・更新日時はライセンス情報記憶モジュール301がライセンス情報の追加もしくは更新を受け付けた日時である。イベントバージョンは、ライセンス情報記憶モジュール301がライセンス情報の追加もしくは更新を受け付けるごとに新たに採番され記憶される値である。ライセンス情報は、これらの項目をライセンスごとに対応付けた情報である。
表1では2018年1月1日8時0分にライセンス情報追加モジュール301が受信した4つのライセンス情報が記憶されている。その内の1つ目は、テナント識別子 "Tenant001" に対する "MfpManagement" のライセンスであり、ライセンス状態は "Product" である。ここでライセンス状態としては例えば、サービス利用の契約を締結した "Product" 状態や、契約締結前の試用中であることを表す "Trial" などがある。他にもサービス利用の契約前である "NoContract" や、サービス利用料の支払いが滞るなどして一時的にライセンスが無効になった "Disabled" や、解約済を表す "Terminated" などがある。また適用タイミングが「即時適用」を表す "instant" であり、ライセンス適用日時はライセンス情報を受信した2018年1月1日8時0分と同じ値が記憶されている。
4つ目のライセンス情報は、テナント識別子 "Tenant001" に対する "Print" のライセンスであり、ライセンス状態は "Product" である。また適用タイミングは「予約」を表す "reservation" であり、ライセンス適用日時はライセンス情報を受信した日時より先の2018年2月1日8時0分が記憶されている。
また、各々のライセンス情報に付与されているイベントバージョンとは、ライセンス状態変更イベントの発生順を表す値であり、ライセンス情報の追加や更新に応じて順次増加する値が採番される。またライセンス状態変更イベントを受信したサービス提供サーバー161、162は、ライセンス状態変更イベントの受信順が入れ替わった場合に備え、イベントバージョンを参照し、イベント発生順を把握する。
ステップS403で呼び出しモジュール302は、ライセンス情報記憶モジュール301に追加されたライセンス情報をパラメータとして付加して、イベント発行サーバー153を呼びだし、フローを終了する。
●イベント発行処理
図4(b)は本実施の形態に係る、イベント発行サーバー153におけるイベント発行処理のフローである。本フローは、データ記憶サーバー152が記憶するライセンス情報が変更された際に、図4(a)のステップS403でイベント発行サーバー153が呼び出されることで開始される。なおライセンス情報の変更とは、ライセンス情報記憶モジュール301に新たなライセンス情報が追加された場合や、すでに記憶しているライセンス情報が更新された場合や、その他の変更の場合も含む。
図4(b)は本実施の形態に係る、イベント発行サーバー153におけるイベント発行処理のフローである。本フローは、データ記憶サーバー152が記憶するライセンス情報が変更された際に、図4(a)のステップS403でイベント発行サーバー153が呼び出されることで開始される。なおライセンス情報の変更とは、ライセンス情報記憶モジュール301に新たなライセンス情報が追加された場合や、すでに記憶しているライセンス情報が更新された場合や、その他の変更の場合も含む。
ステップS411で第1のイベント発行モジュール303は、変更されたライセンス情報を、呼び出しモジュール302から受信する。
ステップS412で第1の適用タイミング判断モジュール304は、ステップS411で受信したライセンス情報の適用タイミングが「予約」を表しているか否かを判断する。判断の結果、適用タイミングが予約でない場合はステップS413に遷移し、予約の場合はS450に遷移する。例えば表1の1つ目のライセンス情報の場合、適用タイミングが予約でないと判断され、ステップS413に遷移する。また表1の4つ目のライセンス情報の場合、適用タイミングが予約であると判断され、ステップS450に遷移する。
ステップS413で第1のイベント発行モジュール303は、ステップS411で受信したライセンス情報の適用タイミングが予約でない、すなわち即時適用だったため、ライセンス状態変更イベントを発行し、フローを終了する。
ステップS450で第1のイベント発行モジュール303は、ステップS411で受信したライセンス情報の適用タイミングが予約だったため、ライセンス状態変更イベントを発行せずにフローを終了する。
本実施の形態によれば、追加されたライセンス情報の適用タイミングが予約だった場合にイベント発行を抑止しつつ、即時適用されるライセンス情報についてはライセンス状態変更イベントを発行できる。そのためサービス提供サーバーは、受信するライセンス状態変更イベントが現時点のものであるか将来のものであるかの区別や、将来のものだった場合にイベントを留保するといった処理が不要になる。
●予約イベントの適用
追加されたライセンス情報の適用タイミングが予約だった場合、上述したように、ライセンス情報の追加時点でライセンス状態変更イベントを発行することはない。一方で当該ライセンス情報が適用されたタイミングでは、ライセンス状態変更イベントが発行されるべきである。
追加されたライセンス情報の適用タイミングが予約だった場合、上述したように、ライセンス情報の追加時点でライセンス状態変更イベントを発行することはない。一方で当該ライセンス情報が適用されたタイミングでは、ライセンス状態変更イベントが発行されるべきである。
図5は、定期実行サーバー154のモジュール構成を示す図である。定期実行サーバー154は定期実行モジュール311、前回実行日時記憶モジュール312、第1のライセンス情報取得モジュール313を持つ。また定期実行サーバー154は第2の適用タイミング判断モジュール314、ライセンス状態適用判断モジュール315、ライセンス情報更新モジュール316を持つ。
定期実行モジュール311は定期的に、データ記憶サーバー152からライセンス情報を取得する。ライセンス状態適用判断モジュール315は、取得したライセンス情報のライセンス適用日時を、処理実行日時(すなわち当該処理を実行している現在の日時)および前回実行日時記憶モジュール312で記憶される前回実行日時(前回の実行日時)と比較する。比較の結果、ライセンス情報が適用されたタイミングが前回実行日時から処理実行日時の間であると判断されると、ライセンス情報更新モジュール316でデータ記憶サーバー152のライセンス情報を更新する。なおデータ記憶サーバー152で記憶するライセンス情報が変更されることで、イベント発行サーバー153の呼び出しモジュール302が動作し、ライセンス状態変更イベントが発行される。
●ライセンス状態の定期適用確認処理
図6(a)は本実施の第2の形態に係る、定期実行サーバー154におけるライセンス状態の定期適用確認フローである。本フローは、定期実行モジュール311が定期的に起動することで開始される。なおここでは定期実行モジュール311が2018年2月2日の0時に起動されたとして説明を行う。すなわち処理実行日時が2018年2月2日の0時である。また定期実行間隔は1日であるとして説明を行うが、定期実行間隔は1日でもよく1時間でもよい。またそれ以外の間隔であってもよい。
図6(a)は本実施の第2の形態に係る、定期実行サーバー154におけるライセンス状態の定期適用確認フローである。本フローは、定期実行モジュール311が定期的に起動することで開始される。なおここでは定期実行モジュール311が2018年2月2日の0時に起動されたとして説明を行う。すなわち処理実行日時が2018年2月2日の0時である。また定期実行間隔は1日であるとして説明を行うが、定期実行間隔は1日でもよく1時間でもよい。またそれ以外の間隔であってもよい。
ステップS601で定期実行モジュール311は、ライセンス状態の適用確認処理を開始する。ステップS602で定期実行モジュール311は、前回実行日時記憶モジュール312から前回実行日時を取得する。また現在日時を取得して処理実行日時とする。表2は前回実行日時記憶モジュール312で記憶する、定期実行モジュール311の前回実行日時の例である。
表2では、定期実行モジュール311の前回実行日時が2018年2月1日の0時に起動されたことを表している。
ステップS603で第1のライセンス情報取得モジュール313は、データ記憶サーバー152のライセンス情報記憶モジュール301からライセンス情報を取得する。
ステップS604で第2の適用タイミング判断モジュール314は、ステップS603で取得したライセンス情報の適用タイミングが予約か判断する。適用タイミングが予約だった場合はステップS605に遷移し、予約でなかった場合はステップS650に遷移する。
ステップS605でライセンス状態適用判断モジュール315は、ステップS603で取得したライセンス情報のライセンス適用日時が、ステップS602で取得した前回実行日時と処理実行日時の間であるか判断する。判断の結果が前回実行日時と処理実行日時の間だった場合、定期実行モジュール311の前回実行以降に当該ライセンス情報が適用されたと考え、ステップS606に遷移する。一方で判断の結果が前回実行日時と処理実行日時の間でなかった場合、ステップS650に遷移する。ステップS605は、適用タイミングが予約であり(すなわち即時でなく)、かつ適用タイミングに達したライセンス情報を特定しており、これを特定処理ということもある。
なお上述する方法では、ステップS603でライセンス情報をした後に、ステップS604およびステップS605でライセンス情報の適用タイミングおよびライセンス適用日時を確認している。しかし上述する方法に限定されるものではなく、たとえばステップS603であらかじめ、適用タイミングおよびライセンス適用日時の条件を満たすライセンス情報だけ取得する方法であってもよい。
ステップS606でライセンス情報更新モジュール316は、データ記憶サーバー152のライセンス情報記憶モジュール301にライセンス情報の更新を指示する。更新対象のライセンス情報は、ステップS603で取得したライセンス情報である。それを特定するために、更新指示には、たとえばステップS603で取得したライセンス情報そのものを添付してよい。
ステップS607で定期実行モジュール311は、処理実行日時を新たな前回実行日時として、前回実行日時記憶モジュール312に記憶させ、フローを終了する。
ステップS650で第1のイベント発行モジュール303はライセンス情報を更新せずステップS607に遷移する。
●ライセンス情報の更新処理
図6(b)は本実施の第2の形態に係る、データ記憶サーバー152におけるライセンス情報の更新フローである。本フローは、ライセンス情報記憶モジュール301が例えば図6(a)のステップS606などで発行されたライセンス更新指示を受信することで開始される。
図6(b)は本実施の第2の形態に係る、データ記憶サーバー152におけるライセンス情報の更新フローである。本フローは、ライセンス情報記憶モジュール301が例えば図6(a)のステップS606などで発行されたライセンス更新指示を受信することで開始される。
ステップS671でライセンス情報記憶モジュール301は、ライセンス情報の更新指示を受け付ける。
ステップS672でライセンス情報記憶モジュール301は、ステップS671で受信したライセンス情報を更新する。具体的には追加・更新日時をライセンス情報更新の受け付け日時に更新するとともに、イベントバージョンを新たに採番されたイベントバージョンで更新する。なお更新対象のライセンス情報は、たとえばテナント識別子とライセンス情報とにより特定してもよい。或いは、イベントバージョンにより特定することもできる。また更新対象のライセンス情報が更新指示に添付されているならば、その全項目が一致するライセンス情報を更新対象として特定してもよい。
表3はステップS672で更新されたライセンス情報テーブルの例である。
表3の上から4つ目のライセンス情報は、適用タイミングが「予約」を表す "reservation" である。またライセンス適用日時は2018年2月1日8時であり、定期実行モジュール311の前回実行日時である2018年2月1日0時と、処理実行日時である2018年2月2日0時の間である。そのためステップS606で追加・更新日時が、処理実行日時である2018年2月2日0時に更新されている。またイベントバージョンの値も値が増加し、1004となっている。
ステップS673で呼び出しモジュール302は、ライセンス情報記憶モジュール301で更新されたライセンス情報を付加して、イベント発行サーバー153を呼び出してフローを終了する。なおイベント発行サーバー153では、更新されたライセンス情報を呼び出しモジュール302から受信することで、図4(b)に示したイベント発行フローを実施する。
本実施形態によれば、適用タイミングが予約であるライセンス情報が追加された時点で抑止されたライセンス状態変更イベントを、当該ライセンス情報が適用されたタイミングで発行できるようになる。その結果サービス提供サーバーは、即時適用だけでなく予約のライセンス情報についても、ライセンス状態が変更されることで、ライセンス状態変更イベントを受信できるようになる。
[実施形態2]
次に、本発明を実施するための第2の実施形態について図面を用いて説明する。なお第1の実施の形態と共通の部分については説明を省略し、以下では差異部分のみ説明する。サービス提供サーバーの関心事は、サービスを利用しようとするユーザーが保有するライセンスが、有効であるか否かである。一方でライセンス情報のライセンス状態は、ビジネス上の要求などにより、ライセンスが有効であるか否か以上に細分化されることがある。例えば有効なライセンス状態としては、サービス利用の契約を締結した "Product" 状態や、契約締結前の試用中であることを表す "Trial" などがある。また無効なライセンス状態としては、サービス利用の契約前である "NoContract" や、サービス利用料の支払いが滞るなどして一時的にライセンスが無効になった "Disabled" や、解約済を表す "Terminated" などがある。ライセンスが有効なライセンス状態同士や、ライセンスが無効なライセンス状態同士での状態遷移のように、サービス提供サーバーの振舞いに影響のない状態遷移については、ライセンス状態変更イベントを発行しないことが好ましい。本実施形態は、前述の課題を鑑みて為されたものである。
次に、本発明を実施するための第2の実施形態について図面を用いて説明する。なお第1の実施の形態と共通の部分については説明を省略し、以下では差異部分のみ説明する。サービス提供サーバーの関心事は、サービスを利用しようとするユーザーが保有するライセンスが、有効であるか否かである。一方でライセンス情報のライセンス状態は、ビジネス上の要求などにより、ライセンスが有効であるか否か以上に細分化されることがある。例えば有効なライセンス状態としては、サービス利用の契約を締結した "Product" 状態や、契約締結前の試用中であることを表す "Trial" などがある。また無効なライセンス状態としては、サービス利用の契約前である "NoContract" や、サービス利用料の支払いが滞るなどして一時的にライセンスが無効になった "Disabled" や、解約済を表す "Terminated" などがある。ライセンスが有効なライセンス状態同士や、ライセンスが無効なライセンス状態同士での状態遷移のように、サービス提供サーバーの振舞いに影響のない状態遷移については、ライセンス状態変更イベントを発行しないことが好ましい。本実施形態は、前述の課題を鑑みて為されたものである。
●第2実施形態におけるイベント発行サーバー及び定期実行サーバー
図7(a)は本実施形態に係る、イベント発行サーバー153のモジュール構成を示す図である。イベント発行サーバー153はライセンス情報追加時のイベント発行用に、第3のライセンス情報取得モジュール331、第2の状態遷移判断モジュール332、第2のイベント発行モジュール333を持つ。
図7(a)は本実施形態に係る、イベント発行サーバー153のモジュール構成を示す図である。イベント発行サーバー153はライセンス情報追加時のイベント発行用に、第3のライセンス情報取得モジュール331、第2の状態遷移判断モジュール332、第2のイベント発行モジュール333を持つ。
図7(b)は本実施形態に係る、定期実行サーバー154のモジュール構成を示す図である。定期実行サーバー154はライセンス状態の定期適時のイベント発行用に、第2のライセンス情報取得モジュール321、第1の状態遷移判断モジュール322を持つ。
●ライセンス状態の定期適用確認処理
図8は本実施形態に係る、定期実行サーバー154におけるライセンス状態の定期適用確認フローである。本フローは、定期実行モジュール311が定期的に起動することで開始される。
図8は本実施形態に係る、定期実行サーバー154におけるライセンス状態の定期適用確認フローである。本フローは、定期実行モジュール311が定期的に起動することで開始される。
なお本フローのステップS605までは第1実施形態の図6(a)と共通のため、ここではステップS605から遷移するステップS801以降について説明する。ステップS605では、予約されたライセンス適用日時が前回実行日時と現在日時(処理実行日時)との間であればステップS801に分岐する。
ステップS801で第2のライセンス情報取得モジュール321は、ステップS603で取得したライセンス情報の1つ前のライセンス情報を取得する。「1つ前」とは、ステップS603で取得したライセンス情報と同じテナント識別子とライセンス種別を持つライセンス情報のうち、ステップS603で取得したライセンス情報の次に若いライセンス情報であって良い。若いとは、たとえば追加変更日時あるいはイベントバージョンが若いものであってよい。例えばステップS603で取得したライセンス情報が、表1の4つ目のライセンス情報だったとする。この場合、テナント識別子が "Tenant001" かつライセンス種別が "Print" のライセンス情報の内、ライセンス適用日時が2018年2月1日の8時以前かつ最新のライセンス情報を取得する。結果的にステップS801では、表1の3つ目のライセンスが取得される。
ステップS802で第1の状態遷移判断モジュール322は、ステップS603で取得したライセンス情報とステップS801で取得したライセンス情報との間のライセンス状態の状態遷移が、イベント発行対象であるか判断する。判断の結果イベント発行対象であると判断された場合はステップS803に遷移し、対象でないと判断された場合はステップS650に遷移する。なお判断に際しては、表4に例示するような、ライセンス状態分類テーブルが参照される。
ここで表4のテーブルを参照し、ステップS603で取得したライセンス情報の状態と、ステップS801で取得したライセンス情報の状態とが異なるライセンス状態群に属する場合にイベント発行対象と判定する。一方、同一のライセンス状態群に属するならばイベント発行対象外と判定する。例えば、ステップステップS603で取得したライセンス情報とステップS801で取得したライセンス情報のライセンス状態がそれぞれ、"Trial" および "Product" だったとする。この場合は "Trial" も "Product" も共に有効ライセンス状態群に含まれるため、ライセンス状態は有効なものから有効なものへの状態遷移となる。よってこの場合はライセンス発行対象でないと判断され、ステップS650に遷移する。
ステップS803でライセンス情報更新モジュール316は、ライセンス情報記憶モジュール301に、ステップS603で取得したライセンス情報の更新を指示する。なおライセンス情報記憶モジュール301では、ライセンス情報の更新指示を受信することで、ライセンス情報記憶モジュールで記憶するライセンス情報の更新フローを実施する。ライセンス情報更新フローの詳細は第1実施形態のステップS606と共通のため、ここでは説明を省略する。
ステップS804で定期実行モジュール311は、処理実行日時を新たな前回実行日時として、前回実行日時記憶モジュール312に記憶させ、フローを終了する。
なお、ライセンス更新は図6(b)の手順で行われ、そこで呼び出されたイベント発行サーバー153によるイベントの発行は後述する図9の手順で行われてよい。
●イベント発行処理
図9は本実施形態に係る、イベント発行サーバー153におけるイベント発行フローである。本フローは、データ記憶サーバー152が記憶するライセンス情報が変更された際に、イベント発行サーバー153が呼び出されることで開始される。
図9は本実施形態に係る、イベント発行サーバー153におけるイベント発行フローである。本フローは、データ記憶サーバー152が記憶するライセンス情報が変更された際に、イベント発行サーバー153が呼び出されることで開始される。
なお本フローのステップS412までは第1の実施形態の図4と共通である。そこでここでは、ステップS412でライセンス情報の適用タイミングが「予約」でないと判断した際に遷移する、ステップS1001以降について説明する。
ステップS1001で第3のライセンス情報取得モジュール331は、ステップS411で受信したライセンス情報の1つ前のライセンス情報を取得する。例えばステップS411で受信したライセンス情報が、表1の2つ目のライセンス情報だったとする。この場合、テナント識別子が "Tenant001" かつライセンス種別が "MfpManagement" のライセンス情報の内、ライセンス適用日時が2018年3月1日の8時以前かつ最新のライセンス情報を取得する。結果的にステップS1001では、表1の1つ目のライセンスが取得される。
ステップS1002で第2の状態遷移判断モジュール332は、ステップS411で受信したライセンス情報とステップS1001で取得したライセンス情報との間のライセンス状態の状態遷移が、イベント発行対象であるか判断する。判断の結果イベント発行対象であると判断された場合はステップS1003に遷移し、対象でないと判断された場合はステップS450に遷移する。なお判断に際しては、表4で前述したような、ライセンス状態分類テーブルが参照される。
ここで、ステップステップS1002で記憶したライセンス情報とステップS1001で取得したライセンス情報のライセンス状態がそれぞれ、"Product" および "Disabled" だったとする。この場合 "Product" は有効ライセンス状態群に含まれるが、"Disabled" は無効ライセンス状態群に含まれるため、ライセンス状態は有効なものから無効なものへの状態遷移となる。よってこの場合はイベント発行対象であると判断され、ステップS1003に遷移する。
ステップS1003で第2のイベント発行モジュール333は、ライセンス状態変更イベントを発行し、フローを終了する。
本実施形態によれば、ライセンス情報のライセンス状態が有効な状態と無効な状態との間で状態遷移した場合にライセンス状態変更イベントが発行される。またライセンス情報のライセンス状態が有効な状態同士や無効な状態同士で状態遷移した場合にはライセンス状態変更イベント発行が抑止される。こうすることによってサービス提供サーバーは、ライセンス状態が有効なものと無効なものの間で切り替わった場合にのみ、ライセンス状態変更イベントを受信できるようになる。
なお、上記実施形態では、ライセンスの範囲の変更はサービスライセンス管理サーバー151により管理され、その範囲に応じたライセンスの有効/無効がライセンス情報に反映されてサービス提供サーバーにイベント通知されるものとした。しかし、たとえばライセンスの有効期限や提供機能等のライセンス範囲をライセンス情報に含め、サービス提供サーバーがライセンス範囲を参照してライセンスの有効又は無効を判定してもよい。その場合には、ライセンスの有効/無効のみならず、ライセンスの範囲(機能的範囲、ライセンシーの範囲および有効期間の範囲など)が変更される場合には、そのライセンス情報は更新され、関係するサービス提供サーバーに通知されるべきである。そこで、図8のステップS802においては、表4のように単に有効/無効の区別ではなく、ライセンスの範囲の変更の有無に基づいてイベント発行対象か否かを決めてもよい。この場合、ライセンスの範囲の変更があればイベント発行対象と決定する。例えば、製品版のライセンスと試用版のライセンスとが同じ範囲のライセンスであれば表4を用いてよい。しかし、例えば試用版には限定的な有効期間が設定されている場合などには、試用版から製品版のライセンスに切り替えられた場合には、異なるライセンス状態としてイベント発行対象としてよい。あるいは、サービス提供サーバーはライセンスの範囲が変更された場合にのみ、ライセンス状態変更イベントを受信できるようになる。この場合ステップS1002の判定にも、ステップS802と同一の判定基準を用いてよい。
このように構成することで、ライセンス範囲の管理をサービス提供サーバーに行わるシステムについてもPub/Subメッセージングモデルを適用することができる。
また実施形態のシステムは複数のサーバーで構成されているが、サービス提供システムを除くサーバーをサービスライセンス管理サーバーにまとめてもよい。そしてサーバーの構成に関わらず、サービス提供システムを除くサーバーまたはサーバー群を例えばライセンス管理システムと呼んでもよい。これにサービス提供サーバーを含めたシステムは例えばサービス提供システムと呼んでもよい。
上記実施形態ではライセンスの追加および変更について説明したが、ライセンスの停止および削除についても同様にライセンス情報を更新し、その更新によりライセンス情報が変更されていればその変更を変更通知イベントによりサービス提供サーバーに通知してよい。
[その他の実施例]
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
301 ライセンス情報記憶モジュール、302 呼び出しモジュール、303 第1のイベント発行モジュール、304 第1の適用タイミング判断モジュール、314 第2の適用タイミング判断モジュール、315 ライセンス状態適用判断モジュール、322 第1の状態遷移判断モジュール、332 第2の状態遷移判断モジュール、333 第2のイベント発行モジュール
Claims (10)
- ライセンスごとに、サービスの利用可否に関わるライセンス状態と前記ライセンス状態が適用される適用タイミングとを対応付けたライセンス情報を記憶するライセンス情報管理手段と、
前記ライセンス情報に新たなライセンスについての前記ライセンス情報が追加されたことに応じて、前記ライセンス状態の変更を通知する状態変更イベントをサービス提供サーバーに対して発行するイベント発行手段とを有し、
前記イベント発行手段は、追加された前記ライセンス情報の適用タイミングが即時でない場合には、前記状態変更イベントを発行しないことを特徴とするライセンス管理システム。 - 請求項1に記載のライセンス管理システムであって、
前記ライセンス管理手段はさらに、記憶した前記ライセンス情報のうちから、前記適用タイミングが即時でなく、かつ前記適用タイミングに達した前記ライセンス情報を特定する特定処理を行い、特定した前記ライセンス情報を更新し、
前記イベント発行手段は、特定した前記ライセンス情報について前記ライセンス状態の変更を通知する前記状態変更イベントを発行することを特徴とするライセンス管理システム。 - 請求項2に記載のライセンス管理システムであって、
前記ライセンス管理手段は、前記特定処理を定期的に繰り返すことを特徴とするライセンス管理システム。 - 請求項2又は3に記載のライセンス管理システムであって、
前記ライセンス情報にはさらに、ライセンス適用日時と前記ライセンス情報の更新日時とを含み、
前記ライセンス管理手段は、記憶した前記ライセンス情報のうちで、前記適用タイミングが即時でなく、かつ、前記ライセンス適用日時が、前記特定処理を前回に行った後の日時となる前記ライセンス情報を、前記適用タイミングに達した前記ライセンス情報として特定することを特徴とするライセンス管理システム。 - 請求項4に記載のライセンス管理システムであって、
前記ライセンス状態は、サービスを利用できる状態と、サービスを利用できない状態とのいずれかを示し、
前記イベント発行手段は、前記特定されたライセンス情報のうち、前記ライセンス状態が、サービスを利用できる状態とサービスを利用できない状態との間で変化している場合に前記状態変更イベントを発行し、そうでない場合には前記状態変更イベントを発行しないことを特徴とするライセンス管理システム。 - 請求項5に記載のライセンス管理システムであって、
前記ライセンス管理手段は、前記特定されたライセンス情報のうち、前記ライセンス状態が、サービスを利用できる状態とサービスを利用できない状態との間で変化している場合に前記特定されたライセンス情報を更新することを特徴とするライセンス管理システム。 - 請求項1乃至6のいずれか一項記載のライセンス管理システムであって、
前記サービス提供サーバーは、前記イベント発行手段により発行された状態変更イベントを受信し、該状態変更イベントに示されたライセンス状態に応じて、クライアントからの要求に応じてサービスを提供することを特徴とするライセンス管理システム。 - ライセンス管理システムとサービス提供サーバーとを含むサービス提供システムであって、
前記ライセンス管理システムは、ライセンスごとに、サービスの利用可否に関わるライセンス状態と前記ライセンス状態が適用される適用タイミングとを対応付けたライセンス情報を記憶するライセンス情報管理手段と、
前記ライセンス情報に新たなライセンスについての前記ライセンス情報が追加されたことに応じて、前記ライセンス状態の変更を通知する状態変更イベントをサービス提供サーバーに対して発行するイベント発行手段とを有し、
前記イベント発行手段は、追加された前記ライセンス情報の適用タイミングが即時でない場合には、前記状態変更イベントを発行せず、
前記サービス提供サーバーは、前記イベント発行手段により発行された状態変更イベントを受信し、該状態変更イベントに示されたライセンス状態に応じて、クライアントからの要求に応じてサービスを提供することを特徴とするサービス提供システム。 - ライセンスごとに、サービスの利用可否に関わるライセンス状態と前記ライセンス状態が適用される適用タイミングとを対応付けたライセンス情報を記憶するライセンス情報管理工程と、
前記ライセンス情報に新たなライセンスについての前記ライセンス情報が追加されたことに応じて、前記ライセンス状態の変更を通知する状態変更イベントをサービス提供サーバーに対して発行するイベント発行工程とを有し、
前記イベント発行工程では、追加された前記ライセンス情報の適用タイミングが即時でない場合には、前記状態変更イベントを発行しないことを特徴とするライセンス管理方法。 - ライセンスごとに、サービスの利用可否に関わるライセンス状態と前記ライセンス状態が適用される適用タイミングとを対応付けたライセンス情報を記憶するライセンス情報管理手段と、
前記ライセンス情報に新たなライセンスについての前記ライセンス情報が追加されたことに応じて、前記ライセンス状態の変更を通知する状態変更イベントをサービス提供サーバーに対して発行するイベント発行手段としてコンピュータをきのうさせるためのプログラムであって、
前記イベント発行手段は、追加された前記ライセンス情報の適用タイミングが即時でない場合には、前記状態変更イベントを発行しないことを特徴とするプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018117312A JP2019219957A (ja) | 2018-06-20 | 2018-06-20 | ライセンス管理システム及び方法、サービス提供システム、プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018117312A JP2019219957A (ja) | 2018-06-20 | 2018-06-20 | ライセンス管理システム及び方法、サービス提供システム、プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2019219957A true JP2019219957A (ja) | 2019-12-26 |
Family
ID=69096640
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018117312A Pending JP2019219957A (ja) | 2018-06-20 | 2018-06-20 | ライセンス管理システム及び方法、サービス提供システム、プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2019219957A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021112123A1 (ja) | 2019-12-04 | 2021-06-10 | キヤノン株式会社 | 電子写真用クリーニングブレード、プロセスカートリッジ、及び電子写真画像形成装置 |
-
2018
- 2018-06-20 JP JP2018117312A patent/JP2019219957A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021112123A1 (ja) | 2019-12-04 | 2021-06-10 | キヤノン株式会社 | 電子写真用クリーニングブレード、プロセスカートリッジ、及び電子写真画像形成装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8763145B2 (en) | Cloud system, license management method for cloud service | |
WO2010116676A1 (ja) | サービス提供装置、サービス提供システム、サービス提供装置のデータ処理方法およびコンピュータプログラム | |
JP5841177B2 (ja) | マルチサーバ予約システムにおける同期化メカニズムのための方法及びシステム | |
JP2948496B2 (ja) | データ処理システム内で複写データ一貫性を維持するためのシステムおよび方法 | |
RU2432613C2 (ru) | Управление усовершенствованными совокупностями присутствия | |
JP5206674B2 (ja) | 仮想マシン管理装置、仮想マシン管理方法および仮想マシン管理プログラム | |
CN101309175B (zh) | 网格许可服务器和容错网格系统及使用方法 | |
JP5512215B2 (ja) | ジョブ処理システム及びその方法、そのプログラム | |
JP5449283B2 (ja) | クラウド共用型リソース提供システム | |
CN101243445A (zh) | 数据变更通告 | |
US9635207B2 (en) | Management system and information processing apparatus managing installation and settings of an application | |
MX2014002956A (es) | Mercado digial para la distribucion a tiempo de datos de evento. | |
JP2003296171A (ja) | 電子帳票管理方法及びプログラム | |
EP2658218A1 (en) | Bulk management of registry objects | |
JP4812680B2 (ja) | アクセス制御装置 | |
JP2016224758A (ja) | アップロード管理システム、アップロード管理システムの制御方法、及びプログラム | |
EP2812879B1 (en) | Efficiently receiving messages across a large number of messaging entities | |
JP2019219957A (ja) | ライセンス管理システム及び方法、サービス提供システム、プログラム | |
JP2005202851A (ja) | 仮想私設組織に対するポリシの実施システム及びその方法 | |
US20180027049A1 (en) | Computing system and method of operating the computer system | |
JP2019028599A (ja) | 情報処理システムおよび制御方法 | |
JP5320053B2 (ja) | 資産情報管理システムと資産情報管理プログラム | |
JP6195352B2 (ja) | 配信制御装置、配信制御方法、プログラム、並びに、配信制御システム及びその制御方法 | |
JP7123621B2 (ja) | デバイス管理システム及び方法 | |
GB2552357A (en) | Computing system and method of operating the computing system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20210103 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210113 |