(57)【特許請求の範囲】
【請求項１】
与えられたライセンスに基づいてアプリケーションソフトウェアが動作する情報機器と、前記情報機器に前記ライセンスを付与する機能提供サーバと、を有するライセンス消費システムにおいて、
前記機能提供サーバが、前記ライセンスと、当該ライセンスを付与するための条件であって少なくともハードウェアの構成に関する条件を含む動作条件を記憶し、
前記情報機器が、前記アプリケーションソフトウェアの起動を試みる際に、当該アプリケーションソフトウェアのライセンス取得要求と、当該情報機器の少なくともハードウェアの構成に関する情報を含む動作環境と、を前記機能提供サーバに送信し、
前記機能提供サーバが、前記要求されたライセンスに対応するアプリケーションソフトウェアの動作条件と、前記情報機器の動作環境と、を比較し、当該動作環境が当該動作条件を満たす場合には、前記情報機器に前記ライセンスを付与し、
前記情報機器が複数存在しており、当該複数の情報機器の何れかの情報機器が前記アプリケーションソフトウェアを更新した際に、当該情報機器以外の他の情報機器に対しての前記動作条件も書き換えられることを特徴とするライセンス消費システム。
【請求項２】
請求項１に記載のライセンス消費システムにおいて、
前記アプリケーションソフトウェアのバージョンに応じて、同一のアプリケーションソフトウェアであっても前記動作条件を変更可能なことを特徴とするライセンス消費システム。
【請求項３】
請求項１又は２に記載のライセンス消費システムにおいて、
前記ライセンスが、アプリケーションソフトウェアが有する機能毎に存在しており、前記情報機器が、前記機能の何れかを有効とすることを試みる際に、当該機能を有するアプリケーションソフトウェアのライセンス取得要求と、当該情報機器の動作環境と、を前記機能提供サーバに送信することを特徴とするライセンス消費システム。
【請求項４】
請求項１乃至３の何れか１項に記載のライセンス消費システムにおいて、
前記比較において、前記動作環境が前記動作条件を満たさなかった場合は、当該動作条件の内の、どの動作条件が不一致であるのかという情報を、前記情報機器に表示させることを特徴とするライセンス消費システム。
【請求項５】
請求項１乃至４の何れか１項に記載のライセンス消費システムにおいて、
前記機能提供サーバが、定期的に外部と通信を行うことにより前記動作条件の変更がないか確認し、当該確認の結果変更があった場合は、前記記憶している動作条件を前記変更後の動作条件へと書き換えることを特徴とするライセンス消費システム。
【請求項６】
請求項１乃至５の何れか１項に記載のライセンス消費システムにおいて、
前記アプリケーションソフトウェアも前記ライセンスを付与するための条件である動作条件を記憶しており、
前記情報機器が、前記アプリケーションソフトウェアの起動を試みる際に、当該アプリケーションソフトウェアの動作条件と、当該アプリケーションソフトウェアのライセンス取得要求と、当該情報機器の動作環境と、を前記機能提供サーバに送信し、
前記機能提供サーバが、自身が前記記憶している動作条件と、前記情報機器から送信されてきた動作条件と、を比較し、当該比較の結果前記送信されてきた動作条件の方が新しいものである場合は、前記自身が記憶している動作条件を前記送信されてきた動作条件に
書き換えることを特徴とするライセンス消費システム。
【請求項７】
与えられたライセンスに基づいてアプリケーションソフトウェアが動作する情報機器と、前記情報機器に前記ライセンスを付与する機能提供サーバと、を有するシステムが行うライセンス消費方法において、
前記機能提供サーバが、前記ライセンスと、当該ライセンスを付与するための条件であって少なくともハードウェアの構成に関する条件を含む動作条件を記憶し、
前記情報機器が、前記アプリケーションソフトウェアの起動を試みる際に、当該アプリケーションソフトウェアのライセンス取得要求と、当該情報機器の少なくともハードウェアの構成に関する情報を含む動作環境と、を前記機能提供サーバに送信し、
前記機能提供サーバが、前記要求されたライセンスに対応するアプリケーションソフトウェアの動作条件と、前記情報機器の動作環境と、を比較し、当該動作環境が当該動作条件を満たす場合には、前記情報機器に前記ライセンスを付与し、
前記情報機器が複数存在しており、当該複数の情報機器の何れかの情報機器が前記アプリケーションソフトウェアを更新した際に、当該情報機器以外の他の情報機器に対しての前記動作条件も書き換えられることを特徴とするライセンス消費方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報機器に組み込まれるアプリケーションソフトウェアのライセンスの消費に関する。
【背景技術】
【０００２】
近年、パーソナルコンピュータ（Personal computer：以下「ＰＣ」と呼ぶ。）を中心とした情報機器上で動作する様々なアプリケーションソフトウェア（以下「アプリケーション」と呼ぶ。）が販売されている。そして、その販売手段も、パッケージソフトウェアとしてＣＤ−ＲＯＭ等の記録媒体にアプリケーションを格納して販売する手法から、流通コストやバージョン管理の面での優位性から、徐々にインターネット等のネットワークからアプリケーションは無償でダウンロード可能とし、そのアプリケーションを起動させるためのライセンスキーコード（以下「ライセンス」と呼ぶ。）を販売する手法に変化している。
【０００３】
また、１個のライセンスでアプリケーションの全ての機能を有効化するのではなく、アプリケーションの機能単位でライセンスを別々に販売することで、基本機能のライセンスを安価に提供し初期導入コストを極力抑えることで多くのユーザに購入・使用してもらい、徐々に追加機能の別ライセンスを別途購入してもらうことでトータルの販売額を底上げする販売手法も盛んに行われるようになってきた。
【０００４】
もしくは、企業ユーザのように、多数のライセンスを一括して購入しサーバに登録し、オフィスの従業員の内、そのアプリケーションを利用する者の情報機器でアプリケーションや機能を利用する際にサーバからライセンスを取得するような使い方をする場合がある。
【０００５】
このような、技術の一例が特許文献１に記載されている。特許文献１に記載の技術では顧客企業の多数の社員が使用する多種類のソフトウェア商品のライセンス管理を簡易に実現することを目的とする。具体的には、顧客の各ユーザ端末に設けられ、ソフトウェア商品がインストールされた当該ユーザ端末で、一意のライセンスキーをもとに当該ソフトウェア商品を起動して使用可とするエージェントと、顧客のユーザ端末からのキー発行依頼に対応して当該顧客の発行済みのライセンス数を管理すると共に当該ユーザ端末に一意のライセンスキーを作成して返送して保存させる管理センタとを備え、管理を行っている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００６−０５９１６３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上述したように、アプリケーションの販売方法及び管理方法は多岐にわたり、販売者や、ユーザのニーズに応えている。しかしながら、アプリケーションのライセンスを管理する場合下述するような問題が発生する場合がある。
【０００８】
ＰＣ等の情報機器のオペレーティングシステム（Operating System：以下「ＯＳ」と呼ぶ。）やハードウェア・周辺機器は多種多様である。そして、新しいＯＳや周辺機器が発売されてもすぐにはアプリケーション側で対応できない。そのため、ライセンスを購入したもののアプリケーションの追加機能が動作しないという問題が発生することがある。
【０００９】
特に、アプリケーションの発売後に発売されたＯＳや周辺機器で問題が発生した場合には、これらのＯＳや周辺機器でアプリケーションが正常に使用できない。それにも関わらず、アプリケーションをアップデートしない限りは、それらのＯＳ、周辺機器を利用しているＰＣでもアプリケーションはライセンスを消費してしまう場合がある。このような場合には、せっかく購入したライセンスが無駄になるという問題が発生することがある。
【００１０】
また、特許文献１に記載の技術のようにオフィスの従業員の内、そのアプリケーションを利用する者の情報機器でアプリケーションや機能を利用する際にサーバからライセンスを取得するような使い方をする場合に、アプリケーションの動作条件を満たさない情報機器がライセンスを消費してしまい、他の情報機器がライセンスを取得できないという事態も発生している。
【００１１】
これらの問題はアプリケーションを最新にアップデートすれば解決するが、一般的に、ユーザはライセンスを追加で購入する際でも、アプリケーションを最新にアップデートしない場合がある。また、新しいアプリケーションの開発に時間がかかる場合もあり、その間にユーザがライセンスを購入した場合には対応できない。
【００１２】
そこで、本発明は、アプリケーションの機能を有効化する際に、無駄なライセンス消費を防ぐことが可能な、環境条件判別型ライセンス消費システム及びその方法、並びに、機能提供サーバ及びそのプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１３】
本発明の第１の観点によれば、与えられたライセンスに基づいてアプリケーションソフトウェアが動作する情報機器と、前記情報機器に前記ライセンスを付与する機能提供サーバと、を有するライセンス消費システムにおいて、前記機能提供サーバが、前記ライセンスと、当該ライセンスを付与するための条件であって少なくともハードウェアの構成に関する条件を含む動作条件を記憶し、前記情報機器が、前記アプリケーションソフトウェアの起動を試みる際に、当該アプリケーションソフトウェアのライセンス取得要求と、当該情報機器の少なくともハードウェアの構成に関する情報を含む動作環境と、を前記機能提供サーバに送信し、前記機能提供サーバが、前記要求されたライセンスに対応するアプリケーションソフトウェアの動作条件と、前記情報機器の動作環境と、を比較し、当該動作環境が当該動作条件を満たす場合には、前記情報機器に前記ライセンスを付与し、前記情報機器が複数存在しており、当該複数の情報機器の何れかの情報機器が前記アプリケーションソフトウェアを更新した際に、当該情報機器以外の他の情報機器に対しての前記動作条件も書き換えられることを特徴とするライセンス消費システムが提供される。
【００１５】
本発明の第２の観点によれば、与えられたライセンスに基づいてアプリケーションソフトウェアが動作する情報機器と、前記情報機器に前記ライセンスを付与する機能提供サーバと、を有するシステムが行うライセンス消費方法において、前記機能提供サーバが、前記ライセンスと、当該ライセンスを付与するための条件であって少なくともハードウェアの構成に関する条件を含む動作条件を記憶し、前記情報機器が、前記アプリケーションソフトウェアの起動を試みる際に、当該アプリケーションソフトウェアのライセンス取得要求と、当該情報機器の少なくともハードウェアの構成に関する情報を含む動作環境と、を前記機能提供サーバに送信し、前記機能提供サーバが、前記要求されたライセンスに対応するアプリケーションソフトウェアの動作条件と、前記情報機器の動作環境と、を比較し、当該動作環境が当該動作条件を満たす場合には、前記情報機器に前記ライセンスを付与し、前記情報機器が複数存在しており、当該複数の情報機器の何れかの情報機器が前記アプリケーションソフトウェアを更新した際に、当該情報機器以外の他の情報機器に対しての前記動作条件も書き換えられることを特徴とするライセンス消費方法が提供される。
【発明の効果】
【００１７】
本発明によれば、アプリケーションの機能を有効化する際に、その情報機器がアプリケーションまたはその機能の動作条件を満たしているか、ライセンスを発行するサーバ側で確認する手段を提供し、動作条件を満たさない情報機器に対してはライセンスを発行しない。
【００１８】
これにより、アプリケーション発売後に発売された機能動作に問題があるＯＳや周辺機器を利用しても、アプリケーションを更新しなくても、ライセンスサーバ側の更新のみで無駄なライセンス消費を防ぐことが可能となる。
【図面の簡単な説明】
【００１９】
【図１】本発明の実施形態の全体の基本的構成を表す図である。
【図２】本発明の実施形態における機能提供サーバの基本的構成を表す図である。
【図３】本発明の実施形態における情報機器の基本的構成を表す図である。
【図４】本発明の実施形態における情報機器ソフトウェアの基本的構成を表す図である。
【図５】本発明の実施形態におけるライセンスサポート情報テーブルの一例を表す図である。
【図６】本発明の実施形態におけるライセンスサポート条件テーブルの一例を表す図である。
【図７】本発明の実施形態におけるライセンスサポート条件テーブルの一例を表す図である。
【図８】本発明の実施形態における情報機器環境テーブルの一例を表す図である。
【図９】本発明の実施形態の基本的動作を表す図（１／２）である。
【図１０】本発明の実施形態の基本的動作を表す図（２／２）である。
【図１１】本発明の実施形態におけるライセンス取得エラー表示の一例を表す図である。
【図１２】本発明の実施形態におけるライセンス取得エラー表示の一例を表す図である。
【図１３】本発明の実施形態におけるアプリケーションソフトウェア内ライセンスサポート情報テーブルの一例を表す図である。
【図１４】本発明の実施形態におけるアプリケーションソフトウェア内ライセンスサポート条件テーブルの一例を表す図である。
【図１５】本発明の実施形態におけるアプリケーションソフトウェア内ライセンスサポート条件テーブルの一例を表す図である。
【図１６】本発明の実施形態におけるアプリケーションソフトウェア内ライセンスサポート条件テーブルの一例を表す図である。
【発明を実施するための形態】
【００２０】
次に、本発明の実施形態について図面を用いて詳細に説明する。
【００２１】
まず、図１を参照して本発明の一実施形態全体の構成について説明する。図１に示されるのはオフィスに通信回線を通じて、情報機器とそれを管理する機能提供サーバがあり、オフィス外にライセンスを発行するライセンスサーバがあるという構成である。このオフィスは、例えばアプリケーションを利用するユーザのオフィスであり、ライセンスサーバ３００はアプリケーションを販売するソフトウェアベンダーが有しているサーバである。
【００２２】
オフィス１０には、機能提供サーバ１００、情報機器２００−１、及び２００−Ｎが存在し、これらはオフィスの通信回線２０を介して相互に接続されている。通信回線２０は、有線接続であってもよく、その一部又は全てが無線接続であってもよい。また、図１においては二台の情報機器が図示されているが、これは一例に過ぎず任意の台数の情報機器が接続されていてもよい。
【００２３】
機能提供サーバ１００は、ライセンスサーバ３００から発行されたライセンスの分配管理及び、情報機器への各種サービスを提供するためのサーバである。機能提供サーバ１００はライセンスサーバ３００、情報機器２００と通信し、ライセンスの有無、情報機器の環境情報により、情報機器上で動作するアプリケーションの機能や、アプリケーションに提供するサービスを制御する。
【００２４】
情報機器２００は、アプリケーションを利用するための機器である。具体例としては、ＯＳ及びアプリケーションが組み込まれたＰＣ等である。
【００２５】
また、通信回線２０は、オフィス外にあるライセンスサーバ３００と接続されている。この接続は公衆網を利用してもよく、専用線によるものでもよい。
【００２６】
次に、図２を参照して機能提供サーバ１００の構成及び各部の動作の概略について説明する。
【００２７】
機能提供サーバ１００は、ＣＰＵ１１０、記憶部１２０及び通信回線Ｉ／Ｆ１３０を有する。これら各部は内部回線１４０により相互に接続されている。また、記憶部１２０はデータベース１２１を有している。
【００２８】
ＣＰＵ１１０は、中央演算処理装置（ＣＰＵ：Central Processing Unit）であり、機能提供サーバ１００を制御する部分である。
【００２９】
記憶部１２０は、一般的に、主記憶装置と呼ばれる装置と、補助記憶装置と呼ばれる装置により実現される記憶領域である。
【００３０】
主記憶装置は一般的にＲＡＭ（Random Access Memory）等の、格納されたデータに任意の順序でアクセス可能な記憶装置により実現され、本実施形態においては、機能提供サーバ１００の制御に必要なソフトウェアやデータを使用する際の作業領域として使用される。
【００３１】
また、補助記憶装置は、ＨＤＤ（Hard disk drive）やＦｌａｓｈ  ＳＳＤ（Solid State Drive）といった記憶装置で実現され、本実施形態においては機能提供サーバ１００の制御に必要なソフトウェアやデータ、データベース１２１等が格納される。
【００３２】
データベース１２１は記憶部１２０上に保存されている各種設定データを保持するエリアである。
【００３３】
通信回線Ｉ／Ｆ１３０は通信回線接続との信号の送受信を行うためのインターフェースである。
【００３４】
次に、図３を参照して情報機器２００の構成及び各部の動作の概略について説明する。
【００３５】
情報機器２００は、ＣＰＵ２１０、記憶部２２０、周辺機器Ｉ／Ｆ２３０、通信回線Ｉ／Ｆ２４０を有する。これら各部は内部回線２５０により相互に接続されている。また、記憶部２２０は情報機器ソフトウェア２２１を有している。
【００３６】
ＣＰＵ２１０は、中央演算処理装置であり、情報機器２００を制御する部分である。
【００３７】
記憶部２２０は、記憶領域であり記憶部１２０同様に利用される。また、記憶部２２０が格納している情報機器ソフトウェア２２１は記憶部２２０上で動作しているソフトウェアである。情報機器ソフトウェア２２１の具体的内容については後述する。
【００３８】
周辺機器Ｉ／Ｆ２３０は情報機器に接続された各種周辺機器との信号の送受信を行うためのインターフェースである。周辺機器Ｉ／Ｆ２３０は、周辺機器２３１〜２３３と接続されている。
【００３９】
周辺機器２３１〜２３３は、情報機器２００が利用する周辺機器であり、具体的にはどのような機器であってもよい。また、図３においては三台の周辺機器が図示されているが、これは一例に過ぎず任意の台数の周辺機器が接続されていてもよい。
【００４０】
通信回線Ｉ／Ｆ２４０は通信回線との信号の送受信を行うためのインターフェースである。
【００４１】
なお、上述した各機器ではＣＰＵが、記憶部に格納されているソフトウェアを読み込み、記憶部上のメモリを利用しながら演算処理を行う。すなわち、本実施形態はＣＰＵやメモリ、各種のインターフェースといったハードウェアと、プログラム（ソフトウェア）が協働することにより実現される。
【００４２】
続いて、図４を参照して情報機器ソフトウェア２２１のモジュール構成について説明する。情報機器ソフトウェア２２１は、ＯＳ２２１−１、アプリケーション２２１−２及びアプリケーション２２１−３を含んでいる。
【００４３】
ＯＳ２２１−１は情報機器２００全体を管理するためのソフトウェアである。ＯＳ２２１−１は、本実施形態特有のＯＳである必要は無く、例えばＷｉｎｄｏｗｓ（登録商標）のような汎用のＯＳであってもよい。
【００４４】
アプリケーション２２１−２及びアプリケーション２２１−３は、ＯＳ２２１−１上で動作するアプリケーションソフトウェアである。アプリケーション２２１−２及びアプリケーション２２１−３は、どのような機能を実現するためのアプリケーションであってもよい。また、図４において２つのアプリケーションが図示されているが、これは一例に過ぎず任意の個数のアプリケーションが組み込まれていてもよい。
【００４５】
次に、図５〜図８を参照して本実施形態において利用されるテーブルについて説明する。なお、これらのテーブルは具体例の一つに過ぎない。これらのテーブルの、構成や、その内容は、本実施形態の趣旨を逸脱しない範囲において任意に変更することが可能である。なお、各項目の内容が例示に過ぎないことを明確とする趣旨で、各図面では「例：」との記載を項目毎に図示している。
【００４６】
図５は機能提供サーバ１００の記憶部１２０に格納されるデータベース１２１の内容のうち、各機能のライセンスを有効にするのに必要な情報機器環境の条件を格納するライセンスサポート情報テーブルである。なお、データベース１２１には、本ライセンスサポート情報テーブルが、提供・管理する機能の数だけ存在する。
【００４７】
機能番号５０１には、機能提供サーバが提供・管理する機能を識別するための機能番号が格納される。機能名称５０２には、機能の名称が格納される。アプリケーションバージョン５０３には、機能のバージョン範囲が格納され、サポート条件テーブル５０４には、該当するアプリケーションバージョン５０３に記載されたバージョン範囲の機能のライセンスを有効するのに必要な情報機器環境の条件を定義するテーブルを識別するためのテーブル番号がバージョン範囲毎に格納される。
【００４８】
ここで、バージョン（version、「Ver.」と記述することもある。）とは、ソフトウェア（アプリケーション）が最初に開発されてから何回改訂・更新されたかを識別するための表記であるものとする。ソフトウェアは一旦開発された後であっても、性能向上や、バグ等と呼ばれる不具合の修正などを目的として、改訂・更新が行われており、この改訂・更新を識別するためにバージョンという表記が一般的に用いられている。
【００４９】
図６及び図７で示されているのは、前述のサポート条件テーブル５０４に格納されるテーブル番号で定義されるサポート条件テーブル本体である。これらサポート条件テーブルは、ライセンスサポート情報テーブルと同様にデータベース１２１に格納されている。
【００５０】
テーブル番号６０１、７０１はサポート条件テーブル５０４に格納されるテーブル番号と紐づけるための識別番号である。項目番号６０２、７０２は情報機器環境の条件の各項目を識別する番号が格納される。項目名称６０３、７０３は各条件項目の名称が格納される。判断条件６０４、７０４は、各機能のライセンスを有効・無効を判断するための判断条件が項目毎に格納され、第１の条件値６０５、７０５、第２の条件値６０６、７０６、第３の条件値７０７と合わせて環境条件を規定する。
【００５１】
なお、本実施形態では、サポート条件テーブルは００２まで、項目番号は４まで、条件値は２つ若しくは３つまでとなっているが、これは各機能の環境条件によって増減する。また、例としてＣＰＵのクロック数を一つの項目としているが、ＣＰＵクロック数のみならず、例えば搭載されているメモリの容量等を基準としてもよい。
【００５２】
図８で示されているのは、情報機器２００の記憶部２２０に格納される情報機器ソフトウェア２２１のうち、アプリケーション２２１−２、４０３のそれぞれが情報機器の環境を各々取得した情報が格納される情報機器環境テーブルである。なお、この報機器環境テーブルの内容は本願発明の「動作環境」に相当するものである。
【００５３】
情報機器環境テーブルは、記憶部２２０上にアプリケーション起動毎に格納される。項目番号８０１は、前述の項目番号６０２、７０２と対応する識別番号であり、情報機器環境の条件の各項目を識別する番号が格納される。項目名称８０２も、前述の項目名称６０３、７０３と対応する名称が格納される。情報機器環境８０３は、各項目に対応する実際の情報機器環境が格納される。情報機器環境テーブルをアプリケーション起動毎に更新することにより、情報機器の最新の情報を情報機器環境テーブルに反映させることが可能となる。例えば、ＯＳをバージョンアップ後にアプリケーションを起動させた場合は、ＯＳがバージョンアップしていることが即座に情報機器環境テーブルに反映されることとなる。
【００５４】
次に、本実施形態の動作について図９及び図１０のフローチャートを参照して具体的に説明する。
【００５５】
今回は、ライセンスサーバ３００からライセンスキーコードを入手して機能提供サーバ２００にライセンスキーコードを投入し、情報機器２００上のアプリケーション２２１−２と、アプリケーション２２１−３から”音声通話”機能のライセンスと機能提供を機能提供サーバ１００に要求する場合について説明する。
【００５６】
前提として、アプリケーション２２１−２のアプリケーションバージョンは”1.0.0.0”であるものとする。また、アプリケーション２２１−３のアプリケーションバージョンは”2.0.0.0”であるものとする。また、情報機器２００は図８の例で示されるように、ＯＳとして”OS V1SP2”を利用し、周辺機器２３１〜３０７のうち”NEC-HANDSET-V3”を音源として設定し、ＣＰＵのクロック数は”1000Hz”、ブラウザのバージョンは”7.0”であるものとする。
【００５７】
まず、ユーザがライセンスサーバ３００から”音声通話”のライセンスキーコードを購入して入手する（ステップＳ９０１）。
【００５８】
その後、ライセンスサーバ３００が、ユーザが入手したライセンスキーコードを機能提供サーバ１００に対して、通信回線経由で送信する（ステップＳ９０２）。
【００５９】
機能提供サーバ１００は、受信したライセンスキーコードを解読し、図５、図６に示されるライセンスサポート情報、サポート条件テーブルを抽出して５０１〜５０４、６０１〜６０６、７０１〜７０７に例で示されるように記憶部１２０上のデータベース１２１に格納する。ライセンス数も同様に抽出して記憶部１２０上の別のデータベースに未消費ライセンスとして格納する（ステップＳ９０３）。
【００６０】
次に、情報機器２００上でユーザが、まずアプリケーションバージョンが”1.0.0.0”であるアプリケーション２２１−２を起動する（ステップＳ１００１）。
【００６１】
アプリケーション２２１−２は、記憶部２２０上に、図８で示される情報機器環境テーブルを情報機器環境８０３にデータが格納されていない状態で作成する。そして、アプリケーション２２１−２は、ＯＳ２２１−１に問い合わせを行い、ＯＳ情報を入手して項目番号８０１が”1”のエリアの情報機器環境８０３にＯＳ情報”OS V1SP2”を格納する。
【００６２】
また、アプリケーション２２１−２は、自らの設定情報を参照し項目番号８０１が”2”のエリアの情報機器環境８０３に設定音源情報”NEC-HANDSET-V3”を格納する。更に、アプリケーション２２１−２は、ＯＳ２２１−１に問い合わせを行い、ＣＰＵ情報を入手して項目番号８０１が”3”のエリアの情報機器環境８０３にＣＰＵクロック情報”1000Hz”を格納する。加えて、アプリケーション２２１−２は、ＯＳ２２１−１に問い合わせを行い、ブラウザ情報を入手して項目番号８０１が”4”のエリアの情報機器環境８０３にブラウザバージョン情報”7.0”を格納する。
【００６３】
アプリケーション２２１−２は、上記情報が格納された情報機器環境テーブルを機能提供サーバ１００に通信回線経由で送信する（ステップＳ１００２）。
【００６４】
情報機器環境テーブルを受信した機能提供サーバ１００は、その情報機器環境テーブルを記憶部１２０に一時的なデータとして格納する。
【００６５】
次に、アプリケーション２２１−２は、自身の設定を参照し必要なライセンスを確認し、その結果、必要なライセンス”音声通話”機能の機能番号”機能001”（図中では「機能番号 X」と表記する。）のライセンス要求を、自身のアプリケーションバージョン”1.0.0.0” （図中では「機能番号 Y」と表記する。）と共に機能提供サーバ１００に送信する（ステップＳ１００３）。
【００６６】
機能番号”機能001”のライセンス要求とアプリケーションバージョン”1.0.0.0”を受信した機能提供サーバ１００は、まず機能番号”機能001”の未消費ライセンスが存在するかデータベースを参照する。本実施形態では１つ未消費ライセンスがあるとする。そして、未消費ライセンスがあるため、次にライセンスサポート情報テーブルの機能番号”機能001”のエリアのアプリケーションバージョン５０３の”1.0.0.0”が該当するエリアを探す。
【００６７】
”1.0.0.0”は”1.0.0.0”未満でなく、”1.0.0.0”より大きいかつ”2.0.0.0”より小さくもなく、”2.0.0.0”でもなく、”2.0.0.0”よりも大きくないため、アプリケーションバージョン５０３の”1.0.0.0”が該当する範囲のサポート条件テーブル５０４を参照し、そこに格納された”テーブル001”を参照する。
【００６８】
図６は”テーブル001”に示される情報を格納しており、機能提供サーバ１００は、前述の一時的なデータとして格納した情報機器２００の情報機器環境テーブル（図８参照）との比較を行う。
【００６９】
機能提供サーバ１００は、図６に示される”テーブル001”に格納された情報から、サポート条件を、項目番号”1”、項目名称”ＯＳ”が”OS 1SPなし”と”等しい”という条件と、項目番号”1”、項目名称”ＯＳ”が”ＯＳV1SP1”と”等しい”という条件と、項目番号”2”、項目名称”設定音源”が”NEC-HANDSET-V1”と”等しい”という条件と、項目番号”2”、項目名称”設定音源”が”NEC-HANDSET-V2”と”等しい”という条件と、項目番号”3”、項目名称”ＣＰＵクロック”が”800Hz”“以上”という条件と、項目番号”4”、項目名称”ブラウザバージョン”が”6.0”“以上”という条件を読み取る。
【００７０】
情報機器２００の情報機器環境テーブル（図８参照）との比較を行った結果、項目番号”1”と項目番号”2”の条件を満たしていないことが判明する（ステップＳ１００４においてＮＯ）。
【００７１】
機能提供サーバ１００は、情報機器２００に対して、ライセンス取得の失敗の結果通知と、どの条件を満たしていないかの情報を送信する。情報機器２００上のアプリケーション２２１−２はその情報を元に、図１１に示されるエラー表示を生成する。その結果図１２のようなエラーメッセージが表示される（ステップＳ１００７）。なお、図１１及び図１２に示されるエラー表示はあくまでも一例であり、具体的な文面は任意のものとすることが可能である。
【００７２】
アプリケーション２２１−２が、他のライセンスも必要な設定になっていれば（ステップＳ１００８においてＹＥＳ）、引き続き他のライセンス要求を行う（ステップＳ１００３）が、本実施形態では”音声通話”ライセンスのみ必要であるため、ライセンス取得処理を終了する（ステップＳ１００８においてＮＯ、ステップＳ１００８）。
【００７３】
次に、情報機器２００上でユーザが、アプリケーションバージョンが”2.0.0.0”であるアプリケーション２２１−３を起動する（ステップＳ１００１）。
【００７４】
アプリケーション２２１−３は、記憶部２２０上に、図８で示される情報機器環境テーブルを情報機器環境８０３にデータが格納されていない状態で作成する。そして、アプリケーション２２１−３は、ＯＳ２２１−１に問い合わせを行い、ＯＳ情報を入手して項目番号８０１が”1”のエリアの情報機器環境８０３にＯＳ情報”OS V1SP2”を格納する。また、アプリケーション２２１−３は、自らの設定情報を参照し項目番号８０１が”2”のエリアの情報機器環境８０３に設定音源情報”NEC-HANDSET-V3”を格納する。更に、アプリケーション２２１−３は、ＯＳ２２１−１に問い合わせを行い、ＣＰＵ情報を入手して項目番号８０１が”3”のエリアの情報機器環境８０３にＣＰＵクロック情報”1000Hz”を格納する。加えて、アプリケーション２２１−３は、ＯＳ２２１−１に問い合わせを行い、ブラウザ情報を入手して項目番号８０１が”4”のエリアの情報機器環境８０３にブラウザバージョン情報”7.0”を格納する。
【００７５】
アプリケーション２２１−３は、上記情報が格納された情報機器環境テーブルを機能提供サーバ１００に通信回線経由で送信する（ステップＳ１００２）。
【００７６】
情報機器環境テーブルを受信した機能提供サーバ１００は、その情報機器環境テーブルを記憶部１２０の一時的なデータとして格納する。
【００７７】
アプリケーション２２１−３は、自身の設定を参照し必要なライセンスを確認し、その結果、必要なライセンス”音声通話”機能の機能番号”機能001”のライセンス要求を、自身のアプリケーションバージョン”2.0.0.0”と共に機能提供サーバ１００に送信する（ステップＳ１００３）。
【００７８】
機能番号”機能001”のライセンス要求とアプリケーションバージョン”2.0.0.0”を受信した機能提供サーバ１００は、まず機能番号”機能001”の未消費ライセンスが存在するかデータベースを参照する。本実施形態では１つ未消費ライセンスがあるため、次にライセンスサポート情報テーブルの機能番号”機能001”のエリアのアプリケーションバージョン５０３の”2.0.0.0”が該当するエリアを探す。
【００７９】
”2.0.0.0”は”1.0.0.0”未満でなく、”1.0.0.0”より大きいかつ”2.0.0.0”より小さくもなく、”2.0.0.0”であり、”2.0.0.0”よりも大きくないため、エリアのアプリケーションバージョン５０３の”2.0.0.0”が該当する範囲のサポート条件テーブル５０４を参照し、そこに格納された”テーブル002”を参照する。
【００８０】
図６は”テーブル002”に示される情報を格納しており、機能提供サーバ１００は、前述の一時的なデータとして格納した情報機器２００の情報機器環境テーブル（図８参照）との比較を行う。
【００８１】
機能提供サーバ１００は、図６に示される”テーブル002”に格納された情報から、サポート条件を、項目番号”1”、項目名称”ＯＳ”が”ＯＳV1SPなし”と”等しい”という条件と、項目番号”1”、項目名称”ＯＳ”が”OS V1SP1”と”等しい”という条件と、項目名称”ＯＳ”が” OS V1SP2”と”等しい”という条件と、項目番号”2”、項目名称”設定音源”が”NEC-HANDSET-V1”と”等しい”という条件と、項目番号”2”、項目名称”設定音源”が”NEC-HANDSET-V2”と”等しい”という条件と、項目番号”2”、項目名称”設定音源”が”NEC-HANDSET-V3”と”等しい”という条件と、項目番号”3”、項目名称”ＣＰＵクロック”が”1000Hz”“以上”という条件と、項目番号”4”、項目名称”ブラウザバージョン”が”6.0”“以上”という条件を読み取る。
【００８２】
情報機器２００の情報機器環境テーブル（図８参照）との比較を行った結果、全ての項目番号の条件を満たしていることが判明する（ステップＳ１００４においてＹＥＳ）。
【００８３】
機能提供サーバ１００は、データベースに格納されている”音声通話”機能のライセンスを一つ未消費状態から消費済み状態に変更する（ステップＳ１００５）。
【００８４】
機能提供サーバ１００は、情報機器２００に対して、ライセンス取得の成功の結果通知を送信すると共に情報機器２００に対する”音声通話”機能の提供を開始する。情報機器２００上のアプリケーション２２１−３は成功結果通知を受信すると、”音声通話”機能を有効化する（ステップＳ１００６）。
【００８５】
アプリケーション２２１−３が、他のライセンスも必要な設定になっていれば（ステップＳ１００８においてＹＥＳ）、引き続き他のライセンス要求を行う（ステップＳ１００３）が、本実施形態では”音声通話”ライセンスのみ必要であるため、ライセンス取得処理を終了する（ステップＳ１００８においてＮＯ、ステップＳ１００８）。
【００８６】
上述の実施形態により、ユーザがアプリケーションを購入した後に、新しいＯＳや周辺機器が発売され、かつ、その新しいＯＳや周辺機器では機能が動作しないことが判明した場合でも、アプリケーションを更新せずに、ライセンスサーバ側を更新するのみで、機能動作条件を満たしていない情報機器・アプリケーションによって機能ライセンスが無駄に消費されないようにすることが可能となる、という効果を奏する。
【００８７】
また、ユーザはライセンスを追加で購入する際でも、アプリケーションを最新にアップデートしない場合があるが、ライセンスサーバは一般的に製品提供側が管理・運用しているため、ライセンスサーバの更新は即座に可能である場合が多いため、上記効果はより顕著なものとなる。
【００８８】
次に、前述した実施形態を変形した、第１の変形例について説明する。
【００８９】
前述の実施形態では、ライセンスサーバ３００で購入したライセンスキーコードを機能提供サーバ１００に投入した時点でのみ、ライセンスキーコード内の情報により図５のライセンスサポート情報テーブル、図６及び図７のサポート条件テーブルが書き込まれていたが、これを、機能提供サーバ１００が定期的にライセンスサーバ３００と通信して自動的に更新されるようにしてもよい。
【００９０】
この場合に、図９の流れ図ステップＳ９０１〜９０３が実行された後、任意の一定時間毎に以下の処理が実行される。なお、これ以外の他のステップにおける処理に変更はない。
【００９１】
まず機能提供サーバ１００が、データベースに現在書き込まれている全ての保有ライセンス（未消費及び消費済み）の機能番号をライセンスサーバ３００に対して、サポート条件更新要求として通信回線経由で送信する。
【００９２】
ライセンスサーバ３００は、サポート条件更新要求を受信すると、受信した全ての機能番号の図５のライセンスサポート情報テーブル、図６及び図７のサポート条件テーブルに該当する情報を機能提供サーバ１００に送信する。
【００９３】
機能提供サーバ１００は、受信した図５、図６に示されるライセンスサポート情報、サポート条件テーブルを５０１〜５０４、６０１〜６０６、７０１〜７０７に上書きして格納する。加えて、サポート条件テーブルが上書きされるのみならず、新たなサポート条件テーブルが追加される場合もある。
【００９４】
これにより、ユーザがライセンスキーコードを購入した後に、新しいＯＳや周辺機器が発売され、かつ、その新しいＯＳや周辺機器では機能が動作しないことが判明した場合でも、ライセンスサーバ側の情報のみを更新するだけで、ユーザが機能提供サーバ１００のサポート情報テーブル、サポート条件テーブルを手動で更新しなくても無駄なライセンス消費を防ぐことができるようになる。
【００９５】
次に、前述した実施形態を変形した、第２の変形例について説明する。
【００９６】
前述の実施形態では、ライセンスサーバ３００で購入したライセンスキーコードを機能提供サーバ１００に投入した時点でのみ、図５のライセンスサポート情報テーブル、図６及び図７のサポート条件テーブルが書き込まれていたが、これを、アプリケーション２２１−２、２２１−３の内部にあらかじめ記録しておいて、アプリケーションが起動した際に、アプリケーションが機能提供サーバ１００に対して送信するようにしても良い。
【００９７】
この第２の変形例の動作を、アプリケーション２２１−３のバージョンが”3.0.0.0”である場合を例にして説明する。
【００９８】
図１０のステップＳ１００１とステップＳ１００２の間に以下処理が実行される。
【００９９】
アプリケーション２２１−３が自身のアプリケーションバージョンと、自身が必要とする機能の図１３のライセンスサポート情報テーブル、図１４、図１５及び図１６のサポート条件テーブルを機能提供サーバ１００にサポート条件更新要求として送信する。
【０１００】
サポート条件更新要求を受信した機能提供サーバ１００は、データベースに記録された現状の図５のライセンスサポート情報テーブルのアプリケーションバージョン５０３を参照し、そこに記録された最も大きいバージョンが”2.0.0.0”であり、アプリケーション２２１−３より通知された図１３のライセンスサポート情報テーブルに記録された最も大きいバージョン”3.0.0.0”より小さいため、受信した情報のほうが新しいと判断し、図５のライセンスサポート情報テーブル、図６及び図７のサポート条件テーブルを消去し、代わりに図１３のライセンスサポート情報テーブル、図１４、図１５及び図１６のサポート条件テーブルを格納する。
【０１０１】
後の処理は、ステップＳ１００４でサポート条件の確認の際に機能提供サーバが確認するサポート条件が図１３のライセンスサポート情報テーブルと、図１４、図１５及び図１６のサポート条件テーブルに変更される以外は前述の実施形態と変更ない。
【０１０２】
これにより、アプリケーションのバージョンが上がった場合等にサポート条件が変更された場合で、ライセンスサーバ３００や機能提供サーバ１００内に格納されているサポート条件が古いままであっても、ユーザが利用しているアプリケーションのうち、１つのアプリケーションのみを更新することで、新しいサポート条件を適用することができ、ライセンスの無駄な消費や、サポートされない環境で機能が実行される。
【０１０３】
なお、本発明の実施形態である、機能提供サーバ、情報機器、ライセンスサーバは、ハードウェアにより実現することもできるが、コンピュータをその機能提供サーバ、情報機器、ライセンスサーバとして機能させるためのプログラムをコンピュータがコンピュータ読み取り可能な記録媒体から読み込んで実行することによっても実現することができる。
【０１０４】
また、本発明の実施形態による環境条件判別型ライセンス消費方法は、ハードウェアにより実現することもできるが、コンピュータにその方法を実行させるためのプログラムをコンピュータがコンピュータ読み取り可能な記録媒体から読み込んで実行することによっても実現することができる。
【０１０５】
また、上述した実施形態は、本発明の好適な実施形態ではあるが、上記実施形態のみに本発明の範囲を限定するものではなく、本発明の要旨を逸脱しない範囲において種々の変更を施した形態での実施が可能である。
【０１０６】
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
【０１０７】
（付記１)  与えられたライセンスに基づいてアプリケーションソフトウェアが動作する情報機器と、前記情報機器に前記ライセンスを付与する機能提供サーバと、を有するライセンス消費システムにおいて、
前記機能提供サーバが、前記ライセンスと、当該ライセンスを付与するための条件である動作条件を記憶し、
前記情報機器が、前記アプリケーションソフトウェアの起動を試みる際に、当該アプリケーションソフトウェアのライセンス取得要求と、当該情報機器の動作環境と、を前記機能提供サーバに送信し、
前記機能提供サーバが、前記要求されたライセンスに対応するアプリケーションソフトウェアの動作条件と、前記情報機器の動作環境と、を比較し、当該動作環境が当該動作条件を満たす場合には、前記情報機器に前記ライセンスを付与することを特徴とするライセンス消費システム。
【０１０８】
（付記２)  付記１に記載のライセンス消費システムにおいて、
前記アプリケーションソフトウェアのバージョンに応じて、同一のアプリケーションソフトウェアであっても前記動作条件を変更可能なことを特徴とするライセンス消費システム。
【０１０９】
（付記３)  付記１又は２に記載のライセンス消費システムにおいて、
前記ライセンスが、アプリケーションソフトウェアが有する機能毎に存在しており、前記情報機器が、前記機能の何れかを有効とすることを試みる際に、当該機能を有するアプリケーションソフトウェアのライセンス取得要求と、当該情報機器の動作環境と、を前記機能提供サーバに送信することを特徴とするライセンス消費システム。
【０１１０】
（付記４)  付記１乃至３の何れか１項に記載のライセンス消費システムにおいて、
前記比較において、前記動作環境が前記動作条件を満たさなかった場合は、当該動作条件の内の、どの動作条件が不一致であるのかという情報を、前記情報機器に表示させることを特徴とするライセンス消費システム。
【０１１１】
（付記５)  付記１乃至４の何れか１項に記載のライセンス消費システムにおいて、
前記機能提供サーバが、定期的に外部と通信を行うことにより前記動作条件の変更がないか確認し、当該確認の結果変更があった場合は、前記記憶している動作条件を前記変更後の動作条件へと書き換えることを特徴とするライセンス消費システム。
【０１１２】
（付記６)  付記１乃至５の何れか１項に記載のライセンス消費システムにおいて、
前記情報機器が複数存在しており、当該複数の情報機器の何れかの情報機器が前記アプリケーションソフトウェアを更新した際に、当該情報機器以外の他の情報機器に対しての前記動作条件も書き換えられることを特徴とするライセンス消費システム。
【０１１３】
（付記７)  付記１乃至６の何れか１項に記載のライセンス消費システムにおいて、
前記アプリケーションソフトウェアも前記ライセンスを付与するための条件である動作条件を記憶しており、
前記情報機器が、前記アプリケーションソフトウェアの起動を試みる際に、当該アプリケーションソフトウェアの動作条件と、当該アプリケーションソフトウェアのライセンス取得要求と、当該情報機器の動作環境と、を前記機能提供サーバに送信し、
前記機能提供サーバが、自身が前記記憶している動作条件と、前記情報機器から送信されてきた動作条件と、を比較し、当該比較の結果前記送信されてきた動作条件の方が新しいものである場合は、前記自身が記憶している動作条件を前記送信されてきた動作条件に書き換えることを特徴とするライセンス消費システム。
【０１１４】
（付記８)  与えられたライセンスに基づいてアプリケーションソフトウェアが動作する情報機器と接続され、前記情報機器に前記ライセンスを付与する機能提供サーバにおいて、
前記ライセンスと、当該ライセンスを付与するための条件である動作条件を記憶する記憶手段と、
前記情報機器が前記アプリケーションソフトウェアの起動を試みる際に前記情報機器から送信されてくる、当該アプリケーションソフトウェアのライセンス取得要求と、当該情報機器の動作環境と、を受信する通信手段と、
を備え、
前記要求されたライセンスに対応するアプリケーションソフトウェアの動作条件と、前記情報機器の動作環境と、を比較し、当該動作環境が当該動作条件を満たす場合には、前記情報機器に前記ライセンスを付与することを特徴とする機能提供サーバ。
【０１１５】
（付記９)  与えられたライセンスに基づいてアプリケーションソフトウェアが動作する情報機器と、前記情報機器に前記ライセンスを付与する機能提供サーバと、を有するシステムが行うライセンス消費方法において、
前記機能提供サーバが、前記ライセンスと、当該ライセンスを付与するための条件である動作条件を記憶し、
前記情報機器が、前記アプリケーションソフトウェアの起動を試みる際に、当該アプリケーションソフトウェアのライセンス取得要求と、当該情報機器の動作環境と、を前記機能提供サーバに送信し、
前記機能提供サーバが、前記要求されたライセンスに対応するアプリケーションソフトウェアの動作条件と、前記情報機器の動作環境と、を比較し、当該動作環境が当該動作条件を満たす場合には、前記情報機器に前記ライセンスを付与することを特徴とするライセンス消費方法。
【０１１６】
（付記１０)  与えられたライセンスに基づいてアプリケーションソフトウェアが動作する情報機器と接続され、前記情報機器に前記ライセンスを付与するサーバ、に搭載される機能提供プログラムにおいて、
前記ライセンスと、当該ライセンスを付与するための条件である動作条件を記憶する記憶手段と、
前記情報機器が前記アプリケーションソフトウェアの起動を試みる際に前記情報機器から送信されてくる、当該アプリケーションソフトウェアのライセンス取得要求と、当該情報機器の動作環境と、を受信する通信手段と、
を備え、
前記要求されたライセンスに対応するアプリケーションソフトウェアの動作条件と、前記情報機器の動作環境と、を比較し、当該動作環境が当該動作条件を満たす場合には、前記情報機器に前記ライセンスを付与するサーバとしてコンピュータを機能させることを特徴とする機能提供プログラム。
【符号の説明】
【０１１７】
１００  機能提供サーバ
１１０、２１０  ＣＰＵ
１２０、２２０  記憶部
１２１  データベース
１３０、２４０  通信回線Ｉ／Ｆ
１４０、２５０  内部回線
２００、２００−１、２００−Ｎ  情報機器
２２１  情報機器ソフトウェア
２２１−１  ＯＳ
２２１−２、２２１−３  アプリケーション
２３０  周辺機器Ｉ／Ｆ
２３１、２３２、２３３  周辺機器
３００  ライセンスサーバ
【図１】
0005196601.tif 000002
【図２】
0005196601.tif 000003
【図３】
0005196601.tif 000004
【図４】
0005196601.tif 000005
【図５】
0005196601.tif 000006
【図６】
0005196601.tif 000007
【図７】
0005196601.tif 000008
【図８】
0005196601.tif 000009
【図９】
0005196601.tif 000010
【図１０】
0005196601.tif 000011
【図１１】
0005196601.tif 000012
【図１２】
0005196601.tif 000013
【図１３】
0005196601.tif 000014
【図１４】
0005196601.tif 000015
【図１５】
0005196601.tif 000016
【図１６】
0005196601.tif 000017