(57)【要約】  複数機能を含むライブラリを用いつつ、ユーザに一部の機能のみを利用させることを可能とする。ライセンス発行手段（１１）は、複数の機能を含むライブラリを使用するアプリケーションプログラムに対してライセンスファイルを発行する。ライセンスファイルは、ライブラリに含まれる複数の機能のうち、使用が許可される機能を指定するための許可機能情報を含む。認証手段（１２）は、ライセンスファイルに基づいてライセンス認証を行う。機能有効化手段（１３）は、ライセンス認証の結果に基づいて、ライブラリ内の複数の機能のうち、許可機能情報で指定される機能を有効化する。プログラム実行手段（１４）は、有効化された機能を使用してアプリケーションプログラムを実行する。
2020027320.tif 000002
【特許請求の範囲】
【請求項１】
複数の機能を含むライブラリを使用するアプリケーションプログラムに対し、前記ライブラリに含まれる前記複数の機能のうち、使用が許可される機能を指定するための許可機能情報を含むライセンスファイルを発行するライセンス発行手段と、
前記ライセンスファイルに基づいてライセンス認証を行う認証手段と、
前記ライセンス認証の結果に基づいて、前記複数の機能のうち、前記許可機能情報で指定される機能を有効化する機能有効化手段と、
前記有効化された機能を使用して前記アプリケーションプログラムを実行するプログラム実行手段とを備えるライセンス管理装置。
【請求項２】
前記ライブラリは暗号化されて記憶装置に記憶されており、前記機能有効化手段は、前記許可機能情報で指定される機能を復号してメモリに展開することで前記機能を有効化し、
前記プログラム実行手段は、前記メモリに展開された機能を使用する請求項１に記載のライセンス管理装置。
【請求項３】
前記機能有効化手段は、前記アプリケーションプログラムの実行が終了すると、前記メモリに展開された機能を破棄する請求項２に記載のライセンス管理装置。
【請求項４】
前記ライセンスファイルは、前記アプリケーションプログラムが実行される装置のハードウェア情報を更に含む請求項１から３何れか１項に記載のライセンス管理装置。
【請求項５】
前記アプリケーションプログラムが実行される装置のハードウェア情報を取得するハードウェア情報取得手段を更に有し、
前記ライセンス発行手段は、前記ハードウェア情報取得手段が取得したハードウェア情報を前記ライセンスファイルに含める請求項４に記載のライセンス管理装置。
【請求項６】
前記認証手段は、前記ライセンス認証において、前記アプリケーションプログラムが実行される装置から取得されるハードウェア情報と、前記ライセンスファイルに含まれるハードウェア情報とを比較する請求項５に記載のライセンス管理装置。
【請求項７】
前記ライセンスファイルは、前記許可機能情報を含む第１の部分と、前記第１の部分を要約した第２の部分とを含み、
前記認証手段は、前記ライセンス認証において、前記第１の部分を要約し、該要約した第１の部分と前記第２の部分とを比較する請求項１から６何れか１項に記載のライセンス管理装置。
【請求項８】
前記ライセンス発行手段は、前記ライセンスファイルを発行するアプリケーションに応じて第１の部分を生成し、該生成した第１の部分を所定のハッシュ関数を用いて要約することで前記第２の部分を生成する請求項７に記載のライセンス管理装置。
【請求項９】
前記ライセンスファイルは、所定の電子装置に記憶されてユーザに提供される請求項１から８何れか１項に記載のライセンス管理装置。
【請求項１０】
前記所定の電子装置はＵＳＢ（Universal Serial Bus）ドングルである請求項９に記載のライセンス管理装置。
【請求項１１】
複数の機能を含むライブラリを使用するアプリケーションプログラムに対し、前記ライブラリに含まれる前記複数の機能のうち、使用が許可される機能を指定するための許可機能情報を含むライセンスファイルを発行するライセンス発行手段を備えるライセンス発行装置。
【請求項１２】
前記ライセンスファイルは、前記アプリケーションプログラムが実行される装置のハードウェア情報を更に含む請求項１１に記載のライセンス発行装置。
【請求項１３】
前記ライセンス発行手段は、前記アプリケーションプログラムが実行される装置からハードウェア情報を取得し、該取得したハードウェア情報を前記ライセンスファイルに含める請求項１２に記載のライセンス発行装置。
【請求項１４】
前記ライセンスファイルは、前記許可機能情報を含む第１の部分と、前記第１の部分を要約した第２の部分とを含み、
前記ライセンス発行手段は、前記ライセンスファイルを発行するアプリケーションに応じて第１の部分を生成し、該生成した第１の部分を所定のハッシュ関数を用いて要約することで第２の部分を生成する請求項１１から１３何れか１項に記載のライセンス発行装置。
【請求項１５】
複数の機能を含むライブラリを使用するアプリケーションプログラムに対して発行された、前記ライブラリに含まれる前記複数の機能のうち、使用が許可される機能を指定するための許可機能情報を含むライセンスファイルに基づいて実施されるライセンス認証の結果に基づいて、前記複数の機能のうち、前記許可機能情報で指定される機能を有効化する機能有効化手段と、
前記有効化された機能を使用して前記アプリケーションプログラムを実行するプログラム実行手段とを備えるプログラム実行装置。
【請求項１６】
前記ライブラリは暗号化されて記憶装置に記憶されており、前記機能有効化手段は、前記許可機能情報で指定される機能を復号してメモリに展開することで前記機能を有効化し、
前記プログラム実行手段は、前記メモリに展開された機能を使用する請求項１５に記載のプログラム実行装置。
【請求項１７】
機能有効化手段は、前記アプリケーションプログラムの実行が終了すると、前記メモリに展開された機能を破棄する請求項１６に記載のプログラム実行装置。
【請求項１８】
複数の機能を含むライブラリを使用するアプリケーションプログラムに対し、前記ライブラリに含まれる前記複数の機能のうち、使用が許可される機能を指定するための許可機能情報を含むライセンスファイルを発行するライセンス発行方法。
【請求項１９】
複数の機能を含むライブラリを使用するアプリケーションプログラムに対して発行された、前記ライブラリに含まれる前記複数の機能のうち、使用が許可される機能を指定するための許可機能情報を含むライセンスファイルに基づいて実施されるライセンス認証の結果に基づいて、前記複数の機能のうち、前記許可機能情報で指定される機能を有効化し、
前記有効化された機能を使用して前記アプリケーションプログラムを実行するプログラム実行方法。
【請求項２０】
コンピュータに、複数の機能を含むライブラリを使用するアプリケーションプログラムに対し、前記ライブラリに含まれる前記複数の機能のうち、使用が許可される機能を指定するための許可機能情報を含むライセンスファイルを発行する処理を実行させるためのライセンス発行プログラムを記憶するコンピュータ可読媒体。
【請求項２１】
複数の機能を含むライブラリに含まれる前記複数の機能のうち、使用が許可される機能を指定するための許可機能情報を含むライセンスファイルに基づいて実施されるライセンス認証の結果に基づいて、前記複数の機能のうち、前記許可機能情報で指定される機能を有効化し、
前記有効化された機能を使用して所定の処理を実行する処理をコンピュータに実行させるためのアプリケーションプログラムを記憶するコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、ライセンス管理装置、ライセンス発行装置及び方法、プログラム実行装置及び方法、並びにコンピュータ可読媒体に関する。
【背景技術】
【０００２】
関連技術として、ソフトウェアの不正使用を防止するために、ライセンスベースでアプリケーションプログラムの実行制御を行うことが知られている。例えば、特許文献１は、クライアントＰＣ（Personal Computer）におけるアプリケーションソフトウェアのライセンス使用を管理するソフトウェア使用制御システムを開示する。特許文献１において、ライセンス管理手段は、ユーザごとのライセンス契約の内容が登録される契約情報テーブルと、ユーザごとのライセンスの使用状況が登録されるライセンス管理テーブルとを用いて、ライセンス付与などを制御する。【０００３】
また、特許文献２は、代理端末を用いたライセンス認証を開示する。特許文献２において、業務アプリケーションは、ライセンス管理サーバと通信ができないオフライン端末にインストールされる。オフライン端末は、ライセンスファイルが存在しない場合、ライセンス認証プログラムをＵＳＢ（Universal Serial Bus）メモリに書き込む。ＵＳＢメモリは代理端末であるオンライン端末に接続され、オンライン端末は、ＵＳＢメモリから認証プログラムを読み出す。オンライン端末は、認証プログラムを実行してライセンス管理サーバにアクセスし、ライセンスファイルを取得する。オンライン端末は取得したライセンスファイルをＵＳＢメモリに書き込む。ＵＳＢメモリはオンライン端末に接続され、オンライン端末は、ＵＳＢメモリからライセンスファイルを取得して、業務アプリケーションを起動する。【０００４】
特許文献３は、ソフトウェアライセンス管理システムを開示する。特許文献３には、ＵＳＢドングルなどのハードウェアをベースとしたライセンス認証方式に代えて、ライセンスを特定の装置に紐付け、ソフトウェアの利用をその特定の装置に限定する電子的なライセンス認証方式が主流になってきている旨が記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第６１０８４５５号公報
【特許文献２】特許第６２６０２３９号公報
【特許文献３】国際公開第２０１７／２１６９００号
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ここで、業務アプリケーションにおいて、複数の機能をライブラリに登録し、ライブラリに登録された機能を利用することで、所望の処理を実現させる場合がある。ライブラリには、例えば画像から物体を検出するための機能を実現するためのプログラムと、画像に含まれる文字を認識するための機能を実現するためのプログラムとが含まれる。そのような場合に、ある業務アプリケーションでは物体検出機能のみが必要であり、他の業務アプリケーションでは文字認識機能のみが必要である場合がある。【０００７】
特許文献１〜３を含め、関連技術におけるライセンス認証では、アプリケーション全体に対して使用が許可される。その場合、ライブラリを含むアプリケーションの使用が許可されると、許可されたアプリケーションを使用するユーザは、そのアプリケーションに含まれるライブラリ全体にアクセスできる。このため、複数機能を有するライブラリ内の一部の機能について使用させたい場合は、その機能を抜き出してアプリケーションに含める必要があった。その場合、業務アプリケーションごとに異なるバージョンのライブラリをデプロイする必要があり、工数が増加する。またデプロイした異なるバージョンのライブラリが正しく動作するかなどの検証も必要となる。【０００８】
本開示は、上記に鑑み、複数機能を含む単一バージョンのライブラリを用いつつ、ユーザに一部の機能のみを利用させることが可能なライセンス管理装置、ライセンス発行装置及び方法、プログラム実行装置及び方法、並びにコンピュータ可読媒体を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するために、本開示は、複数の機能を含むライブラリを使用するアプリケーションプログラムに対し、前記ライブラリに含まれる前記複数の機能のうち、使用が許可される機能を指定するための許可機能情報を含むライセンスファイルを発行するライセンス発行手段と、前記ライセンスファイルに基づいてライセンス認証を行う認証手段と、前記ライセンス認証の結果に基づいて、前記複数の機能のうち、前記許可機能情報で指定される機能を有効化する機能有効化手段と、前記有効化された機能を使用して前記アプリケーションプログラムを実行するプログラム実行手段とを備えるライセンス管理装置を提供する。【００１０】
本開示は、また、複数の機能を含むライブラリを使用するアプリケーションプログラムに対し、前記ライブラリに含まれる前記複数の機能のうち、使用が許可される機能を指定するための許可機能情報を含むライセンスファイルを発行するライセンス発行手段を備えるライセンス発行装置を提供する。【００１１】
本開示は、複数の機能を含むライブラリを使用するアプリケーションプログラムに対して発行された、前記ライブラリに含まれる前記複数の機能のうち、使用が許可される機能を指定するための許可機能情報を含むライセンスファイルに基づいて実施されるライセンス認証の結果に基づいて、前記複数の機能のうち、前記許可機能情報で指定される機能を有効化する機能有効化手段と、前記有効化された機能を使用して前記アプリケーションプログラムを実行するプログラム実行手段とを備えるプログラム実行装置を提供する。【００１２】
本開示は、複数の機能を含むライブラリを使用するアプリケーションプログラムに対し、前記ライブラリに含まれる前記複数の機能のうち、使用が許可される機能を指定するための許可機能情報を含むライセンスファイルを発行するライセンス発行方法を提供する。【００１３】
本開示は、複数の機能を含むライブラリを使用するアプリケーションプログラムに対した発行された、前記ライブラリに含まれる前記複数の機能のうち、使用が許可される機能を指定するための許可機能情報を含むライセンスファイルに基づいて実施されるライセンス認証の結果に基づいて、前記複数の機能のうち、前記許可機能情報で指定される機能を有効化し、前記有効化された機能を使用して前記アプリケーションプログラムを実行するプログラム実行方法を提供する。【００１４】
本開示は、複数の機能を含むライブラリを使用するアプリケーションプログラムに対し、前記ライブラリに含まれる前記複数の機能のうち、使用が許可される機能を指定するための許可機能情報を含むライセンスファイルを発行する処理をコンピュータに実行させるためのライセンス発行プログラムを記憶するコンピュータ可読媒体を提供する。【００１５】
複数の機能を含むライブラリに含まれる前記複数の機能のうち、使用が許可される機能を指定するための許可機能情報を含むライセンスファイルに基づいて実施されるライセンス認証の結果に基づいて、前記複数の機能のうち、前記許可機能情報で指定される機能を有効化し、前記有効化された機能を使用して所定の処理を実行する処理をコンピュータに実行させるためのアプリケーションプログラムを記憶するコンピュータ可読媒体を提供する。
【発明の効果】
【００１６】
本開示に係るライセンス管理装置、ライセンス発行装置及び方法、プログラム実行装置及び方法、並びにコンピュータ可読媒体は、複数機能を含むライブラリを用いつつ、ユーザに一部の機能のみを利用させることができる。
【図面の簡単な説明】
【００１７】
【図１】本開示の概略的なライセンス管理装置を示すブロック図である。
【図２】本開示の一実施形態に係るライセンス管理装置を示すブロック図である。
【図３】プログラム実行装置の構成例を示すブロック図である。
【図４】ライブラリに含まれる機能と業務ＡＰとの関係を示す図である。
【図５】ライセンスファイルの具体例を示す図である。
【図６】プログラム実行装置の動作手順を示すフローチャートである。
【発明を実施するための形態】
【００１８】
本開示の実施形態の説明に先立って、本開示の概要を説明する。図１は、本開示の概略的なライセンス管理装置を示す。ライセンス管理装置１０は、ライセンス発行手段１１、認証手段１２、機能有効化手段１３、及びプログラム実行手段１４を有する。ライセンス発行手段１１は、ライブラリ２０を使用するアプリケーションプログラムに対してライセンスファイルを発行する。ライブラリ２０は、複数の機能を含む。ライセンスファイルは、ライブラリ２０に含まれる複数の機能のうち、使用が許可される機能を指定するための許可機能情報を含む。
【００１９】
認証手段１２は、ライセンスファイルに基づいてライセンス認証を行う。機能有効化手段１３は、ライセンス認証の結果に基づいて、ライブラリ２０に含まれる複数の機能のうち、ライセンスファイルに含まれる許可機能情報で指定される機能を有効化する。プログラム実行手段１４は、有効化された機能を使用してアプリケーションプログラムを実行する。
【００２０】
本開示では、ライセンスファイルは許可機能情報を含んでおり、ライブラリ２０に含まれる複数の機能のうち、許可機能情報で指定される機能が有効化される。プログラム実行手段１４は、ライブラリ２０に含まれる機能のうち、有効化された機能を使用して処理を実施する。このとき、プログラム実行手段１４は、ライブラリ２０に含まれる機能のうち、有効化されてない機能は使用できない。このようにすることで、複数機能を含むライブラリ２０を用いつつ、ユーザに一部の機能のみを利用させることができる。
【００２１】
以下、図面を参照しつつ、本開示の実施形態を説明する。図２は、本開示の一実施形態に係るライセンス管理システムを示す。ライセンス管理システム１００は、ライセンス発行装置１１０、認証サーバ１２０、プログラム提供サーバ１３０、プログラム実行装置１４０、及び、ユーザＤＢ（Database）１５０を有する。ライセンス管理システム１００において、ライセンス発行装置１１０、認証サーバ１２０、プログラム提供サーバ１３０、及びプログラム実行装置１４０は、ネットワーク２００を介して相互に接続される。ネットワーク２００は、例えば、インターネット、公衆網、専用線、又は移動体通信網などの通信網として構成される。ライセンス管理システム１００は、図１のライセンス管理装置１０に対応する。
【００２２】
プログラム実行装置１４０は、複数の機能を含むライブラリを使用するアプリケーションプログラム（業務アプリケーション）を実行する。プログラム実行装置１４０は、例えばユーザが使用するパーソナルコンピュータであり、ＣＰＵ（Central Processing Unit）、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）、ハードディスク装置、ディスプレイ、キーボード、及びマウスなどを有する。プログラム実行装置１４０は、図１の機能有効化手段１３及びプログラム実行手段１４を含んで構成される。
【００２３】
ライセンス発行装置１１０は、ライブラリを使用するアプリケーションプログラムに対して、ライセンスファイルを発行する。ライセンスファイルは、ライブラリに含まれる複数の機能ののうち、アプリケーションプログラムの実行時に使用が許可される機能を指定するための許可機能情報を含む。ライセンスファイルは、プログラム実行装置１４０のハードウェア情報を更に含んでいてもよい。ハードウェア情報は、例えばプログラム実行装置１４０に含まれるプロセッサやネットワークカードなどの識別情報を含む。ライセンス発行装置１１０は、発行したライセンスファイルの情報をユーザＤＢに登録する。ライセンス発行装置１１０は、図１のライセンス発行手段１１を含んで構成される。
【００２４】
プログラム提供サーバ１３０は、ネットワーク２００を通じて、アプリケーションプログラムをプログラム実行装置１４０に提供する。アプリケーションプログラムの提供は特定の態様には限定されない。アプリケーションプログラムは、店頭（インターネット上のマーケットプレイスを含む）などで購入可能であってよいし、郵送で送付されてもよい。アプリケーションプログラムは、ライセンス発行装置１１０が発行したライセンスファイルと共にユーザに提供される。例えば、プログラム提供サーバ１３０は、ライセンスファイルの発行をライセンス発行装置１１０に要求し、ライセンス発行装置１１０からライセンスファイルを取得する。プログラム提供サーバ１３０は、取得したライセンスファイルとアプリケーションプログラムとを、ネットワーク２００を通じてユーザに提供してもよい。あるいは、ライセンスファイルとアプリケーションとが、別々にユーザに提供されてもよい。
【００２５】
認証サーバ１２０は、プログラム実行装置１４０におけるアプリケーションプログラムの実行を認証する。認証サーバ１２０は、例えば所定のタイミングで、プログラム実行装置１４０からライセンス認証の依頼を受け付ける。認証サーバ１２０は、ライセンスファイルに基づいて、ライセンス認証を行う。このとき、認証サーバ１２０は、ライセンスファイルが改ざんされていないことを検証してもよい。
【００２６】
認証サーバ１２０は、ライセンス認証では、ユーザＤＢ１５０を参照し、ライセンス認証を要求したプログラム実行装置１４０のハードウェア情報が、ライセンスファイルを発行したプログラム実行装置１４０のハードウェア情報と一致するか否かを判断する。認証サーバ１２０は、一致すると判断した場合、認証成功を示すライセンス認証結果をプログラム実行装置１４０に返却する。認証サーバ１２０は、図１の認証手段１２を含んで構成される。
【００２７】
なお、認証サーバ１２０を用いてライセンス認証を実施するのに代えて、プログラム実行装置１４０においてライセンス認証を行ってもよい。別の言い方をすると、プログラム実行装置１４０は、図１の認証手段１２を含んで構成されてもよい。オフラインでライセンス認証を行う場合、例えばプログラム実行装置１４０において、ライセンスファイルに含まれるハードウェア情報と、プログラム実行装置１４０のハードウェア情報とを比較し、両者が一致するか否かを判断してもよい。プログラム実行装置１４０は、両者が一致する場合は認証成功と判断し、両者一致しない場合は認証失敗と判断する。
【００２８】
プログラム実行装置１４０は、ライセンス認証の結果に基づいて、ライブラリに含まれる複数の機能のうち、許可機能情報で指定される機能を有効化する。プログラム実行装置１４０上は、ライブラリに含まれる複数の機能のうち、有効化された機能を使用してアプリケーションプログラムを実行する。
【００２９】
図３は、プログラム実行装置１４０の構成例を示す。プログラム実行装置１４０は、プロセッサ１４１、メモリ１４２、及び補助記憶装置１４３を有する。補助記憶装置１４３は、例えばハードディスク装置などとして構成されている。補助記憶装置１４３は、業務ＡＰ（Application）１４４、ＨＷ（Hardware）情報取得プログラム１４６、及びライセンスファイル１４７を記憶する。プロセッサ１４１は、業務ＡＰ１４４及びＨＷ情報取得プログラム１４６を含む各種プログラムを実行する。
【００３０】
業務ＡＰ１４４は、ライブラリ１４５を含む。ライブラリ１４５は、図１のライブラリ２０に対応する。補助記憶装置１４３において、ライブラリ１４５は、暗号化されて記憶される。ライセンスファイル１４７は、業務ＡＰ１４４に対して発行される。プログラム実行装置１４０は、ライセンス発行装置１１０が発行したライセンスファイルを補助記憶装置１４３に記憶する。なお、ライセンスファイル１４７は、ＵＳＢドングル１６０などの所定の電子装置に配置されていてもよい。その場合、プログラム実行装置１４０は、ＵＳＢドングル１６０からライセンスファイル１４７を読み出せばよい。
【００３１】
ＨＷ情報取得プログラム１４６は、プログラム実行装置１４０のハードウェア情報を収集する。ＨＷ情報取得プログラム１４６は、例えばライセンス発行装置１１０から提供され、プログラム実行装置１４０にインストールされる。ＨＷ情報取得プログラム１４６は、取得したハードウェア情報をライセンス発行装置１１０に送信する。ライセンス発行装置１１０は、許可機能情報、及びハードウェア情報を含むライセンスファイルを発行する。あるいは、ライセンス発行装置１１０は、取得したハードウェア情報を、発行したライセンスファイルに対応付けてユーザＤＢ１５０に登録する。
【００３２】
図４は、ライブラリ１４５に含まれる機能と業務ＡＰ１４４との関係を示す。ここでは、業務ＡＰ＿Ａと業務ＡＰ＿Ｂの２つの業務ＡＰ１４４を考える。ライブラリ１４５は、機能１〜機能５の５つの機能を有するものとする。業務ＡＰ＿Ａは、５つの機能のうち、機能１及び機能３を使用して処理を行う。一方、業務ＡＰ＿Ｂは、機能２及び機能５を使用して処理を行う。この場合、業務ＡＰ＿Ａに対しては、機能１及び機能３を許可機能情報として含むライセンスファイルが発行される。また、業務ＡＰ＿Ｂに対しては、機能２及び機能５を許可機能情報として含むライセンスファイルが発行される。
【００３３】
図５は、ライセンスファイルの具体例を示す。ライセンスファイル１４７は、可読情報部分１４８と、要約情報部分１４９とを含む。可読情報部分１４８は、実行が許可されるユーザのユーザ名、ＰＣ名、利用期限、及び許可機能情報を含む。ライセンス発行装置１１０は、ライセンスファイルを発行する業務ＡＰ１４４に応じて可読情報部分１４８を生成する。ライセンス発行装置１１０は、可読情報部分１４８の生成では、例えば業務ＡＰ１４４と、各業務ＡＰ１４４で使用される機能とを対応付けて記憶するテーブルを参照し、業務ＡＰ１４４ごとに許可機能情報を生成する。図５の例では、許可機能情報において、使用が許可される機能として機能１及び機能２が指定されている。
【００３４】
要約情報部分１４９は、可読情報部分１４８を要約した情報部分である。ライセンス発行装置１１０は、生成した可読情報部分１４８を所定のハッシュ関数を用いて要約することで要約情報部分１４９を生成する。認証サーバ１２０又はプロセッサ１４１は、ライセンス認証において、ライセンスファイル１４７から可読情報部分１４８を読み出し、可読情報部分１４８を所定のハッシュ関数を用いて要約し、要約した情報を要約情報部分１４９と比較する。両者が一致するか否かを調べることで、可読情報部分１４８が改ざんされているか否かの判断が可能である。
【００３５】
プロセッサ１４１は、ライセンス認証の結果が認証成功を示す場合、業務ＡＰ１４４の実行において、ライブラリ１４５に含まれる機能のうち、ライセンスファイルの許可機能情報で指定される機能を有効化する。プロセッサ１４１は、例えば暗号化されたライブラリ１４５に含まれる複数の機能のうち、許可機能情報で指定されている機能のみを復号し、メモリ１４２上に展開する。プロセッサ１４１は、メモリ１４２上に展開された機能を使用して処理を実行する。プロセッサ１４１は、業務ＡＰ１４４の実行が終了すると、メモリ１４２上に展開された機能を破棄する。
【００３６】
プロセッサ１４１は、例えば、実行されるアプリケーションプログラムが業務ＡＰ＿Ａ（図４を参照）である場合、ライブラリ１４５に含まれる機能１〜機能５のうち、機能１及び機能３のみを有効化する。プロセッサ１４１は、例えば暗号化されたライブラリ１４５の機能１〜機能５のうち、機能１及び機能３の部分のみを復号し、メモリ１４２上に展開する。プロセッサ１４１は、メモリ１４２上に展開された機能１及び機能３を使用して、処理を実行する。プロセッサ１４１は、業務ＡＰ＿Ａの実行が終了すると、メモリ１４２上に展開された機能１及び機能３を破棄する。
【００３７】
図６は、プログラム実行装置１４０の動作手順を示す。ユーザがプログラム実行装置１４０上で業務ＡＰ１４４を実行すると、業務ＡＰ１４４（プロセッサ１４１）は、業務ＡＰ１４４に含まれるライブラリ１４５を初期化する（ステップＳ１）。業務ＡＰ１４４は、ステップＳ１において、ライセンスファイルをライブラリ１４５に入力する。ライブラリ１４５（プロセッサ１４１）は、ライセンスファイルを認証する（ステップＳ２）。このとき、プロセッサ１４１は、認証サーバ１２０にライセンス認証を依頼してもよいし、自身でライセンス認証を行ってもよい。ライセンス認証に失敗した場合は、処理を終了する。
【００３８】
プロセッサ１４１は、ライセンス認証に成功すると、ライセンスファイル１４７で指定された機能を有効化する（ステップＳ３）。プロセッサ１４１は、ステップＳ３では、補助記憶装置１４３に暗号化されて記憶されているライブラリ１４５から、許可機能情報で指定される機能の部分を復号する。
【００３９】
プロセッサ１４１は、復号した機能をメモリ１４２上に展開する（ステップＳ４）。プロセッサ１４１は、プログラム実行において、メモリ１４２上に展開された機能１を実行する（ステップＳ５）。また、プロセッサ１４１は、プログラム実行において、メモリ上に展開された機能２を実行する（ステップＳ６）。このとき、許可機能情報で指定されていない機能は、補助記憶装置１４３内で暗号化されており、プロセッサ１４１は、指定されていない機能は実行できない。
【００４０】
業務ＡＰ１４４（プロセッサ１４１）は、プログラム実行の終了をライブラリ１４５に通知する（ステップＳ７）。ライブラリ１４５（プロセッサ１４１）は、メモリ上に展開された機能を無効化し（ステップＳ８）、メモリ１４２は、機能１及び機能２を破棄する（ステップＳ９）。プログラム実行終了時にメモリを破棄することで、機能１及び機能２が使用不可能となる。
【００４１】
本実施形態では、ライセンス発行装置１１０は、ライブラリ内の複数の機能のうち、使用が許可される機能を指定する許可機能情報を含むライセンスファイルを発行する。プログラム実行装置１４０は、許可機能情報で指定されている機能を使用してアプリケーションプログラムを実行する。このようにすることで、ライブラリが複数の機能を有する場合に、アプリケーションプログラムが実行可能なライブラリ内の機能を、特定の機能に制限することができる。例えば、あるアプリケーションプログラムについては、ライブラリ内の特定の機能のみを実行可能とし、別のアプリケーションプログラムについては、ライブラリ内の別の機能のみを実行可能にすることができる。
【００４２】
関連技術では、アプリケーションプログラム全体に対してライセンスが発行されるため、あるアプリケーションプログラムのライセンスが認証されると、ユーザ（プログラム）は、ライブラリの全体に対してアクセスが可能となる。このため、ライブラリが複数機能を有する場合で、かつ、アプリケーションプログラムから使用可能な機能を一部の機能に制限したい場合は、ライブラリから特定の機能のみを抜き出してアプリケーションプログラムに組み込む必要があった。これに対し、本実施形態では、同じライブラリを使用して複数のアプリケーションプログラムを作成した場合に、アプリケーションプログラムごとに、ライブラリにおいて使用可能な機能を限定することができる。このため、アプリケーションプログラムの作成時に、ライブラリから特定の機能のみを抜き出してアプリケーションに組み込む必要がなくなり、アプリケーションプログラムの作成が容易になる。また、本実施形態では、許可機能情報を追加することで、アプリケーションプログラムが使用可能な機能を追加することができ、機能追加が容易である。
【００４３】
なお、上記各実施形態において、プログラムは、様々なタイプの非一時的なコンピュータ可読媒体を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記憶媒体を含む。非一時的なコンピュータ可読媒体の例は、例えばフレキシブルディスク、磁気テープ、又はハードディスクなどの磁気記録媒体、例えば光磁気ディスクなどの光磁気記録媒体、ＣＤ（compact disc）、又はＤＶＤ（digital versatile disk）などの光ディスク媒体、及び、マスクＲＯＭ、ＰＲＯＭ（programmable ROM）、ＥＰＲＯＭ（erasable PROM）、フラッシュＲＯＭ、又はＲＡＭなどの半導体メモリを含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体を用いてコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバなどの有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【００４４】
以上、本開示の実施形態を詳細に説明したが、本開示は、上記した実施形態に限定されるものではなく、本開示の趣旨を逸脱しない範囲で上記実施形態に対して変更や修正を加えたものも、本開示に含まれる。
【００４５】
例えば、上記の実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。
【００４６】
［付記１］
複数の機能を含むライブラリを使用するアプリケーションプログラムに対し、前記ライブラリに含まれる前記複数の機能のうち、使用が許可される機能を指定するための許可機能情報を含むライセンスファイルを発行するライセンス発行手段と、
前記ライセンスファイルに基づいてライセンス認証を行う認証手段と、
前記ライセンス認証の結果に基づいて、前記複数の機能のうち、前記許可機能情報で指定される機能を有効化する機能有効化手段と、
前記有効化された機能を使用して前記アプリケーションプログラムを実行するプログラム実行手段とを備えるライセンス管理装置。
【００４７】
［付記２］
前記ライブラリは暗号化されて記憶装置に記憶されており、前記機能有効化手段は、前記許可機能情報で指定される機能を復号してメモリに展開することで前記機能を有効化し、
前記プログラム実行手段は、前記メモリに展開された機能を使用する付記１に記載のライセンス管理装置。
【００４８】
［付記３］
前記機能有効化手段は、前記アプリケーションプログラムの実行が終了すると、前記メモリに展開された機能を破棄する付記２に記載のライセンス管理装置。
【００４９】
［付記４］
前記ライセンスファイルは、前記アプリケーションプログラムが実行される装置のハードウェア情報を更に含む付記１から３何れか１つに記載のライセンス管理装置。
【００５０】
［付記５］
前記アプリケーションプログラムが実行される装置のハードウェア情報を取得するハードウェア情報取得手段を更に有し、
前記ライセンス発行手段は、前記ハードウェア情報取得手段が取得したハードウェア情報を前記ライセンスファイルに含める付記４に記載のライセンス管理装置。
【００５１】
［付記６］
前記認証手段は、前記ライセンス認証において、前記アプリケーションプログラムが実行される装置から取得されるハードウェア情報と、前記ライセンスファイルに含まれるハードウェア情報とを比較する付記５に記載のライセンス管理装置。
【００５２】
［付記７］
前記ライセンスファイルは、前記許可機能情報を含む第１の部分と、前記第１の部分を要約した第２の部分とを含み、
前記認証手段は、前記ライセンス認証において、前記第１の部分を要約し、該要約した第１の部分と前記第２の部分とを比較する付記１から６何れか１つに記載のライセンス管理装置。
【００５３】
［付記８］
前記ライセンス発行手段は、前記ライセンスファイルを発行するアプリケーションに応じて第１の部分を生成し、該生成した第１の部分を所定のハッシュ関数を用いて要約することで前記第２の部分を生成する付記７に記載のライセンス管理装置。
【００５４】
［付記９］
前記ライセンスファイルは、所定の電子装置に記憶されてユーザに提供される付記１から８何れか１つに記載のライセンス管理装置。
【００５５】
［付記１０］
前記所定の電子装置はＵＳＢ（Universal Serial Bus）ドングルである付記９に記載のライセンス管理装置。
【００５６】
［付記１１］
複数の機能を含むライブラリを使用するアプリケーションプログラムに対し、前記ライブラリに含まれる前記複数の機能のうち、使用が許可される機能を指定するための許可機能情報を含むライセンスファイルを発行するライセンス発行手段を備えるライセンス発行装置。
【００５７】
［付記１２］
前記ライセンスファイルは、前記アプリケーションプログラムが実行される装置のハードウェア情報を更に含む付記１１に記載のライセンス発行装置。
【００５８】
［付記１３］
前記ライセンス発行手段は、前記アプリケーションプログラムが実行される装置からハードウェア情報を取得し、該取得したハードウェア情報を前記ライセンスファイルに含める付記１２に記載のライセンス発行装置。
【００５９】
［付記１４］
前記ライセンスファイルは、前記許可機能情報を含む第１の部分と、前記第１の部分を要約した第２の部分とを含み、
前記ライセンス発行手段は、前記ライセンスファイルを発行するアプリケーションに応じて第１の部分を生成し、該生成した第１の部分を所定のハッシュ関数を用いて要約することで第２の部分を生成する付記１１から１３何れか１つに記載のライセンス発行装置。
【００６０】
［付記１５］
複数の機能を含むライブラリを使用するアプリケーションプログラムに対して発行された、前記ライブラリに含まれる前記複数の機能のうち、使用が許可される機能を指定するための許可機能情報を含むライセンスファイルに基づいて実施されるライセンス認証の結果に基づいて、前記複数の機能のうち、前記許可機能情報で指定される機能を有効化する機能有効化手段と、
前記有効化された機能を使用して前記アプリケーションプログラムを実行するプログラム実行手段とを備えるプログラム実行装置。
【００６１】
［付記１６］
前記ライブラリは暗号化されて記憶装置に記憶されており、前記機能有効化手段は、前記許可機能情報で指定される機能を復号してメモリに展開することで前記機能を有効化し、
前記プログラム実行手段は、前記メモリに展開された機能を使用する付記１５に記載のプログラム実行装置。
【００６２】
［付記１７］
機能有効化手段は、前記アプリケーションプログラムの実行が終了すると、前記メモリに展開された機能を破棄する付記１６に記載のプログラム実行装置。
【００６３】
［付記１８］
複数の機能を含むライブラリを使用するアプリケーションプログラムに対し、前記ライブラリに含まれる前記複数の機能のうち、使用が許可される機能を指定するための許可機能情報を含むライセンスファイルを発行するライセンス発行方法。
【００６４】
［付記１９］
複数の機能を含むライブラリを使用するアプリケーションプログラムに対して発行された、前記ライブラリに含まれる前記複数の機能のうち、使用が許可される機能を指定するための許可機能情報を含むライセンスファイルに基づいて実施されるライセンス認証の結果に基づいて、前記複数の機能のうち、前記許可機能情報で指定される機能を有効化し、
前記有効化された機能を使用して前記アプリケーションプログラムを実行するプログラム実行方法。
【００６５】
［付記２０］
コンピュータに、複数の機能を含むライブラリを使用するアプリケーションプログラムに対し、前記ライブラリに含まれる前記複数の機能のうち、使用が許可される機能を指定するための許可機能情報を含むライセンスファイルを発行する処理を実行させるためのライセンス発行プログラム。
【００６６】
［付記２１］
複数の機能を含むライブラリに含まれる前記複数の機能のうち、使用が許可される機能を指定するための許可機能情報を含むライセンスファイルに基づいて実施されるライセンス認証の結果に基づいて、前記複数の機能のうち、前記許可機能情報で指定される機能を有効化し、
前記有効化された機能を使用して所定の処理を実行する処理をコンピュータに実行させるためのアプリケーションプログラム。
【００６７】
この出願は、２０１８年８月２日に出願された日本出願特願２０１８−１４６３０７を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【符号の説明】
【００６８】
１０：ライセンス管理装置
１１：ライセンス発行手段
１２：認証手段
１３：機能有効化手段
１４：プログラム実行手段
２０：ライブラリ
１００：ライセンス管理システム
１１０：ライセンス発行装置
１２０：認証サーバ
１３０：プログラム提供サーバ
１４０：プログラム実行装置
１４１：プロセッサ
１４２：メモリ
１４３：補助記憶装置
１４４：業務ＡＰ
１４５：ライブラリ
１４６：ＨＷ情報取得プログラム
１４７：ライセンスファイル
１４８：可読情報部分
１４９：要約情報部分
１５０：ユーザＤＢ
１６０：ＵＳＢドングル
２００：ネットワーク
【図１】
2020027320.tif 000003
【図２】
2020027320.tif 000004
【図３】
2020027320.tif 000005
【図４】
2020027320.tif 000006
【図５】
2020027320.tif 000007
【図６】
2020027320.tif 000008
【手続補正書】
【提出日】令和3年1月15日(2021.1.15)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数の機能を含むライブラリを使用するアプリケーションプログラムに対し、前記ライブラリに含まれる前記複数の機能のうち、使用が許可される機能を指定するための許可機能情報を含むライセンスファイルを発行するライセンス発行手段と、
前記ライセンスファイルに基づいてライセンス認証を行う認証手段と、
前記ライセンス認証の結果に基づいて、前記複数の機能のうち、前記許可機能情報で指定される機能を有効化する機能有効化手段と、
前記有効化された機能を使用して前記アプリケーションプログラムを実行するプログラム実行手段とを備えるライセンス管理装置。
【請求項２】
前記ライブラリは暗号化されて記憶装置に記憶されており、前記機能有効化手段は、前記許可機能情報で指定される機能を復号してメモリに展開することで前記機能を有効化し、
前記プログラム実行手段は、前記メモリに展開された機能を使用する請求項１に記載のライセンス管理装置。
【請求項３】
前記ライセンスファイルは、前記アプリケーションプログラムが実行される装置のハードウェア情報を更に含む請求項１又は２に記載のライセンス管理装置。
【請求項４】
前記ライセンスファイルは、前記許可機能情報を含む第１の部分と、前記第１の部分を要約した第２の部分とを含み、
前記認証手段は、前記ライセンス認証において、前記第１の部分を要約し、該要約した第１の部分と前記第２の部分とを比較する請求項１から３何れか１項に記載のライセンス管理装置。
【請求項５】
複数の機能を含むライブラリを使用するアプリケーションプログラムに対し、前記ライブラリに含まれる前記複数の機能のうち、使用が許可される機能を指定するための許可機能情報を含むライセンスファイルを発行するライセンス発行手段を備えるライセンス発行装置。
【請求項６】
複数の機能を含むライブラリを使用するアプリケーションプログラムに対して発行された、前記ライブラリに含まれる前記複数の機能のうち、使用が許可される機能を指定するための許可機能情報を含むライセンスファイルに基づいて実施されるライセンス認証の結果に基づいて、前記複数の機能のうち、前記許可機能情報で指定される機能を有効化する機能有効化手段と、
前記有効化された機能を使用して前記アプリケーションプログラムを実行するプログラム実行手段とを備えるプログラム実行装置。
【請求項７】
複数の機能を含むライブラリを使用するアプリケーションプログラムに対し、前記ライブラリに含まれる前記複数の機能のうち、使用が許可される機能を指定するための許可機能情報を含むライセンスファイルを発行するライセンス発行方法。
【請求項８】
複数の機能を含むライブラリを使用するアプリケーションプログラムに対して発行された、前記ライブラリに含まれる前記複数の機能のうち、使用が許可される機能を指定するための許可機能情報を含むライセンスファイルに基づいて実施されるライセンス認証の結果に基づいて、前記複数の機能のうち、前記許可機能情報で指定される機能を有効化し、
前記有効化された機能を使用して前記アプリケーションプログラムを実行するプログラム実行方法。
【請求項９】
コンピュータに、複数の機能を含むライブラリを使用するアプリケーションプログラムに対し、前記ライブラリに含まれる前記複数の機能のうち、使用が許可される機能を指定するための許可機能情報を含むライセンスファイルを発行する処理を実行させるためのライセンス発行プログラム。
【請求項１０】
複数の機能を含むライブラリに含まれる前記複数の機能のうち、使用が許可される機能を指定するための許可機能情報を含むライセンスファイルに基づいて実施されるライセンス認証の結果に基づいて、前記複数の機能のうち、前記許可機能情報で指定される機能を有効化し、
前記有効化された機能を使用して所定の処理を実行する処理をコンピュータに実行させるためのアプリケーションプログラム。
【国際調査報告】
2020027320.tif 000009
2020027320.tif 000010
2020027320.tif 000011
2020027320.tif 000012