JP2008547088A - ソフトウェア機能の遠隔実行のためにライセンス証明を採用するソフトウェアライセンスマネジャー - Google Patents

ソフトウェア機能の遠隔実行のためにライセンス証明を採用するソフトウェアライセンスマネジャー Download PDF

Info

Publication number
JP2008547088A
JP2008547088A JP2008516953A JP2008516953A JP2008547088A JP 2008547088 A JP2008547088 A JP 2008547088A JP 2008516953 A JP2008516953 A JP 2008516953A JP 2008516953 A JP2008516953 A JP 2008516953A JP 2008547088 A JP2008547088 A JP 2008547088A
Authority
JP
Japan
Prior art keywords
license
license certificate
software function
certificate
encrypted
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.)
Pending
Application number
JP2008516953A
Other languages
English (en)
Inventor
ブレッケン,カーステン
Original Assignee
マクロビジョン・コーポレーション
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 マクロビジョン・コーポレーション filed Critical マクロビジョン・コーポレーション
Publication of JP2008547088A publication Critical patent/JP2008547088A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Human Resources & Organizations (AREA)
  • Development Economics (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Tourism & Hospitality (AREA)
  • Data Mining & Analysis (AREA)
  • Quality & Reliability (AREA)
  • Operations Research (AREA)
  • Game Theory and Decision Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Storage Device Security (AREA)

Abstract

【課題】 分散プロセス環境に好適なソフトウェアライセンス管理方式を提供する。
【解決手段】 ローカルコンピュータのユーザーは、それぞれのライセンス管理ソフトウェアを使用して、ローカルコンピュータがアプリケーションプログラムのソフトウェア機能を実行することが許可されていることを実証するライセンス証明と共にその要求を送信することにより、リモートコンピュータが該ソフトウェア機能を実行することを要求する。そのソースを検証し、それがソフトウェア機能を実行する権利を有することを確認し、そして当該要求が適時になされたことを検証すると、リモートコンピュータ上のライセンス管理ソフトウェアは、要求どおり、当該コンピュータ上のユーザーが当該ソフトウェア機能を実行することを許可する。
【選択図】 図5

Description

発明の分野
本発明は、一般にソフトウェアライセンスマネジャーに関し、特にソフトウェア機能の遠隔実行のためにライセンス証明(license proofs)を採用するソフトウェアライセンスマネジャーに関する。
発明の背景
ソフトウェアライセンスマネジャーは、アプリケーションプログラム(すなわちソフトウェア)が許可によってのみ使用され得るようにその使用を制御する。通常のタイプのソフトウェアライセンスマネジャーは、ネットワークにおいて同時に使用されるアプリケーションプログラムのコピー数を追跡し、その使用を、当該ネットワーク用に購入されたフローティングライセンスの数により決定される最大数に制限する。
図1と図2に、このようなフローティングライセンスが管理されるコンピュータネットワークと、それらを管理するソフトウェアとをそれぞれ例示する。本例では、ネットワークは、クライアントコンピュータ110、120、130と、ローカルエリアネットワーク150を介しクライアントコンピュータに接続されるライセンスサーバー140とを含む。
アプリケーションプログラムのコピーは、各クライアントコンピュータ上にインストールされてもよいし、また随意にライセンスサーバー上にインストールされてもよい。このような3つのコピーの例を、アプリケーションプログラムコピー211、221、231として示す。ライセンスマネジャー241とベンダー支給のライセンス証明書242は、ライセンスマネジャー241が、ネットワークにおいて同時に実行するコピー数を、ライセンス証明書242の他のライセンス関連情報と共に指示されるネットワーク用に購入されたフローティングライセンスの数に制限されるようにライセンスサーバー140上にインストールされる。
アプリケーションプログラムの各コピーは、ライセンスマネジャー241が当該コピーへのユーザーアクセスを制御できるようにライセンスマネジャー241と通信を行うライセンスマネジャーインターフェースを備えている。したがって、例えば、ユーザーがアプリケーションプログラムコピー211を実行しようとする場合、そのライセンスマネジャーインターフェース212はライセンスマネジャー241にユーザーの要求を送信する。そしてライセンスマネジャー241は、該要求の許諾が、同時に実行するアプリケーションプログラムのコピーの数を、許可フローティングライセンスの数を超えさせるかどうかに依存して該要求を許諾または拒否する。
このようなフローティングライセンス管理方式は、アプリケーションプログラムが単一プロセス空間において実行される場合は有用かつ効果的であることを証明したが、アプリケーションプログラムが多元プロセス空間または分散プロセス環境(新たに登場したウェブサービスの世界やサービス指向型アーキテクチャ(service−oriented architecture:SOA)など)において実行される場合には改良され得る。
発明の目的および概要
したがって、本発明の一つまたは複数の態様の目的は、分散プロセス環境に好適なソフトウェアライセンス管理方式を提供することである。
このような環境では、アプリケーションプログラムを動作させるライセンスが、アプリケーションプログラムの個々のソフトウェア機能を実行するために、移動可能なサブライセンスに細分化される改良型ライセンス賦与方式は好都合である。この方式を使用することにより、一つのコンピュータエンティティは、アプリケーションプログラムのライセンスをチェックアウトし(すなわち、アプリケーションプログラムを実行するためにそのローカルライセンスマネジャーから許可を受け)、チェックアウト済みライセンスの対応するサブライセンスの権限下で該アプリケーションプログラムの一つのソフトウェア機能を実行することができる。さらに、上記コンピュータエンティティは、他のソフトウェア機能を実行するためのサブライセンスを他のコンピュータエンティティへ転送し、該他のコンピュータエンティティが転送されたサブライセンスの権限下で該他のソフトウェア機能を実行するようにできる。したがって、この場合の2つのコンピュータエンティティは同じチェックアウト済みライセンスを共有しつつ、異なるプロセス空間において該アプリケーションプログラムの異なるソフトウェア機能を実行することができる。分散プロセスは、さらに多くのコンピュータエンティティが同じチェックアウト済みライセンスの権限下で異なるソフトウェア機能を同時に実行できるように他のコンピュータエンティティに追加のサブライセンスを転送することによりさらに拡張され得る。
本発明の一つまたは複数の態様の別の目的は、ソフトウェア機能を実行するためのライセンスの証明を与える方法と装置を提供することであり、これにより、分散プロセス環境においてソフトウェア機能を実行することを別のコンピュータエンティティに要求するコンピュータエンティティが、ソフトウェア機能を実行するためのライセンスを既にチェックアウトしたということを他のコンピュータエンティティに対し証明することができる。
本発明の一つまたは複数の態様の別の目的は、ソフトウェア機能を実行するためのライセンスをリモートエンティティが有することを確認する方法と装置を提供することであり、これにより、分散プロセス活動の一部としてソフトウェア機能を実行するために別のコンピュータエンティティから要求を受信するコンピュータエンティティは、他のコンピュータエンティティがソフトウェア機能を実行するためのライセンスを既にチェックアウトしたことを確認することができ、したがってそのために実行されるソフトウェア機能を有する権利を賦与される。
本発明の一つまたは複数の態様のさらに別の目的は、異なるプロセス空間にまたがる分散プロセスにおいて同じライセンスを使用してソフトウェア機能を実行するための方法とシステムを提供することであり、これにより、分散プロセスに参加する任意のコンピュータエンティティがそのために別のライセンスをチェックアウトする必要なくソフトウェア機能を実行できる。
これら及び更なる目的は本発明の様々な態様により達成される。簡単に言うと、その一態様は分散プロセスにおいてソフトウェアライセンスを管理する方法であって、本方法は、アプリケーションプログラムの複数のソフトウェア機能を実行するためのライセンスをチェックアウトする工程と、複数のソフトウェア機能の一つのライセンス証明を生成する工程と、複数のソフトウェア機能の一つを実行する要求と共に上記ライセンス証明を与える工程とを含む。
別の態様は、ソフトウェア機能を実行するためのライセンスの証明を与える方法であって、本方法は、ソフトウェア機能の実行を許可するライセンスからの情報を含むライセンス証明を生成する工程と、ソフトウェア機能を実行する要求と共に上記ライセンス証明を与える工程とを含む。
別の態様は、ソフトウェア機能を実行するためのライセンスの証明を与える装置であって、本装置は、ソフトウェア機能の実行を許可するライセンスからの情報を含むライセンス証明を生成し、ソフトウェア機能を実行する要求と共に上記ライセンス証明を与えるように構成されたプロセッサを含む。
別の態様は、ソフトウェア機能を実行するためのライセンスをリモートエンティティが有することを確認する方法であって、本方法は、リモートエンティティからのソフトウェア機能を実行する要求と共にライセンス証明を受信する工程と、該ライセンス証明がリモートエンティティから来たことを検証し、ソフトウェア機能を実行するための許可を指示する工程とを有する。
別の態様は、ソフトウェア機能を実行するためのライセンスをリモートエンティティが有することを確認する装置であって、本装置は、リモートエンティティからのソフトウェア機能を実行する要求と共にライセンス証明を受信し、そして該ライセンス証明がリモートエンティティから来たことを検証し、ソフトウェア機能を実行するための許可を指示するように構成されたプロセッサを含む。
さらに別の態様は、異なるプロセス空間にまたがる分散プロセスにおいてソフトウェア機能を実行する方法であって、本方法は、ライセンス証明を生成し、ソフトウェア機能を実行する要求と共に該ライセンス証明を送信するように、第1のプロセス空間において実行する第1のコンピュータプログラムを実行する工程と、ライセンス証明を受信し、該ライセンス証明が第1コンピュータプログラムにより生成されたということと、該ライセンス証明が、ソフトウェア機能を実行するための許可を含むということとを検証するように、第2のプロセス空間において実行する第2のコンピュータプログラムを実行する工程とを含む。
さらに別の態様は、異なるプロセス空間にまたがる分散プロセスにおいてソフトウェア機能を実行するためのシステムであって、本システムは、ライセンス証明を生成し、ソフトウェア機能を実行する要求と共に該ライセンス証明を送信するように、第1のプロセス空間において実行する第1のコンピュータプログラムを実行する第1のコンピュータと、ライセンス証明を受信し、ライセンス証明が第1コンピュータプログラムにより生成されたということと、該ライセンス証明が、ソフトウェア機能を実行するための許可を含むということとを検証するように、第2のプロセス空間において実行する第2のコンピュータプログラムを実行する第2のコンピュータとを含む。
本発明の様々な態様の更なる目的、特徴、利点は、添付の図面と組み合わせて理解すべき以下の好ましい実施形態の説明から明らかになるであろう。
好適な実施形態の詳細な説明
本明細書で使用されるように、用語「互換(compatible)ライセンスマネジャー」は、サブライセンス可能かつ転送可能なソフトウェア機能の態様を認識するとともに本明細書で説明されるようにそれらの使用を管理するライセンスマネジャーを意味し、用語「互換ライセンスマネジャーインターフェース」は、サブライセンス可能かつ転送可能なソフトウェア機能の態様をまた認識するとともに本明細書で説明されるようにそれらの使用の管理において互換ライセンスマネジャーと協働するライセンスマネジャーインターフェースを意味する。
図3に、例として、インターネット330のような通信媒体を介し互いに通信を行う2つのネットワーク315、325を含む分散プロセス環境のブロックを例示する。ネットワーク315、325のそれぞれはライセンスサーバー(例えば、ネットワーク315のライセンスサーバー314、ネットワーク325のライセンスサーバー324)、複数のクライアントコンピュータ(例えば、ネットワーク315のクライアントコンピュータ311〜313、ネットワーク325のクライアントコンピュータ321〜323)、ファイアウォール(例えば、ネットワーク315のファイアウォール316、ネットワーク325のファイアウォール326)を含む。
ネットワーク315、325のそれぞれはローカルエリアネットワークであってもよいし、あるいはより一般的にはライセンスサーバー上で実行するライセンスマネジャープログラム(「ライセンスマネジャー」)が、そのコンピュータ上で実行する一つまたは複数のライセンス済みコンピュータプログラム(本明細書では、「アプリケーションプログラム」とも呼ばれる)を管理するようにライセンスサーバーを共有するコンピュータのグループであってもよい。また、図3では2つのネットワークのみが示されるが、無制限の数のネットワークが分散プロセス活動に参加してもよいし、したがって無制限の数のネットワークがその中に示される分散プロセス環境に追加されてもよく、しかもこれらは依然として本発明の様々な態様の意図する範囲に含まれることを十分に理解すべきである。
ネットワーク315、325のコンピュータ上で実行するアプリケーションプログラムは、アプリケーションプログラムに含まれるソフトウェア機能がサブライセンス可能であることと、このようなサブライセンスはそのソフトウェア機能の実行が互換ライセンスマネジャーにより管理される他のコンピュータまたはコンピュータエンティティに転送可能であるということとを除き、従来のフローティングライセンスまたはノードロックライセンスのようにライセンスされ管理されてよい。
従来のフローティングライセンス方式の場合、ネットワークの所有者は、通常、同時にネットワークのアプリケーションプログラムを実行することを許可されるユーザーの数が当該数に制限されるように、多くの同時ライセンスを購入する。従来のノードロックライセンスの場合、アプリケーションプログラムは、規定されたコンピュータ上でのみで実行されることを許可される。このようなフローティングおよび/またはノードロックライセンスの使用を管理するライセンスマネジャーの例は、米国カリフォルニア州サンタクララのマクロビジョン社(Macrovision Corporation, Santa Clara, California)の製品FLEXlm(商標)である。
但し、本例のライセンス管理方式では、アプリケーションプログラムは、図4に例示するアプリケーションプログラム400に含まれるソフトウェア機能401〜404などの複数のソフトウェア機能を含む。各ソフトウェア機能は、アプリケーションプログラムの異なる特徴または異なる実行可能なモジュールを表してよい。該ソフトウェア機能を実行するための許可が別のコンピュータエンティティに転送され、次にこの別のコンピュータエンティティが、このように転送された許可の元に、そして転送された許可を認証し認識する互換ライセンスマネジャーの管理の元で該ソフトウェア機能を実行できるように、各ソフトウェア機能はサブライセンス可能であってよい。
図5と図6に、例として、分散プロセス環境のソフトウェアライセンスの管理に関与するソフトウェアモジュール(すなわちコンピュータプログラム、コンピュータファイル/オブジェクト)を例示する。図5は同じネットワーク(例えば、ネットワーク315のクライアントコンピュータ311、312)の2つのコンピュータが分散プロセス活動において協働している場合に適用可能であり、図6は異なるネットワーク(例えば、ネットワーク315のクライアントコンピュータ311と、ネットワーク325のクライアントコンピュータ321)の2つのコンピュータが分散プロセス活動において協働している場合に適用可能である。これらの説明には用語「互換」は含まれないが、図5〜9において図示され、説明され、および/または参照されるすべてのライセンスマネジャーとライセンスマネジャーインターフェースは、互換ライセンスマネジャーと互換ライセンスマネジャーインターフェースである。
図5と図6の両者に共通に、ネットワーク315のクライアントコンピュータ311などの第1のコンピュータエンティティは、その上にインストールされたアプリケーションプログラム400のコピー511を有し、ネットワーク315のライセンスサーバー314などの対応するライセンスサーバーは、その上にインストールされたライセンスマネジャー514とライセンス証明書(license certificate)515を有する。
ライセンス証明書515は、通常、アプリケーションプログラム400のベンダーにより提供される。ライセンス証明書515は、ソフトウェアライセンスのタイプ(例えば、フローティングまたはノードロック)、規定されたネットワーク上で許可された同時ユーザーの数(フローティングライセンスに対して)またはアプリケーションプログラムを実行することを許可された一つまたは複数のコンピュータの識別子(ノードロックライセンスに対して)、アプリケーションプログラムのベンダー名、アプリケーションプログラムのバージョンまたは改訂番号、ライセンスの有効期限、ライセンス(例えば、アプリケーションプログラム400のソフトウェア機能401〜404のいずれかまたはすべて)内に含まれるソフトウェア機能の指示、ベンダーから来るライセンス証明書515を認証する認証署名、などのライセンス関連情報を含む。
アプリケーションプログラム400のコピー511へのユーザーアクセスは、コピー511に付随するライセンスマネジャーインターフェース512を介しライセンスマネジャー514により制御される。クライアントコンピュータ311のユーザーがアプリケーションプログラム400のコピー511を実行しようとする場合、ライセンスマネジャーインターフェース512はライセンスマネジャー514に実行要求を送信する。ライセンスマネジャーインターフェース512とライセンスマネジャー514間の通信は、セキュアであることが好ましく、コピー511の不正使用を防ぐために従来の認証技術を含む。
実行要求を受信すると、ライセンスマネジャー514は、ライセンス証明書515を読み、その中に規定されたソフトウェアライセンスの契約条件が、ユーザーがその時にコピー511を実行するのを許可するかどうかを判断する。例えば、ライセンス契約条件がフローティングライセンスを同時ユーザーの最大数で規定する場合、ライセンスマネジャー512は、クライアントコンピュータ311から受信された実行要求を許諾した場合その最大数を超えるかどうかを判断する。その最大数を超えた場合、要求は拒否され、ユーザーは、ネットワーク315の別のユーザーがアプリケーションプログラム400のコピーの実行を停止するまで待つ必要がある。一方、その最大数を超えなかった場合、要求は許諾され、ユーザーは、アプリケーションプログラム400のコピー511を実行することが許される。
この許諾は利用可能なライセンスの数を一個ずつ減らすことと考えられるので、コピー511を実行するためのライセンスマネジャー514による実行要求の許諾はライセンスを「チェックアウトする」という。その後ユーザーがコピー511の実行を停止すると、ライセンスマネジャーインターフェース512は、ライセンスマネジャー514が利用可能ライセンスの数をインクリメントできるようにライセンスマネジャー514にこのアクションを通知する。この逆のプロセスは、ライセンスを「チェックイン」するという。
ライセンス契約条件がフローティングライセンスまたはノードロックライセンスを規定するかにかかわらず、ライセンスマネジャー514による要求の取り扱いは実質的に先行技術のライセンスマネジャーにより行なわれるのと同じである。この場合、ライセンスをチェックアウトするということは、アプリケーションプログラム400のすべてのライセンス済みソフトウェア機能(ライセンス証明書515に指示されるもの)が、実行要求元クライアントコンピュータ511により実行されることを許可されたことを意味する。具体的には、ソフトウェア機能401〜403のみがライセンスされソフトウェア機能404がライセンスされない場合、ソフトウェア機能401〜403は、その実行要求が許諾されるとクライアントコンピュータ311によりチェックアウトされる。
ライセンス済みソフトウェア機能のそれぞれはサブライセンス可能であり、そしてこのようなサブライセンシーは他のコンピュータエンティティに転送可能である。したがって、クライアントコンピュータ311(この場合、「ライセンス証明プロバイダー」または単に「プロバイダー」と呼ばれる)が、そのネットワーク315のクライアントコンピュータ312またはネットワーク325のクライアントコンピュータ321(この場合、「ライセンス証明アクセプタ」または単に「アクセプタ」と呼ばれる)などの別のコンピュータエンティティに、ライセンス済みソフトウェア機能の一つを実行することを要求する場合、ここに説明したソフトウェアライセンス賦与メカニズムを使用することにより自由にそのようにできる。
別のコンピュータエンティティにソフトウェア機能を実行させる権限を有することを証明するために、クライアントコンピュータ311(「プロバイダー」)は、ライセンス済みソフトウェア機能を実行する要求と共に他のコンピュータエンティティ(「アクセプタ」)に送信するライセンス証明700を生成する。好ましくは、ライセンス証明700は、プログラミング言語ニュートラルなXML表現のように容易に送信または逐次化され得る表現を有するデータオブジェクトとして生成される。
図7に、例として、ライセンス証明700に含まれる項目を例示する。ライセンス証明700内に含まれるのは、ライセンス説明の部分701、認証署名のフィールド702、タイムスタンプのフィールド703である。ライセンス説明701は、ベンダーの名前、バージョンまたは改訂番号、ライセンスに含まれるアプリケーションプログラムのソフトウェア機能の識別子、ライセンスの有効期限、などのアプリケーションプログラムのライセンス関連情報を含む。認証署名702は、ベンダーにより許可されている項目あるいはベンダーから来る項目を認証するベンダー提供の署名である。タイムスタンプ703は、使用のためにライセンスがライセンスマネジャーからチェックアウトされた時間/日付である。
ライセンス説明701と認証署名702は、ライセンスマネジャー514によりライセンス証明書515からライセンスマネジャーインターフェース512に与えられる。好ましくは、タイムスタンプ703もまた、コピー511を実行するためのライセンスがいつチェックアウトされたかを示すためにライセンスマネジャー514によりライセンスマネジャーインターフェース512に与えられる。あるいは、タイムスタンプは、コピー511を実行するための許可をライセンスマネジャー514から受信するときに、クライアントコンピュータ311上で実行する従来の時間/日付機能を使用してライセンスマネジャーインターフェース512により決定されてもよい。
以下は、ライセンス権の表示に類似したフラットテキスト表現を使用する、解読されたライセンス証明の例である。
ComputingFeature mvsn 1.0 1−jun−2005 HOSTID=DEMO
SIGN=’’1F54 E53F A55A B233 C75B E7EE 1088 3FD3 E114 92FF C1A0 8F0E 11AB 530D F36B 1752 3D5E 761F 66EF 1672 85A3 6028 A113 2668 0CDC 4CBB 686F 0065 F3D4 986C’’
TIMESTAMP=’’26 Aug 2004 23:51:12 GMT’’.
好ましくは、ソフトウェア機能を実行する要求とライセンス証明516は、ライセンス証明プロバイダーとライセンス証明アクセプタコンピュータエンティティのライセンスマネジャーインターフェース(例えば、ライセンスマネジャーインターフェース512、522)を介し伝達される。アクセプタが要求とライセンス証明700を受信すると、好ましくは、ライセンスマネジャーインターフェース522は、ライセンス証明700が適切に許可されたことを確認するための認証署名702を認証し、ライセンス証明プロバイダーがライセンス説明701にしたがって要求ソフトウェア機能を実行する権限を有するということを検証し、そしてライセンスがタイムスタンプ703にしたがって最近適切にチェックアウトされたということを検証するライセンスマネジャー(例えば、アクセプタがプロバイダーと同じネットワークに存在する場合は図5の514、あるいはアクセプタがプロバイダーとは異なるネットワークに存在する場合は図6の524)に該ライセンス証明を渡す。これらの条件がすべて満足された場合、ライセンスマネジャーは、そうするために別のライセンスをチェックアウトすることなくライセンス証明700の権限下でライセンスマネジャーインターフェース522が要求ソフトウェア機能を実行することを許可する。
セキュリティ目的のために、クライアントコンピュータ311は、ソフトウェア機能を実行する要求と共に別のクライアントコンピュータに送信する前に、少なくともライセンス証明700を暗号化することが望ましいであろう。情報がインターネット上で送信される場合、ライセンス証明の悪用または改ざんの防止は特に関心事である。
互換ライセンスマネジャーインターフェース(例えば、ライセンスマネジャーインターフェース512、522)および/または互換ライセンスマネジャー(例えば、ライセンスマネジャー514、524)のみにより知られた共有秘密鍵を使用してライセンス証明を暗号化することにより、通信のソース(すなわち、互換ライセンスマネジャーインターフェースから来たということ)を認証することができ、通信は改ざんに対し保護され、その悪用は阻止される。
あるいは、プロバイダーに関連付けられた公開鍵を使用して受信側においてそれを解読できるように、プロバイダーに関連付けられた秘密鍵を使用してライセンス証明を暗号化することにより、通信のソース(すなわち、プロバイダーから来たということ)を認証することができ、その通信は改ざんから保護され、その悪用は阻止される。
図5に図示した配置がこの場合でも使用されるように、一つのネットワーク(例えば、ネットワーク315)のライセンス証明プロバイダーのライセンスマネジャー514が別のネットワーク(例えば、ネットワーク325)のライセンス証明アクセプタのライセンスマネジャーインターフェース522と直接に対話することも実行可能かもしれないが、ファイアウォール(例えば、ネットワーク315のファイアウォール316、ネットワーク325のファイアウォール326)がネットワークに存在する場合、このような配置における2つのモジュール間の通信は複雑になるかもしれない。したがって、ライセンスマネジャーとライセンスマネジャーインターフェースがファイアウォールを介し通信を行うことを回避するためには、図7に示された配置がこのような場合には好ましい。
上述のソフトウェアライセンス賦与方式をさらに詳しく述べるために、図8と図9に、例として、送受信コンピュータエンティティにおいて行なわれる方法またはプロセスを例示する。
図8を参照すると、工程801においてクライアントコンピュータ(例えば、311)は、それを実行しようとするかそうでなければその実行要求を行うユーザーによりアプリケーションプログラム(例えば、400)のコピー(例えば、511)を実行するためのライセンスをチェックアウトし、ライセンスマネジャー(例えば、514)は、ベンダー支給のライセンス証明書(例えば、515)から読み取ったライセンス契約条件にしたがって、ユーザーがコピーを実行することを許可する。
工程802において、ユーザーが、アプリケーションプログラムの一部として含まれるソフトウェア機能を実行するために、分散プロセス活動の一部として別のコンピュータエンティティ(例えば、同じネットワークの312または異なるネットワークの321)に対する要求を開始すると、アプリケーションプログラムのコピーに付随するライセンスマネジャーインターフェース(例えば、512)は、ライセンスマネジャーにより与えられた情報からライセンス証明700(好ましくはライセンス説明701、認証署名702、タイムスタンプ703を含む)を生成する。
工程803において、ライセンスマネジャーインターフェースは、ライセンスマネジャーインターフェースに一意的に関連付けられた共有秘密鍵または秘密鍵のいずれかを使用してライセンス証明を暗号化し、工程804において、ライセンスマネジャーインターフェースは、他のコンピュータエンティティ上にインストールされた互換ライセンスマネジャーインターフェース(例えば、522)に暗号化ライセンス証明と共に実行要求(規定されたソフトウェア機能に対する)を送信する。
この時点では、ユーザー自身の実行する権利がたった今、他のコンピュータエンティティ(ライセンス証明アクセプタ)に転送されたところなので、ライセンスマネジャーインターフェースはユーザーがソフトウェア機能を実行しないようにするのが好ましい。他のコンピュータエンティティが要求どおりに該ソフトウェア機能を実行した後は、他のコンピュータエンティティがユーザーに付随するライセンスマネジャーインターフェースにライセンス証明を返却すれば、あるいはそうでなければライセンス証明を使用して実行が完了したこと指示すれば、ユーザーはソフトウェア機能を実行することができる。
図9を参照すると、工程901において、他のコンピュータエンティティ(例えば、312または321)のライセンスマネジャーインターフェース(例えば、522)は、要求元コンピュータエンティティ(例えば、311)からソフトウェア機能実行要求と暗号化ライセンス証明(例えば、516)を受信する。
工程902において、好ましくは、ライセンスマネジャーインターフェースはプロセスのために暗号化ライセンス証明をそのライセンスマネジャー(例えば、他のコンピュータエンティティが要求元コンピュータエンティティと同じネットワーク上に存在する場合はライセンスマネジャー515、あるいは他のコンピュータエンティティが要求元コンピュータエンティティと異なるネットワーク上に存在する場合はライセンスマネジャー525に、したがって異なるライセンスマネジャーにより管理される)に送信し、そしてライセンスマネジャーは暗号化ライセンス証明を解読する。
この場合の解読は、例えば、ライセンス証明が共有秘密鍵により暗号化されていた場合は共有秘密鍵を使用して、あるいはライセンス証明が送信元の秘密鍵により暗号化されていた場合は暗号化ライセンス証明の送信元(例えば、ライセンス証明プロバイダー)に関連付けられた公開鍵を使用して行なうことができる。いずれの場合も、暗号化ライセンス証明を解読するために使用される鍵は、特定のソフトウェアライセンス管理方式において使用される規定に依存するであろう。そして解読の成功は、暗号化ライセンス証明のソースが認証されたことを示す。
工程903において、ライセンスマネジャーは解読されたライセンス証明を読み、工程904と工程905においてライセンスマネジャーは、コンピュータエンティティ(例えば、ライセンス証明アクセプタ)がアプリケーションプログラム(例えば、400)のインストールされたコピー(例えば、521)からソフトウェア機能を実行するのを許可するかどうかを判断する。
工程904において、ライセンスマネジャーは、ライセンス証明がコンピュータエンティティにソフトウェア機能を実行させるに十分な権利を指示しているかどうかを判断する。例えば、ライセンスマネジャーは、実行要求がなされたソフトウェア機能がライセンス済みソフトウェア機能であるということを確認することができる。また、ライセンスマネジャーは、アプリケーションプログラム(例えば、400)のベンダーの認証署名としてライセンス証明から読み込まれたものと、要求されたソフトウェア機能を実行するために使用されるアプリケーションプログラム(例えば、400)のコピー(例えば、521)のライセンス証明書(例えば、ライセンスマネジャー514がこのタスクを行なっている場合はライセンス証明書515、あるいはライセンスマネジャー524が行なっている場合はライセンス証明書525)内に見出されるベンダーの認証署名とを比較することにより、当該認証署名を検証することができる。また、ライセンスマネジャーは、ライセンス証明内に記載されるライセンスが期限切れになったかどうか、および/または該ライセンスがそのコンピュータ上にインストールされるアプリケーションプログラムの同じバージョンかまたは修正版に対するものかどうかを判断することができる。ライセンスマネジャーが、コンピュータエンティティにソフトウェア機能を実行させるためには十分な権利が存在しないと判断した場合、工程905においてライセンスマネジャーは適切なライセンスマネジャーインターフェース(例えば、522)にその事実を通知して、実行要求元クライアントコンピュータのカウンタパート(例えば、ライセンス証明プロバイダー)に適切なエラー通知を返送できるようにする。
工程905において、ライセンスマネジャーは、ライセンス証明が、適度に最近の期間内にそうでなければ予め決められた期間内に生成されたかどうかを判断する。例えば、ライセンスマネジャーは、ライセンス証明700のタイムスタンプ(例えば、703)とそのシステム上の(または、同意されたタイムゾーンの)現在時間とを比較することができ、その差異が48時間などの所定の期間より大きい場合はライセンス証明がもはや有効ではないと判断する。ライセンス証明が適度に最近の期間内にそうでなければ予め決められた期間内に生成されていないため、ライセンスマネジャーがライセンス証明はもはや有効ではないと判断した場合、工程906において、ライセンスマネジャーは適切なライセンスマネジャーインターフェース(例えば、522)にその事実を通知し、実行要求元クライアントコンピュータのそのカウンタパート(例えば、ライセンス証明プロバイダー)に適切なエラー通知を返送できるようにする。
一方、ライセンス証明が、コンピュータエンティティにソフトウェア機能を実行させるに十分な権利を指示し、そしてライセンス証明が適度に最近の期間内にそうでなければ予め決められた期間内に生成されたと、ライセンスマネジャーが判断した場合、工程908において、ライセンスマネジャーは適切なライセンスマネジャーインターフェース(例えば、522)にその事実を通知し、そのクライアントコンピュータ(例えば、ライセンス証明アクセプタ)のユーザーが要求ソフトウェア機能を実行できるようにする。次に、工程909において、該ソフトウェア機能の実行結果を要求元クライアントコンピュータ(例えば、ライセンス証明プロバイダー)に戻すことができる。
上述の実施例では、分散プロセス環境の別のコンピュータにより一つのソフトウェア機能のみが実行要求されると仮定した。しかしながら、実際上、要求元コンピュータは、一つまたは複数の分散プロセス活動において二つ以上のソフトウェア機能を実行することを別のクライアントコンピュータに要求してもよく、このような可能性は本発明の様々な態様の範囲に完全に含まれると考えられる。また、実行要求を受信するクライアントコンピュータが実際にソフトウェア機能を実行するものと仮定してきた。しかしながら、実際上、ライセンス証明アクセプタは、受信されたライセンス証明を単に渡すことにより、そのネットワークのまたはその外の他のクライアントコンピュータに該要求を中継して上記他のクライアントコンピュータに対し要求を実行してもよく、このような可能性も本発明の様々な態様の範囲内に完全に含まれるものと考えられる。
本発明の様々な態様は好ましい実施形態に関し説明されてきたが、本発明は、添付された請求項の全ての範囲内で完全に保護される権利を有することを理解されたい。
従来のライセンスマネジャーを採用したコンピュータネットワークのブロック図を例示する。 従来のフローティングライセンスの管理において採用されるソフトウェアモジュールを例示する。 本発明の態様を利用する分散プロセス環境のブロック図を例示する。 本発明の態様を利用するアプリケーションプログラムのサブライセンス可能なソフトウェア機能をそれぞれ例示する。 本発明の態様を利用する、単一ネットワークのソフトウェアライセンスの管理において採用されるソフトウェアモジュールを例示する。 本発明の態様を利用する、多元的ネットワーク環境のソフトウェアライセンスの管理において採用されるソフトウェアモジュールを例示する。 本発明の態様を利用するライセンス証明内に格納される項目を例示する。 本発明の態様を利用する、ソフトウェア機能を実行する要求と共にライセンス証明を生成し送信する方法を例示する。 本発明の態様を利用する、ソフトウェア機能を実行する要求と共にライセンス証明を処理する方法を例示する。

Claims (90)

  1. 分散プロセスにおいてソフトウェアライセンスを管理する方法であって、アプリケーションプログラムの複数のソフトウェア機能を実行するためのライセンスをチェックアウトする工程と、前記複数のソフトウェア機能の一つのライセンス証明を生成する工程と、前記複数のソフトウェア機能の前記一つを実行する要求と共に前記ライセンス証明を与える工程と、を含む方法。
  2. 前記ライセンスの前記チェックアウト工程は、ライセンスマネジャーに、前記アプリケーションプログラムの実行を許可することを要求する工程を含む、請求項1に記載の方法。
  3. 前記ライセンスの前記チェックアウト工程は、前記アプリケーションプログラムの実行要求の許諾により、前記アプリケーションプログラムを実行する同時ユーザーの数が許可された数を超えない場合に、前記アプリケーションプログラムを実行することが許される工程を含む、請求項2に記載の方法。
  4. 前記複数のソフトウェア機能は前記アプリケーションプログラムの特徴を表す、請求項1に記載の方法。
  5. 前記複数のソフトウェア機能は前記アプリケーションプログラムのコンポーネントを表す、請求項1に記載の方法。
  6. 前記ライセンス証明は、前記複数のソフトウェア機能を実行するための権利を指示する認証署名を含む、請求項1に記載の方法。
  7. 前記認証署名は、前記アプリケーションプログラムに関連付けられ前記アプリケーションプログラムのベンダーにより与えられるライセンス証明書からコピーされる、請求項6に記載の方法。
  8. 前記ライセンス証明は、前記ライセンスがいつチェックアウトされたかを指示するタイムスタンプを含む、請求項1に記載の方法。
  9. 前記ライセンス証明を与える工程は、前記ライセンス証明を暗号化して暗号化ライセンス証明を生成する工程と、前記複数のソフトウェア機能の前記一つを実行する要求と共に前記暗号化ライセンス証明を与える工程とを含む、請求項1に記載の方法。
  10. 前記ライセンス証明は、暗号化ライセンス証明を生成するための共有秘密鍵を使用して暗号化され、実質的に前記共有秘密鍵を所有するエンティティのみが前記暗号化ライセンス証明を解読できるようにする、請求項9に記載の方法。
  11. 前記ライセンス証明は、暗号化ライセンス証明を生成するための送信元の秘密鍵を使用して暗号化され、前記送信元の公開鍵を使用する前記暗号化ライセンス証明の解読は、実質的に前記送信元のみが前記暗号化ライセンス証明を生成できたということを検証する、請求項9に記載の方法。
  12. 前記ライセンス証明はデータオブジェクトとして生成される、請求項1に記載の方法。
  13. 前記複数のソフトウェア機能の前記一つを実行する要求と共に前記ライセンス証明を受信する工程と、前記ライセンス証明のソースと認証とを検証する工程と、前記ライセンス証明の権限下で前記複数のソフトウェア機能の前記一つを実行する工程と、をさらに含む請求項1に記載の方法。
  14. 前記ライセンス証明は暗号化ライセンス証明として受信され、
    前記ライセンス証明の前記ソースの検証は、前記暗号化ライセンス証明の解読が成功するとプロバイダーが前記ライセンス証明の前記ソースとして検証されるように、前記暗号化ライセンス証明の前記プロバイダーとのみ共有される秘密鍵により前記ライセンス証明を解読する工程を含む、請求項13に記載の方法。
  15. 前記ライセンス証明は、前記暗号化ライセンス証明のプロバイダーの秘密鍵により暗号化された暗号化ライセンス証明として受信され、
    前記ライセンス証明の前記ソースの前記検証は、前記暗号化ライセンス証明の解読に成功すると前記プロバイダーが前記ライセンス証明の前記ソースとして検証されるように、前記暗号化ライセンス証明の前記プロバイダーの公開鍵により前記ライセンス証明を解読する工程を含む、請求項13に記載の方法。
  16. 前記ライセンス証明は、前記複数のソフトウェア機能を実行するための権利を指示する、前記アプリケーションプログラムのベンダーにより与えられるライセンス証明書からコピーされた認証署名を含み、前記ライセンス証明の前記認証は、前記認証署名を本物として検証する工程を含む、請求項13に記載の方法。
  17. ソフトウェア機能を実行するためのライセンスの証明を与える方法であって、ソフトウェア機能の実行を許可するライセンスからの情報を含むライセンス証明を生成する工程と、前記ソフトウェア機能を実行する要求と共に前記ライセンス証明を与える工程とを含む方法。
  18. 前記ライセンス証明は、コンピュータプログラムのどのソフトウェア機能がその実行を許可されるかを指示する前記ライセンスからの情報を含む、請求項17に記載の方法。
  19. 前記ソフトウェア機能は前記コンピュータプログラムの特徴を指示する、請求項18に記載の方法。
  20. 前記ソフトウェア機能は前記コンピュータプログラムのコンポーネントを指示する、請求項18に記載の方法。
  21. 前記ライセンス証明は、前記ソフトウェア機能を実行する権利を指示する認証署名を含む、請求項17に記載の方法。
  22. 前記ライセンス証明は、前記ソフトウェア機能を実行する権利を指示する前記ライセンスからコピーされた認証署名を含む、請求項17に記載の方法。
  23. 前記ライセンス証明は、ライセンス管理エージェントがいつ前記ライセンスを起動したかを指示するタイムスタンプを含む、請求項17に記載の方法。
  24. 前記ライセンス証明を暗号化して暗号化ライセンス証明を生成する工程と、前記ソフトウェア機能を実行する要求と共に前記暗号化ライセンス証明を与える工程とをさらに含む、請求項17に記載の方法。
  25. 前記ライセンス証明は暗号化ライセンス証明を生成するための共有秘密鍵を使用して暗号化され、その結果実質的に前記共有秘密鍵を所有するエンティティのみが前記暗号化ライセンス証明を解読できる、請求項24に記載の方法。
  26. 前記ライセンス証明は、暗号化ライセンス証明を生成するための送信元の秘密鍵を使用して暗号化され、前記送信元の公開鍵を使用する前記暗号化ライセンス証明の解読は、実質的に前記送信元のみが前記暗号化ライセンス証明を生成できたということを検証する、請求項24に記載の方法。
  27. 前記ライセンス証明はデータオブジェクトとして生成される、請求項17に記載の方法。
  28. ソフトウェア機能を実行するためのライセンスの証明を与える装置であって、ソフトウェア機能の実行を許可するライセンスからの情報を含むライセンス証明を生成し、前記ソフトウェア機能を実行する要求と共に前記ライセンス証明を与えるように構成されたプロセッサを含む、装置。
  29. 前記ライセンス証明は、コンピュータプログラムのどのソフトウェア機能がその実行を許可されるかを指示する前記ライセンスからの情報を含む、請求項28に記載の装置。
  30. 前記ソフトウェア機能は前記コンピュータプログラムの特徴を指示する、請求項29に記載の装置。
  31. 前記ソフトウェア機能は前記コンピュータプログラムのコンポーネントを指示する、請求項29に記載の装置。
  32. 前記ライセンス証明は、前記ソフトウェア機能を実行する権利を指示する認証署名を含む、請求項28に記載の装置。
  33. 前記ライセンス証明は、前記ソフトウェア機能を実行する権利を指示する前記ライセンスからコピーされた認証署名を含む、請求項28に記載の装置。
  34. 前記ライセンス証明は、ライセンス管理エージェントがいつ前記ライセンスを起動したかを指示するタイムスタンプを含む、請求項28に記載の装置。
  35. 前記プロセッサは、暗号化ライセンス証明を生成するために前記ライセンス証明を暗号化し、前記ソフトウェア機能を実行する要求と共に前記暗号化ライセンス証明を与えるようにさらに構成される、請求項28に記載の装置。
  36. 前記ライセンス証明は共有秘密鍵を使用して暗号化され、その結果実質的に前記共有秘密鍵を所有するエンティティのみが前記暗号化ライセンス証明を解読できる、請求項35に記載の装置。
  37. 前記ライセンス証明は送信元の秘密鍵を使用して暗号化され、前記送信元の公開鍵を使用する暗号化ライセンス証明の解読は、実質的に前記送信元のみが前記暗号化ライセンス証明を生成できたということを検証する、請求項35に記載の装置。
  38. 前記プロセッサは、データオブジェクトとして前記ライセンス証明を生成するようにさらに構成される、請求項28に記載の装置。
  39. リモートエンティティがソフトウェア機能を実行するためのライセンスを有するということを確認する方法であって、リモートエンティティからソフトウェア機能を実行する要求と共にライセンス証明を受信する工程と、前記ライセンス証明が前記リモートエンティティから来たことを検証して前記ソフトウェア機能を実行するための許可を指示する工程とを含む、方法。
  40. 前記ライセンス証明が前記リモートエンティティから来たことを検証し、前記ソフトウェア機能を実行するための許可を指示した後に前記要求に応じて前記ソフトウェア機能を実行する工程をさらに含む、請求項39に記載の方法。
  41. 前記ソフトウェア機能の実行から生じた情報を前記リモートエンティティへ送信する工程をさらに含む、請求項40に記載の方法。
  42. 前記ライセンス証明は、コンピュータプログラムのどの機能の実行が許可されるかについての情報を含む、請求項39に記載の方法。
  43. 前記ソフトウェア機能を実行するための許可の検証は、前記ソフトウェア機能が、その実行を許可された前記コンピュータの前記機能の一つであることを検証する工程を含む、請求項42に記載の方法。
  44. 前記ライセンス証明は、前記ソフトウェア機能を実行するための前記許可を確認する認証署名を含む、請求項39に記載の方法。
  45. 前記ソフトウェア機能を実行するための許可を前記ライセンス証明が指示するという前記検証は、前記認証署名が前記ソフトウェア機能のベンダーにより発行されたということを検証する工程を含む、請求項44に記載の方法。
  46. ライセンス管理エージェントは、前記ソフトウェア機能の前記実行を許可するチェックアウトタイム時にライセンスを起動する、請求項39に記載の方法。
  47. 前記チェックアウトタイムは、選択されたタイムゾーンによる日時により指示される、請求項46に記載の方法。
  48. 前記ライセンス証明が前記ソフトウェア機能を実行するための前記許可を指示するという前記検証は、現在時刻と前記チェックアウト時間との間の時間間隔が閾値以下であるということを検証する工程を含む、請求項47に記載の方法。
  49. 前記時間間隔が前記閾値以上である場合、エラー通知が前記リモートエンティティに返送される、請求項48に記載の方法。
  50. 前記ライセンス証明が暗号化ライセンス証明として受信される請求項39に記載の方法であって、
    前記方法は、前記暗号化ライセンス証明が共有秘密鍵により暗号化されたということを検証し、したがってまた前記リモートエンティティは実質的に前記共有秘密鍵を知る他の唯一のエンティティであるので前記暗号化ライセンス証明が前記リモートエンティティにより送信されたということを検証するために、前記共有秘密鍵を使用して前記暗号化ライセンス証明を解読する工程をさらに含む、方法。
  51. 前記ライセンス証明が暗号化ライセンス証明として受信される請求項39に記載の方法であって、
    前記方法は、前記暗号化ライセンス証明が前記リモートエンティティの秘密鍵により暗号化されたということを検証し、したがってまた前記リモートエンティティは実質的に前記秘密鍵を知る唯一のエンティティであるので前記暗号化ライセンス証明が前記リモートエンティティにより送信されたということを検証するために、前記リモートエンティティに関連付けられた公開鍵を使用して前記暗号化ライセンス証明を解読する工程を、さらに含む方法。
  52. ソフトウェア機能を実行するためのライセンスをリモートエンティティが有することを確認する装置であって、リモートエンティティからソフトウェア機能を実行する要求と共にライセンス証明を受信し、前記ライセンス証明が前記リモートエンティティから来たことを検証し、前記ソフトウェア機能を実行するための許可を指示するように構成されたプロセッサを含む、装置。
  53. 前記プロセッサは、前記ライセンス証明が前記リモートエンティティから来たことを検証し、前記ソフトウェア機能を実行するための許可を指示した後に、前記要求に応じて前記ソフトウェア機能を実行するようにさらに構成される、請求項52に記載の装置。
  54. 前記プロセッサは、前記ソフトウェア機能を実行することにより生じる情報を前記リモートエンティティへ送信するようにさらに構成される、請求項53に記載の装置。
  55. 前記ライセンス証明は、コンピュータプログラムのどの機能の実行が許可されるかについての情報を含む、請求項52に記載の装置。
  56. 前記プロセッサは、前記ソフトウェア機能が、その実行を許可された前記コンピュータプログラムの機能の一つであるということを検証するようにさらに構成される、請求項55に記載の装置。
  57. 前記ライセンス証明は、前記ソフトウェア機能を実行するための前記許可を確認する認証署名を含む、請求項52に記載の装置。
  58. 前記プロセッサは、前記認証署名は前記ソフトウェア機能のベンダーにより発行されたということを検証するようにさらに構成される、請求項57に記載の装置。
  59. 前記ソフトウェア機能の実行を許可するライセンスは、チェックアウトタイム時にライセンス管理エージェントにより起動される、請求項52に記載の装置。
  60. 前記チェックアウトタイムは、選択されたタイムゾーンによる日時により指示される、請求項59に記載の装置。
  61. 前記プロセッサは、現在時刻と前記チェックアウトタイムとの間の時間間隔が閾値以下であるということを検証するようにさらに構成される、請求項60に記載の装置。
  62. 前記時間間隔が前記閾値以上である場合、エラー通知が前記リモートエンティティに返送される、請求項61に記載の装置。
  63. 前記ライセンス証明は暗号化ライセンス証明として受信され、
    前記プロセッサは、前記暗号化ライセンス証明が共有秘密鍵により暗号化されたということを検証し、したがってまた前記リモートエンティティは実質的に前記共有秘密鍵を知る他の唯一のエンティティであるので前記暗号化ライセンス証明が前記リモートエンティティにより送信されたということを検証するために、前記共有秘密鍵を使用して前記暗号化ライセンス証明を解読するようにさらに構成される、請求項52に記載の装置。
  64. 前記ライセンス証明は暗号化ライセンス証明として受信され、
    前記プロセッサは、前記暗号化ライセンス証明が前記リモートエンティティの秘密鍵により暗号化されたということを検証し、したがってまた前記リモートエンティティは実質的に前記秘密鍵を知る唯一のエンティティであるので前記暗号化ライセンス証明が前記リモートエンティティにより送信されたということを検証するために、前記リモートエンティティに関連付けられた公開鍵を使用して前記暗号化ライセンス証明を解読するようにさらに構成される、請求項52に記載の装置。
  65. 異なるプロセス空間にまたがる分散プロセスにおいてソフトウェア機能を実行する方法であって、前記方法は、ライセンス証明を生成し、そしてソフトウェア機能を実行する要求と共に前記ライセンス証明を送信するように、第1のプロセス空間において実行する第1のコンピュータプログラムを実行する工程と、前記ライセンス証明を受信し、そして前記ライセンス証明が前記第1コンピュータプログラムにより生成されたということと、前記ライセンス証明が、前記ソフトウェア機能を実行するための許可を含むということとを検証するように第2のプロセス空間において実行する第2のコンピュータプログラムを実行する工程と、を含む方法。
  66. 前記第1のプロセス空間は、前記第1のコンピュータプログラムを実行する第1のコンピュータに関連した第1のメモリアドレス空間であり、前記第2のプロセス空間は、前記第2のコンピュータプログラムを実行する第2のコンピュータに関連した第2のメモリアドレス空間である、請求項65に記載の方法。
  67. 前記第1のコンピュータと前記第2のコンピュータは、前記第2のコンピュータを保護するファイアウォールを介し通信を行う、請求項66に記載の方法。
  68. 前記ライセンス証明は、前記ソフトウェア機能を含むアプリケーションプログラムのライセンス契約条件を指示する、チェックアウトタイム時に起動されたライセンスからコピーされた情報を含む、請求項65に記載の方法。
  69. 前記アプリケーションプログラムは前記ソフトウェア機能に加えて少なくとも一つの他のソフトウェア機能を含む、請求項68に記載の方法。
  70. 前記ライセンスからコピーされた前記情報は、前記ソフトウェア機能を実行するための権利を指示する認証署名を含む、請求項68に記載の方法。
  71. 前記ライセンス証明はチェックアウトタイムを指示するタイムスタンプを含む、請求項68に記載の方法。
  72. 前記第2のプログラムの実行は、前記ライセンス証明が前記ソフトウェア機能を実行するための許可を含むということの検証の一部として、現在時刻と前記チェックアウトタイムとの間の時間間隔が閾値以下であるということを検証する、請求項71に記載の方法。
  73. 前記時間間隔が前記閾値以上である場合、エラー通知が前記第1のコンピュータプログラムに返送される、請求項72に記載の方法。
  74. 前記時間間隔が閾値未満である場合、前記方法は、前記ライセンス証明に含まれる前記許可を利用して前記ソフトウェア機能を実行する要求に応ずるために、前記第2のコンピュータプログラムを実行する工程をさらに含む、請求項72に記載の方法。
  75. 前記第1のコンピュータプログラムの実行は、暗号化ライセンス証明を生成するための暗号鍵を使用して前記ライセンス証明を暗号化するとともに、前記ソフトウェア機能を実行する要求と共に前記暗号化ライセンス証明を送信し、前記第2のコンピュータプログラムの実行は、前記ライセンス鍵が前記第1のコンピュータプログラムにより生成されたということを検証するために、そして前記ライセンス証明が前記ソフトウェア機能を実行するための前記許可を含むということの検証を容易にするために、前記受信された暗号化ライセンス証明を解読鍵を使用して解読する、請求項65に記載の方法。
  76. 前記暗号鍵と前記解読鍵の両方は、前記第1のコンピュータプログラムと前記第2のコンピュータプログラムに知らされた共有秘密鍵である、請求項75に記載の方法。
  77. 前記暗号鍵は前記第1のコンピュータプログラムに関連付けられた秘密鍵であり、前記解読鍵は前記第1のコンピュータプログラムに関連付けられた公開鍵である、請求項75に記載の方法。
  78. 異なるプロセス空間にまたがる分散プロセスにおいてソフトウェア機能を実行するシステムであって、前記システムは、ライセンス証明を生成し、そしてソフトウェア機能を実行する要求と共に前記ライセンス証明を送信するように、第1のプロセス空間において実行する第1のコンピュータプログラムを実行する第1のコンピュータと、前記ライセンス証明を受信し、そして前記ライセンス証明が前記第1のコンピュータプログラムにより生成されたということと、前記ライセンス証明が、前記ソフトウェア機能を実行するための許可を含むということとを検証するように、第2のプロセス空間において実行する第2のコンピュータプログラムを実行する第2のコンピュータとを含む、システム。
  79. 前記第1のプロセス空間は前記第1のコンピュータに関連した第1のメモリアドレス空間であり、前記第2のプロセス空間は第2のコンピュータに関連した第2のメモリアドレス空間である、請求項78に記載のシステム。
  80. 前記第1のコンピュータと前記第2のコンピュータは、前記第2のコンピュータを保護するファイアウォールを介し通信を行う、請求項79に記載のシステム。
  81. 前記ライセンス証明は、前記ソフトウェア機能を含むアプリケーションプログラムのライセンス契約条件を指示する、チェックアウトタイム時に起動されたライセンスからコピーされた情報を含む、請求項78に記載のシステム。
  82. 前記アプリケーションプログラムは前記ソフトウェア機能に加えて少なくとも一つの他のソフトウェア機能を含む、請求項81に記載のシステム。
  83. 前記ライセンスからコピーされた前記情報は、前記ソフトウェア機能を実行するための権利を指示する認証署名を含む、請求項81に記載のシステム。
  84. 前記ライセンス証明は、チェックアウトタイムを指示するタイムスタンプを含む、請求項81に記載のシステム。
  85. 前記第2のプログラムの実行は、前記ライセンス証明が前記ソフトウェア機能を実行するための許可を含むということの検証の一部として、現在時刻と前記チェックアウトタイムとの間の時間間隔が閾値以下であるということを検証する、請求項84に記載のシステム。
  86. 前記時間間隔が前記閾値以上である場合、エラー通知が前記第1のコンピュータプログラムに返送される、請求項85に記載のシステム。
  87. 前記時間間隔が閾値未満である場合、前記方法は、前記ライセンス証明に含まれる前記許可を利用して前記ソフトウェア機能を実行する要求に応ずるために、前記第2のコンピュータプログラムを実行する工程をさらに含む、請求項85に記載のシステム。
  88. 前記第1のコンピュータプログラムの実行は、暗号化ライセンス証明を生成するための暗号鍵を使用して前記ライセンス証明を暗号化するとともに、前記ソフトウェア機能を実行する要求と共に前記暗号化ライセンス証明を送信し、前記第2のコンピュータプログラムの実行は、前記ライセンス鍵が前記第1のコンピュータプログラムにより生成されたということを検証するために、そして前記ライセンス証明が前記ソフトウェア機能を実行するための前記許可を含むということの検証を容易にするために、前記受信された暗号化ライセンス証明を解読鍵を使用して解読する、請求項78に記載のシステム。
  89. 前記暗号鍵と前記解読鍵の両方は、前記第1のコンピュータプログラムと前記第2のコンピュータプログラムに知らされた共有秘密鍵である、請求項88に記載のシステム。
  90. 前記暗号鍵は前記第1のコンピュータプログラムに関連付けられた秘密鍵であり、前記解読鍵は前記第1のコンピュータプログラムに関連付けられた公開鍵である、請求項88に記載のシステム。
JP2008516953A 2005-06-17 2006-06-09 ソフトウェア機能の遠隔実行のためにライセンス証明を採用するソフトウェアライセンスマネジャー Pending JP2008547088A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/156,104 US20060287959A1 (en) 2005-06-17 2005-06-17 Software license manager employing license proofs for remote execution of software functions
PCT/US2006/022557 WO2006138177A2 (en) 2005-06-17 2006-06-09 Software license manager employing license proofs for remote execution of software functions

Publications (1)

Publication Number Publication Date
JP2008547088A true JP2008547088A (ja) 2008-12-25

Family

ID=37570997

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008516953A Pending JP2008547088A (ja) 2005-06-17 2006-06-09 ソフトウェア機能の遠隔実行のためにライセンス証明を採用するソフトウェアライセンスマネジャー

Country Status (4)

Country Link
US (1) US20060287959A1 (ja)
EP (1) EP1899909A4 (ja)
JP (1) JP2008547088A (ja)
WO (1) WO2006138177A2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012527041A (ja) * 2009-05-12 2012-11-01 マイクロソフト コーポレーション 状態およびデーターを移すための対話処理モデル
US9424399B2 (en) 2009-05-12 2016-08-23 Microsoft Technology Licensing, Llc Availability of permission models in roaming environments

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9633182B2 (en) 2001-05-15 2017-04-25 Altair Engineering, Inc. Token based digital content licensing method
US20070011748A1 (en) * 2005-07-11 2007-01-11 Sanjay Tiwari Auto-license generation, registration and management
JP4655951B2 (ja) * 2006-02-06 2011-03-23 ソニー株式会社 情報処理装置、情報記録媒体製造装置、情報記録媒体、および方法、並びにコンピュータ・プログラム
US8291042B2 (en) * 2006-07-31 2012-10-16 Lenovo (Singapore) Pte. Ltd. On-demand groupware computing
US8387038B2 (en) * 2006-08-14 2013-02-26 Caterpillar Inc. Method and system for automatic computer and user migration
JP4967795B2 (ja) * 2007-05-14 2012-07-04 日本電気株式会社 ライセンス管理装置、ライセンス管理装置の制御方法及び制御プログラム
US20080306786A1 (en) * 2007-06-05 2008-12-11 Lonowski Wayne J License management tool to monitor and analyze license usage to determine need for additional licenses
US8997054B2 (en) * 2007-11-30 2015-03-31 Red Hat, Inc. Software application certification service
WO2010108006A2 (en) * 2009-03-18 2010-09-23 Altair Engineering, Inc. Digital content licensing method
WO2010115107A2 (en) * 2009-04-02 2010-10-07 Altair Engineering, Inc. Hardware unit-based license management method
US9015818B2 (en) * 2009-07-31 2015-04-21 Adobe Systems Incorporated Software application operational transfer
US8769299B1 (en) * 2010-10-13 2014-07-01 The Boeing Company License utilization management system license wrapper
US9563751B1 (en) 2010-10-13 2017-02-07 The Boeing Company License utilization management system service suite
US20120095877A1 (en) * 2010-10-19 2012-04-19 Apple, Inc. Application usage policy enforcement
US20120246609A1 (en) 2011-03-24 2012-09-27 International Business Machines Corporation Automatic generation of user stories for software products via a product content space
US8863133B2 (en) 2011-06-02 2014-10-14 Microsoft Corporation License management in a cluster environment
CN102957666B (zh) * 2011-08-19 2017-02-15 中兴通讯股份有限公司 一种许可控制方法及系统
US20130144755A1 (en) * 2011-12-01 2013-06-06 Microsoft Corporation Application licensing authentication
US9141379B2 (en) 2013-01-15 2015-09-22 International Business Machines Corporation Automated code coverage measurement and tracking per user story and requirement
US9069647B2 (en) 2013-01-15 2015-06-30 International Business Machines Corporation Logging and profiling content space data and coverage metric self-reporting
US9063809B2 (en) 2013-01-15 2015-06-23 International Business Machines Corporation Content space environment representation
US9111040B2 (en) 2013-01-15 2015-08-18 International Business Machines Corporation Integration of a software content space with test planning and test case generation
US9081645B2 (en) * 2013-01-15 2015-07-14 International Business Machines Corporation Software product licensing based on a content space
US9396342B2 (en) 2013-01-15 2016-07-19 International Business Machines Corporation Role based authorization based on product content space
US9087155B2 (en) 2013-01-15 2015-07-21 International Business Machines Corporation Automated data collection, computation and reporting of content space coverage metrics for software products
US9659053B2 (en) 2013-01-15 2017-05-23 International Business Machines Corporation Graphical user interface streamlining implementing a content space
US9075544B2 (en) 2013-01-15 2015-07-07 International Business Machines Corporation Integration and user story generation and requirements management
US9218161B2 (en) 2013-01-15 2015-12-22 International Business Machines Corporation Embedding a software content space for run-time implementation
US20150135338A1 (en) * 2013-11-13 2015-05-14 Fenwal, Inc. Digital certificate with software enabling indicator
US9507921B2 (en) 2014-04-07 2016-11-29 Microsoft Technology Licensing, Llc User-specific application activation for remote sessions
US10679151B2 (en) 2014-04-28 2020-06-09 Altair Engineering, Inc. Unit-based licensing for third party access of digital content
JP2016110346A (ja) * 2014-12-04 2016-06-20 キヤノン株式会社 ライセンス管理システム、クライアント装置、ライセンス管理方法
US10685055B2 (en) 2015-09-23 2020-06-16 Altair Engineering, Inc. Hashtag-playlist content sequence management
US10587529B1 (en) * 2018-09-24 2020-03-10 Amazon Technologies, Inc. Dynamic selection of router groups to manage computing instances
US11799864B2 (en) 2019-02-07 2023-10-24 Altair Engineering, Inc. Computer systems for regulating access to electronic content using usage telemetry data
JP6977740B2 (ja) * 2019-02-22 2021-12-08 横河電機株式会社 コンピュータシステム、コンピュータ装置およびライセンス管理方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5390297A (en) * 1987-11-10 1995-02-14 Auto-Trol Technology Corporation System for controlling the number of concurrent copies of a program in a network based on the number of available licenses
ATE175281T1 (de) * 1991-05-08 1999-01-15 Digital Equipment Corp Lizenz-verwaltungssystem
US5925127A (en) * 1997-04-09 1999-07-20 Microsoft Corporation Method and system for monitoring the use of rented software
US6453305B1 (en) * 1999-05-21 2002-09-17 Compaq Computer Corporation Method and system for enforcing licenses on an open network
EP1243998B1 (en) * 2001-03-21 2017-04-19 Excalibur IP, LLC A technique for license management and online software license enforcement
US20030140003A1 (en) * 2001-06-07 2003-07-24 Xin Wang Method and apparatus managing the transfer of rights
US20050050319A1 (en) * 2003-08-12 2005-03-03 Zeev Suraski License control for web applications
US8898657B2 (en) * 2003-10-03 2014-11-25 Cyberlink Corp. System and method for licensing software
US20050132347A1 (en) * 2003-12-15 2005-06-16 Harper Eric D. System for controlling the use of a software application on a plurality of computers

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012527041A (ja) * 2009-05-12 2012-11-01 マイクロソフト コーポレーション 状態およびデーターを移すための対話処理モデル
US9424399B2 (en) 2009-05-12 2016-08-23 Microsoft Technology Licensing, Llc Availability of permission models in roaming environments
US10846374B2 (en) 2009-05-12 2020-11-24 Microsoft Technology Licensing, Llc Availability of permission models in roaming environments

Also Published As

Publication number Publication date
WO2006138177A3 (en) 2007-09-07
US20060287959A1 (en) 2006-12-21
EP1899909A4 (en) 2010-08-04
WO2006138177A2 (en) 2006-12-28
EP1899909A2 (en) 2008-03-19

Similar Documents

Publication Publication Date Title
JP2008547088A (ja) ソフトウェア機能の遠隔実行のためにライセンス証明を採用するソフトウェアライセンスマネジャー
EP1686504B1 (en) Flexible licensing architecture in content rights management systems
KR100746030B1 (ko) 권리 위임에 의해 권리 객체를 대리하여 생성하는 방법 및장치
US7971261B2 (en) Domain management for digital media
US8843415B2 (en) Secure software service systems and methods
CA2457291C (en) Issuing a publisher use license off-line in a digital rights management (drm) system
JP4810577B2 (ja) Drmコンテンツを臨時に使用する方法および装置
US6965994B1 (en) Security mechanism for computer processing modules
JP4502002B2 (ja) 情報利用制御システムおよび情報利用制御装置
EP1452941A2 (en) Publishing digital content within a defined universe such as an organization in accordance with a digital rights management (DRM) system
US20110296175A1 (en) Systems and methods for software license distribution using asymmetric key cryptography
US20140047558A1 (en) System and method for providing access of digital contents to offline drm users
JPH09288575A (ja) アプリケーション・プログラムのトライ−アンド−バイ・ユーセッジを管理するシステム及び方法
JP2004530222A (ja) ディジタルライツ・マネジメント・システムで多数の信頼ゾーンをサポートする方法および装置
JP2009015852A (ja) ライセンス管理システムおよび方法
NZ531278A (en) Enrolling/sub-enrolling a digital rights management (DRM) server into a DRM architecture
JP2004259280A (ja) デジタル著作権管理(drm)システムにおけるデジタルライセンスとユーザとの結び付け、およびユーザと複数のコンピューティングデバイスとの結び付け
MXPA04001293A (es) Conteniendo digital de publicacion dentro de un universo definido tal como una organizacion de acuerdo con un sistema de administracion digital de derechos (drm).
US20110119494A1 (en) Method and apparatus for sharing licenses between secure removable media
KR20060122676A (ko) 권한 관리 보호된 컨텐츠의 선행 라이센싱 방법
JP2004509399A (ja) ネットワークにわたって配布されるオブジェクトを保護するためのシステム
CN103718201A (zh) 由多租户服务提供方执行动态平台重新配置
CN111327618B (zh) 一种基于区块链的精准访问控制方法、装置及系统
Kim et al. A robust and flexible digital rights management system for home networks
US20140047557A1 (en) Providing access of digital contents to online drm users