(57)【特許請求の範囲】
【請求項１】
端末装置とサーバ装置とがネットワークを介して接続され、前記サーバ装置が前記端末装置のソフトウェアのライセンスを管理するライセンス管理システムであって、
前記端末装置は、
前記端末装置を識別するための端末識別情報を生成する生成手段と、
新規のライセンスの認証のために、ソフトウェアを識別するためのライセンス識別情報と、前記端末装置における機器情報と、前記生成手段により生成された端末識別情報とを、前記サーバ装置に対して送信する第１送信手段と、
前記サーバ装置から送信されてきたライセンスを用いて、前記ソフトウェアを起動する起動手段と、
前記ライセンスの再認証又は返却のために、ライセンス識別情報と、前記端末装置における機器情報と、前記生成手段により生成された端末識別情報とを含む問合せを、前記サーバ装置に対して送信する問合せ手段と、を有し、
前記サーバ装置は、
ライセンスの認証のために、前記端末装置から送信されてきたライセンス識別情報と、機器情報と、端末識別情報とを関連付けて登録する登録手段と、
前記登録したライセンス識別情報で識別される前記ソフトウェアのライセンスを前記端末装置に対して送信する第２送信手段と、
前記問合せに含まれる前記端末識別情報及び前記機器情報と、前記登録手段により登録された前記端末識別情報及び前記機器情報とを比較する比較手段と、を有し、
前記問合せ手段は、前記生成手段が生成した仮想化ソフトウェアで作成された仮想端末装置を識別するための端末識別情報を問合せに含めることを特徴とするライセンス管理システム。
【請求項２】
前記ライセンスの再認証のために、前記問合せ手段が仮想端末装置であることを示す仮想フラグ情報を前記サーバ装置に送信することを特徴とする請求項１に記載のライセンス管理システム。
【請求項３】
前記比較手段が、前記問合せに含まれる前記端末識別情報と前記登録手段により登録された前記端末識別情報とが一致し、更に、前記問合せに含まれる前記機器情報と前記登録手段により登録された前記機器情報とが一致すると判定した場合に、前記ライセンスの返却の処理として、前記問合せに含まれるライセンス識別情報に関連付けて前記登録手段により登録された情報を削除する削除手段を、更に、有することを特徴とする請求項１又は２に記載のライセンス管理システム。
【請求項４】
前記比較手段が、前記問合せに含まれる前記端末識別情報と前記登録手段により登録された前記端末識別情報とが一致せず、前記問合せに含まれる前記機器情報と前記登録手段により登録された前記機器情報とが一致し、更に、前記問合せに含まれる前記ライセンス識別情報と前記登録手段により登録された前記ライセンス識別情報とが一致すると判定した場合に、前記ライセンスの再認証の処理を行う処理手段を、更に、有することを特徴とする請求項１乃至３の何れか１項に記載のライセンス管理システム。
【請求項５】
前記処理手段は、前記ライセンスの再認証の処理として、前記比較手段が一致しないと判定した前記登録手段により登録された前記端末識別情報を前記端末装置に送信することを特徴とする請求項４に記載のライセンス管理システム。
【請求項６】
端末装置のソフトウェアのライセンスを管理するためのサーバ装置であって、
ライセンスの認証のために前記端末装置から受信した、ソフトウェアを識別するためのライセンス識別情報と、前記端末装置における機器情報と、前記端末装置を識別するための端末識別情報とを関連付けて登録する登録手段と、
前記登録したライセンス識別情報で識別される前記ソフトウェアのライセンスを前記端末装置に対して送信する送信手段と、
前記端末装置からのライセンスの再認証又は返却のための問合せに含まれる端末識別情報及び機器情報と、前記登録手段により登録された前記端末識別情報及び前記機器情報とを比較する比較手段と、
を有し、
前記端末装置からの前記問合せには、前記端末装置が生成した仮想化ソフトウェアで作成された仮想端末装置を識別するための端末識別情報が含まれることを特徴とするサーバ装置。
【請求項７】
前記ライセンスの再認証のため、前記問合せには、仮想化ソフトウェアで作成された仮想端末装置であることを示す仮想フラグ情報が含まれることを特徴とする請求項６に記載のサーバ装置。
【請求項８】
前記比較手段が、前記問合せに含まれる端末識別情報と前記登録手段により登録された前記端末識別情報とが一致し、更に、前記問合せに含まれる機器情報と前記登録手段により登録された前記機器情報とが一致すると判定した場合に、前記ライセンスの返却の処理として、前記問合せに含まれるライセンス識別情報に関連付けて前記登録手段により登録された情報を削除する削除手段を、更に、有することを特徴とする請求項６又は７に記載のサーバ装置。
【請求項９】
前記比較手段が、前記問合せに含まれる端末識別情報と前記登録手段により登録された前記端末識別情報とが一致せず、前記問合せに含まれる機器情報と前記登録手段により登録された前記機器情報とが一致し、更に、前記問合せに含まれるライセンス識別情報と前記登録手段により登録された前記ライセンス識別情報とが一致すると判定した場合に、前記ライセンスの再認証の処理を行う処理手段を、更に、有することを特徴とする請求項６乃至８の何れか１項に記載のサーバ装置。
【請求項１０】
前記処理手段は、前記ライセンスの再認証の処理として、前記比較手段が一致しないと判定した前記登録手段により登録された前記端末識別情報を前記端末装置に送信することを特徴とする請求項９に記載のサーバ装置。
【請求項１１】
端末装置のソフトウェアのライセンスを管理するためのサーバ装置の処理方法であって、
ライセンスの認証のために前記端末装置から受信した、ソフトウェアを識別するためのライセンス識別情報と、前記端末装置における機器情報と、前記端末装置を識別するための端末識別情報とを関連付けて登録する登録工程と、
前記登録したライセンス識別情報で識別される前記ソフトウェアのライセンスを前記端末装置に対して送信する送信工程と、
前記端末装置からのライセンスの再認証又は返却のための問合せに含まれる端末識別情報及び機器情報と、前記登録工程において登録された前記端末識別情報及び前記機器情報とを比較する比較工程と、
を有し、
前記端末装置からの前記問合せには、前記端末装置が生成した仮想化ソフトウェアで作成された仮想端末装置を識別するための端末識別情報が含まれることを特徴とするサーバ装置の処理方法。
【請求項１２】
ソフトウェアのライセンスを管理するためのサーバ装置とネットワークを介して接続される端末装置であって、
前記端末装置を識別するための端末識別情報を生成する生成手段と、
新規のライセンスの認証のために、ソフトウェアを識別するためのライセンス識別情報と、前記端末装置における機器情報と、前記生成手段により生成された端末識別情報とを、前記サーバ装置に対して送信する送信手段と、
前記サーバ装置から送信されてきたライセンスを用いて、前記ソフトウェアを起動する起動手段と、
前記ライセンスの再認証又は返却のために、ライセンス識別情報と、前記端末装置における機器情報と、前記生成手段により生成された端末識別情報とを含む問合せを、前記サーバ装置に対して送信する問合せ手段と、
を有し、
前記問合せ手段は、前記生成手段が生成した仮想化ソフトウェアで作成された仮想端末装置を識別するための端末識別情報を問合せに含めることを特徴とする端末装置。
【請求項１３】
前記ライセンスの再認証のために、前記問合せ手段が仮想端末装置であることを示す仮想フラグ情報を前記サーバ装置に送信することを特徴とする請求項１２に記載の端末装置。
【請求項１４】
前記問合せ手段による問合せの応答として、前記サーバ装置から、ライセンスの再認証の結果として前記サーバ装置で管理されていた端末識別情報を受信する受信手段を、更に有し、
前記問合せ手段は、その後の問合せを行う際には、前記受信手段により受信された端末識別情報を利用することを特徴とする請求項１２又は１３に記載の端末装置。
【請求項１５】
ソフトウェアのライセンスを管理するためのサーバ装置とネットワークを介して接続される端末装置の処理方法であって、
前記端末装置を識別するための端末識別情報を生成する生成工程と、
新規のライセンスの認証のために、ソフトウェアを識別するためのライセンス識別情報と、前記端末装置における機器情報と、前記生成された端末識別情報とを、前記サーバ装置に対して送信する送信工程と、
前記サーバ装置から送信されてきたライセンスを用いて、前記ソフトウェアを起動する起動工程と、
前記ライセンスの再認証又は返却のために、ライセンス識別情報と、前記端末装置における機器情報と、前記生成された端末識別情報とを含む問合せを、前記サーバ装置に対して送信する問合せ工程と、
を有し、
前記問合せ工程での前記問合せには、前記生成工程で生成された仮想化ソフトウェアで作成された仮想端末装置を識別するための端末識別情報が含まれることを特徴とする端末装置の処理方法。
【請求項１６】
請求項１２乃至１４のいずれか１項に記載の手段としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、端末装置とサーバ装置とがネットワークを介して接続され、前記サーバ装置が前記端末装置のソフトウェアのライセンスを管理するライセンス管理システム、サーバ装置、端末装置及びそれらの処理方法に関するものである。
【背景技術】
【０００２】
ソフトウェアベンダーは、ユーザが要望するソフトウェアを販売する際に、そのソフトウェアの使用を許諾するライセンスをユーザに発行する。ここでライセンスは、英数字を組み合わせたライセンスアクセス番号として、ソフトウェアと共にユーザに配布される。このライセンスアクセス番号（ＬＡ＃）とは、ソフトウェアのパッケージに一意に付された番号であり、ライセンスサーバにライセンス情報の発行を要求する際に必要となる番号である。ライセンス取得を目的としたアクセスに必要な情報であれば良い。例えば、文字や記号を含むコードでも良く、その場合、ライセンスアクセスコード又はライセンスアクセスキーと称しても良い。
【０００３】
このライセンスアクセス番号は、ライセンスを所有しているユーザ（購入者）が第三者にライセンスアクセス番号情報を開示してしまうと、第三者が自由に当該ソフトウェアを使用することが可能であった。つまり、ソフトウェアを実行するパーソナルコンピュータなどの定められた機器に対する認証を行わないと、任意の機器において、ライセンスキーによりソフトウェアを実行可能とすることが可能であった。その結果、正当なユーザ以外の者がソフトウェアを使用できる不正コピーが可能になってしまう。
【０００４】
それを防止するために、ネットワークを介してクライアント端末装置とサーバ装置との間で通信を行うネットワークシステムが知られている。ここで、クライアント端末装置とは、端末装置の一形態を表すものであり、以下の説明ではこれらは同等のものを示す。
【０００５】
ここで、サーバ装置は、クライアント端末装置からライセンスアクセス番号と機器情報と紐付けられた端末識別情報とを受信する。受信した端末識別情報と、記憶している端末識別情報とが符合するか否かを判定し、判定の結果をクライアント端末装置に送信する。端末装置は、記憶しているソフトウェアを初回に起動する際に、機器情報から端末識別情報を生成し、ライセンスアクセス番号と共にサーバ装置に送信する。そして、送信した端末識別情報に応じて、ソフトウェアを利用可能か否かを判定するライセンス情報をサーバ装置から受信する。このとき送信した端末識別情報をローカルディスクに保存する。ソフトウェアを２回目以降に起動する場合、クライアント端末装置の機器情報を取得し、初回起動時と同様の方法で、この機器情報から端末識別情報を生成する。この端末識別情報とローカルディスクに記憶しておいた初回起動時の端末識別情報を照合し、両者が符合する場合はソフトウェアを起動し、符合しない場合は起動しない。
【０００６】
このシステムを利用することで、ライセンスアクセス番号があるクライアント端末装置で認証された場合に、そのクライアント端末装置以外でソフトウェアを不正にコピーして使用するのを防止することが可能となる。例えば、特許文献１、２参照。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特許第３８３３６５２号公報
【特許文献２】特開２００４−４６７０８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
上記従来技術では、この端末識別情報を特定の機器情報を元に生成することが考えられていた。ここで、機器情報の一例として、クライアント端末装置に接続されているハードディスクドライブ（ＨＤＤ）のＩＤ情報（ＨＤＤＩＤ）が利用されている。しかしながら、その場合、以下のような課題があった。
（１）端末識別情報の一意性
基本的に、このＨＤＤのＩＤ情報は、基本的に一意に割り振られているものであるが、同一の仮想ソフトを使用した場合、このＨＤＤのＩＤ情報が、一意にならないという現象が知られている。物理的に異なるパーソナルコンピュータ（ＰＣ）の間において、同一の仮想化ソフトが使用されているとする。仮想化ソフトは、仮想ハードディスクを含む仮想ハードウェアを作り、仮想ＰＣを導入することが可能である。また、これらの仮想ＰＣにおいて、ソフトウェアをインストールすることが可能である。この状態で、ＨＤＤＩＤを取得すると、重複した値となる。そのため、このＨＤＤＩＤから生成される端末識別情報が重複する場合が生じる。この端末識別情報が重複すると、ある一つの権利しか持たないライセンスアクセス番号を複数の仮想ＰＣ上で使用することが可能となる。
【０００９】
また、この端末識別情報をキーとしてユーザ情報を管理することが知られている。そのため、この端末識別情報が一意に生成されないと、管理上問題となる。よって、端末識別情報の一意性が要求される。
（２）端末識別情報の復元性
ハードディスクドライブの破損などの理由により、交換が必要となることがある。その場合、交換後のＨＤＤのＩＤは変更され、交換の前後で端末識別情報は必ず異なることになる。その結果、ライセンスの再認証を行う場合、最初に生成したときにサーバ装置に送信された端末識別情報と異なる端末識別情報を送信することになり、再認証に失敗する。このように、一旦ある端末識別情報で認証を行った後に、再認証を行う場合、最初の認証時の端末識別情報が必要なる。
【００１０】
ユーザの利便性を配慮すると、多少のハードウェアの交換可能なシステムであること、つまり、何らかの理由により端末識別情報を失効した際に、その端末識別情報を復元することが要求される。
（３）ハードウェア情報取得の失敗
このＨＤＤのＩＤ情報の取得が、ＨＤＤのドライバの仕様により、失敗する場合がある。取得に失敗した場合、何らかの別の方法により、端末識別情報を生成する必要がある。よって、端末識別情報の安定した生成方法が要求される。ここでは、ＨＤＤのＩＤの例で示したが、一般的にＨＤＤ以外のハードウェア情報において、ＰＣの種類、年式に拠らず、必ずその情報が取れるという保証はない。
（４）端末識別情報生成の安定性
また、複数台のハードディスクを組み合わせることで仮想的な１台のハードディスクとして運用するＲＡＩＤ環境の場合、やはりＨＤＤのドライバの仕様により、あるトリガで、例えば端末の再起動などＨＤＤのＩＤが変化することがある。このＨＤＤのＩＤが安定しないと、二回目以降のソフトウェアの起動の失敗の原因となる。よって、ハードウェア情報の取得の安定性が要求される。
【００１１】
本発明は、端末識別情報がライセンス認証時の端末識別情報と不一致の場合にも、ライセンスの再認証を行えるライセンス管理システム、サーバ装置、端末装置及びそれらの処理方法を提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明は、端末装置とサーバ装置とがネットワークを介して接続され、前記サーバ装置が前記端末装置のソフトウェアのライセンスを管理するライセンス管理システムであって、
前記端末装置は、
前記端末装置を識別するための端末識別情報を生成する生成手段と、
新規のライセンスの認証のために、ソフトウェアを識別するためのライセンス識別情報と、前記端末装置における機器情報と、前記生成手段により生成された端末識別情報とを、前記サーバ装置に対して送信する第１送信手段と、
前記サーバ装置から送信されてきたライセンスを用いて、前記ソフトウェアを起動する起動手段と、
前記ライセンスの再認証又は返却のために、ライセンス識別情報と、前記端末装置における機器情報と、前記生成手段により生成された端末識別情報とを含む問合せを、前記サーバ装置に対して送信する問合せ手段と、を有し、
前記サーバ装置は、
ライセンスの認証のために、前記端末装置から送信されてきたライセンス識別情報と、機器情報と、端末識別情報とを関連付けて登録する登録手段と、
前記登録したライセンス識別情報で識別される前記ソフトウェアのライセンスを前記端末装置に対して送信する第２送信手段と、
前記問合せに含まれる前記端末識別情報及び前記機器情報と、前記登録手段により登録された前記端末識別情報及び前記機器情報とを比較する比較手段と、を有し、
前記問合せ手段は、前記生成手段が生成した仮想化ソフトウェアで作成された仮想端末装置を識別するための端末識別情報を問合せに含めることを特徴とする。
あるいは他の側面によれば、本発明は、端末装置のソフトウェアのライセンスを管理するためのサーバ装置であって、
ライセンスの認証のために前記端末装置から受信した、ソフトウェアを識別するためのライセンス識別情報と、前記端末装置における機器情報と、前記端末装置を識別するための端末識別情報とを関連付けて登録する登録手段と、
前記登録したライセンス識別情報で識別される前記ソフトウェアのライセンスを前記端末装置に対して送信する送信手段と、
前記端末装置からのライセンスの再認証又は返却のための問合せに含まれる端末識別情報及び機器情報と、前記登録手段により登録された前記端末識別情報及び前記機器情報とを比較する比較手段と、
を有し、
前記端末装置からの前記問合せには、前記端末装置が生成した仮想化ソフトウェアで作成された仮想端末装置を識別するための端末識別情報が含まれることを特徴とする。
あるいは他の側面によれば、本発明は、ソフトウェアのライセンスを管理するためのサーバ装置とネットワークを介して接続される端末装置であって、
前記端末装置を識別するための端末識別情報を生成する生成手段と、
新規のライセンスの認証のために、ソフトウェアを識別するためのライセンス識別情報と、前記端末装置における機器情報と、前記生成手段により生成された端末識別情報とを、前記サーバ装置に対して送信する送信手段と、
前記サーバ装置から送信されてきたライセンスを用いて、前記ソフトウェアを起動する起動手段と、
前記ライセンスの再認証又は返却のために、ライセンス識別情報と、前記端末装置における機器情報と、前記生成手段により生成された端末識別情報とを含む問合せを、前記サーバ装置に対して送信する問合せ手段と、
を有し、
前記問合せ手段は、前記生成手段が生成した仮想化ソフトウェアで作成された仮想端末装置を識別するための端末識別情報を問合せに含めることを特徴とする。
【発明の効果】
【００１３】
本発明によれば、端末識別情報がライセンス認証時の端末識別情報と不一致の場合にも、端末装置における複数の機器情報を利用することにより、ライセンスの再認証を行え、安定したライセンスの管理を行うことが可能となる。
【図面の簡単な説明】
【００１４】
【図１】第１の実施形態におけるソフトウェアライセンス管理システム１００のネットワーク構成を示す図。
【図２】（Ａ）はライセンスサーバに記憶されている機器情報データベースの論理的な構成を示す図、（Ｂ）はライセンスアクセス番号（ＬＡ＃）と端末識別情報（ＰＣＩＤ）からなるソフトウェア情報データベースを示す図、（Ｃ）は機器情報を示す図。
【図３】クライアント端末装置で記憶されている情報やプログラムを模式的に示す図。
【図４】不正コピーに係るソフトウェアの起動防止機能を説明するための図。
【図５】クライアント端末装置のハードウェア的な構成の一例を示す図。
【図６】ライセンスサーバのハードウェア的な構成の一例を示す図。
【図７】クライアント端末装置の識別判定処理を示すフローチャート。
【図８】クライアント端末装置のライセンス認証を示すフローチャート。
【図９】ライセンスサーバの認証処理を示すフローチャート。
【図１０】認証済みのライセンスを返却する処理を示すフローチャート。
【図１１】ライセンス返却処理を示すフローチャート。
【図１２】第２の実施形態におけるライセンス管理を説明するための図。
【図１３】第３の実施形態におけるライセンス管理を説明するための図。
【図１４】第３の実施形態における固体識別判定処理を示すフローチャート。
【図１５】第３の実施形態におけるライセンス認証処理を示すフローチャート。
【発明を実施するための形態】
【００１５】
以下、図面を参照しながら発明を実施するための形態について詳細に説明する。
【００１６】
［第１の実施形態］
図１は、第１の実施形態におけるソフトウェアライセンス管理システム１００のネットワーク構成を示す図である。このライセンス管理システム１００は、サーバ装置の一形態であるライセンスサーバ１０３と、複数のクライアント端末装置１０２、１０２、…とを有する。また、クライアント端末装置１０２を、特に区別しない場合、単にクライアント端末装置１０２と記す。ここで、クライアント端末装置１０２は、例えばインターネット１０１に接続可能なパーソナルコンピュータなどで構成される端末装置である。
【００１７】
ライセンスサーバ１０３、クライアント端末装置１０２は、例えばＴＣＰ／ＩＰなどの所定のプロトコルを用いることにより、インターネット１０１を介してファイルの送受信などの通信を行うことができる。ＴＣＰはTransmission Control Protocolの略であり、ＩＰはInternet Protocolの略である。
【００１８】
クライアント端末装置１０２は、ソフトウェアの初回起動時に、端末識別情報（ＰＣＩＤ）として、ほぼ世界で一意な識別子として保証されているＧＵＩＤに基づいたランダムな値を生成する。この端末識別情報と、後述する複数のハードウェア情報及びライセンスアクセス番号（ＬＡ＃）をライセンスサーバ１０３に送信することで、ライセンスを取得することが可能となる。
【００１９】
ライセンスアクセス番号（ＬＡ＃）とは、ソフトウェアのパッケージに一意に付された番号であり、ライセンスサーバ１０３にライセンス情報の発行を要求する際に必要となる番号である。ライセンス取得を目的としたアクセスに必要な情報であれば良い。例えば、文字や記号を含むコードでも良く、その場合、ライセンスアクセスコード又はライセンスアクセスキーと称しても良い。
【００２０】
ライセンスサーバ１０３は、クライアント端末装置１０２にライセンス発行可能か否かを後述する判定方法によって判定する。また、新規のライセンス発行の問合せの場合は、問合せてきたクライアント端末装置１０２が正規な新規のクライアント端末装置１０２であることを判断の上、クライアント端末装置１０２へライセンス情報の発行を行う。また、既に発行されたライセンス情報の再発行の問合せの場合は、問合せてきたクライアント端末装置１０２が以前と同一のクライアント端末装置１０２であると判断した場合、そのクライアント端末装置１０２へ以前のライセンス情報の再発行を行う。
【００２１】
ライセンス情報を取得したソフトウェアを２回目以降起動する場合、クライアント端末装置１０２は制御プログラムに従ってクライアント端末装置１０２の機器情報を取得し、これとローカルディスクに記憶した認証用機器情報を照合する。そして、両者が符合する場合はソフトウェアを起動し、符合しない場合は起動しない。
【００２２】
このように、初回起動時に取得したライセンス情報と２回目以降ソフトウェア起動時のクライアント端末装置１０２の機器情報が一致する場合にのみソフトウェアを起動する。これにより、ライセンス情報取得時にクライアント端末装置１０２からコピーしたソフトウェアを他のクライアント端末装置で起動することを防止できる。
【００２３】
ライセンスサーバ１０３は、クライアント端末装置１０２毎に割り振られた端末識別情報、固有な複数の機器情報、当該クライアント端末装置１０２から送信されたライセンスアクセス番号を紐付けて記憶している。
【００２４】
図２に示す（Ａ）は、ライセンスサーバ１０３に記憶されている機器情報データベースの論理的な構成を示す図である。機器情報データベースは、端末識別情報（ＰＣＩＤ）とこれに対応する複数の認証用機器情報（ＨＷＩＤ）からなるデータベースである。第１の実施形態では、認証用機器情報として３つのハードウェア情報を想定している。
【００２５】
一方、図２に示す（Ｂ）は、ライセンスアクセス番号（ＬＡ＃）と端末識別情報（ＰＣＩＤ）からなるソフトウェア情報データベースである。ソフトウェア情報データベースには、ライセンスアクセス番号（ＬＡ＃）毎にユーザが今までライセンスサーバ１０３からライセンス認証されたソフトウェアの情報が記録されている。これはユーザがライセンスサーバ１０３からソフトウェアのライセンス認証を行う際に、ライセンスサーバ１０３が当該ソフトウェアをライセンスサーバ１０３が記憶したものである。
【００２６】
ライセンスサーバ１０３は、ソフトウェア情報データベースを参照することにより、どのライセンスアクセス番号がどのクライアント端末装置１０２で認証されたかを知ることができる。また、ソフトウェア情報データベースには、ライセンスアクセス番号と、受信したクライアント端末装置を識別する端末識別情報を含む端末情報とが記憶されている。図２に示す（Ｂ）のように、異なるライセンスアクセス番号（ＬＡ１、ＬＡ２）に対して同一のＰＣＩＤ１が割り振られているのは、同じクライアント端末装置から二つの異なるソフトウェアが認証されたことを示す。
【００２７】
後述する機器情報としてのハードウェア情報は、クライアント端末装置１０２に特有なものであれば用いることができるが、第１の実施形態では、図２に示す（Ｃ）のように、３つのハードウェア情報を用いる。
【００２８】
クライアント端末装置１０２などのコンピュータでは、ローカルディスクなどの部品を交換することが日常的に行われている。そのため、交換され易い部品の情報を機器情報として用いると、その部品が交換された場合、クライアント端末装置１０２を認証することができなくなる。よって、クライアント端末装置１０２で重要性が高く、かつ、交換されにくい部品であることが望まれる。具体的には、ＣＰＵのシリアル番号を用いて機器情報としている。また、ＣＰＵのシリアル番号の他にＢＩＯＳ（Basic Input/Output System）に記憶されている製品番号を用いても良い。
【００２９】
ライセンスアクセス番号は、購入時に購入者に開示される。これ以降、ユーザは自分に付与されたライセンスアクセス番号を用いてアプリケーションソフトウェアのライセンス認証などをインターネット１０１を介して行う。
【００３０】
図３は、クライアント端末装置１０２で記憶されている情報やプログラムなどを模式的に示す図である。図３に示すように、クライアント端末装置１０２は、機器情報３００、ソフトウェア３０５、制御プログラム３０６、端末識別情報生成プログラム３１１、ライセンス情報３０７などを保持している。ここで、ライセンス情報３０７は、ソフトウェア３０５のライセンスが認証されたときにクライアント端末装置１０２に書き込まれる情報である。第１の実施形態のライセンス情報３０７には端末識別情報（ＰＣＩＤ）３０８、認証用機器情報（ＨＷＩＤ）３０９、認証ライセンスアクセス番号３１０が含まれる。
【００３１】
また、図３に示すように、ソフトウェア３０５、制御プログラム３０６、端末識別情報生成プログラム３１１、ライセンス情報３０７は、ローカルディスク３０４に記憶されている。尚、ＰＣＩＤバックアップファイル３１３とライセンス情報３０７に含まれる仮想フラグ情報３１２については第３の実施形態で使用されるものである。
【００３２】
一方、機器情報３００は、ＣＰＵ、ハードディスク、ネットワークアダプタなどに書き込まれている情報である。機器情報３００のうちハードディスクＩＤ３０１はハードディスクが製造された際に、ハードディスクの製造メーカによってハードディスクに一意的に付与された値である。ＣＰＵのシリアルＩＤ３０２はＣＰＵが製造された際に、ＣＰＵの製造メーカによってＣＰＵに一意的に付与された値である。また、ＭＡＣアドレス３０３はネットワークインタフェースカードのシリアル情報である。
【００３３】
第１の実施形態では、上述の３つの機器情報としたが、例えばＭＡＣアドレスは、最近のＰＣにおいては、有線、無線用などで２つ以上値を取得できる可能性が高いので、複数使用することも可能である。また、これ以外にもシステムを特定するためのユニーク情報であるSystem UUIDや、BIOSのシリアル情報であるBIOS Serial、マザーボードのシリアル情報であるBoard Serialなどの利用も考えられる。
【００３４】
ソフトウェア３０５と、制御プログラム３０６は、ユーザがソフトウェア３０５をインストールした際に、ローカルディスク３０４に記憶されたものである。また、ライセンス情報３０７は、ライセンスサーバ１０３がソフトウェア３０５の初回起動時に正常に認証できた場合、制御プログラム３０６によってローカルディスク３０４に記憶される。第１の実施形態のライセンス情報３０７には、端末識別情報３０８、認証用機器情報３０９、認証ライセンスアクセス番号３１０が含まれる。
【００３５】
端末識別情報３０８は、ソフトウェア起動時に、端末識別情報生成プログラム３１１によってランダムに生成され、世界で一意的に付与された値である。認証用機器情報３０９は、クライアント端末装置１０２がソフトウェア３０５のライセンス情報を取得した際に（即ち、ソフトウェア３０５の初回起動時に）、制御プログラム３０６が機器情報３００を読み出してローカルディスク３０４に記憶したものである。
【００３６】
尚、ソフトウェア３０５は２回目以降に起動される場合、認証用機器情報３０９と機器情報３００とが比較され、両者が一致する場合にのみ起動される。ここで、一致の判断は、複数の機器情報（ハードウェア情報）３００のうち、例えば半数以上が一致していれば、一致とみなす。つまり、第１の実施形態のように３つのハードウェア情報をもっている場合は、２つ以上が一致しているときに、一致したとみなす。これにより、大幅なハードウェアの構成の変更でない限り、認証に対して許容することが可能である。
【００３７】
また、この判断の基準は保持するハードウェア情報の数、またハードウェア情報の種類に拠って変更しても良く、特に規定するものではない。
【００３８】
図４は、不正コピーに係るソフトウェア３０５の起動防止機能を説明するための概念図である。クライアント端末装置Ａ４００は、ソフトウェア３０５を適正にインストールした後に認証されたクライアント端末装置である。一方、クライアント端末装置Ｂ４０１はクライアント端末装置Ａ４００のソフトウェア３０５をコピーしたクライアント端末装置である。
【００３９】
クライアント端末装置Ａ４００のローカルディスク３０４に記憶されている認証用機器情報３０９は、クライアント端末装置Ａ４００の機器情報３００と同一である。そのため、認証用機器情報３０９と機器情報３００との同一性が確認され、ソフトウェア３０５を起動することができる。
【００４０】
一方、クライアント端末装置Ｂ４０１のローカルディスク３０４は、クライアント端末装置Ａ４００のローカルディスク３０４をイメージコピーしたものである。即ち、クライアント端末装置Ａ４００とクライアント端末装置Ｂ４０１とで、双方のローカルディスク３０４に記憶されているデータは、全く同一である。ところが、クライアント端末装置Ｂ４０１の機器情報３００の情報は、コピーされて記憶されている認証用機器情報３０９と異なる。そのため、ユーザがクライアント端末装置Ｂ４０１でソフトウェア３０５を起動しようとしても、認証用機器情報３０９と機器情報３００とが異なるため、ソフトウェア３０５を起動することができない。
【００４１】
このように、クライアント端末装置１０２は、ローカルディスク３０４上の認証用機器情報３０９とクライアント端末装置１０２に固有な機器情報３００を照合する。そのため、図４に示すように、たとえクライアント端末装置Ａ４００のローカルディスク３０４をそのままクライアント端末装置Ｂ４０１に取り付けても、クライアント端末装置Ｂ４０１ではソフトウェア３０５を起動することができない。
【００４２】
更に、単にソフトウェア３０５を他のコンピュータにコピーした場合、そのコピー先のコンピュータのローカルディスク３０４には認証用機器情報３０９がもともと存在しないため、コピーしたソフトウェア３０５を起動することができない。
【００４３】
また、認証用機器情報３０９がソフトウェア３０５と同じディレクトリ内に記憶され、ディレクトリ毎、他のコンピュータにコピーされた場合は、認証用機器情報３０９も他のコンピュータにコピーされる。しかし、他のコンピュータの機器情報とコピーされた機器情報が異なるため、そのコピー先のコンピュータでソフトウェア３０５を起動することはできない。
【００４４】
図５は、クライアント端末装置１０２のハードウェア的な構成の一例を示す図である。クライアント端末装置１０２は、例えばデスクトップ型パーソナルコンピュータ、携帯型パーソナルコンピュータなどの端末装置で構成されている。クライアント端末装置１０２の制御部５００には、入力部５０４、出力部５０５、通信制御部５０６、記憶部５０８、記憶媒体駆動部５０９、入出力インターフェース（Ｉ／Ｆ）５１０がバスライン５０７を介して接続される。このバスライン５０７は、制御部５００とその他の構成要素との間のデータ信号、制御信号などの送受信を媒介する。
【００４５】
制御部５００は、ＣＰＵ５０１、ＲＯＭ５０２、ＲＡＭ５０３、不図示の周辺回路から構成される。ＣＰＵ５０１は、所定のプログラムに従って、各種の演算、情報処理、及びクライアント端末装置１０２全体の制御などを行う。
【００４６】
第１の実施形態では、ＣＰＵ５０１は、制御プログラム３０６を起動し、ソフトウェア３０５の初回起動時のライセンス情報の取得、ソフトウェア３０５の２回目以降の起動時の認証、ソフトウェア３０５の実行などを行う。ＲＯＭ５０２は、ＣＰＵ５０１が各種演算や制御を行うための各種プログラム、データやパラメータなどを格納した読み込み専用の記憶装置である。ＣＰＵ５０１は、ＲＯＭ５０２からプログラムやデータ、パラメータなどを読み込むことはできるが、これらを書き換えたり消去することはできない。
【００４７】
ＲＡＭ５０３は、ＣＰＵ５０１にワーキングメモリとして使用されるランダムアクセス可能な記憶装置である。ＣＰＵ５０１は、ＲＡＭ５０３にプログラムやデータなどを書き込んだり消去したりすることができる。第１の実施形態では、ＲＡＭ５０３には、ＣＰＵ５０１がライセンス情報の取得やソフトウェア３０５の起動などを行うための領域が確保可能となっている。
【００４８】
入力部５０４は、例えばキーボードやマウスなどの入力装置から構成されている。キーボードは、クライアント端末装置１０２に対して文字や数字などの情報を入力するための装置であり、カナや英文字などを入力するためのキーや数字を入力するためのテンキー、各種機能キー、カーソルキー及びその他のキーによって構成されている。
【００４９】
キーボードは、例えばユーザがライセンスサーバ１０３に送信するライセンスアクセス番号をクライアント端末装置１０２に入力したりなどすることができる。マウスは、ポインティングデバイスである。ＧＵＩ（Graphical User Interface）などを用いてクライアント端末装置１０２を操作する場合、表示装置上に表示されたボタンやアイコンなどをマウスでクリックすることにより、所定の情報の入力を行うことができる。例えば、ソフトウェア３０５のインストール後にソフトウェア３０５を表すアイコンを表示装置上に表示し、そのアイコンをマウスでクリックするなどしてソフトウェア３０５を起動するように構成することもできる。
【００５０】
出力部５０５は、例えば表示装置、印刷装置などの出力装置から構成されている。表示装置は、例えばＣＲＴ、液晶ディスプレイ、プラズマディスプレイなどで構成され、情報を画面上に提示するための装置である。表示装置は、キーボードやマウスの入力結果や、ソフトウェア３０５が提供する画面（ユーザインターフェース）などを表示することができる。
【００５１】
印刷装置は、例えばインクジェットプリンタ、レーザプリンタ、熱転写プリンタ、ドットプリンタなどの各種プリンタによって構成されている。印刷装置は、出力結果（文書や画像など）を紙などの印刷媒体に印刷することができる。
【００５２】
通信制御部５０６は、インターネット１０１を介してクライアント端末装置１０２を各種サーバ装置（Ｗｅｂサーバ、メールサーバ、…など）に接続するための制御部であり、例えばモデム、ターミナルアダプタその他の装置によって構成されている。
【００５３】
インターネット１０１を介した通信には、例えばＴＣＰ／ＩＰ（Transmission Control Protocol/Internet Protocol）やその他のプロトコルが用いられる。通信制御部５０６は、クライアント端末装置１０２とライセンスサーバ１０３との通信を確立・維持し、ソフトウェア３０５のライセンス情報の受信などを行う。
【００５４】
記憶部５０８は、読み書き可能な記憶媒体と、その記憶媒体に対してプログラムやデータを読み書きするための駆動装置によって構成されている。記憶媒体として、主にハードディスクが使用されるが、例えば光磁気ディスク、磁気ディスク、半導体メモリなど他の読み書き可能な記憶媒体によって構成することも可能である。第１の実施形態では、記憶部５０８はハードディスクから構成されたローカルディスク３０４とする。
【００５５】
記憶部５０８には、上述した機器識別情報３０８と認証用機器情報３０９とを含むライセンス情報３０７、ソフトウェア３０５、制御プログラム３０６が記憶されている。また、仮名を漢字に変換するための漢字仮名変換ソフト、ライセンスサーバ１０３やその他のサーバ装置が送信してきたＷｅｂページを出力部５０５に表示するためのブラウザソフトなども記憶されている。更に、通信制御部５０６を制御し、インターネット１０１を介した通信を維持する通信プログラムやメモリ管理やファイル入出力管理などのクライアント端末装置１０２を動作させるための基本ソフトウェア（ＯＳ）なども記憶されている。
【００５６】
記憶媒体駆動部５０９は、着脱可能な記憶媒体を駆動してデータの読み書きを行うための駆動装置である。着脱可能な記憶媒体としては、例えば光磁気ディスク、磁気ディスク、磁気テープ、半導体メモリ、データをパンチした紙テープ、ＣＤ−ＲＯＭなどがある。尚、ＣＤ−ＲＯＭや紙テープは、読み込みのみ可能である。
【００５７】
入出力インターフェース５１０は、例えばシリアルインターフェースやその他の規格のインターフェースにより構成されている。入出力インターフェース５１０に当該インターフェースに対応した外部機器を接続することにより、クライアント端末装置１０２の機能を拡張することができる。このような外部機器として、例えばハードディスクなどの記憶装置、スピーカ、マイクロフォンなどがある。
【００５８】
図６は、ライセンスサーバ１０３のハードウェア的な構成の一例を示す図である。尚、制御部６０１、入力部６０７、出力部６０８、通信制御部６０９、記憶媒体駆動部６１０は図５に示す制御部５００、入力部５０４、出力部５０５、記憶媒体駆動部５０９と同様な機能を有するもので、説明は省略する。
【００５９】
記憶部６０５は、例えば大容量のハードディスクなどで構成された読み書き可能な記憶媒体であり、プログラム格納部６０６などが設けられている。プログラム格納部６０６には、ＯＳ６１２、ライセンス認証プログラム６１３、その他のプログラムが格納されている。このライセンス認証プログラム６１３は、ライセンスの発行を認証するための機能をＣＰＵ６０２に発揮させるためのプログラムである。
【００６０】
ＣＰＵ６０２は、ライセンス認証プログラム６１３を起動し、クライアント端末装置１０２から送信されてきた端末識別情報、機器情報、ライセンスアクセス番号をライセンスサーバ１０３に記憶されているデータベースと照合する。そして、ＣＰＵ６０２は、クライアント端末装置１０２の端末識別情報を判定し、ライセンス認証の可否を判断し、その結果をクライアント端末装置１０２に送信する。
【００６１】
通信制御部６０９は、インターネット１０１を介してクライアント端末装置１０２やその他の端末、サーバ装置などと通信するための機能部である。通信制御部６０９は、端末情報受信、クライアント端末装置１０２にライセンス発行許可情報を送信するライセンス情報発行などの機能を有する。
【００６２】
ライセンスサーバ１０３のデータベースは、クライアント端末装置１０２から端末識別情報、機器情報、ライセンスアクセス番号、の照合依頼を受けて、これを照合する。この機能は、ライセンスサーバ１０３のＣＰＵ６０２が照合プログラムに従って動作することにより発揮される機能である。
【００６３】
第１の実施形態では、ライセンスサーバ１０３がクライアント端末装置１０２からライセンスアクセス番号、機器情報を取得し、これらを認証するが、ライセンスサーバ１０３とは別のデータベースサーバが認証を行うように構成しても良い。
【００６４】
図７は、ライセンスサーバ１０３におけるクライアント端末装置１０２の個体識別判定処理を示すフローチャートである。この個体識別判定処理は、例えば以下のような状況で使用される。
１．新規にライセンスの認証を行う時
２．既に認証されたライセンスの再認証を行う時
３．既に認証されたライセンスをライセンスサーバに返却する時
まず、固体識別判定処理として、上記１の新規ライセンス認証時に、特定のライセンスアクセス番号（ＬＡ１）を使用して新規にライセンスの認証を行う場合を例に説明する。Ｓ７０１の問合せ開始において、ライセンスサーバ１０３がクライアント端末装置１０２から端末識別情報（ＰＣＩＤ１）、機器情報（ＨＷＩＤ１）、ライセンスアクセス番号（ＬＡ１）を受信する。そして、ライセンスサーバ１０３のＣＰＵ６０２がこのＰＣＩＤ１をソフトウェア情報データベースから探索し、一致する端末識別情報が見つからなければ、Ｓ７０２でＣＰＵ６０２は新規と判定してＳ７０６へ処理を進める。このＳ７０６では、ＨＷＩＤ１を機器情報データベースから探索し、新規であれば、機器情報データベースにＨＷＩＤ１が見つかることはないので、ＣＰＵ６０２はＳ７０８へ処理を進める。このＳ７０８では、ＣＰＵ６０２は新規クライアント端末装置からの問合せであると判断し、新規にライセンスを発行する。これと同時に、ＣＰＵ６０２は機器情報データベース及びソフトウェア情報データベースにＰＣＩＤ１、ＨＷＩＤ１、ＬＡ１を登録する。
【００６５】
次に、上記２のライセンス再認証時における固体識別判定処理を説明する。ここでは、クライアント端末装置１０２のハードディスクが破損し、交換する場合を例に説明する。ハードディスクが交換されると、ソフトウェア３０５の再インストールを行い、既に認証されたライセンス情報は失われる。ハードディスク交換後、ソフトウェア初回起動時は、ＰＣＩＤがランダム生成により作成されるが、これは以前ライセンス認証を行ったときのＰＣＩＤ１とは異なり、ＰＣＩＤ１’となる。また、ハードウェア情報のハードディスク情報もＨＷＩＤ１とは異なり、ＨＷＩＤ１’となるが、ハードディスクのみの交換なので、一致条件として、例えば半数以上か否かの基準で考えれば、ＨＷＩＤ１’とＨＷＩＤ１は一致と判定する。従って、３個の機器情報のうち、２個が一致するＬＡ１でライセンスの再認証を行う。
【００６６】
Ｓ７０１の問合せ開始において、クライアント端末装置１０２からＰＣＩＤ１’、ＨＷＩＤ１’、ＬＡ１の情報がライセンスサーバ１０３に送信されてくる。この場合、ＣＰＵ６０２はＰＣＩＤ１’をソフトウェア情報データベースから探索する。このとき、ＰＣＩＤ１’が見つかることはないので、ＣＰＵ６０２はＳ７０２からＳ７０６へ処理を進め、ＨＷＩＤ１’を機器情報データベースから探索する。ここでは、機器情報データベースからＨＷＩＤ１’と一致するエントリが見つかるので、Ｓ７０７へ処理を進める。このＨＷＩＤ１のエントリに関連しているライセンスアクセス番号（ＬＡ＃）をソフトウェア情報データベースから探索し、この関連するＬＡと、再認証で問い合わせてきたＬＡとを比較し、一致するか否かを判定する。ここでは、以前に認証したことのあるクライアント端末装置からの問合せであると判断し、Ｓ７０９へ処理を進め、ライセンスの再認証と同時に、以前認証したときの端末識別情報（ＰＣＩＤ１）をクライアント端末装置１０２に送信する。クライアント端末装置１０２では、このＰＣＩＤ１を受信し、ＰＣＩＤ１’と置換する処理を行う。
【００６７】
これにより、クライアント端末装置１０２上では、ＰＣＩＤ１とＨＷＩＤ１’がライセンス情報に記憶される。また、このとき、再認証されたライセンスアクセス番号ＬＡ１が再度ライセンス情報として記憶される。よって、これ以降のライセンスサーバ１０３への問合せに関しては、最初に認証したときのＰＣＩＤ１を使用可能となる。
【００６８】
一方、Ｓ７０７で、不一致と判断した場合、ＨＷＩＤは一致するが、ＰＣＩＤとＬＡ＃が異なるため、ＣＰＵ６０２はＳ７１０へ処理を進める。ここで、新規クライアント端末装置からのリクエストであると判断し、ライセンスサーバ１０３にＰＣＩＤ、ＨＷＩＤ、ＬＡ＃を新規登録する。
【００６９】
次に、ライセンス返却時の場合を説明する。ここでは、ＬＡ１のライセンスを返却する場合を説明する。クライアント端末装置１０２がライセンスサーバ１０３へＰＣＩＤ１、ＨＷＩＤ１’、ＬＡ１を送信する。Ｓ７０１でＣＰＵ６０２はＰＣＩＤ１をソフトウェア情報データベースから探索する。ここで、ＰＣＩＤ１と一致するエントリが見つかるので、ＣＰＵ６０２はＳ７０２からＳ７０３へ処理を進め、ＨＷＩＤ１’を機器情報データベースから探索する。ここで、ＣＰＵ６０２はＨＷＩＤ１と一致するエントリが見つかるので、Ｓ７０４へ処理を進め、以前に認証したことのあるクライアント端末装置からの問い合わせであると判断し、以前に認証したＬＡ１のライセンスの返却処理を行う。ここで、返却処理とは、ＬＡ１に関連した機器情報データベースとソフトウェア情報データベースの情報を削除、更新することである。
【００７０】
一方、Ｓ７０３で、ＣＰＵ６０２が不一致と判断した場合は、ＰＣＩＤは一致するが、ＨＷＩＤが一致しないことから、たまたま別のクライアント端末装置で同一のＰＣＩＤが生成された場合と判断し、Ｓ７０５へ処理を進め、問合せをエラーとする。
【００７１】
図８は、クライアント端末装置１０２におけるライセンス認証を示すフローチャートである。Ｓ８０１において、ユーザがクライアント端末装置１０２のソフトウェア３０５の起動を開始すると、ＣＰＵ５０１は入力部５０４を通してユーザがソフトウェア３０５のライセンスを認証するために入力したライセンスアクセス番号を取得する。Ｓ８０２で、ＣＰＵ５０１は初回起動、つまり、クライアント端末装置１０２にライセンス情報があるか否かを判定する。判定した結果、初回起動時であれば、ＣＰＵ５０１はＳ８０３へ処理を進め、端末識別情報生成プログラム３１１を起動し、ＰＣＩＤをランダムに作成する。また、制御プログラム３０６を起動し、ＨＷＩＤ情報の収集を行う。この情報と、ソフトウェア起動時に、ユーザが入力したライセンスアクセス番号（ＬＡ＃）を制御プログラム３０６がライセンスサーバ１０３へ送信する。
【００７２】
次に、Ｓ８０５において、ライセンスサーバ１０３上で図７に示す処理により、問合せ元のクライアント端末装置が正しく新規クライアント端末装置であると判定された場合、Ｓ８０６へ処理を進める。このＳ８０６では、クライアント端末装置１０２上で端末識別情報３０８と認証用端末機器情報３０９、認証ライセンスアクセス番号をライセンス情報３０７として記憶する。次に、Ｓ８０７で、この認証がＰＣＩＤを置換する認証、つまり、既存のクライアント端末装置の再認証か否かを判定する。ここで、ＰＣＩＤを置換する認証であれば、ステップＳ８０８へ処理を進め、ライセンスサーバ１０３から送信されたＰＣＩＤに置換する。そして、Ｓ８０９で起動成功としてソフトウェアを起動する。
【００７３】
一方、上述のＳ８０５において、ライセンスサーバからエラーの判定が返却された場合は、起動失敗とする。また、Ｓ８０７において、新規認証、又はＰＣＩＤの置換を必要としない再認証処理と判定した場合、ＣＰＵ５０１はＳ８０８へ処理を進め、ソフトウェアを起動する。
【００７４】
また、上述のＳ８０２において、ソフトウェアの起動が二回目以降、つまり、クライアント端末装置１０２にライセンス情報がある場合は、Ｓ８１０へ処理を進める。Ｓ８１０では、制御プログラム３０６がＨＷＩＤ情報を収集し、Ｓ８１１でライセンス情報３０７の認証用機器情報３０９との比較を行い、一致すれば、ソフトウェアの起動に成功する。ここで、一致の判定は、ライセンスサーバと同等の、複数の機器情報のうち、過半数以上などの判断処理を行う。一方、一致しない場合は、Ｓ８１２へ処理を進め、ソフトウェアの起動失敗とする。
【００７５】
図９は、ライセンスサーバ１０３の認証処理を示すフローチャートである。Ｓ９０１の問合せ開始で、クライアント端末装置１０２からＰＣＩＤ、ＨＷＩＤ、ＬＡ＃の各情報を受信する。次に、Ｓ９０２で、図７に示す個体識別判定処理により、処理を変える。新規クライアント端末装置と判断された場合、Ｓ９０３へ処理を進め、ＰＣＩＤ、ＨＷＩＤ、ＬＡ＃の各情報をデータベースに記憶する。そして、Ｓ９０４において、新規認証処理となる。一方、Ｓ１２０２において、既存クライアント端末装置と判断された場合、以前に認証済みのライセンスの再認証処理となる。
【００７６】
図１０は、クライアント端末装置１０２の認証済みのライセンスを返却する処理を示すフローチャートである。Ｓ１００１において、返却を開始する。Ｓ１００２では、制御プログラム３０６がクライアント端末装置１０２上に返却するべきライセンス情報があるか否かを判定する。返却するべきライセンス情報がない場合は、Ｓ１００７へ処理を進め、ライセンスの返却失敗とする。一方、返却するべきライセンス情報がある場合は、Ｓ１００３へ処理を進める。Ｓ１００３では、制御プログラム３０６が、返却したいライセンス情報（端末識別情報、認証用端末機器情報、認証ライセンスアクセス番号）をライセンスサーバ１０３へ送信する。
【００７７】
次に、Ｓ１００４において、図７に示す処理により、ライセンスサーバ１０３が問合せ元のクライアント端末装置１０２が既存の端末であるか否かを判定する。判定した結果、既存の端末、つまり、固体識別判定に成功した場合、Ｓ１００５へ処理を進め、後述する図１１に示すライセンスサーバ上のライセンスアクセス番号の返却処理を行う。そして、Ｓ１３０６において、クライアント端末装置１０２上のライセンス情報から該当するライセンスアクセス番号のライセンス返却処理を行う。
【００７８】
図１１は、ライセンスサーバ１０３のライセンス返却処理を示すフローチャートである。Ｓ１１０１で返却処理を開始する。Ｓ１１０２で図７に示す処理により、ライセンスサーバが問合せ元のクライアント端末装置１０２が既存の端末からの問合せであるか否かを判定する。既存のＰＣからの問合せであると判断した場合、Ｓ１１０３へ処理を進め、ソフトウェア情報データベースからＬＡ＃を探索する。次に、Ｓ１１０４で、Ｓ１１０３で見つかったライセンスのＰＣＩＤと関連しているＬＡ＃と、今返却しようとしているＬＡ＃が一致するか否かを判定する。一致した場合、Ｓ１１０５へ処理を進め、ソフトウェア情報データベースから該当するＬＡ＃を削除し、返却処理を終了する。
【００７９】
また、上述のＳ１１０２において、既存のＰＣと一致しなかった場合、又はＳ１１０４において、ＬＡ＃が一致しなかった場合、Ｓ１１０６へ処理を進め、ライセンスの返却処理失敗とする。
【００８０】
第１の実施形態によれば、端末装置の複数の端末識別情報のうち、予め定められた端末識別情報と一致する端末装置のライセンスの再発行を行うことで、安定したライセンスの管理が可能となる。
【００８１】
［第２の実施形態］
第２の実施形態では、クライアント端末装置が仮想化ソフトウェアを利用して仮想端末装置（仮想ＰＣ）を作成し、仮想端末装置でクライアント端末装置と同じソフトウェアの認証を行う場合のライセンス管理を説明する。
【００８２】
図１２に示すように、異なるクライアント端末装置１２０１及び１２０２において、同じ仮想化ソフト１２００を利用してそれぞれ仮想ＰＣ１２０３及び仮想ＰＣ１２０４を作成する。そして、仮想ＰＣ１２０３及び１２０４上で同じソフトウェア１２０５をインストール後、認証を行う。このとき、第１の実施形態と同様に、仮想ＰＣ１２０３及び１２０４上においても、端末識別情報（ＰＣＩＤ）はクライアント端末装置１２０１及び１２０２上で端末識別情報生成プログラム３１１によってランダムに作成される。
【００８３】
よって、同じ仮想化ソフト１２００を利用していた場合でも、ライセンス情報１２０６及び１２０７の端末識別情報はＰＣＩＤ１及びＰＣＩＤ２のように必ず一意になる。また、認証用機器情報も複数の機器情報を取得しているので、それぞれの仮想ＰＣ上で異なる機器情報ＨＷＩＤ１及びＨＷＩＤ２となる。よって、ライセンスサーバ１０３上でのＨＷＩＤを利用した個体識別判定処理においても、問題なく動作することが可能となる。以上より、同じ仮想化ソフトが利用された場合においても、ライセンス管理が可能となる。
【００８４】
［第３の実施形態］
第２の実施形態では、クライアント端末装置が仮想化ソフトウェアを利用して仮想端末装置（仮想ＰＣ）を作成した場合を説明したが、第３の実施形態では作成した仮想ＰＣのイメージをコピーした場合を説明する。
【００８５】
図１３に示すように、クライアント端末装置１３０１において、仮想化ソフト１３００を利用して仮想ＰＣ１３０３を作成し、そのイメージをクライアント端末装置１３０２にコピーして仮想ＰＣ１３０４を作成する。イメージをコピーしたことにより、ライセンス情報１３０６は同じ値となる。そして、仮想ＰＣ１３０３及び１３０４で、ソフトウェア１３０５をインストールし、ライセンスアクセス番号ＬＡ１で認証を行う。
【００８６】
まず、仮想ＰＣ１３０３で認証を行う。第２の実施形態で説明したように、仮想ＰＣ上においても、端末識別情報（ＰＣＩＤ）はクライアント端末装置１３０１上で、端末識別情報生成プログラム３１１によりランダムな値（ＰＣＩＤ１）が作成される。第１の実施形態で説明したように、この端末識別情報（ＰＣＩＤ１）と、仮想ＰＣ１３０３の機器情報１３０６（ＨＷＩＤ１）とＬＡ１をライセンスサーバ１０３に送信して認証を行う。
【００８７】
次に、仮想ＰＣ１３０４において、ライセンスアクセス番号ＬＡ１を用いて認証を行う。仮想ＰＣ１３０４においても、端末識別情報（ＰＣＩＤ）はクライアント端末装置１３０２上で端末識別情報生成プログラム３１１によりランダムな値（ＰＣＩＤ２）が作成される。この端末識別情報（ＰＣＩＤ２）と仮想ＰＣ１３０４の機器情報１３０６（ＨＷＩＤ１）とＬＡ１と後述する仮想フラグ情報とをライセンスサーバ１０３に送信する。
【００８８】
ここで、ライセンスサーバ１０３は図１４に示す固体識別判定処理を行う。尚、図１４に示すＳ７０１〜Ｓ７１０での処理は、第１の実施形態で説明した図７に示す処理と同じである。
【００８９】
第３の実施形態では、仮想フラグ情報を追加し、Ｓ７０２で端末識別情報が一致しない場合、Ｓ７１１へ処理を進め、この仮想フラグ情報をチェックする。ここで、仮想フラグ情報が“０”であれば、Ｓ７０６へ処理を進め、第１の実施形態と同様に処理を進める。一方、仮想フラグ情報が“１”であれば、Ｓ７１２へ処理を進め、新規クライアント端末装置と判定する。この仮想フラグ情報とは、問合せ元のクライアント端末装置が仮想ＰＣか通常のＰＣか否かを示す情報であり、仮想ＰＣの場合、仮想フラグ情報を“１”と定義する。
【００９０】
第３の実施形態では、仮想ＰＣ１３０４からの問い合わせの場合、仮想ＰＣ１３０４が仮想フラグ情報を“１”にして送信することにより、ライセンスサーバ１０３では、新規クライアント端末装置と判定する。
【００９１】
一方、仮想フラグ情報の判定（Ｓ７１１）を追加したことで、仮想ＰＣで利用する際に、第１の実施形態で説明したように、再認証が必要なときでも、常に新規クライアント端末装置と判定されることになる。よって、Ｓ７０９で、ＰＣＩＤの復元処理が実施されることはなくなる。つまり、仮想ＰＣが一旦破棄された場合、再認証処理ができず、ユーザは必ずライセンスを消費することになる。
【００９２】
そこで、制御プログラム３０６が仮想ＰＣであると判定した場合、自動的にそのときのＰＣＩＤをＰＣＩＤバックアップファイルとしてローカルディスク３０４上に保存する。そして、このＰＣＩＤバックアップファイルをリストアすることにより、ライセンス情報のＰＣＩＤを復元可能にすることができる。
【００９３】
図１５は、クライアント端末装置の仮想ＰＣにおけるライセンス認証処理を示すフローチャートである。Ｓ１５０１において、第１の実施形態と同様に、ユーザがクライアント端末１３０２のソフトウェア３０５の機動を開始すると、ライセンスアクセス番号を取得する。Ｓ１５０２で、ＣＰＵ５０１は初回起動、つまり、クライアント端末装置１３０２にライセンス情報があるか否かを判定する。判定した結果、初回起動時であれば、ＣＰＵ５０１はＳ１５０３へ処理を進め、端末識別情報生成プログラム３１１を起動し、ＰＣＩＤをランダムに作成する。また、制御プログラム３０６を起動し、ＨＷＩＤ情報の収集を行う。更に、制御プログラム３０６により仮想ＰＣか否かの判定処理を実行し、仮想フラグ情報３１２を“１”に設定する。
【００９４】
次に、Ｓ１５０４において、このときのＰＣＩＤの情報をローカルディスク３０４上にＰＣＩＤバックアップファイル３１３として保存する。そして、Ｓ１５０５で、端末識別情報、機器情報、仮想フラグ、ソフトウェア起動時にユーザが入力したライセンスアクセス番号（ＬＡ＃）をライセンスサーバ１０３へ送信する。
【００９５】
次に、Ｓ１５０６において、ライセンスサーバ１０３上で図７に示す処理により、問合せ元のクライアント端末装置が仮想ＰＣと判定された場合、新規クライアント端末装置であると判定され、Ｓ１５０７へ処理を進める。このＳ１５０７で、クライアント端末装置１３０２上で端末識別情報（ＰＣＩＤ）３０８と認証用端末機器情報（ＨＷＩＤ）３０９、認証ライセンスアクセス番号３１０がライセンス情報３０７として記憶される。次に、Ｓ１５０８において、ソフトウェア３０５を起動する。
【００９６】
また、上述のＳ１５０２において、ソフトウェアの起動が二回目以降、つまり、クライアント端末装置１３０２にライセンス情報がある場合は、Ｓ１５０９へ処理を進める。Ｓ１５０９では、制御プログラム３０６がＨＷＩＤ情報を収集し、Ｓ１５１０でライセンス情報３０７の認証用ライセンス機器情報３０９との比較を行い、一致すれば、ソフトウェアの起動に成功する。ここで、一致の判定処理は、第１の実施形態と同様である。一方、Ｓ１５１０において、一致しない場合は、Ｓ１５１１へ処理を進め、ソフトウェアの起動失敗とする。
【００９７】
次に、この仮想ＰＣ１３０２において、何らかの理由により仮想ＰＣが破棄された場合を説明する。この場合、ＰＣＩＤバックアップファイル３１３が存在すれば、ソフトウェアライセンスの認証前にこのバックアップファイルのリストア処理を行うことにより、ライセンス情報にＰＣＩＤの情報が復元される。この状態で、ライセンスを認証すれば、上述したＰＣＩＤチェックで一致の判定になるため、既存クライアント端末装置の判定となり、再認証を行うことが可能となる。
【００９８】
［他の実施形態］
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
0005483944.tif 000002
【図２】
0005483944.tif 000003
【図３】
0005483944.tif 000004
【図４】
0005483944.tif 000005
【図５】
0005483944.tif 000006
【図６】
0005483944.tif 000007
【図７】
0005483944.tif 000008
【図８】
0005483944.tif 000009
【図９】
0005483944.tif 000010
【図１０】
0005483944.tif 000011
【図１１】
0005483944.tif 000012
【図１２】
0005483944.tif 000013
【図１３】
0005483944.tif 000014
【図１４】
0005483944.tif 000015
【図１５】
0005483944.tif 000016