JP5788499B2 - コンピュータシステム上でアプリケーションの実行を制御する方法 - Google Patents

コンピュータシステム上でアプリケーションの実行を制御する方法 Download PDF

Info

Publication number
JP5788499B2
JP5788499B2 JP2013510530A JP2013510530A JP5788499B2 JP 5788499 B2 JP5788499 B2 JP 5788499B2 JP 2013510530 A JP2013510530 A JP 2013510530A JP 2013510530 A JP2013510530 A JP 2013510530A JP 5788499 B2 JP5788499 B2 JP 5788499B2
Authority
JP
Japan
Prior art keywords
license
map
application
client
server
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2013510530A
Other languages
English (en)
Other versions
JP2013526742A (ja
Inventor
プラチュッシュ・クマール
セバスチャン・マハール
マイケル・ズンケ
サンディープ・スリ
ナビン・カウシク
ランジャン・シンハ
マニッシュ・グピタ
ジェイク・フォックス
シュロモ・ウェイス
ハイム・ヘミ・ラモン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SFNT Germany GmbH
Original Assignee
SFNT Germany GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SFNT Germany GmbH filed Critical SFNT Germany GmbH
Publication of JP2013526742A publication Critical patent/JP2013526742A/ja
Application granted granted Critical
Publication of JP5788499B2 publication Critical patent/JP5788499B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/105Arrangements for software license management or administration, e.g. for managing licenses at corporate level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/107License processing; Key processing
    • G06F21/1073Conversion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs

Description

本発明は、コンピュータシステム上でアプリケーションの実行を制御する方法に関する。
今日の大部分のコンピュータユーザは、ソフトウェア・アプリケーションの不正使用が違法であることに気付いているにもかかわらず、多くのユーザは、ソフトウェア・アプリケーションを価値のある知的財産として扱うことの重要性について一般的には関心を示さない。このようなソフトウェア・アプリケーションの違法使用を停止する1つの解決手法は、購入されるべきライセンスが存在するときに限りソフトウェア・アプリケーションが実行され得るように配布前にソフトウェア・アプリケーションを修正することである。
ソフトウェア・アプリケーションがソフトウェアベンダーによって(インターネットのような)分散型コンピュータシステムを介してサービスとして提供される場合、ソフトウェアベンダーは、ユーザがサービスに加入した後に、プロビジョニングステップを実行することになる。プロビジョニングステップは、加入対象サービスがユーザに利用できることを保証し、このステップは、古典的なソフトウェアの場合に、ユーザにライセンスを供与することと同じことである。簡単にするために、これらの用語は、本出願においてほぼ同じ意味で用いられる。
しかし、この種の保護(実行前のライセンス認証)の実施は、アプリケーションの使用目的に依存する。特に、実施は、顧客がアプリケーションを自分のパーソナルコンピュータにインストールする場合、または、顧客が分散型コンピュータシステムを介して提供されるサービスとしてソフトウェアを使用する場合によって異なる。
以上に鑑みて、本発明の目的は、ソフトウェア・アプリケーションにおいてライセンス認証を簡易に実施することを可能にするコンピュータシステム上のソフトウェア・アプリケーション実行制御方法を提供することである。
この目的は、コンピュータシステム上でソフトウェア・アプリケーションの実行を制御する方法であって、上記アプリケーションのために供与されたライセンスに基づいて、どのユーザが上記アプリケーションを実行することを許可されたかについての情報を含むライセンスマップを生成するステップと、コンピュータシステム上にライセンスクライアントを設けるステップと、上記ライセンスマップをライセンスクライアントに配信するライセンスサーバを設けるステップとを含み、ユーザが上記アプリケーションの実行を要求しているとき、ライセンスクライアントは、現在ライセンスマップに基づいて、ユーザが(この特有の時点において)上記アプリケーションを実行することが許可されているか否かを決定する方法によって解決される。
この方法を提供することにより、ライセンスクライアントは、この情報を含むライセンスマップに基づいてライセンスが存在するか否かだけを決定するので、ソフトウェア・アプリケーションにおける特定の実施から特殊な種類のライセンスを抽出(抽象化)することが可能である。その結果、ライセンス認証は、具体的なライセンスの種類から独立して(具体的なライセンス条件から独立して)実行される。
ライセンスの種類は、ライセンスクライアントによってチェックされないので、ソフトウェア・アプリケーション自体の修正の必要なしにソフトウェア・アプリケーションのための様々な種類のライセンス(ライセンス条件)を提供することが可能である。その結果、ソフトウェア・アプリケーションのためのライセンスを提供するソフトウェアベンダーは、修正された種類のライセンスを実施するためにソフトウェア・アプリケーションの開発業者まで遡る必要なしに新たな種類のライセンス、または、新たなビジネスモデルを変更し試行することがあり得る。
ソフトウェア・アプリケーションのライセンスは、(完全なアプリケーションのためではなく)アプリケーションの少なくとも1つの特徴または一部のためのライセンスであり得、または、完全なアプリケーションのためのライセンスであり得る。特に、アプリケーションの様々な特徴のための様々なライセンス条件が考えられる。本発明の方法では、アプリケーションにおいて、別個にライセンス供与され得るアプリケーションの特徴または機能性(機能/サービス)を実施することだけが必要である。別個にライセンス供与され得る様々な特徴についてのこの種の粒度を定義した後、これらの特徴のためのライセンス条件は、アプリケーション自体のさらなる修正を実行する必要なく定義され、修正され得る。その結果、アプリケーションのために考えられるビジネスモデルは、アプリケーションにおける実施から抽出される。
ソフトウェア・アプリケーションは、オンプレミス・ソフトウェア・アプリケーションとして、または、分散型コンピュータシステムを介して提供されたサービス・ソフトウェア・アプリケーションとしてライセンス供与され得る。
特に、コンピュータシステムは、少なくとも2台の別個の(たとえば、インターネットを介して互いに接続され得る)サービスノードを有し、ライセンスクライアントが個々のサービスノードに設けられ、ライセンスサーバが上記ライセンスマップを個々のライセンスクライアントに配信し、ユーザが上記アプリケーションの実行を要求しているとき、要求が向けられたサービスノードのライセンスクライアントが、現在ライセンスマップに基づいて、ユーザが上記アプリケーションを実行することを許可されているか否かを決定する、分散型コンピュータシステムとすることができる。
それぞれのライセンスクライアントの局所的な決定によって、分散型コンピュータシステムのための全体的に一貫性のあるライセンスデータを保証することは必要とされない。したがって、本発明の方法は、分散型コンピュータシステムと同じスケーラビリティを有し得る。
ライセンスマップをライセンスクライアントに配信するステップは、好ましくは、最初にユーザから実行要求を受信する前に実行される。
さらに、ライセンスサーバは、ライセンスマップがライセンスクライアントに有効である時間を示す有効期間と共にライセンスマップを配信することがあり得る。この場合、ライセンスの修正を考えることができる。
特に、ライセンスクライアントは、有効期間の満了前に新たなライセンスマップを要求することがあり得る。新たなライセンスマップは、好ましくは、現在のライセンスマップに取って代わる。この場合、ライセンスクライアントが現在のライセンスマップに基づいて常に決定し得ることを保証することが可能である。
ライセンスクライアントは、ユーザの上記実行要求を受信したとき、ライセンスマップまたは新たなライセンスマップを要求することがあり得る。この種類のライセンスマップの配信は、分散型コンピュータシステムにおいて通信負荷を低減する。
ライセンスクライアントは、所定時間内にライセンスサーバから新たなライセンスマップを取得することが可能ではない場合、有効期間の満了後にライセンスマップを使用することがあり得る。そのため、ライセンスサーバとの通信が時々妨害される場合でも、高速かつ迅速な応答を保証することが可能である。
ライセンスクライアントは、アプリケーションの実行に関する使用データを記録し(ログを取り)、ライセンスサーバに送信することがあり、ライセンスサーバは、使用データを考慮に入れて新たなライセンスマップを生成し、上記新たなライセンスマップを配信することがあり得る。このようにして、ライセンスマップを現在の使用状況に適合させることが可能である。
特に、ライセンスサーバは、上記使用データに依存して上記新たなライセンスマップを提供する期間を変更することがあり得る。たとえば、ライセンス供与された使用量を超過しそうな場合、新たなライセンスマップがライセンス供与された使用量を超過した直後に配信され得るように、新たなライセンスマップを配信する期間を短縮することが可能である。
コンピュータ・プログラム・プロダクトがコンピュータ上、特に、コンピュータシステム(の少なくとも一部)上で実行されているとき、本発明の方法または本発明の方法の1つのさらなる実施形態のステップを実行するために、ソフトウェアコードを含むコンピュータ・プログラム・プロダクトが提供される。
コンピュータシステム上でのソフトウェア・アプリケーションの実行を制御する制御システムであって、ライセンスクライアントと、アプリケーションのための所与のライセンスに基づいて、どのユーザがアプリケーションを実行することを許可されているかについての情報を含むライセンスマップを生成し、そして、ライセンスマップをライセンスクライアントに配信するライセンスサーバとを備え、ユーザがアプリケーションの実行を要求しているとき、ライセンスクライアントが、現在ライセンスマップに基づいて、ユーザが(この特有の時点に)アプリケーションを実行することを許可されているか否かを決定する、制御システムがさらに提供される。
コンピュータシステムは、少なくとも2台の別個のサービスノードを有する分散型コンピュータシステムとなることがあり得る。この場合、制御システムは、個々のサービスノードに1台のライセンスクライアントを備え、ライセンスサーバは、ライセンスマップを個々のライセンスクライアントに配信し、ユーザがアプリケーションの実行を要求しているとき、要求が向けられたサービスノードのライセンスクライアントは、現在ライセンスマップに基づいて、ユーザが(この時点で)アプリケーションの実行を許可されているか否かを決定する。
ライセンスサーバおよびライセンスクライアントのそれぞれは、ソフトウェアおよび/またはハードウェアとして具現化され得る。
本発明の制御システムは、コンピュータシステム上でのソフトウェアアプリケーションの実行を制御する本発明の方法のさらなる実施形態が実行され得るようにさらに構築され得る。
上記特徴と以下で説明される特徴とは、指示された組み合わせだけでなく、本発明の範囲から逸脱することなく、他の組み合わせで、または、単独で使用され得ることが認められるであろう。
本発明は、本発明に関連した特徴を同様に開示する添付図面を参照して、以下でより一層詳細に説明される。
分散型コンピュータシステムを概略的に示した図である。 ライセンスマップを示した図である。 修正されたライセンスマップを示した図である。
図1は、サービスノード21、22、23と、サービス・ノード・サーバ3と、認証サーバ9とを備える分散型コンピュータシステム1を概略的に示す。
クラウドNによって指示されるように、サービスノード21、22、23自体と、サービス・ノード・サーバ3と、認証サーバ9とは、ネットワークN、たとえば、インターネットを介して互いに接続されている。その結果、サービスノード2は、地球全体に広げられ得る。
分散型コンピュータシステム1は、オンデマンドサービスとして用いられるアプリケーションA、Bをユーザ41、42、43に提供するために使用され得る。このようなソフトウェア配備のモデルは、サービスとしてのソフトウェア(SaaS)と呼ばれることが多い。この場合、ユーザ41、42、43は、ネットワークNを介して、ライセンス供与されたアプリケーションを使用することがあり、それぞれのローカルコンピュータ51、52、53にアプリケーションをインストールする必要がない。たとえば、ライセンス供与されたアプリケーションAは、ローカルコンピュータ51上のウェブブラウザを介して、第1のユーザ41によって使用され得る。
このような分散型コンピュータシステム1においてアプリケーションA、Bのライセンスを効率的に管理するために、以下の方法が提供される。
第1のユーザ41が(エンタイトルメントサーバー6と呼ばれることもある)ライセンスサーバ6から所望のアプリケーションAがサービスノード2で実行されるライセンスを購入する場合を想定する。ライセンスは、利用回数制ライセンス、加入ライセンス、または、他の種類のライセンスであり得る。第2のユーザ42は、第2のアプリケーションBのライセンスを購入する。
分散型コンピュータシステムの分野では、ライセンスの購入は、契約締結と呼ばれることが多い。ユーザ4が分散型コンピュータシステムを介してライセンス供与されたアプリケーションを使用できるように実行されるべきステップは、ユーザプロビジョニングと呼ばれることが多い。これは、ユーザがソフトウェアまたはサービスを使用することを最終的に可能にするオンプレミスアプリケーションのためのライセンスの配信に対応する。
ライセンスサーバ6は、購入されたライセンスに基づいて簡易ライセンスマップ7を生成する。ライセンスマップ7は、どのアプリケーションがどのユーザにライセンス供与されたかについての情報だけを含む。図2に概略的に示されるように、第1のユーザ41は、アプリケーションAを使用することが許可され、第2のユーザ42は、アプリケーションBを使用することが許可される。しかし、ライセンスマップ7は、購入されたライセンスの種類に関する情報を含まない。
ライセンスクライアント81、82、83が個々のサービスノード21、22、23にさらに設けられる。ライセンスサーバ6は、生成されたライセンスマップ7を個々のライセンスクライアント81、82、83に配信する。
第1のユーザ41がアプリケーションAを実行することを要求するとき、実行されるステップは、以下の通りであり得る。
要求は、認証サーバ9へ経路制御される。認証サーバ9は、ユーザ2を認証または確認し、固有ユーザ識別情報を要求に割り当て、要求をユーザ識別情報と共に1台のサービスノード2(本実施例では、第1のサービスノード21)上のアプリケーションAへ経路制御する。その結果、認証サーバ9は、識別情報を要求に割り当てるために使用され、割り当てられた識別情報は、サービスノード2のシステムのためにライセンス供与される。
アプリケーションAは、要求を第1のサービスノード21上のライセンスクライアント81に向ける。ライセンスクライアント81は、局所的なライセンスマップ7に基づいて、第1のユーザ41がアプリケーションAを実行することを許可されているか否かをチェックする。第1のユーザ41がアプリケーションAを実行することを許可されていない場合、これは、アプリケーションAに送信される。その結果として、アプリケーションAは、実行されず、この情報が第1のユーザ41に与えられる。
しかし、第1のユーザ41がアプリケーションAを実行することを許可される場合、この情報は、固有セッション識別情報と共にアプリケーションAに与えられる。その結果、ライセンス要求は、それぞれの(第1の)サービスノード21上で局所的に実現される。このようにして、サービスノード2は、自律的に作用し、ライセンス問い合わせに局所的に返答することがあり得る。これは、SaaSアプリケーションA自体と寸分違わない非常に迅速な応答および完全なスケーリングを可能にする。
さらに、ライセンスクライアント81は、この要求を記録する。特に、対応するログエントリは、以下の情報:誰が(=第1のユーザ41)、いつ(要求の時間t1)、何を(アプリケーションAまたはアプリケーションAのライセンス供与された特徴)、固有セッション識別情報、サービスプロバイダ識別子を含むことがあり得る。
第1のユーザ41がアプリケーションAの使用を終了するとき、アプリケーションAは、対応するライセンスクライアント8に終了に関して通知する。さらに、ライセンスクライアント8は、セッション識別情報と共にアプリケーションAの終了の時間を指示するログエントリを作成する。
分散型コンピュータシステム1の性質により、アプリケーションAの終了の時間t2で、アプリケーションAが第2のサービスノード22上で実行されていた可能性がある。この場合、2つのログエントリが2台の異なるライセンスクライアント81および82によって記憶される。アプリケーションAの実行を開始に関するログエントリは、第1のライセンスクライアント81によって記憶され、アプリケーションの終了に関する(固有セッション識別情報および終了時間t2を含む)ログエントリは、第2のライセンスクライアント82によって記憶される。しかし、ライセンスクライアント81、82、83は、ログエントリをライセンスサーバ6に報告する。ログエントリに基づいて、ライセンスサーバ6は、第1のユーザ41が時間t1から時間t2までにアプリケーションAを使用したことを指示するセッションを作成することがあり得る。このセッションに基づいて、対応する請求書の作成が可能である。たとえば、ライセンスが利用回数制ライセンスである場合、t1からt2までの期間、および/または、アプリケーションAが利用された回数に応じて、請求書のための正確な額を借方に記入することが可能である。
ライセンスマップのための有効期間を割り当てることが可能である。言い換えると、個々のライセンスクライアント81、82、83に対し、ライセンスマップ7は、割り当てられた有効期間中に確実に有効である。
有効期間は、ライセンスマップに一覧化されたすべてのアプリケーションの最短ライセンス変更時間になるように設定され得る。アプリケーションまたはアプリケーションの特徴のライセンス変更時間は、ライセンスクライアント8に配信されるべきライセンスマップの作成から開始してライセンスの条件が変化しない最低限の期間である。ライセンスマップが将来の時点T(f)で使用され始めるために予め生成される場合、ライセンス変更時間は、T(f)と参照されたいずれかのライセンスの最初の変更時間との間の時間である。さらに、ライセンスのプロビジョニング解除が分散型コンピュータシステム1に依存する個々のサービスノード21、22、23まで伝搬させられるまでの時間であるプロビジョニング解除時間を考慮に入れることがあり得る。好ましくは、プロビジョニング解除時間とライセンス時間とのうちの最短時間が有効期間のため使用される。
サービスノード21、22、23においてライセンスマップ7を最新の状態にする、または、更新するために、様々なメカニズムが使用され得る。
たとえば、ライセンス要求がライセンスクライアント81、82、83に向けられたときに限り、それぞれのライセンスクライアント81、82、83は、ライセンスマップ7が依然として有効であるか否かを検証する。有効期間が満了した場合、それぞれのライセンスクライアント81、82、83は、ライセンスサーバ6からのさらなるライセンスマップ7を要求する。ライセンスサーバ6からライセンスマップ7を受信した後、ライセンス要求は、それぞれのライセンスクライアント81、82、83によって取り扱われ得る。
しかし、インターネットNの日常業務の一部であるライセンスサーバ6への接続が一時的に停止することが起こり得る。この場合、それぞれのライセンスクライアント81、82、83は、非常に短い応答時間でアプリケーションAを実行するユーザ要求を満たすために、(有効期間は、既に満了しているが)現在ライセンスマップ7に応じてライセンス要求に返答することがあり得る。その結果、ライセンスマップ7は、有効期間の満了後でも有効なままである。
このライセンス要求は、上述の通り記録されるので、このサービスの料金を請求することが依然として可能である。
ライセンスサーバ6との接続が可能になると直ぐに、それぞれのライセンスクライアント81、82、83は、新たなライセンスマップ7を生成し、旧ライセンスマップ7を置き換える。
さらに、ライセンスクライアント81、82、83は、有効ライセンスマップ7がいつでも存在するように、有効期間の満了前に新たなライセンスマップ7を要求することが可能である。
さらなる実施形態では、ライセンスクライアント81、82、83は、最近使用されたアプリケーションAのための新たなライセンスマップ7だけを生成する。
ライセンスマップ7は、ライセンスのスナップショットとして説明されることがあり、ライセンスマップ7は、ライセンス自体が変更されないままであっても、時間が経過すると共に修正されることがあり得る。
ライセンスマップ7は、固有の世代カウンタを備えることがある。この場合、ライセンスクライアント81、82、83は、第1のステップにおいて、世代カウンタが依然として有効であるか否かをライセンスサーバ6に問い合わせることがあり得る。世代カウンタが依然として有効である場合、ライセンスクライアント81、82、83は、新たな有効期間を設定することがあり得る。修正されたライセンスマップが作成される必要がないか、または、ライセンスサーバによって作成されている限り、世代カウンタは、有効なままである。新たな有効期間の持続期間は、好ましくは、旧有効期間の持続期間に対応する。世代カウンタが変化した場合、ライセンスクライアント81、82、83は、新たなライセンスマップ7を要求する。
上記方法を用いると、種々のライセンスモデルが実現され得る。たとえば、利用回数制モデルでは、プロバイダ3の要求に応じて、または、ユーザ4の要求に応じて最大限の利用を制限できることが望ましい。全体的な同期複雑さに合わせるため、ライセンスクライアント8およびライセンスサーバ6は、以下の通り具現化され得る。個々のライセンスクライアント8は、使用データを収集し、これらの使用データをライセンスサーバ6に周期的に転送する。ライセンスサーバ6は、使用データを集約し、購入されたライセンスに基づいて、ライセンスクライアント8に配信されるべきライセンスマップ7への修正を始動させる。その結果、上限の超過から始まり、アプリケーションのためのライセンスの停止までスイッチオフ時間が保証されることがあり得る。スイッチオフ時間は、使用データを収集し、ライセンスサーバ9に送信するステップと、使用データを集約するステップとの他に、ライセンスマップ7を修正するステップと、修正されたライセンスマップ7を送信するステップとに依存する。
保証されたスイッチオフ時間を短縮するために、報告頻度および/または集約頻度が増強され得る。さらに、有効期間が短縮され得る。しかし、これは、データ通信の増加を招く。その結果、保証されたスイッチオフ時間と、保証されたスイッチオフ時間を短縮する費用との間で妥協点が見出されることになる。
保証されたスイッチオフ時間を短縮するために、ユーザ4の使用率、残り使用時間、および/または、信用レベルを考慮することがさらに可能である。信用レベルは、実際の使用の代金を支払うユーザ4の信頼性を指定する。信用レベルが高いほど、ユーザの信頼性が優れている。
ユーザ41、42、43は、個人である可能性があり、または、個人の集まりである可能性がある。後者の場合、最大使用ライセンスは、同時に実行されるアプリケーションAの量を制限するライセンスであり得る。ライセンスサーバ6が実行されるアプリケーションAの最大量が超過したことを判定した場合、アプリケーションAのためのユーザ41のライセンスがもはや含まれない修正されたライセンスマップ7が生成される。この修正されたライセンスマップ7は、すべてのライセンスクライアント8に配布される。その結果、ユーザ41の中でアプリケーションAのさらなるインスタンスを実行できるユーザはいない。
ライセンスサーバ6がアプリケーションAを使用するユーザ41の人数が最大使用を下回ると判定した場合、ユーザ41がアプリケーションAを使用することが許可される新たなライセンスマップ7が生成される。このようにして、アプリケーションAが分散型コンピュータシステム1上で実行されている場合でも同時にアプリケーションAを使用する人に関してアプリケーションAの最大使用ライセンスを供与することが可能である。
少なくとも1人のユーザ41、42、43は、別のアプリケーションC、特に、ソフトウェアまたはウェブ・アプリケーションであり得る。ウェブ・アプリケーションは、ネットワークN内の1台または複数台のサービスノードによってホストされることがあり、ネットワークN内で提供されるサービスであり得る。この場合、ソフトウェア・アプリケーションCは、(たとえば、認証サーバ9によって)識別され、固有ユーザ識別情報がアプリケーションCに割り当てられる。その結果、ソフトウェア・アプリケーションCは、たとえば、上記実施形態のうちの1つによって、アプリケーションAを使用することがあり得る。サービスノード2は、別のソフトウェア・アプリケーションCによるソフトウェア・アプリケーションA、Bの使用を可能にするためにウェブサービスAPIまたはRESTfullインターフェイスを提供することがあり得る。
上記説明では、アプリケーションAおよび/またはBは、ライセンス供与される。しかし、当然ながら、アプリケーションA、Bの少なくとも1つの特定の特徴だけをライセンス供与することが可能である。特に、アプリケーションA、Bの少なくとも2つの特徴をライセンス供与することが可能であり、少なくとも2つの特徴のためのこの種のライセンスまたはライセンス条件は、異なる。アプリケーションAの第1の特徴のためのライセンスは、加入ライセンスであり得、アプリケーションの第2の特徴のためのライセンスは、ユーザ数制(pay−per−user)ライセンスであり得る。
ライセンスサーバ6は、ライセンスサーバ2に配信されるべきライセンスマップ7を生成するとき、さらなる情報を考慮に入れることがあり得る。たとえば、それぞれのユーザ4の契約の一部である全ライセンスまたは全特徴は、ライセンスマップ7を作成するときに考慮され得る。付加的に、または、代替的に、それぞれのアプリケーションのための同じライセンスまたは類似ライセンスを購入したユーザまたは他のユーザ群の先の使用に関するデータは、考慮され得る。その結果、ユーザの対応する要求がライセンスクライアントのうちの1つに向けられる前に、クライアントにライセンスマップ7を予めロードすることが可能である。
さらなる実施形態によれば、ライセンスクライアント8は、アプリケーションの実際の使用に関する上記情報だけでなく、たとえば、アプリケーションのどの特徴または部分がどのくらいの期間使用されたかなどのようなさらなるアプリケーション特定データを記録する。このさらなるアプリケーション特定データは、ライセンスサーバ6によって集約され、ライセンスマップ7の生成のために使用されることがあり得る。付加的に、さらなるデータマイニングがこれらのデータを使用して行われることがあり得る。
上記実施形態は、ネットワークNを介するオンデマンドサービスとして使用されるアプリケーションの準備を対象にする。しかし、オンプレミス・ソフトウェア・アプリケーションの実行を制御する上記方法を使用することが可能である。この場合、ライセンス供与されたアプリケーションは、ユーザ4によって自分の専用コンピュータまたはコンピュータネットワークにインストールされ得る。ライセンスクライアントは、好ましくは、コンピュータまたはコンピュータネットワークに同様にインストールされることがあり、ライセンスサーバは、ユーザのコンピュータもしくはコンピュータネットワーク、または、外部ネットワーク、たとえば、インターネットの一部であり得る。さらに、ライセンスサーバは、請求書を作成する必須情報がライセンスサーバによって送信されることがあり得るので、たとえば、オンプレミス・ソフトウェアのための利用回数制ライセンスが提供され得るように、ソフトウェアベンダーのさらなるサーバと通信することがあり得る。
図3には、さらなる情報が含まれる修正されたライセンスマップ7が示される。このライセンスマップには、第1のユーザ41がアプリケーションBを使用することが許可されないことについてのさらなる情報が含まれる。この情報は、ユーザ41がアプリケーションBを使用したい場合、アプリケーションBのためのライセンスを購入できることをユーザ41に通知するために使用されることがあり得る。この情報は、認証サーバ9が、たとえば、ユーザ41を識別するとき、第1のユーザ41のコンピュータ51に表示されることがあり得る。
本発明は、一側面において、以下の発明を包含する。
(発明1)
コンピュータシステム上でソフトウェア・アプリケーションの実行を制御する方法であって、前記アプリケーションのための所与のライセンスに基づいて、どのユーザが前記アプリケーションを実行することを許可されているかについての情報を含むライセンスマップを生成するステップと、前記コンピュータシステム上にライセンスクライアントを設けるステップと、前記ライセンスマップを前記ライセンスクライアントに配信するライセンスサーバを設けるステップとを備え、ユーザが前記アプリケーションの実行を要求しているとき、前記ライセンスクライアントは、現在のライセンスマップに基づいて、前記ユーザが前記アプリケーションを実行することが許可されているか否かを決定する、方法。
(発明2)
前記コンピュータシステムは、少なくとも2台の別個のサービスノードを有している分散型コンピュータシステムであり、ライセンスクライアントが個々のサービスノードに設けられ、前記ライセンスサーバは、前記ライセンスマップを個々のライセンスクライアントに配信し、ユーザが前記アプリケーションの実行を要求しているとき、前記要求が向けられた前記サービスノードの前記ライセンスクライアントは、前記現在のライセンスマップに基づいて、前記ユーザが前記アプリケーションを実行することが許可されているか否かを決定する、発明1に記載の方法。
(発明3)
前記ライセンスクライアントは、前記ユーザの前記実行要求を受信したとき、前記ライセンスマップを要求する、発明1または2に記載の方法。
(発明4)
前記ライセンスサーバは、前記ライセンスマップが前記ライセンスクライアントに有効である期間を指示する有効期間と共に前記ライセンスマップを配信する、発明1から3の1つに記載の方法。
(発明5)
前記ライセンスクライアントは、前記有効期間の満了前に新たなライセンスマップを要求する、発明4に記載の方法。
(発明6)
前記ライセンスクライアントは、前記有効期間の満了後に、所定の時間内に前記ライセンスサーバから新たなライセンスマップを取得することが不可能である場合、前記ライセンスマップを使用する、発明4または5に記載の方法。
(発明7)
前記ライセンスクライアントは、前記アプリケーションの実行に関する使用データのログをとり、前記ライセンスサーバに送信し、前記ライセンスサーバは、前記使用データを考慮に入れて新たなライセンスマップを生成し、前記新たなライセンスマップを配信する、発明1から6の1つに記載の方法。
(発明8)
前記ライセンスサーバは、前記使用データによって、前記新たなライセンスマップを提供する期間を変更する、発明7に記載の方法。
(発明9)
前記ライセンスサーバは、前記所与のライセンスが変更されないままである場合でも、前記ライセンスクライアント上の現在のライセンスマップを置き換える修正されたライセンスマップを前記ライセンスクライアントに配信する、発明1から8の1つに記載の方法。
(発明10)
プロダクトが実行されているとき、方法発明1から9の1つに記載のステップを実行するためにソフトウェアコードを備える、コンピュータ・プログラム・プロダクト。
(発明11)
コンピュータシステム上でソフトウェア・アプリケーションの実行を制御する制御システムであって、該システムは、ライセンスクライアント(2)およびライセンスサーバ(6)を備え、該サーバーは、前記アプリケーションのための所定のライセンスに基づいて、どのユーザが前記アプリケーションを実行することを許可されているかについての情報を含むライセンスマップを生成し、前記ライセンスマップを前記ライセンスクライアントに配信し、ユーザが前記アプリケーションの実行を要求しているとき、前記ライセンスクライアントは、現在ライセンスマップに基づいて、前記ユーザが前記アプリケーションを実行することが許可されているか否かを決定する、制御システム。
(発明12)
前記コンピュータシステムは、少なくとも2台の別個のサービスノードを有している分散型コンピュータシステムであり、ライセンスクライアントが個々のサービスノードに設けられ、前記ライセンスサーバは、前記ライセンスマップを個々のライセンスクライアントに配信し、ユーザが前記アプリケーションの実行を要求しているとき、前記要求が向けられた前記サービスノードの前記ライセンスクライアントは、前記現在のライセンスマップに基づいて、前記ユーザが前記アプリケーションを実行することが許可されているか否かを決定する、発明11に記載の制御システム。


Claims (10)

  1. 分散されたコンピュータシステム上で、オンデマンドでSaaSとしてソフトウェア・アプリケーションの実行を制御する方法であって、
    前記システムは、ライセンスサーバと、少なくとも2つの別個のサービスノードと、及び各サービスノード上のライセンスクライアントを備え、
    前記方法は、
    前記アプリケーションのための所与のライセンスに基づいて、どのユーザが前記アプリケーションを実行することを許可されているかについての情報を含むライセンスマップを、前記ライセンスサーバが生成するステップと
    記ライセンスマップをライセンスクライアントに前記ライセンスサーバが配信するステップと
    を備え、
    ユーザのローカルコンピュータが前記アプリケーションの実行を要求しているとき、前記要求が向けられる前記サービスノードの前記ライセンスクライアントは、現在のライセンスマップに基づいて、前記ユーザが前記アプリケーションを実行することが許可されているか否かを決定する、方法。
  2. 前記ライセンスクライアントは、前記ユーザのローカルコンピュータの前記実行要求を受信したとき、前記ライセンスマップを要求する、請求項1に記載の方法。
  3. 前記ライセンスサーバは、前記ライセンスマップが前記ライセンスクライアントに有効である期間を指示する有効期間と共に前記ライセンスマップを配信する、請求項1又は2に記載の方法。
  4. 前記ライセンスクライアントは、前記有効期間の満了前に新たなライセンスマップを要求する、請求項に記載の方法。
  5. 前記ライセンスクライアントは、前記有効期間の満了後に、所定の時間内に前記ライセンスサーバから新たなライセンスマップを取得することが不可能である場合、前記ライセンスマップを使用する、請求項またはに記載の方法。
  6. 前記ライセンスクライアントは、前記アプリケーションの実行に関する使用データのログをとり、前記ライセンスサーバに送信し、前記ライセンスサーバは、前記使用データを考慮に入れて新たなライセンスマップを生成し、前記新たなライセンスマップを配信する、請求項1からの一項に記載の方法。
  7. 前記ライセンスサーバは、前記使用データによって、前記新たなライセンスマップを提供する期間を変更する、請求項に記載の方法。
  8. 前記ライセンスサーバは、前記所与のライセンスが変更されないままである場合でも、前記ライセンスクライアント上の現在のライセンスマップを置き換える修正されたライセンスマップを前記ライセンスクライアントに配信する、請求項1からの一項に記載の方法。
  9. コンピュータ・プログラムであって、前記プログラムが実行されているとき、方法請求項1からの一項に記載のステップを実行するためにソフトウェアコードを備える、コンピュータ・プログラム。
  10. 分散されたコンピュータシステム上で、オンデマンドでSaaSとしてソフトウェア・アプリケーションの実行を制御する制御システムであって、
    該制御システムは、少なくとも2つの別個のサービスノードを有し、
    制御システムは、各サービスノード上のライセンスクライアントおよびライセンスサーバを備え、該サーバは、前記アプリケーションのための所与のライセンスに基づいて、どのユーザが前記アプリケーションを実行することを許可されているかについての情報を含むライセンスマップを生成し、前記ライセンスマップをライセンスクライアントに配信し、
    ユーザのローカルコンピュータが前記アプリケーションの実行を要求しているとき、前記要求が向けられる前記サービスノードの前記ライセンスクライアントは、現在ライセンスマップに基づいて、前記ユーザが前記アプリケーションを実行することが許可されているか否かを決定する、制御システム。
JP2013510530A 2010-05-21 2011-03-30 コンピュータシステム上でアプリケーションの実行を制御する方法 Active JP5788499B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP10163661.1 2010-05-21
EP10163661.1A EP2388725B1 (en) 2010-05-21 2010-05-21 A method for controlling the execution of an application on a computer system
PCT/EP2011/054897 WO2011144379A1 (en) 2010-05-21 2011-03-30 A method for controlling the execution of an application on a computer system

Publications (2)

Publication Number Publication Date
JP2013526742A JP2013526742A (ja) 2013-06-24
JP5788499B2 true JP5788499B2 (ja) 2015-09-30

Family

ID=42537849

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013510530A Active JP5788499B2 (ja) 2010-05-21 2011-03-30 コンピュータシステム上でアプリケーションの実行を制御する方法

Country Status (5)

Country Link
US (1) US20130179984A1 (ja)
EP (1) EP2388725B1 (ja)
JP (1) JP5788499B2 (ja)
ES (1) ES2628224T3 (ja)
WO (1) WO2011144379A1 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101816589B1 (ko) * 2011-08-10 2018-01-09 한국전자통신연구원 서비스형 소프트웨어 목록 갱신 방법 및 이를 위한 시스템
AU2014269180A1 (en) * 2013-05-23 2015-12-03 Sureshwara Incorporated A system for authorizing electronic transactions and a method thereof
EP2887603B1 (en) * 2013-12-18 2019-02-13 SFNT Germany GmbH Controlling an execution of a software application on an execution platform in a first local network
US9483636B2 (en) * 2014-01-17 2016-11-01 Microsoft Technology Licensing, Llc Runtime application integrity protection
US20150336005A1 (en) * 2014-05-20 2015-11-26 Cadillac Jack Electronic gaming system with central game licensing
EP3016346A1 (en) * 2014-10-29 2016-05-04 Thomson Licensing Data access method, devices and computer programs
WO2018021864A1 (ko) * 2016-07-29 2018-02-01 주식회사 파수닷컴 클라우드 기반의 서비스 제공 방법
KR101882685B1 (ko) * 2016-07-29 2018-08-24 주식회사 스패로우 클라우드 기반의 서비스 제공 방법
US10713338B2 (en) * 2017-03-09 2020-07-14 Microsoft Technology Licensing, Llc Source-based authentication for a license of a license data structure
DE102019103445A1 (de) 2019-02-12 2020-08-13 Dspace Digital Signal Processing And Control Engineering Gmbh Verfahren zur Lizenzierung einer Toolkette
DE102019117651A1 (de) * 2019-07-01 2021-01-07 Wagner Group Gmbh Verfahren zur Inbetriebnahme einer Sauerstoffreduzierungsanlage, computerlesbares-Speichermedium und Sauerstoffreduzierungsanlage

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ATE175281T1 (de) * 1991-05-08 1999-01-15 Digital Equipment Corp Lizenz-verwaltungssystem
US5260999A (en) * 1991-06-28 1993-11-09 Digital Equipment Corporation Filters in license management system
US6499035B1 (en) * 1998-07-15 2002-12-24 Microsoft Corporation Licensing java objects
US6968384B1 (en) * 1999-09-03 2005-11-22 Safenet, Inc. License management system and method for commuter licensing
US6810389B1 (en) * 2000-11-08 2004-10-26 Synopsys, Inc. System and method for flexible packaging of software application licenses
US7278164B2 (en) * 2001-01-05 2007-10-02 Revit Technology Corporation Software usage/procurement management
US6754642B2 (en) * 2001-05-31 2004-06-22 Contentguard Holdings, Inc. Method and apparatus for dynamically assigning usage rights to digital works
JP3928561B2 (ja) * 2003-01-23 2007-06-13 ソニー株式会社 コンテンツ配信システム、情報処理装置又は情報処理方法、並びにコンピュータ・プログラム
JP3791499B2 (ja) * 2003-01-23 2006-06-28 ソニー株式会社 コンテンツ配信システム、情報処理装置又は情報処理方法、並びにコンピュータ・プログラム
US20050050319A1 (en) * 2003-08-12 2005-03-03 Zeev Suraski License control for web applications
US8060924B2 (en) * 2004-04-19 2011-11-15 Lumension Security, Inc. On-line centralized and local authorization of executable files
US7703142B1 (en) * 2004-05-06 2010-04-20 Sprint Communications Company L.P. Software license authorization system
US8271390B2 (en) * 2004-06-14 2012-09-18 Nokia Corporation Digital rights management (DRM) license manager
US20060179058A1 (en) * 2005-02-04 2006-08-10 Charles Bram Methods and systems for licensing computer software
US20060271493A1 (en) * 2005-05-24 2006-11-30 Contentguard Holdings, Inc. Method and apparatus for executing code in accordance with usage rights
US20080046378A1 (en) * 2006-08-18 2008-02-21 Siemens Aktiengesellschaft System and method for selling software on a pay-per-use basis
US7900243B2 (en) * 2006-10-19 2011-03-01 Oracle America, Inc. Method and system for managing execution of an application module
JP5284989B2 (ja) * 2007-03-20 2013-09-11 デムヴィッチ ソフトウェア,リミテッド ライアビリティー カンパニー ソフトウェアライセンスの更新
US8800058B2 (en) * 2011-07-27 2014-08-05 Microsoft Corporation Licensing verification for application use

Also Published As

Publication number Publication date
EP2388725A1 (en) 2011-11-23
EP2388725B1 (en) 2017-01-11
WO2011144379A1 (en) 2011-11-24
US20130179984A1 (en) 2013-07-11
ES2628224T3 (es) 2017-08-02
JP2013526742A (ja) 2013-06-24

Similar Documents

Publication Publication Date Title
JP5788499B2 (ja) コンピュータシステム上でアプリケーションの実行を制御する方法
CN102771102B (zh) 分发数字内容的网络及管理方法
US9406095B2 (en) Application licensing using sync providers
US9268584B2 (en) Methods and systems for dynamically managing requests for computing capacity
JP5423397B2 (ja) アクセス権限管理システム、アクセス権限管理方法及びアクセス権限管理用プログラム
US10817854B2 (en) Providing configurable pricing for execution of software images
WO2013138954A1 (zh) 一种计算机账户管理系统及其实现方法
US9201640B2 (en) License management system
JP2014507736A (ja) ソフトウェアライセンスコントロール
US20130144633A1 (en) Enforcement and assignment of usage rights
US20080312943A1 (en) Method And System For Data Product License-Modification Coupons
US7694345B2 (en) Authorising use of a computer program
CN102171669B (zh) 认证分区上的服务
KR100941156B1 (ko) 어플리케이션의 거래와 정당 사용자의 실행을 지원하는 오픈 마켓 시스템 및 그 오픈 마켓 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140212

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140930

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20141014

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150113

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150630

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150729

R150 Certificate of patent or registration of utility model

Ref document number: 5788499

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250