環境条件判別型ライセンス消費システム及びその方法、並びに、機能提供サーバ及びそのプログラム
【課題】アプリケーションの起動等をする際に、無駄なライセンス消費を防ぐ。
【解決手段】与えられたライセンスに基づいてアプリケーションソフトウェアが動作する情報機器と、前記情報機器に前記ライセンスを付与する機能提供サーバと、を有するライセンス消費システムの、前記機能提供サーバが、前記ライセンスと、当該ライセンスを付与するための条件である動作条件を記憶し、前記情報機器が、前記アプリケーションソフトウェアの起動を試みる際に、当該アプリケーションソフトウェアのライセンス取得要求と、当該情報機器の動作環境と、を前記機能提供サーバに送信し、前記機能提供サーバが、前記要求されたライセンスに対応するアプリケーションソフトウェアの動作条件と、前記情報機器の動作環境と、を比較し、当該動作環境が当該動作条件を満たす場合には、前記情報機器に前記ライセンスを付与する。
【解決手段】与えられたライセンスに基づいてアプリケーションソフトウェアが動作する情報機器と、前記情報機器に前記ライセンスを付与する機能提供サーバと、を有するライセンス消費システムの、前記機能提供サーバが、前記ライセンスと、当該ライセンスを付与するための条件である動作条件を記憶し、前記情報機器が、前記アプリケーションソフトウェアの起動を試みる際に、当該アプリケーションソフトウェアのライセンス取得要求と、当該情報機器の動作環境と、を前記機能提供サーバに送信し、前記機能提供サーバが、前記要求されたライセンスに対応するアプリケーションソフトウェアの動作条件と、前記情報機器の動作環境と、を比較し、当該動作環境が当該動作条件を満たす場合には、前記情報機器に前記ライセンスを付与する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報機器に組み込まれるアプリケーションソフトウェアのライセンスの消費に関する。
【背景技術】
【0002】
近年、パーソナルコンピュータ(Personal computer:以下「PC」と呼ぶ。)を中心とした情報機器上で動作する様々なアプリケーションソフトウェア(以下「アプリケーション」と呼ぶ。)が販売されている。そして、その販売手段も、パッケージソフトウェアとしてCD−ROM等の記録媒体にアプリケーションを格納して販売する手法から、流通コストやバージョン管理の面での優位性から、徐々にインターネット等のネットワークからアプリケーションは無償でダウンロード可能とし、そのアプリケーションを起動させるためのライセンスキーコード(以下「ライセンス」と呼ぶ。)を販売する手法に変化している。
【0003】
また、1個のライセンスでアプリケーションの全ての機能を有効化するのではなく、アプリケーションの機能単位でライセンスを別々に販売することで、基本機能のライセンスを安価に提供し初期導入コストを極力抑えることで多くのユーザに購入・使用してもらい、徐々に追加機能の別ライセンスを別途購入してもらうことでトータルの販売額を底上げする販売手法も盛んに行われるようになってきた。
【0004】
もしくは、企業ユーザのように、多数のライセンスを一括して購入しサーバに登録し、オフィスの従業員の内、そのアプリケーションを利用する者の情報機器でアプリケーションや機能を利用する際にサーバからライセンスを取得するような使い方をする場合がある。
【0005】
このような、技術の一例が特許文献1に記載されている。特許文献1に記載の技術では顧客企業の多数の社員が使用する多種類のソフトウェア商品のライセンス管理を簡易に実現することを目的とする。具体的には、顧客の各ユーザ端末に設けられ、ソフトウェア商品がインストールされた当該ユーザ端末で、一意のライセンスキーをもとに当該ソフトウェア商品を起動して使用可とするエージェントと、顧客のユーザ端末からのキー発行依頼に対応して当該顧客の発行済みのライセンス数を管理すると共に当該ユーザ端末に一意のライセンスキーを作成して返送して保存させる管理センタとを備え、管理を行っている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2006−059163号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
上述したように、アプリケーションの販売方法及び管理方法は多岐にわたり、販売者や、ユーザのニーズに応えている。しかしながら、アプリケーションのライセンスを管理する場合下述するような問題が発生する場合がある。
【0008】
PC等の情報機器のオペレーティングシステム(Operating System:以下「OS」と呼ぶ。)やハードウェア・周辺機器は多種多様である。そして、新しいOSや周辺機器が発売されてもすぐにはアプリケーション側で対応できない。そのため、ライセンスを購入したもののアプリケーションが動作しない、または、追加機能が動作しないという問題が発生することがある。
【0009】
特に、アプリケーションの発売後に発売されたOSや周辺機器で問題が発生した場合には、これらのOSや周辺機器でアプリケーションが正常に使用できない。それにも関わらず、アプリケーションをアップデートしない限りは、それらのOS、周辺機器を利用しているPCでもアプリケーションはライセンスを消費してしまう場合がある。このような場合には、せっかく購入したライセンスが無駄になるという問題が発生することがある。
【0010】
また、特許文献1に記載の技術のようにオフィスの従業員の内、そのアプリケーションを利用する者の情報機器でアプリケーションや機能を利用する際にサーバからライセンスを取得するような使い方をする場合に、アプリケーションの動作条件を満たさない情報機器がライセンスを消費してしまい、他の情報機器がライセンスを取得できないという事態も発生している。
【0011】
これらの問題はアプリケーションを最新にアップデートすれば解決するが、一般的に、ユーザはライセンスを追加で購入する際でも、アプリケーションを最新にアップデートしない場合がある。また、新しいアプリケーションの開発に時間がかかる場合もあり、その間にユーザがライセンスを購入した場合には対応できない。
【0012】
そこで、本発明は、アプリケーションの起動もしくは機能を有効化する際に、無駄なライセンス消費を防ぐことが可能な、環境条件判別型ライセンス消費システム及びその方法、並びに、機能提供サーバ及びそのプログラムを提供することを目的とする。
【課題を解決するための手段】
【0013】
本発明の第1の観点によれば、与えられたライセンスに基づいてアプリケーションソフトウェアが動作する情報機器と、前記情報機器に前記ライセンスを付与する機能提供サーバと、を有するライセンス消費システムにおいて、前記機能提供サーバが、前記ライセンスと、当該ライセンスを付与するための条件である動作条件を記憶し、前記情報機器が、前記アプリケーションソフトウェアの起動を試みる際に、当該アプリケーションソフトウェアのライセンス取得要求と、当該情報機器の動作環境と、を前記機能提供サーバに送信し、前記機能提供サーバが、前記要求されたライセンスに対応するアプリケーションソフトウェアの動作条件と、前記情報機器の動作環境と、を比較し、当該動作環境が当該動作条件を満たす場合には、前記情報機器に前記ライセンスを付与することを特徴とするライセンス消費システムが提供される。
【0014】
本発明の第2の観点によれば、与えられたライセンスに基づいてアプリケーションソフトウェアが動作する情報機器と接続され、前記情報機器に前記ライセンスを付与する機能提供サーバにおいて、前記ライセンスと、当該ライセンスを付与するための条件である動作条件を記憶する記憶手段と、前記情報機器が前記アプリケーションソフトウェアの起動を試みる際に前記情報機器から送信されてくる、当該アプリケーションソフトウェアのライセンス取得要求と、当該情報機器の動作環境と、を受信する通信手段と、を備え、前記要求されたライセンスに対応するアプリケーションソフトウェアの動作条件と、前記情報機器の動作環境と、を比較し、当該動作環境が当該動作条件を満たす場合には、前記情報機器に前記ライセンスを付与することを特徴とする機能提供サーバが提供される。
【0015】
本発明の第3の観点によれば、与えられたライセンスに基づいてアプリケーションソフトウェアが動作する情報機器と、前記情報機器に前記ライセンスを付与する機能提供サーバと、を有するシステムが行うライセンス消費方法において、前記機能提供サーバが、前記ライセンスと、当該ライセンスを付与するための条件である動作条件を記憶し、前記情報機器が、前記アプリケーションソフトウェアの起動を試みる際に、当該アプリケーションソフトウェアのライセンス取得要求と、当該情報機器の動作環境と、を前記機能提供サーバに送信し、前記機能提供サーバが、前記要求されたライセンスに対応するアプリケーションソフトウェアの動作条件と、前記情報機器の動作環境と、を比較し、当該動作環境が当該動作条件を満たす場合には、前記情報機器に前記ライセンスを付与することを特徴とするライセンス消費方法が提供される。
【0016】
本発明の第4の観点によれば、与えられたライセンスに基づいてアプリケーションソフトウェアが動作する情報機器と接続され、前記情報機器に前記ライセンスを付与するサーバ、に搭載される機能提供プログラムにおいて、前記ライセンスと、当該ライセンスを付与するための条件である動作条件を記憶する記憶手段と、前記情報機器が前記アプリケーションソフトウェアの起動を試みる際に前記情報機器から送信されてくる、当該アプリケーションソフトウェアのライセンス取得要求と、当該情報機器の動作環境と、を受信する通信手段と、を備え、前記要求されたライセンスに対応するアプリケーションソフトウェアの動作条件と、前記情報機器の動作環境と、を比較し、当該動作環境が当該動作条件を満たす場合には、前記情報機器に前記ライセンスを付与するサーバとしてコンピュータを機能させることを特徴とする機能提供プログラムが提供される。
【発明の効果】
【0017】
本発明によれば、アプリケーションの起動もしくは機能を有効化する際に、その情報機器がアプリケーションまたはその機能の動作条件を満たしているか、ライセンスを発行するサーバ側で確認する手段を提供し、動作条件を満たさない情報機器に対してはライセンスを発行しない。
【0018】
これにより、アプリケーション発売後に発売された機能動作に問題があるOSや周辺機器を利用しても、アプリケーションを更新しなくても、ライセンスサーバ側の更新のみで無駄なライセンス消費を防ぐことが可能となる。
【図面の簡単な説明】
【0019】
【図1】本発明の実施形態の全体の基本的構成を表す図である。
【図2】本発明の実施形態における機能提供サーバの基本的構成を表す図である。
【図3】本発明の実施形態における情報機器の基本的構成を表す図である。
【図4】本発明の実施形態における情報機器ソフトウェアの基本的構成を表す図である。
【図5】本発明の実施形態におけるライセンスサポート情報テーブルの一例を表す図である。
【図6】本発明の実施形態におけるライセンスサポート条件テーブルの一例を表す図である。
【図7】本発明の実施形態におけるライセンスサポート条件テーブルの一例を表す図である。
【図8】本発明の実施形態における情報機器環境テーブルの一例を表す図である。
【図9】本発明の実施形態の基本的動作を表す図(1/2)である。
【図10】本発明の実施形態の基本的動作を表す図(2/2)である。
【図11】本発明の実施形態におけるライセンス取得エラー表示の一例を表す図である。
【図12】本発明の実施形態におけるライセンス取得エラー表示の一例を表す図である。
【図13】本発明の実施形態におけるアプリケーションソフトウェア内ライセンスサポート情報テーブルの一例を表す図である。
【図14】本発明の実施形態におけるアプリケーションソフトウェア内ライセンスサポート条件テーブルの一例を表す図である。
【図15】本発明の実施形態におけるアプリケーションソフトウェア内ライセンスサポート条件テーブルの一例を表す図である。
【図16】本発明の実施形態におけるアプリケーションソフトウェア内ライセンスサポート条件テーブルの一例を表す図である。
【発明を実施するための形態】
【0020】
次に、本発明の実施形態について図面を用いて詳細に説明する。
【0021】
まず、図1を参照して本発明の一実施形態全体の構成について説明する。図1に示されるのはオフィスに通信回線を通じて、情報機器とそれを管理する機能提供サーバがあり、オフィス外にライセンスを発行するライセンスサーバがあるという構成である。このオフィスは、例えばアプリケーションを利用するユーザのオフィスであり、ライセンスサーバ300はアプリケーションを販売するソフトウェアベンダーが有しているサーバである。
【0022】
オフィス10には、機能提供サーバ100、情報機器200−1、及び200−Nが存在し、これらはオフィスの通信回線20を介して相互に接続されている。通信回線20は、有線接続であってもよく、その一部又は全てが無線接続であってもよい。また、図1においては二台の情報機器が図示されているが、これは一例に過ぎず任意の台数の情報機器が接続されていてもよい。
【0023】
機能提供サーバ100は、ライセンスサーバ300から発行されたライセンスの分配管理及び、情報機器への各種サービスを提供するためのサーバである。機能提供サーバ100はライセンスサーバ300、情報機器200と通信し、ライセンスの有無、情報機器の環境情報により、情報機器上で動作するアプリケーションの機能や、アプリケーションに提供するサービスを制御する。
【0024】
情報機器200は、アプリケーションを利用するための機器である。具体例としては、OS及びアプリケーションが組み込まれたPC等である。
【0025】
また、通信回線20は、オフィス外にあるライセンスサーバ300と接続されている。この接続は公衆網を利用してもよく、専用線によるものでもよい。
【0026】
次に、図2を参照して機能提供サーバ100の構成及び各部の動作の概略について説明する。
【0027】
機能提供サーバ100は、CPU110、記憶部120及び通信回線I/F130を有する。これら各部は内部回線140により相互に接続されている。また、記憶部120はデータベース121を有している。
【0028】
CPU110は、中央演算処理装置(CPU:Central Processing Unit)であり、機能提供サーバ100を制御する部分である。
【0029】
記憶部120は、一般的に、主記憶装置と呼ばれる装置と、補助記憶装置と呼ばれる装置により実現される記憶領域である。
【0030】
主記憶装置は一般的にRAM(Random Access Memory)等の、格納されたデータに任意の順序でアクセス可能な記憶装置により実現され、本実施形態においては、機能提供サーバ100の制御に必要なソフトウェアやデータを使用する際の作業領域として使用される。
【0031】
また、補助記憶装置は、HDD(Hard disk drive)やFlash SSD(Solid State Drive)といった記憶装置で実現され、本実施形態においては機能提供サーバ100の制御に必要なソフトウェアやデータ、データベース121等が格納される。
【0032】
データベース121は記憶部120上に保存されている各種設定データを保持するエリアである。
【0033】
通信回線I/F130は通信回線接続との信号の送受信を行うためのインターフェースである。
【0034】
次に、図3を参照して情報機器200の構成及び各部の動作の概略について説明する。
【0035】
情報機器200は、CPU210、記憶部220、周辺機器I/F230、通信回線I/F240を有する。これら各部は内部回線250により相互に接続されている。また、記憶部220は情報機器ソフトウェア221を有している。
【0036】
CPU210は、中央演算処理装置であり、情報機器200を制御する部分である。
【0037】
記憶部220は、記憶領域であり記憶部120同様に利用される。また、記憶部220が格納している情報機器ソフトウェア221は記憶部220上で動作しているソフトウェアである。情報機器ソフトウェア221の具体的内容については後述する。
【0038】
周辺機器I/F230は情報機器に接続された各種周辺機器との信号の送受信を行うためのインターフェースである。周辺機器I/F230は、周辺機器231〜233と接続されている。
【0039】
周辺機器231〜233は、情報機器200が利用する周辺機器であり、具体的にはどのような機器であってもよい。また、図3においては三台の周辺機器が図示されているが、これは一例に過ぎず任意の台数の周辺機器が接続されていてもよい。
【0040】
通信回線I/F240は通信回線との信号の送受信を行うためのインターフェースである。
【0041】
なお、上述した各機器ではCPUが、記憶部に格納されているソフトウェアを読み込み、記憶部上のメモリを利用しながら演算処理を行う。すなわち、本実施形態はCPUやメモリ、各種のインターフェースといったハードウェアと、プログラム(ソフトウェア)が協働することにより実現される。
【0042】
続いて、図4を参照して情報機器ソフトウェア221のモジュール構成について説明する。情報機器ソフトウェア221は、OS221−1、アプリケーション221−2及びアプリケーション221−3を含んでいる。
【0043】
OS221−1は情報機器200全体を管理するためのソフトウェアである。OS221−1は、本実施形態特有のOSである必要は無く、例えばWindows(登録商標)のような汎用のOSであってもよい。
【0044】
アプリケーション221−2及びアプリケーション221−3は、OS221−1上で動作するアプリケーションソフトウェアである。アプリケーション221−2及びアプリケーション221−3は、どのような機能を実現するためのアプリケーションであってもよい。また、図4において2つのアプリケーションが図示されているが、これは一例に過ぎず任意の個数のアプリケーションが組み込まれていてもよい。
【0045】
次に、図5〜図8を参照して本実施形態において利用されるテーブルについて説明する。なお、これらのテーブルは具体例の一つに過ぎない。これらのテーブルの、構成や、その内容は、本実施形態の趣旨を逸脱しない範囲において任意に変更することが可能である。なお、各項目の内容が例示に過ぎないことを明確とする趣旨で、各図面では「例:」との記載を項目毎に図示している。
【0046】
図5は機能提供サーバ100の記憶部120に格納されるデータベース121の内容のうち、各機能のライセンスを有効にするのに必要な情報機器環境の条件を格納するライセンスサポート情報テーブルである。なお、データベース121には、本ライセンスサポート情報テーブルが、提供・管理する機能の数だけ存在する。
【0047】
機能番号501には、機能提供サーバが提供・管理する機能を識別するための機能番号が格納される。機能名称502には、機能の名称が格納される。アプリケーションバージョン503には、機能のバージョン範囲が格納され、サポート条件テーブル504には、該当するアプリケーションバージョン503に記載されたバージョン範囲の機能のライセンスを有効するのに必要な情報機器環境の条件を定義するテーブルを識別するためのテーブル番号がバージョン範囲毎に格納される。
【0048】
ここで、バージョン(version、「Ver.」と記述することもある。)とは、ソフトウェア(アプリケーション)が最初に開発されてから何回改訂・更新されたかを識別するための表記であるものとする。ソフトウェアは一旦開発された後であっても、性能向上や、バグ等と呼ばれる不具合の修正などを目的として、改訂・更新が行われており、この改訂・更新を識別するためにバージョンという表記が一般的に用いられている。
【0049】
図6及び図7で示されているのは、前述のサポート条件テーブル504に格納されるテーブル番号で定義されるサポート条件テーブル本体である。これらサポート条件テーブルは、ライセンスサポート情報テーブルと同様にデータベース121に格納されている。
【0050】
テーブル番号601、701はサポート条件テーブル504に格納されるテーブル番号と紐づけるための識別番号である。項目番号602、702は情報機器環境の条件の各項目を識別する番号が格納される。項目名称603、703は各条件項目の名称が格納される。判断条件604、704は、各機能のライセンスを有効・無効を判断するための判断条件が項目毎に格納され、第1の条件値605、705、第2の条件値606、706、第3の条件値707と合わせて環境条件を規定する。
【0051】
なお、本実施形態では、サポート条件テーブルは002まで、項目番号は4まで、条件値は2つ若しくは3つまでとなっているが、これは各機能の環境条件によって増減する。また、例としてCPUのクロック数を一つの項目としているが、CPUクロック数のみならず、例えば搭載されているメモリの容量等を基準としてもよい。
【0052】
図8で示されているのは、情報機器200の記憶部220に格納される情報機器ソフトウェア221のうち、アプリケーション221−2、403のそれぞれが情報機器の環境を各々取得した情報が格納される情報機器環境テーブルである。なお、この報機器環境テーブルの内容は本願発明の「動作環境」に相当するものである。
【0053】
情報機器環境テーブルは、記憶部220上にアプリケーション起動毎に格納される。項目番号801は、前述の項目番号602、702と対応する識別番号であり、情報機器環境の条件の各項目を識別する番号が格納される。項目名称802も、前述の項目名称603、703と対応する名称が格納される。情報機器環境803は、各項目に対応する実際の情報機器環境が格納される。情報機器環境テーブルをアプリケーション起動毎に更新することにより、情報機器の最新の情報を情報機器環境テーブルに反映させることが可能となる。例えば、OSをバージョンアップ後にアプリケーションを起動させた場合は、OSがバージョンアップしていることが即座に情報機器環境テーブルに反映されることとなる。
【0054】
次に、本実施形態の動作について図9及び図10のフローチャートを参照して具体的に説明する。
【0055】
今回は、ライセンスサーバ300からライセンスキーコードを入手して機能提供サーバ200にライセンスキーコードを投入し、情報機器200上のアプリケーション221−2と、アプリケーション221−3から”音声通話”機能のライセンスと機能提供を機能提供サーバ100に要求する場合について説明する。
【0056】
前提として、アプリケーション221−2のアプリケーションバージョンは”1.0.0.0”であるものとする。また、アプリケーション221−3のアプリケーションバージョンは”2.0.0.0”であるものとする。また、情報機器200は図8の例で示されるように、OSとして”OS V1SP2”を利用し、周辺機器231〜307のうち”NEC-HANDSET-V3”を音源として設定し、CPUのクロック数は”1000Hz”、ブラウザのバージョンは”7.0”であるものとする。
【0057】
まず、ユーザがライセンスサーバ300から”音声通話”のライセンスキーコードを購入して入手する(ステップS901)。
【0058】
その後、ライセンスサーバ300が、ユーザが入手したライセンスキーコードを機能提供サーバ100に対して、通信回線経由で送信する(ステップS902)。
【0059】
機能提供サーバ100は、受信したライセンスキーコードを解読し、図5、図6に示されるライセンスサポート情報、サポート条件テーブルを抽出して501〜504、601〜606、701〜707に例で示されるように記憶部120上のデータベース121に格納する。ライセンス数も同様に抽出して記憶部120上の別のデータベースに未消費ライセンスとして格納する(ステップS903)。
【0060】
次に、情報機器200上でユーザが、まずアプリケーションバージョンが”1.0.0.0”であるアプリケーション221−2を起動する(ステップS1001)。
【0061】
アプリケーション221−2は、記憶部220上に、図8で示される情報機器環境テーブルを情報機器環境803にデータが格納されていない状態で作成する。そして、アプリケーション221−2は、OS221−1に問い合わせを行い、OS情報を入手して項目番号801が”1”のエリアの情報機器環境803にOS情報”OS V1SP2”を格納する。
【0062】
また、アプリケーション221−2は、自らの設定情報を参照し項目番号801が”2”のエリアの情報機器環境803に設定音源情報”NEC-HANDSET-V3”を格納する。更に、アプリケーション221−2は、OS221−1に問い合わせを行い、CPU情報を入手して項目番号801が”3”のエリアの情報機器環境803にCPUクロック情報”1000Hz”を格納する。加えて、アプリケーション221−2は、OS221−1に問い合わせを行い、ブラウザ情報を入手して項目番号801が”4”のエリアの情報機器環境803にブラウザバージョン情報”7.0”を格納する。
【0063】
アプリケーション221−2は、上記情報が格納された情報機器環境テーブルを機能提供サーバ100に通信回線経由で送信する(ステップS1002)。
【0064】
情報機器環境テーブルを受信した機能提供サーバ100は、その情報機器環境テーブルを記憶部120に一時的なデータとして格納する。
【0065】
次に、アプリケーション221−2は、自身の設定を参照し必要なライセンスを確認し、その結果、必要なライセンス”音声通話”機能の機能番号”機能001”(図中では「機能番号 X」と表記する。)のライセンス要求を、自身のアプリケーションバージョン”1.0.0.0” (図中では「機能番号 Y」と表記する。)と共に機能提供サーバ100に送信する(ステップS1003)。
【0066】
機能番号”機能001”のライセンス要求とアプリケーションバージョン”1.0.0.0”を受信した機能提供サーバ100は、まず機能番号”機能001”の未消費ライセンスが存在するかデータベースを参照する。本実施形態では1つ未消費ライセンスがあるとする。そして、未消費ライセンスがあるため、次にライセンスサポート情報テーブルの機能番号”機能001”のエリアのアプリケーションバージョン503の”1.0.0.0”が該当するエリアを探す。
【0067】
”1.0.0.0”は”1.0.0.0”未満でなく、”1.0.0.0”より大きいかつ”2.0.0.0”より小さくもなく、”2.0.0.0”でもなく、”2.0.0.0”よりも大きくないため、アプリケーションバージョン503の”1.0.0.0”が該当する範囲のサポート条件テーブル504を参照し、そこに格納された”テーブル001”を参照する。
【0068】
図6は”テーブル001”に示される情報を格納しており、機能提供サーバ100は、前述の一時的なデータとして格納した情報機器200の情報機器環境テーブル(図8参照)との比較を行う。
【0069】
機能提供サーバ100は、図6に示される”テーブル001”に格納された情報から、サポート条件を、項目番号”1”、項目名称”OS”が”OS 1SPなし”と”等しい”という条件と、項目番号”1”、項目名称”OS”が”OSV1SP1”と”等しい”という条件と、項目番号”2”、項目名称”設定音源”が”NEC-HANDSET-V1”と”等しい”という条件と、項目番号”2”、項目名称”設定音源”が”NEC-HANDSET-V2”と”等しい”という条件と、項目番号”3”、項目名称”CPUクロック”が”800Hz”“以上”という条件と、項目番号”4”、項目名称”ブラウザバージョン”が”6.0”“以上”という条件を読み取る。
【0070】
情報機器200の情報機器環境テーブル(図8参照)との比較を行った結果、項目番号”1”と項目番号”2”の条件を満たしていないことが判明する(ステップS1004においてNO)。
【0071】
機能提供サーバ100は、情報機器200に対して、ライセンス取得の失敗の結果通知と、どの条件を満たしていないかの情報を送信する。情報機器200上のアプリケーション221−2はその情報を元に、図11に示されるエラー表示を生成する。その結果図12のようなエラーメッセージが表示される(ステップS1007)。なお、図11及び図12に示されるエラー表示はあくまでも一例であり、具体的な文面は任意のものとすることが可能である。
【0072】
アプリケーション221−2が、他のライセンスも必要な設定になっていれば(ステップS1008においてYES)、引き続き他のライセンス要求を行う(ステップS1003)が、本実施形態では”音声通話”ライセンスのみ必要であるため、ライセンス取得処理を終了する(ステップS1008においてNO、ステップS1008)。
【0073】
次に、情報機器200上でユーザが、アプリケーションバージョンが”2.0.0.0”であるアプリケーション221−3を起動する(ステップS1001)。
【0074】
アプリケーション221−3は、記憶部220上に、図8で示される情報機器環境テーブルを情報機器環境803にデータが格納されていない状態で作成する。そして、アプリケーション221−3は、OS221−1に問い合わせを行い、OS情報を入手して項目番号801が”1”のエリアの情報機器環境803にOS情報”OS V1SP2”を格納する。また、アプリケーション221−3は、自らの設定情報を参照し項目番号801が”2”のエリアの情報機器環境803に設定音源情報”NEC-HANDSET-V3”を格納する。更に、アプリケーション221−3は、OS221−1に問い合わせを行い、CPU情報を入手して項目番号801が”3”のエリアの情報機器環境803にCPUクロック情報”1000Hz”を格納する。加えて、アプリケーション221−3は、OS221−1に問い合わせを行い、ブラウザ情報を入手して項目番号801が”4”のエリアの情報機器環境803にブラウザバージョン情報”7.0”を格納する。
【0075】
アプリケーション221−3は、上記情報が格納された情報機器環境テーブルを機能提供サーバ100に通信回線経由で送信する(ステップS1002)。
【0076】
情報機器環境テーブルを受信した機能提供サーバ100は、その情報機器環境テーブルを記憶部120の一時的なデータとして格納する。
【0077】
アプリケーション221−3は、自身の設定を参照し必要なライセンスを確認し、その結果、必要なライセンス”音声通話”機能の機能番号”機能001”のライセンス要求を、自身のアプリケーションバージョン”2.0.0.0”と共に機能提供サーバ100に送信する(ステップS1003)。
【0078】
機能番号”機能001”のライセンス要求とアプリケーションバージョン”2.0.0.0”を受信した機能提供サーバ100は、まず機能番号”機能001”の未消費ライセンスが存在するかデータベースを参照する。本実施形態では1つ未消費ライセンスがあるため、次にライセンスサポート情報テーブルの機能番号”機能001”のエリアのアプリケーションバージョン503の”2.0.0.0”が該当するエリアを探す。
【0079】
”2.0.0.0”は”1.0.0.0”未満でなく、”1.0.0.0”より大きいかつ”2.0.0.0”より小さくもなく、”2.0.0.0”であり、”2.0.0.0”よりも大きくないため、エリアのアプリケーションバージョン503の”2.0.0.0”が該当する範囲のサポート条件テーブル504を参照し、そこに格納された”テーブル002”を参照する。
【0080】
図6は”テーブル002”に示される情報を格納しており、機能提供サーバ100は、前述の一時的なデータとして格納した情報機器200の情報機器環境テーブル(図8参照)との比較を行う。
【0081】
機能提供サーバ100は、図6に示される”テーブル002”に格納された情報から、サポート条件を、項目番号”1”、項目名称”OS”が”OSV1SPなし”と”等しい”という条件と、項目番号”1”、項目名称”OS”が”OS V1SP1”と”等しい”という条件と、項目名称”OS”が” OS V1SP2”と”等しい”という条件と、項目番号”2”、項目名称”設定音源”が”NEC-HANDSET-V1”と”等しい”という条件と、項目番号”2”、項目名称”設定音源”が”NEC-HANDSET-V2”と”等しい”という条件と、項目番号”2”、項目名称”設定音源”が”NEC-HANDSET-V3”と”等しい”という条件と、項目番号”3”、項目名称”CPUクロック”が”1000Hz”“以上”という条件と、項目番号”4”、項目名称”ブラウザバージョン”が”6.0”“以上”という条件を読み取る。
【0082】
情報機器200の情報機器環境テーブル(図8参照)との比較を行った結果、全ての項目番号の条件を満たしていることが判明する(ステップS1004においてYES)。
【0083】
機能提供サーバ100は、データベースに格納されている”音声通話”機能のライセンスを一つ未消費状態から消費済み状態に変更する(ステップS1005)。
【0084】
機能提供サーバ100は、情報機器200に対して、ライセンス取得の成功の結果通知を送信すると共に情報機器200に対する”音声通話”機能の提供を開始する。情報機器200上のアプリケーション221−3は成功結果通知を受信すると、”音声通話”機能を有効化する(ステップS1006)。
【0085】
アプリケーション221−3が、他のライセンスも必要な設定になっていれば(ステップS1008においてYES)、引き続き他のライセンス要求を行う(ステップS1003)が、本実施形態では”音声通話”ライセンスのみ必要であるため、ライセンス取得処理を終了する(ステップS1008においてNO、ステップS1008)。
【0086】
上述の実施形態により、ユーザがアプリケーションを購入した後に、新しいOSや周辺機器が発売され、かつ、その新しいOSや周辺機器では機能が動作しないことが判明した場合でも、アプリケーションを更新せずに、ライセンスサーバ側を更新するのみで、機能動作条件を満たしていない情報機器・アプリケーションによって機能ライセンスが無駄に消費されないようにすることが可能となる、という効果を奏する。
【0087】
また、ユーザはライセンスを追加で購入する際でも、アプリケーションを最新にアップデートしない場合があるが、ライセンスサーバは一般的に製品提供側が管理・運用しているため、ライセンスサーバの更新は即座に可能である場合が多いため、上記効果はより顕著なものとなる。
【0088】
次に、前述した実施形態を変形した、第1の変形例について説明する。
【0089】
前述の実施形態では、ライセンスサーバ300で購入したライセンスキーコードを機能提供サーバ100に投入した時点でのみ、ライセンスキーコード内の情報により図5のライセンスサポート情報テーブル、図6及び図7のサポート条件テーブルが書き込まれていたが、これを、機能提供サーバ100が定期的にライセンスサーバ300と通信して自動的に更新されるようにしてもよい。
【0090】
この場合に、図9の流れ図ステップS901〜903が実行された後、任意の一定時間毎に以下の処理が実行される。なお、これ以外の他のステップにおける処理に変更はない。
【0091】
まず機能提供サーバ100が、データベースに現在書き込まれている全ての保有ライセンス(未消費及び消費済み)の機能番号をライセンスサーバ300に対して、サポート条件更新要求として通信回線経由で送信する。
【0092】
ライセンスサーバ300は、サポート条件更新要求を受信すると、受信した全ての機能番号の図5のライセンスサポート情報テーブル、図6及び図7のサポート条件テーブルに該当する情報を機能提供サーバ100に送信する。
【0093】
機能提供サーバ100は、受信した図5、図6に示されるライセンスサポート情報、サポート条件テーブルを501〜504、601〜606、701〜707に上書きして格納する。加えて、サポート条件テーブルが上書きされるのみならず、新たなサポート条件テーブルが追加される場合もある。
【0094】
これにより、ユーザがライセンスキーコードを購入した後に、新しいOSや周辺機器が発売され、かつ、その新しいOSや周辺機器では機能が動作しないことが判明した場合でも、ライセンスサーバ側の情報のみを更新するだけで、ユーザが機能提供サーバ100のサポート情報テーブル、サポート条件テーブルを手動で更新しなくても無駄なライセンス消費を防ぐことができるようになる。
【0095】
次に、前述した実施形態を変形した、第2の変形例について説明する。
【0096】
前述の実施形態では、ライセンスサーバ300で購入したライセンスキーコードを機能提供サーバ100に投入した時点でのみ、図5のライセンスサポート情報テーブル、図6及び図7のサポート条件テーブルが書き込まれていたが、これを、アプリケーション221−2、221−3の内部にあらかじめ記録しておいて、アプリケーションが起動した際に、アプリケーションが機能提供サーバ100に対して送信するようにしても良い。
【0097】
この第2の変形例の動作を、アプリケーション221−3のバージョンが”3.0.0.0”である場合を例にして説明する。
【0098】
図10のステップS1001とステップS1002の間に以下処理が実行される。
【0099】
アプリケーション221−3が自身のアプリケーションバージョンと、自身が必要とする機能の図13のライセンスサポート情報テーブル、図14、図15及び図16のサポート条件テーブルを機能提供サーバ100にサポート条件更新要求として送信する。
【0100】
サポート条件更新要求を受信した機能提供サーバ100は、データベースに記録された現状の図5のライセンスサポート情報テーブルのアプリケーションバージョン503を参照し、そこに記録された最も大きいバージョンが”2.0.0.0”であり、アプリケーション221−3より通知された図13のライセンスサポート情報テーブルに記録された最も大きいバージョン”3.0.0.0”より小さいため、受信した情報のほうが新しいと判断し、図5のライセンスサポート情報テーブル、図6及び図7のサポート条件テーブルを消去し、代わりに図13のライセンスサポート情報テーブル、図14、図15及び図16のサポート条件テーブルを格納する。
【0101】
後の処理は、ステップS1004でサポート条件の確認の際に機能提供サーバが確認するサポート条件が図13のライセンスサポート情報テーブルと、図14、図15及び図16のサポート条件テーブルに変更される以外は前述の実施形態と変更ない。
【0102】
これにより、アプリケーションのバージョンが上がった場合等にサポート条件が変更された場合で、ライセンスサーバ300や機能提供サーバ100内に格納されているサポート条件が古いままであっても、ユーザが利用しているアプリケーションのうち、1つのアプリケーションのみを更新することで、新しいサポート条件を適用することができ、ライセンスの無駄な消費や、サポートされない環境で機能が実行される。
【0103】
なお、本発明の実施形態である、機能提供サーバ、情報機器、ライセンスサーバは、ハードウェアにより実現することもできるが、コンピュータをその機能提供サーバ、情報機器、ライセンスサーバとして機能させるためのプログラムをコンピュータがコンピュータ読み取り可能な記録媒体から読み込んで実行することによっても実現することができる。
【0104】
また、本発明の実施形態による環境条件判別型ライセンス消費方法は、ハードウェアにより実現することもできるが、コンピュータにその方法を実行させるためのプログラムをコンピュータがコンピュータ読み取り可能な記録媒体から読み込んで実行することによっても実現することができる。
【0105】
また、上述した実施形態は、本発明の好適な実施形態ではあるが、上記実施形態のみに本発明の範囲を限定するものではなく、本発明の要旨を逸脱しない範囲において種々の変更を施した形態での実施が可能である。
【0106】
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
【0107】
(付記1) 与えられたライセンスに基づいてアプリケーションソフトウェアが動作する情報機器と、前記情報機器に前記ライセンスを付与する機能提供サーバと、を有するライセンス消費システムにおいて、
前記機能提供サーバが、前記ライセンスと、当該ライセンスを付与するための条件である動作条件を記憶し、
前記情報機器が、前記アプリケーションソフトウェアの起動を試みる際に、当該アプリケーションソフトウェアのライセンス取得要求と、当該情報機器の動作環境と、を前記機能提供サーバに送信し、
前記機能提供サーバが、前記要求されたライセンスに対応するアプリケーションソフトウェアの動作条件と、前記情報機器の動作環境と、を比較し、当該動作環境が当該動作条件を満たす場合には、前記情報機器に前記ライセンスを付与することを特徴とするライセンス消費システム。
【0108】
(付記2) 付記1に記載のライセンス消費システムにおいて、
前記アプリケーションソフトウェアのバージョンに応じて、同一のアプリケーションソフトウェアであっても前記動作条件を変更可能なことを特徴とするライセンス消費システム。
【0109】
(付記3) 付記1又は2に記載のライセンス消費システムにおいて、
前記ライセンスが、アプリケーションソフトウェアが有する機能毎に存在しており、前記情報機器が、前記機能の何れかを有効とすることを試みる際に、当該機能を有するアプリケーションソフトウェアのライセンス取得要求と、当該情報機器の動作環境と、を前記機能提供サーバに送信することを特徴とするライセンス消費システム。
【0110】
(付記4) 付記1乃至3の何れか1項に記載のライセンス消費システムにおいて、
前記比較において、前記動作環境が前記動作条件を満たさなかった場合は、当該動作条件の内の、どの動作条件が不一致であるのかという情報を、前記情報機器に表示させることを特徴とするライセンス消費システム。
【0111】
(付記5) 付記1乃至4の何れか1項に記載のライセンス消費システムにおいて、
前記機能提供サーバが、定期的に外部と通信を行うことにより前記動作条件の変更がないか確認し、当該確認の結果変更があった場合は、前記記憶している動作条件を前記変更後の動作条件へと書き換えることを特徴とするライセンス消費システム。
【0112】
(付記6) 付記1乃至5の何れか1項に記載のライセンス消費システムにおいて、
前記情報機器が複数存在しており、当該複数の情報機器の何れかの情報機器が前記アプリケーションソフトウェアを更新した際に、当該情報機器以外の他の情報機器に対しての前記動作条件も書き換えられることを特徴とするライセンス消費システム。
【0113】
(付記7) 付記1乃至6の何れか1項に記載のライセンス消費システムにおいて、
前記アプリケーションソフトウェアも前記ライセンスを付与するための条件である動作条件を記憶しており、
前記情報機器が、前記アプリケーションソフトウェアの起動を試みる際に、当該アプリケーションソフトウェアの動作条件と、当該アプリケーションソフトウェアのライセンス取得要求と、当該情報機器の動作環境と、を前記機能提供サーバに送信し、
前記機能提供サーバが、自身が前記記憶している動作条件と、前記情報機器から送信されてきた動作条件と、を比較し、当該比較の結果前記送信されてきた動作条件の方が新しいものである場合は、前記自身が記憶している動作条件を前記送信されてきた動作条件に書き換えることを特徴とするライセンス消費システム。
【0114】
(付記8) 与えられたライセンスに基づいてアプリケーションソフトウェアが動作する情報機器と接続され、前記情報機器に前記ライセンスを付与する機能提供サーバにおいて、
前記ライセンスと、当該ライセンスを付与するための条件である動作条件を記憶する記憶手段と、
前記情報機器が前記アプリケーションソフトウェアの起動を試みる際に前記情報機器から送信されてくる、当該アプリケーションソフトウェアのライセンス取得要求と、当該情報機器の動作環境と、を受信する通信手段と、
を備え、
前記要求されたライセンスに対応するアプリケーションソフトウェアの動作条件と、前記情報機器の動作環境と、を比較し、当該動作環境が当該動作条件を満たす場合には、前記情報機器に前記ライセンスを付与することを特徴とする機能提供サーバ。
【0115】
(付記9) 与えられたライセンスに基づいてアプリケーションソフトウェアが動作する情報機器と、前記情報機器に前記ライセンスを付与する機能提供サーバと、を有するシステムが行うライセンス消費方法において、
前記機能提供サーバが、前記ライセンスと、当該ライセンスを付与するための条件である動作条件を記憶し、
前記情報機器が、前記アプリケーションソフトウェアの起動を試みる際に、当該アプリケーションソフトウェアのライセンス取得要求と、当該情報機器の動作環境と、を前記機能提供サーバに送信し、
前記機能提供サーバが、前記要求されたライセンスに対応するアプリケーションソフトウェアの動作条件と、前記情報機器の動作環境と、を比較し、当該動作環境が当該動作条件を満たす場合には、前記情報機器に前記ライセンスを付与することを特徴とするライセンス消費方法。
【0116】
(付記10) 与えられたライセンスに基づいてアプリケーションソフトウェアが動作する情報機器と接続され、前記情報機器に前記ライセンスを付与するサーバ、に搭載される機能提供プログラムにおいて、
前記ライセンスと、当該ライセンスを付与するための条件である動作条件を記憶する記憶手段と、
前記情報機器が前記アプリケーションソフトウェアの起動を試みる際に前記情報機器から送信されてくる、当該アプリケーションソフトウェアのライセンス取得要求と、当該情報機器の動作環境と、を受信する通信手段と、
を備え、
前記要求されたライセンスに対応するアプリケーションソフトウェアの動作条件と、前記情報機器の動作環境と、を比較し、当該動作環境が当該動作条件を満たす場合には、前記情報機器に前記ライセンスを付与するサーバとしてコンピュータを機能させることを特徴とする機能提供プログラム。
【符号の説明】
【0117】
100 機能提供サーバ
110、210 CPU
120、220 記憶部
121 データベース
130、240 通信回線I/F
140、250 内部回線
200、200−1、200−N 情報機器
221 情報機器ソフトウェア
221−1 OS
221−2、221−3 アプリケーション
230 周辺機器I/F
231、232、233 周辺機器
300 ライセンスサーバ
【技術分野】
【0001】
本発明は、情報機器に組み込まれるアプリケーションソフトウェアのライセンスの消費に関する。
【背景技術】
【0002】
近年、パーソナルコンピュータ(Personal computer:以下「PC」と呼ぶ。)を中心とした情報機器上で動作する様々なアプリケーションソフトウェア(以下「アプリケーション」と呼ぶ。)が販売されている。そして、その販売手段も、パッケージソフトウェアとしてCD−ROM等の記録媒体にアプリケーションを格納して販売する手法から、流通コストやバージョン管理の面での優位性から、徐々にインターネット等のネットワークからアプリケーションは無償でダウンロード可能とし、そのアプリケーションを起動させるためのライセンスキーコード(以下「ライセンス」と呼ぶ。)を販売する手法に変化している。
【0003】
また、1個のライセンスでアプリケーションの全ての機能を有効化するのではなく、アプリケーションの機能単位でライセンスを別々に販売することで、基本機能のライセンスを安価に提供し初期導入コストを極力抑えることで多くのユーザに購入・使用してもらい、徐々に追加機能の別ライセンスを別途購入してもらうことでトータルの販売額を底上げする販売手法も盛んに行われるようになってきた。
【0004】
もしくは、企業ユーザのように、多数のライセンスを一括して購入しサーバに登録し、オフィスの従業員の内、そのアプリケーションを利用する者の情報機器でアプリケーションや機能を利用する際にサーバからライセンスを取得するような使い方をする場合がある。
【0005】
このような、技術の一例が特許文献1に記載されている。特許文献1に記載の技術では顧客企業の多数の社員が使用する多種類のソフトウェア商品のライセンス管理を簡易に実現することを目的とする。具体的には、顧客の各ユーザ端末に設けられ、ソフトウェア商品がインストールされた当該ユーザ端末で、一意のライセンスキーをもとに当該ソフトウェア商品を起動して使用可とするエージェントと、顧客のユーザ端末からのキー発行依頼に対応して当該顧客の発行済みのライセンス数を管理すると共に当該ユーザ端末に一意のライセンスキーを作成して返送して保存させる管理センタとを備え、管理を行っている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2006−059163号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
上述したように、アプリケーションの販売方法及び管理方法は多岐にわたり、販売者や、ユーザのニーズに応えている。しかしながら、アプリケーションのライセンスを管理する場合下述するような問題が発生する場合がある。
【0008】
PC等の情報機器のオペレーティングシステム(Operating System:以下「OS」と呼ぶ。)やハードウェア・周辺機器は多種多様である。そして、新しいOSや周辺機器が発売されてもすぐにはアプリケーション側で対応できない。そのため、ライセンスを購入したもののアプリケーションが動作しない、または、追加機能が動作しないという問題が発生することがある。
【0009】
特に、アプリケーションの発売後に発売されたOSや周辺機器で問題が発生した場合には、これらのOSや周辺機器でアプリケーションが正常に使用できない。それにも関わらず、アプリケーションをアップデートしない限りは、それらのOS、周辺機器を利用しているPCでもアプリケーションはライセンスを消費してしまう場合がある。このような場合には、せっかく購入したライセンスが無駄になるという問題が発生することがある。
【0010】
また、特許文献1に記載の技術のようにオフィスの従業員の内、そのアプリケーションを利用する者の情報機器でアプリケーションや機能を利用する際にサーバからライセンスを取得するような使い方をする場合に、アプリケーションの動作条件を満たさない情報機器がライセンスを消費してしまい、他の情報機器がライセンスを取得できないという事態も発生している。
【0011】
これらの問題はアプリケーションを最新にアップデートすれば解決するが、一般的に、ユーザはライセンスを追加で購入する際でも、アプリケーションを最新にアップデートしない場合がある。また、新しいアプリケーションの開発に時間がかかる場合もあり、その間にユーザがライセンスを購入した場合には対応できない。
【0012】
そこで、本発明は、アプリケーションの起動もしくは機能を有効化する際に、無駄なライセンス消費を防ぐことが可能な、環境条件判別型ライセンス消費システム及びその方法、並びに、機能提供サーバ及びそのプログラムを提供することを目的とする。
【課題を解決するための手段】
【0013】
本発明の第1の観点によれば、与えられたライセンスに基づいてアプリケーションソフトウェアが動作する情報機器と、前記情報機器に前記ライセンスを付与する機能提供サーバと、を有するライセンス消費システムにおいて、前記機能提供サーバが、前記ライセンスと、当該ライセンスを付与するための条件である動作条件を記憶し、前記情報機器が、前記アプリケーションソフトウェアの起動を試みる際に、当該アプリケーションソフトウェアのライセンス取得要求と、当該情報機器の動作環境と、を前記機能提供サーバに送信し、前記機能提供サーバが、前記要求されたライセンスに対応するアプリケーションソフトウェアの動作条件と、前記情報機器の動作環境と、を比較し、当該動作環境が当該動作条件を満たす場合には、前記情報機器に前記ライセンスを付与することを特徴とするライセンス消費システムが提供される。
【0014】
本発明の第2の観点によれば、与えられたライセンスに基づいてアプリケーションソフトウェアが動作する情報機器と接続され、前記情報機器に前記ライセンスを付与する機能提供サーバにおいて、前記ライセンスと、当該ライセンスを付与するための条件である動作条件を記憶する記憶手段と、前記情報機器が前記アプリケーションソフトウェアの起動を試みる際に前記情報機器から送信されてくる、当該アプリケーションソフトウェアのライセンス取得要求と、当該情報機器の動作環境と、を受信する通信手段と、を備え、前記要求されたライセンスに対応するアプリケーションソフトウェアの動作条件と、前記情報機器の動作環境と、を比較し、当該動作環境が当該動作条件を満たす場合には、前記情報機器に前記ライセンスを付与することを特徴とする機能提供サーバが提供される。
【0015】
本発明の第3の観点によれば、与えられたライセンスに基づいてアプリケーションソフトウェアが動作する情報機器と、前記情報機器に前記ライセンスを付与する機能提供サーバと、を有するシステムが行うライセンス消費方法において、前記機能提供サーバが、前記ライセンスと、当該ライセンスを付与するための条件である動作条件を記憶し、前記情報機器が、前記アプリケーションソフトウェアの起動を試みる際に、当該アプリケーションソフトウェアのライセンス取得要求と、当該情報機器の動作環境と、を前記機能提供サーバに送信し、前記機能提供サーバが、前記要求されたライセンスに対応するアプリケーションソフトウェアの動作条件と、前記情報機器の動作環境と、を比較し、当該動作環境が当該動作条件を満たす場合には、前記情報機器に前記ライセンスを付与することを特徴とするライセンス消費方法が提供される。
【0016】
本発明の第4の観点によれば、与えられたライセンスに基づいてアプリケーションソフトウェアが動作する情報機器と接続され、前記情報機器に前記ライセンスを付与するサーバ、に搭載される機能提供プログラムにおいて、前記ライセンスと、当該ライセンスを付与するための条件である動作条件を記憶する記憶手段と、前記情報機器が前記アプリケーションソフトウェアの起動を試みる際に前記情報機器から送信されてくる、当該アプリケーションソフトウェアのライセンス取得要求と、当該情報機器の動作環境と、を受信する通信手段と、を備え、前記要求されたライセンスに対応するアプリケーションソフトウェアの動作条件と、前記情報機器の動作環境と、を比較し、当該動作環境が当該動作条件を満たす場合には、前記情報機器に前記ライセンスを付与するサーバとしてコンピュータを機能させることを特徴とする機能提供プログラムが提供される。
【発明の効果】
【0017】
本発明によれば、アプリケーションの起動もしくは機能を有効化する際に、その情報機器がアプリケーションまたはその機能の動作条件を満たしているか、ライセンスを発行するサーバ側で確認する手段を提供し、動作条件を満たさない情報機器に対してはライセンスを発行しない。
【0018】
これにより、アプリケーション発売後に発売された機能動作に問題があるOSや周辺機器を利用しても、アプリケーションを更新しなくても、ライセンスサーバ側の更新のみで無駄なライセンス消費を防ぐことが可能となる。
【図面の簡単な説明】
【0019】
【図1】本発明の実施形態の全体の基本的構成を表す図である。
【図2】本発明の実施形態における機能提供サーバの基本的構成を表す図である。
【図3】本発明の実施形態における情報機器の基本的構成を表す図である。
【図4】本発明の実施形態における情報機器ソフトウェアの基本的構成を表す図である。
【図5】本発明の実施形態におけるライセンスサポート情報テーブルの一例を表す図である。
【図6】本発明の実施形態におけるライセンスサポート条件テーブルの一例を表す図である。
【図7】本発明の実施形態におけるライセンスサポート条件テーブルの一例を表す図である。
【図8】本発明の実施形態における情報機器環境テーブルの一例を表す図である。
【図9】本発明の実施形態の基本的動作を表す図(1/2)である。
【図10】本発明の実施形態の基本的動作を表す図(2/2)である。
【図11】本発明の実施形態におけるライセンス取得エラー表示の一例を表す図である。
【図12】本発明の実施形態におけるライセンス取得エラー表示の一例を表す図である。
【図13】本発明の実施形態におけるアプリケーションソフトウェア内ライセンスサポート情報テーブルの一例を表す図である。
【図14】本発明の実施形態におけるアプリケーションソフトウェア内ライセンスサポート条件テーブルの一例を表す図である。
【図15】本発明の実施形態におけるアプリケーションソフトウェア内ライセンスサポート条件テーブルの一例を表す図である。
【図16】本発明の実施形態におけるアプリケーションソフトウェア内ライセンスサポート条件テーブルの一例を表す図である。
【発明を実施するための形態】
【0020】
次に、本発明の実施形態について図面を用いて詳細に説明する。
【0021】
まず、図1を参照して本発明の一実施形態全体の構成について説明する。図1に示されるのはオフィスに通信回線を通じて、情報機器とそれを管理する機能提供サーバがあり、オフィス外にライセンスを発行するライセンスサーバがあるという構成である。このオフィスは、例えばアプリケーションを利用するユーザのオフィスであり、ライセンスサーバ300はアプリケーションを販売するソフトウェアベンダーが有しているサーバである。
【0022】
オフィス10には、機能提供サーバ100、情報機器200−1、及び200−Nが存在し、これらはオフィスの通信回線20を介して相互に接続されている。通信回線20は、有線接続であってもよく、その一部又は全てが無線接続であってもよい。また、図1においては二台の情報機器が図示されているが、これは一例に過ぎず任意の台数の情報機器が接続されていてもよい。
【0023】
機能提供サーバ100は、ライセンスサーバ300から発行されたライセンスの分配管理及び、情報機器への各種サービスを提供するためのサーバである。機能提供サーバ100はライセンスサーバ300、情報機器200と通信し、ライセンスの有無、情報機器の環境情報により、情報機器上で動作するアプリケーションの機能や、アプリケーションに提供するサービスを制御する。
【0024】
情報機器200は、アプリケーションを利用するための機器である。具体例としては、OS及びアプリケーションが組み込まれたPC等である。
【0025】
また、通信回線20は、オフィス外にあるライセンスサーバ300と接続されている。この接続は公衆網を利用してもよく、専用線によるものでもよい。
【0026】
次に、図2を参照して機能提供サーバ100の構成及び各部の動作の概略について説明する。
【0027】
機能提供サーバ100は、CPU110、記憶部120及び通信回線I/F130を有する。これら各部は内部回線140により相互に接続されている。また、記憶部120はデータベース121を有している。
【0028】
CPU110は、中央演算処理装置(CPU:Central Processing Unit)であり、機能提供サーバ100を制御する部分である。
【0029】
記憶部120は、一般的に、主記憶装置と呼ばれる装置と、補助記憶装置と呼ばれる装置により実現される記憶領域である。
【0030】
主記憶装置は一般的にRAM(Random Access Memory)等の、格納されたデータに任意の順序でアクセス可能な記憶装置により実現され、本実施形態においては、機能提供サーバ100の制御に必要なソフトウェアやデータを使用する際の作業領域として使用される。
【0031】
また、補助記憶装置は、HDD(Hard disk drive)やFlash SSD(Solid State Drive)といった記憶装置で実現され、本実施形態においては機能提供サーバ100の制御に必要なソフトウェアやデータ、データベース121等が格納される。
【0032】
データベース121は記憶部120上に保存されている各種設定データを保持するエリアである。
【0033】
通信回線I/F130は通信回線接続との信号の送受信を行うためのインターフェースである。
【0034】
次に、図3を参照して情報機器200の構成及び各部の動作の概略について説明する。
【0035】
情報機器200は、CPU210、記憶部220、周辺機器I/F230、通信回線I/F240を有する。これら各部は内部回線250により相互に接続されている。また、記憶部220は情報機器ソフトウェア221を有している。
【0036】
CPU210は、中央演算処理装置であり、情報機器200を制御する部分である。
【0037】
記憶部220は、記憶領域であり記憶部120同様に利用される。また、記憶部220が格納している情報機器ソフトウェア221は記憶部220上で動作しているソフトウェアである。情報機器ソフトウェア221の具体的内容については後述する。
【0038】
周辺機器I/F230は情報機器に接続された各種周辺機器との信号の送受信を行うためのインターフェースである。周辺機器I/F230は、周辺機器231〜233と接続されている。
【0039】
周辺機器231〜233は、情報機器200が利用する周辺機器であり、具体的にはどのような機器であってもよい。また、図3においては三台の周辺機器が図示されているが、これは一例に過ぎず任意の台数の周辺機器が接続されていてもよい。
【0040】
通信回線I/F240は通信回線との信号の送受信を行うためのインターフェースである。
【0041】
なお、上述した各機器ではCPUが、記憶部に格納されているソフトウェアを読み込み、記憶部上のメモリを利用しながら演算処理を行う。すなわち、本実施形態はCPUやメモリ、各種のインターフェースといったハードウェアと、プログラム(ソフトウェア)が協働することにより実現される。
【0042】
続いて、図4を参照して情報機器ソフトウェア221のモジュール構成について説明する。情報機器ソフトウェア221は、OS221−1、アプリケーション221−2及びアプリケーション221−3を含んでいる。
【0043】
OS221−1は情報機器200全体を管理するためのソフトウェアである。OS221−1は、本実施形態特有のOSである必要は無く、例えばWindows(登録商標)のような汎用のOSであってもよい。
【0044】
アプリケーション221−2及びアプリケーション221−3は、OS221−1上で動作するアプリケーションソフトウェアである。アプリケーション221−2及びアプリケーション221−3は、どのような機能を実現するためのアプリケーションであってもよい。また、図4において2つのアプリケーションが図示されているが、これは一例に過ぎず任意の個数のアプリケーションが組み込まれていてもよい。
【0045】
次に、図5〜図8を参照して本実施形態において利用されるテーブルについて説明する。なお、これらのテーブルは具体例の一つに過ぎない。これらのテーブルの、構成や、その内容は、本実施形態の趣旨を逸脱しない範囲において任意に変更することが可能である。なお、各項目の内容が例示に過ぎないことを明確とする趣旨で、各図面では「例:」との記載を項目毎に図示している。
【0046】
図5は機能提供サーバ100の記憶部120に格納されるデータベース121の内容のうち、各機能のライセンスを有効にするのに必要な情報機器環境の条件を格納するライセンスサポート情報テーブルである。なお、データベース121には、本ライセンスサポート情報テーブルが、提供・管理する機能の数だけ存在する。
【0047】
機能番号501には、機能提供サーバが提供・管理する機能を識別するための機能番号が格納される。機能名称502には、機能の名称が格納される。アプリケーションバージョン503には、機能のバージョン範囲が格納され、サポート条件テーブル504には、該当するアプリケーションバージョン503に記載されたバージョン範囲の機能のライセンスを有効するのに必要な情報機器環境の条件を定義するテーブルを識別するためのテーブル番号がバージョン範囲毎に格納される。
【0048】
ここで、バージョン(version、「Ver.」と記述することもある。)とは、ソフトウェア(アプリケーション)が最初に開発されてから何回改訂・更新されたかを識別するための表記であるものとする。ソフトウェアは一旦開発された後であっても、性能向上や、バグ等と呼ばれる不具合の修正などを目的として、改訂・更新が行われており、この改訂・更新を識別するためにバージョンという表記が一般的に用いられている。
【0049】
図6及び図7で示されているのは、前述のサポート条件テーブル504に格納されるテーブル番号で定義されるサポート条件テーブル本体である。これらサポート条件テーブルは、ライセンスサポート情報テーブルと同様にデータベース121に格納されている。
【0050】
テーブル番号601、701はサポート条件テーブル504に格納されるテーブル番号と紐づけるための識別番号である。項目番号602、702は情報機器環境の条件の各項目を識別する番号が格納される。項目名称603、703は各条件項目の名称が格納される。判断条件604、704は、各機能のライセンスを有効・無効を判断するための判断条件が項目毎に格納され、第1の条件値605、705、第2の条件値606、706、第3の条件値707と合わせて環境条件を規定する。
【0051】
なお、本実施形態では、サポート条件テーブルは002まで、項目番号は4まで、条件値は2つ若しくは3つまでとなっているが、これは各機能の環境条件によって増減する。また、例としてCPUのクロック数を一つの項目としているが、CPUクロック数のみならず、例えば搭載されているメモリの容量等を基準としてもよい。
【0052】
図8で示されているのは、情報機器200の記憶部220に格納される情報機器ソフトウェア221のうち、アプリケーション221−2、403のそれぞれが情報機器の環境を各々取得した情報が格納される情報機器環境テーブルである。なお、この報機器環境テーブルの内容は本願発明の「動作環境」に相当するものである。
【0053】
情報機器環境テーブルは、記憶部220上にアプリケーション起動毎に格納される。項目番号801は、前述の項目番号602、702と対応する識別番号であり、情報機器環境の条件の各項目を識別する番号が格納される。項目名称802も、前述の項目名称603、703と対応する名称が格納される。情報機器環境803は、各項目に対応する実際の情報機器環境が格納される。情報機器環境テーブルをアプリケーション起動毎に更新することにより、情報機器の最新の情報を情報機器環境テーブルに反映させることが可能となる。例えば、OSをバージョンアップ後にアプリケーションを起動させた場合は、OSがバージョンアップしていることが即座に情報機器環境テーブルに反映されることとなる。
【0054】
次に、本実施形態の動作について図9及び図10のフローチャートを参照して具体的に説明する。
【0055】
今回は、ライセンスサーバ300からライセンスキーコードを入手して機能提供サーバ200にライセンスキーコードを投入し、情報機器200上のアプリケーション221−2と、アプリケーション221−3から”音声通話”機能のライセンスと機能提供を機能提供サーバ100に要求する場合について説明する。
【0056】
前提として、アプリケーション221−2のアプリケーションバージョンは”1.0.0.0”であるものとする。また、アプリケーション221−3のアプリケーションバージョンは”2.0.0.0”であるものとする。また、情報機器200は図8の例で示されるように、OSとして”OS V1SP2”を利用し、周辺機器231〜307のうち”NEC-HANDSET-V3”を音源として設定し、CPUのクロック数は”1000Hz”、ブラウザのバージョンは”7.0”であるものとする。
【0057】
まず、ユーザがライセンスサーバ300から”音声通話”のライセンスキーコードを購入して入手する(ステップS901)。
【0058】
その後、ライセンスサーバ300が、ユーザが入手したライセンスキーコードを機能提供サーバ100に対して、通信回線経由で送信する(ステップS902)。
【0059】
機能提供サーバ100は、受信したライセンスキーコードを解読し、図5、図6に示されるライセンスサポート情報、サポート条件テーブルを抽出して501〜504、601〜606、701〜707に例で示されるように記憶部120上のデータベース121に格納する。ライセンス数も同様に抽出して記憶部120上の別のデータベースに未消費ライセンスとして格納する(ステップS903)。
【0060】
次に、情報機器200上でユーザが、まずアプリケーションバージョンが”1.0.0.0”であるアプリケーション221−2を起動する(ステップS1001)。
【0061】
アプリケーション221−2は、記憶部220上に、図8で示される情報機器環境テーブルを情報機器環境803にデータが格納されていない状態で作成する。そして、アプリケーション221−2は、OS221−1に問い合わせを行い、OS情報を入手して項目番号801が”1”のエリアの情報機器環境803にOS情報”OS V1SP2”を格納する。
【0062】
また、アプリケーション221−2は、自らの設定情報を参照し項目番号801が”2”のエリアの情報機器環境803に設定音源情報”NEC-HANDSET-V3”を格納する。更に、アプリケーション221−2は、OS221−1に問い合わせを行い、CPU情報を入手して項目番号801が”3”のエリアの情報機器環境803にCPUクロック情報”1000Hz”を格納する。加えて、アプリケーション221−2は、OS221−1に問い合わせを行い、ブラウザ情報を入手して項目番号801が”4”のエリアの情報機器環境803にブラウザバージョン情報”7.0”を格納する。
【0063】
アプリケーション221−2は、上記情報が格納された情報機器環境テーブルを機能提供サーバ100に通信回線経由で送信する(ステップS1002)。
【0064】
情報機器環境テーブルを受信した機能提供サーバ100は、その情報機器環境テーブルを記憶部120に一時的なデータとして格納する。
【0065】
次に、アプリケーション221−2は、自身の設定を参照し必要なライセンスを確認し、その結果、必要なライセンス”音声通話”機能の機能番号”機能001”(図中では「機能番号 X」と表記する。)のライセンス要求を、自身のアプリケーションバージョン”1.0.0.0” (図中では「機能番号 Y」と表記する。)と共に機能提供サーバ100に送信する(ステップS1003)。
【0066】
機能番号”機能001”のライセンス要求とアプリケーションバージョン”1.0.0.0”を受信した機能提供サーバ100は、まず機能番号”機能001”の未消費ライセンスが存在するかデータベースを参照する。本実施形態では1つ未消費ライセンスがあるとする。そして、未消費ライセンスがあるため、次にライセンスサポート情報テーブルの機能番号”機能001”のエリアのアプリケーションバージョン503の”1.0.0.0”が該当するエリアを探す。
【0067】
”1.0.0.0”は”1.0.0.0”未満でなく、”1.0.0.0”より大きいかつ”2.0.0.0”より小さくもなく、”2.0.0.0”でもなく、”2.0.0.0”よりも大きくないため、アプリケーションバージョン503の”1.0.0.0”が該当する範囲のサポート条件テーブル504を参照し、そこに格納された”テーブル001”を参照する。
【0068】
図6は”テーブル001”に示される情報を格納しており、機能提供サーバ100は、前述の一時的なデータとして格納した情報機器200の情報機器環境テーブル(図8参照)との比較を行う。
【0069】
機能提供サーバ100は、図6に示される”テーブル001”に格納された情報から、サポート条件を、項目番号”1”、項目名称”OS”が”OS 1SPなし”と”等しい”という条件と、項目番号”1”、項目名称”OS”が”OSV1SP1”と”等しい”という条件と、項目番号”2”、項目名称”設定音源”が”NEC-HANDSET-V1”と”等しい”という条件と、項目番号”2”、項目名称”設定音源”が”NEC-HANDSET-V2”と”等しい”という条件と、項目番号”3”、項目名称”CPUクロック”が”800Hz”“以上”という条件と、項目番号”4”、項目名称”ブラウザバージョン”が”6.0”“以上”という条件を読み取る。
【0070】
情報機器200の情報機器環境テーブル(図8参照)との比較を行った結果、項目番号”1”と項目番号”2”の条件を満たしていないことが判明する(ステップS1004においてNO)。
【0071】
機能提供サーバ100は、情報機器200に対して、ライセンス取得の失敗の結果通知と、どの条件を満たしていないかの情報を送信する。情報機器200上のアプリケーション221−2はその情報を元に、図11に示されるエラー表示を生成する。その結果図12のようなエラーメッセージが表示される(ステップS1007)。なお、図11及び図12に示されるエラー表示はあくまでも一例であり、具体的な文面は任意のものとすることが可能である。
【0072】
アプリケーション221−2が、他のライセンスも必要な設定になっていれば(ステップS1008においてYES)、引き続き他のライセンス要求を行う(ステップS1003)が、本実施形態では”音声通話”ライセンスのみ必要であるため、ライセンス取得処理を終了する(ステップS1008においてNO、ステップS1008)。
【0073】
次に、情報機器200上でユーザが、アプリケーションバージョンが”2.0.0.0”であるアプリケーション221−3を起動する(ステップS1001)。
【0074】
アプリケーション221−3は、記憶部220上に、図8で示される情報機器環境テーブルを情報機器環境803にデータが格納されていない状態で作成する。そして、アプリケーション221−3は、OS221−1に問い合わせを行い、OS情報を入手して項目番号801が”1”のエリアの情報機器環境803にOS情報”OS V1SP2”を格納する。また、アプリケーション221−3は、自らの設定情報を参照し項目番号801が”2”のエリアの情報機器環境803に設定音源情報”NEC-HANDSET-V3”を格納する。更に、アプリケーション221−3は、OS221−1に問い合わせを行い、CPU情報を入手して項目番号801が”3”のエリアの情報機器環境803にCPUクロック情報”1000Hz”を格納する。加えて、アプリケーション221−3は、OS221−1に問い合わせを行い、ブラウザ情報を入手して項目番号801が”4”のエリアの情報機器環境803にブラウザバージョン情報”7.0”を格納する。
【0075】
アプリケーション221−3は、上記情報が格納された情報機器環境テーブルを機能提供サーバ100に通信回線経由で送信する(ステップS1002)。
【0076】
情報機器環境テーブルを受信した機能提供サーバ100は、その情報機器環境テーブルを記憶部120の一時的なデータとして格納する。
【0077】
アプリケーション221−3は、自身の設定を参照し必要なライセンスを確認し、その結果、必要なライセンス”音声通話”機能の機能番号”機能001”のライセンス要求を、自身のアプリケーションバージョン”2.0.0.0”と共に機能提供サーバ100に送信する(ステップS1003)。
【0078】
機能番号”機能001”のライセンス要求とアプリケーションバージョン”2.0.0.0”を受信した機能提供サーバ100は、まず機能番号”機能001”の未消費ライセンスが存在するかデータベースを参照する。本実施形態では1つ未消費ライセンスがあるため、次にライセンスサポート情報テーブルの機能番号”機能001”のエリアのアプリケーションバージョン503の”2.0.0.0”が該当するエリアを探す。
【0079】
”2.0.0.0”は”1.0.0.0”未満でなく、”1.0.0.0”より大きいかつ”2.0.0.0”より小さくもなく、”2.0.0.0”であり、”2.0.0.0”よりも大きくないため、エリアのアプリケーションバージョン503の”2.0.0.0”が該当する範囲のサポート条件テーブル504を参照し、そこに格納された”テーブル002”を参照する。
【0080】
図6は”テーブル002”に示される情報を格納しており、機能提供サーバ100は、前述の一時的なデータとして格納した情報機器200の情報機器環境テーブル(図8参照)との比較を行う。
【0081】
機能提供サーバ100は、図6に示される”テーブル002”に格納された情報から、サポート条件を、項目番号”1”、項目名称”OS”が”OSV1SPなし”と”等しい”という条件と、項目番号”1”、項目名称”OS”が”OS V1SP1”と”等しい”という条件と、項目名称”OS”が” OS V1SP2”と”等しい”という条件と、項目番号”2”、項目名称”設定音源”が”NEC-HANDSET-V1”と”等しい”という条件と、項目番号”2”、項目名称”設定音源”が”NEC-HANDSET-V2”と”等しい”という条件と、項目番号”2”、項目名称”設定音源”が”NEC-HANDSET-V3”と”等しい”という条件と、項目番号”3”、項目名称”CPUクロック”が”1000Hz”“以上”という条件と、項目番号”4”、項目名称”ブラウザバージョン”が”6.0”“以上”という条件を読み取る。
【0082】
情報機器200の情報機器環境テーブル(図8参照)との比較を行った結果、全ての項目番号の条件を満たしていることが判明する(ステップS1004においてYES)。
【0083】
機能提供サーバ100は、データベースに格納されている”音声通話”機能のライセンスを一つ未消費状態から消費済み状態に変更する(ステップS1005)。
【0084】
機能提供サーバ100は、情報機器200に対して、ライセンス取得の成功の結果通知を送信すると共に情報機器200に対する”音声通話”機能の提供を開始する。情報機器200上のアプリケーション221−3は成功結果通知を受信すると、”音声通話”機能を有効化する(ステップS1006)。
【0085】
アプリケーション221−3が、他のライセンスも必要な設定になっていれば(ステップS1008においてYES)、引き続き他のライセンス要求を行う(ステップS1003)が、本実施形態では”音声通話”ライセンスのみ必要であるため、ライセンス取得処理を終了する(ステップS1008においてNO、ステップS1008)。
【0086】
上述の実施形態により、ユーザがアプリケーションを購入した後に、新しいOSや周辺機器が発売され、かつ、その新しいOSや周辺機器では機能が動作しないことが判明した場合でも、アプリケーションを更新せずに、ライセンスサーバ側を更新するのみで、機能動作条件を満たしていない情報機器・アプリケーションによって機能ライセンスが無駄に消費されないようにすることが可能となる、という効果を奏する。
【0087】
また、ユーザはライセンスを追加で購入する際でも、アプリケーションを最新にアップデートしない場合があるが、ライセンスサーバは一般的に製品提供側が管理・運用しているため、ライセンスサーバの更新は即座に可能である場合が多いため、上記効果はより顕著なものとなる。
【0088】
次に、前述した実施形態を変形した、第1の変形例について説明する。
【0089】
前述の実施形態では、ライセンスサーバ300で購入したライセンスキーコードを機能提供サーバ100に投入した時点でのみ、ライセンスキーコード内の情報により図5のライセンスサポート情報テーブル、図6及び図7のサポート条件テーブルが書き込まれていたが、これを、機能提供サーバ100が定期的にライセンスサーバ300と通信して自動的に更新されるようにしてもよい。
【0090】
この場合に、図9の流れ図ステップS901〜903が実行された後、任意の一定時間毎に以下の処理が実行される。なお、これ以外の他のステップにおける処理に変更はない。
【0091】
まず機能提供サーバ100が、データベースに現在書き込まれている全ての保有ライセンス(未消費及び消費済み)の機能番号をライセンスサーバ300に対して、サポート条件更新要求として通信回線経由で送信する。
【0092】
ライセンスサーバ300は、サポート条件更新要求を受信すると、受信した全ての機能番号の図5のライセンスサポート情報テーブル、図6及び図7のサポート条件テーブルに該当する情報を機能提供サーバ100に送信する。
【0093】
機能提供サーバ100は、受信した図5、図6に示されるライセンスサポート情報、サポート条件テーブルを501〜504、601〜606、701〜707に上書きして格納する。加えて、サポート条件テーブルが上書きされるのみならず、新たなサポート条件テーブルが追加される場合もある。
【0094】
これにより、ユーザがライセンスキーコードを購入した後に、新しいOSや周辺機器が発売され、かつ、その新しいOSや周辺機器では機能が動作しないことが判明した場合でも、ライセンスサーバ側の情報のみを更新するだけで、ユーザが機能提供サーバ100のサポート情報テーブル、サポート条件テーブルを手動で更新しなくても無駄なライセンス消費を防ぐことができるようになる。
【0095】
次に、前述した実施形態を変形した、第2の変形例について説明する。
【0096】
前述の実施形態では、ライセンスサーバ300で購入したライセンスキーコードを機能提供サーバ100に投入した時点でのみ、図5のライセンスサポート情報テーブル、図6及び図7のサポート条件テーブルが書き込まれていたが、これを、アプリケーション221−2、221−3の内部にあらかじめ記録しておいて、アプリケーションが起動した際に、アプリケーションが機能提供サーバ100に対して送信するようにしても良い。
【0097】
この第2の変形例の動作を、アプリケーション221−3のバージョンが”3.0.0.0”である場合を例にして説明する。
【0098】
図10のステップS1001とステップS1002の間に以下処理が実行される。
【0099】
アプリケーション221−3が自身のアプリケーションバージョンと、自身が必要とする機能の図13のライセンスサポート情報テーブル、図14、図15及び図16のサポート条件テーブルを機能提供サーバ100にサポート条件更新要求として送信する。
【0100】
サポート条件更新要求を受信した機能提供サーバ100は、データベースに記録された現状の図5のライセンスサポート情報テーブルのアプリケーションバージョン503を参照し、そこに記録された最も大きいバージョンが”2.0.0.0”であり、アプリケーション221−3より通知された図13のライセンスサポート情報テーブルに記録された最も大きいバージョン”3.0.0.0”より小さいため、受信した情報のほうが新しいと判断し、図5のライセンスサポート情報テーブル、図6及び図7のサポート条件テーブルを消去し、代わりに図13のライセンスサポート情報テーブル、図14、図15及び図16のサポート条件テーブルを格納する。
【0101】
後の処理は、ステップS1004でサポート条件の確認の際に機能提供サーバが確認するサポート条件が図13のライセンスサポート情報テーブルと、図14、図15及び図16のサポート条件テーブルに変更される以外は前述の実施形態と変更ない。
【0102】
これにより、アプリケーションのバージョンが上がった場合等にサポート条件が変更された場合で、ライセンスサーバ300や機能提供サーバ100内に格納されているサポート条件が古いままであっても、ユーザが利用しているアプリケーションのうち、1つのアプリケーションのみを更新することで、新しいサポート条件を適用することができ、ライセンスの無駄な消費や、サポートされない環境で機能が実行される。
【0103】
なお、本発明の実施形態である、機能提供サーバ、情報機器、ライセンスサーバは、ハードウェアにより実現することもできるが、コンピュータをその機能提供サーバ、情報機器、ライセンスサーバとして機能させるためのプログラムをコンピュータがコンピュータ読み取り可能な記録媒体から読み込んで実行することによっても実現することができる。
【0104】
また、本発明の実施形態による環境条件判別型ライセンス消費方法は、ハードウェアにより実現することもできるが、コンピュータにその方法を実行させるためのプログラムをコンピュータがコンピュータ読み取り可能な記録媒体から読み込んで実行することによっても実現することができる。
【0105】
また、上述した実施形態は、本発明の好適な実施形態ではあるが、上記実施形態のみに本発明の範囲を限定するものではなく、本発明の要旨を逸脱しない範囲において種々の変更を施した形態での実施が可能である。
【0106】
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
【0107】
(付記1) 与えられたライセンスに基づいてアプリケーションソフトウェアが動作する情報機器と、前記情報機器に前記ライセンスを付与する機能提供サーバと、を有するライセンス消費システムにおいて、
前記機能提供サーバが、前記ライセンスと、当該ライセンスを付与するための条件である動作条件を記憶し、
前記情報機器が、前記アプリケーションソフトウェアの起動を試みる際に、当該アプリケーションソフトウェアのライセンス取得要求と、当該情報機器の動作環境と、を前記機能提供サーバに送信し、
前記機能提供サーバが、前記要求されたライセンスに対応するアプリケーションソフトウェアの動作条件と、前記情報機器の動作環境と、を比較し、当該動作環境が当該動作条件を満たす場合には、前記情報機器に前記ライセンスを付与することを特徴とするライセンス消費システム。
【0108】
(付記2) 付記1に記載のライセンス消費システムにおいて、
前記アプリケーションソフトウェアのバージョンに応じて、同一のアプリケーションソフトウェアであっても前記動作条件を変更可能なことを特徴とするライセンス消費システム。
【0109】
(付記3) 付記1又は2に記載のライセンス消費システムにおいて、
前記ライセンスが、アプリケーションソフトウェアが有する機能毎に存在しており、前記情報機器が、前記機能の何れかを有効とすることを試みる際に、当該機能を有するアプリケーションソフトウェアのライセンス取得要求と、当該情報機器の動作環境と、を前記機能提供サーバに送信することを特徴とするライセンス消費システム。
【0110】
(付記4) 付記1乃至3の何れか1項に記載のライセンス消費システムにおいて、
前記比較において、前記動作環境が前記動作条件を満たさなかった場合は、当該動作条件の内の、どの動作条件が不一致であるのかという情報を、前記情報機器に表示させることを特徴とするライセンス消費システム。
【0111】
(付記5) 付記1乃至4の何れか1項に記載のライセンス消費システムにおいて、
前記機能提供サーバが、定期的に外部と通信を行うことにより前記動作条件の変更がないか確認し、当該確認の結果変更があった場合は、前記記憶している動作条件を前記変更後の動作条件へと書き換えることを特徴とするライセンス消費システム。
【0112】
(付記6) 付記1乃至5の何れか1項に記載のライセンス消費システムにおいて、
前記情報機器が複数存在しており、当該複数の情報機器の何れかの情報機器が前記アプリケーションソフトウェアを更新した際に、当該情報機器以外の他の情報機器に対しての前記動作条件も書き換えられることを特徴とするライセンス消費システム。
【0113】
(付記7) 付記1乃至6の何れか1項に記載のライセンス消費システムにおいて、
前記アプリケーションソフトウェアも前記ライセンスを付与するための条件である動作条件を記憶しており、
前記情報機器が、前記アプリケーションソフトウェアの起動を試みる際に、当該アプリケーションソフトウェアの動作条件と、当該アプリケーションソフトウェアのライセンス取得要求と、当該情報機器の動作環境と、を前記機能提供サーバに送信し、
前記機能提供サーバが、自身が前記記憶している動作条件と、前記情報機器から送信されてきた動作条件と、を比較し、当該比較の結果前記送信されてきた動作条件の方が新しいものである場合は、前記自身が記憶している動作条件を前記送信されてきた動作条件に書き換えることを特徴とするライセンス消費システム。
【0114】
(付記8) 与えられたライセンスに基づいてアプリケーションソフトウェアが動作する情報機器と接続され、前記情報機器に前記ライセンスを付与する機能提供サーバにおいて、
前記ライセンスと、当該ライセンスを付与するための条件である動作条件を記憶する記憶手段と、
前記情報機器が前記アプリケーションソフトウェアの起動を試みる際に前記情報機器から送信されてくる、当該アプリケーションソフトウェアのライセンス取得要求と、当該情報機器の動作環境と、を受信する通信手段と、
を備え、
前記要求されたライセンスに対応するアプリケーションソフトウェアの動作条件と、前記情報機器の動作環境と、を比較し、当該動作環境が当該動作条件を満たす場合には、前記情報機器に前記ライセンスを付与することを特徴とする機能提供サーバ。
【0115】
(付記9) 与えられたライセンスに基づいてアプリケーションソフトウェアが動作する情報機器と、前記情報機器に前記ライセンスを付与する機能提供サーバと、を有するシステムが行うライセンス消費方法において、
前記機能提供サーバが、前記ライセンスと、当該ライセンスを付与するための条件である動作条件を記憶し、
前記情報機器が、前記アプリケーションソフトウェアの起動を試みる際に、当該アプリケーションソフトウェアのライセンス取得要求と、当該情報機器の動作環境と、を前記機能提供サーバに送信し、
前記機能提供サーバが、前記要求されたライセンスに対応するアプリケーションソフトウェアの動作条件と、前記情報機器の動作環境と、を比較し、当該動作環境が当該動作条件を満たす場合には、前記情報機器に前記ライセンスを付与することを特徴とするライセンス消費方法。
【0116】
(付記10) 与えられたライセンスに基づいてアプリケーションソフトウェアが動作する情報機器と接続され、前記情報機器に前記ライセンスを付与するサーバ、に搭載される機能提供プログラムにおいて、
前記ライセンスと、当該ライセンスを付与するための条件である動作条件を記憶する記憶手段と、
前記情報機器が前記アプリケーションソフトウェアの起動を試みる際に前記情報機器から送信されてくる、当該アプリケーションソフトウェアのライセンス取得要求と、当該情報機器の動作環境と、を受信する通信手段と、
を備え、
前記要求されたライセンスに対応するアプリケーションソフトウェアの動作条件と、前記情報機器の動作環境と、を比較し、当該動作環境が当該動作条件を満たす場合には、前記情報機器に前記ライセンスを付与するサーバとしてコンピュータを機能させることを特徴とする機能提供プログラム。
【符号の説明】
【0117】
100 機能提供サーバ
110、210 CPU
120、220 記憶部
121 データベース
130、240 通信回線I/F
140、250 内部回線
200、200−1、200−N 情報機器
221 情報機器ソフトウェア
221−1 OS
221−2、221−3 アプリケーション
230 周辺機器I/F
231、232、233 周辺機器
300 ライセンスサーバ
【特許請求の範囲】
【請求項1】
与えられたライセンスに基づいてアプリケーションソフトウェアが動作する情報機器と、前記情報機器に前記ライセンスを付与する機能提供サーバと、を有するライセンス消費システムにおいて、
前記機能提供サーバが、前記ライセンスと、当該ライセンスを付与するための条件である動作条件を記憶し、
前記情報機器が、前記アプリケーションソフトウェアの起動を試みる際に、当該アプリケーションソフトウェアのライセンス取得要求と、当該情報機器の動作環境と、を前記機能提供サーバに送信し、
前記機能提供サーバが、前記要求されたライセンスに対応するアプリケーションソフトウェアの動作条件と、前記情報機器の動作環境と、を比較し、当該動作環境が当該動作条件を満たす場合には、前記情報機器に前記ライセンスを付与することを特徴とするライセンス消費システム。
【請求項2】
請求項1に記載のライセンス消費システムにおいて、
前記アプリケーションソフトウェアのバージョンに応じて、同一のアプリケーションソフトウェアであっても前記動作条件を変更可能なことを特徴とするライセンス消費システム。
【請求項3】
請求項1又は2に記載のライセンス消費システムにおいて、
前記ライセンスが、アプリケーションソフトウェアが有する機能毎に存在しており、前記情報機器が、前記機能の何れかを有効とすることを試みる際に、当該機能を有するアプリケーションソフトウェアのライセンス取得要求と、当該情報機器の動作環境と、を前記機能提供サーバに送信することを特徴とするライセンス消費システム。
【請求項4】
請求項1乃至3の何れか1項に記載のライセンス消費システムにおいて、
前記比較において、前記動作環境が前記動作条件を満たさなかった場合は、当該動作条件の内の、どの動作条件が不一致であるのかという情報を、前記情報機器に表示させることを特徴とするライセンス消費システム。
【請求項5】
請求項1乃至4の何れか1項に記載のライセンス消費システムにおいて、
前記機能提供サーバが、定期的に外部と通信を行うことにより前記動作条件の変更がないか確認し、当該確認の結果変更があった場合は、前記記憶している動作条件を前記変更後の動作条件へと書き換えることを特徴とするライセンス消費システム。
【請求項6】
請求項1乃至5の何れか1項に記載のライセンス消費システムにおいて、
前記情報機器が複数存在しており、当該複数の情報機器の何れかの情報機器が前記アプリケーションソフトウェアを更新した際に、当該情報機器以外の他の情報機器に対しての前記動作条件も書き換えられることを特徴とするライセンス消費システム。
【請求項7】
請求項1乃至6の何れか1項に記載のライセンス消費システムにおいて、
前記アプリケーションソフトウェアも前記ライセンスを付与するための条件である動作条件を記憶しており、
前記情報機器が、前記アプリケーションソフトウェアの起動を試みる際に、当該アプリケーションソフトウェアの動作条件と、当該アプリケーションソフトウェアのライセンス取得要求と、当該情報機器の動作環境と、を前記機能提供サーバに送信し、
前記機能提供サーバが、自身が前記記憶している動作条件と、前記情報機器から送信されてきた動作条件と、を比較し、当該比較の結果前記送信されてきた動作条件の方が新しいものである場合は、前記自身が記憶している動作条件を前記送信されてきた動作条件に書き換えることを特徴とするライセンス消費システム。
【請求項8】
与えられたライセンスに基づいてアプリケーションソフトウェアが動作する情報機器と接続され、前記情報機器に前記ライセンスを付与する機能提供サーバにおいて、
前記ライセンスと、当該ライセンスを付与するための条件である動作条件を記憶する記憶手段と、
前記情報機器が前記アプリケーションソフトウェアの起動を試みる際に前記情報機器から送信されてくる、当該アプリケーションソフトウェアのライセンス取得要求と、当該情報機器の動作環境と、を受信する通信手段と、
を備え、
前記要求されたライセンスに対応するアプリケーションソフトウェアの動作条件と、前記情報機器の動作環境と、を比較し、当該動作環境が当該動作条件を満たす場合には、前記情報機器に前記ライセンスを付与することを特徴とする機能提供サーバ。
【請求項9】
与えられたライセンスに基づいてアプリケーションソフトウェアが動作する情報機器と、前記情報機器に前記ライセンスを付与する機能提供サーバと、を有するシステムが行うライセンス消費方法において、
前記機能提供サーバが、前記ライセンスと、当該ライセンスを付与するための条件である動作条件を記憶し、
前記情報機器が、前記アプリケーションソフトウェアの起動を試みる際に、当該アプリケーションソフトウェアのライセンス取得要求と、当該情報機器の動作環境と、を前記機能提供サーバに送信し、
前記機能提供サーバが、前記要求されたライセンスに対応するアプリケーションソフトウェアの動作条件と、前記情報機器の動作環境と、を比較し、当該動作環境が当該動作条件を満たす場合には、前記情報機器に前記ライセンスを付与することを特徴とするライセンス消費方法。
【請求項10】
与えられたライセンスに基づいてアプリケーションソフトウェアが動作する情報機器と接続され、前記情報機器に前記ライセンスを付与するサーバ、に搭載される機能提供プログラムにおいて、
前記ライセンスと、当該ライセンスを付与するための条件である動作条件を記憶する記憶手段と、
前記情報機器が前記アプリケーションソフトウェアの起動を試みる際に前記情報機器から送信されてくる、当該アプリケーションソフトウェアのライセンス取得要求と、当該情報機器の動作環境と、を受信する通信手段と、
を備え、
前記要求されたライセンスに対応するアプリケーションソフトウェアの動作条件と、前記情報機器の動作環境と、を比較し、当該動作環境が当該動作条件を満たす場合には、前記情報機器に前記ライセンスを付与するサーバとしてコンピュータを機能させることを特徴とする機能提供プログラム。
【請求項1】
与えられたライセンスに基づいてアプリケーションソフトウェアが動作する情報機器と、前記情報機器に前記ライセンスを付与する機能提供サーバと、を有するライセンス消費システムにおいて、
前記機能提供サーバが、前記ライセンスと、当該ライセンスを付与するための条件である動作条件を記憶し、
前記情報機器が、前記アプリケーションソフトウェアの起動を試みる際に、当該アプリケーションソフトウェアのライセンス取得要求と、当該情報機器の動作環境と、を前記機能提供サーバに送信し、
前記機能提供サーバが、前記要求されたライセンスに対応するアプリケーションソフトウェアの動作条件と、前記情報機器の動作環境と、を比較し、当該動作環境が当該動作条件を満たす場合には、前記情報機器に前記ライセンスを付与することを特徴とするライセンス消費システム。
【請求項2】
請求項1に記載のライセンス消費システムにおいて、
前記アプリケーションソフトウェアのバージョンに応じて、同一のアプリケーションソフトウェアであっても前記動作条件を変更可能なことを特徴とするライセンス消費システム。
【請求項3】
請求項1又は2に記載のライセンス消費システムにおいて、
前記ライセンスが、アプリケーションソフトウェアが有する機能毎に存在しており、前記情報機器が、前記機能の何れかを有効とすることを試みる際に、当該機能を有するアプリケーションソフトウェアのライセンス取得要求と、当該情報機器の動作環境と、を前記機能提供サーバに送信することを特徴とするライセンス消費システム。
【請求項4】
請求項1乃至3の何れか1項に記載のライセンス消費システムにおいて、
前記比較において、前記動作環境が前記動作条件を満たさなかった場合は、当該動作条件の内の、どの動作条件が不一致であるのかという情報を、前記情報機器に表示させることを特徴とするライセンス消費システム。
【請求項5】
請求項1乃至4の何れか1項に記載のライセンス消費システムにおいて、
前記機能提供サーバが、定期的に外部と通信を行うことにより前記動作条件の変更がないか確認し、当該確認の結果変更があった場合は、前記記憶している動作条件を前記変更後の動作条件へと書き換えることを特徴とするライセンス消費システム。
【請求項6】
請求項1乃至5の何れか1項に記載のライセンス消費システムにおいて、
前記情報機器が複数存在しており、当該複数の情報機器の何れかの情報機器が前記アプリケーションソフトウェアを更新した際に、当該情報機器以外の他の情報機器に対しての前記動作条件も書き換えられることを特徴とするライセンス消費システム。
【請求項7】
請求項1乃至6の何れか1項に記載のライセンス消費システムにおいて、
前記アプリケーションソフトウェアも前記ライセンスを付与するための条件である動作条件を記憶しており、
前記情報機器が、前記アプリケーションソフトウェアの起動を試みる際に、当該アプリケーションソフトウェアの動作条件と、当該アプリケーションソフトウェアのライセンス取得要求と、当該情報機器の動作環境と、を前記機能提供サーバに送信し、
前記機能提供サーバが、自身が前記記憶している動作条件と、前記情報機器から送信されてきた動作条件と、を比較し、当該比較の結果前記送信されてきた動作条件の方が新しいものである場合は、前記自身が記憶している動作条件を前記送信されてきた動作条件に書き換えることを特徴とするライセンス消費システム。
【請求項8】
与えられたライセンスに基づいてアプリケーションソフトウェアが動作する情報機器と接続され、前記情報機器に前記ライセンスを付与する機能提供サーバにおいて、
前記ライセンスと、当該ライセンスを付与するための条件である動作条件を記憶する記憶手段と、
前記情報機器が前記アプリケーションソフトウェアの起動を試みる際に前記情報機器から送信されてくる、当該アプリケーションソフトウェアのライセンス取得要求と、当該情報機器の動作環境と、を受信する通信手段と、
を備え、
前記要求されたライセンスに対応するアプリケーションソフトウェアの動作条件と、前記情報機器の動作環境と、を比較し、当該動作環境が当該動作条件を満たす場合には、前記情報機器に前記ライセンスを付与することを特徴とする機能提供サーバ。
【請求項9】
与えられたライセンスに基づいてアプリケーションソフトウェアが動作する情報機器と、前記情報機器に前記ライセンスを付与する機能提供サーバと、を有するシステムが行うライセンス消費方法において、
前記機能提供サーバが、前記ライセンスと、当該ライセンスを付与するための条件である動作条件を記憶し、
前記情報機器が、前記アプリケーションソフトウェアの起動を試みる際に、当該アプリケーションソフトウェアのライセンス取得要求と、当該情報機器の動作環境と、を前記機能提供サーバに送信し、
前記機能提供サーバが、前記要求されたライセンスに対応するアプリケーションソフトウェアの動作条件と、前記情報機器の動作環境と、を比較し、当該動作環境が当該動作条件を満たす場合には、前記情報機器に前記ライセンスを付与することを特徴とするライセンス消費方法。
【請求項10】
与えられたライセンスに基づいてアプリケーションソフトウェアが動作する情報機器と接続され、前記情報機器に前記ライセンスを付与するサーバ、に搭載される機能提供プログラムにおいて、
前記ライセンスと、当該ライセンスを付与するための条件である動作条件を記憶する記憶手段と、
前記情報機器が前記アプリケーションソフトウェアの起動を試みる際に前記情報機器から送信されてくる、当該アプリケーションソフトウェアのライセンス取得要求と、当該情報機器の動作環境と、を受信する通信手段と、
を備え、
前記要求されたライセンスに対応するアプリケーションソフトウェアの動作条件と、前記情報機器の動作環境と、を比較し、当該動作環境が当該動作条件を満たす場合には、前記情報機器に前記ライセンスを付与するサーバとしてコンピュータを機能させることを特徴とする機能提供プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【公開番号】特開2012−73751(P2012−73751A)
【公開日】平成24年4月12日(2012.4.12)
【国際特許分類】
【出願番号】特願2010−217179(P2010−217179)
【出願日】平成22年9月28日(2010.9.28)
【出願人】(000227205)NECインフロンティア株式会社 (1,047)
【Fターム(参考)】
【公開日】平成24年4月12日(2012.4.12)
【国際特許分類】
【出願日】平成22年9月28日(2010.9.28)
【出願人】(000227205)NECインフロンティア株式会社 (1,047)
【Fターム(参考)】
[ Back to top ]