(57)【要約】【課題】ユーザ利便性が高いライセンス認証が可能なサーバ装置、端末装置、ライセンス認証方法及びライセンス認証プログラムを提供すること。【解決手段】サーバ装置２０は、所定のソフトウェアと、所定のソフトウェアを識別するソフトウェア識別情報を含む認証結果とが含まれたパッケージファイルであって、パッケージファイルを識別するパッケージ識別情報が、パッケージファイルと認証結果とにさらに含まれたパッケージファイルが展開された場合、パッケージファイルに含まれる所定のソフトウェアのソフトウェア識別情報を取得する取得部２１と、取得されたソフトウェア識別情報、認証結果に含まれるソフトウェア識別情報、パッケージファイルに含まれるパッケージ識別情報、及び認証結果に含まれるパッケージ識別情報を用いて、所定のソフトウェアのライセンス認証を行う認証部２２と、を備える。【選択図】図１
2020060920.tif 000002
【特許請求の範囲】
【請求項１】
所定のソフトウェアと、前記所定のソフトウェアを識別するソフトウェア識別情報を含む認証結果とが含まれたパッケージファイルであって、前記パッケージファイルを識別するパッケージ識別情報が、前記パッケージファイルと前記認証結果とにさらに含まれた前記パッケージファイルが展開された場合、前記パッケージファイルに含まれる前記所定のソフトウェアのソフトウェア識別情報を取得する取得部と、
前記取得されたソフトウェア識別情報、前記認証結果に含まれるソフトウェア識別情報、前記パッケージファイルに含まれるパッケージ識別情報、及び前記認証結果に含まれるパッケージ識別情報を用いて、前記所定のソフトウェアのライセンス認証を行う認証部と、を備えるサーバ装置。
【請求項２】
前記認証部は、前記取得されたソフトウェア識別情報と、前記認証結果に含まれるソフトウェア識別情報とが一致し、かつ、前記パッケージファイルに含まれるパッケージ識別情報と、前記認証結果に含まれるパッケージ識別情報とが一致する場合、前記ライセンス認証を正常に完了する、請求項１に記載のサーバ装置。
【請求項３】
前記認証部は、前記取得されたソフトウェア識別情報に基づいて、自装置に前記所定のソフトウェアのライセンスが登録されているか否かを判定し、前記ライセンスが登録されていない場合、前記ライセンス認証を行う、請求項１又は２に記載のサーバ装置。
【請求項４】
前記認証部は、前記パッケージファイルに前記認証結果が含まれていない場合、前記ライセンス認証を行わない、請求項１〜３のいずれか１項に記載のサーバ装置。
【請求項５】
前記認証部は、前記ライセンス認証及びライセンス登録を正常に完了した場合、前記認証結果を削除する、請求項１〜４のいずれか１項に記載のサーバ装置。
【請求項６】
前記パッケージファイルに含まれる前記所定のソフトウェアは、前記パッケージ識別情報と、アプリケーションと、を格納し、
前記ライセンス認証及びライセンス登録が正常に完了した場合、前記アプリケーションを実行する処理部をさらに備える、請求項１〜５のいずれか１項に記載のサーバ装置。
【請求項７】
前記ソフトウェア識別情報は、前記所定のソフトウェアの製品名、製品コード及び製品ＩＤ（Identifier）のうちの少なくとも１つを含む、請求項１〜６のいずれか１項に記載のサーバ装置。
【請求項８】
所定のソフトウェアに対してライセンス認証を行い、当該ライセンス認証を正常に完了した場合、前記所定のソフトウェアを識別するソフトウェア識別情報を含む認証結果を出力する認証部と、
前記所定のソフトウェアと、前記認証結果とを含むパッケージファイルを生成する生成部と、を備え、
前記生成部は、前記パッケージファイルを識別するパッケージ識別情報を生成し、前記生成したパッケージ識別情報を、前記認証結果と、前記パッケージファイルと、に含めて前記パッケージファイルを生成する、を備える端末装置。
【請求項９】
所定のソフトウェアと、前記所定のソフトウェアを識別するソフトウェア識別情報を含む認証結果とが含まれたパッケージファイルであって、前記パッケージファイルを識別するパッケージ識別情報が、前記パッケージファイルと前記認証結果とにさらに含まれた前記パッケージファイルが展開された場合、前記パッケージファイルに含まれる前記所定のソフトウェアのソフトウェア識別情報を取得することと、
前記取得されたソフトウェア識別情報、前記認証結果に含まれるソフトウェア識別情報、前記パッケージファイルに含まれるパッケージ識別情報、及び前記認証結果に含まれるパッケージ識別情報を用いて、前記所定のソフトウェアのライセンス認証を行うことと、含むライセンス認証方法。
【請求項１０】
所定のソフトウェアと、前記所定のソフトウェアを識別するソフトウェア識別情報を含む認証結果とが含まれたパッケージファイルであって、前記パッケージファイルを識別するパッケージ識別情報が、前記パッケージファイルと前記認証結果とにさらに含まれた前記パッケージファイルが展開された場合、前記パッケージファイルに含まれる前記所定のソフトウェアのソフトウェア識別情報を取得することと、
前記取得されたソフトウェア識別情報、前記認証結果に含まれるソフトウェア識別情報、前記パッケージファイルに含まれるパッケージ識別情報、及び前記認証結果に含まれるパッケージ識別情報を用いて、前記所定のソフトウェアのライセンス認証を行うことと、をコンピュータに実行させるライセンス認証プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、サーバ装置、端末装置、ライセンス認証方法及びライセンス認証プログラムに関する。
【背景技術】
【０００２】
近年、構成管理ツールや仮想基盤ソフトウェア等、自動的に環境を構築する自動環境構築ソフトウェアを利用し、ＣＰＵ（Central Processing Unit）やメモリの負荷状況に応じてアプリケーション実行サーバの数を自動的に変更する運用が行われている。
【０００３】
一般的に、アプリケーション実行基盤ソフトウェアのライセンス登録は、当該ソフトウェアがサーバ装置にインストールされる際、又はインストールされた後に、ユーザが手動でライセンスキーを入力することにより行われる。そのため、入力されたライセンスキーを第三者が盗み見たりする等して、当該ライセンスキーを入手し、入手したライセンスキーを流用することがあり得る。
【０００４】
また、自動環境構築ソフトウェアを利用する場合であって、アプリケーション実行基盤ソフトウェアのライセンスチェックを行う商用製品の場合、自動環境構築ソフトウェアの提供する機能に従って、ユーザが事前にライセンスキーを設定する。そのため、自動環境構築ソフトウェアを用いた場合であっても、自動環境構築ソフトウェアでライセンスキーが参照可能な状況にあり、第三者は、当該ラインセンスキーを入手し、入手したライセンスキーを流用することがあり得る。このように、ライセンスキーが流出することを防ぐことが望まれる。
【０００５】
そこで、ユーザが入力するライセンスキーを用いずに、ソフトウェアのライセンスチェックを行う関連技術が検討されている（例えば、特許文献１〜３）。
特許文献１には、使用が許可されているか否かの許否情報をソフトウェアプロダクトの機能別に有するライセンスに基づいて、当該ソフトウェアプロダクトの起動可否を判定する技術が開示されている。
【０００６】
特許文献２には、各パッケージのキーイング情報が、起動時にすべてのキー情報ファイルと照合され、マニフェストファイルのハッシュ及び汎用一意識別子（ＵＵＩＤ）に基づいて、キーと比較されることが開示されている。また、特許文献２には、比較が任意のパッケージについて有効である場合、装置が起動することが開示されている。
特許文献３は、設定認証パッケージを用いて、設定データの完全性を検証することが開示されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００７−３１６９３８号公報
【特許文献２】特開２００５−１８２７８９号公報
【特許文献３】特開２０１８−０９８７８６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
ここで、特許文献１に開示された技術では、ライセンスを生成するために、利用者（ユーザ）は、使用が許可されているソフトウェアプロダクトの情報を管理者に連絡する必要があり、管理者と利用者とのやりとりが必要となる。また、特許文献２に開示された技術は、インストールするパッケージの中身及び装置のＵＵＩＤのハッシュを計算して、サーバ側で決定された結果と一致した場合、インストールが可能になる。つまり、特許文献２に開示された技術では、パッケージをインストールする装置のＵＵＩＤを利用者から通知される必要があり、管理者と利用者とのやりとりが必要となる。このように、上述した特許文献１及び２は、管理者と利用者とのやりとりが必要となることから、ユーザ利便性が高い技術とはなっていない。
【０００９】
本開示の目的は、上述の問題を解決するためになされたものであり、ユーザ利便性が高いライセンス認証が可能なサーバ装置、端末装置、ライセンス認証方法及びライセンス認証プログラムを提供することである。
【課題を解決するための手段】
【００１０】
本開示にかかるサーバ装置は、
所定のソフトウェアと、前記所定のソフトウェアを識別するソフトウェア識別情報を含む認証結果とが含まれたパッケージファイルであって、前記パッケージファイルを識別するパッケージ識別情報が、前記パッケージファイルと前記認証結果とにさらに含まれた前記パッケージファイルが展開された場合、前記パッケージファイルに含まれる前記所定のソフトウェアのソフトウェア識別情報を取得する取得部と、
前記取得されたソフトウェア識別情報、前記認証結果に含まれるソフトウェア識別情報、前記パッケージファイルに含まれるパッケージ識別情報、及び前記認証結果に含まれるパッケージ識別情報を用いて、前記所定のソフトウェアのライセンス認証を行う認証部と、を備えるサーバ装置である。
【００１１】
本開示にかかる端末装置は、
所定のソフトウェアに対してライセンス認証を行い、当該ライセンス認証が正常に完了した場合、前記所定のソフトウェアを識別するソフトウェア識別情報を含む認証結果を出力する認証部と、
前記所定のソフトウェアと、前記認証結果とを含むパッケージファイルを生成する生成部と、を備え、
前記生成部は、前記パッケージファイルを識別するパッケージ識別情報を生成し、前記生成したパッケージ識別情報を、前記認証結果と、前記パッケージファイルと、に含めて前記パッケージファイルを生成する、端末装置である。
【００１２】
本開示にかかるライセンス認証方法は、
所定のソフトウェアと、前記所定のソフトウェアを識別するソフトウェア識別情報を含む認証結果とが含まれたパッケージファイルであって、前記パッケージファイルを識別するパッケージ識別情報が、前記パッケージファイルと前記認証結果とにさらに含まれた前記パッケージファイルが展開された場合、前記パッケージファイルに含まれる前記所定のソフトウェアのソフトウェア識別情報を取得することと、
前記取得されたソフトウェア識別情報、前記認証結果に含まれるソフトウェア識別情報、前記パッケージファイルに含まれるパッケージ識別情報、及び前記認証結果に含まれるパッケージ識別情報を用いて、前記所定のソフトウェアのライセンス認証を行うことと、含むライセンス認証方法である。
【００１３】
本開示にかかるライセンス認証プログラムは、
所定のソフトウェアと、前記所定のソフトウェアを識別するソフトウェア識別情報を含む認証結果とが含まれたパッケージファイルであって、前記パッケージファイルを識別するパッケージ識別情報が、前記パッケージファイルと前記認証結果とにさらに含まれた前記パッケージファイルが展開された場合、前記パッケージファイルに含まれる前記所定のソフトウェアのソフトウェア識別情報を取得することと、
前記取得されたソフトウェア識別情報、前記認証結果に含まれるソフトウェア識別情報、前記パッケージファイルに含まれるパッケージ識別情報、及び前記認証結果に含まれるパッケージ識別情報を用いて、前記所定のソフトウェアのライセンス認証を行うことと、コンピュータに実行させるライセンス認証プログラムである。
【発明の効果】
【００１４】
本開示によれば、ユーザ利便性が高いライセンス認証が可能なサーバ装置、端末装置、ライセンス認証方法及びライセンス認証プログラムを提供することが出来る。
【図面の簡単な説明】
【００１５】
【図１】実施の形態１にかかる情報処理システムの構成例を示す図である。
【図２】実施の形態２にかかる情報処理システムの構成例を示す図である。
【図３】実施の形態２にかかる開発用ＰＣの構成例を示す図である。
【図４】実施の形態２にかかるアプリケーション実行サーバの構成例を示す図である。
【図５】実施の形態２にかかる開発用ＰＣの動作例を示す図である。
【図６】実施の形態２にかかるアプリケーション実行サーバの動作例を示す図である。
【図７】実施の形態３にかかる情報処理システムの構成例を示す図である。
【図８】実施の形態３にかかる情報処理システムの動作例を示す図である。
【図９】本開示の各実施の形態にかかる端末装置等のハードウェア構成を例示するブロック図である。
【発明を実施するための形態】
【００１６】
以下、図面を参照して本開示の実施の形態について説明する。なお、以下の記載及び図面は、説明の明確化のため、適宜、省略及び簡略化がなされている。また、以下の各図面において、同一の要素には同一の符号が付されており、必要に応じて重複説明は省略されている。
【００１７】
（実施の形態１）
図１を用いて、実施の形態１にかかる情報処理システム１について説明する。図１は、実施の形態の概要にかかる情報処理システムの構成例を示す図である。情報処理システム１は、端末装置１０と、サーバ装置２０とを備える。
【００１８】
端末装置１０は、所定のソフトウェアに対してライセンス認証を行い、当該ソフトウェアを含むパッケージファイルを生成する装置である。そのため、端末装置１０は、パッケージファイル生成装置とも言える。端末装置１０は、例えば、コンピュータ装置、サーバ装置であってもよい。端末装置１０は、認証部１１と、生成部１２とを備える。
【００１９】
認証部１１は、所定のソフトウェアに対してライセンス認証を行い、当該所定のソフトウェアを識別するソフトウェア識別情報を含む認証結果を生成する。認証部１１は、予め記憶された所定のソフトウェアのライセンスキーを用いて、当該ソフトウェアに対してライセンス認証を行ってもよい。もしくは、認証部１１は、図示しない入力部から入力された所定のソフトウェアのライセンスキーを用いて、当該ソフトウェアに対してライセンス認証を行ってもよい。
【００２０】
所定のソフトウェアは、例えば、アプリケーション実行基盤ソフトウェアであってもよい。
ソフトウェア識別情報は、所定のソフトウェアを識別する情報である。ソフトウェア識別情報は、例えば、所定のソフトウェアの製品名であってもよいし、製品コードであってもよいし、製品ＩＤ（Identifier）であってもよい。もしくは、ソフトウェア識別情報は、上記のうちの２つ以上を用いた情報であってもよい。
【００２１】
生成部１２は、所定のソフトウェアと、認証部１１が生成した認証結果とを含むパッケージファイルを生成する。また、生成部１２は、生成するパッケージファイルを識別するパッケージ識別情報を生成し、生成したパッケージ識別情報を認証結果と、パッケージファイルとに含めてパッケージファイルを生成する。なお、生成部１２は、生成したパッケージ識別情報を、パッケージファイルに含まれる所定のソフトウェアに格納するようにしてもよい。
パッケージ識別情報は、パッケージファイルを識別する情報であって、例えば、パッケージＩＤであってもよい。
【００２２】
サーバ装置２０は、端末装置１０が生成したパッケージファイルに含まれる所定のソフトウェアを実行し、当該所定のソフトウェアのライセンス認証を行う。そのため、サーバ装置２０は、認証装置とも称されてもよい。サーバ装置２０は、取得部２１と、認証部２２とを備える。
【００２３】
取得部２１は、端末装置１０が生成したパッケージファイルが展開された場合、パッケージファイルに含まれる所定のソフトウェアのソフトウェア識別情報を取得する。
【００２４】
認証部２２は、取得されたソフトウェア識別情報、認証結果に含まれるソフトウェア識別情報、パッケージファイルに含まれるパッケージ識別情報、及び認証結果に含まれるパッケージ識別情報を用いて、所定のソフトウェアのライセンス認証を行う。
【００２５】
以上説明したように、端末装置１０は、所定のソフトウェアの識別情報と、パッケージ識別情報とを含む認証結果ファイルと、パッケージ識別情報と、が含まれたパッケージファイルを生成する。サーバ装置２０は、展開されたパッケージファイルに含まれる所定のソフトウェアのソフトウェア識別情報を取得する。サーバ装置２０は、取得されたソフトウェア識別情報、認証結果に含まれるソフトウェア識別情報、パッケージファイルに含まれるパッケージ識別情報、及び認証結果に含まれるパッケージ識別情報を用いて、所定のソフトウェアのライセンス認証を行う。すなわち、サーバ装置２０は、例えばユーザからの追加の入力情報を要することなく、パッケージファイルに含まれる所定のソフトウェアのライセンス認証が可能となる。したがって、実施の形態１にかかる情報処理システム１によれば、ユーザ利便性が高いライセンス認証を行うことが可能となる。
【００２６】
（実施の形態２）
続いて、実施の形態２について説明する。実施の形態２は、実施の形態１を詳細にした実施の形態である。
【００２７】
＜情報処理システムの構成例＞
図２を用いて、実施の形態２にかかる情報処理システム１００について説明する。図２は、実施の形態２にかかる情報処理システムの構成例を示す図である。情報処理システム１００は、開発用ＰＣ３０と、アプリケーション実行サーバ（ＡＰ実行サーバ）５０とを備える。
【００２８】
開発用ＰＣ３０と、アプリケーション実行サーバ５０とは、コンピュータネットワーク４０を介して接続されており、コンピュータネットワーク４０を介して通信を行う。なお、情報処理システム１００は、１台の開発用ＰＣ３０と、１台のアプリケーション実行サーバ５０のみを備える構成として記載されているが、複数台の開発用ＰＣ３０、及び複数台のアプリケーション実行サーバ５０を備える構成であってもよい。
【００２９】
開発用ＰＣ３０は、実施の形態１にかかる端末装置１０に対応する。開発用ＰＣ３０は、ＣＰＵにパッケージングソフトウェアを実行させることにより後述する各機能部が動作するコンピュータ装置又はサーバ装置である。
【００３０】
開発用ＰＣ３０は、ストレージ３２を含む。ストレージ３２は、コンピュータで利用可能なメモリ及びファイルシステムの総称であり、記憶部とも称される。ストレージ３２には、アプリケーション実行基盤ソフトウェアを格納する記憶領域３３と、ユーザアプリケーションを格納する記憶領域３４と、パッケージファイルを格納する記憶領域３５とを含む。
【００３１】
開発用ＰＣ３０は、アプリケーション実行基盤ソフトウェアのライセンス認証を行う。また、開発用ＰＣ３０は、アプリケーション実行サーバ５０で展開され、実行されるパッケージファイルを作成（生成）する。パッケージファイルは、アプリケーション実行基盤ソフトウェアと、ユーザアプリケーションと、を含むパッケージファイルである。作成されたパッケージファイルは、アプリケーション実行サーバ５０にコピーされ、展開される。
【００３２】
アプリケーション実行サーバ５０は、実施の形態１にかかるサーバ装置２０に対応する。アプリケーション実行サーバ５０は、開発用ＰＣ３０で生成されたパッケージファイルが展開される。アプリケーション実行サーバ５０は、アプリケーション実行基盤ソフトウェアのライセンス登録が行われていない場合、アプリケーション実行基盤ソフトウェアのライセンス認証を行い、ライセンス登録を行う。アプリケーション実行基盤ソフトウェアは、例えば、ユーザアプリケーション等、所定のアプリケーションを実行するためのソフトウェアである。アプリケーション実行基盤ソフトウェアは、実施の形態１にかかる所定のソフトウェアに対応する。
【００３３】
アプリケーション実行サーバ５０は、ストレージ５１を含む。ストレージ５１は、コンピュータで利用可能なメモリ及びファイルシステムの総称であり、記憶部とも称される。ストレージ５１は、開発用ＰＣ３０で生成されたパッケージファイルが格納され、展開される。ストレージ５１は、パッケージファイルを格納する記憶領域５３を含む。
【００３４】
＜開発用ＰＣの構成例＞
次に、図３を用いて、実施の形態２にかかる開発用ＰＣ３０の構成例について説明する。図３は、実施の形態２にかかる開発用ＰＣの構成例を示す図である。図３に示す様に、開発用ＰＣ３０は、ストレージ３２と、入力部３６と、認証部３７と、生成部３８と、を備える。
【００３５】
ストレージ３２は、パッケージファイルを生成するために必要なソフトウェア及びファイルを格納するメモリ（記憶部）である。ストレージ３２は、アプリケーション実行基盤ソフトウェアが格納される記憶領域３３と、ユーザアプリケーションが格納される記憶領域３４と、パッケージファイルが格納される記憶領域３５とを含む。
【００３６】
パッケージファイルは、ユーザアプリケーションと、パッケージＩＤファイルとを内部に格納するアプリケーション実行基盤ソフトウェアと、ライセンス認証結果ファイルとを含んで構成される。そのため、ストレージ３２は、パッケージファイルが格納される記憶領域３５に、アプリケーション実行基盤ソフトウェアを格納する記憶領域３５１と、ライセンス認証結果ファイルを格納する記憶領域３５４とを含む。さらに、ストレージ３２は、アプリケーション実行基盤ソフトウェアを格納する記憶領域３５１に、ユーザアプリケーションを格納する記憶領域３５２と、パッケージＩＤファイルを格納する記憶領域３５３とを含む。
【００３７】
入力部３６は、開発用ＰＣ３０を操作する作業者（ユーザ）から、アプリケーション実行基盤ソフトウェアと、ユーザアプリケーションと、を含むパッケージファイルを生成するために必要なパラメータを入力する。
【００３８】
具体的には、入力部３６は、アプリケーション実行基盤ソフトウェアの格納先ディレクトリ名と、ユーザアプリケーションの格納先ディレクトリ名と、を入力する。また、入力部３６は、アプリケーション実行基盤ソフトウェアのライセンスキーを入力する。
【００３９】
入力部３６は、入力されたライセンスキーを指定して、認証部３７にライセンス認証を要求し、認証部３７から認証結果を受信する。認証結果が正常である場合、入力部３６は、認証結果と共に、アプリケーション実行基盤ソフトウェアのソフトウェア識別情報を認証部３７から取得する。
【００４０】
ソフトウェア識別情報は、例えば、製品名、製品コード、製品ＩＤ（Identifier）であってもよい。なお、以降の説明では、ソフトウェア識別情報は、製品名であるとして説明する。つまり、入力部３６は、認証部３７からアプリケーション実行基盤ソフトウェアの製品名をライセンス認証済製品名として取得する。
【００４１】
入力部３６は、ライセンス認証済製品名と、アプリケーション実行基盤ソフトウェアの格納先ディレクトリ名と、ユーザアプリケーションの格納先ディレクトリ名と、を生成部３８に送信する。そして、入力部３６は、出力した情報を指定して、生成部３８にパッケージファイルを生成することを示すパッケージングを要求する。
【００４２】
認証部３７は、実施の形態１にかかる認証部１１に対応する。認証部３７は、アプリケーション実行基盤ソフトウェアのライセンス認証を行い、認証結果を出力する。なお、認証部３７が行う、ライセンス認証の処理は既知の手法を用いて実施されてもよい。
【００４３】
具体的には、認証部３７は、入力部３６から受け取ったライセンスキーを使用してライセンス認証を行い、認証結果（正常又は異常）を入力部３６に送信する。認証結果が正常である場合、認証部３７は、認証結果（正常）と共に、アプリケーション実行基盤ソフトウェアの製品名をライセンス認証済製品名として取得して、入力部３６に送信する。
【００４４】
なお、認証部３７は、ライセンス認証が正常に完了した場合に、正常という結果に加えて、ライセンス認証済製品名を認証結果に含めるようにしてもよい。換言すると、認証部３７は、ライセンス済製品名を含む認証結果を出力してもよい。
【００４５】
生成部３８は、実施の形態１にかかる生成部１２に対応する。生成部３８は、パッケージファイルを識別するパッケージ識別情報であるパッケージＩＤを生成する。生成部３８は、アプリケーション実行基盤ソフトウェアと、ユーザアプリケーションと、ライセンス認証結果ファイルと、パッケージＩＤファイルとを含むパッケージファイルを生成する。なお、本実施の形態ではパッケージファイルを識別する識別情報としてパッケージＩＤを用いるが、パッケージファイルを一意に識別する情報であれば他の情報であってもよい。
【００４６】
生成部３８は、パッケージ生成部３８１と、ファイルコピー部３８２と、ＩＤ格納部３８３と、ＩＤ取得部３８４と、認証結果格納部３８５とを含む。
【００４７】
パッケージ生成部３８１は、ファイルコピー部３８２、ＩＤ格納部３８３、認証結果格納部３８５に、パッケージファイルを生成するためのソフトウェア及びファイルをストレージ３２のパッケージファイルが格納される記憶領域３５に格納することを要求する。パッケージ生成部３８１は、ファイルコピー部３８２、ＩＤ格納部３８３、認証結果格納部３８５に要求した各処理が完了した後に、格納されたファイルを１つのファイルに圧縮してパッケージファイルを生成する。
【００４８】
パッケージ生成部３８１は、ライセンス認証結果ファイルと、アプリケーション実行基盤ソフトウェアとが格納されたパッケージファイルを生成する。パッケージファイルに含まれるアプリケーション実行基盤ソフトウェアは、アプリケーション実行基盤ソフトウェアは、ユーザアプリケーションと、パッケージＩＤファイルとが格納された状態でパッケージファイルに含まれる。ライセンス認証結果ファイルは、ライセンス認証済製品名とパッケージＩＤとが格納された状態でパッケージファイルに含まれる。
【００４９】
なお、ユーザアプリケーションと、パッケージＩＤファイルとがアプリケーション実行基盤ソフトウェアの内部に組み込まれた状態でパッケージファイルに含まれてもよい。また、以降の説明では、パッケージＩＤファイルは、アプリケーション実行基盤ソフトウェアに格納されることとして説明を行うが、パッケージＩＤファイルがアプリケーション実行基盤ソフトウェアに格納された状態でなくてもよい。換言すると、パッケージ生成部３８１は、ライセンス認証結果ファイルと、アプリケーション実行基盤ソフトウェアと、パッケージＩＤファイルとが格納されたパッケージファイルを生成してもよい。
【００５０】
パッケージ生成部３８１は、アプリケーション実行基盤ソフトウェアの格納先ディレクトリ名と、ユーザアプリケーションの格納先ディレクトリ名とを指定してファイルコピー部３８２に記憶領域３５へファイルコピーを要求する。
【００５１】
パッケージ生成部３８１は、ＩＤ格納部３８３に、パッケージＩＤファイルを、パッケージＩＤファイルを格納する記憶領域３５３に格納することを要求する。
【００５２】
パッケージ生成部３８１は、ＩＤ格納部３８３から送信されたパッケージＩＤファイルと、ライセンス認証済製品名とを指定して認証結果格納部３８５へ記憶領域３５にライセンス認証結果ファイルの格納を要求する。
【００５３】
ファイルコピー部３８２は、記憶領域３５の配下のアプリケーション実行基盤ソフトウェアを格納する記憶領域３５１に作業用ディレクトリを作成する。ファイルコピー部３８２は、受信したアプリケーション実行基盤ソフトウェアの格納先ディレクトリ配下のファイル構成を保ったまま、作成した作業用ディレクトリにコピーする。
【００５４】
また、ファイルコピー部３８２は、記憶領域３５の配下のユーザアプリケーションを格納する記憶領域３５２に作業用ディレクトリを作成する。ファイルコピー部３８２は、ユーザアプリケーションの格納先ディレクトリのファイル構成を保持したまま、記憶領域３５２にコピーする。
【００５５】
ＩＤ格納部３８３は、パッケージ生成部３８１が生成するパッケージファイルに割り振るパッケージＩＤが格納されたパッケージＩＤファイルを格納する。具体的には、ＩＤ格納部３８３は、ＩＤ取得部３８４にパッケージＩＤの生成を要求し、ＩＤ取得部３８４が生成したパッケージＩＤを受信する。ＩＤ格納部３８３は、受信したパッケージＩＤをパッケージＩＤファイルに設定し、記憶領域３５１の配下の記憶領域３５３に格納する。
【００５６】
パッケージＩＤファイルは、テキストファイルであってもよいし、バイナリファイルであってもよい。パッケージＩＤファイルは、既知の手法を利用した暗号化ファイル等、アプリケーション実行基盤ソフトウェアが参照及び更新することが可能であればよいので、ファイル形式は任意の形式であってもよい。
【００５７】
ＩＤ取得部３８４は、ＩＤ格納部３８３からの要求に応じて、パッケージＩＤを生成し、呼び元であるＩＤ格納部３８３に送信する。パッケージＩＤは、ＵＵＩＤ（Universally Unique Identifier）等の一意性を確保できるＩＤであればよい。そのため、パッケージＩＤの形式は任意の形式であってもよい。
【００５８】
認証結果格納部３８５は、ライセンス認証済製品名とパッケージＩＤとを含むライセンス認証結果ファイルを、ライセンス認証結果ファイルを格納する記憶領域３５４に格納する。ライセンス認証結果ファイルは、テキストファイルであってもよく、バイナリファイルであってもよい。ライセンス認証結果ファイルは、既知の手法を利用した暗号化ファイル等、アプリケーション実行基盤ソフトウェアが参照及び更新することが可能であればよいので、ファイル形式は任意の形式であってもよい。
【００５９】
＜アプリケーション実行サーバの構成例＞
次に、図４を用いて、アプリケーション実行サーバ５０の構成例について説明する。図４は、実施の形態２にかかるアプリケーション実行サーバの構成例を示す図である。アプリケーション実行サーバ５０は、ストレージ５１と、取得部５４と、認証部５５と、アプリケーション実行処理部５６とを備える。
【００６０】
ストレージ５１は、開発用ＰＣ３０で生成されたパッケージファイルが格納されるメモリ（記憶部）である。また、ストレージ５１は、開発用ＰＣ３０で生成されたパッケージファイルが展開され、パッケージファイルに含まれるソフトウェア及びファイルが格納される。
【００６１】
ストレージ５１は、パッケージファイルが格納される記憶領域５３を含む。記憶領域５３は、パッケージファイルが展開された場合にアプリケーション実行基盤ソフトウェアが格納される記憶領域５３１と、ライセンス認証結果ファイルが格納される記憶領域５３４とを含む。また、記憶領域５３１は、ユーザアプリケーションが格納される記憶領域５３２と、パッケージＩＤファイルが格納される記憶領域５３３とを含む。つまり、パッケージファイルが展開されると、パッケージファイルに含まれるソフトウェア及びファイルは、それぞれ対応する記憶領域に格納される。
【００６２】
取得部５４は、実施の形態１にかかる取得部２１に対応する。取得部５４は、パッケージファイルに含まれるアプリケーション実行基盤ソフトウェアが起動された場合、パッケージファイルに含まれるアプリケーション実行基盤ソフトウェアの製品名を自製品名として取得する。取得部５４は、アプリケーション実行基盤ソフトウェアの製品名を既知の手法を用いて取得する。
【００６３】
取得部５４は、アプリケーション実行基盤ソフトウェアの自製品名を取得すると、認証部５５のライセンス管理部５５１にアプリケーション実行基盤ソフトウェアの自製品名を指定してライセンス登録済か判定を要求する。ライセンス管理部５５１からライセンス登録済であるという判定結果を受信した場合、アプリケーション実行処理部５６にユーザアプリケーションの利用開始を要求する。
【００６４】
一方、ライセンス管理部５５１からライセンス登録済ではない（未登録）という判定結果を受信した場合、ライセンス認証結果判定部５５２にアプリケーション実行基盤ソフトウェアの自製品名を指定してライセンス認証及びライセンス登録を要求する。ライセンス認証結果判定部５５２から、ライセンス認証が正常に完了してライセンス登録が正常に完了した場合、アプリケーション実行処理部５６にユーザアプリケーションの利用開始を要求する。
【００６５】
認証部５５は、パッケージファイルに含まれるアプリケーション実行基盤ソフトウェアのライセンスが登録されているか否かを判断する。認証部５５は、パッケージファイルに含まれるアプリケーション実行基盤ソフトウェアのライセンスが登録されていない場合、アプリケーション実行基盤ソフトウェアのライセンス認証を行い、ライセンス登録を行う。つまり、認証部５５は、取得部５４が取得したアプリケーション実行基盤ソフトウェアの自製品名に基づいて、自装置にアプリケーション実行基盤ソフトウェアのライセンスが登録されているか否かを判定する。そして、認証部５５は、アプリケーション実行基盤ソフトウェアのライセンスが登録されていない場合、アプリケーション実行基盤ソフトウェアのライセンス認証を行う。
【００６６】
認証部５５は、取得部５４が取得した自製品名と、開発用ＰＣ３０において生成されたパッケージファイルに含まれるライセンス認証結果ファイル及びパッケージＩＤファイルと、を用いてライセンス認証を行う。
【００６７】
認証部５５は、ライセンス管理部５５１と、ライセンス認証結果判定部５５２と、パッケージＩＤ判定部５５３とを備える。
【００６８】
ライセンス管理部５５１は、取得部５４から受信した自製品名のライセンスがアプリケーション実行サーバ５０に登録済であるか否かを判定する。ライセンス管理部５５１は、自製品名のライセンスが登録済であるか未登録であるかを示す判定結果を取得部５４に送信する。なお、ライセンス管理部５５１は、既知の手法により、ライセンスが登録されているか否かのライセンスチェック等、ライセンス管理を行う。
【００６９】
ライセンス認証結果判定部５５２は、取得部５４からのライセンス登録の要求に応じて、ストレージ５１の記憶領域５３４にライセンス認証結果ファイルが存在するか否かを判定する。ライセンス認証結果ファイルが存在しない場合、ライセンス認証結果判定部５５２は、ライセンス登録の結果を異常で返す。つまり、パッケージファイルにライセンス認証結果ファイルが含まれていない場合、ライセンス認証結果判定部５５２は、アプリケーション実行基盤ソフトウェアのライセンス認証を行わない。
【００７０】
一方、記憶領域５３４にライセンス認証結果ファイルが存在する場合、ライセンス認証結果判定部５５２は、取得部５４から受信した自製品名と、記憶領域５３４のライセンス認証結果ファイルに含まれるライセンス認証済製品名とが一致するか否かの判定を行う。
【００７１】
取得部５４から受信した自製品名と、記憶領域５３４のライセンス認証結果ファイルに含まれるライセンス認証済製品名とが一致する場合、ライセンス認証結果判定部５５２は、ライセンス認証結果ファイルに含まれるパッケージＩＤを送信する。また、この場合、ライセンス認証結果判定部５５２は、パッケージＩＤ判定部５５３にパッケージＩＤの判定を要求する。
【００７２】
パッケージＩＤ判定部５５３からパッケージＩＤが一致するという判定結果を受信する場合、ライセンス認証結果判定部５５２は、ライセンス認証済製品名でライセンス登録を行う。ライセンス登録が正常に完了した場合、ライセンス認証結果判定部５５２は、ライセンス登録が正常に完了したことを示す登録結果を取得部５４に送信する。また、ライセンス認証結果判定部５５２は、アプリケーション実行基盤ソフトウェアのライセンス認証及びライセンス登録が正常に完了した場合、認証結果ファイルを削除する。なお、ライセンス認証結果判定部５５２が行う、ライセンス登録等、ライセンス管理に関しては、既知の手法を利用してもよい。
【００７３】
パッケージＩＤ判定部５５３は、ライセンス認証結果判定部５５２から受信したパッケージＩＤと、記憶領域５３３のパッケージＩＤファイルに含まれるパッケージＩＤが一致するか否かの判定を行う。パッケージＩＤ判定部５５３は、一致しているか不一致であるのかの判定結果をライセンス認証結果判定部５５２に送信する。
【００７４】
アプリケーション実行処理部５６は、取得部５４からユーザアプリケーションの利用開始の要求に応じて、アプリケーション実行基盤ソフトウェアに必要な初期設定を行った後、ユーザアプリケーションを利用可能な状態とする。換言すると、アプリケーション実行処理部５６は、アプリケーション実行基盤ソフトウェアのライセンス認証及びライセンス登録が正常に完了した場合、ユーザアプリケーション等の所定のアプリケーションを実行する。
【００７５】
＜開発用ＰＣの動作例＞
次に、図５を用いて、開発用ＰＣ３０の動作例を説明する。図５は、実施の形態２にかかる開発用ＰＣの動作例を示す図である。具体的には、図５は、開発用ＰＣ３０がパッケージファイルを生成するときの動作を説明する図である。上述したように、パッケージファイルは、ユーザアプリケーション及びパッケージＩＤファイルを内部に格納するアプリケーション実行基盤ソフトウェアと、ライセンス認証結果ファイルとを含んで構成される。
【００７６】
まず、入力部３６は、パッケージファイルの生成（パッケージング）に必要なパラメータを入力する（ステップＡ１）。
【００７７】
具体的には、入力部３６は、開発用ＰＣ３０を操作する作業者から、アプリケーション実行基盤ソフトウェアの格納先ディレクトリ名、ユーザアプリケーションの格納先ディレクトリ名、及びアプリケーション実行基盤ソフトウェアのライセンスキーを入力する。
【００７８】
次に、入力部３６は、入力されたライセンスキーを認証部３７にライセンス認証を要求し、認証結果が正常であるか否かを判定する（ステップＡ２）。
【００７９】
具体的には、入力部３６は、入力されたライセンスキーを認証部３７にライセンス認証を要求する。認証部３７は、入力部３６から受信したライセンスキーを使用して、アプリケーション実行基盤ソフトウェアのライセンス認証を行う。
【００８０】
認証部３７は、ライセンス認証が正常に完了した場合、正常であることを示す認証結果と、ライセンス認証済製品名とを入力部３６に送信する。認証部３７は、ライセンス認証済製品名を認証結果に含めて、入力部３６に送信してもよい。一方、認証部３７は、ライセンス認証が正常に完了しなかった場合、異常であることを示す認証結果を入力部３６に送信する。
【００８１】
入力部３６は、認証部３７から受信した認証結果が正常であるかを判定して、認証結果が正常である場合（ステップＡ２のＹＥＳ）、ステップＡ３を実行する。一方、認証結果が異常である場合（ステップＡ２のＮＯ）、開発用ＰＣ３０は処理を終了する。
【００８２】
次に、入力部３６は、認証部３７の認証結果からライセンス認証済製品名を取得する（ステップＡ３）。入力部３６は、ライセンス認証済製品名と、アプリケーション実行基盤ソフトウェアの格納先ディレクトリ名と、ユーザアプリケーションの格納先ディレクトリ名とをパッケージ生成部３８１に送信すると共に、パッケージングを要求する。
【００８３】
次に、ファイルコピー部３８２は、記憶領域３５の配下の記憶領域３５１に作業用ディレクトリを作成し、アプリケーション実行基盤ソフトウェアのファイルを記憶領域３５１にコピーする（ステップＡ４）。
【００８４】
具体的には、パッケージ生成部３８１は、アプリケーション実行基盤ソフトウェアの格納先ディレクトリ名と、ユーザアプリケーションの格納先ディレクトリ名とファイルコピー部３８２に送信する。また、パッケージ生成部３８１は、ファイルコピー部３８２に、記憶領域３５の配下の記憶領域３５１にアプリケーション実行基盤ソフトウェアのファイルコピーを要求する。
【００８５】
ファイルコピー部３８２は、パッケージ生成部３８１からの要求に応じて、記憶領域３５１に作業用ディレクトリを作成する。ファイルコピー部３８２は、パッケージ生成部３８１から受信したアプリケーション実行基盤ソフトウェアの格納先ディレクトリ配下のファイル構成を保ったまま、作成した作業用ディレクトリにアプリケーション実行基盤ソフトウェアをコピーする。
【００８６】
次に、ファイルコピー部３８２は、記憶領域３５の配下のユーザアプリケーションを格納する記憶領域３５２に作業用ディレクトリを作成し、ユーザアプリケーションのファイルを作業用ディレクトリにコピーする（ステップＡ５）。
【００８７】
具体的には、ファイルコピー部３８２は、記憶領域３５２に作業用ディレクトリを作成し、ユーザアプリケーションの格納先ディレクトリ配下のファイル構成を保ったままアプリケーション実行基盤ソフトウェアを作成した作業用ディレクトリにコピーする。
【００８８】
次に、ＩＤ取得部３８４は、作成するパッケージファイルを識別するパッケージＩＤを生成する（ステップＡ６）。
【００８９】
具体的には、パッケージ生成部３８１は、ＩＤ格納部３８３に記憶領域３５１配下の記憶領域３５３にパッケージＩＤファイルの格納を要求する。ＩＤ格納部３８３は、ＩＤ取得部３８４にパッケージＩＤの生成を要求し、ＩＤ取得部３８４は、パッケージＩＤを生成して、要求元のＩＤ格納部３８３に送信する。
【００９０】
次に、ＩＤ格納部３８３は、生成されたパッケージＩＤを、ステップＡ４において作成された作業用ディレクトリにパッケージＩＤファイルとして格納する（ステップＡ７）。
【００９１】
具体的には、ＩＤ格納部３８３は、パッケージＩＤを記憶領域３５１の配下にパッケージＩＤファイルとして格納し、パッケージＩＤを呼び元であるパッケージ生成部３８１に送信する。
【００９２】
次に、認証結果格納部３８５は、ライセンス認証済製品名と、パッケージＩＤとを含むライセンス認証結果ファイルを格納する（ステップＡ８）。
【００９３】
具体的には、パッケージ生成部３８１は、パッケージＩＤとライセンス認証済製品名とを認証結果格納部３８５に送信し、認証結果格納部３８５にライセンス認証結果ファイルの格納を要求する。認証結果格納部３８５は、受信したライセンス認証済製品名及びパッケージＩＤを含むライセンス認証結果ファイルを記憶領域３５４に格納する。
【００９４】
最後に、パッケージ生成部３８１は、記憶領域３５配下に存在するソフトウェア及びファイルをパッケージファイルとして圧縮する（ステップＡ９）。
【００９５】
＜アプリケーション実行サーバの動作例＞
次に、図６を用いて、アプリケーション実行サーバ５０の動作例を説明する。図６は、実施の形態２にかかるアプリケーション実行サーバの動作例を示す図である。図６は、アプリケーション実行サーバ５０において、パッケージファイルに含まれるアプリケーション実行基盤ソフトウェアのライセンス登録を行う際の動作について説明する図である。
【００９６】
なお、既知の手法を利用して、開発用ＰＣ３０において生成されたパッケージファイルがアプリケーション実行サーバ５０にコピーされ、展開されているものとする。上述したように、パッケージファイルは、ユーザアプリケーション及びパッケージＩＤファイルが内部に格納されているアプリケーション実行基盤ソフトウェアと、ライセンス認証結果ファイルとを含んで構成される。
【００９７】
まず、取得部５４は、ライセンス管理部５５１を介して、パッケージファイルに含まれるアプリケーション実行基盤ソフトウェアのライセンスが登録済であるかを判定する（ステップＢ１）。
【００９８】
具体的には、取得部５４は、パッケージファイルに含まれるアプリケーション実行基盤ソフトウェアの製品名を自製品名として取得する。取得部５４は、ライセンス管理部５５１にアプリケーション実行基盤ソフトウェアの自製品名を送信する。取得部５４は、ライセンス管理部５５１にアプリケーション実行基盤ソフトウェアのライセンスが登録済であるかの判定を要求する。
【００９９】
ライセンス管理部５５１は、取得部５４から受信した自製品名のライセンスがアプリケーション実行サーバ５０に登録済であるかの判定を行う。自製品名のライセンスが登録されている場合、ライセンス管理部５５１は、登録済であることを示す判定結果を取得部５４に送信する。一方、自製品名のライセンスが登録されていない場合、ライセンス管理部５５１は、未登録であることを示す判定結果を取得部５４に送信する。
【０１００】
受信した判定結果が登録済である場合（ステップＢ１のＹＥＳ）、ステップＢ８の処理に進み、受信した判定結果が未登録である場合（ステップＢ１のＮＯ）、ステップＢ２の処理に進む。
【０１０１】
次に、ライセンス認証結果判定部５５２は、ライセンス認証結果ファイルが存在するか否かを判定する（ステップＢ２）。
【０１０２】
具体的には、取得部５４は、ライセンス認証結果判定部５５２にアプリケーション実行基盤ソフトウェアの自製品名を送信して、ライセンス認証結果を利用したライセンス登録を要求する。ライセンス認証結果判定部５５２は、ライセンス認証結果ファイルが存在するか否かの判定を行う。
【０１０３】
ライセンス認証結果ファイルが存在する場合（ステップＢ２のＹＥＳ）、ステップＢ３の処理に進む。一方、ライセンス認証結果ファイルが存在しない場合（ステップＢ２のＮＯ）、ライセンス認証結果判定部５５２は、取得部５４にライセンス登録の結果が異常であることを示す登録結果を送信し、処理を終了する。
【０１０４】
次に、ライセンス認証結果判定部５５２は、ライセンス認証結果ファイルに含まれるライセンス認証済製品名と、取得部５４から受信した自製品名とが一致するか否かを判定する（ステップＢ３）。
【０１０５】
ライセンス認証結果ファイルに含まれるライセンス認証済製品名と、自製品名とが一致する場合（ステップＢ３のＹＥＳ）、ステップＢ４の処理に進む。一方、ライセンス認証結果ファイルに含まれるライセンス認証済製品名と、自製品名とが一致しない場合（ステップＢ３のＮＯ）、ライセンス認証結果判定部５５２は、取得部５４にライセンス登録の結果が異常であることを示す登録結果を送信し、処理を終了する。
【０１０６】
次に、パッケージＩＤ判定部５５３は、ライセンス認証結果ファイルに含まれるパッケージＩＤと、パッケージＩＤファイルのパッケージＩＤとが一致するか否かを判定する（ステップＢ４）。
【０１０７】
具体的には、ライセンス認証結果判定部５５２は、ライセンス認証結果ファイルに含まれるパッケージＩＤを取得し、パッケージＩＤ判定部５５３に送信する。ライセンス認証結果判定部５５２は、送信したパッケージＩＤと、パッケージＩＤファイルのパッケージＩＤとが一致するかの判定を要求する。
【０１０８】
パッケージＩＤ判定部５５３は、ライセンス認証結果判定部５５２から受信したパッケージＩＤと、パッケージＩＤファイルのパッケージＩＤとが一致するか否かの判定を行う。パッケージＩＤ判定部５５３は、ライセンス認証結果判定部５５２から受信したパッケージＩＤと、パッケージＩＤファイルのパッケージＩＤとが一致するか、一致しないのかの判定結果をライセンス認証結果判定部５５２に送信する。
【０１０９】
ライセンス認証結果判定部５５２から受信したパッケージＩＤと、パッケージＩＤファイルのパッケージＩＤとが一致する場合（ステップＢ４のＹＥＳ）、パッケージＩＤ判定部５５３はライセンス認証結果判定部５５２に一致することを示す判定結果を送信する。そして、ステップＢ５の処理に進む。
【０１１０】
一方、受信したパッケージＩＤと、パッケージＩＤファイルのパッケージＩＤとが不一致である場合（ステップＢ４のＮＯ）、パッケージＩＤ判定部５５３は、取得部５４にもライセンス登録が異常であることを示す登録結果を送信し、処理を終了する。
【０１１１】
次に、ライセンス認証結果判定部５５２は、パッケージファイルに含まれるアプリケーション実行基盤ソフトウェアのライセンス登録を行う（ステップＢ５）。
【０１１２】
ライセンス認証結果判定部５５２は、ライセンス登録の結果が正常であるか否かを判定する（ステップＢ６）。
ライセンス登録が正常に完了した場合（ステップＢ６のＹＥＳ）、ステップＢ７の処理に進む。一方、ライセンス登録が正常に完了しなかった場合（ステップＢ６のＮＯ）、ライセンス認証結果判定部５５２は、取得部５４に、ライセンス登録の結果が異常であることを示す登録結果を送信し、処理を終了する。
【０１１３】
次に、ライセンス認証結果判定部５５２は、パッケージファイルに含まれるアプリケーション実行基盤ソフトウェアのライセンス認証及びライセンス登録が正常に完了すると、ライセンス認証結果ファイルを削除する（ステップＢ７）。
【０１１４】
最後に、アプリケーション実行処理部５６は、取得部５４からユーザアプリケーションの利用開始の要求に応じて、アプリケーション実行基盤ソフトウェアに必要な初期設定を行った後、ユーザアプリケーションを利用可能な状態とする（ステップＢ８）。
【０１１５】
以上説明したように、開発用ＰＣ３０は、アプリケーション実行基盤ソフトウェアに対してライセンス認証を行う。開発用ＰＣ３０は、ライセンス認証が正常に完了した場合、アプリケーション実行基盤ソフトウェアの製品名を含む認証結果と、アプリケーション実行基盤ソフトウェアとを含むパッケージファイルを生成する。また、開発用ＰＣ３０は、パッケージファイルに割り当てるパッケージＩＤを生成して、パッケージファイルに生成したパッケージＩＤを含める。
【０１１６】
アプリケーション実行サーバ５０は、パッケージファイルに含まれるアプリケーション実行基盤ソフトウェアの自製品名を取得する。アプリケーション実行サーバ５０は、取得した自製品名と、パッケージファイルのライセンス認証結果ファイルに含まれるライセンス認証済製品名とに基づいてライセンス認証を行う。さらに、アプリケーション実行サーバ５０は、パッケージＩＤファイルのパッケージＩＤと、ライセンス認証結果ファイルに含まれるパッケージＩＤとに基づいてライセンス認証を行う。すなわち、アプリケーション実行サーバ５０は、ユーザからの追加の入力情報を要することなく、ライセンス認証が可能となる。したがって、実施の形態２にかかる情報処理システム１００によれば、ユーザ利便性が高いライセンス認証を行うことが可能となる。
【０１１７】
また、アプリケーション実行サーバ５０では、ライセンスキーを入力することなく、ライセンス認証結果ファイルと、パッケージＩＤファイルとを用いてライセンス認証を可能とする。すなわち、アプリケーション実行サーバ５０は、ライセンスキーを用いずにライセンス認証を行うので、ライセンスキーが第三者に見られたり、不正取得されたりすることが無い。したがって、実施の形態２にかかる情報処理システム１００によれば、ライセンスキーが他に流出することを防ぐことが可能となるので、セキュリティを確保したライセンス認証を行うことが可能となる。
【０１１８】
さらに、本実施の形態によれば、ライセンス認証済のパッケージファイルでのみで、アプリケーション実行基盤ソフトウェアの実行が可能となる。アプリケーション実行基盤ソフトウェアの初回起動時にライセンス認証結果ファイルが存在しない場合、アプリケーション実行基盤ソフトウェアを終了するためである。ライセンス認証結果ファイルのライセンス認証済製品名と、アプリケーション実行基盤ソフトウェアの自製品名とが一致しない場合にもアプリケーション実行基盤ソフトウェアを終了するためである。さらに、ライセンス認証結果ファイルのパッケージＩＤと、アプリケーション実行基盤ソフトウェアに格納されているパッケージＩＤとが一致しない場合に、アプリケーション実行基盤ソフトウェアを終了するためである。
【０１１９】
（変形例）
上述した実施の形態２において、以下の変形を施してもよい。
（１）上述した実施の形態では、パッケージファイルは、１つのユーザアプリケーションを含むように記載がされているが、２つ以上のユーザアプリケーションを含んでもよい。すなわち、開発用ＰＣ３０は、２つ以上のユーザアプリケーションを含むパッケージファイルを生成し、アプリケーション実行サーバ５０がパッケージファイルに含まれる２つ以上のユーザアプリケーションを実行するようにしてもよい。
【０１２０】
（２）上述した実施の形態では、開発用ＰＣ３０には、アプリケーション実行基盤ソフトウェアが既に格納済（展開済）であることとして説明したが、アプリケーション実行基盤ソフトウェアが圧縮されたままの状態であってもよい。この場合、入力部３６は、パッケージングに必要なパラメータとしてアプリケーション実行基盤ソフトウェアの圧縮ファイルのパス名を入力する。そして、ファイルコピー部３８２は、アプリケーション実行基盤ソフトウェアの圧縮ファイルを、記憶領域３５の作業用ディレクトリにアプリケーション実行基盤ソフトウェアとして展開するように構成してもよい。
【０１２１】
（３）上述した実施の形態では、開発用ＰＣ３０には、ユーザアプリケーションが既に格納済（展開済）であることとして説明したが、ユーザアプリケーションが圧縮されたままの状態であってもよい。この場合、入力部３６は、パッケージングに必要なパラメータとしてユーザアプリケーションの圧縮ファイルへのパス名を入力する。そして、ファイルコピー部３８２は、ユーザアプリケーションの圧縮ファイルをアプリケーション実行基盤ソフトウェアのオートデプロイ等のアプリケーション格納用ディレクトリにユーザアプリケーションとして展開する。
【０１２２】
（４）上述した実施の形態では、開発用ＰＣ３０で生成されたパッケージファイルは、アプリケーション実行サーバ５０にコピーされ、展開されていることとして説明した。例えば、開発用ＰＣ３０は、アプリケーション実行サーバ５０に生成したパッケージファイルを送信して、アプリケーション実行サーバ５０にパッケージファイルを展開するように動作する送信部をさらに有していてもよい。このようにしても、上述した実施の形態と同様の効果を有する。
【０１２３】
（実施の形態３）
続いて、実施の形態３について説明する。実施の形態３は、情報処理システムの構成が実施の形態２における情報処理システム１００の構成と異なる。
【０１２４】
＜情報処理システムの構成例＞
図７を用いて、実施の形態３にかかる情報処理システム２００について説明する。図７は、実施の形態３にかかる情報処理システムの構成例を示す図である。図７に示す様に、情報処理システム２００は、開発用ＰＣ３０と、アプリケーション実行サーバ５０と、自動環境構築サーバ６０とを備える。つまり、実施の形態３にかかる情報処理システム２００は、実施の形態２にかかる情報処理システム１００の構成に加えて、自動環境構築サーバ６０を備える。
【０１２５】
開発用ＰＣ３０と、アプリケーション実行サーバ５０と、自動環境構築サーバ６０とは、互いにコンピュータネットワーク４０により接続されており、コンピュータネットワーク４０を介して互いに通信を行う。開発用ＰＣ３０及びアプリケーション実行サーバ５０は、実施の形態２と同様の構成を有している。そのため、本実施の形態では、開発用ＰＣ３０及びアプリケーション実行サーバ５０の詳細な説明を適宜割愛し、実施の形態２と異なる点を説明する。なお、情報処理システム２００は、開発用ＰＣ３０、アプリケーション実行サーバ５０、及び自動環境構築サーバ６０をそれぞれ１つずつ備える構成としているが、それぞれ２つ以上を備える構成であってもよい。
【０１２６】
開発用ＰＣ３０は、アプリケーション実行基盤ソフトウェアのライセンス認証を行い、パッケージファイルを作成（生成）する。開発用ＰＣ３０で生成されたパッケージファイルは、自動環境構築サーバ６０の自動環境構築ソフトウェア４１が配布に使用するディレクトリに既知の手法を利用してコピーされる。例えば、開発用ＰＣ３０が図示しない送信部を有しており、送信部がパッケージファイルをコピーするようにしてもよい。
【０１２７】
自動環境構築サーバ６０は、ＣＰＵに自動環境構築ソフトウェアを実行させることにより後述する各機能部が動作するサーバ装置である。自動環境構築サーバ６０は、アプリケーション実行サーバ５０の環境を自動で構築するサーバ装置である。自動環境構築サーバ６０は、開発用ＰＣ３０が生成したパッケージファイルをアプリケーション実行サーバ５０に配布し、展開する。例えば、情報処理システム２００が複数台のアプリケーション実行サーバ５０を備えているとすると、自動環境構築サーバ６０は、全てのアプリケーション実行サーバ５０に対して、パッケージファイルを配布して展開する。自動環境構築サーバ６０は、アプリケーション実行サーバ５０に展開したパッケージファイルに含まれるアプリケーション実行基盤ソフトウェアを遠隔で自動実行させる。
【０１２８】
アプリケーション実行サーバ５０は、自動環境構築サーバ６０により、パッケージファイルに含まれるアプリケーション実行基盤ソフトウェアを自動実行されると、アプリケーション実行基盤ソフトウェアのライセンス登録が行われているかを判定する。そして、アプリケーション実行基盤ソフトウェアのライセンス登録が行われていない場合、アプリケーション実行サーバ５０は、ライセンス認証及びライセンス登録を行う。
【０１２９】
＜自動環境構築サーバの構成例＞
次に、自動環境構築サーバ６０の構成例について説明する。図７に示すように、自動環境構築サーバ６０は、ストレージ６１と、配信展開部６４とを含む。
【０１３０】
ストレージ６１は、自動環境構築ソフトウェアを格納する記憶領域６２と、パッケージファイルを格納する記憶領域６３とを含む。記憶領域６２には、自動環境構築ソフトウェアが予め格納されており、自動環境構築ソフトウェアは、自動環境構築サーバ６０に予めインストールされている。記憶領域６３には、開発用ＰＣ３０で生成されたパッケージファイルがコピーされている。記憶領域６３は、配信展開部６４がパッケージファイルをアプリケーション実行サーバ５０に配布及び展開するための配布用ディレクトリとも呼ばれる。
【０１３１】
配信展開部６４は、記憶領域６３にコピーされたパッケージファイルをアプリケーション実行サーバ５０に配布して展開する。配信展開部６４は、展開したパッケージファイルに含まれるアプリケーション実行基盤ソフトウェアを起動するための設定を事前に行い、その設定に従って遠隔で自動実行させる。
【０１３２】
＜情報処理システムの動作例＞
次に、図８を用いて、情報処理システム２００の動作例について説明する。図８は、実施の形態３にかかる情報処理システムの動作例を示す図である。具体的には、図８は、開発用ＰＣ３０においてパッケージファイルが生成された後、自動環境構築サーバ６０が、パッケージファイルをアプリケーション実行サーバ５０に配布及び展開するときの動作例である。つまり、図８は、図５で実行された動作例の後に実行される動作であり、図６は、図８が実行された後に実行される。なお、開発用ＰＣ３０及びアプリケーション実行サーバ５０における動作例は、実施の形態２と同様であり、図５及び図６において説明した動作例である。
【０１３３】
まず、開発用ＰＣ３０において生成されたパッケージファイルが、自動環境構築サーバ６０の配布用ディレクトリにコピーされる（ステップＣ１）。
【０１３４】
次に、配信展開部６４は、パッケージファイルをアプリケーション実行サーバ５０に配布、展開、及びパッケージファイルに含まれるアプリケーション実行基盤ソフトウェアの起動のための設定を行う（ステップＣ２）。配信展開部６４は、自動環境構築ソフトウェアが提供する機能に従って設定を行う。
【０１３５】
次に、配信展開部６４は、パッケージファイルをアプリケーション実行サーバ５０に配布して展開する（ステップＣ３）。
【０１３６】
最後に、配信展開部６４は、アプリケーション実行サーバ５０において、展開したパッケージファイルに含まれるアプリケーション実行基盤ソフトウェアを起動するための設定を行う（ステップＣ４）。なお、ステップＣ４まで実行されると、アプリケーション実行サーバ５０が、図６において説明した動作を実行する。
【０１３７】
以上説明したように、本実施の形態においても実施の形態２と同様に、開発用ＰＣ３０は、アプリケーション実行基盤ソフトウェアに対してライセンス認証を行う。開発用ＰＣ３０は、アプリケーション実行基盤ソフトウェアの製品名を含む認証結果と、アプリケーション実行基盤ソフトウェアとを含むパッケージファイルを生成する。また、開発用ＰＣ３０は、パッケージファイルに割り当てるパッケージＩＤを生成して、パッケージファイルに生成したパッケージＩＤを含める。
【０１３８】
アプリケーション実行サーバ５０は、パッケージファイルに含まれるアプリケーション実行基盤ソフトウェアの自製品名と、パッケージファイルに含まれる認証結果と、パッケージＩＤとを用いてライセンス認証及びライセンス登録を行う。すなわち、アプリケーション実行サーバ５０は、ユーザからの追加の入力情報を要することなく、パッケージファイルに含まれるアプリケーション実行基盤ソフトウェアのライセンス認証が可能となる。したがって、実施の形態３にかかる情報処理システム１００によれば、ユーザ利便性が高いライセンス認証を行うことが可能となる。
【０１３９】
また、アプリケーション実行サーバ５０では、ライセンスキーを入力することなく、ライセンス認証結果ファイルと、パッケージＩＤファイルとを用いてライセンス認証を可能とする。すなわち、アプリケーション実行サーバ５０は、ライセンスキーを用いずにライセンス認証を行うので、ライセンスキーが第三者に見られたり、不正取得されたりすることが無い。したがって、実施の形態３にかかる情報処理システム１００によれば、ライセンスキーが他に流出することを防ぐことが可能となるので、セキュリティを確保したライセンス認証を行うことが可能となる。
【０１４０】
さらに、本実施の形態によれば、ライセンス認証済のパッケージファイルでのみで、アプリケーション実行基盤ソフトウェアの実行が可能となる。
【０１４１】
また、一般的に、自動環境構築サーバ６０を用いて、アプリケーション実行サーバ５０の環境を構築する場合、アプリケーション実行基盤ソフトウェアのライセンスチェックを行うために、事前にライセンスキーを設定する必要がある。しかし、本実施の形態では、自動環境構築サーバ６０において、ライセンスキーを設定することなく、アプリケーション実行サーバ５０において、アプリケーション実行基盤ソフトウェアのライセンス認証を行うことが可能となる。したがって、本実施の形態にかかる情報処理システム２００を用いることにより、ユーザは、自動環境構築サーバ６０においてライセンスキーを事前に設定する手間を省略することが出来る。さらに、本実施の形態にかかる情報処理システム２００を用いることにより、ユーザがライセンスキーを設定する必要がなくなるので、ライセンスキーが第三者に流出する危険性を低減することが可能となる。
【０１４２】
（他の実施の形態）
【０１４３】
図９は、上述した実施の形態において説明した端末装置１０、サーバ装置２０、開発用ＰＣ３０、アプリケーション実行サーバ５０及び自動環境構築サーバ６０（以下、端末装置１０等と称する）は、次のようなハードウェア構成を有していてもよい。図９は、本開示の各実施の形態にかかる端末装置等のハードウェア構成を例示するブロック図である。
【０１４４】
図９を参照すると、端末装置１０等は、プロセッサ１２０２、及びメモリ１２０３を含む。
プロセッサ１２０２は、メモリ１２０３からソフトウェア（コンピュータプログラム）を読み出して実行することで、上述の実施形態においてフローチャートを用いて説明された端末装置１０等の処理を行う。プロセッサ１２０２は、例えば、マイクロプロセッサ、MPU（Micro Processing Unit）、又はCPU（Central Processing Unit）であってもよい。プロセッサ１２０２は、複数のプロセッサを含んでもよい。
【０１４５】
メモリ１２０３は、揮発性メモリ及び不揮発性メモリの組み合わせによって構成される。メモリ１２０３は、プロセッサ１２０２から離れて配置されたストレージを含んでもよい。この場合、プロセッサ１２０２は、図示されていないI/Oインタフェースを介してメモリ１２０３にアクセスしてもよい。
【０１４６】
図９の例では、メモリ１２０３は、ソフトウェアモジュール群を格納するために使用される。プロセッサ１２０２は、これらのソフトウェアモジュール群をメモリ１２０３から読み出して実行することで、上述の実施形態において説明された端末装置１０等の処理を行うことができる。
【０１４７】
図９を用いて説明したように、端末装置１０等が有するプロセッサの各々は、図面を用いて説明されたアルゴリズムをコンピュータに行わせるための命令群を含む１または複数のプログラムを実行する。
【０１４８】
上述の例において、プログラムは、様々なタイプの非一時的なコンピュータ可読媒体（non-transitory computer readable medium）を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体（tangible storage medium）を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体（例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ）、光磁気記録媒体（例えば光磁気ディスク）を含む。さらに、非一時的なコンピュータ可読媒体の例は、ＣＤ−ＲＯＭ（Read Only Memory）、ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗを含む。さらに、非一時的なコンピュータ可読媒体の例は、半導体メモリを含む。半導体メモリは、例えば、マスクＲＯＭ、ＰＲＯＭ（Programmable ROM）、ＥＰＲＯＭ（Erasable PROM）、フラッシュＲＯＭ、ＲＡＭ（Random Access Memory）を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体（transitory computer readable medium）によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【０１４９】
なお、本開示は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。また、本開示は、それぞれの実施の形態を適宜組み合わせて実施されてもよい。
【０１５０】
また、上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
（付記１）
所定のソフトウェアと、前記所定のソフトウェアを識別するソフトウェア識別情報を含む認証結果とが含まれたパッケージファイルであって、前記パッケージファイルを識別するパッケージ識別情報が、前記パッケージファイルと前記認証結果とにさらに含まれた前記パッケージファイルが展開された場合、前記パッケージファイルに含まれる前記所定のソフトウェアのソフトウェア識別情報を取得する取得部と、
前記取得されたソフトウェア識別情報、前記認証結果に含まれるソフトウェア識別情報、前記パッケージファイルに含まれるパッケージ識別情報、及び前記認証結果に含まれるパッケージ識別情報を用いて、前記所定のソフトウェアのライセンス認証を行う認証部と、を備えるサーバ装置。
（付記２）
前記認証部は、前記取得されたソフトウェア識別情報と、前記認証結果に含まれるソフトウェア識別情報とが一致し、かつ、前記パッケージファイルに含まれるパッケージ識別情報と、前記認証結果に含まれるパッケージ識別情報とが一致する場合、前記ライセンス認証を正常に完了する、付記１に記載のサーバ装置。
（付記３）
前記認証部は、前記取得されたソフトウェア識別情報に基づいて、自装置に前記所定のソフトウェアのライセンスが登録されているか否かを判定し、前記ライセンスが登録されていない場合、前記ライセンス認証を行う、付記１又は２に記載のサーバ装置。
（付記４）
前記認証部は、前記パッケージファイルに前記認証結果が含まれていない場合、前記ライセンス認証を行わない、付記１〜３のいずれか１項に記載のサーバ装置。
（付記５）
前記認証部は、前記ライセンス認証及びライセンス登録を正常に完了した場合、前記認証結果を削除する、付記１〜４のいずれか１項に記載のサーバ装置。
（付記６）
前記パッケージファイルに含まれる前記所定のソフトウェアは、前記パッケージ識別情報と、アプリケーションとを格納し、
前記ライセンス認証及びライセンス登録を正常に完了した場合、前記アプリケーションを実行する処理部をさらに備える、付記１〜５のいずれか１項に記載のサーバ装置。
（付記７）
前記パッケージファイルは、他のサーバ装置から配布され、前記他のサーバにより展開される、付記１〜６のいずれか１項に記載のサーバ装置。
（付記８）
前記ソフトウェア識別情報は、前記所定のソフトウェアの製品名、製品コード及び製品ＩＤ（Identifier）のうちの少なくとも１つを含む、付記１〜７のいずれか１項に記載のサーバ装置。
（付記９）
前記所定のソフトウェアは、アプリケーション実行基盤ソフトウェアである、付記１〜８のいずれか１項に記載のサーバ装置。
（付記１０）
所定のソフトウェアに対してライセンス認証を行い、当該ライセンス認証が正常に完了した場合、前記所定のソフトウェアを識別するソフトウェア識別情報を含む認証結果を出力する認証部と、
前記所定のソフトウェアと、前記認証結果とを含むパッケージファイルを生成する生成部と、を備え、
前記生成部は、前記パッケージファイルを識別するパッケージ識別情報を生成し、前記生成したパッケージ識別情報を、前記認証結果と、前記パッケージファイルと、に含めて前記パッケージファイルを生成する、端末装置。
（付記１１）
前記所定のソフトウェアのライセンスキーが入力される入力部をさらに備え、
前記認証部は、前記入力されたライセンスキーを用いて、前記ライセンス認証を行う、付記１０に記載の端末装置。
（付記１２）
所定のソフトウェアと、前記所定のソフトウェアを識別するソフトウェア識別情報を含む認証結果とが含まれたパッケージファイルであって、前記パッケージファイルを識別するパッケージ識別情報が、前記パッケージファイルと前記認証結果とにさらに含まれた前記パッケージファイルが展開された場合、前記パッケージファイルに含まれる前記所定のソフトウェアのソフトウェア識別情報を取得することと、
前記取得されたソフトウェア識別情報、前記認証結果に含まれるソフトウェア識別情報、前記パッケージファイルに含まれるパッケージ識別情報、及び前記認証結果に含まれるパッケージ識別情報を用いて、前記所定のソフトウェアのライセンス認証を行うことと、を含むライセンス認証方法。
（付記１３）
所定のソフトウェアと、前記所定のソフトウェアを識別するソフトウェア識別情報を含む認証結果とが含まれたパッケージファイルであって、前記パッケージファイルを識別するパッケージ識別情報が、前記パッケージファイルと前記認証結果とにさらに含まれた前記パッケージファイルが展開された場合、前記パッケージファイルに含まれる前記所定のソフトウェアのソフトウェア識別情報を取得することと、
前記取得されたソフトウェア識別情報、前記認証結果に含まれるソフトウェア識別情報、前記パッケージファイルに含まれるパッケージ識別情報、及び前記認証結果に含まれるパッケージ識別情報を用いて、前記所定のソフトウェアのライセンス認証を行うことと、をコンピュータに実行させるライセンス認証プログラム。
（付記１４）
所定のソフトウェアを含むパッケージファイルであって、前記所定のソフトウェアを識別するソフトウェア識別情報及び前記パッケージファイルを識別するパッケージ識別情報を含む認証結果と、前記パッケージ識別情報と、が含まれた前記パッケージファイルを生成する端末装置と、
前記パッケージファイルが展開された場合、前記パッケージファイルに含まれる前記所定のソフトウェアのソフトウェア識別情報を取得し、前記取得されたソフトウェア識別情報、前記認証結果に含まれるソフトウェア識別情報、前記パッケージファイルに含まれるパッケージ識別情報、及び前記認証結果に含まれるパッケージ識別情報を用いて、前記所定のソフトウェアのライセンス認証を行うサーバ装置と、を備える情報処理システム。
（付記１５）
前記サーバ装置は、第１サーバ装置であって、
前記パッケージファイルを前記第１サーバ装置に配布すると共に、前記パッケージファイルを展開する第２サーバ装置をさらに備える付記１４に記載の情報処理システム。
【符号の説明】
【０１５１】
１、１００、２００  情報処理システム
１０  端末装置
１１、２２、３７、５５  認証部
１２、３８  生成部
２０  サーバ装置
２１、５４  取得部
３０  開発用ＰＣ
３２、５１、６１  ストレージ
３３〜３５、５３、６２、６３、３５１〜３５４及び５３１〜５３４  記憶領域
３６  入力部
４０  コンピュータネットワーク
５０  アプリケーション実行サーバ
５６  アプリケーション実行処理部
６０  自動環境構築サーバ
６４  配信展開部
３８１  パッケージ生成部
３８２  ファイルコピー部
３８３  ＩＤ格納部
３８４  ＩＤ取得部
３８５  認証結果格納部
５５１  ライセンス管理部
５５２  ライセンス認証結果判定部
５５３  パッケージＩＤ判定部
【図１】
2020060920.tif 000003
【図２】
2020060920.tif 000004
【図３】
2020060920.tif 000005
【図４】
2020060920.tif 000006
【図５】
2020060920.tif 000007
【図６】
2020060920.tif 000008
【図７】
2020060920.tif 000009
【図８】
2020060920.tif 000010
【図９】
2020060920.tif 000011