(57)【要約】【課題】  従来、クライアント装置とライセンス発行サーバとのライセンス発行にかかる通信を抑制し、さらに複数のソフトウェアのライセンス発行を効率的に行うことができなかった。【解決手段】  上記課題を解決するために本発明におけるライセンス発行サーバは、既にインストール可能なソフトウェア及びリリーズ前などの理由で未だインストールできないソフトウェアを含む複数のソフトウェアの情報を商品コードに対応させて管理し、クライアント装置からその商品コードを判別可能なライセンスファイルの要求を受けたとき、商品コードに対応させて管理している複数のソフトウェアの情報に対応する複数のライセンスファイルを生成し、クライアント装置に対して一括発行することを特徴とする。【選択図】  図７
2009037455.tif 000002
【特許請求の範囲】
【請求項１】
既にクライアント装置においてインストール可能なソフトウェア及び未だクライアント装置においてインストールできないソフトウェアを含む複数のソフトウェアの情報を識別情報に対応させて管理する管理手段と、
クライアント装置から前記識別情報を判別可能なライセンスファイルの要求を受信する受信手段と、
前記受信手段により受信した要求により判別された前記識別情報に対応させて前記管理手段で管理される複数のソフトウェアの情報に対応する複数のライセンスファイルを生成する生成手段と、
前記生成手段により生成された複数のライセンスファイルを前記受信手段で受信した要求の要求元である前記クライアント装置に対して送信する送信手段を備えることを特徴とする情報処理装置。
【請求項２】
前記受信手段でクライアント装置から受信した要求が１つのソフトウェアを起動するためのライセンスファイルの要求であった場合、前記生成手段は当該１つのソフトウェアの情報に対応するライセンスファイルを生成し、前記送信手段は生成された当該ライセンスファイルをクライアント装置に対して送信することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記クライアント装置から受信する要求にはクライアント装置と前記識別情報を識別可能なライセンスアクセス情報と前記クライアント装置においてインストールされているソフトウェアの情報とを含み、クライアント装置ごとにインストールされているソフトウェアと当該クライアント装置のために生成されたライセンスファイルとを管理するための管理データを保持する保持手段を備えることを特徴とする請求項１または請求項２に記載の情報処理装置。
【請求項４】
前記管理手段は、
前記識別情報に対応して管理する前記未だクライアント装置においてインストールできないソフトウェアの数量を設定する設定手段と、
前記未だクライアント装置においてインストールできないソフトウェアがクライアント装置によりインストール可能になったことを判断する判断手段とを備え、
前記判断手段によりインストール可能になったことを判断されたソフトウェアと、前記設定手段により設定された数量に応じた前記未だクライアント装置においてインストールできないソフトウェアとに対応するライセンスファイルを前記生成手段において生成が可能になるように複数のソフトウェアの情報を管理することを特徴とする請求項１乃至請求項３のいずれか１項に記載の情報処理装置。
【請求項５】
前記未だクライアント装置においてインストールできないソフトウェアとは、未発売のソフトウェアを含むことを特徴とする請求項１乃至請求項４のいずれか１項に記載の情報処理装置。
【請求項６】
既にクライアント装置においてインストール可能なソフトウェア及び未だクライアント装置においてインストールできないソフトウェアを含む複数のソフトウェアの情報を識別情報に対応させて管理する管理工程と、
クライアント装置から前記識別情報を判別可能なライセンスファイルの要求を受信する受信工程と、
前記受信工程で受信した要求により判別された前記識別情報に対応させて管理される複数のソフトウェアの情報に対応する複数のライセンスファイルを生成する生成工程と、
前記生成工程で生成された複数のライセンスファイルを前記受信工程で受信した要求の要求元である前記クライアント装置に対して送信する送信工程を備えることを特徴とする情報処理方法。
【請求項７】
前記受信工程でクライアント装置から受信した要求が１つのソフトウェアを起動するためのライセンスファイルの要求であった場合、前記生成工程で当該１つのソフトウェアの情報に対応するライセンスファイルを生成し、前記送信工程で生成された当該ライセンスファイルをクライアント装置に対して送信することを特徴とする請求項６に記載の情報処理方法。
【請求項８】
前記クライアント装置から受信する要求にはクライアント装置と前記識別情報を識別可能なライセンスアクセス情報と前記クライアント装置においてインストールされているソフトウェアの情報とを含み、クライアント装置ごとにインストールされているソフトウェアと当該クライアント装置のために生成されたライセンスファイルとを管理するための管理データを保持する保持工程を備えることを特徴とする請求項６または請求項７に記載の情報処理方法。
【請求項９】
前記管理工程は、
前記識別情報に対応して管理する前記未だクライアント装置においてインストールできないソフトウェアの数量を設定する設定工程と、
前記未だクライアント装置においてインストールできないソフトウェアがクライアント装置によりインストール可能になったことを判断する判断工程とを備え、
前記判断工程でインストール可能になったことを判断されたソフトウェアと、前記設定工程で設定された数量に応じた前記未だクライアント装置においてインストールできないソフトウェアとに対応するライセンスファイルを前記生成工程において生成が可能になるように複数のソフトウェアの情報を管理することを特徴とする請求項６乃至請求項８のいずれか１項に記載の情報処理方法。
【請求項１０】
前記未だクライアント装置においてインストールできないソフトウェアとは、未発売のソフトウェアを含むことを特徴とする請求項６乃至請求項９のいずれか１項に記載の情報処理方法。
【請求項１１】
請求項６乃至請求項１０のいずれか１項に記載の情報処理工程をコンピュータに実行させるためのプログラム。
【請求項１２】
請求項６乃至請求項１０のいずれか１項に記載の情報処理工程をコンピュータに実行させるためのプログラムを格納したコンピュータが読み取り可能な記憶媒体。
【請求項１３】
インストールした第１のソフトウェアを起動するためのライセンスファイルを管理していない場合、ライセンス発行サーバに対して当該第１のソフトウェアを起動するためのライセンスファイルの要求を行う要求手段と、
前記要求手段による要求の応答として、前記第１のソフトウェアの情報と同じ識別情報に対応させて管理される前記第１のソフトウェアを含む、第１のソフトウェアとは異なるソフトウェアの情報に対応する複数のライセンスファイルをまとめて取得する取得手段と、
前記取得手段により取得した第１のソフトウェアを起動するためのライセンスファイルに基づき第１のソフトウェアを起動する起動手段とを備えることを特徴とするクライアント装置。
【請求項１４】
前記識別情報により対応させて管理されるソフトウェアの情報は未だクライアント装置においてインストールできないソフトウェアの情報も含み、前記取得手段が取得する複数のライセンスファイルには、前記未だクライアント装置においてインストールできないソフトウェアを起動するためのライセンスファイルも含まれることを特徴とする請求項１３に記載のクライアント装置。
【請求項１５】
新たにソフトウェアをインストールした際に、前記取得手段により取得されたライセンスファイルに当該ソフトウェアを起動するためのライセンスファイルが含まれている場合、前記ライセンス発行サーバにライセンスファイルの要求を行うことなく、前記起動手段が当該ソフトウェアを起動するためのライセンスファイルに基づき起動することを特徴とする請求項１３または請求項１４に記載のクライアント装置。
【請求項１６】
前記ライセンスファイルに記述されるソフトウェアの起動条件に基づき、起動しようとするソフトウェアに対応するライセンスファイルの再び取得を行う必要があるか否かを判断する判断手段を更に備え、
前記判断手段により前記ソフトウェアに対応するライセンスファイルの再び取得を行う必要があると判断された場合、前記要求手段は当該ライセンスファイルの再び取得のための要求を行うことを特徴とする請求項１３乃至請求項１５のいずれか１項に記載のクライアント装置。
【請求項１７】
インストールした第１のソフトウェアを起動するためのライセンスファイルを管理していない場合、ライセンス発行サーバに対して当該第１のソフトウェアを起動するためのライセンスファイルの要求を行う要求工程と、
前記要求の応答として、前記第１のソフトウェアの情報と同じ識別情報に対応させて管理される前記第１のソフトウェアを含む、第１のソフトウェアとは異なるソフトウェアの情報に対応する複数のライセンスファイルをまとめて取得する取得工程と、
前記取得工程で取得した第１のソフトウェアを起動するためのライセンスファイルに基づき第１のソフトウェアを起動する起動工程とを備えることを特徴とする情報処理方法。
【請求項１８】
前記識別情報により対応させて管理されるソフトウェアの情報は未だクライアント装置においてインストールできないソフトウェアの情報も含み、前記取得工程において取得する複数のライセンスファイルには、前記未だクライアント装置においてインストールできないソフトウェアを起動するためのライセンスファイルも含まれることを特徴とする請求項１７に記載の情報処理方法。
【請求項１９】
新たにソフトウェアをインストールした際に、前記取得工程において取得されたライセンスファイルに当該ソフトウェアを起動するためのライセンスファイルが含まれている場合、前記ライセンス発行サーバにライセンスファイルの要求を行うことなく、前記起動工程で当該ソフトウェアを起動するためのライセンスファイルに基づき起動することを特徴とする請求項１７または請求項１８に記載の情報処理方法。
【請求項２０】
前記ライセンスファイルに記述されるソフトウェアの起動条件に基づき、起動しようとするソフトウェアに対応するライセンスファイルの再び取得を行う必要があるか否かを判断する判断工程を更に備え、
前記判断工程により前記ソフトウェアに対応するライセンスファイルの再び取得を行う必要があると判断された場合、前記要求工程において当該ライセンスファイルの再び取得のための要求を行うことを特徴とする請求項１７乃至請求項１９のいずれか１項に記載の情報処理方法。
【請求項２１】
請求項１７乃至請求項２０のいずれか１項に記載の情報処理工程をコンピュータに実行させるためのプログラム。
【請求項２２】
請求項１７乃至請求項２１のいずれか１項に記載の情報処理工程をコンピュータに実行させるためのプログラムを格納したコンピュータが読み取り可能な記憶媒体。
【請求項２３】
ネットワークを介して接続されたクライアント装置とライセンス発行サーバを含むライセンス管理システムであって、
前記クライアント装置は、
ライセンス発行サーバに対して、インストールしたソフトウェアを起動するためのライセンスファイルの要求を行う要求手段と、
前記要求手段による要求の応答として送信される、少なくとも前記ソフトウェアの情報に対応する複数のライセンスファイルを取得する取得手段と、
前記取得手段により取得したライセンスファイルに基づき前記ソフトウェアを起動する起動手段とを備え
前記ライセンス発行サーバは、
既にクライアント装置においてインストール可能なソフトウェア及び未だクライアント装置においてインストールできないソフトウェアを含む複数のソフトウェアの情報を識別情報に対応させて管理する管理手段と、
クライアント装置から前記識別情報を判別可能なライセンスファイルの要求を受信する受信手段と、
前記受信手段により受信した要求により判別された前記識別情報に対応させて前記管理手段で管理される複数のソフトウェアの情報に対応する複数のライセンスファイルを生成する生成手段と、
前記生成手段により生成された複数のライセンスファイルを前記受信手段で受信した要求の要求元である前記クライアント装置に対して送信する送信手段と、
を備えることを特徴とするライセンス管理システム。
【請求項２４】
ネットワークを介して接続されたクライアント装置とライセンス発行サーバを含むライセンス管理システムにおけるライセンス管理方法であって、
ネットワークを介して接続されたクライアント装置とライセンス発行サーバを含むライセンス管理システムであって、
前記クライアント装置は、
ライセンス発行サーバに対して、インストールしたソフトウェアを起動するためのライセンスファイルの要求を行う要求工程と、
前記要求の応答として送信される、少なくとも前記ソフトウェアの情報に対応する複数のライセンスファイルを取得する取得工程と、
前記取得工程で取得したライセンスファイルに基づき前記ソフトウェアを起動する起動工程とを備え
前記ライセンス発行サーバは、
既にクライアント装置においてインストール可能なソフトウェア及び未だクライアント装置においてインストールできないソフトウェアを含む複数のソフトウェアの情報を識別情報に対応させて管理する管理工程と、
前記クライアント装置から受信した前記要求により判別された前記識別情報に対応させて管理される複数のソフトウェアの情報に対応する複数のライセンスファイルを生成する生成工程と、
前記生成工程で生成された複数のライセンスファイルを前記要求の要求元である前記クライアント装置に対して送信する送信工程と、
を備えることを特徴とするライセンス管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ライセンス管理システムにおけるソフトウェアのライセンス発行に係る技術に関する。
【背景技術】
【０００２】
従来から、情報処理装置に導入するソフトウェアのライセンス管理システムが存在する。このようなシステムでは、導入対象となるソフトウェアの固有情報と対応させて該ソフトウェアのライセンスを発行し、導入対象のソフトウェアの不正利用を防止している（例えば、特許文献１参照）。
【０００３】
また、ライセンスを提供する計算機が一度だけアプリケーションの実行側計算機のネットワークのライセンスサーバ用計算機に対して配布用ライセンスを提供する。その後、アプリケーションの実行側の計算機のネットワークにおいて、配布ライセンスに基づき複数の実行用ライセンスを配布する。複数の計算機でそのアプリケーションを実行しようとする際に、実行用ライセンスと配布ライセンスによりライセンスの照会を行う。つまり、実行用ライセンスを用いることで、ライセンスを提供する計算機と何度も通信し、ライセンスを提供してもらわなくてもよい方法も提案されている（例えば、特許文献２参照）。
【特許文献１】特開２０００−２０７１９９号公報
【特許文献２】特開２００１−５６５９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
現在、多種多様なソフトウェアラインナップを統合し、目的別ソリューションとして複数ソフトウェアがひとつのパッケージとして提供される場合がある。そういった場合、上述した従来技術のように、複数ソフトウェアのライセンスをそれぞれ個別に取得することが必要になる。また、新規のソフトウェアが既存のパッケージに追加され、リリースされるような場合、そのソフトウェアがリリースされる度にライセンスを取得しなければならない。
【０００５】
つまり、上述した従来技術において、例えば、追加でソフトウェアを導入した場合、そのソフトウェアの追加導入の度にライセンス発行サーバにアクセスしてライセンスを発行しなければならず、非常に手間で時間のかかる作業が行なわれていた。また、煩雑なだけでなくライセンス発行サーバとの通信ができなくなった場合、通信が復旧するまで追加したソフトウェアが起動できないこともあり得る。
【０００６】
更に、そもそも１つのソフトウェアに対するライセンスの発行要求に対して、複数のソフトウェアのライセンスを一括して発行するといったことができなかった。
【０００７】
本発明は、クライアント装置とライセンス発行サーバとのライセンス発行にかかる通信を抑制し、さらに複数のソフトウェアのライセンス発行を効率的に行うことを目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するために本発明における情報処理装置は、既にクライアント装置においてインストール可能なソフトウェア及び未だクライアント装置においてインストールできないソフトウェアを含む複数のソフトウェアの情報を識別情報に対応させて管理する管理手段と、クライアント装置から前記識別情報を判別可能なライセンスファイルの要求を受信する受信手段と、前記受信手段により受信した要求により判別された前記識別情報に対応させて前記管理手段で管理される複数のソフトウェアの情報に対応する複数のライセンスファイルを生成する生成手段と、前記生成手段により生成された複数のライセンスファイルを前記受信手段で受信した要求の要求元である前記クライアント装置に対して送信する送信手段を備えることを特徴とする。
【発明の効果】
【０００９】
本発明は、クライアント装置とライセンス発行サーバとのライセンス発行にかかる通信を抑制し、さらに複数のソフトウェアのライセンス発行を効率的に行うことを可能とする。
【発明を実施するための最良の形態】
【００１０】
以下に、図面を参照して、この発明の好適な実施の形態を例示的に詳しく説明する。
【実施例１】
【００１１】
図２はクライアント装置、ライセンス発行サーバなどの情報処理装置における、ハードウェアの構成を示すブロック図である。
【００１２】
図２において、２０１は表示装置であり、その表示画面には、例えばウインドウ、アイコン、メッセージ、メニューなど、ユーザインターフェース情報が表示される。２０２はＶＲＡＭであり、表示装置２０１に表示するための画像が描画される。このＶＲＡＭ２０２に生成された画像データは、表示装置２０１に転送され、これにより表示装置２０１に画像が表示される。２０３はＣＤＤ（コンパクトディスク（登録商標）ドライブ）であり、ＣＤ−ＲＯＭや、ＣＤ−Ｒなどの記録メディアとの間で各種制御プログラムやデータの読み書きを行う装置である。これはＤＶＤドライブであってもよい。
【００１３】
２０４はキーボードであり、文字入力を行うための各種キーを有する。２０５はＰＤ（ポインティングデバイス）であり、例えば、マウスなどを示し、表示部２０１の表示画面上に表示されたアイコン、メニューその他のオブジェクトを指示するために使用される。
【００１４】
２０６はＣＰＵであり、ＲＯＭ２０７、ＨＤＤ（ハードディスクドライブ）２０９及び外部記憶装置２０３に格納された制御プログラムに基づいてＣＰＵデバイスに接続された各デバイスを制御する。２０７はＲＯＭ（リードオンリメモリ）であり、各種の制御プログラムやデータを保持する。２０８はＲＡＭ（ランダムアクセスメモリ）でありＣＰＵ２０６のワーク領域、エラー処理時のデータの退避領域、制御プログラムのロード領域等を有する。２０９は記憶装置としてのＨＤＤであり、各種制御プログラムや各種データを保存する。尚、ＣＰＵ２０６は、ＨＤＤやＲＯＭなどのいずれかの記憶媒体に保持された制御プログラムを読み出し、実行することにより、後述するライセンス制御などの処理を実現する。
【００１５】
２１０はネットワーク・インターフェース（Ｎｅｔ−Ｉ／Ｆ）であり、他の情報処理装置やプリンタ等とネットワーク２１２を介して通信を行うことができる。２１１はＣＰＵバスであり、アドレスバス、データバス及びコントロールバスを含む。ＣＰＵ２０６に対する制御プログラムの提供は、ＲＯＭ２０７、ＨＤＤ２０９、ＣＤＤ２０３から行うこともできるし、ネットワーク２１２を介して他の情報処理装置等から行うこともできる。
【００１６】
図１は本発明の好適な実施形態に係るライセンス管理システム全体のネットワーク構成、および各装置のソフトウェアのモジュール構成を示す図である。本システムは、ソフトウェアのライセンス管理を行うためのシステムであり、特にソフトウェアの不正使用を防止することを目的としている。
【００１７】
図１中１０１は、本発明の実施の形態においてユーザが操作するクライアント装置であり、１０２はライセンス発行サーバである。１０３はライセンス発行サーバ１０２に接続され、ソフトウェアの情報およびソフトウェアのライセンス情報を格納、管理するデータベースである。
【００１８】
１０４はユーザが購入するソフトウェアパッケージであり、複数のソフトウェア１０６が１つの商品コード１０５で管理され、ＣＤ−ＲＯＭなどといったメディアに複数のソフトウェアが同梱されるなどして提供される。また、別のメディアに導入されていたとしても、同じ商品コード１０５に属するソフトウェアは、同じソフトウェアパッケージに属するものとされる。ユーザは商品コード１０５に属するソフトウェアのライセンスを取得するための固有情報として、ライセンスアクセスＮｏ．（以下、ＬＡ＃とする。）１０７をソフトウェアパッケージとセットで取得する。ここで、ＬＡ＃１０７は、メールや紙などに記載された情報として取得するなど、取得の仕方は問わない。
【００１９】
ここでＬＡ＃は、単品のソフトウェアに対して設定されたものか、パッケージされたソフトウェアに対して設定されたものか判別可能であり、どの商品コードに対応しているかも判別可能である。
【００２０】
更に、ＬＡ＃はクライアント装置に対して、対応するライセンスを発行しても良いかどうかを判断するための認証に用いる情報も含むものであってもよい。
【００２１】
１０８はインターネットなどのネットワークであり、クライアント装置１０１はネットワーク１０８を介してライセンス発行サーバ１０２と接続される。
【００２２】
クライアント装置の構成について説明する。
【００２３】
１０９はソフトウェア管理部であり、ユーザの指示に基づきソフトウェアのインストール、起動の処理などを行う。
【００２４】
１１０はライセンス制御部であり、ライセンスファイルに記述されるソフトウェアの起動条件に従い、ソフトウェアの利用期間の判断などを行う。また、ライセンス利用情報の更新、ライセンス発行の制御なども行う。
【００２５】
１１１はクライアント装置に導入されているソフトウェアおよびライセンスの情報をライセンス利用情報として格納、管理するデータベースである。
【００２６】
１３１は、ユーザによって入力されたＬＡ＃１０７などを取得、外部からの情報を受信する受信部である。１３２は、ライセンス発行サーバなどにデータの送信などを行う送信部である。
【００２７】
次に、ライセンス発行サーバについて説明する。
【００２８】
１１３はデータベース１０３よりソフトウェアの情報およびソフトウェアのライセンス情報を取得することでライセンスファイルの生成などを行うライセンスファイル生成部である。ライセンス生成部１１３で生成されるライセンスファイルは、ＬＡ＃と商品コードに基づき、クライアントに対応するライセンスファイルを生成することが可能である。
【００２９】
１１４はライセンス発行サーバ１０２により生成されるライセンスファイル（ＬＦ）である。
【００３０】
１１５は商品コード１０５毎に管理されるソフトウェアの情報およびソフトウェアのライセンス情報を格納、管理している商品登録データを示す。また、１１６はソフトウェアのライセンスを取得するために使用されるＬＡ＃１０７ごとに管理されるソフトウェアの情報およびソフトウェアのライセンス情報を格納、管理しているデータである。
【００３１】
１１７は商品登録データ１１５のデータ登録、更新を実行する商品登録部である。
【００３２】
１２１は受信部であり、クライアント装置や外部データベースからデータを受信、取得する。
【００３３】
１２２はライセンス発行部であり、ライセンスファイルをクライアント装置に送信することでライセンスの発行処理などを行う。
【００３４】
図３は、ライセンス管理サーバにおいて、複数のソフトウェアに関する情報をまとめてソフトウェアパッケージ１０４として管理するための商品登録データ１１５のデータ構成を示す図である。
【００３５】
ソフトウェアパッケージ１０４は固有の商品コード１０５で区別される。同じ商品コード１０５に属するソフトウェア群はひとつのソフトウェアパッケージであり、供給されるＣＤ−ＲＯＭなどのメディアが違っていたとしても同じソフトウェアパッケージ１０４と管理される。例えば、メーカなどが新しいソフトウェアパッケージ１０４を提供する場合、ライセンス発行サーバ１０２に接続されるデータベース１０３の商品登録データ１１５として新規の商品コード１０５を登録する。
【００３６】
図３における商品コード１０５のコード「１２３４」に登録されるソフトウェアは、すべて同じソフトウェアパッケージとして扱われる。商品登録データ１１５には、商品コードで識別可能なソフトウェアパッケージに属するソフトウェアを識別するための情報として、コンテンツＩＤ３０３を保持している。例えば、商品コード“１２３４”のソフトウェアパッケージには、現在コンテンツＩＤ“１１１”・“２２２”に対応させてソフトウェア名のソフトウェアＡ・Ｂが登録されている。このコンテンツＩＤ３０３は、各ソフトウェアに関してライセンスとの対応付けを行うための識別子として個別に設定されている。
【００３７】
また、商品登録データ１１５においては、例えば商品コード「１２３４」で示されるパッケージにおいて、既にリリースされているソフトウェアとは別に、計画中で将来リリースされ、同じパッケージに登録されるであろうソフトウェアに関しても登録できる。そして、その将来リリース予定のソフトウェアに対してコンテンツＩＤ３０３を設定することも可能である。具体的には、図３の商品登録データ１１５におけるソフトウェア名が空白（ソフトウェア名が未定義）で、コンテンツＩＤが“３３３”から“５５５”にとなっているデータがそれに該当する。
【００３８】
更に、未だクライアント装置においてインストールできないソフトウェアに対して設定されるコンテンツＩＤによっても対応付けてライセンスを管理することができる。未だクライアント装置においてインストールできないソフトウェアとは、将来リリース予定の未発売のソフトウェアやクライアントの環境（国籍など）によって将来的にインストール可能になる予定のソフトウェアなどを含む。本実施例では特に将来リリース予定のソフトウェアを想定して、実施例の説明を行う。そして、将来リリース予定のソフトウェアに対して設定されるコンテンツＩＤに対応付けられたライセンスを仮ライセンスと呼ぶ。
【００３９】
図３の商品登録データ１１５においては、仮ライセンス提供数３０１として、３つの仮ライセンスを設定することが入力されている。これはクライアント装置１０１にライセンスを提供する際、既にソフトウェアパッケージ内でリリースされている製品に対応するライセンスの他に同時に提供する仮ライセンスの数量を３つにすることを意味している。この仮ライセンス提供数３０１にはライセンス発行を管理する管理者によりクライアント装置１０１に提供したい仮ライセンス数を任意に設定することが可能である。商品登録データ１１５では、パッケージされている既にリリースされているソフトウェアの数と仮ライセンス提供数の合計値分のライセンスが管理されるように常に定義されることになる。つまり、新たにソフトウェアがリリースされ、このパッケージに登録されると、仮ライセンスと対応付けたコンテンツＩＤが新たに保持されることになる。
【００４０】
クライアントでは、あるソフトウェアパッケージの商品コードに対応する複数のライセンスファイルを同時に取得することになる。例えば、図１のソフトウェアパッケージ１０４と異なり、ソフトウェアＡのみのソフトウェアパッケージをクライアント装置で取得しても、商品コードが同じであれば同様に複数のライセンスファイルをライセンス発行サーバより取得できる。その後、クライアント装置でソフトウェアＢを別途取得すると、そのソフトウェアＢに関するコンテンツＩＤと商品コードを取得することで、再びライセンス発行サーバに問い合せることなく、取得済みのライセンスファイルよりソフトウェアＢが利用可能になる。
【００４１】
また、同時に取得した仮ライセンスのライセンスファイルはどのソフトウェアに対しても対応しているわけではない。新たにソフトウェアがリリースされ、ライセンス発行サーバにより商品登録データ１１５において定義され、そのリリースされたソフトウェアにもコンテンツＩＤが対応付けられた場合にのみ、その仮ライセンスは通常のライセンスとして扱われることになる。
【００４２】
尚、商品コードやコンテンツＩＤなどは、一意に付された番号であればよく、文字や記号を含むコードであってもよい。また、ソフトウェアに対応付けられるコンテンツＩＤは、直接ソフトウェア自身にコンテンツＩＤの識別情報として付与されていてもよい。
【００４３】
図４はライセンス発行サーバ１０２における新規の商品登録データ１１５の登録処理を実現するためにＣＰＵにより実行されるプログラムに基づくフローチャートである。
【００４４】
具体的には、ライセンス発行サーバ１０２の操作により、新しいソフトウェアパッケージを提供するため、データベース１０３に新たなソフトウェアパッケージ１０４に関する商品登録データ１１５を登録する処理を示す。
【００４５】
Ｓ４０１でユーザ操作の指示に基づき、ライセンス発行サーバ１０２において商品登録部１１７が起動される。
【００４６】
Ｓ４０２でユーザの商品コード１０５を入力に基づいて、商品登録部１１７が新規ソフトウェアパッケージのテーブルを作成する。次にＳ４０３でソフトウェアパッケージ１０４にユーザの指定に基づき、商品登録部１１７が将来リリースされるソフトウェア用の仮ライセンスの提供数が設定される。
【００４７】
次にＳ４０４で、商品登録部１１７が、リリースが具体化されているソフトウェアのソフトウェア名、更にそのソフトウェアに対応するコンテンツＩＤ３０３などのソフトウェアに関する情報を設定する。この処理は、Ｓ４０４、Ｓ４０５に示すように、リリースが具体化されているソフトウェアの数だけ、繰り返し設定しても、複数のソフトウェアに関する情報を一括で設定してもよい。また、設定方法もユーザ操作に基づき設定されても、ソフトウェアの提供元からソフトウェアパッケージの登録用に配信されたものを自動設定してもよい。
【００４８】
リリースが具体化されているソフトウェア名の入力がＳ４０５で終了する。
【００４９】
続いてＳ４０６、Ｓ４０７において商品登録部１１７が前記Ｓ４０３で入力した仮ライセンスの提供数分だけコンテンツＩＤ３０３と仮ライセンスに対応付けを行う。仮ライセンスのソフトウェア名３０２は未定のため、この時点では空白となる。Ｓ４０８では、仮ライセンスの登録が終了すると、商品登録データの設定を保存し、処理を終了する。
【００５０】
上記の処理は図３において、商品コード１０５のコード「１２３４」、仮ライセンス提供数３０１を３つ、具体的にリリースされるソフトウェアとして「ソフトウェアＡ（コンテンツＩＤ：１１１）」と「ソフトウェアＢ（コンテンツＩＤ：２２２）」が設定される。そして、将来リリースされるソフトウェア用の仮ライセンスとしてコンテンツＩＤ：３３３、４４４、５５５の３つが設定される。
【００５１】
図１および図５により、クライアント装置Ａに複数の仮ライセンスを含む複数ソフトウェアライセンスをライセンス発行サーバ１０２が新規発行する動作をクライアント装置１０１およびライセンス発行サーバ１０２が管理するデータの遷移により説明する。
【００５２】
クライアント装置Ａは商品コード１０５が「１２３４」のソフトウェアＡとソフトウェアＢが同梱されたソフトウェアパッケージ１０４を購入し、クライアント装置ＡにソフトウェアＡをインストールする。ソフトウェアＡのコンテンツＩＤ３０３は「１１１」であり、ソフトウェアＢのコンテンツＩＤ３０３は「２２２」である。
【００５３】
クライアント装置Ａは商品コード１０５が「１２３４」のソフトウェアパッケージ１０４の導入が新規な場合、ライセンス発行サーバ１０２にライセンスファイルを要求する。
【００５４】
ライセンス発行サーバ１０２は、ライセンス取得のためのＬＡ＃１０７をクライアント装置Ａに要求する。ここでＬＡ＃１０７は一意に付された番号であればよく、文字や記号を含むコードであってもよい。
【００５５】
ライセンスアクセスＮｏ．入力画面からユーザの入力によりＬＡ＃１０７「ＡＡＡ」を取得し、図５（ａ）のライセンス利用情報１１１とともにライセンス発行サーバ１０２に送信する。尚、本実施例では、ＬＡ＃１０７をライセンス利用情報１１１に含めて送信しているが、ライセンス発行サーバに起動したいソフトウェア名、コンテンツＩＤなどの情報、ライセンスファイルの状態及びＬＡ＃などを送信されれば特に送信の方法は限定しない。
【００５６】
ライセンス発行サーバ１０２は、ＬＡ＃１０７「ＡＡＡ」と図５（ａ）で示されるライセンス利用情報１１１を取得する。そして、データベース１０３においてライセンスアクセスＮｏ．管理データ１１６を生成する。ここで生成されたものが、図５（ｅ）で示されている。
【００５７】
次に、図５（ｅ）で示されるライセンスアクセスＮｏ．管理データ１１６と図５（ｇ）で示される商品登録データ１１５の登録ソフトウェア名を比較し、その商品登録データ１１５に登録されていないソフトウェア名がないことを確認する。そして、ライセンス発行サーバ１０２は、その商品登録データ１１５に登録されている仮ライセンス分を含む全てのコンテンツＩＤ３０３に基づき、ライセンスアクセスＮｏ．管理データ１１６を更新する。更にライセンス発行サーバ１０２におけるライセンスファイル生成部１１３は、ＬＡ＃１０７「ＡＡＡ」と商品コード１０５に基づくコンテンツＩＤ３０３より、対応するライセンスファイル（ＬＦ）１１４を生成する。そして、生成されたライセンスファイルの情報をもとにライセンスアクセスＮｏ．管理データ１１６を更新する。ここで更新されたものが、図５（ｆ）で示されている。
【００５８】
その後、ライセンス発行サーバ１０２は、前記作成した３つの仮ライセンスを含む５つのライセンスファイル（ＬＦ）１１４をコンテンツＩＤとともに要求元のクライアント装置Ａに送信することで、複数のライセンスの一括発行を行う。
【００５９】
クライアント装置Ａは３つの仮ライセンスを含む５つのライセンスファイル１１４（ＬＦ）とコンテンツＩＤを受信する。そして、ライセンス利用情報１１１を図５（ｂ）で示されるように更新し、クライアント装置ＡにおいてソフトウェアＡのライセンスファイル（ＬＦ）１１４「ｖｖｖ」を利用し、ソフトウェアＡが起動される。
【００６０】
この後、クライアント装置ＡにソフトウェアＢがインストールされるとする。そういった場合、ソフトウェアＢのコンテンツＩＤ「２２２」と、一致するコンテンツＩＤがライセンス利用情報１１１に登録されているか否かを判断する。この場合、ライセンス利用情報１１１には、ソフトウェアＢのコンテンツＩＤ３０３「２２２」が登録されている。これにより、図５（ｃ）で示されるように、ライセンス利用情報１１１が更新される。また、ソフトウェアＢは、クライアント装置Ａにおいてライセンスファイル（ＬＦ）１１４「ｗｗｗ」により、ライセンス発行サーバ１０２へライセンス要求することなく起動されることが可能となる。
【００６１】
更に、その後クライアント装置Ａは、商品コード１０５がコード「１２３４」のソフトウェアＤが登録されているソフトウェアパッケージ１０４を購入し、クライアント装置ＡにソフトウェアＤをインストールする場合を想定する。
【００６２】
上述したように、ソフトウェアＤのコンテンツＩＤ３０３「４４４」を一致するコンテンツＩＤがライセンス利用情報１１１に登録されているか否かを判断する。この場合、コンテンツＩＤ３０３「４４４」が登録されている。これにより、図５（ｄ）で示されるようにライセンス利用情報１１１が更新される。また、ソフトウェアＤは、クライアント装置Ａにおいて、ライセンスファイル（ＬＦ）１１４「ｙｙｙ」によりライセンス発行サーバ１０２へライセンス要求することなく起動されることが可能となる。
【００６３】
上記のようにクライアント装置Ａは１度取得したパッケージングされた複数のライセンスで対応するソフトウェアの導入に関しては、ライセンス発行サーバ１０２へのライセンス要求をすることなく実行することが可能となる。
【００６４】
次に、図１および図６により、クライアント装置Ａとは別のクライアント装置であるクライアントＢが新規ライセンスの発行を要求する動作をクライアント装置１０１およびライセンス発行サーバ１０２が管理するデータの遷移により説明する。
【００６５】
クライアント装置Ｂは商品コード１０５がコード「１２３４」のソフトウェアＣが入ったソフトウェアパッケージ１０４を購入し、クライアント装置ＢにソフトウェアＣをインストールする。ソフトウェアＣのコンテンツＩＤ３０３は「３３３」である。
【００６６】
クライアント装置Ｂは商品コード１０５がコード「１２３４」のソフトウェアパッケージ１０４の導入は新規のため、ライセンス発行サーバ１０２にライセンスを要求する。
【００６７】
ライセンス発行サーバ１０２は、ライセンスファイルの取得のためのＬＡ＃１０７をクライアント装置Ｂに要求する。
【００６８】
クライアント装置Ｂは、ライセンスアクセスＮｏ．入力画面からユーザの入力によりＬＡ＃１０７「ＢＢＢ」を取得し、図６（ａ）のライセンス利用情報１１１とともにライセンス発行サーバ１０２に送信する。ここで、クライアントＢが入力したＬＡ＃は、クライアントごとに固有のため、クライアントＡが使用したＬＡ＃とは別のコードとなる。
【００６９】
ライセンス発行サーバ１０２は、ＬＡ＃１０７「ＢＢＢ」と「図６（ａ）ライセンス利用情報１１１」の情報を取得する。そして、データベース１０３において、図６（ｃ）で示されるようなライセンスアクセスＮｏ．管理データ１１６を生成する。
【００７０】
ライセンス発行サーバ１０２は、図６（ｃ）で示されるライセンスアクセスＮｏ．管理データ１１６と図６（ｅ）で示される商品登録データ１１５の登録ソフトウェア名を比較する。そして、図６（ｅ）で示される商品登録データ１１５に登録されていないソフトウェア名「ソフトウェアＣ」を確認する。ここで、ライセンス発行サーバ１０２は、図６（ｃ）で示されるライセンスアクセスＮｏ．管理データ１１６におけるソフトウェアＣのコンテンツＩＤ「３３３」が商品登録データ１１５に登録されているか否かを判断する。この場合、登録されているので、ライセンス発行サーバ１０２は商品登録データ１１５のコンテンツＩＤ３０３「３３３」の仮ライセンスであった部分にソフトウェアＣが割り当たったことを認識する。
【００７１】
そして、商品登録データ１１５のコンテンツＩＤ３０３「３３３」のソフトウェア名の項目に対して、ソフトウェアＣを入力することで、商品登録データ１１５を更新する。更に、ライセンス発行サーバ１０２は、仮ライセンス提供数３０１の指定数３を維持するために、ライセンスファイル生成部１１３によりコンテンツＩＤ３０３「６６６」を追加作成し、図６（ｆ）で示されるように商品登録データ１１５を更新する。
【００７２】
次に、ライセンス発行サーバ１０２は、図６（ｆ）で示される商品登録データ１１５に登録されている仮ライセンス分を含む全てのコンテンツＩＤ３０３に基づき、図６（ｃ）で示されるようにライセンスアクセスＮｏ．管理データ１１６を更新する。更にＬＡ＃１０７「ＢＢＢ」と商品コード１０５に基づくコンテンツＩＤ３０３より、６つのライセンスファイル１１４（ＬＦ）をライセンスファイル生成部１１３が生成する。そしてその生成したライセンスファイルの情報を元にライセンスアクセスＮｏ．管理データ１１６を更新する。更新されたものが、図６（ｄ）で示されるライセンスアクセスＮｏ．管理データである。その後、ライセンス発行サーバ１０２は、生成した仮ライセンスを含む６つのライセンスファイル１１４（ＬＦ）をコンテンツＩＤとともに要求元のクライアント装置Ｂに送信することで、複数のライセンスの一括した発行を行う。
【００７３】
クライアント装置Ｂは仮ライセンスを含む６つのライセンスファイル１１４（ＬＦ）とコンテンツＩＤを受信する。そして、図６（ｂ）で示されるようにライセンス利用情報１１１を更新する。そして、クライアント装置Ｂにおいて、ソフトウェアＣのライセンスファイル（ＬＦ）１１４「ｊｊｊ」を利用し、ソフトウェアＣが起動される。
【００７４】
上記のようにライセンス発行サーバ１０２は、クライアント装置１０１がライセンス発行を要求する時に送信するライセンス利用情報１１１を得ることで、仮ライセンスが利用されたことを確認する。また、ライセンス発行サーバ１０２は、仮ライセンスが利用されたことを確認すると、利用された分の仮ライセンスを追加で生成し、仮ライセンスの追加分を含めた複数ライセンスを一括してクライアント装置１０１に発行する。
【００７５】
次に、図７、図８および図９のフローチャートを参照して、ライセンス管理システムにおける、ライセンス発行サーバ１０２がクライアント装置１０１に複数の仮ライセンスを含む複数ソフトウェアライセンスを発行する処理について説明する。前述した図５、図６におけるデータの遷移は、このフローチャートに示す処理により実現される。
【００７６】
図７は、ライセンス発行サーバ１０２における仮ライセンスを含む複数ソフトウェアライセンスの生成・発行処理を実現するためにＣＰＵにより実行されるプログラムに基づくフローチャートを示す図である。
【００７７】
Ｓ７０１で、受信部１２１がネットワークを介してクライアント装置１０１からのライセンス要求として送信されるＬＡ＃１０７を取得する。
【００７８】
Ｓ７０２において、ライセンスファイル生成部１１３は、取得したＬＡ＃１０７で要求されているライセンスが、単品ソフトウェア用のものか、ソフトウェアパッケージ用のものか判断する。Ｓ７０２より単品ソフトウェア用ライセンス要求と判断された場合、Ｓ７０３でライセンスファイル生成部１１３は単品ソフトウェア用のライセンスファイルを生成する。その後、Ｓ７０４においてライセンス発行部１２２が、生成された単品ソフトウェア用のライセンスファイルをクライアント装置１０１に対して送信することによりライセンス発行を行い、処理を終了する。
【００７９】
Ｓ７０２でソフトウェアパッケージ用のライセンス要求であると判断されると、ライセンス発行サーバ１０２が、クライアント装置に対してライセンス利用情報１１１を要求する。そしてＳ７０５で受信部１２１がクライアント装置のライセンス利用情報１１１を取得する。
【００８０】
次に、Ｓ７０６で、ライセンスファイル生成部１１３がデータベース１０３にＳ７０１で取得したＬＡ＃１０７のライセンスアクセスＮｏ．管理データ１１６が登録されているか判断を行う。Ｓ７０１で取得したＬＡ＃１０７のライセンスアクセスＮｏ．管理データ１１６が登録されている場合はＳ７０７に遷移し、登録されていない場合はＳ７０８に遷移する。
【００８１】
Ｓ７０７では、ライセンスファイル生成部１１３が、Ｓ７０５で取得したライセンス利用情報１１１に含まれるソフトウェア名を、データベース１０３に登録されていたライセンスアクセスＮｏ．管理データ１１６に追加登録する。また、Ｓ７０８では、ライセンスファイル生成部１１３が、Ｓ７０１で取得したＬＡ＃１０７に対応するライセンスアクセスＮｏ．管理データ１１６を新たに作成する。そして作成したライセンスアクセスＮｏ．管理データ１１６にＳ７０５で取得したライセンス利用情報１１１に含まれるソフトウェア名を登録する。
【００８２】
次にＳ７０９では、ライセンスファイル生成部１１３が、データベース１０３に登録されている商品登録データ１１５の更新処理を実行する。この処理に関して、後述の図８で説明する。
【００８３】
Ｓ７１０では、ライセンスファイル生成部１１３がＳ７０９での処理後の商品登録データ１１５のコンテンツＩＤ３０３データをライセンスアクセスＮｏ．管理データ１１６に設定する。
【００８４】
Ｓ７１０で設定処理されたライセンスアクセスＮｏ．管理データ１１６のコンテンツＩＤ３０３から、Ｓ７１１においてライセンスファイル生成部１１３が、Ｓ７０１で取得したＬＡ＃１０７に対応する複数ソフトウェアライセンスファイル（ＬＦ）を生成する。ここで生成されるソフトウェアライセンスには、予め設定された個数の仮ライセンス提供数分の仮ライセンスファイルも含まれる。
【００８５】
次に、Ｓ７１２においてライセンスファイル生成部１１３が、Ｓ７１１で生成したソフトウェアライセンスファイルに関する情報をＳ７０１で取得したＬＡ＃１０７のライセンスアクセスＮｏ．管理データ１１６に登録する。
【００８６】
そして、Ｓ７１３において、ライセンス発行部１２２が、Ｓ７０１で取得したＬＡ＃１０７に対応したライセンスファイルをクライアント装置１０１に一括送信することで、ライセンスの発行を行う。
【００８７】
続いて、図８は、図７のＳ７０９における商品登録データ更新処理を実現するためにＣＰＵにより実行されるプログラムに基づくフローチャートを示す。
【００８８】
Ｓ８０１により、商品登録部１１７は、ライセンスアクセスＮｏ．（ＬＡ＃）１０７に基づいて商品コードを認識して、その商品コードに対応する商品登録データ１１５を取得する。
【００８９】
Ｓ８０２において、商品登録部１１７が、Ｓ８０１で取得した商品登録データ１１５と図７のＳ７０７またはＳ７０８で作成されたライセンスアクセスＮｏ．管理データ１１６の登録ソフトウェア名を比較する。
【００９０】
Ｓ８０２の比較の結果、商品登録データ１１５に未登録のソフトウェア名があった場合、Ｓ８０３として、商品登録部１１７が商品登録データ１１５にその未登録ソフトウェア名を追加登録し、商品登録データ１１５更新する。
【００９１】
Ｓ８０２において未登録のソフトウェア名がない場合は、図８のフローチャートを終了する。
【００９２】
次に、Ｓ８０４において、商品登録部１１７が商品登録データ１１５に登録されているソフトウェア名が空白のコンテンツＩＤ３０３の数と商品登録データ１１５に登録されている仮ライセンス提供数ｎとを比較する。これは、予め設定されている仮ライセンス提供数分だけ、商品登録データ１１５に仮ライセンスが設定されているかを判断するためのステップである。
【００９３】
Ｓ８０４の比較の結果、ソフトウェア名が空白のコンテンツＩＤ３０３の数が仮ライセンス提供数３０１の数ｎより少ない場合、Ｓ８０５に遷移する。Ｓ８０５では、商品登録部１１７が仮ライセンス提供数３０１分だけ、商品登録データ１１５に仮ライセンスに対応するコンテンツＩＤ３０３を追加する。
【００９４】
商品登録データ１１５のソフトウェア名が空白のコンテンツＩＤ３０３の数が仮ライセンス提供数ｎと同じとなると商品登録データ１１５の更新処理を終了する。
【００９５】
図９はクライアント装置１０１におけるソフトウェアライセンスの取得、利用する処理を実現するためにＣＰＵにより実行されるプログラムに基づくフローチャートを示す。
【００９６】
Ｓ９０１でソフトウェア管理部１０９が、ユーザ操作に基づきソフトウェアのインストール処理を実行する。これにより、クライアント装置１０１にソフトウェアがインストールされる。尚、この際インストールされるソフトウェアは、複数のソフトウェアがパッケージされた状態のソフトウェアパッケージの一括インストールであってもよい。
【００９７】
Ｓ９０２でソフトウェア管理部１０９が、ユーザ操作に基づきインストールしたソフトウェアの起動処理を行う。
【００９８】
Ｓ９０３でライセンス制御部１１０が、ソフトウェアを起動に際して、クライアント装置１０１にライセンスファイルが登録されているか否か確認を行う。ライセンス制御部１１０はライセンスファイルが登録されていないことを確認すると、Ｓ９０４としてライセンス取得を行うため、まず取得画面を表示部に表示する。
【００９９】
Ｓ９０５で受信部１３１は、ユーザ操作に基づくライセンスアクセスＮｏ．（ＬＡ＃）１０７を入力により、ＬＡ＃１０７を取得する。
【０１００】
ステップ９０６で送信部１３２は、取得したＬＡ＃１０７をライセンス発行サーバ１０２に送信する。さらにＳ９０７でライセンス制御部１１０は、送信部１３２を介して、クライアント装置１０１のライセンス利用情報１１１をライセンス発行サーバ１０２に送信する。
【０１０１】
Ｓ９０８で受信部１３１が、ＬＡ＃１０７、ライセンス利用情報１１１の応答として、ライセンス発行サーバ１０２よりライセンスファイルを取得する。ここでは、複数のライセンスファイルが同時に送信されてくる、もしくは仮ライセンスに対応するものを含むことがあり得る。
【０１０２】
Ｓ９０９でライセンス制御部１１０が、Ｓ９０８で取得したライセンスファイルの情報をもとにクライアント装置１０１のライセンス利用情報１１１を更新し、取得した複数ライセンスファイルをクライアント装置１０１に登録する。
【０１０３】
Ｓ９１０でライセンス制御部１１０は、起動しようとしているソフトウェアに対応するライセンスファイルが登録されているか検索をおこなう。そして、Ｓ９１１の起動しようとしているソフトウェアに対応するライセンスファイルが登録されていたか否か判断する。ここで、この判断はソフトウェアの持っているコンテンツＩＤ３０３とライセンスファイルに対応付けられているコンテンツＩＤ３０３が同一であるかにより判断される。
【０１０４】
Ｓ９１１で起動しようとしているソフトウェアに対応するライセンスファイルがないと判断された場合、Ｓ９０４に遷移する。尚、Ｓ９０４においては何度も同じ処理を繰り返すことが考えられるので、ユーザに指示に基づきこのフローチャートを強制終了するといった実施例としても良い。
【０１０５】
Ｓ９１１で起動しようとしているソフトウェアに対応するライセンスファイルがあると判断された場合、Ｓ９１２でライセンス制御部１１０は、ライセンス利用情報１１１に起動しようとしているソフトウェアのソフトウェア名が存在するか確認を行う。
【０１０６】
Ｓ９１２で、ライセンス利用情報１１１に起動しようとするソフトウェアのソフトウェア名が存在しない場合は、このライセンスファイルは仮ライセンスであることを意味する。この場合、ステップ９１３でライセンス制御部１１０は、ライセンス利用情報１１１に起動しようとするソフトウェアのソフトウェア名を追加登録する。
【０１０７】
続いて、Ｓ９１４でライセンス制御部１１０は、起動するソフトウェアの起動条件をライセンスファイルより確認する。ここで起動条件とは、たとえばライセンスの有効期間、ライセンス対応クライアント装置条件などが挙げられる。起動条件を満たしていれば、Ｓ９１５として、ソフトウェア管理部１０９が、取得したライセンスファイルを用いてソフトウェアを起動する。ソフトウェア起動条件を満たしていない場合、再びＳ９０４に遷移する。
【０１０８】
このように本実施例では、複数ソフトウェアがセット販売されるソフトウェアパッケージのライセンスをクライアント装置がライセンス発行サーバに要求した際の処理について説明した。特にセット販売されたソフトウェアに対応するライセンスファイルを送信することで、ソフトウェアパッケージのライセンスを、仮ライセンスを含めて複数まとめてクライアント装置に一括発行可能とした。
【０１０９】
クライアント装置は一括発行された複数のライセンスと仮ライセンスにより、ソフトウェアパッケージに含まれるソフトウェアを起動することが可能となる。
【０１１０】
また、ソフトウェアパッケージ内に追加でリリースされたソフトウェアに関しても、仮ライセンスによって対応することでライセンス発行サーバにライセンス要求することなく、クライアント装置内の処理のみにおいて起動することが可能となる。
【０１１１】
更に、ライセンス発行サーバは、ライセンスの発行の要求を受付けた際に、ライセンス利用情報をクライアント装置から取得し、仮ライセンスの利用を確認すると、新たに仮ライセンスの発行を行うといった処理も行う。
【実施例２】
【０１１２】
図１および図１０、図１１で本実施の形態に係るライセンス管理システムの動作をクライアント装置１０１およびライセンス発行サーバ１０２が管理するデータの遷移により説明する。
【０１１３】
本実施例においては、実施例１の処理を通して、クライアント装置Ａにおいては図５（ｄ）、ライセンス発行サーバ１０２の（ｆ）といったデータ更新処理を行った状態を前提とする。
【０１１４】
まず図１０における、クライアント装置Ａに仮ライセンスを含む複数ソフトウェアライセンスをライセンス発行サーバ１０２が追加発行する動作をクライアント装置１０１およびライセンス発行サーバ１０２が管理するデータの遷移により説明する。
【０１１５】
クライアント装置Ａは商品コード１０５がコード「１２３４」のソフトウェアＦが入ったソフトウェアパッケージを購入し、クライアント装置ＡにソフトウェアＦを追加インストールする。ここで、図１０（ａ）で示されるようにソフトウェアＦのコンテンツＩＤ３０３は「６６６」である。
【０１１６】
クライアント装置ＡはコンテンツＩＤ３０３が「６６６」であるソフトウェアＦのライセンスファイルが登録されていないためライセンス発行サーバ１０２にライセンスの発行を要求する。このとき、ライセンス取得のためのライセンスアクセスＮｏ．（ＬＡ＃）１０７を送信することになる。
【０１１７】
ユーザ入力によりライセンスアクセスＮｏ．入力画面を介したＬＡ＃１０７「ＡＡＡ」を取得し、図１０（ａ）のライセンス利用情報１１１とともにライセンス発行サーバ１０２に送信する。
【０１１８】
ライセンス発行サーバ１０２は、ＬＡ＃１０７「ＡＡＡ」と図１０（ａ）で示すライセンス利用情報１１１の情報を取得する。そして、データベース１０３のライセンスアクセスＮｏ．（ＬＡ＃）管理データ１１６を図１０（ｃ）で示されるように更新する。
【０１１９】
ライセンス発行サーバ１０２は、図１０（ｃ）で示されるＬＡ＃管理データ１１６と図１０（ｅ）で示される商品登録データ１１５とに登録されたソフトウェア名を比較する。そして、図１０（ｅ）で示される商品登録データ１１５に登録されていないソフトウェア名「ソフトウェアＤ」と「ソフトウェアＦ」を確認する。
【０１２０】
ライセンス発行サーバ１０２は、まずコンテンツＩＤ３０３が「４４４」であるところの仮ライセンスにソフトウェアＤが割り当たったことを認識する。また、コンテンツＩＤ３０３が「６６６」であるところの仮ライセンスにソフトウェアＦが割り当たったことも認識する。そして、商品登録データ１１５のコンテンツＩＤ「４４４」、「６６６」のソフトウェア名に「ソフトウェアＤ」、「ソフトウェアＦ」を追加登録する。
【０１２１】
次に、ライセンス発行サーバ１０２において、仮ライセンス提供数３０１の指定数３を維持するために、コンテンツＩＤに「７７７」と「８８８」を追加作成し、商品登録データ１１５を図１０（ｆ）で示されるように更新する。
【０１２２】
続いて、ライセンス発行サーバ１０２は、図１０（ｆ）で示される商品登録データ１１５に基づいて、ＬＡ＃管理データ１１６を更新する。ここでは、ライセンス発行サーバ１０２において、全てコンテンツＩＤに対応する８つのライセンスファイル（ＬＦ）１１４をライセンスファイル生成部１１３が生成し、その情報によりＬＡ＃管理データ１１６を更新する。更新されたＬＡ＃管理データ１１６が、図１０（ｄ）で示される。
【０１２３】
そして、ライセンス発行サーバ１０２は、生成した８つのライセンスファイル（ＬＦ）１１４をコンテンツＩＤと供にクライアント装置Ａに送信することにより、ライセンスの一括発行を行う。
【０１２４】
尚、この際、ライセンス発行サーバは全てのライセンスファイルを生成したが、新たに追加されたコンテンツＩＤ（コンテンツＩＤ「６６６」〜「８８８」）に対応するライセンスファイルのみ生成して、クライアント装置Ａにライセンス発行を行ってもよい。
【０１２５】
クライアント装置Ａは８つのライセンスファイル１１４とコンテンツＩＤを受信する。そして、ライセンス利用情報１１１を図１０（ｂ）で示されるように更新する。そして、ソフトウェアＦのライセンスファイル「ａａａ」を利用し、ソフトウェアＦを起動する。
【０１２６】
上記のようにライセンス発行サーバ１０２は、クライアント装置で仮ライセンスが利用されたことを確認すると、さらに仮ライセンスに対応するライセンスファイルを追加生成しタ状態で、クライアント装置１０１にライセンス発行する。これは、ライセンス発行サーバ１０２が、クライアント装置１０１によるライセンスの追加発行を要求の際に、ライセンス利用情報１１１をともに受信することにより実現できる。
【０１２７】
次に、登録された仮ライセンスを含む複数ソフトウェアライセンスにライセンスの利用条件として有効期限が設定されている場合を想定する。図１１では、ライセンスの有効期限が切れることによるライセンスの更新発行する動作をクライアント装置１０１およびライセンス発行サーバ１０２が管理するデータの遷移により説明する。
【０１２８】
例えば、クライアント装置Ｂに導入されているソフトウェアＣのライセンスの有効期限が切れた場合を想定する。
【０１２９】
クライアント装置Ｂのライセンス制御部１１０が、ソフトウェアＣのライセンス有効期限が切れている、またはもうすぐ有効期限が切れることを検出する。この際、ライセンス制御部１１０は、表示画面などを介してユーザにライセンスの有効期限が切れることを通知し、それに伴いライセンス取得画面を表示する。
【０１３０】
クライアント装置Ｂは、ユーザのライセンスアクセスＮｏ．入力画面を介した入力に基づき、ライセンスアクセスＮｏ．（ＬＡ＃）１０７「ＢＢＢ」を取得し、図１１（ａ）で示されるライセンス利用情報１１１とともにライセンス発行サーバ１０２に送信する。
【０１３１】
ライセンス発行サーバ１０２は、ＬＡ＃「ＢＢＢ」と図１１（ａ）で示されるライセンス利用情報１１１の情報を取得する。そして、データベース１０３のライセンスアクセスＮｏ．（ＬＡ＃）管理データ１１６を図１１（ｃ）で示されるように更新する。
【０１３２】
そして、ライセンス発行サーバ１０２は、図１１（ｃ）で示されるＬＡ＃管理データ１１６と図１１（ｅ）で示される商品登録データ１１５とに登録されたソフトウェア名を比較する。ここでは、ＬＡ＃管理データ１１６に登録されていて、図１１（ｅ）で示される商品登録データ１１５に登録されていないソフトウェア名がないことを確認する。
【０１３３】
次に、ライセンス発行サーバ１０２は、図１１（ｅ）で示される商品登録データ１１５に基づきＬＡ＃管理データ１１６を更新する。さらに、ライセンス発行サーバ１０２は、新たな有効期限を設定したライセンスファイル（ＬＦ）１１４をライセンスファイル生成部１１３で生成する。このとき、ライセンスアクセスＮｏ．管理データ１１６は図１１（ｄ）で示されるように更新される。
【０１３４】
ライセンス発行サーバ１０２は、新たな有効期限が設定され、仮ライセンスを含む８つのライセンスファイル１１４をコンテンツＩＤとともにクライアント装置Ｂに送信し、ライセンスの一括発行を行う。
【０１３５】
クライアント装置Ｂは新たな有効期限が付与され、仮ライセンスを含む８つのライセンスファイル１１４とコンテンツＩＤを受信する。そして、ライセンス利用情報１１１を図１１（ｂ）で示されるように更新する。ここで、ソフトウェアＣは新たな有効期限が設定されたライセンスファイル「ｊｊｊ」を利用し、起動される。
【０１３６】
上記のようにクライアント装置１０１がライセンスの利用条件に合致しない状況となったライセンスの更新発行を要求することがある。その際に、ライセンス発行サーバ１０２では、受信したライセンス利用情報１１１に基づいて、前回発行した仮ライセンスの利用状況を確認し、必要であれば追加発行を行うことが可能になる。
【０１３７】
このように本実施例によって、ライセンス発行サーバは、クライアント装置がライセンスの追加発行または、ライセンスの再発行を要求する時に送信するライセンス利用情報を得ることで、発行済みの仮ライセンスの利用状況を確認する。ライセンス発行サーバは、仮ライセンスが利用されていることを確認すると、利用された分の仮ライセンスを追加生成し、再びライセンスを一括してクライアント装置に発行するといった処理が行える。これにより、仮ライセンスの枯渇が抑制され得る。
【０１３８】
本実施形態によれば、ライセンス発行サーバ１０２は複数のクライアント装置を管理することが可能となる。
【０１３９】
また、ライセンス発行サーバ１０２で管理する商品登録データ１１５と、クライアント装置で管理するライセンス利用情報１１１を比較することにより、仮ライセンスの利用状況を確認することが可能となる。
【０１４０】
以上、説明してきたように、本発明によって、ライセンス発行サーバは、１つのソフトウェアの固有情報に対して、後日追加で導入するソフトウェアのライセンスである仮ライセンスを含む複数ライセンスを一括して発行することが可能となる。
【０１４１】
また、ライセンス発行サーバは、クライアント装置のライセンス利用状況をライセンス発行要求毎に取得することで仮ライセンスの追加生成、クライアント装置へ提供するライセンス数を制御可能となる。これによりクライアント装置は、追加ソフトウェアの導入のたびに、ライセンス発行サーバへのライセンス発行要求を行う必要がなくなり、多大なるユーザの利便性の向上を実現することができる。
【０１４２】
さらに、ライセンス発行サーバによりライセンス利用状況を自動で取得、管理し、自動で複数ライセンス発行する機能によりライセンス発行に対するライセンス発行サーバ更新管理作業が大幅に軽減され、多大なるサーバ管理性の向上を実現することができる。
【０１４３】
（その他の実施形態）
以上、本発明の実施形態について詳述したが、本発明は、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。構成を変えずに拡張することができ、台数を選ばないことは言うまでもない。
【０１４４】
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システム或いは装置に直接或いは遠隔から供給し、そのシステム或いは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによっても達成できる。その場合、プログラムの機能を有していれば、形態は、プログラムである必要はない。
【０１４５】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明のクレームでは、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【０１４６】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等、プログラムの形態を問わない。
【０１４７】
プログラムを供給するための記録媒体としては、例えば、ハードディスク、光ディスク、光磁気ディスクなどがある。さらにまた、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）などがある。
【０１４８】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムそのものがある。もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明のクレームに含まれるものである。
【０１４９】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【０１５０】
また、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【０１５１】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込む。そして、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現される。
【図面の簡単な説明】
【０１５２】
【図１】本発明のライセンス管理システム全体のネットワーク構成、およびシステムに含まれる各装置のソフトウェアのモジュール構成を示す図である。
【図２】本発明のクライアント装置、ライセンス発行サーバなどの情報処理装置における、ハードウェアの構成を示すブロック図である。
【図３】本発明における、複数のソフトウェアに関する情報をまとめてソフトウェアパッケージ１０４として管理するための商品登録データ１１５のデータ構成を示す図である。
【図４】本発明のライセンス発行サーバ１０２における新規の商品登録データ１１５の登録処理を実現するためにＣＰＵにより実行されるプログラムに基づくフローチャートを示す図である。
【図５】本発明の実施例１でのクライアント装置Ａとライセンス発行サーバにおける各種データの遷移を示す図ある。
【図６】本発明の実施例１でのクライアント装置Ｂとライセンス発行サーバにおける各種データの遷移を示す図ある。
【図７】本発明のライセンス発行サーバ１０２における仮ライセンスを含む複数ソフトウェアライセンスの生成・発行処理を実現するためにＣＰＵにより実行されるプログラムに基づくフローチャートを示す図である。
【図８】本発明の商品登録データ更新処理を実現するためにＣＰＵにより実行されるプログラムに基づくフローチャートを示す図である。
【図９】本発明のクライアント装置１０１におけるソフトウェアライセンスの取得、利用する処理を実現するためにＣＰＵにより実行されるプログラムに基づくフローチャートを示す図である。
【図１０】本発明の実施例２でのクライアント装置Ａとライセンス発行サーバにおける各種データの遷移を示す図ある。
【図１１】本発明の実施例２でのクライアント装置Ｂとライセンス発行サーバにおける各種データの遷移を示す図ある。
【符号の説明】
【０１５３】
１０１  クライアント装置
１０２  ライセンス発行サーバ
１０３  データベース
１０４  ソフトウェアパッケージ
１０５  商品コード
１０６  ソフトウェア
１０７  ライセンスアクセスＮｏ．
【図１】
2009037455.tif 000003
【図２】
2009037455.tif 000004
【図３】
2009037455.tif 000005
【図４】
2009037455.tif 000006
【図５】
2009037455.tif 000007
【図６】
2009037455.tif 000008
【図７】
2009037455.tif 000009
【図８】
2009037455.tif 000010
【図９】
2009037455.tif 000011
【図１０】
2009037455.tif 000012
【図１１】
2009037455.tif 000013