(57)【特許請求の範囲】
【請求項１】
アプリケーションの実行に必要なライセンスが付与される単位である前記アプリケーションの実行単位によって前記アプリケーションが新たに実行される前に、前記アプリケーションを新たに実行する前記実行単位に対して第一の種別の前記ライセンスを付与可能か否かを判定する判定手段と、
前記第一の種別のライセンスを付与不能である場合、前記アプリケーションを新たに実行する前記実行単位に対して、第二の種別の前記ライセンスを付与する付与手段と、
前記第二の種別のライセンスを用いて前記アプリケーションを実行するように前記実行単位を制御する制御手段と、
を備え、
前記判定手段は、前記第一の種別のライセンスである売り切り型のライセンスが付与されて前記アプリケーションを実行している前記実行単位の数が所定の値であるか否かを判定し、
前記付与手段は、前記実行単位の数が前記所定の値である場合、前記アプリケーションを新たに実行する前記実行単位に対して、前記第二の種別のライセンスである従量課金型あるいはサブスクリプション型のライセンスを付与する、
ライセンス管理装置。
【請求項２】
前記第二の種別のライセンスが付与された前記実行単位による前記アプリケーションの実行状況を監視することによって、前記アプリケーションの実行実績を管理する監視手段をさらに備え、
前記判定手段は、前記実行実績と変更基準とに基づいて、前記実行単位に付与する前記ライセンスの種別を変更する必要があるか否かを判定し、
前記付与手段は、前記実行単位に付与する前記ライセンスの種別を変更する必要がある場合、前記実行単位に付与する前記ライセンスの種別を、前記従量課金型から前記サブスクリプション型に、あるいは、前記サブスクリプション型から前記従量課金型に変更する、
請求項１に記載のライセンス管理装置。
【請求項３】
前記付与手段は、前記実行単位に付与する前記ライセンスの種別を変更する必要がある場合、前記実行単位に付与する前記ライセンスの種別を、前記第二の種別から前記第一の種別に変更する、
請求項２に記載のライセンス管理装置。
【請求項４】
前記付与手段が前記実行単位に付与する前記ライセンスの種別を変更する際に用いる変更基準を更新する更新手段をさらに備える、
請求項３に記載のライセンス管理装置。
【請求項５】
前記付与手段は、前記実行単位に対して、前記第二の種別のライセンスを付与する代わりに、実行可能な前記アプリケーションの機能が制限された第三の種別の前記ライセンスを付与する、
請求項１乃至請求項４のいずれか一項に記載のライセンス管理装置。
【請求項６】
前記実行単位による前記アプリケーションの実行において処理可能なデータ通信量の累積値の最大値が決められた前記第一の種別のライセンスを付与された前記実行単位によって処理された前記データ通信量を監視することによって、前記データ通信量の累積値を算出する算出手段をさらに備え、
前記判定手段は、前記算出手段によって算出された前記データ通信量の累積値が前記最大値に到達したか否かを判定し、
前記付与手段は、前記データ通信量の累積値が前記最大値に到達した場合、前記累積値が前記最大値を超えることを許可する前記第二の種別のライセンスを前記実行単位に付与する、
請求項１に記載のライセンス管理装置。
【請求項７】
前記実行単位は、コンテナ、あるいは仮想マシン、あるいは、ＩｏＴ（Internet of Things）システムにおけるデバイス、あるいは、前記アプリケーションの実行を指示したユーザである、
請求項１乃至請求項６のいずれか一項に記載のライセンス管理装置。
【請求項８】
情報処理装置によって、
アプリケーションの実行に必要なライセンスが付与される単位である前記アプリケーションの実行単位によって前記アプリケーションが新たに実行される前に、前記アプリケーションを新たに実行する前記実行単位に対して第一の種別の前記ライセンスを付与可能か否かを判定し、
前記第一の種別のライセンスを付与不能である場合、前記アプリケーションを新たに実行する前記実行単位に対して、第二の種別の前記ライセンスを付与し、
前記第二の種別のライセンスを用いて前記アプリケーションを実行するように前記実行単位を制御する方法であって、
前記第一の種別のライセンスである売り切り型のライセンスが付与されて前記アプリケーションを実行している前記実行単位の数が所定の値であるか否かを判定し、
前記実行単位の数が前記所定の値である場合、前記アプリケーションを新たに実行する前記実行単位に対して、前記第二の種別のライセンスである従量課金型あるいはサブスクリプション型のライセンスを付与する、
ライセンス管理方法。
【請求項９】
アプリケーションの実行に必要なライセンスが付与される単位である前記アプリケーションの実行単位によって前記アプリケーションが新たに実行される前に、前記アプリケーションを新たに実行する前記実行単位に対して第一の種別の前記ライセンスを付与可能か否かを判定する判定処理と、
前記第一の種別のライセンスを付与不能である場合、前記アプリケーションを新たに実行する前記実行単位に対して、第二の種別の前記ライセンスを付与する付与処理と、
前記第二の種別のライセンスを用いて前記アプリケーションを実行するように前記実行単位を制御する制御処理と、
をコンピュータに実行させるためのプログラムであって、
前記判定処理は、前記第一の種別のライセンスである売り切り型のライセンスが付与されて前記アプリケーションを実行している前記実行単位の数が所定の値であるか否かを判定し、
前記付与処理は、前記実行単位の数が前記所定の値である場合、前記アプリケーションを新たに実行する前記実行単位に対して、前記第二の種別のライセンスである従量課金型あるいはサブスクリプション型のライセンスを付与する、
ライセンス管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本願発明は、アプリケーションの実行に必要なライセンスを管理する技術に関する。
【背景技術】
【０００２】
近年のコンピュータシステムは、アプリケーションソフトウェア（本願では以降、単にアプリケーションと称する）を実行する環境として、コンテナ環境や仮想化環境等を実装することによって、アプリケーションによるサービスの提供に最適な構成を柔軟に構築する。このようなコンピュータシステムでは、アプリケーションの実行環境（例えばコンテナや仮想マシン）に関する動的なスケールアウト（実行環境の追加）やスケールイン（実行環境の削減）が行われる。
【０００３】
一方、アプリケーションを実行するためには、その実行環境に対してライセンスを付与することが必要となる。したがって、上述のような、アプリケーションの実行環境の構成が動的に変更されるシステムにおいて、実行環境にライセンスを付与できるようにライセンスを適切に管理する技術への期待が高まってきている。
【０００４】
このような技術に関連する技術として、特許文献１には、複数のコンピュータが接続され、アプリケーションが仮想サーバ上で起動される際に課金によってライセンスを許可するライセンス管理システムが開示されている。このシステムは、課金のタイプを判断し、その判断に基づく課金のタイプに応じたライセンスの数をカウントし、そのカウントの結果を、ライセンスを許可するサーバに送信する。そして、ライセンスを許可するサーバは、送信されたカウント数が同時に利用できるライセンス数を超えているか否かを判断し、その判断結果に基づいて、ライセンスを許可するか否かを決定する。
【０００５】
また、特許文献２には、異なる種類のソフトウェアを同時利用できるソフトウェアの本数の契約情報を管理するシステムが開示されている。このシステムは、クライアントからソフトウェアの利用許諾要求があった際に、当該契約情報に合致するソフトウェアであり、かつ、同時利用できるソフトウェアの本数以下であるときに、当該クライアントにソフトウェアのライセンスを発行する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１０−２６７００９号公報
【特許文献２】特開２００８−２３４５５６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
アプリケーションの実行は、通常、そのアプリケーションのベンダー等から購入したライセンス数の範囲内で行うことが許可される。したがって、上述したコンテナ環境や仮想化環境等を実装したコンピュータシステムにおいて、アプリケーションの実行環境をスケールアウトするときに、既に購入したライセンス数分のアプリケーションを実行済みである場合は、スケールアウトにより追加した実行環境に、新たに当該アプリケーションを実行させることはできない。この場合において、スケールアウトにより追加した実行環境に新たに当該アプリケーションを実行させるためには、ライセンスを追加購入する必要がある。
【０００８】
この場合、通常、ライセンスを追加購入するための契約手続きや発注等の処理が必要となる。また、当該アプリケーションが高価である場合などでは、ライセンスを追加購入するか否かに関するビジネス的な判断なども必要となる。即ち、既に購入したライセンス数分のアプリケーションを実行済みである状態においてアプリケーションの実行環境を速やかにスケールアウトすることは困難である。特許文献１及び２は、アプリケーションの実行環境を速やかに追加することができるようにするための技術に関して特に言及していない。
【０００９】
本願発明の主たる目的は、新たなアプリケーションの実行環境を速やかに追加することがライセンス管理上の問題によって困難な場合であっても、当該実行環境を速やかに追加できるようにするライセンス管理装置等を提供することである。
【課題を解決するための手段】
【００１０】
本願発明の一態様に係るライセンス管理装置は、アプリケーションの実行に必要なライセンスが付与される単位である前記アプリケーションの実行単位によって前記アプリケーションが新たに実行される前に、前記アプリケーションを新たに実行する前記実行単位に対して第一の種別の前記ライセンスを付与可能か否かを判定する判定手段と、前記第一の種別のライセンスを付与不能である場合、前記アプリケーションを新たに実行する前記実行単位に対して、第二の種別の前記ライセンスを付与する付与手段と、前記第二の種別のライセンスを用いて前記アプリケーションを実行するように前記実行単位を制御する制御手段と、を備える。
【００１１】
上記目的を達成する他の見地において、本願発明の一態様に係るライセンス管理方法は、情報処理装置によって、アプリケーションの実行に必要なライセンスが付与される単位である前記アプリケーションの実行単位によって前記アプリケーションが新たに実行される前に、前記アプリケーションを新たに実行する前記実行単位に対して第一の種別の前記ライセンスを付与可能か否かを判定し、前記第一の種別のライセンスを付与不能である場合、前記アプリケーションを新たに実行する前記実行単位に対して、第二の種別の前記ライセンスを付与し、前記第二の種別のライセンスを用いて前記アプリケーションを実行するように前記実行単位を制御する。
【００１２】
また、上記目的を達成する更なる見地において、本願発明の一態様に係るライセンス管理プログラムは、アプリケーションの実行に必要なライセンスが付与される単位である前記アプリケーションの実行単位によって前記アプリケーションが新たに実行される前に、前記アプリケーションを新たに実行する前記実行単位に対して第一の種別の前記ライセンスを付与可能か否かを判定する判定処理と、前記第一の種別のライセンスを付与不能である場合、前記アプリケーションを新たに実行する前記実行単位に対して、第二の種別の前記ライセンスを付与する付与処理と、前記第二の種別のライセンスを用いて前記アプリケーションを実行するように前記実行単位を制御する制御処理と、をコンピュータに実行させる。
【００１３】
更に、本願発明は、係るライセンス管理プログラム（コンピュータプログラム）が格納された、コンピュータ読み取り可能な、不揮発性の記録媒体によっても実現可能である。
【発明の効果】
【００１４】
本願発明は、新たなアプリケーションの実行環境を速やかに追加することがライセンス管理上の問題によって困難な場合であっても、当該実行環境を速やかに追加することを可能とする。
【図面の簡単な説明】
【００１５】
【図１】本願発明の第１の実施形態に係るライセンス管理システム１の構成を示すブロック図である。
【図２】本願発明の第１の実施形態に係るライセンス管理情報１７１の内容（アプリケーション２００を実行するコンテナ２１を新たに追加する場合）を例示する図である。
【図３】本願発明の第１の実施形態に係るライセンス管理装置１０が、アプリケーション２００を実行するコンテナ２１がスケールアウトにより追加される際に、当該コンテナ２１にライセンスを付与する動作を示すフローチャートである。
【図４】本願発明の第１の実施形態に係る変更基準１７３の内容を例示する図である。
【図５】本願発明の第１の実施形態に係るライセンス管理情報１７１の内容（アプリケーション２００の実行実績１７２及び変更基準１７３に基づいて、コンテナ２１に付与するライセンスの種別を変更する場合）を例示する図である。
【図６】本願発明の第１の実施形態に係るライセンス管理装置１０が、実行実績１７２と変更基準１７３とに基づいて、コンテナ２１に付与するライセンスの種別を変更する動作を示すフローチャートである。
【図７】本願発明の第２の実施形態に係るライセンス管理装置４０の構成を示すブロック図である。
【図８】本願発明の各実施形態に係るライセンス管理装置を実行可能な情報処理装置９００の構成を示すブロック図である。
【発明を実施するための形態】
【００１６】
以下、本願発明の実施の形態について図面を参照して詳細に説明する。
【００１７】
＜第１の実施形態＞
図１は、本願発明の第１の実施の形態に係るライセンス管理システム１の構成を示すブロック図である。ライセンス管理システム１は、大別して、ライセンス管理装置１０と、アプリケーション実行環境２０とを有する。ライセンス管理装置１０とアプリケーション実行環境２０とは、通信ネットワーク３０によって通信可能に接続されている。通信ネットワーク３０は、例えばインターネットやイントラネットであり、ＷＡＮ（Wide Area Network）やＬＡＮ（Local Area Network）等によって構成されている。
【００１８】
アプリケーション実行環境２０は、１以上のサーバ装置等の情報処理装置によって構成され、ｎ（ｎは任意の自然数）個のコンテナ２１−１乃至２１−ｎを含んでいる。尚、本実施形態の説明では以降、コンテナ２１−１乃至２１−ｎの総称、あるいはそれらのいずれかを、単にコンテナ２１と称する場合がある。各コンテナ２１は、アプリケーション２００を実行可能である。
【００１９】
本実施形態に係るライセンス管理装置１０は、アプリケーション２００の実行に必要なコンテナ２１に付与するライセンスを管理する装置である。但し、本実施形態に係るライセンス管理システム１では、コンテナ２１が、ライセンスが付与される単位であるアプリケーション２００の実行単位であることとする。
【００２０】
ライセンス管理装置１０は、判定部１１、付与部１２、制御部１３、監視部１４、更新部１５、及び、記憶部１７を備えている。
【００２１】
記憶部１７は、例えばＨＤＤ（Hard Disk Drive）あるいは電子メモリ等の記憶デバイスであり、後述するライセンス管理情報１７１、実行実績１７２、及び、変更基準１７３を記憶している。
【００２２】
＜スケールアウトにより追加されたコンテナ２１に新たにライセンスを付与する動作＞
まず、本実施形態に係るライセンス管理装置１０が、アプリケーション２００を実行するコンテナ２１がスケールアウトにより追加される際において、当該コンテナ２１にライセンスを付与する動作について説明する。
【００２３】
判定部１１は、アプリケーション実行環境２０において、アプリケーション２００を実行するためのコンテナ２１がスケールアウトにより追加される場合において、新たにアプリケーション２００を実行するコンテナ２１に対して、売り切り型のライセンス（以降、売り切りライセンスと称する場合がある）が付与可能か否かを判定する。但し、売り切りライセンスは、ライセンスの購入後において、アプリケーション２００の実行に伴う費用が発生しないライセンスである。売り切りライセンスは、第一の種別のライセンスの一例である。
【００２４】
判定部１１は、より具体的には、アプリケーション実行環境２０において、アプリケーション２００を実行済みであるコンテナ２１の数が、購入済み（契約済み）の売り切りライセンスの数と等しいか否かを判定する。但し、判定部１１には、アプリケーション２００に関する購入済みの売り切りライセンスの数が与えられていることとする。判定部１１は、コンテナ２１に対するライセンスの付与状況を、後述するライセンス管理情報１７１を参照することによって取得可能である。
【００２５】
判定部１１は、アプリケーション２００を実行済みであるコンテナ２１の数が購入済みの売り切りライセンスの数よりも小さい場合、新たにアプリケーション２００を実行するコンテナ２１に対して、売り切りライセンスを付与可能と判定する。判定部１１は、アプリケーション２００を実行済みであるコンテナ２１の数が購入済みの売り切りライセンスの数と等しい場合、新たにアプリケーション２００を実行するコンテナ２１に対して、売り切りライセンスを付与不能と判定する。
【００２６】
判定部１１は、上述した売り切りライセンスの付与に関する判定結果を、付与部１２に通知する。
【００２７】
付与部１２は、判定部１１から通知された判定結果に基づいて、新たにアプリケーション２００を実行するコンテナ２１に対して、ライセンスを付与する。付与部１２は、新たにアプリケーション２００を実行するコンテナ２１に対して、売り切りライセンスを付与可能である場合、そのコンテナ２１に対して売り切りライセンスを付与する。
【００２８】
付与部１２は、新たにアプリケーション２００を実行するコンテナ２１に対して、売り切りライセンスを付与不能である場合、そのコンテナ２１に対して、従量課金型のライセンス（以降、従量課金ライセンスと称する場合がある）、あるいはサブスクリプション型のライセンス（以降、サブスクリプションライセンスと称する場合がある）を付与する。従量課金ライセンス及びサブスクリプションライセンスは、第二の種別のライセンスの一例である。
【００２９】
ここで、従量課金ライセンス及びサブスクリプションライセンスについて説明する。従量課金ライセンスは、アプリケーション２００の使用実績（例えば実行時間など）に応じて費用が発生するライセンスである。即ち、従量課金ライセンスが付与されたコンテナ２１では、アプリケーション２００を実行すればするほど、費用は高くなる。サブスクリプションライセンスは、所定の期間（例えば１ヶ月）毎に、アプリケーション２００の使用実績にかかわらず定額の費用が発生するライセンスである。即ち、サブスクリプションライセンスが付与されたコンテナ２１では、アプリケーション２００を実行する期間が長くなればなるほど、費用は高くなる。
【００３０】
従量課金ライセンスが付与された場合、売り切りライセンスが付与された場合とは異なり、アプリケーション２００の実行を開始する時点において費用は発生しない。また、サブスクリプションライセンスが付与された場合、アプリケーション２００の実行を開始する時点において、例えば最初の１ヶ月分の費用が発生するが、その費用は通常、売り切りライセンスが付与された場合において発生するライセンスの購入費用よりも大幅に安価である。
【００３１】
以上のことからわかるように、アプリケーション２００を実行するためのコンテナ２１をスケールアウトにより追加する場合において、高価な売り切りライセンスを追加購入することよりも、従量課金ライセンスあるいはサブスクリプションライセンスをコンテナ２１に付与することの方が安易に（即ち速やかに）実現可能である。
【００３２】
図２は、本実施形態に係るライセンス管理情報１７１の内容を例示する図である。図２の（ａ）は、アプリケーション２００を実行するコンテナ２１を新たに追加する前のライセンス管理情報１７１の内容を例示している。図２の（ａ）に例示する通り、コンテナ２１−１乃至２１−４は売り切りライセンスが付与され、コンテナ２１−５はサブスクリプションライセンスが付与され、コンテナ２１−６は従量課金ライセンスが付与されている。即ち、図２に示す例では、アプリケーション実行環境２０において、購入済みの売り切りライセンスの数は「４」である。
【００３３】
図２の（ｂ）は、アプリケーション２００を実行するコンテナ２１−７を新たに追加した後のライセンス管理情報１７１の内容を例示している。図２に示す例では、判定部１１は、新たにアプリケーション２００を実行するコンテナ２１−７に対して、売り切りライセンスを付与不能と判定する。そして、付与部１２は、判定部１１による判定結果に基づいて、コンテナ２１−７に対して従量課金ライセンスを付与する。尚、図２に示す例において、付与部１２は、コンテナ２１−７に対してサブスクリプションライセンスを付与してもよい。
【００３４】
付与部１２は、図２に示す例の場合、コンテナ２１−７に対して従量課金ライセンスを付与したのちに、ライセンス管理情報１７１を、図２の（ａ）に例示する内容から、図２の（ｂ）に例示する内容に更新する。
【００３５】
図１に示す制御部１３は、付与部１２がコンテナ２１に付与したライセンスを用いてアプリケーション２００を実行するようにコンテナ２１を制御する。例えば図２に示す例の場合、制御部１３は、付与部１２がコンテナ２１−７に新たに付与した従量課金ライセンスを用いてアプリケーション２００を実行するようにコンテナ２１−７を制御する。
【００３６】
次に図３のフローチャートを参照して、本実施形態に係るライセンス管理装置１０が、アプリケーション２００を実行するコンテナ２１がスケールアウトにより追加される際に、当該コンテナ２１にライセンスを付与する動作（処理）について詳細に説明する。
【００３７】
ライセンス管理装置１０は、アプリケーション実行環境２０から、アプリケーション２００を実行するコンテナ２１をスケールアウトにより追加することを受信する（ステップＳ１０１）。判定部１１は、アプリケーション実行環境２０において、売り切りライセンスを用いてアプリケーション２００を実行しているコンテナ２１の数が所定の値（購入済みの売り切りライセンスの数）か否かを判定する（ステップＳ１０２）。
【００３８】
売り切りライセンスを用いてアプリケーション２００を実行しているコンテナ２１の数が所定の値でない場合（ステップＳ１０３でＮｏ）、付与部１２は、新たに追加するコンテナ２１に売り切りライセンスを付与する（ステップＳ１０４）。売り切りライセンスを用いてアプリケーション２００を実行しているコンテナ２１の数が所定の値である場合（ステップＳ１０３でＹｅｓ）、付与部１２は、新たに追加するコンテナ２１に従量課金ライセンス、あるいはサブスクリプションライセンスを付与する（ステップＳ１０５）。
【００３９】
制御部１３は、付与したライセンスを用いてアプリケーション２００を実行するように新たに追加したコンテナ２１を制御し（ステップ１０６）、全体の処理は終了する。
【００４０】
＜コンテナ２１に付与するライセンスの種別を随時変更する動作＞
次に、本実施形態に係るライセンス管理装置１０が、実行実績１７２と変更基準１７３とに基づいて、コンテナ２１に付与するライセンスの種別を随時変更する動作について説明する。
【００４１】
図１に示す監視部１４は、アプリケーション実行環境２０において、アプリケーション２００に関して従量課金ライセンスあるいはサブスクリプションライセンスが付与されたコンテナ２１によるアプリケーション２００の実行状況を監視する。監視部１４は、アプリケーション２００の実行状況として、例えばアプリケーション２００が実行された時間を監視し、その監視結果を実行実績１７２として記憶部１７に格納して管理する。
【００４２】
判定部１１は、記憶部１７に記憶されている実行実績１７２と変更基準１７３とに基づいて、コンテナ２１に付与するアプリケーション２００に関するライセンスの種別を変更する必要があるか否かを判定する。判定部１１は、この判定動作を例えば定期的に行ってもよいし、あるいはユーザによる指示を契機として行ってもよい。
【００４３】
図４は、本実施形態に係る変更基準１７３の内容を例示する図である。図４に例示する変更基準１７３によれば、コンテナ２１によるアプリケーション２００の実行実績が１ヶ月あたり１００時間未満であり、かつ、利用開始から３ヶ月未満である場合において、そのコンテナ２１にサブスクリプションライセンスが付与されている場合、付与するライセンスを従量課金ライセンスに変更する必要があることを示している。この理由は、この場合では、サブスクリプションライセンスよりも従量課金ライセンスにした方が、アプリケーション２００の実行により発生するコストが小さくなるからである。
【００４４】
また、図４に例示する変更基準１７３によれば、コンテナ２１によるアプリケーション２００の実行実績が１ヶ月あたり１００時間以上であり、かつ、利用開始から３ヶ月未満である場合において、そのコンテナ２１に従量課金ライセンスが付与されている場合、付与するライセンスをサブスクリプションライセンスに変更する必要があることを示している。
【００４５】
また、図４に例示する変更基準１７３によれば、コンテナ２１によるアプリケーション２００の実行実績が利用開始から３ヶ月以上である場合において、そのコンテナ２１に従量課金ライセンスあるいはサブスクリプションライセンスが付与されている場合、付与するライセンスを売り切りライセンスに変更する必要があることを示している。
【００４６】
図１に示す判定部１１は、上述の判定を行った結果を、付与部１２に通知する。
【００４７】
付与部１２は、判定部１１から通知された判定結果に従い、コンテナ２１に付与するアプリケーション２００に関するライセンスの種別を、変更基準１７３が示す通りに変更する。
【００４８】
図５は、本実施形態に係るアプリケーション２００の実行実績１７２及び変更基準１７３に基づいてコンテナ２１に付与するライセンスの種別を変更する場合における、ライセンス管理情報１７１の内容を例示する図である。図５に示す例では、監視部１４、判定部１１、及び付与部１２による上述した動作によって、コンテナ２１−６に付与するライセンスが、従量課金ライセンスからサブスクリプションライセンスに変更されている。
【００４９】
本実施形態に係る変更基準１７３は、例えばユーザによって作成されたのち、記憶部１７に格納される。また、変更基準１７３は、図１に示す更新部１５によって更新される。更新部１５は、例えばユーザが入力した情報に基づいて変更基準１７３を更新する。更新部１５は、あるいは、各種別のライセンスを使用した際に発生する料金体系を表す情報を外部から入手し、入手した当該情報に基づいて、アプリケーション２００の実行により発生するコストが最小となるように変更基準１７３を更新してもよい。
【００５０】
図１に示す制御部１３は、例えば図５に示す例の場合、付与部１２によってコンテナ２１−６に付与したライセンスが従量課金ライセンスからサブスクリプションライセンスに変更されたことに伴い、サブスクリプションライセンスを用いてアプリケーション２００を実行するようにコンテナ２１−６を制御する。
【００５１】
次に図６のフローチャートを参照して、本実施形態に係るライセンス管理装置１０が、実行実績１７２と変更基準１７３とに基づいて、コンテナ２１に付与するライセンスの種別を変更する動作を（処理）について詳細に説明する。
【００５２】
監視部１４は、コンテナ２１−１乃至２１−ｎにおける、アプリケーション２００の実行実績１７２を取得する（ステップＳ２０１）。判定部１１は、各コンテナ２１の実行実績１７２が変更基準１７３を満たすか否か（ライセンスの種別を変更する必要があるか否か）を判定する（ステップＳ２０２）。
【００５３】
コンテナ２１の実行実績１７２が変更基準１７３を満たさない場合（ステップＳ２０３でＮｏ）、全体の処理は終了する。コンテナ２１の実行実績１７２が変更基準１７３を満たす場合（ステップＳ２０３でＹｅｓ）、付与部１２は、そのコンテナ２１に付与されているライセンスの種別を、変更基準１７３が示すライセンスの種別に変更する（ステップＳ２０４）。制御部１３は、変更後のライセンスを用いてアプリケーション２００を実行するようにコンテナ２１を制御し（ステップＳ２０５）。全体の処理は終了する。
【００５４】
本実施形態に係るライセンス管理装置１０は、新たなアプリケーションの実行環境を速やかに追加することがライセンス管理上の問題によって困難な場合であっても、当該実行環境を速やかに追加することができる。その理由は、ライセンス管理装置１０は、スケールアウトにより追加したコンテナ２１にアプリケーション２００に関する売り切りライセンスを付与できない場合、そのコンテナ２１に従量課金ライセンスあるいはサブスクリプションライセンスを付与することによって、そのコンテナ２１がアプリケーション２００の実行を速やかに開始できるようにするからである。
【００５５】
以下に、本実施形態に係るライセンス管理装置１０によって実現される効果について、詳細に説明する。
【００５６】
例えばコンテナ環境や仮想化環境等を実装したコンピュータシステムにおいて、アプリケーションの実行環境をスケールアウトするときに、既に購入したライセンス数分のアプリケーションを実行済みである場合は、通常、ライセンスを追加購入する必要がある。この場合、ライセンスを追加購入するための契約手続きや発注等の処理が必要となる。また、当該アプリケーションが高価である場合などでは、ライセンスを追加購入するか否かに関するビジネス的な判断なども必要となる。即ち、既に購入したライセンス数分のアプリケーションを実行済みである状態において、アプリケーションの実行環境を速やかにスケールアウトすることが困難であるという問題がある。
【００５７】
このような問題に対して、本実施形態に係るライセンス管理装置１０は、判定部１１と、付与部１２と、制御部１３と、を備え、例えば、図１乃至図６を参照して上述した通り動作する。即ち、判定部１１は、アプリケーション２００の実行に必要なライセンスが付与される単位であるコンテナ２１（アプリケーション２００の実行単位）によってアプリケーション２００が新たに実行される前に、アプリケーション２００を新たに実行するコンテナ２１に対して売り切り型（第一の種別）のライセンスを付与可能か否かを判定する。付与部１２は、売り切りライセンスを付与不能である場合、そのコンテナ２１に対して、従量課金型あるいはサブスクリプション型（第二の種別）のライセンスを付与する。そして、制御部１３は、従量課金ライセンスあるいはサブスクリプションライセンスを用いてアプリケーション２００を実行するようにコンテナ２１を制御する。
【００５８】
即ち、本実施形態に係るライセンス管理装置１０は、スケールアウトにより追加したコンテナ２１に売り切りライセンスを付与不能である場合、当該コンテナ２１によるアプリケーション２００の実行をより安易に開始可能な従量課金ライセンスあるいはサブスクリプションライセンスを当該コンテナ２１に付与する。これによりライセンス管理装置１０は、新たなアプリケーションの実行環境を速やかに追加することがライセンス管理上の問題によって困難な場合であっても、当該実行環境を速やかに追加することができる。
【００５９】
また、本実施形態に係るライセンス管理装置１０は、従量課金ライセンスあるいはサブスクリプションライセンスが付与されたコンテナ２１によるアプリケーション２００の実行状況を監視することによって、アプリケーション２００の実行実績１７２を管理する。ライセンス管理装置１０は、実行実績１７２と変更基準１７３とに基づいて、コンテナ２１に付与するライセンスの種別を変更する必要があるか否かを判定する。そしてライセンス管理装置１０は、コンテナ２１に付与するライセンスの種別を変更する必要がある場合、当該コンテナ２１に付与するライセンスの種別を変更する。したがってライセンス管理装置１０は、アプリケーション２００の実行実績に応じた最適な種別のライセンスをコンテナ２１に付与するので、例えばアプリケーション２００の実行時間が長いのにもかかわらず従量課金ライセンスが付与されていることによってコストが増加するなどの問題を回避することができる。
【００６０】
また、本実施形態に係るライセンス管理装置１０は、コンテナ２１に付与するライセンスの種別を変更する際に用いる変更基準１７３を更新する機能を備える。これによりライセンス管理装置１０は、例えば各種別のライセンスの料金体系が変更された場合であっても、その料金体系の変更に合わせて変更基準１７３を変更することによって、最適な種別のライセンスをコンテナ２１に付与することができる。
【００６１】
また、本実施形態に係るライセンス管理装置１０は、図１に示す算出部１６を備えてもよい。算出部１６は、コンテナ２１によるアプリケーション２００の実行において処理可能なデータ通信量の累積値の最大値が決められた通信量制限付きライセンス（第一の種別のライセンス）を付与されたコンテナ２１によって処理された当該データ通信量を監視することによって、当該データ通信量の累積値を算出する。判定部１１は、算出部１６によって算出されたデータ通信量の累積値が当該最大値に到達したか否かを判定する。そして付与部１２は、当該データ通信量の累積値が当該最大値に到達した場合、当該累積値が当該最大値を超えることを許可する通信量制限解除ライセンス（第二の種別のライセンス）をコンテナ２１に付与する。これによりライセンス管理装置１０は、データ通信量の累積値の最大値が決められたライセンスが付与されたコンテナ２１が、許可されたデータ通信量を全て消費した場合であっても、そのコンテナ２１によるアプリケーション２００の実行を継続することができる。尚、この場合、ライセンス管理装置１０は、コンテナ２１に付与するライセンスを、所定の時間後に、通信量制限解除ライセンスから通信量制限付きライセンスに戻すようにしてもよい。
【００６２】
また、本実施形態に係るアプリケーション実行環境２０は、コンテナ２１をアプリケーション２００の実行に必要なライセンスが付与される実行単位として含むコンテナ環境に限定されない。アプリケーション実行環境２０は、例えば、仮想マシンを当該実行単位として含む仮想化環境であってもよい。また、アプリケーション実行環境２０は、例えば、ＩｏＴ（Internet of Things）システムにおけるエッジサーバ等のデバイスを当該実行単位として含む実行環境であってもよい。
【００６３】
また、本実施形態に係るライセンス管理装置１０は、アプリケーション２００の実行に必要なライセンスを、アプリケーション実行環境２０を使用する（即ちアプリケーション２００の実行を指示する）ユーザごとに割り当てるようにしてもよい。即ちこの場合、ライセンス管理装置１０は、ユーザライセンスを管理対象とする。この場合、付与部１２は、例えば１０人分のユーザライセンス（売り切りライセンス）を購入済であるアプリケーション２００を、１１人目のユーザが実行しようとした場合において、その１１人目のユーザに対して、第二の種別のライセンス（従量課金ライセンスやサブスクリプションライセンス）を付与する。また、付与部１２は、実行単位（ユーザやコンテナ等）に対して、上述した第二の種別のライセンスを付与する代わりに、実行可能なアプリケーション２００の機能が制限された第三の種別のライセンスを付与するようにしてもよい。
【００６４】
＜第２の実施形態＞
図７は、本願発明の第２の実施形態に係るライセンス管理装置４０の構成を示すブロック図である。
【００６５】
本実施形態に係るライセンス管理装置４０は、判定部４１、付与部４２、及び、制御部４３を備えている。
【００６６】
判定部４１は、アプリケーション５００の実行に必要なライセンスが付与される単位であるアプリケーション５００の実行単位５０によってアプリケーション５００が新たに実行される前に、アプリケーション５００を新たに実行する実行単位５０に対して第一の種別のライセンス４０１を付与可能か否かを判定する。判定部４１は、例えば、実行単位５０を含むアプリケーション５００の実行環境から、新たな実行単位５０を追加することを受信した場合に、上述した判定を行う。判定部４１は、この判定結果を付与部４２へ通知する。
【００６７】
尚、本実施形態に係る実行単位５０は、例えば第一の実施形態に係るコンテナ２１であってもよいし、あるいは、仮想化環境における仮想マシンであってもよい。また、本実施形態に係る第一の種別のライセンス４０１は、例えば第一の実施形態に係る売り切りライセンスである。
【００６８】
付与部４２は、第一の種別のライセンス４０１を付与可能である場合、アプリケーション５００を新たに実行する実行単位５０に対して、第一の種別のライセンス４０１を付与する。付与部４２は、第一の種別のライセンス４０１を付与不能である場合、アプリケーション５００を新たに実行する実行単位５０に対して、第二の種別のライセンス４０２を付与する。尚、本実施形態に係る第二の種別のライセンス４０２は、例えば第一の実施形態に係る従量課金ライセンスあるいはサブスクリプションライセンスである。
【００６９】
制御部４３は、付与部４２がアプリケーション５００を新たに実行する実行単位５０に対して第一の種別のライセンス４０１を付与した場合、第一の種別のライセンス４０１を用いてアプリケーション５００を実行するように実行単位５０を制御する。制御部４３は、付与部４２がアプリケーション５００を新たに実行する実行単位５０に対して第二の種別のライセンス４０２を付与した場合、第二の種別のライセンス４０２を用いてアプリケーション５００を実行するように実行単位５０を制御する。
【００７０】
本実施形態に係るライセンス管理装置４０は、新たなアプリケーションの実行環境を速やかに追加することがライセンス管理上の問題によって困難な場合であっても、当該実行環境を速やかに追加することができる。その理由は、ライセンス管理装置４０は、追加した実行単位５０にアプリケーション５００に関する第一の種別のライセンス４０１を付与できない場合、その実行単位５０に第二の種別のライセンス４０２を付与することによって、その実行単位５０がアプリケーション５００の実行を速やかに開始できるようにするからである。
【００７１】
＜ハードウェア構成例＞
上述した各実施形態において図１、及び、図７に示したライセンス管理装置における各部は、専用のＨＷ（ＨａｒｄＷａｒｅ）（電子回路）によって実現することができる。また、図１、及び、図７において、少なくとも、下記構成は、プロセッサによって実行される命令を含むソフトウェアプログラムの機能（処理）単位（ソフトウェアモジュール）と捉えることができる。
・判定部１１及び４１、
・付与部１２及び４２、
・制御部１３及び４３、
・監視部１４、
・更新部１５、
・算出部１６、
・記憶部１７における記憶制御機能。
【００７２】
但し、これらの図面に示した各部の区分けは、説明の便宜上の構成であり、実装に際しては、様々な構成が想定され得る。この場合のハードウェア環境の一例を、図８を参照して説明する。
【００７３】
図８は、本願発明の各実施形態に係るライセンス管理装置を実行可能な情報処理装置９００（コンピュータ）の構成を例示的に説明する図である。即ち、図８は、図１、及び、図７に示したライセンス管理装置を実現可能なコンピュータ（情報処理装置）の構成であって、上述した実施形態における各機能を実現可能なハードウェア環境を表す。
【００７４】
図８に示した情報処理装置９００は、構成要素として下記を備えている。
・ＣＰＵ（Ｃｅｎｔｒａｌ＿Ｐｒｏｃｅｓｓｉｎｇ＿Ｕｎｉｔ）９０１、
・ＲＯＭ（Ｒｅａｄ＿Ｏｎｌｙ＿Ｍｅｍｏｒｙ）９０２、
・ＲＡＭ（Ｒａｎｄｏｍ＿Ａｃｃｅｓｓ＿Ｍｅｍｏｒｙ）９０３、
・ハードディスク（記憶装置）９０４、
・通信インタフェース９０５、
・バス９０６（通信線）、
・ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ＿Ｄｉｓｃ＿Ｒｅａｄ＿Ｏｎｌｙ＿Ｍｅｍｏｒｙ）等の記録媒体９０７に格納されたデータを読み書き可能なリーダライタ９０８、
・モニターやスピーカ、キーボード等の入出力インタフェース９０９。
【００７５】
即ち、上記構成要素を備える情報処理装置９００は、これらの構成がバス９０６を介して接続された一般的なコンピュータである。情報処理装置９００は、ＣＰＵ９０１を複数備える場合もあれば、マルチコアにより構成されたＣＰＵ９０１を備える場合もある。
【００７６】
そして、上述した実施形態を例に説明した本願発明は、図８に示した情報処理装置９００に対して、次の機能を実現可能なコンピュータプログラムを供給する。その機能とは、その実施形態の説明において参照したブロック構成図（図１、及び、図７）における上述した構成、或いはフローチャート（図３、及び、図６）の機能である。本願発明は、その後、そのコンピュータプログラムを、当該ハードウェアのＣＰＵ９０１に読み出して解釈し実行することによって達成される。また、当該装置内に供給されたコンピュータプログラムは、読み書き可能な揮発性のメモリ（ＲＡＭ９０３）、または、ＲＯＭ９０２やハードディスク９０４等の不揮発性の記憶デバイスに格納すれば良い。
【００７７】
また、前記の場合において、当該ハードウェア内へのコンピュータプログラムの供給方法は、現在では一般的な手順を採用することができる。その手順としては、例えば、ＣＤ−ＲＯＭ等の各種記録媒体９０７を介して当該装置内にインストールする方法や、インターネット等の通信回線を介して外部よりダウンロードする方法等がある。そして、このような場合において、本願発明は、係るコンピュータプログラムを構成するコード或いは、そのコードが格納された記録媒体９０７によって構成されると捉えることができる。
【００７８】
以上、上述した実施形態を模範的な例として本願発明を説明した。しかしながら、本願発明は、上述した実施形態には限定されない。即ち、本願発明は、本願発明のスコープ内において、当業者が理解し得る様々な態様を適用することができる。
【符号の説明】
【００７９】
１    ライセンス管理システム
１０    ライセンス管理装置
１１    判定部
１２    付与部
１３    制御部
１４    監視部
１５    更新部
１６    算出部
１７    記憶部
１７１    ライセンス管理情報
１７２    実行実績
１７３    変更基準
２０    アプリケーション実行環境
２１    コンテナ
２００    アプリケーション
３０    通信ネットワーク
４０    ライセンス管理装置
４１    判定部
４２    付与部
４３    制御部
４０１    第一の種別のライセンス
４０２    第二の種別のライセンス
５０    実行単位
５００    アプリケーション
９００    情報処理装置
９０１    ＣＰＵ
９０２    ＲＯＭ
９０３    ＲＡＭ
９０４    ハードディスク（記憶装置）
９０５    通信インタフェース
９０６    バス
９０７    記録媒体
９０８    リーダライタ
９０９    入出力インタフェース
【図１】
0006885441.tif 000002
【図２】
0006885441.tif 000003
【図３】
0006885441.tif 000004
【図４】
0006885441.tif 000005
【図５】
0006885441.tif 000006
【図６】
0006885441.tif 000007
【図７】
0006885441.tif 000008
【図８】
0006885441.tif 000009