(57)【特許請求の範囲】
【請求項１】
プラットフォーム上でそれぞれ動作可能なライセンス確認装置、情報処理装置および記憶装置を備えたライセンス管理システムであって、
前記ライセンス確認装置は、
プラットフォーム上で単独に取り扱うことが可能な装置であり、
前記情報処理装置がライセンスの対象であることを認識する認識手段と、
前記プラットフォームからの呼出に応じて前記認識手段を起動させる第１の起動手段と、
前記認識手段により前記情報処理装置がライセンスの対象であることが認識された場合に前記情報処理装置のライセンスの有無を確認するライセンス確認手段と、
前記ライセンス確認手段により前記ライセンスがあることが確認された場合に、前記情報処理装置を呼び出す呼出手段とを備え、
前記情報処理装置は、
特定の情報処理を実行する情報処理手段と、
前記ライセンス確認装置からの呼出のみに応じて前記情報処理手段を起動させる第２の起動手段とを備え、
前記ライセンス確認装置はライセンスの対象を識別するための第１の識別情報を有し、
前記情報処理装置は自己を識別するための第２の識別情報を有し、
前記ライセンス確認装置は、当該ライセンス確認装置のインストール時に、前記第１の識別情報と前記第２の識別情報とを互いに照合し、前記第１の識別情報と前記第２の識別情報とが互いに一致するか否かを示す照合結果情報を前記記憶装置に記憶し、
前記認識手段は、前記記憶装置に記憶された照合結果情報を読み取り、当該読み取った照合結果情報が前記第１の識別情報と前記第２の識別情報との一致を示している場合に、前記情報処理装置がライセンスの対象であると認識することを特徴とするライセンス管理システム。
【請求項２】
前記ライセンス確認装置は、当該ライセンス確認装置のインストール時に、前記照合結果情報が前記記憶装置に記憶されているかどうかを調べ、前記照合結果情報が前記記憶装置に記憶されていない場合には、前記第１の識別情報と前記第２の識別情報とを互いに照合し、前記第１の識別情報と前記第２の識別情報とが互いに一致するか否かを示す照合結果情報を前記記憶装置に記憶することを特徴とする請求項１に記載のライセンス管理システム。
【請求項３】
プラットフォーム上で単独に取り扱うことが可能なライセンス確認装置としてコンピュータを機能させるためのライセンス管理プログラムであって、
前記ライセンス確認装置は、
前記プラットフォーム上で動作可能であり特定の情報処理を実行する情報処理装置がライセンスの対象であることを認識する認識手段と、
前記プラットフォームからの呼出に応じて前記認識手段を起動させる起動手段と、
前記認識手段により前記情報処理装置がライセンスの対象であることが認識された場合に前記情報処理装置のライセンスの有無を確認するライセンス確認手段と、
前記ライセンス確認手段により前記ライセンスがあることが確認された場合に、前記情報処理装置を呼び出す呼出手段とを備え、
前記ライセンス確認装置はライセンスの対象を識別するための第１の識別情報を有し、
前記情報処理装置は自己を識別するための第２の識別情報を有し、
前記ライセンス確認装置は、当該ライセンス管理プログラムのインストール時に、前記第１の識別情報と前記第２の識別情報とを互いに照合し、前記第１の識別情報と前記第２の識別情報とが互いに一致するか否かを示す照合結果情報を記憶装置に記憶し、
前記認識手段は、前記記憶装置に記憶された照合結果情報を読み取り、当該読み取った照合結果情報が前記第１の識別情報と前記第２の識別情報との一致を示している場合に、前記情報処理装置がライセンスの対象であると認識することを特徴とするライセンス管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アプリケーションプログラムなどのソフトウェアのライセンス（使用許諾）管理処理を行うライセンス管理システムおよびライセンス管理プログラムに関する。
【背景技術】
【０００２】
従来、ライセンス管理用コンピュータおよびアプリケーション実行用コンピュータを備えたコンピュータネットワークシステムにおいて、アプリケーションプログラムのライセンス管理処理は次のような方法により行われる（詳しくは特許文献１参照）。
【０００３】
すなわち、ライセンス管理用コンピュータは、アプリケーションプログラムに関するライセンス情報およびライセンス照合プログラムを保持している。ライセンス情報には、例えば、(1)アプリケーションプログラムの識別情報、(2)ライセンシの識別情報、またはライセンシが使用するアプリケーション実行用コンピュータの識別情報、および(3)アプリケーションプログラムの使用を許可するユーザ数などが含まれている。ライセンス照合プログラムは、アプリケーション実行用コンピュータからの問い合わせに応じて、ライセンス情報の照合を行うプログラムである。
【０００４】
一方、アプリケーション実行用コンピュータはアプリケーションプログラムを保持している。このアプリケーションプログラムにはアプリケーションプログラム本体および問い合わせプログラムが含まれている。問い合わせプログラムは、アプリケーションプログラムについてのライセンスの有無をライセンス管理用コンピュータに問い合わせるプログラムである。
【０００５】
ユーザ（ライセンシ）がアプリケーション実行用コンピュータを操作し、アプリケーションプログラムの実行を指示すると、アプリケーション実行用コンピュータは、アプリケーションプログラムを呼び出し、まず、問い合わせプログラムに従い、アプリケーションプログラムについてのライセンスの有無をライセンス管理用コンピュータに問い合わせる。このとき、アプリケーションプログラムの識別情報およびライセンシの識別情報などがアプリケーション実行用コンピュータからライセンス管理用コンピュータに送信される。続いて、ライセンス管理用コンピュータは、ライセンス照合プログラムに従い、アプリケーション実行用コンピュータから送信されたアプリケーションプログラムの識別情報およびライセンシの識別情報などを、ライセンス管理用コンピュータに保持されているライセンス情報と照合する。この結果、アプリケーションプログラムのライセンスの有無が判明する。アプリケーションプログラムのライセンスがある場合には、その旨がライセンス管理用コンピュータからアプリケーション実行用コンピュータに送信され、これに応じ、アプリケーション実行用コンピュータにおいてアプリケーションプログラム本体の実行が開始される。一方、アプリケーションプログラムのライセンスがない場合（ライセンスの制限に違反している場合を含む。以下同じ。）には、その旨がライセンス管理用コンピュータからアプリケーション実行用コンピュータに送信され、これに応じ、アプリケーション実行用コンピュータにおいてアプリケーションプログラム本体の実行が阻止される。
【０００６】
他方、アプリケーションプログラムのライセンス管理処理方法には、ライセンス管理用コンピュータがアプリケーション実行用コンピュータにライセンス情報を事前に配布し、アプリケーションプログラムの実行時にアプリケーション実行用コンピュータ側でライセンス情報の照合を行うものもある（詳しくは特許文献２参照）。この方法では、アプリケーション実行用コンピュータに保持されたアプリケーションプログラムに、アプリケーションプログラム本体およびライセンス照合プログラムが含まれている。そして、ユーザ（ライセンシ）がアプリケーション実行用コンピュータを操作し、アプリケーションプログラムの実行を指示すると、アプリケーション実行用コンピュータは、アプリケーションプログラムを呼び出し、まず、ライセンス照合プログラムに従い、ライセンス情報の照合を行い、ライセンスがある場合に限り、続いてアプリケーションプログラム本体の実行を開始する。
【特許文献１】特開平１０−１１１７９７号公報
【特許文献２】特開２００１−５６５９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ところで、ライセンスには様々な形態がある。例えば、アプリケーションプログラムの使用を許可するユーザ数に制限（ユーザ数制限）が加えられたライセンス、使用を許可する期間に制限（期間制限）が加えられたライセンス、あるいは使用を許可する機能の範囲に制限（機能制限）が加えられたライセンスなどである。
【０００８】
このようなライセンスの形態は種々の要因によりしばしば変更される場合がある。例えばライセンサまたはライセンシの事情によりライセンス契約内容が変更され、これに伴って、期間制限のみが加えられたライセンスから、ユーザ数制限のみが加えられたライセンスに変更される場合がある。
【０００９】
上述した特許文献１に記載されたライセンス管理処理方法では、ライセンスの形態が変更される度に、ライセンス管理用コンピュータに保持されているライセンス照合プログラムを変更する必要が生じる場合がある。このライセンス照合プログラムの変更は容易でない。
【００１０】
例えばライセンス管理用コンピュータが多数のアプリケーションプログラムを集中管理しており、１つのライセンス照合プログラムにより多数のアプリケーションプログラムについてのライセンス照合を行う場合には、多数のアプリケーションプログラムのライセンス形態をそれぞれ考慮してライセンス照合プログラムの変更作業を行わなければならない。このため、ライセンス照合プログラムの変更は困難である。
【００１１】
また、ライセンス照合プログラムがライセンス管理用コンピュータのプラットフォーム（例えばオペレーションシステム）と密接な関係がある場合には、ライセンス照合プログラムを変更するためにプラットフォームの一部を変更する必要が生じうる。このような場合には、ライセンス照合プログラムの変更は一層困難になる。
【００１２】
また、上述した特許文献２に記載されたライセンス管理処理方法では、ライセンスの形態が変更される度に、アプリケーションプログラムの全部を再インストールしなければならないといった不都合が生じるおそれがある。
【００１３】
すなわち、ライセンスの形態の変更により、アプリケーション実行用コンピュータに保持されているアプリケーションプログラムに含まれるライセンス照合プログラムを変更する必要が生じる場合がある。ライセンス照合プログラムはアプリケーションプログラムの一部であるため、ライセンス照合プログラムを変更するためには、アプリケーションプログラム全体をアプリケーション実行用コンピュータに再インストールしなければならない。この結果、ユーザに過大な負担が生じるおそれがある。
【００１４】
他方、上述した特許文献１または２に記載されたライセンス管理処理方法では、ユーザにライセンスがない場合でも、ユーザがプラットフォームを操作してアプリケーションプログラムを呼び出すことができる。もちろん、この場合には、アプリケーションプログラムの呼出直後に実行されるライセンス照合プログラムにより、ライセンスのないことが判明するので、アプリケーションプログラム本体の実行は阻止される。しかし、アプリケーションプログラム本体の不正使用防止を強化するために、ライセンスがない場合にはプラットフォームによるアプリケーションプログラムの呼出すら許さないことが望まれる。
【００１５】
本発明は例えば上述したような問題に鑑みなされたものであり、本発明の第１の課題は、例えばアプリケーションプログラムまたはプラットフォームなどの他のプログラムを全くまたは大幅に変更することなく、ライセンス形態の変更をライセンス管理処理に容易に反映させることができるライセンス管理システムおよびライセンス管理プログラムを提供することにある。
【００１６】
本発明の第２の課題は、ライセンスがない場合にプラットフォームによるアプリケーションプログラムの呼出を阻止することができ、アプリケーションプログラムの不正使用防止を強化することができるライセンス管理システムおよびライセンス管理プログラムを提供することにある。
【課題を解決するための手段】
【００１７】
上記課題を解決するために、第１の発明は、プラットフォーム上でそれぞれ動作可能なライセンス確認装置、情報処理装置および記憶装置を備えたライセンス管理システムであって、前記ライセンス確認装置は、プラットフォーム上で単独に取り扱うことが可能な装置であり、前記情報処理装置がライセンスの対象であることを認識する認識手段と、前記プラットフォームからの呼出に応じて前記認識手段を起動させる第１の起動手段と、前記認識手段により前記情報処理装置がライセンスの対象であることが認識された場合に前記情報処理装置のライセンスの有無を確認するライセンス確認手段と、前記ライセンス確認手段により前記ライセンスがあることが確認された場合に、前記情報処理装置を呼び出す呼出手段とを備え、前記情報処理装置は、特定の情報処理を実行する情報処理手段と、前記ライセンス確認装置からの呼出のみに応じて前記情報処理手段を起動させる第２の起動手段とを備え、前記ライセンス確認装置はライセンスの対象を識別するための第１の識別情報を有し、前記情報処理装置は自己を識別するための第２の識別情報を有し、前記ライセンス確認装置は、当該ライセンス確認装置のインストール時に、前記第１の識別情報と前記第２の識別情報とを互いに照合し、前記第１の識別情報と前記第２の識別情報とが互いに一致するか否かを示す照合結果情報を前記記憶装置に記憶し、前記認識手段は、前記記憶装置に記憶された照合結果情報を読み取り、当該読み取った照合結果情報が前記第１の識別情報と前記第２の識別情報との一致を示している場合に、前記情報処理装置がライセンスの対象であると認識することを特徴とする。
【００１８】
上記課題を解決するために、第２の発明は、上記第１の発明において、前記ライセンス確認装置は、当該ライセンス確認装置のインストール時に、前記照合結果情報が前記記憶装置に記憶されているかどうかを調べ、前記照合結果情報が前記記憶装置に記憶されていない場合には、前記第１の識別情報と前記第２の識別情報とを互いに照合し、前記第１の識別情報と前記第２の識別情報とが互いに一致するか否かを示す照合結果情報を前記記憶装置に記憶することを特徴とする。
【００１９】
上記課題を解決するために、第３の発明は、プラットフォーム上で単独に取り扱うことが可能なライセンス確認装置としてコンピュータを機能させるためのライセンス管理プログラムであって、前記ライセンス確認装置は、前記プラットフォーム上で動作可能であり特定の情報処理を実行する情報処理装置がライセンスの対象であることを認識する認識手段と、前記プラットフォームからの呼出に応じて前記認識手段を起動させる起動手段と、前記認識手段により前記情報処理装置がライセンスの対象であることが認識された場合に前記情報処理装置のライセンスの有無を確認するライセンス確認手段と、前記ライセンス確認手段により前記ライセンスがあることが確認された場合に、前記情報処理装置を呼び出す呼出手段とを備え、前記ライセンス確認装置はライセンスの対象を識別するための第１の識別情報を有し、前記情報処理装置は自己を識別するための第２の識別情報を有し、前記ライセンス確認装置は、当該ライセンス管理プログラムのインストール時に、前記第１の識別情報と前記第２の識別情報とを互いに照合し、前記第１の識別情報と前記第２の識別情報とが互いに一致するか否かを示す照合結果情報を記憶装置に記憶し、前記認識手段は、前記記憶装置に記憶された照合結果情報を読み取り、当該読み取った照合結果情報が前記第１の識別情報と前記第２の識別情報との一致を示している場合に、前記情報処理装置がライセンスの対象であると認識することを特徴とする。
【発明の効果】
【００２０】
上記第１ないし第３の発明によれば、ライセンス形態に変更の必要が生じた場合には、ライセンス管理システムが現在有しているライセンス確認装置を、形態変更後のライセンスの有無を確認することができるライセンス確認手段を備えた新たなライセンス確認装置に置き換えるだけで、ライセンス形態の変更をライセンス管理処理に容易に反映させることができる。すなわち、ライセンス形態の変更をライセンス管理処理に反映させるために、情報処理装置（例えばアプリケーションプログラム）もプラットフォームも全くまたは大幅に変更しなくてよい。これにより、多様なライセンス形態またはライセンス形態の頻繁な変更に容易に対応することが可能なライセンス管理システムを実現することができる。
【００２１】
また、上記第１ないし第３の発明によれば、プラットフォーム上に情報処理装置が存在していても、ライセンス確認装置が存在していなければ、ユーザはプラットフォームを操作して情報制御装置を呼び出すことができない。したがって、ライセンスを有しない者にはライセンス確認装置を取得させないようにすれば、ライセンスがない者がプラットフォームを操作して情報処理装置を呼び出すことを阻止することができ、情報処理装置の不正使用防止を強化することができる。
【００２２】
また、第２の発明によるライセンス管理システムでは、ライセンス確認装置がライセンスの対象を識別するための第１の識別情報を有し、情報処理装置が自己を識別するための第２の識別情報を有し、ライセンス確認装置または情報処理装置が第１の識別情報と第２の識別情報とを互いに照合し、これにより情報処理装置がライセンスの対象であることを認識する。これにより、ライセンス確認装置による情報処理装置のライセンス確認処理、またはライセンス確認装置による情報処理装置の呼出を容易かつ正確に行うことが可能になる。
【発明を実施するための最良の形態】
【００２３】
以下、図面を参照しつつ、本発明の実施の形態について説明する。
【００２４】
（システムの構成）
図１はコンピュータネットワークシステムを示している。図１中のコンピュータネットワークシステム１はプログラム提供用コンピュータ２およびライセンス管理システムとしてのアプリケーション実行用コンピュータ３を備え、両者は例えばインターネットなどのコンピュータネットワーク４を介して互いに接続されている。
【００２５】
プログラム提供用コンピュータ２は、例えばアプリケーションプログラム提供者の事業所に設置されており、アプリケーションプログラム４０およびライセンスプログラム３０のユーザへの提供などを行う。
【００２６】
一方、アプリケーション実行用コンピュータ３は、例えばアプリケーションプログラム利用者（以下、「ユーザ」という。）の事業所に設置されており、アプリケーションプログラム提供者から提供されたライセンスプログラム３０で定義された処理を実行することによりライセンス管理装置として機能する。さらに、アプリケーション実行用コンピュータ３は、アプリケーションプログラム４０で定義された処理を実行することにより情報処理装置として機能する。すなわち、後述するように、アプリケーション実行用コンピュータ３は、アプリケーションプログラム４０で定義された処理を実行する前にライセンスプログラム３０で定義された処理を実行し、ユーザにアプリケーションプログラム４０のライセンス（使用許諾）があるかどうかを確認する。そして、ライセンスがある場合に限り、アプリケーション実行用コンピュータ３はアプリケーションプログラム４０で定義された処理を実行する。
【００２７】
アプリケーション実行用コンピュータ３は、通信部２１、情報読取部２２、表示部２３、操作部２４、記憶部２５および制御部２６を備えている。
【００２８】
通信部２１は、アプリケーション実行用コンピュータ３をコンピュータネットワーク４に接続し、アプリケーション実行用コンピュータ３とプログラム提供用コンピュータ２との間の通信を制御する。通信部２１は例えばインターネット回線接続用の通信回路である。
【００２９】
情報読取部２２は、光ディスク５１、５３、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）メモリ５２、５４などの記録媒体に記録された情報を読み取る。情報読取部２２は例えば光ディスクドライブまたはＵＳＢ接続回路である。
【００３０】
表示部２３は例えば液晶ディスプレイである。操作部２４は複数の操作スイッチを備えている。
【００３１】
記憶部２５にはアプリケーション制御プログラム２７が予め記憶されている。また、記憶部２５には、アプリケーションプログラムインストール処理によりアプリケーションプログラム４０が記憶され、ライセンスプログラムインストール処理によりライセンスプログラム３０および照合結果情報５０が記憶される。記憶部２５は例えば書換可能な記録媒体であり、より具体的にはハードディスクまたはフラッシュメモリである。
【００３２】
アプリケーション制御プログラム２７は、アプリケーションプログラム４０およびライセンスプログラム３０のインストール・アンインストール、ライセンスプログラム３０の呼出・終了、およびアプリケーションプログラム４０の終了などを制御するコンピュータプログラムであり、アプリケーションプラットフォームに当たる。例えば、アプリケーション制御プログラム２７はオペレーションシステムの一部である。
【００３３】
制御部２６は、アプリケーション制御プログラム２７、ライセンスプログラム３０およびアプリケーションプログラム４０で定義された処理を実行する。制御部２６は、例えばＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）およびＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）などにより構成されている。ＲＯＭには、アプリケーション制御プログラム２７を起動させるコンピュータプログラム（例えばブートローダなど）が記憶されている。ＲＡＭは、ＣＰＵがアプリケーション制御プログラム２７、ライセンスプログラム３０およびアプリケーションプログラム４０で定義された処理を実行するときの作業メモリとして用いられる。
【００３４】
（ライセンスプログラム）
図２はライセンスプログラム３０の構成を示している。ライセンスプログラム３０は、アプリケーション制御プログラム２７（プラットフォーム）上で独立に取り扱われる。例えば、ライセンスプログラム３０は、独立したファイルまたは独立した一連のファイル群として、アプリケーション制御プログラム２７（プラットフォーム）などにより取り扱われる。ライセンスプログラム３０は、アプリケーション制御プログラム２７からもアプリケーションプログラム４０からも分離された独立のプログラムである。ライセンスプログラム３０は、アプリケーション制御プログラム２７ともアプリケーションプログラム４０とも別に、単独でインストールおよびアンインストールすることができる。また、ライセンスプログラム３０は、アプリケーション制御プログラム２７から呼び出すことができる。
【００３５】
ライセンスプログラム３０は、制御部２６をライセンス確認装置として機能させるコンピュータプログラムである。詳細には、ライセンスプログラム３０は、制御部２６にアプリケーション認識処理、ライセンス確認処理およびアプリケーション呼出処理を実行させることにより、制御部２６を認識手段、ライセンス確認手段、呼出手段としてそれぞれ機能させる。
【００３６】
アプリケーション認識処理は、ライセンスプログラム３０が有するアプリケーション識別子３３とアプリケーションプログラム４０が有するアプリケーション識別子４３とを互いに照合することにより、アプリケーションプログラム４０がライセンスの対象であることを認識する処理である。ライセンス確認処理は、アプリケーションプログラム４０のライセンスがユーザにあるかどうかを確認する処理である。アプリケーション呼出処理は、ユーザにライセンスのあることが確認された場合に限り、アプリケーションプログラム４０の呼出を行う処理である。
【００３７】
また、ライセンスプログラム３０は、起動インターフェース３１、ライセンスプログラム本体３２およびアプリケーション識別子３３を備えている。
【００３８】
起動インターフェース３１はライセンスプログラム本体３２を起動させるコンピュータプログラムであり、制御部２６を第１の起動手段として機能させるものである。起動インターフェース３１はアプリケーション制御プログラム２７により呼び出すことができる。
【００３９】
ライセンスプログラム本体３２は、アプリケーション認識プログラム３２Ａ、ライセンス確認処理プログラム３２Ｂおよびアプリケーション呼出プログラム３２Ｃをそれぞれサブプログラムとして備えている。アプリケーション認識プログラム３２Ａは、アプリケーション認識処理を制御部２６に実行させるコンピュータプログラムである。ライセンス確認処理プログラム３２Ｂは、ライセンス確認処理を制御部２６に実行させるコンピュータプログラムである。アプリケーション呼出プログラム３２Ｃは、アプリケーション呼出処理を制御部２６に実行させるコンピュータプログラムである。
【００４０】
アプリケーション認識プログラム３２Ａは、ライセンスプログラム本体３２の起動直後に起動する。アプリケーション認識プログラム３２Ａは、照合結果情報５０が記憶部２５に記憶されているか否かを調べ、照合結果情報５０が記憶部２５に記憶されていない場合には、ライセンスプログラム３０が有するアプリケーション識別子３３とアプリケーションプログラム４０が有するアプリケーション識別子４３とを互いに照合し、アプリケーション識別子３３とアプリケーション識別子４３とが一致するか否かを示す情報を照合結果情報５０として記憶部２５に記憶し、終了する処理を制御部２６に実行させる。この場合、ライセンスプログラム本体３２は、ライセンス確認処理プログラム３２Ｂもアプリケーション呼出プログラム３２Ｃも起動せずに終了する。アプリケーション認識プログラム３２Ａは、照合結果情報５０が記憶部２５に記憶されている場合には、照合結果情報５０を読み取り、アプリケーション識別子３３とアプリケーション識別子４３とが一致するか否かを調べ、アプリケーション識別子３３とアプリケーション識別子４３とが一致する場合には、ライセンス確認処理プログラム３２Ｂおよびアプリケーション呼出プログラム３２Ｃを起動し、一方、アプリケーション識別子３３とアプリケーション識別子４３とが一致しない場合には、ライセンス確認処理プログラム３２Ｂもアプリケーション呼出プログラム３２Ｃも起動せずに終了する処理を制御部２６に実行させる。
【００４１】
アプリケーション識別子３３は、ライセンスの対象であるアプリケーションプログラムを識別するための第１の識別情報である。例えば、アプリケーション識別子３３はライセンスの対象であるアプリケーションプログラム固有の番号である。
【００４２】
（アプリケーションプログラム）
図３はアプリケーションプログラム４０の構成を示している。アプリケーションプログラム４０は、例えば、独立したファイルまたは独立した一連のファイル群として、アプリケーション制御プログラム２７（プラットフォーム）などにより取り扱われる。また、アプリケーションプログラム４０は、単独でインストールおよびアンインストールすることができる。しかし、アプリケーションプログラム４０は、アプリケーション制御プログラム２７により呼び出すことはできない。アプリケーションプログラム４０を呼び出すことができるのは、ライセンスプログラム３０のみである。
【００４３】
アプリケーションプログラム４０は、アプリケーション実行コンピュータ３を情報処理装置として機能させるコンピュータプログラムであり、接続インターフェース４１、アプリケーションプログラム本体４２およびアプリケーション識別子４３を備えている。
【００４４】
接続インターフェース４１はアプリケーションプログラム本体４２を起動させるコンピュータプログラムであり、制御部２６を第２の起動手段として機能させるものである。接続インターフェース４１を呼び出すことができるのはライセンスプログラム３０のアプリケーション呼出プログラム３２Ｃのみである。例えば、接続インターフェース４１はライセンスプログラム３０およびアプリケーションプログラム４０を製造したアプリケーションベンダが独自に定義したものであり、このためアプリケーション制御プログラム２７はアプリケーションプログラム４０を直接呼び出すことができない。
【００４５】
アプリケーションプログラム本体４２は特定の情報処理を制御部２６に実行させることにより、制御部２６を情報処理手段として機能させる。
【００４６】
アプリケーション識別子４３は、アプリケーションプログラム４０を識別するための第２の識別情報である。例えば、アプリケーション識別子４３はアプリケーションプログラム４０固有の番号である。
【００４７】
（アプリケーションプログラムインストール処理）
図４はアプリケーションプログラムインストール処理を示している。アプリケーションプログラムインストール処理は、アプリケーションプログラム４０をアプリケーション実行用コンピュータ３にインストールする処理である。
【００４８】
ユーザがアプリケーション実行用コンピュータ３の操作部２４を操作し、アプリケーションプログラムインストール処理を開始する旨の指示をアプリケーション実行用コンピュータ３に入力すると、アプリケーション実行用コンピュータ３の制御部２６はアプリケーションプログラムインストール処理を開始する。
【００４９】
図４に示すように、アプリケーションプログラムインストール処理において、まず、アプリケーション実行用コンピュータ３の制御部２６は、アプリケーション制御プログラム２７に従い、インストール情報入力画面を表示部２３に表示する（ステップＳ１１）。
【００５０】
プログラム提供用コンピュータ２のアプリケーションプログラム格納部１１には、アプリケーションプログラム４０のインストールパッケージが格納されている。このインストールパッケージには、アプリケーションプログラム４０が含まれている。ユーザが、操作部２４を操作し、アプリケーションプログラム４０のインストールパッケージの格納場所を指し示す情報（例えばＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ））、およびインストールを開始する旨の指示をアプリケーション実行用コンピュータ３に入力すると、制御部２６は、アプリケーション制御プログラム２７に従い、これらの入力情報を受け取る（ステップＳ１２：ＹＥＳ）。
【００５１】
続いて、アプリケーション実行用コンピュータ３の制御部２６は、アプリケーション制御プログラム２７に従い、通信部２１を制御し、アプリケーション実行用コンピュータ３とプログラム提供用コンピュータ２との間の通信を確立する。そして、制御部２６は、アプリケーション制御プログラム２７に従い、アプリケーションプログラム４０のインストールパッケージの格納場所を指し示す情報を用いてプログラム提供用コンピュータ２のアプリケーションプログラム格納部１１に格納されたアプリケーションプログラム４０のインストールパッケージにアクセスし、このインストールパッケージの読取を開始する（ステップＳ１３）。これにより、アプリケーションプログラム４０のインストールパッケージが、プログラム提供用コンピュータ２からアプリケーション実行用コンピュータ３にダウンロードされる。
【００５２】
続いて、アプリケーション実行用コンピュータ３の制御部２６は、アプリケーション制御プログラム２７に従い、ダウンロードされたインストールパッケージに含まれるアプリケーションプログラム４０を記憶部２５に記憶する（ステップＳ１４）。例えばアプリケーションプログラム４０は、記憶部２５に予め設定された所定のディレクトリ（フォルダ）内に配置される。
【００５３】
続いて、アプリケーション実行用コンピュータ３の制御部２６は、アプリケーション制御プログラム２７に従い、インストール完了画面を表示部２３に表示する（ステップＳ１５）。
【００５４】
（ライセンスプログラムインストール処理）
図５はライセンスプログラムインストール処理を示している。ライセンスプログラムインストール処理は、ライセンスプログラム３０をアプリケーション実行用コンピュータ３にインストールする処理である。
【００５５】
ユーザがアプリケーション実行用コンピュータ３の操作部２４を操作し、ライセンスプログラムインストール処理を開始する旨の指示をアプリケーション実行用コンピュータ３に入力すると、アプリケーション実行用コンピュータ３の制御部２６は、ライセンスプログラムインストール処理を開始する。
【００５６】
図５に示すように、ライセンスプログラムインストール処理において、アプリケーション実行用コンピュータ３の制御部２６は、まず、アプリケーション制御プログラム２７に従い、インストール情報入力画面を表示部２３に表示する（ステップＳ２１）。
【００５７】
プログラム提供用コンピュータ２のライセンスプログラム格納部１２には、ライセンスプログラム３０のインストールパッケージが格納されている。このインストールパッケージには、ライセンスプログラム３０が含まれている。ユーザが、操作部２４を操作し、ライセンスプログラム３０のインストールパッケージの格納場所を指し示す情報（例えばＵＲＬ）、およびインストールを開始する旨の指示をアプリケーション実行用コンピュータ３に入力すると、制御部２６は、アプリケーション制御プログラム２７に従い、これらの入力情報を受け取る（ステップＳ２２：ＹＥＳ）。
【００５８】
続いて、アプリケーション実行用コンピュータ３の制御部２６は、アプリケーション制御プログラム２７に従い、通信部２１を制御し、アプリケーション実行用コンピュータ３とプログラム提供用コンピュータ２との間の通信を確立する。そして、制御部２６は、アプリケーション制御プログラム２７に従い、ライセンスプログラム３０のインストールパッケージの格納場所を指し示す情報を用いてプログラム提供用コンピュータ２のライセンスプログラム格納部１２に格納されたライセンスプログラム３０のインストールパッケージにアクセスし、このインストールパッケージの読取を開始する（ステップＳ２３）。これにより、ライセンスプログラム３０のインストールパッケージが、プログラム提供用コンピュータ２からアプリケーション実行用コンピュータ３にダウンロードされる。
【００５９】
続いて、アプリケーション実行用コンピュータ３の制御部２６は、アプリケーション制御プログラム２７に従い、ダウンロードされたインストールパッケージに含まれるライセンスプログラム３０を記憶部２５に記憶する（ステップＳ２４）。
【００６０】
続いて、アプリケーション実行用コンピュータ３の制御部２６は、アプリケーション制御プログラム２７に従い、ライセンスプログラム３０を呼び出す（ステップＳ２５）。これにより、ライセンスプログラム３０が起動する。
【００６１】
ライセンスプログラム３０が起動すると、アプリケーション実行用コンピュータ３の制御部２６は、ライセンスプログラム３０に従い、まず、起動インターフェース３１を起動する。そして、制御部２６は、起動インターフェース３１に従い、ライセンスプログラム本体３２を起動する（ステップＳ２６）。
【００６２】
続いて、アプリケーション実行用コンピュータ３の制御部２６は、ライセンスプログラム本体３２に従い、アプリケーション認識プログラム３２Ａを起動する。そして、制御部２６は、アプリケーション認識プログラム３２Ａに従い、照合結果情報５０が記憶部２５に記憶されているかどうかを調べる。
【００６３】
照合結果情報５０は、ライセンスプログラム３０に含まれるライセンスプログラム本体３２の一部であるアプリケーション認識プログラム３２Ａにより生成されるものである。したがって、ライセンスプログラムインストール処理を初めて行うときには、照合結果情報５０はまだ生成されておらず、それゆえ照合結果情報５０は記憶部２５に記憶されていない。
【００６４】
照合結果情報５０が記憶部２５に記憶されていないときには、アプリケーション実行用コンピュータ３の制御部２６は、アプリケーション認識プログラム３２Ａに従い、ライセンスプログラム３０が有するアプリケーション識別子３３と、アプリケーションプログラム４０が有するアプリケーション識別子４３とを照合し（ステップＳ２７）、アプリケーション識別子３３とアプリケーション識別子４３とが一致するか否かを示す情報を照合結果情報５０として記憶部２５に記憶する（ステップＳ２８）。以上より、アプリケーション認識プログラム３２Ａは終了し、これによりライセンスプログラム本体３２は終了する。
【００６５】
続いて、アプリケーション実行用コンピュータ３の制御部２６は、アプリケーション制御プログラム２７に従い、インストール完了画面を表示部２３に表示する（ステップＳ２９）。
【００６６】
（アプリケーションプログラム実行処理）
図６はアプリケーションプログラム実行処理を示している。アプリケーションプログラム実行処理は、アプリケーションプログラム４０を実行する処理である。
【００６７】
ユーザが、アプリケーション実行用コンピュータ３の操作部２４を操作し、アプリケーションプログラム４０を実行する旨の指示をアプリケーション実行用コンピュータ３に入力すると、アプリケーション実行用コンピュータ３の制御部２６は、アプリケーションプログラム実行処理を開始する。
【００６８】
図６に示すように、アプリケーションプログラム実行処理において、アプリケーション実行用コンピュータ３の制御部２６は、まず、アプリケーション制御プログラム２７に従い、ライセンスプログラム３０を呼び出す（ステップＳ３１）。これにより、ライセンスプログラム３０が起動する。
【００６９】
ライセンスプログラム３０が起動すると、制御部２６は、ライセンスプログラム３０に従い、まず、起動インターフェース３１を起動する。そして、制御部２６は、起動インターフェース３１に従い、ライセンスプログラム本体３２を起動する（ステップＳ３２）。
【００７０】
続いて、アプリケーション実行用コンピュータ３の制御部２６は、ライセンスプログラム本体３２に従い、アプリケーション認識プログラム３２Ａを起動する。そして、制御部２６は、アプリケーション認識プログラム３２Ａに従い、照合結果情報５０が記憶部２５に記憶されているかどうかを調べる。照合結果情報５０は、上述したライセンスプログラムインストール処理において生成され、記憶部２５に記憶される。したがって、ライセンスプログラムインストール処理を経てライセンスプログラム３０がインストールされた場合には、照合結果情報５０が記憶部２５に記憶されている。
【００７１】
照合結果情報５０が記憶部２５に記憶されている場合には、アプリケーション実行用コンピュータ３の制御部２６は、アプリケーション認識プログラム３２Ａに従い、照合結果情報５０を読み取り、アプリケーション識別子３３とアプリケーション識別子４３とが一致するかどうかを調べる（ステップＳ３３）。照合結果情報５０にはアプリケーション識別子３３とアプリケーション識別子４３とが一致するかどうかを示す情報が記録されている。したがって、アプリケーション識別子３３とアプリケーション識別子４３との照合を行うことなく、照合結果情報５０を読み取るだけで、アプリケーション識別子３３とアプリケーション識別子４３とが一致するかどうかを迅速に調べることができる。
【００７２】
この結果、アプリケーション識別子３３とアプリケーション識別子４３とが一致する場合には（ステップＳ３４：ＹＥＳ）、アプリケーション実行用コンピュータ３の制御部２６は、ライセンスプログラム本体３２に従い、ライセンス確認処理プログラム３２Ｂを起動する。そして、制御部２６は、ライセンス確認処理プログラム３２Ｂに従い、ライセンス確認処理を行う（ステップＳ３５）。
【００７３】
ライセンス確認処理は例えば次のように行われる。すなわち、プログラム提供用コンピュータ２のライセンス情報格納部１３には、アプリケーションプログラム４０に関するライセンス情報が格納されている。一方、ライセンス確認プログラム３２Ｂの中にもアプリケーションプログラム４０に関するライセンス情報が記録されている。さらに、ライセンス確認プログラム３２Ｂの中には、プログラム提供用コンピュータ２のライセンス情報格納部１３に格納された、アプリケーションプログラム４０に関するライセンス情報の格納場所を指し示す情報（例えばＵＲＬ）が記録されている。アプリケーション実行用コンピュータ３の制御部２６は、ライセンス確認処理プログラム３２Ｂに従い、通信部２１を制御し、アプリケーション実行用コンピュータ３とプログラム提供用コンピュータ２との間の通信を確立する。そして、制御部２６は、ライセンス確認処理プログラム３２Ｂに従い、ライセンスプログラム３０に関するライセンス情報の格納場所を指し示す情報を用いて、プログラム提供用コンピュータ２のライセンス情報格納部１３に格納された、アプリケーションプログラム４０に関するライセンス情報にアクセスし、このライセンス情報を読み取る。続いて、制御部２６は、ライセンス確認処理プログラム３２Ｂに従い、この読み取ったライセンス情報と、ライセンス確認プログラム３２Ｂの中に記録されたアプリケーションプログラム４０に関するライセンス情報とを照合し、アプリケーションプログラム４０に関するライセンスがユーザにあるか否かを判断する。
【００７４】
この判断の結果、アプリケーションプログラム４０に関するライセンスがユーザにある場合には（ステップＳ３６：ＹＥＳ）、アプリケーション実行用コンピュータ３の制御部２６は、ライセンスプログラム本体３２に従い、アプリケーション呼出プログラム３２Ｃを起動する。そして、制御部２６は、アプリケーション呼出プログラム３２Ｃに従い、アプリケーションプログラム４０を呼び出す（ステップＳ３７）。これにより、アプリケーションプログラム４０が起動する。なお、例えばアプリケーション呼出プログラム３２Ｃには、アプリケーションプログラム４０を配置するために予め設定された記憶部２５内の所定のディレクトリ（フォルダ）名が記録されており、アプリケーション呼出プログラム３２Ｃはこの所定のディレクトリ名を参照して、アプリケーションプログラム４０の呼出を行う。
【００７５】
アプリケーションプログラム４０が起動すると、アプリケーション実行用コンピュータ３の制御部２６は、アプリケーションプログラム４０に従い、まず、接続インターフェース４１を起動する。そして、制御部２６は、接続インターフェース４１に従い、アプリケーションプログラム本体４２を起動する（ステップＳ３８）。
【００７６】
続いて、制御部２６は、アプリケーションプログラム本体４２に従い、特定の情報処理を実行する（ステップＳ３９）。
【００７７】
一方、ステップＳ３４において、アプリケーション識別子３３とアプリケーション識別子４３とが一致しない場合（ステップＳ３４：ＮＯ）、アプリケーション実行用コンピュータ３の制御部２６は、ライセンスプログラム本体３２に従い、ライセンス確認処理プログラム３２Ｂもアプリケーション呼出プログラム３２Ｃも起動せずに、ライセンスプログラム本体３２を終了させる。これにより、アプリケーションプログラム４０は起動しない。
【００７８】
また、ステップＳ３６において、アプリケーションプログラム４０に関するライセンスがユーザにないと判断された場合には（ステップＳ３６：ＮＯ）、アプリケーション実行用コンピュータ３の制御部２６は、ライセンスプログラム本体３２に従い、アプリケーション呼出プログラム３２Ｃを起動せずに、ライセンスプログラム本体３２を終了させる。これにより、アプリケーションプログラム４０は実行されない。
【００７９】
（ライセンスプログラムのアンインストールおよび再インストール）
他方、アプリケーション実行用コンピュータ３にインストールされたライセンスプログラム３０は、アンインストールすることができる。すなわち、ユーザがアプリケーション実行用コンピュータ３の操作部２４を操作し、ライセンスプログラムをアンインストールする旨の指示をアプリケーション実行用コンピュータ３に入力すると、アプリケーション実行用コンピュータ３の制御部２６は、アプリケーション制御プログラム２７に従い、ライセンスプログラム３０および照合結果情報５０を記憶部２５から消去する。また、ライセンスプログラム３０をアプリケーション実行用コンピュータ３からアンインストールした後に、上記ライセンスプログラムインストール処理を行うことにより、ライセンスプログラム３０をアプリケーション実行用コンピュータ３に再びインストールすることができる。
【００８０】
以上より、アプリケーション実行用コンピュータ３では、ライセンスプログラム３０がアプリケーション制御プログラム２７（オペレーションシステム）上で独立に取り扱われる。そして、ライセンスプログラム３０は、アプリケーション制御プログラム２７ともアプリケーションプログラム４０とも別に、単独でインストールおよびアンインストールすることができる。これにより、アプリケーションプログラム４０およびライセンスプログラム３０をそれぞれアプリケーション実行用コンピュータ３にインストールした後に、アプリケーションプログラム４０に関するライセンス形態が変更された場合には、形態変更後のライセンスの有無を確認することができるライセンス確認処理プログラムを備えた新たなライセンスプログラム３０を再インストールするだけで、ユーザ（ライセンシ）によるアプリケーションプログラム４０の使用を継続させることができる。すなわち、アプリケーションプログラム４０に関するライセンス形態が変更された場合に、アプリケーションプログラム４０の再インストールは不要であり、かつアプリケーション制御プログラム２７の変更も必要ない。
【００８１】
したがって、アプリケーション実行用コンピュータ３によれば、多様なライセンス形態またはライセンス形態の頻繁な変更に容易に対応することができる。これにより、ユーザに対してはアプリケーションプログラム４０の使用に関する利便性の向上や負担の軽減を図ることができ、アプリケーションプログラム提供者に対してはアプリケーションプログラム４０の提供サービスの自由度や品質を向上させることができる。
【００８２】
また、アプリケーション実行用コンピュータ３では、ライセンスプログラム３０のみがアプリケーションプログラム４０を呼び出すことができる。これにより、アプリケーションプログラム４０がアプリケーション実行用コンピュータ３にインストールされていても、ライセンスプログラム３０がアプリケーション実行用コンピュータ３にインストールされていなければ、ユーザがアプリケーション実行用コンピュータ３を操作してアプリケーションプログラム４０を呼び出すことができない。
【００８３】
したがって、ライセンスを有しない者にはライセンスプログラム３０を取得させないようにすれば、ライセンスがない者がアプリケーション実行用コンピュータ３を操作してアプリケーションプログラム４０を呼び出すことを阻止することができ、アプリケーションプログラム４０の不正使用防止を強化することができる。
【００８４】
また、アプリケーション実行用コンピュータ３では、ライセンスプログラム３０がアプリケーション識別子３３を有し、アプリケーションプログラム４０がアプリケーション識別子４３を有し、ライセンスプログラム３０がアプリケーション識別子３３とアプリケーション識別子４３とを互いに照合し、これによりアプリケーション実行用コンピュータ３にインストールされたアプリケーションプログラム４０がライセンスの対象であることを認識する。これにより、ライセンスプログラム３０によるアプリケーションプログラム４０のライセンス確認処理、またはライセンスプログラム３０によるアプリケーションプログラム４０の呼出を容易かつ正確に行うことが可能になる。
【００８５】
なお、上述した実施形態では、アプリケーションプログラム４０およびライセンスプログラム３０をアプリケーション実行用コンピュータ３にインストールするときに、これらのプログラムをプログラム提供用コンピュータ２からアプリケーション実行用コンピュータ３にダウンロードする場合を例にあげた。しかし、本発明はこれに限らない。例えば、図１に示すように、アプリケーションプログラム４０をアプリケーション実行用コンピュータ３にインストールするときに、アプリケーションプログラム４０が記録された光ディスク５１またはＵＳＢメモリ５２からアプリケーション実行用コンピュータ３にアプリケーションプログラム４０を転送してもよい。また、ライセンスプログラム３０をアプリケーション実行用コンピュータ３にインストールするときには、ライセンスプログラム３０が記録された他の光ディスク５３または他のＵＳＢメモリ５４からアプリケーション実行用コンピュータ３にライセンスプログラム３０を転送してもよい。
【００８６】
また、上述した実施形態では、ライセンスプログラムインストール処理においてライセンスプログラム３０によりアプリケーション識別子３３とアプリケーション識別子４３とを照合する場合を例にあげた。しかし、本発明はこれに限らない。例えばアプリケーションプログラムによりこれらの照合を行ってもよい。この場合には、図５に示すライセンスプログラムインストール処理のステップＳ２７において、アプリケーション実行用コンピュータ３の制御部２６は、ライセンスプログラム３０に従ってアプリケーションプログラム４０を呼び出し、ライセンスプログラム３０に従ってアプリケーション識別子３３をアプリケーションプログラム４０に通知し、アプリケーション識別子３３とアプリケーション識別子４３との照合をアプリケーションプログラム４０に依頼する。
【００８７】
また、アプリケーションプログラム４０により行われる情報処理は特に限定されない。また、アプリケーション実行用コンピュータ３は、パーソナルコンピュータに限らず、複写機、プリンタ、複合機、映像機器、家電機器、医療機器その他コンピュータが組み込まれた種々の装置ないしシステムでもよい。
【００８８】
また、本発明は、請求の範囲および明細書全体から読み取るこのできる発明の要旨または思想に反しない範囲で適宜変更可能であり、そのような変更を伴うライセンス管理システムおよびライセンス管理プログラムもまた本発明の技術思想に含まれる。
【図面の簡単な説明】
【００８９】
【図１】本発明のライセンス管理システムの実施形態であるアプリケーション実行用コンピュータを含むコンピュータネットワークシステムを示すブロック図である。
【図２】ライセンスプログラムの構造を示すブロック図である。
【図３】アプリケーションプログラムの構造を示すブロック図である。
【図４】アプリケーションプログラムインストール処理を示すフローチャートである。
【図５】ライセンスプログラムインストール処理を示すフローチャートである。
【図６】アプリケーションプログラム実行処理を示すフローチャートである。
【符号の説明】
【００９０】
３  アプリケーション実行用コンピュータ（ライセンス管理システム）
２７  アプリケーション制御プログラム（プラットフォーム）
３０  ライセンスプログラム
３１  起動インターフェース
３２  ライセンスプログラム本体
３２Ａ  アプリケーション認識プログラム
３２Ｂ  ライセンス確認処理プログラム
３２Ｃ  アプリケーション呼出プログラム
３３  アプリケーション識別子（第１の識別情報）
４０  アプリケーションプログラム
４１  接続インターフェース
４２  アプリケーションプログラム本体
４３  アプリケーション識別子（第２の識別情報）
【図１】
0005065100.tif 000002
【図２】
0005065100.tif 000003
【図３】
0005065100.tif 000004
【図４】
0005065100.tif 000005
【図５】
0005065100.tif 000006
【図６】
0005065100.tif 000007