(57)【要約】      （修正有）【課題】カスタマイズソフトウェアにおける管理者のライセンス管理負担を軽減し不正使用防止や利用状況監視を可能とする。【解決手段】管理端末２００が、利用端末３００から受信した申請情報を配布端末１３０に送信し、申請情報に応じたカスタマイズソフトウェアを配布端末１３０より受信しスプール２１７に格納する。カスタマイズソフトウェアのライセンス情報を配布端末１３０より受信してライセンス管理情報データベース２１６に格納し、ライセンスを申請した利用端末３００へのライセンス情報の割り当てをライセンス管理情報データベース２１６において実行すると共にライセンス情報と配布端末１３０の公開鍵とを対応するカスタマイズソフトウェアと共に利用端末３００に配布し、利用端末３００へのカスタマイズソフトウェア、ライセンス情報、ならびに公開鍵の配布処理の内容情報を管理端末側の配布情報データベース２１８に格納する。【選択図】  図１
2006018744.tif 000002
【特許請求の範囲】
【請求項１】
カスタマイズ元のマスタソフトウェアを管理する配布端末においてカスタマイズされたソフトウェアの、管理端末から利用端末への配布管理を実行する方法であって、
前記管理端末が、  
利用端末から受信した、カスタマイズソフトウェアの利用を申請する申請情報を前記配布端末に送信し、
前記配布端末における前記申請情報に応じたマスタソフトウェアのカスタマイズにより生成されたカスタマイズソフトウェアを、当該配布端末より受信し、カスタマイズソフトウェアスプールに格納し、
前記配布端末において前記カスタマイズソフトウェアに対し割り当てたライセンス情報を、当該配布端末より受信してライセンス管理情報データベースに格納し、
前記ライセンス情報の、前記申請情報の起源となった利用端末への割り当てを前記ライセンス管理情報データベースにおいて実行すると共に、当該ライセンス情報と前記配布端末の公開鍵とを対応するカスタマイズソフトウェアと共に該当利用端末に配布し、
前記利用端末への、カスタマイズソフトウェア、ライセンス情報、ならびに公開鍵の配布処理の内容情報を、管理端末側の配布情報データベースに格納することを特徴とするソフトウェア配布管理方法。
【請求項２】
請求項１において、
前記配布端末が、
前記管理端末から受信した申請情報より管理端末の情報を抽出して、当該抽出した管理端末情報を暗号化し、
前記申請情報に該当するマスタソフトウェアの情報を、マスタソフトウェアを格納したマスタソフトウェアデータベースより抽出して、当該抽出したソフトウェア情報を暗号化し、
前記申請情報より利用端末での使用環境の情報を抽出し、当該使用環境情報に応じたマスタソフトウェアのカスタマイズの情報を、使用環境毎のカスタマイズ内容を定めたカスタマイズ情報データベースより取得し、
前記使用環境情報と、前記カスタマイズ情報と、前記暗号化された管理端末情報と、前記暗号化されたソフトウェア情報とを用いて、マスタソフトウェアをカスタマイズし、
前記マスタソフトウェアをカスタマイズしたカスタマイズソフトウェアを、当該配布端末の公開鍵と当該カスタマイズソフトウェアのライセンス情報と共に該当管理端末へ配布し、
前記管理端末への、カスタマイズソフトウェア、公開鍵、ならびにライセンス情報の配布処理の内容情報を、配布端末側の配布情報データベースに格納し、
前記管理端末へのライセンス発行の情報を、ライセンス発行情報データベースに格納することを特徴とするソフトウェア配布管理方法。
【請求項３】
請求項２において、
前記利用端末が、
管理端末より配布されたカスタマイズソフトウェアにおける、管理端末情報とソフトウェア情報とを前記公開鍵を用いて復号化し、
前記復号化したソフトウェア情報と、配布されたカスタマイズソフトウェアから抽出したソフトウェア情報とを照合して、カスタマイズソフトウェアの改竄有無を検知し、
前記復号化した管理端末情報に基づき、該当管理端末に、利用端末の情報と前記ライセンス情報とを含むライセンス認証要求を送信し、
前記管理端末からのライセンス認証結果を受信して、当該認証結果に基づき、該当カスタマイズソフトウェアの起動処理を実行することを特徴とするソフトウェア配布管理方法。
【請求項４】
請求項３において、
前記管理端末が、
利用端末から送信された前記ライセンス認証要求に基づき、前記ライセンス管理情報データベースにおける、該当利用端末へのライセンス割当有無を検証してライセンス認証処理を実行し、
前記利用端末に関するライセンス認証結果を、該当利用端末に通知することを特徴とするソフトウェア配布管理方法。  
【請求項５】
請求項１〜４のいずれかにおいて、
前記管理端末が、
利用端末から前記カスタマイズソフトウェアの使用状況の情報を取得し、これを利用情報データベースに格納し、
前記利用状況の情報に基づき、所定頻度以下の使用状況しかないカスタマイズソフトウェアを特定し、当該カスタマイズソフトウェアを利用していた利用端末より、該当ライセンス情報を回収することを特徴とするソフトウェア配布管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウェア配布管理方法、ソフトウェア配布の管理端末、およびソフトウェアの配布端末に関するもので、特に、利用者にカスタマイズしたソフトウェアを配布し、当該ソフトウェアのライセンス管理と配布管理とを行うソフトウェア配布管理方法等に関する。
【背景技術】
【０００２】
従来、いくつかのソフトウェア配布管理の手法が提案されてきた。例えば、マスタソフトウェアを格納する手段と配布情報と配布先のカスタマイズ情報を対応付けて格納する手段と前記カスタマイズ情報を用いてソフトウェアをカスタマイズする手段を有するソフトウエア配布システムにおいて、マスタソフトウェアを各配布先のカスタマイズ情報を用いてカスタマイズした後に配布先ごとに格納する手段と、格納したソフトウェアを前記配布情報に基づいて配布する手段とを有することを特徴とするソフトウェア配布システム（特許文献１参照）などが提案されている。
【特許文献１】特開２００２−０４９４８５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
従来手法においては、ソフトウェアのライセンス管理を考慮していないため、利用者が配布されたソフトウェアを不正コピーしたりプログラムに修正を加えるような行為を防止することが困難であった。また、前記利用者が用いる利用端末が、複数拠点に分散している場合、配布されたソフトウェアの利用状況を、配布元で一元管理するのは困難で、管理負担が大きいという問題があった。
【０００４】
そこで本発明は上記課題を鑑みてなされたものであり、カスタマイズソフトウェアの管理者におけるライセンス管理負担を軽減し、カスタマイズソフトウェアの不正使用防止や利用状況監視を可能とする、ソフトウェア配布管理方法、ソフトウェア配布の管理端末、およびソフトウェアの配布端末を提供することを主たる目的とする。
【課題を解決するための手段】
【０００５】
上記課題を解決する本発明のソフトウェア配布管理方法は、カスタマイズ元のマスタソフトウェアを管理する配布端末においてカスタマイズされたソフトウェアの、管理端末から利用端末への配布管理を実行する方法であって、前記管理端末が、利用端末から受信した、カスタマイズソフトウェアの利用を申請する申請情報を前記配布端末に送信し、前記配布端末における前記申請情報に応じたマスタソフトウェアのカスタマイズにより生成されたカスタマイズソフトウェアを、当該配布端末より受信し、カスタマイズソフトウェアスプールに格納し、前記配布端末において前記カスタマイズソフトウェアに対し割り当てたライセンス情報を、当該配布端末より受信してライセンス管理情報データベースに格納し、前記ライセンス情報の、前記申請情報の起源となった利用端末への割り当てを前記ライセンス管理情報データベースにおいて実行すると共に、当該ライセンス情報と前記配布端末の公開鍵とを対応するカスタマイズソフトウェアと共に該当利用端末に配布し、前記利用端末への、カスタマイズソフトウェア、ライセンス情報、ならびに公開鍵の配布処理の内容情報を、管理端末側の配布情報データベースに格納することを特徴とする（第１の発明）。
【０００６】
第２の発明は、第１の発明において、前記配布端末が、前記管理端末から受信した申請情報より管理端末の情報を抽出して、当該抽出した管理端末情報を暗号化し、前記申請情報に該当するマスタソフトウェアの情報を、マスタソフトウェアを格納したマスタソフトウェアデータベースより抽出して、当該抽出したソフトウェア情報を暗号化し、前記申請情報より利用端末での使用環境の情報を抽出し、当該使用環境情報に応じたマスタソフトウェアのカスタマイズの情報を、使用環境毎のカスタマイズ内容を定めたカスタマイズ情報データベースより取得し、前記使用環境情報と、前記カスタマイズ情報と、前記暗号化された管理端末情報と、前記暗号化されたソフトウェア情報とを用いて、マスタソフトウェアをカスタマイズし、前記マスタソフトウェアをカスタマイズしたカスタマイズソフトウェアを、当該配布端末の公開鍵と当該カスタマイズソフトウェアのライセンス情報と共に該当管理端末へ配布し、前記管理端末への、カスタマイズソフトウェア、公開鍵、ならびにライセンス情報の配布処理の内容情報を、配布端末側の配布情報データベースに格納し、
前記管理端末へのライセンス発行の情報を、ライセンス発行情報データベースに格納することを特徴とする。
【０００７】
第３の発明は、第２の発明において、前記利用端末が、管理端末より配布されたカスタマイズソフトウェアにおける、管理端末情報とソフトウェア情報とを前記公開鍵を用いて復号化し、前記復号化したソフトウェア情報と、配布されたカスタマイズソフトウェアから抽出したソフトウェア情報とを照合して、カスタマイズソフトウェアの改竄有無を検知し、前記復号化した管理端末情報に基づき、該当管理端末に、利用端末の情報と前記ライセンス情報とを含むライセンス認証要求を送信し、前記管理端末からのライセンス認証結果を受信して、当該認証結果に基づき、該当カスタマイズソフトウェアの起動処理を実行することを特徴とする。
【０００８】
第４の発明は、第３の発明において、前記管理端末が、利用端末から送信された前記ライセンス認証要求に基づき、前記ライセンス管理情報データベースにおける、該当利用端末へのライセンス割当有無を検証してライセンス認証処理を実行し、前記利用端末に関するライセンス認証結果を、該当利用端末に通知することを特徴とする。
【０００９】
第５の発明は、第１〜第４のいずれかの発明において、前記管理端末が、利用端末から前記カスタマイズソフトウェアの使用状況の情報を取得し、これを利用情報データベースに格納し、前記利用状況の情報に基づき、所定頻度以下の使用状況しかないカスタマイズソフトウェアを特定し、当該カスタマイズソフトウェアを利用していた利用端末より、該当ライセンス情報を回収することを特徴とする。
【００１０】
その他、本願が開示する課題、及びその解決方法は、発明の実施の形態の欄、及び図面により明らかにされる。
【発明の効果】
【００１１】
本発明によれば、カスタマイズソフトウェアの管理者におけるライセンス管理負担を軽減し、カスタマイズソフトウェアの不正使用防止や利用状況監視が可能となる。
【発明を実施するための最良の形態】
【００１２】
以下に本発明の実施形態について図面を用いて詳細に説明する。図１は本実施形態におけるソフトウェア配布管理システム１００を示す図である。本発明のソフトウェア配布管理システム（以下、システム１００）は、配布端末１３０、管理端末２００、および利用端末３００が、ネットワークで結ばれた構成からなる。
【００１３】
本実施形態においては、配布端末１３０、管理端末２００、および利用端末３００のそれぞれが独立したコンピュータとして互いに協働し、本発明のソフトウェア配布管理方法を実現する例につき説明を行っている。ただし、例えばシステム１００がこれら各端末１３０、２００、３００の機能を一体に備えたサーバコンピュータであって、本発明のソフトウェア配布管理方法を実行する機能（前記各端末１３０、２００、３００の機能を合わせたもの）を実現すべくハードディスクドライブなどのプログラムデータベースに格納されたプログラムをメモリに読み出し、演算装置たるＣＰＵにより実行するものともできる。
【００１４】
以下に、前記システム１００を構成する各端末について説明する。まず、配布端末１３０は、カスタマイズ元のマスタソフトウェアを管理し、当該マスタソフトウェアの利用端末３００への配布管理を実行する管理端末２００への配布処理を実行するコンピュータ装置であり、本発明のソフトウェア配布管理方法のうち、配布端末１３０として実行すべき機能を実現すべくハードディスクドライブなどのプログラムデータベース１３１に格納されたプログラム１３２をメモリ１３３に読み出し、演算装置たるＣＰＵ１３４により実行するものである。また、配布端末１３０は、ＬＡＮやインターネット等のネットワーク１５０を介して、管理端末２００らの外部装置と接続してデータ授受を実行するＩ／Ｏ部１３５を備える。また配布端末１３０は、例えばＬＡＮ１５５を介して、各種データベース１１５〜１１９にアクセス可能である。
【００１５】
以下に、前記配布端末１３０が例えばプログラム１３２に基づき構成・保持する機能部につき説明を行う。配布端末１３０は、前記管理端末２００から受信した申請情報より管理端末３００の情報を抽出して、当該抽出した管理端末情報を暗号化する、管理端末情報暗号化部１３６を備える。
【００１６】
また、配布端末１３０は、前記申請情報に該当するマスタソフトウェアの情報を、マスタソフトウェアを格納したマスタソフトウェアデータベース１１５より抽出して、当該抽出したソフトウェア情報を暗号化する、ソフトウェア情報暗号化部１３７を備える。
【００１７】
また、配布端末１３０は、前記申請情報より利用端末３００での使用環境の情報を抽出し、当該使用環境情報に応じたマスタソフトウェアのカスタマイズの情報を、使用環境毎のカスタマイズ内容を定めたカスタマイズ情報データベース１１６より取得する、カスタマイズ情報取得部１３８を備える。
【００１８】
また、配布端末１３０は、前記使用環境情報と、前記カスタマイズ情報と、前記暗号化された管理端末情報と、前記暗号化されたソフトウェア情報とを用いて、マスタソフトウェアをカスタマイズする、カスタマイズ処理部１３９を備える。
【００１９】
また、配布端末１３０は、前記マスタソフトウェアをカスタマイズしたカスタマイズソフトウェアを、当該配布端末１３０の公開鍵と当該カスタマイズソフトウェアのライセンス情報と共に該当管理端末２００へ配布する、カスタマイズソフトウェア配布部１４０を備える。
【００２０】
また、配布端末１３０は、前記管理端末２００への、カスタマイズソフトウェア、公開鍵、ならびにライセンス情報の配布処理の内容情報を、配布端末側の配布情報データベース１１８に格納する、配布情報格納部１４１を備える。
【００２１】
また、配布端末１３０は、前記管理端末２００へのライセンス発行の情報を、ライセンス発行情報データベース１１７に格納する、ライセンス発行情報格納部１４２を備える。
【００２２】
次に、本実施形態の配布端末１３０が利用するデータベースの各データ構造例について説明する。図２は、本実施形態における（ａ）マスタソフトウェアデータベース、（ｂ）カスタマイズ情報データベース、（ｃ）ライセンス発行情報データベース、（ｄ）配布端末側配布情報データベース、（ｅ）配布端末側申請情報データベース、を示す図である。
【００２３】
マスタソフトウェアデータベース１１５は、カスタマイズ前の標準のソフトウェアを格納したものであり、例えば、ソフトウェアＩＤをキーとして、ソフトウェア名、マスタデータといった情報を関連づけたレコードの集合体となっている。
【００２４】
また、カスタマイズ情報データベース１１６は、利用端末３００でのソフトウェア使用環境に応じたマスタソフトウェアのカスタマイズ内容を定めたものであり、例えば、ソフトウェアＩＤをキーとして、カスタマイズ名、ＯＳ（Operating System）、利用形態、コンパイルオプション、カスタマイズ部品といった情報を関連づけたレコードの集合体となっている。
【００２５】
また、ライセンス発行情報データベース１１７は、管理端末へのライセンス発行の情報を格納したものであり、例えば、発行日時をキーとして、（ライセンスの）申請ＩＤ、カスタマイズソフトウェアＩＤ、ライセンスＩＤ、有効期限といった情報を関連づけたレコードの集合体となっている。
【００２６】
また、配布端末側配布情報データベース１１８は、管理端末２００へのカスタマイズソフトウェアの配布情報を格納したものであり、例えば、配布日時をキーとして、申請ＩＤ、カスタマイズソフトウェアＩＤといった情報を関連づけたレコードの集合体となっている。
【００２７】
また、配布端末側申請情報データベース１１９は、管理端末２００から受け付けたカスタマイズソフトウェアの利用申請の情報を格納したものであり、例えば、申請日時をキーとして、ソフトウェア種別、管理端末名、管理端末アドレス、ソフトウェア名、ＯＳ、利用形態、ライセンス数といった情報を関連づけたレコードの集合体となっている。なお、ここにおける配布端末側申請情報データベース１１９は、カスタマイズソフトウェアの利用申請を格納したものであるが、他方、カスタマイズソフトウェアのライセンス発行申請の情報を格納することもできる。この場合、配布端末側申請情報データベース１２０は、例えば、申請日時をキーとして、ライセンス種別、管理端末名、管理端末アドレス、カスタマイズソフトウェアＩＤ、ライセンス数といった情報を関連づけたレコードの集合体となっている。
【００２８】
次に、前記システム１００を構成する端末のうち、管理端末２００について説明する。この管理端末２００は、カスタマイズ元のマスタソフトウェアを管理する配布端末１３０においてカスタマイズされたソフトウェアの、利用端末３００への配布管理を実行するコンピュータ装置であり、本発明のソフトウェア配布管理方法のうち、管理端末２００として実行すべき機能を実現すべくハードディスクドライブなどのプログラムデータベース２０１に格納されたプログラム２０２をメモリ２０３に読み出し、演算装置たるＣＰＵ２０４により実行するものである。また、管理端末２００は、ＬＡＮやインターネット等のネットワーク１５０、１５５を介して、配布端末１３０や利用端末３００らの外部装置と接続してデータ授受を実行するＩ／Ｏ部２０５を備える。また管理端末２００は、例えばＬＡＮ１５５を介して、各種データベース２１５〜２２０にアクセス可能である。
【００２９】
以下に、前記管理端末２００が例えばプログラム２０２に基づき構成・保持する機能部につき説明を行う。管理端末２００は、利用端末３００から受信した、カスタマイズソフトウェアの利用を申請する申請情報を前記配布端末１３０に送信する、申請情報配布部２０６を備える。
【００３０】
また、管理端末２００は、前記配布端末１３０における前記申請情報に応じたマスタソフトウェアのカスタマイズにより生成されたカスタマイズソフトウェアを、当該配布端末１３０より受信し、カスタマイズソフトウェアスプール２１７に格納する、カスタマイズソフトウェア格納部２０７を備える。
【００３１】
また、管理端末２００は、前記配布端末１３０において前記カスタマイズソフトウェアに対し割り当てたライセンス情報を、当該配布端末１３０より受信してライセンス管理情報データベース２１６に格納する、ライセンス情報格納部２０８を備える。
【００３２】
また、管理端末２００は、前記ライセンス情報の、前記申請情報の起源となった利用端末３００への割り当てを前記ライセンス管理情報データベース２１６において実行すると共に、当該ライセンス情報と前記配布端末１３０の公開鍵とを対応するカスタマイズソフトウェアと共に該当利用端末３００に配布する、カスタマイズソフトウェア配布部２０９を備える。
【００３３】
また、管理端末２００は、前記利用端末３００への、カスタマイズソフトウェア、ライセンス情報、ならびに公開鍵の配布処理の内容情報を、管理端末側の配布情報データベース２１８に格納する、配布情報格納部２１０を備える。
【００３４】
次に、本実施形態の管理端末２００が利用するデータベースの各データ構造例について説明する。図３は、本実施形態における（ａ）管理端末側申請情報データベース、（ｂ）ライセンス管理情報データベース、（ｃ）カスタマイズソフトウェアスプール、（ｄ）管理端末側配布情報データベース、（ｅ）利用情報データベース、（ｆ）鍵情報データベースを示す図である。
【００３５】
管理端末側申請情報データベース２１５は、利用端末３００から受信した申請情報を格納したものであり、例えば、申請日時をキーとして、利用端末名、利用端末アドレス、ＯＳ、ソフトウェア名、利用形態といった情報を関連づけたレコードの集合体となっている。
【００３６】
また、ライセンス管理情報データベース２１６は、利用端末３００に使用を許可したライセンスの情報を格納したものであり、例えば、利用端末名をキーとして、カスタマイズソフトウェアＩＤ、ライセンスＩＤ、有効期限といった情報を関連づけたレコードの集合体となっている。
【００３７】
また、カスタマイズソフトウェアスプール２１７は、配布端末１３０より配信されたカスタマイズソフトウェアを格納したものであり、例えば、カスタマイズソフトウェアＩＤをキーとして、ソフトウェア名、ＯＳ、利用形態、（配布端末１３０の公開鍵の）鍵ＩＤ、ソフトウェアデータといった情報を関連づけたレコードの集合体となっている。
【００３８】
また、管理端末側配布情報データベース２１８は、利用端末３００へのカスタマイズソフトウェアの配布情報を格納したものであり、例えば、配布日時をキーとして、申請ＩＤ、利用端末名、カスタマイズソフトウェアＩＤ、（配布端末１３０の公開鍵の）鍵ＩＤといった情報を関連づけたレコードの集合体となっている。
【００３９】
また、利用情報データベース２１９は、各利用端末３００におけるカスタマイズソフトウェアの利用状況を示す情報を格納したものであり、例えば、利用日時をキーとして、利用端末名、カスタマイズソフトウェアＩＤ、利用機能といった情報を関連づけたレコードの集合体となっている。
【００４０】
また、鍵情報データベース２２０は、配布端末１３０より管理端末２００が取得した配布端末１３０の公開鍵を格納したものであり、例えば、鍵ＩＤをキーとして、公開鍵のデータを関連づけたレコードの集合体となっている。
【００４１】
次に、前記システム１００を構成する端末のうち、利用端末３００について説明する。この利用端末３００は、カスタマイズ元のマスタソフトウェアを管理する配布端末１３０より管理端末２００に配布された、カスタマイズソフトウェアを利用するコンピュータ装置であり、本発明のソフトウェア配布管理方法のうち、利用端末３００として実行すべき機能を実現すべくハードディスクドライブなどのプログラムデータベース３０１に格納されたプログラム３０２をメモリ３０３に読み出し、演算装置たるＣＰＵ３０４により実行するものである。また、利用端末３００は、ＬＡＮ１５５を介して利用端末３００と接続してデータ授受を実行するＩ／Ｏ部３０５を備える。
【００４２】
以下に、前記利用端末３００が例えばプログラム３０２に基づき構成・保持する機能部につき説明を行う。利用端末３００は、管理端末２００より配布されたカスタマイズソフトウェアにおける、管理端末情報とソフトウェア情報とを、配布端末１３０の公開鍵を用いて復号化する、復号化部３０６を備える。
【００４３】
また、利用端末３００は、前記復号化したソフトウェア情報と、配布されたカスタマイズソフトウェアから抽出したソフトウェア情報とを照合して、カスタマイズソフトウェアの改竄有無を検知する、改竄検知部３０７を備える。
【００４４】
また、利用端末３００は、前記復号化した管理端末情報に基づき、該当管理端末２００に、利用端末３００の情報と前記ライセンス情報とを含むライセンス認証要求を送信する、要求送信部３０８を備える。
【００４５】
また、利用端末３００は、前記管理端末２００からのライセンス認証結果を受信して、当該認証結果に基づき、該当カスタマイズソフトウェアの起動処理を実行する、起動処理部３０９を備える。
【００４６】
なお、上述した各端末１３０、２００、３００は、処理結果等を出力するディスプレイ等の表示装置や、利用者からの入力を受け付けるタッチパネルやキーボード、マウスといった入力装置を備えるものとする。
【００４７】
また、これまで示したシステム１００の各端末１３０、２００、３００における機能部１３７〜１４２、２０６〜２１０、３０６〜３０９は、ハードウェアとして実現してもよいし、ＨＤＤやメモリなどの適宜な記憶装置に格納したプログラムとして実現するとしてもよい。この場合、前記ＣＰＵがプログラム実行に合わせて記憶装置より該当プログラムをメモリに読み出して、これを実行することとなる。
【００４８】
また、前記ネットワーク１５０、１５５に関しては、インターネットやＬＡＮの他、ＡＴＭ回線や専用回線、ＷＡＮ（Wide Area Network）、電灯線ネットワーク、無線ネットワーク、公衆回線網、携帯電話網など様々なネットワークを採用することも出来る。また、ＶＰＮなど仮想専用ネットワーク技術を用いれば、インターネットを採用した際にセキュリティ性を高めた通信が確立され好適である。
【００４９】
以下、本実施形態におけるソフトウェア配布管理方法の実際手順について、図に基づき説明する。なお、以下で説明するソフトウェア配布管理方法に対応する各種動作は、システム１００を構成する各端末１３０、２００、３００がそれぞれのメモリ１３３、２０３、３０３に読み出して実行するプログラム１３２、２０２、３０２におよって実現される。そして、これらのプログラム１３２、２０２、３０２は、以下において端末毎に説明される各種の動作を行うためのコードから構成されている。
【００５０】
−−−管理端末１３０におけるフロー−−−
図４は本実施形態におけるソフトウェア配布管理方法の実際手順１を示すフロー図である。まずは、前記管理端末２００におけるフローにつき説明する。管理端末２００は、利用端末３００からの管理端末２００に対するソフトウェア申請を受け付けて、この申請情報から、利用端末情報（利用端末名・利用端末アドレス・ＯＳ等）、要求ソフトウェア情報（ソフトウェア名・利用形態（評価版やＦＵＬＬ版、ＩＲ版［利用端末固有の機能］など）等）の取得を行う。そして、ここで取得した各種情報を管理端末側の申請情報データベース２１５に格納・更新する（ｓ１０００）。
【００５１】
次に、管理端末２００は、カスタマイズソフトウェアスプール２１７および管理端末側の配布情報データベース２１８から、該当利用端末３００においてインストールされているソフトウェアや、配布可能なカスタマイズソフトウェアを、前記申請情報に応じて検索する。この検索結果は、利用端末３００に一覧情報として表示させるべく返信する（ｓ１００１）。
【００５２】
続いて管理端末２００は、カスタマイズソフトウェアスプール２１７において前記利用端末３００からの申請情報に該当するカスタマイズソフトウェアが存在するか否か判断する（ｓ１００２）。
【００５３】
ここで、該当するソフトウェアが存在する場合（ｓ１００２：ＹＥＳ）、該当利用端末３００について、ライセンス管理情報データベース２１６および利用情報データベース２１９を参照し、該当利用端末３００におけるライセンス使用状況の一覧を生成する。この一覧は、利用端末３００において表示させるべく返信する（ｓ１００３）。
【００５４】
そして、管理端末２００は、前記ライセンス使用状況の一覧に基づき、該当カスタマイズソフトウェアについて空きライセンスが存在するかどうかを判断する（ｓ１００４）。ここで、空きライセンスが存在する場合（ｓ１００４：ＹＥＳ）、該当利用端末３００におけるライセンスの配布確認を経て（ｓ１０１１）、利用端末３００へのライセンス割り当てを実行し（ｓ１０１２）、ライセンス管理情報データベース２１６の更新を実行する。
【００５５】
一方、前記ステップｓ１００４において、空きライセンスが存在しないと判断した場合（ｓ１００４：ＮＯ）、前記利用情報データベース２１９の参照結果に基づき、長期間使用されていないライセンスを特定する。そして、このライセンスを回収するか否か、利用端末３００での可否判断を受付ける。ここで、ライセンス回収が可とされたならば（ｓ１００８：ＹＥＳ）、該当ライセンスを回収すべくライセンス管理情報データベース２１６における回収対象の利用端末３００のライセンスＩＤを抹消し、このライセンスＩＤを前記申請を行った利用端末３００に紐付けするなどの更新処理を行う（ｓ１００９）。このライセンス回収結果は、利用端末３００に出力される（ｓ１０１０）。
【００５６】
そして、該当利用端末３００におけるライセンスの配布確認を経て（ｓ１０１１）、利用端末３００へのライセンス割り当てを実行し（ｓ１０１２）、ライセンス管理情報データベース２１６の更新を実行する。
【００５７】
他方、前記ステップｓ１００２において、カスタマイズソフトウェアスプール２１７において、前記申請情報に該当するカスタマイズソフトウェアが存在しないと判断された場合（ｓ１００２：ＮＯ）、管理端末２００は、配布端末１３０へのソフトウェアの配布申請を行うかどうかを、例えば利用端末３００に問い合わせて判断する。この判断の結果、配布の申請を行うとなれば（ｓ１００５：ＹＥＳ）、配布端末１３０へソフトウェアの配布申請を実行する（ｓ１００６）。他方、前記配布申請を行わないとなれば（ｓ１００５：ＮＯ）、処理は終了する。
【００５８】
管理端末２００は、前記配布申請の結果を、配布端末１３０より取得し、これを利用端末３００に出力する（ｓ１００７）。そして、前記配布申請によりカスタマイズソフトウェアが配布端末１３０より取得できたならば、このカスタマイズソフトウェアの配布を行うか否か、例えば利用端末３００に問い合わせるなどして判断する（ｓ１０１１）。配布を行うとなれば（ｓ１０１１：ＹＥＳ）、利用端末３００へのライセンス割り当てを実行し（ｓ１０１２）、ライセンス管理情報データベース２１６の更新を実行する。
【００５９】
こうして、管理端末２００において、利用端末３００からの利用申請に応じたカスタマイズソフトウェアの配布準備が整うと、当該管理端末２００は、利用端末３００へのカスタマイズソフトウェア（とそれに応じたライセンス）の配布を実行する（ｓ１０１３）。ここで、配布端末１３０の公開鍵が利用端末３００へ未配布であれば、この公開鍵も配布し、鍵情報データベース２２０における該当利用端末３００に関する鍵情報を更新する。
【００６０】
管理端末２００は、前記カスタマイズソフトウェアの配布結果を利用端末３００に出力する（ｓ１０１４）。また、配布情報データベース２１８における、該当利用端末３００に関するにカスタマイズソフトウェアの配布レコードを追加・更新し（ｓ１０１５）、処理を終了する。
【００６１】
−−−配布端末１３０のフロー−−−
図５は本実施形態におけるソフトウェア配布管理方法の実際手順２を示すフロー図である。次に、前記配布端末１３０におけるフローにつき説明する。配布端末１３０は、管理端末２００からの配布端末１３０に対するソフトウェアの利用申請またはライセンス申請といった申請情報を受け付けて、これを配布端末用申請情報データベース１１９に格納する。また、配布端末１３０は、この申請情報から、申請種別（ソフトウェア  ｏｒ  ライセンス）、管理端末情報（管理端末名・管理端末アドレス等）、要求ソフトウェア情報（ソフトウェアＩＤ・ＯＳ・利用形態・ライセンス数等）の情報を取得し、この情報を配布端末用の申請情報データベース１１９に格納する（ｓ１１００）。
【００６２】
次に配布端末１３０は、前記申請情報が、ソフトウェアの利用申請またはライセンス申請を意味するものかどうかを、前記申請情報から取得した情報に基づき判断する（ｓ１１０１）。この判断において、前記申請情報がソフトウェアの利用申請であると判断されたならば（ｓ１１０１：ソフトウェア）、配布端末側の配布情報データベース１１８から、該当管理端末２００に配布されているソフトウェアや、配布可能なカスタマイズソフトウェアを、前記申請情報に応じて検索する。この検索結果は、管理端末２００に一覧情報として出力する（ｓ１１０２）。
【００６３】
そして、配布端末１３０は、管理端末２００に問い合わせするなどして、マスタソフトウェアからカスタマイズソフトウェアを作成するかどうかを判断する（ｓ１１０３）。ここで、カスタマイズソフトウェアを作成すると判断された場合（ｓ１１０３：ＹＥＳ）、カスタマイズソフトウェアに組み込むソフトウェア情報（カスタマイズソフトウェアＩＤ（＝ソフトウェアＩＤ＋カスタマイズＩＤ）・ハッシュ値）、管理端末情報（管理端末アドレス）を、配布端末１３０の秘密鍵により暗号化する（ｓ１１０４）。なお、ここにおける暗号化方式には、例えば公開鍵暗号化方式を用いることとし、配布端末１３０に備えた秘密鍵での暗号化を実行する。
【００６４】
配布端末１３０は、前記の暗号化データ、マスタソフトウェア、ならびにカスタマイズ情報により、カスタマイズソフトウェアを作成する（ｓ１１０５）。このカスタマイズソフトウェアの作成結果は、管理端末２００に出力する（ｓ１１０６）。
【００６５】
他方、前記ステップｓ１１０１で申請情報がライセンス申請を意味するものであると判断された場合（ｓ１１０１：ライセンス）、前記ステップｓ１１０３でカスタマイズソフトウェアを作成しないとした場合（ｓ１１０３：ＮＯ）、または前記ステップｓ１１０６に続き、次のステップｓ１１０７を配布端末１３０は実行する。
【００６６】
配布端末１３０は、前記申請情報に基づき、ライセンス発行情報データベース１１７において管理端末２００に配布されているライセンスを特定し、この一覧を生成する。またこの一覧は管理端末２００に出力し、前記申請情報に対応したカスタマイズソフトウェアに関しライセンス発行を行うか否かの判断を受付ける（ｓ１１０７）。
【００６７】
前記ステップｓ１１０７における判断で、ライセンス発行を行うとの判断があった場合（ｓ１１０７：ＹＥＳ）、ライセンス情報（ライセンスＩＤ・有効期限等）を生成し・発行、これをライセンス発行情報データベース１１７に格納する（ｓ１１０８）。ここでのライセンス発行結果は配布端末１３０より管理端末２００に出力される（ｓ１１０９）。
【００６８】
次に配布端末１３０は、例えば、管理端末２００に問い合わせるなどして、カスタマイズソフトウェア、ライセンス情報の配布を行うか否かを判断する（ｓ１１１０）。ここで、配布を行うと判断された場合（ｓ１１１０：ＹＥＳ）、前記申請情報が、ソフトウェアの利用申請とライセンス申請とのいずれかを判定する（ｓ１１１１）。他方、前記ステップｓ１１１０において配布を行わないとなれば（ｓ１１１０：ＮＯ）、申請結果を管理端末２００に返し、処理は終了する。
【００６９】
配布端末１３０は、前記ステップｓ１１１１において、前記申請情報が、ソフトウェアの利用申請であると判定されたならば（ｓ１１１：ソフトウェア）、前記カスタマイズソフトウェア３１０を、例えばＳＳＬ暗号化通信により管理端末２００へ配布する（ｓ１１１２）。この時、管理端末２００では、当該カスタマイズソフトウェア３１０の取得に伴ってカスタマイズソフトウェアスプール２１７を更新している。なお、前記カスタマイズソフトウェア３１０の配布に際し、配布端末１３０の公開鍵が管理端末２００に未配布であれば、当該公開鍵も管理端末２００に配布する。なお、この時、管理端末２００では、この公開鍵の取得に伴って鍵情報データベース２２０を更新しているものとする。
【００７０】
また、配布端末１３０は、配布情報データベース１１８において、該当カスタマイズソフトウェア３１０の配布レコードを追加し更新する（ｓ１１１３）。
【００７１】
他方、ステップｓ１１１１において、前記申請情報が、ライセンス申請であると判定された場合（ｓ１１１：ライセンス）、或いは前記ステップｓ１１１３に続き、配布端末１３０は、前記カスタマイズソフトウェア３１０に応じたライセンス情報を、ＳＳＬ暗号化通信により該当管理端末２００へ配布する（ｓ１１１４）。また、このライセンス情報の配布に伴い、ライセンス発行情報データベース１１８において発行レコードを追加し更新する（ｓ１１１５）。
【００７２】
また、配布端末１３０は、前記カスタマイズソフトウェア３１０やライセンス情報の、管理端末２００に対する配布結果を管理端末２００に出力して（ｓ１１１６）、申請結果の通知を行って（ｓ１１１７）、処理を終了する。
【００７３】
−−−利用端末３００のフロー−−−
図６は本実施形態におけるソフトウェア配布管理方法の実際手順３を示すフロー図である。次に、前記利用端末３００におけるフローにつき説明する。利用端末３００は、前記利用申請に応じて管理端末２００（を介した配布端末１３０）より配布されたカスタマイズソフトウェア３１０について、配布端末１３０の公開鍵で、自カスタマイズソフトウェア内のソフトウェア情報（カスタマイズソフトウェアＩＤ・ハッシュ値  等）、管理端末情報（管理端末アドレス等）の復号化を行う（ｓ１２００）。
【００７４】
そして、利用端末３００は、カスタマイズソフトウェア３１０より抽出したソフトウェア情報（カスタマイズソフトウェアＩＤ・ハッシュ値  等）と、前記復号化したソフトウェア情報（カスタマイズソフトウェアＩＤ・ハッシュ値  等）とを比較して改竄チェックを実行する（ｓ１２０１）。この改善検知のステップにおいて、比較したハッシュ値が相違し、カスタマイズソフトウェアに改竄ありと判断した場合（ｓ１２０１：ＹＥＳ）、処理を終了する。
【００７５】
一方、前記ステップｓ１２０１においてカスタマイズソフトウェア３１０の改竄が無いと判断された場合（ｓ１２０１：ＮＯ）、前記復号化したソフトウェア情報（カスタマイズソフトウェアＩＤ等）および管理端末情報（管理端末アドレス等）に、自身の利用端末情報（利用端末名）を、管理端末２００へ送信する（ｓ１２０２）。
【００７６】
このとき、管理端末２００では、利用端末３００から送信されてきたソフトウェア情報と利用端末情報とを基に、ライセンス管理情報データベース２１６を参照する。そして、前記利用端末３００のライセンス有無と有効期限等のライセンス情報をチェックし、ライセンス認証を行う（ｓ１２０３）。ここでの認証の結果、ライセンス認証に関し問題が無ければ（ｓ１２０３：ＹＥＳ）、利用情報データベース２１９において該当利用端末３００に関する前記カスタマイズソフトウェア３１０の利用履歴を追加する処理を実行する（ｓ１２０４）。また、管理端末２００は、該当利用端末３００に対しライセンス認証結果を通知する（ｓ１２０５）。
【００７７】
他方、利用端末３００は、この管理端末２００からライセンス認証結果を受信する。そして、利用端末３００は、このライセンス認証結果に基づき、前記カスタマイズソフトウェア３１０の起動可否判定を実行する（ｓ１２０６）。ここで利用端末３００は、前記ライセンス認証結果が「認証不可」であった場合（ｓ１２０６：ＮＧ）、処理を終了する。一方、前記ライセンス認証結果が、「認証ＯＫ」であった場合（ｓ１２０６：ＯＫ）、利用端末３００は、前記カスタマイズソフトウェア３１０の通常処理（例：起動処理）を実行することとなる（ｓ１２０７）。
【００７８】
本発明によれば、管理端末２００でライセンス情報を一元管理することで、配布されたカスタマイズソフトウェアを利用者が不正コピーしたり、或いは改竄したりすることを防止できる。また、利用端末３００のライセンス管理を自動化し、カスタマイズソフトウェアのバージョンアップおよびライセンス管理まで総合的に管理できるという効果がある。
【００７９】
また管理端末２００でライセンス情報を管理しているため、利用端末３００からの不使用ライセンス回収が可能である。さらに、管理端末２００は、利用情報データベースを参照することにより、利用者のカスタマイズソフトウェアの利用履歴参照が可能であるから、ソフトウェア開発者は利用頻度等を参考に今後のソフトウェア開発の指針を得ることができ、一方、カスタマイズソフトウェアの配布管理者は、配布管理の効率化を図ることが可能である。  
したがって、カスタマイズソフトウェアの管理者におけるライセンス管理負担を軽減し、カスタマイズソフトウェアの不正使用防止や利用状況監視が可能となる。
【００８０】
以上、本発明の実施の形態について、その実施の形態に基づき具体的に説明したが、これに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。
【図面の簡単な説明】
【００８１】
【図１】本実施形態におけるソフトウェア配布管理システムを含むネットワーク構成図である。
【図２】本実施形態における（ａ）マスタソフトウェアデータベース、（ｂ）カスタマイズ情報データベース、（ｃ）ライセンス発行情報データベース、（ｄ）配布端末側配布情報データベース、（ｅ）配布端末側申請情報データベース、を示す図である。
【図３】本実施形態における（ａ）管理端末側申請情報データベース、（ｂ）ライセンス管理情報データベース、（ｃ）カスタマイズソフトウェアスプール、（ｄ）管理端末側配布情報データベース、（ｅ）利用情報データベース、（ｆ）鍵情報データベースを示す図である。
【図４】本実施形態におけるソフトウェア配布管理方法の実際手順１を示すフロー図である。
【図５】本実施形態におけるソフトウェア配布管理方法の実際手順２を示すフロー図である。
【図６】本実施形態におけるソフトウェア配布管理方法の実際手順３を示すフロー図である。
【符号の説明】
【００８２】
１００  ソフトウェア配布管理システム、システム
１１５  マスタソフトウェアデータベース  １１６  カスタマイズ情報データベース
１１９  配布端末用申請情報データベース  １１７  ライセンス発行情報データベース
１１８  配布端末用配布情報データベース  １３０  配布端末
１３１  プログラムデータベース          １３２  プログラム
１３３  メモリ                          １３４  ＣＰＵ
１３５  Ｉ／Ｏ部                        ２００  管理端末
２０１  プログラムデータベース          ２０２  プログラム
２０３  メモリ                          ２０４  ＣＰＵ
２０５  Ｉ／Ｏ部                        ２１７  カスタマイズソフトウェアスプール
２１６  ライセンス管理情報データベース  ２１５  管理端末用申請情報データベース
２１８  管理端末用配布情報データベース  ２１９  利用情報データベース
２２０  鍵情報データベース              ３００  利用端末
３０１  プログラムデータベース          ３０２  プログラム
３０３  メモリ                          ３０４  ＣＰＵ
３０５  Ｉ／Ｏ部                        ３１０  カスタマイズソフトウェア
【図１】
2006018744.tif 000003
【図２】
2006018744.tif 000004
【図３】
2006018744.tif 000005
【図４】
2006018744.tif 000006
【図５】
2006018744.tif 000007
【図６】
2006018744.tif 000008