(57)【要約】【課題】ライセンスの状態遷移にかかわらず、１つのライセンス有効化キーを使用することを可能にする。【解決手段】再使用可能なライセンス有効化キーについての方法、装置及びコンピュータプログラムが提供される。方法においては、サーバが、製品のライセンスが有効化されると、前記ライセンスを有効化する有効化キーを含む登録記録をデータベース中に作成し、前記ライセンスに変化が生じたとき、新たな有効化キーを含む新たな登録記録を生成し、前記作成済の登録記録を前記新たな登録記録に結合するグローバルに唯一無二の識別子を生成し、前記結合された作成済の登録記録及び新たな登録記録を前記データベースに記憶する。【選択図】図２
2015219911.tif 000002
【特許請求の範囲】
【請求項１】
サーバが、
製品のライセンスが有効化されると、前記ライセンスを有効化する有効化キーを含む登録記録をデータベース中に作成し、
前記ライセンスに変化が生じたとき、新たな有効化キーを含む新たな登録記録を生成し、
前記作成済の登録記録を前記新たな登録記録に結合するグローバルに唯一無二の識別子を生成し、
前記結合された作成済の登録記録及び新たな登録記録を前記データベースに記憶すること、
を特徴とする方法。
【請求項２】
前記ライセンスに生じる変化は、
製品アップグレード又は保守更新のうちの少なくとも１つを含むこと、
を特徴とする請求項１の方法。
【請求項３】
前記サーバは、
前記製品の特徴を有効化しようとするユーザから前記ライセンスを有効化する有効化キーを受信し、
前記受信した有効化キーを使用して、前記新たな有効化キーを求めて前記結合された作成済の登録記録及び新たな登録記録を検索すること、
を特徴とする請求項１の方法。
【請求項４】
前記サーバは、
前記新たな有効化キーが発見されたとき、前記新たな有効化キーを使用して前記製品の特徴を有効化すること、
を特徴とする請求項３の方法。
【請求項５】
少なくとも１つのプロセッサと、
コンピュータプログラムコードを含む少なくとも１つのメモリと、
を備える装置であって、
前記少なくとも１つのプロセッサが前記コンピュータプログラムを前記少なくとも１つのメモリに読み込むと、前記装置は、
製品のライセンスが有効化されると、前記ライセンスを有効化する有効化キーを含む登録記録をデータベース中に作成し、
前記ライセンスに変化が生じたとき、新たな有効化キーを含む新たな登録記録を生成し、
前記作成済の登録記録を前記新たな登録記録に結合するグローバルに唯一無二の識別子を生成し、
前記結合された作成済の登録記録及び新たな登録記録を前記データベースに記憶すること、
を特徴とする装置。
【請求項６】
前記ライセンスに生じる変化は、
製品アップグレード又は保守更新のうちの少なくとも１つを含むこと、
を特徴とする請求項５の装置。
【請求項７】
前記装置は、
前記製品の特徴を有効化しようとするユーザから前記ライセンスを有効化する有効化キーを受信し、
前記受信した有効化キーを使用して、前記新たな有効化キーを求めて前記結合された作成済の登録記録及び新たな登録記録を検索すること、
を特徴とする請求項５の装置。
【請求項８】
前記装置は、
前記新たな有効化キーが発見されたとき、前記新たな有効化キーを使用して前記製品の特徴を有効化すること、
を特徴とする請求項７の装置。
【請求項９】
前記装置は、
ライセンスサーバを含むこと、
を特徴とする請求項５の装置。
【請求項１０】
非一時的なコンピュータ読取可能な媒体上に記憶されるコンピュータプログラムであって、
前記コンピュータプログラムは、
サーバのプロセッサに対して、
製品のライセンスが有効化されると、前記ライセンスを有効化する有効化キーを含む登録記録をデータベース中に作成し、
前記ライセンスに変化が生じたとき、新たな有効化キーを含む新たな登録記録を生成し、
前記作成済の登録記録を前記新たな登録記録に結合するグローバルに唯一無二の識別子を生成し、
前記結合された作成済の登録記録及び新たな登録記録を前記データベースに記憶する処理を実行させること、
を特徴とするコンピュータプログラム。
【請求項１１】
前記ライセンスに生じる変化は、
製品アップグレード又は保守更新のうちの少なくとも１つを含むこと、
を特徴とする請求項１０のコンピュータプログラム。
【請求項１２】
前記コンピュータプログラムは、
前記サーバの前記プロセッサに対して、
前記製品の特徴を有効化しようとするユーザから前記ライセンスを有効化する有効化キーを受信し、
前記受信した有効化キーを使用して、前記新たな有効化キーを求めて前記結合された作成済の登録記録及び新たな登録記録を検索する処理を実行させること、
を特徴とする請求項１０のコンピュータプログラム。
【請求項１３】
前記コンピュータプログラムは、
前記サーバの前記プロセッサに対して、
前記新たな有効化キーが発見されたとき、前記新たな有効化キーを使用して前記製品の特徴を有効化する処理を実行させること、
を特徴とする請求項１２のコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、２０１４年５月１６日に出願された米国特許仮出願６１／９９４,３９５を基礎とするパリ条約の優先権を主張する。基礎出願の記載内容の全体が本願に引用される。
本願のある実施形態は、一般的に、ソフトウエアライセンスシステム及びソフトウエアライセンス方法に関する。具体的には、いくつかの実施形態は、ライセンス、特徴又はアップグレードを、有効化又は再有効化することに関する。
【背景技術】
【０００２】
一般的に、ソフトウエアライセンスとは、コンピュータソフトウエア製品又はプログラムの使用及び流通を規制する法制度である。典型的には、ソフトウエアライセンスは、著作権で保護されたソフトウエア製品の複製を使用する権利をユーザに与える。ソフトウエアライセンスは、使用期間を定めることもあるし、ソフトウエアを使用する権利を制限することもある。ライセンスの一般的な形式としては、“シュリンクラップ”ライセンス、“オンライン”ライセンス、及び、“サイト”ライセンスが存在する。
【０００３】
“シュリンクラップ”ライセンスは、個別に包装されて物として販売されるソフトウエア製品に付属するライセンスである。通常、このタイプのソフトウエアは、ディスク又は他のタイプの物理的媒体に記憶されて提供される。このタイプのソフトウエアが記憶されているディスクは、中身が透けて見えるように包装されて販売される。そして、ユーザが包装を開封すると、ユーザは、シュリンクラップライセンスの文言を承諾したものと看做される。このことが、“シュリンクラップ”の命名根拠である。
【０００４】
“オンライン”ライセンスは、インターネットからダウンロードされるソフトウエア製品に付属するライセンスである。典型的には、このライセンスは、ソフトウエアがダウンロードされる前にユーザに対して提示され、ライセンスを承諾するか、それとも、拒否するかをユーザに選択させる。ユーザがライセンスを承諾する旨のボタンをクリックすると、ユーザがライセンスの規約を承諾したことになり、ユーザはソフトウエアプログラムへアクセスすることを許される。
【０００５】
“サイト”ライセンスは、購入者の１又は複数の施設内にある複数の機器に対して、ある１つのソフトウエアの複製をインストールすることを可能にする１つのライセンスである。多くのコンピュータを保有する法人等の団体にソフトウエアを提供するために、このタイプのライセンスが用いられ得る。購入者は、複製回数に応じて支払をすると、その数だけの複製を複数のコンピュータにインストールことができる。
【０００６】
さらに、試用ライセンス及び商業ライセンスのような多くのライセンスタイプが存在し、また、多くのライセンスモデルが存在する。
【発明の概要】
【課題を解決するための手段】
【０００７】
１つの実施形態は、サーバが、製品のライセンスが有効化されると、登録記録をデータベース中に作成することを含む方法である。登録記録は、ライセンスを有効化する有効化キーを含む。当該方法は、ライセンスに変化が生じたとき、サーバが、新たな有効化キーを有する新たな登録記録を生成し、作成済の登録記録を新たな登録記録に結合するためのグローバルに唯一無二の識別子を生成し、結合された作成済の登録記録及び新たな登録記録をデータベース内に記憶することをさらに含んでもよい。
【０００８】
他のある実施形態は、少なくとも１つのプロセッサ、及び、コンピュータプログラムコード記憶する少なくとも１つのメモリを有する装置である。プロセッサがコンピュータプログラムコードをメモリに読み込ませると、装置は、少なくとも、ライセンスの有効化キーを含む登録記録であって、製品のライセンスが有効化されると、ライセンスを有効化する有効化キーを含む登録記録をデータベース中に作成し、ライセンスに変化が生じたとき、新たな有効化キーを有する新たな登録記録を生成し、作成済の登録記録を新たな登録記録に結合するためのグローバルに唯一無二の識別子を生成し、結合された作成済の登録記録及び新たな登録記録をデータベース内に記憶する。
【０００９】
他のある実施形態は、非一時的なコンピュータ読取可能な媒体に記憶されたコンピュータプログラムである。コンピュータプログラムは、プロセッサを制御し、製品のライセンスが有効化されると、登録記録をデータベース中に作成することを含む処理を実行させる。登録記録は、ライセンスを有効化する有効化キーを含む。前記処理は、ライセンスに変化が生じたとき、新たな有効化キーを有する新たな登録記録を生成し、作成済の登録記録を新たな登録記録に結合するためのグローバルに唯一無二の識別子を生成し、結合された作成済の登録記録及び新たな登録記録をデータベース内に記憶することをさらに含んでもよい。
【図面の簡単な説明】
【００１０】
本発明を正しく理解するために以下の図面が参照されるべきである。
【００１１】
【図１】ある実施形態に係るシステムを示す図である。
【図２】ある実施形態に係る状態遷移図である。
【図３】ある実施形態に係るライセンスストアの状態図の一例である。
【図４】ある実施形態に係る、廃止されたライセンスを新たなライセンス記録に結合するフロー図である
【図５】ある実施形態に係る装置のブロック図である。
【図６】ある実施形態に係る方法のフローチャートである。
【発明を実施するための形態】
【００１２】
各図面に一般的に記述及び図示された本発明の構成は、他の様々な内容で設計変更され得ることが容易に理解される。したがって、以降では添付の図面に沿って、再使用可能なライセンス有効化キーについてのシステム、方法、装置、及び、コンピュータプログラムの実施形態を詳細に説明するが、それは、本発明の範囲を限定するためのものではなく、本発明の選択された実施形態を代表しているに過ぎない。
【００１３】
必要であれば、後記する複数の異なる機能は、別の順序で実行されてもよいし、同時に実行されてもよい。さらに必要であれば、後記する複数の機能のうち、１又は複数の機能が選択されてもよいし、組み合わされてもよい。つまり、以降の説明は、本発明の原理、教示及び実施形態を例示するに過ぎずこれらを限定するものではないと解されるべきである。
【００１４】
ユーザ又は顧客が特定のソフトウエア製品を購入すると、購入登録記録がデータベース内に作成され、ユーザに対して当該製品についての有効化キーが与えられる。後日ユーザが保守更新又はアップグレード製品を追加購入した場合、追加製品の動作を有効化する新たな有効化キーが記憶された新たな購入登録記録が、有償で作成されてもよい。
【００１５】
後記するように、もとの有効化キーが現在の購入状態に関連していなくても、ユーザがもとの有効化キーを引き続き使用できるようにする再使用可能な有効化キーの特徴を、実施形態は提供する。この特徴を実現するために、唯一無二の識別子が、関連する複数の登録記録を相互に結合している。ユーザがもとの有効化キーを入力し製品を有効化するときはいつでも、ライセンスサーバは、入力された有効化キーに結合された登録記録を検索し、対応する現在の有効化キーを選択し製品を有効化する。
【００１６】
前記したように、ライセンスタイプ及びライセンスモデルは多く存在する。例えば、ライセンスタイプは、試用ライセンス、商業ライセンス、一時ライセンス、バージョンライセンス及び無償ライセンスを含んでもよい。試用ライセンスは、試用期間において顧客に一時ライセンスを与える。試用ライセンスは、限られた期間（例えば３０日）だけ有効であり、試用期間が一旦終了すると、試用ライセンスが、商業ライセンス、一時ライセンス又は延長ライセンスに変更されない限り、製品は動作しなくなる。
【００１７】
商業ライセンスの語義は、恒久的であるということである。したがって、商業ライセンスは、期限切れになることなく任意の時点で使用され得る。商業ライセンスは、保守期間によって使用を制限される。保守期間は、商業ライセンスがどのような製品バージョンに対して使用され得るかを定義する。言い換えると、商業ライセンスは、直前の保守期間の終期の前に販売された製品にのみ使用され得る。
【００１８】
これに対し、一時ライセンスは、限定された時間フレームを有し、マイグレーション、アップデートのような、特別な目的に使用される。無償ライセンスは、任意の所定の期間に有効であり、製品の無償バージョンを提供する。無償バージョンは商業バージョンに変更可能である。
【００１９】
バージョンライセンスは、製品とセットで販売される特別なタイプのライセンスである。このライセンスは、特定の製品バージョン及び特定の顧客を対象とし、任意の数のコンピュータに製品をインストールするのに使用される。バージョンライセンスは、期限切れになることがないが、製品のバージョンが新しくなると、新たなバージョンライセンスが必要となる。
【００２０】
前記したライセンスタイプに加えて、いくつかのライセンスモデルが存在する。例えば、これらは、単一有効化ライセンスモデル、複数有効化ライセンスモデル、及び、シート基準ライセンスモデルを含んでもよい。単一有効化ライセンスモデルは、単一のコンピュータ上でのみ有効化され得るライセンスである。複数有効化ライセンスモデルは、複数のコンピュータ上で有効化され得るライセンスである。ライセンスサーバは、有効化されたライセンスを追跡することが可能であり、許可された数を超えるコンピュータ上での有効化を防ぐ。シート基準ライセンスモデルは、所定の数の“シート（座席）”を有するライセンスである。すべてのシートが１つのコンピュータ上で有効化されることもあるし、シートが必要に応じて複数のコンピュータに分配されることもある。
【００２１】
図１に示される実施形態によれば、ライセンスシステム１００は、ユーザ又はソフトウエア製品がライセンスを有効化し、保守し、無効化することを可能にするサービスの集合を提供する。ライセンスシステム１００は、相互に接続された複数の専用部分を有し、ネットワークを形成し、ライセンス処理を可能にしてもよい。ライセンスシステム１００は、すべてではない場合は、ほとんどのライセンス状況を網羅するために作成された多くのライセンスタイプ及び多くのライセンスモデルを取り扱ってもよい。任意のライセンスタイプ及び任意のライセンスモデルは、特徴と命名される属性の集合を有する。特徴は、製品によって使用され、製品に要求される動作を認識する。
【００２２】
いくつかの実施形態によれば、ライセンスシステム１００は、ライセンスサーバ１０１、ライセンスクライアント１１０、製品ライセンサ１２０（例えば顧客）、並びに、ツール及びユーティリティの集合１２２を含んでもよい。ライセンスサーバ１０１は、ライセンスサービス１０２及びライセンスデータベース１０５を含んでもよい。ライセンスサービス１０２は、顧客のライセンスについての情報を記憶し、作成、有効化、無効化、同期化、ライセンス保守のような、ライセンスに関するサービスの集合を提供してもよい。ライセンスサーバ１０１は、例えば、ライセンスフレームワーク１１１を介して、又は、顧客ポータルウエブサイト又はアプリケーション１３０を介してインターネットからアクセスされてもよい。ライセンスサーバ１０１は、業務管理ソフトウエア（例えば、NetSuite（登録商標））を介して有償で内部的にアクセスされてもよい。
【００２３】
ライセンスクライアント１１０は、ライセンスフレームワーク１１１及びライセンスストア１１２を含んでもよい。ライセンスフレームワーク１１１は、ライセンスサーバ１０１と通信しながらライセンスストア１１２内でライセンスを管理するソフトウエアパッケージである。あるライセンスは、特徴と命名される属性の無限の集合を保持し得る。それぞれの特徴は、名称及び数値を有し、製品又はライセンスシステム１００に使用されて、当該ライセンスは何を許可し何を許可していないか、いくつの要素がライセンスされているか等を発見する。
【００２４】
ライセンスストア１１２は、顧客のコンピュータ上に位置する暗号化された記録（例えばライセンス）を格納する１又は複数のファイルを含む。ライセンス（暗号化された記録に代表される）は、ライセンスフレームワーク１１１によって管理される。ライセンスフレームワーク１１１は、ライセンスストア１１２上で動作し、ライセンスサーバ１０１と通信する。
【００２５】
ある実施形態においては、ライセンスストア１１２は、例えば、１又は複数のＸＭＬ形式で暗号化されたファイルをローカルに記憶してもよい。このファイルは、ベース６４テキストとして符号化されたライセンス記録及び何らかの追加情報（例えば、ライセンス記録のＵＭＩＤ、ライセンスタイプ、作成日、直前アクセス日等）を格納していてもよい。ある実施形態によれば、ライセンスストア１１２内のライセンス記録は、自動的にライセンスサーバ１０１と同期を取り得る。この同期化は、例えば２４時間に１回のように定期的に実行されてもよいし、要求がある都度実行されてもよい。ある実施形態においては、同期化は、ライセンスストア１１２内のライセンスを、ライセンスサーバ１０１上で利用可能なライセンスと比較する。利用可能なアップデート情報があれば、それらはダウンロードされ、ライセンスストア１１２内のローカルライセンスはアップデートされる。
【００２６】
製品ライセンサ１２０は、ライセンスされた製品に含まれライセンスの有効性を確認する専用ソフトウエアモジュールを含み、ライセンス有効化、同期化等の操作を実行してもよい。ある実施形態においては、ライセンスシステム１００は、ツール及びユーティリティ１２２を含んでもよい。ツール及びユーティリティ１２２は、ライセンス管理、保守、確認、ライセンスストア保守のようなライセンス関連タスクに使用される専用ソフトウエアモジュールの集合を含む。
【００２７】
図２に示されるように、ライセンスライフサイクルは、ステートマシンとして定義されてもよい。ある実施形態によれば、既存のライセンスストアが発見されなければ、空のライセンスストアが作成される。このとき、ライセンスファイル（*.lic）を求めてコンピュータ内の特定のフォルダが走査され、新たに発見されたライセンスがライセンスストアに取り込まれる。
【００２８】
自動的に取り込まれた後、試用ライセンス２００が、いま、ライセンスストアに記憶される。唯一無二の機器ＩＤ（ＵＭＩＤ）がそのライセンスに対して生成され、ＵＭＩＤは、有効化期間中、ライセンス情報とともにライセンスサーバに送信される。ＵＭＩＤは、特定の機器及び当該機器上のライセンスを唯一に特定する、ベース６４で符号化されたバイトのシーケンスであってもよい。ＵＭＩＤは、記号“：”で分離された拡張部分を有していてもよい。拡張部分は、製品バージョン、ＲＴＭ日付等についての追加情報を格納する。ＵＭＩＤは、機器ごとかつ機器上のライセンスごとに生成され得る。ＵＭＩＤは、オンライン有効化にもオフライン有効化にも使用され得る。
【００２９】
図２を再度参照する。ライセンスが有効化され得る場合、ライセンスサーバは、保守対象商業ライセンス２２０を作成し、それをユーザに返送する。保守対象商業ライセンス２２０は、ライセンスストアに取り込まれる。その後、保守期間が終了すると、保守対象商業ライセンス２２０は、保守対象外商業ライセンス２３０に変わる。
【００３０】
試用ライセンス２００が有効化されないまま試用期間が終了した場合、試用ライセンス２００は、期限切れ試用ライセンス２１０となり、製品は動作しなくなる。
【００３１】
有効化された商業ライセンス２２０は、無効化され得る。このことは、ライセンスストアから当該ライセンスが削除され、ライセンスサーバ上で当該ライセンスが無効化済のマークを付されることを意味する。このことは、当該ライセンスが再度有効化されることを可能にする（例えば、マイグレーション、アップグレード、保守等の後）。さらに、有効化されたライセンスは、アップグレードされ得る。例えば、シートの数は増加し得る。例えば、ライセンスが当初１０台のコンピュータについて認められている場合、２０台までアップグレードされ得る。
【００３２】
図１に戻る。ある実施形態においては、ライセンスシステム１００は、ライセンスファイル（*.lic）として製品にインストールされたすべての試用ライセンスを探し、最初の初期化の間、これらのライセンスをライセンスストア１１２に取り込んでもよい。図２の説明で前記したように、これらの試用ライセンスは、商業ライセンスの有効化へ至る出発点を提供する。商業ライセンスの有効化が手動で実行されてもよいし、その後、例えば２４時間ごとに１回バックグラウンドで自動的に、商業ライセンスに変化を生じさせてもよい。シート基準ライセンスについては、商業ライセンスを有効化する際にライセンス（シートの数）をアップグレードすることが可能である。
【００３３】
図３は、ある実施形態に係る、ライセンスストアの状態図の一例を示す。最初、３００においては、ライセンスはインストールされていない。３１０において、製品がインストールされる。この状態では、製品が目標機器上に配置され、製品とともに出荷される試用ライセンスがライセンスストアに取り込まれる。３２０において、試用ライセンスがインストールされる。３３０において、製品が試用状態にあり顧客が試用ライセンスの存続期間（製品インストールからの日数）を超えて製品を使用したとき、試用期間が終了する。結果的に、３４０において、試用ライセンスは期限切れとなり無効になり、その結果、製品は動作しなくなる。この時点で、顧客は、商業ライセンスを有効化し製品を再度動作させることが必要になる。
【００３４】
３５０において、一旦商業ライセンスが購入されると、製品は起動されうる状態になる。このことは、ライセンスサーバへの機器識別子の登録を含む。このとき、試用ライセンスは、商業ライセンスにアップグレードされ、製品は、無制限に動作し得る。
【００３５】
ある実施形態によれば、製品が新たなコンピュータに移動する場合は（例えば、サーバマイグレーション等）、ライセンス記録は無効化される。無効化された後は、製品はもとのコンピュータ上ではもはや動作し得ないが、ライセンスは、新たなコンピュータ上で有効化され得る。
【００３６】
同期化については、顧客がライセンス状態（例えば、アップグレード、保守更新、シートアップグレード）を変更する場合、自動的にバックグラウンドで（例えば、２４時間ごとに１回）、又は、任意の時点に顧客によって手動で、当該変更が適用される。いくつかの実施形態においては、階層アップグレード、バージョンアップグレード、又は、保守更新が自動的に又は手動で実行され得る。ライセンスストアにおいて一旦ライセンス記録が更新されると、新たな（アップグレードされた）ライセンスが定義するすべての特徴に顧客はアクセスできる。他のタイプのアップグレードは、シート基準アップグレードである。シート基準アップグレードは、複数のコンピュータに跨って、多くの有効化されるシートを割り当てる。
【００３７】
いくつかの実施形態において、ライセンスサーバとライセンスストアとの間のウエブサービスを介してのデータ移動は、例えばライセンスフレームワークモジュールによって実現されてもよい。ある実施形態においては、ＳＯＡＰ（Simple Object Access Protocol）の暗号化された拡張機能（ＲＥＦ１  ウエブサービス強化アーキテクチャ）が、インターネットを介してライセンスプロキシと通信するために使用されてもよい。ウエブサービスは、ライセンスを有効化及び無効化し、ライセンス状態を確認し、顧客情報をアップデートし得る。ウエブサービスは、製品（自動的に又はユーザによってインタフェースから）、顧客（顧客ポータル経由で）又は支持者（例えば、NetSuite（登録商標）経由で）によって呼び出され得る。
【００３８】
実施形態は、ライセンスモデルによって異なり、ライセンスサーバに記憶されるデータベーステーブルに基づき、いくつかの順次データモデルを提供する実施形態も存在する。ある実施形態においては、以下のテーブルが使用されてもよい。
・登録（ライセンス記録、複数有効化モデルのライセンスマスタ記録）
・登録_複数有効化（複数有効化専用）
・アプリケーション（アプリケーションライセンスモデル、使用されるテンプレート等を定義する）
・テンプレートライセンス（ライセンス属性、参照テーブル特徴を定義する）
・テンプレートライセンス_Ｘref（テーブルテンプレートライセンスを参照する。アプリケーションとライセンステンプレートとの間の１対ｎの対応関係ごとに使用される）
・予約（ライセンス保守についての情報を保持する）
・特徴（ライセンスに関する特徴の集合を保持する）
【００３９】
前記したように、ライセンスが一旦作成されると（すなわち、ライセンスキーが生成され、関連記録がライセンスサーバによって作成されると）、ライセンスは有効化及び無効化され得る。作成されたライセンスは、変更され得ないパラメータの固定された集合を有する。アップグレード又はダウングレードのようなライセンスの任意の変更は、古いライセンス記録の廃止及び新たなライセンス記録の作成によってなされる。
【００４０】
ライセンスが廃止のマークを付されたとき、“登録”テーブルの“支払済”欄は、ＹＥＳからＲＥＰＬＡＣＥＤ（置換済）又はＵＰＧＲＡＤＥＤ（アップグレード済）に変化し、当該ライセンスはもはや有効化も無効化もできない。顧客がライセンスを変更すると（例えば、アップグレード又はダウングレード）、ライセンスは廃止のマークを付され、新たな有効化キーを有する新たなライセンス記録（顧客が要求するパラメータを有する）が作成され、廃止されたライセンス記録を置換する。
【００４１】
図４は、ある実施形態に係る、廃止されたライセンスを新たなライセンス記録に結合するフロー図である。前記したように、ある実施形態においては、この新たなライセンス記録は、例えばライセンス群ＩＤ欄及び／又はNetSuiteライセンスＩＤ欄によって、廃止されたライセンス記録と結合している。この機構は、４００において顧客が、提供された最初の有効化キー（すなわち、ライセンスが廃止される前に作成された既存のライセンスキー）によってライセンスを識別することを可能にする。４１０において、ライセンスサーバは、受け取られた有効化キーに関連付けられているライセンスＩＤを取得する。その後、４２０において、ライセンスサーバは、群内のすべてのライセンスのうち直近のライセンスを発見し、あたかも顧客が自身の有効化キーを提供するかのように、当該発見した直近のライセンスを内部的に活用する。
【００４２】
単一有効化ライセンスモデルは、大抵の場合、“アプリケーション”テーブル及び“登録”テーブル上で動作する。ライセンス記録は、有効化準備中（未使用ライセンス）の状態又は有効化済の状態にあり得る。前記したように、ライセンス記録は、有効化キーによって識別される。有効化キーは、グローバルに唯一無二の識別子であってもよい。NetSuiteライセンスＩＤ／ライセンス群ＩＤ欄の値に結合されている新たなライセンス記録（登録テーブルにおける新たな記録）を作成することによって、ライセンスのアップグレードが実行されてもよい。階層を示すライセンスパラメータは、アップグレード又はダウングレードされ得る。製品主要バージョンは、アップグレードのみされ得る。
【００４３】
いくつかの実施形態においては、以下の操作が発生する。
・ライセンス作成
ライセンステンプレート（テンプレートライセンステーブル）のデータに基づいて、“登録”テーブルに新たなライセンス記録が作成される。処理中は、新たなライセンスキーが記録（“登録”テーブルの有効化キー欄）に書き込まれ、“支払済”欄の値はＹＥＳに設定され、“使用中”欄の値は０に設定される。
・ライセンス有効化
“登録”テーブル内の記録（有効化キー欄）に有効化済のマークが付され、“使用中”欄の値は１に設定される。
・ライセンス廃止
ライセンス廃止は、無効化が実行された場合に生じる。“登録”テーブルの“支払済”欄は、REPLACED（置換済）に設定され、前記したように未使用ライセンス（新たな有効化キーを有するが、NetSuiteライセンスＩＤ値によって既存の有効化キーに結合されている）が作成される。
・階層アップグレード
異なる階層を有する異なるライセンステンプレート上に、新たな未使用ライセンスが作成される。
・バージョンアップグレード
異なる製品主要バージョンを有する異なるライセンステンプレート上に、新たな未使用ライセンスが作成される。
・保守アップグレード
次の期間（予約テーブル）に備え、保守が更新される。
【００４４】
以下のテーブルは、初期化−有効化−無効化操作のシーケンスを示している。変化後の値又は追加された記録は、斜字体で表記される。初期状態において、有効化キーを有する１つの記録が存在する。当該記録は、すべての関連記録を結合するために使用されるライセンスＩＤ値（NetSuiteライセンスＩＤ欄）を有する。そして、当該記録の“使用中”欄の値は、０に設定されている。
【００４５】
【表１】
2015219911.tif 000003
【００４６】
保守記録は、ライセンス保守に関する情報を格納する。保守記録は、“NetSuiteライセンス”欄の値によって“登録”テーブルに結合されている。
【００４７】
【表２】
2015219911.tif 000004
【００４８】
“使用中”欄の値が１に設定された後、コンテンツ欄が設定され、ライセンスブロブ値が設定される。
【００４９】
【表３】
2015219911.tif 000005
【００５０】
【表４】
2015219911.tif 000006
【００５１】
無効化の後、直前の記録は置換済のマークが付され（支払済欄＝REPLACE）、異なる有効化キー値を有する新たな記録が追加される。ある実施形態によれば、新たな有効化顧客は、最初の有効化キーを使用し得る。なぜならば、最初の記録及び新たな記録は、NetSuiteライセンスＩＤ値によって結合されているからである。
【００５２】
ある実施形態においては、顧客は、任意の有効化キーを使用し得る。そして、ライセンスサーバは、例えば、NetSuiteライセンスＩＤによって、任意の時点（支払済欄＝YES，使用中欄＝０）で、適当な有効化キーを決定してもよい。
【００５３】
【表５】
2015219911.tif 000007
【００５４】
【表６】
2015219911.tif 000008
【００５５】
複数有効化ライセンスモデルは、大抵の場合、“アプリケーション”テーブル、“登録”テーブル及び“登録_複数有効化”テーブルとともに動作する。ライセンス記録は、有効化前状態（未使用ライセンス）であり得るし、又は、ｎ個のライセンスのうちのｘ個に対してのみ有効化されている状態でもあり得る。繰り返しになるが、記録は有効化キー（例えば、ＧＵＩＤ基準）によって識別されてもよい。アップグレード機構は、単一有効化ライセンスモデルについて前記したことと同様である。しかしながら、ライセンスが複数のコンピュータ上で使用されることを可能にするために、追加された“登録_複数有効化”テーブルが存在する。“登録_複数有効化”テーブルは、コンピュータを特定する情報を保持する。“登録”テーブルには、引き続き共有情報が存在する。ライセンスを有効化している間、“登録_複数有効化”テーブルに新たな記録が作成され、“登録”テーブル記録は、正しい有効化数の値でアップデートされる。各コンピュータは唯一無二の機器ＩＤを有しているので、任意の単体コンピュータについて、常に現在記録が存在することになる。現在記録は、有効化キー及び機器ＩＤに関連付けられている。“登録”テーブルは、全部でいくつのライセンスが利用可能であるか、そして、そのうちいくつのライセンスが使用中であるか、という情報を記憶してもよい。有効化／無効化の都度、これらのカウンタ数は、増加／減少する。ライセンス限度に達した場合、新たなライセンスを有効化することは不可能になる。
【００５６】
いくつかの実施形態においては、以下の操作が発生する。
・マスタライセンス作成
“登録”テーブルにおいて、ライセンステンプレートに関連する情報から新たな記録が作成される。
・ライセンス有効化、ライセンスｘ有効化
有効化キーに該当する“登録_複数有効化”テーブルにおいて、機器ＩＤ（唯一無二の機器ＩＤ）に関連する記録が作成される（Is有効化欄＝１）。そして、“登録”テーブル中のカウンタが修正される（有効化数欄が増加する）。有効化数欄の値が、最大インストール数欄の値に等しい場合、すべてのライセンスが使用され切っているので、有効化できない。
・ライセンスｘ無効化
有効化キーに該当する“登録_複数有効化”テーブル中の機器ＩＤに関連する記録は、同じテーブル中の新たな記録の作成によって閉鎖される（Is有効化欄＝０）。“登録”テーブルにおけるマスタ記録の有効化数欄の値が修正される（減少する）。
・ライセンス廃止
単一有効化ライセンスモデルと同様である。
・バージョンアップグレード
単一有効化ライセンスモデルと同様である。
・保守アップグレード
単一有効化ライセンスモデルと同様である。
【００５７】
シート基準ライセンスモデルは、複数有効化ライセンスモデルに新たな機構を拡張したものである。新たな機構では、１つのコンピュータが、１つのライセンスに対して有効化される複数のライセンスシートを有し得る。あるサーバ製品が当該サーバに接続されている多くのクライアントを網羅する場合に、シート基準ライセンスモデルは重要である。このモデルでは、“登録”テーブルの有効化数は、ライセンスに利用可能なシートの総数を格納しており、複数有効化ライセンスモデルの場合と同様に、有効化／無効化の都度、このカウンタ数は、増加／減少する。
【００５８】
前記したように、複数有効化ライセンスモデルは、“登録_複数有効化”テーブルという追加テーブルを使用する。“登録_複数有効化”テーブルは、インストールの単一インスタンスに関連し、“登録”テーブルのマスタ記録に結合されている。これらのレコードには、既存の機器ＩＤが割り当てられており、既存の機器ＩＤが存在しない場合は新たな機器ＩＤが新たに作成される。
【００５９】
初期状態では、テーブル内にマスタ記録が確かに存在する。このことは、単一有効化ライセンスモデルと同様である。
【００６０】
【表７】
2015219911.tif 000009
【００６１】
保守情報は、単一有効化ライセンスモデルと同様に扱われる。
【００６２】
【表８】
2015219911.tif 000010
【００６３】
複数有効化ライセンスモデルでは、有効化の際、“使用中”欄の値が“１”に設定されるのではなく、ライセンスサイズ計算の基になるカウンタ及び関連論理（ライセンス単位サイズ、有効化数、最大インストール数）が使用される。有効化数の値が最大インストール数の値に達した場合、さらなる有効化は回避される。
【００６４】
【表９】
2015219911.tif 000011
【００６５】
１つのキーに多くのインストールされた製品が結合されているので、“登録”テーブルに共通情報が記憶され、“登録_複数有効化”テーブルに、インストールに関連する部分の情報（顧客情報、機器ＩＤ、コンピュータ名称、ライセンスブロブ等）が記憶される。さらに、１つの製品の異なる複数のバージョンが有効化され得る（上位バージョンのキーが下位バージョンにも使用可能である）。“登録_複数有効化”テーブルにデータを入力しながら、“登録”テーブルのマスタ記録に、ある情報をコピーすることができる。この情報は、主として、ライセンスサーバと協働する複数のシステム間の内部同期機構を起動させるために使用されてもよい。
【００６６】
【表１０】
2015219911.tif 000012
【００６７】
【表１１】
2015219911.tif 000013
【００６８】
無効化については、前記したようにカウンタ機構が使用されてもよい。しかしながら、記録に使用中のマークを付すことに代えて、カウンタ及び限度を使用する計算に基づくライセンスロジックが存在する。この実施形態においては、無効化処理は反対方向に動作し、カウンタを減少させる。このようにして、同時に有効化されているライセンスの数がライセンス数（最大インストール数）に達しない限り、同じ製品ライセンスが多くのコンピュータを跨って移動し得る。
【００６９】
【表１２】
2015219911.tif 000014
【００７０】
【表１３】
2015219911.tif 000015
【００７１】
【表１４】
2015219911.tif 000016
【００７２】
複数有効化ライセンスモデルにおいて、ライセンスについての階層アップグレードが実行される場合、“登録”テーブルのマスタ記録が放置され、新たな記録が作成される。しかしながら、これらの記録は、NetSuiteライセンスＩＤによって相互に結合されるので、顧客は、複数の有効化キーのうち任意のものを使用し得る。
【００７３】
【表１５】
2015219911.tif 000017
【００７４】
表１６では、新たな記録は未だ作成されていない。
【００７５】
【表１６】
2015219911.tif 000018
【００７６】
表１７では、記録が消去され再作成される。
【００７７】
【表１７】
2015219911.tif 000019
【００７８】
図５は、ある実施形態に係る装置２０の例を示す。ある実施形態においては、装置２０は、前記したライセンスサーバのように、通信ネットワーク内に存在する、又は、そのようなネットワークの役目を果たすノード、ホスト又はサーバであってもよい。装置２０が図５に示されていない構成及び機能を含み得ることを、当業者であれば理解できるはずである。
【００７９】
図５に示されるように、装置２０は、情報を処理し命令又は動作を実行するプロセッサ３２を有してもよい。プロセッサ３２は、任意のタイプの汎用目的プロセッサ又は専用目的プロセッサであってもよい。図５には１つのプロセッサ３２が示されているが、他の実施形態においては、複数のプロセッサが使用されてもよい。実際には、プロセッサ３２は、例えば、１又は複数の汎用目的コンピュータ、専用目的コンピュータ、マイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰｓ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡｓ）、特定用途集積回路（ＡＳＩＣｓ）、及び、複数コアプロセッサアーキテクチャに基づくプロセッサを含む。
【００８０】
装置２０は、内部にメモリ３４をさらに有してもよいし、外部のメモリ３４に接続されていてもよい。メモリ３４は、プロセッサ３２に接続されており、情報及びプロセッサ３２が実行する命令を記憶する。メモリ３４は、１又は複数のメモリであってもよく、ローカルアプリケーション環境に適した任意のタイプであってもよい。メモリ３４は、半導体ベース記憶装置、磁気記憶装置及びシステム、光学的記憶装置及びシステム、固定記憶装置、及び、移動可能記憶装置のような、任意の適切な揮発性又は不揮発性のデータ記憶技術を使用して実現されてもよい。例えば、メモリ３４は、ランダムアクセスメモリ（ＲＡＭ）、読み出し専用メモリ（ＲＯＭ）、磁気ディスク若しくは光学ディスクのような静的記憶媒体、又は、任意の他のタイプの非一時的な機器若しくはコンピュータ読取可能な媒体の組み合わせから構成されてもよい。メモリ３４に記憶された命令は、プロセッサ３２によって読み取られるとそこに記述されるタスクを装置２０に実行させる、プログラム命令又はコンピュータプログラムコードを含んでもよい。
【００８１】
装置２０は、１又は複数のアンテナ３５を有してもよいし、１又は複数のアンテナ３５に接続されていてもよい。アンテナ３５は、装置２０との間で情報及び／又はデータを送受信する。代替的に、装置２０は、ネットワークを介して情報を送受信する通信インタフェース又は通信ポートを有してもよい。装置２０は、さらに、情報を送受信する送受信機３８を有してもよいし、送受信機３８に接続されていてもよい。送受信機は、リモートラジオヘッドのような外部装置であってもよい。送受信機３８は、例えば、情報を変調し、アンテナ３５が送信する搬送波形上に変調した情報を乗せ、アンテナ３５が受信した搬送波形から変調された情報を取り出し、取り出した情報を復調し装置２０の他の構成要素に処理させてもよい。他の実施形態においては、送受信機３８は、信号又はデータを直接送受信することができる。
【００８２】
プロセッサ３２は、装置２０の動作に関する機能を実行してもよい。当該機能は、アンテナの利得／位相パラメータのプリコード化、通信メッセージを形成する個々のビットの符号化及び復号化、情報のフォーマット、及び、通信リソースの管理に関する処理を含む装置２０の統括制御を含むが、これらに限定されない。
【００８３】
ある実施形態においては、メモリ３４は、プロセッサに実行されると機能を提供するソフトウエアモジュールを記憶する。ソフトウエアモジュールは、例えば、装置２０向けのオペレーティングシステム機能を提供するオペレーティングシステムを含んでもよい。メモリ３４は、アプリケーション又はプログラムのような１又は複数の機能モジュールを記憶して、装置２０に追加機能を提供してもよい。装置２０の構成は、ハードウエアで実現されてもよいし、ハードウエア及びソフトウエアの任意の適切な組み合わせとして実現されてもよい。
【００８４】
前記したように、ある実施形態によれば、装置２０は、通信ネットワーク内のサーバ、ノード、ホスト又はベースステーションであってもよいし、そのようなネットワーク、そのようなライセンスサーバの役割を果たしてもよい。この実施形態においては、装置２０は、メモリ３４及びプロセッサ３２に制御されて、製品のライセンスが有効化されるとすぐに、登録記録をデータベース中に作成してもよい。登録記録は、ライセンスを有効化する有効化キーを含んでもよい。ある実施形態によれば、装置２０は、さらに、メモリ３４及びプロセッサ３２に制御されて、ライセンスに変更が生じたとき、新たな有効化キーを有する新たな登録記録を生成してもよいし、作成済の登録記録を新たな登録記録に結合するグローバルに唯一無二の識別子を生成してもよいし、データベース中に、結合された作成済の登録記録及び新たな登録記録を記憶してもよい。ある実施形態においては、ライセンスに生じる変更は、製品アップグレード又は保守更新のうち少なくとも１つを含む。
【００８５】
ある実施形態においては、装置２０は、さらに、メモリ３４及びプロセッサ３２に制御されて、製品の特徴を有効化しようとするユーザからライセンスの有効化キーを受信し、受信した有効化キーを使用して、新たな有効化キーを求めて結合された作成済の登録記録及び新たな登録記録を検索する。新たな有効化キーが発見されたとき、装置２０は、さらに、メモリ３４及びプロセッサ３２に制御されて、新たな有効化キーを使用して製品の特徴を有効化してもよい。
【００８６】
図６は、ある実施形態に係る方法のフロー図の一例を示す。ある実施形態においては、図６の方法は、前記したライセンスサーバのようなサーバによって実行されてもよい。ある実施形態によれば、ステップ６００において、サーバは、製品のライセンスが有効化されると、登録記録をデータベース中に作成する。登録記録は、当該ライセンスを有効化する少なくとも１つの有効化キーを含んでもよい。ステップ６１０において、サーバは、ライセンスに変更が生じたとき、新たな有効化キーを含む新たな登録記録を生成する。ステップ６２０において、サーバは、作成済の登録記録を新たな登録記録に結合するグローバルに唯一無二の識別子（ＧＵＩＤ）を生成する。ステップ６３０において、サーバは、データベースに、結合された作成済の登録記録及び新たな登録記録を記憶する。
【００８７】
ある実施形態においては、ステップ６４０において、サーバは、製品の特徴を有効化しようとするユーザからライセンスの有効化キーを受信し、ステップ６５０において、受信した有効化キーを使用して、新たな有効化キーを求めて、結合された作成済の登録記録及び新たな登録記録を検索する。結合された登録記録中で新たな有効化キーが発見されたとき、ステップ６６０において、サーバは、新たな有効化キーを使用して製品の特徴を有効化する。
【００８８】
いくつかの実施形態においては、図６の方法のように、ここに記述された任意の方法の機能は、メモリ、他のコンピュータ読取可能な媒体又は他の有形媒体に記憶され、プロセッサによって実行されるソフトウエア及び／又はコンピュータプログラムコードによって実現されてもよい。他の実施形態においては、特定用途集積回路（ＡＳＩＣ）、プログラマブルゲートアレイ（ＰＧＡ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、又は、ハードウエア及びソフトウエアの任意の他の組み合わせを使用することによって、機能がハードウエアで実行されてもよい。
【００８９】
開示されたものとは異なる順序で、及び／又は、開示されたものとは別のハードウエア構成で前記の本発明が実行されてもよいことを当業者は容易に理解できるであろう。したがって、好ましい実施形態に基づいて本発明が記述されてきたが、本発明の主旨を逸脱することなく本発明を修正し、変形し及び代替的に構成することが可能であることが当業者には明らかである。したがって、本発明の境界線を決定するためには、特許請求の範囲を参照するべきである。
【図１】
2015219911.tif 000020
【図２】
2015219911.tif 000021
【図３】
2015219911.tif 000022
【図４】
2015219911.tif 000023
【図５】
2015219911.tif 000024
【図６】
2015219911.tif 000025
【外国語明細書】
2015219911000001.pdf