JP2002358136A - ソフトウェア・プログラムの使用を制御するための方法およびシステム - Google Patents

ソフトウェア・プログラムの使用を制御するための方法およびシステム

Info

Publication number
JP2002358136A
JP2002358136A JP2002077890A JP2002077890A JP2002358136A JP 2002358136 A JP2002358136 A JP 2002358136A JP 2002077890 A JP2002077890 A JP 2002077890A JP 2002077890 A JP2002077890 A JP 2002077890A JP 2002358136 A JP2002358136 A JP 2002358136A
Authority
JP
Japan
Prior art keywords
program
computer
permission
management system
license
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.)
Granted
Application number
JP2002077890A
Other languages
English (en)
Other versions
JP3695652B2 (ja
Inventor
Giancarlo Carbone
ジャンカルロ・カルボーネ
Thomas F Cierech
トーマス・フラン・シーレチ
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2002358136A publication Critical patent/JP2002358136A/ja
Application granted granted Critical
Publication of JP3695652B2 publication Critical patent/JP3695652B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

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/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Stored Programmes (AREA)

Abstract

(57)【要約】 (修正有) 【課題】 クライアント上のソフトウェア・プログラム
の使用を制御する方法およびシステム。 【解決手段】 プログラム(オペレーティング・システ
ムまたはネットワーク・スタック)は、ブートストラッ
プ・プロセスの完了前に開始する。各プログラムは、ラ
イセンス交付管理システムに対して実行許可を要求し
(311)、システム・エージェントは、ブートストラ
ップの完了前に、クライアント上の各プログラムについ
てのローカル・ライセンス許可を授与する(318〜3
24)。ライセンス交付管理システムの全機能エージェ
ントは、ブートストラップの完了前に、サーバ・ワーク
ステーション上に格納されたライセンス証明書の検証に
従って、授与された許可を改訂する(342)。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ソフトウェア・プ
ログラムの使用を制御するための方法およびシステムに
関する。
【0002】
【従来の技術】コンピュータ上で動作するソフトウェア
・プログラムは、無限の数のコピーに完全に複製するこ
とができる。これは、自身の知的所有権を保護すること
を望む、プログラムの発表者にとって主要な関心事であ
る。実際、発表者は、一般に各プログラムの使用許諾に
対して使用料を受け取るので、プログラムのどんな不明
な使用または配布によっても、使用料が支払われなくな
る。この問題は、この種の製品の配布を規制なしに配布
することをさらに容易にするインターネットの広範にわ
たる拡散によって、近年悪化してきている。
【0003】プログラムの不明な使用を回避する最も直
接的な方法は、無許可のコピーおよび伝送を防止するも
のである。例えば、大部分のプログラムは、作成するこ
とができるコピーの数を制限し、または所定の期間が経
過した後にプログラムのオペレーションを使用不能にす
る制御コードを組み込む。別の技法は、プログラムの実
行に対して、ソフトウェアの所有権またはハードウェア
鍵を要求することからなる。
【0004】当技術分野で提案された異なる解決策は、
発表者によって許可されたそれぞれの使用の条件(例え
ば、プログラムが動作することのできるコンピュータの
最大計算能力を定義する条件)で、コンピュータ上で動
作するプログラムの適合を制御するライセンス交付管理
システムを、コンピュータ上にインストールするもので
ある。より具体的には、(マシン可読形式に変換され
た)各プログラムについての使用の許可条件は、デジタ
ル・ライセンス証明書中に組み込まれる。このプログラ
ムは、ライセンス交付管理システムに対する呼び出しを
含み、その結果、エンドユーザがプログラムの実行を要
求する度に、対応する要求がライセンス交付管理システ
ムに転送される。プログラムの実行が、ライセンス証明
書中に組み込まれた使用の許可条件によって設定された
制限内にあるかどうかを、このライセンス交付管理シス
テムは検証する。このライセンス交付管理システムは、
この検証の結果に従ってプログラムの実行を動作可能に
し、または防止する。
【0005】
【発明が解決しようとする課題】しかし、上述の解決策
は、完全に満足のゆくものではない。具体的には、ライ
センス交付管理システムの実行は、オペレーティング・
システムと、コンピュータに対して基本サービスを提供
する他のプログラムとの全機能を必要とする。したがっ
て、コンピュータの電源を投入する度に、基本プログラ
ムがその間にロードされるブートストラップ・プロセス
が最初に実行される。ブートストラップが完了すると、
他のプログラムがその上で動作することができるソフト
ウェア・プラットフォームが提供され、ライセンス交付
管理システムを開始することができる。
【0006】その結果、ブートストラップ・プロセスの
間にロードされる(オペレーティング・システム自体、
ネットワーク・スタックなどの)すべての基本プログラ
ムは、ライセンス交付管理システムで監視することがで
きない。これにより、コンピュータ上で動作するプログ
ラムの全制御を実施することが妨げられる。上述の欠点
は、制御から逃れるプログラムが一般に非常に価値のあ
るものであるので、特に重大である。したがって、プロ
グラムの発表者が受ける経済的損失は、かなりのものと
なる可能性がある。
【0007】上述の欠点を克服することが本発明の目的
である。この目的を達成するために、請求項1および1
0に記載の方法を提案する。
【0008】
【課題を解決するための手段】簡潔に言えば、本発明
は、コンピュータ上のソフトウェア・プログラムを制御
する方法であって、前記コンピュータに対して基本サー
ビスを提供する少なくとも1つのソフトウェア・プログ
ラムをロードすることに関係するブートストラップを開
始するステップと、ライセンス交付管理システムに対し
て各プログラムによって実行許可を要求するステップと
を含む方法を提供する。この方法は、前記ブートストラ
ップの完了前に、前記プログラムの使用の許可条件を示
すライセンス交付情報の仮検証に従って前記許可を授与
するステップと、前記ブートストラップ完了後に、前記
ライセンス交付情報の完全な検証に従って前記授与した
許可を改訂するステップとをさらに含む。
【0009】あるいは、本発明は、コンピュータ上のソ
フトウェア・プログラムの使用を制御する方法であっ
て、ライセンス交付管理システムに対して、各プログラ
ムによって実行許可を要求するステップと、前記プログ
ラムの使用の許可条件を示すライセンス交付情報の検証
に従って前記許可を授与するステップとを含む方法を提
供する。この方法は、前記コンピュータの実行環境での
変化を検出するために、前記コンピュータのオペレーシ
ョンを監視するステップと、前記検出した変化に従って
前記授与された許可を改訂するステップとをさらに含
む。
【0010】さらに、本発明は、これらの方法を実行す
るためのコンピュータ・プログラムと、プログラムを格
納する製品と、ソフトウェア・プログラムの使用を制御
するための対応するシステムも提供する。
【0011】
【発明の実施の形態】具体的に図1を参照すると、LA
N(ローカル・エリア・ネットワーク)などのネットワ
ーキング・システム100が示されている。LAN10
0は、複数のワークステーション105によって形成さ
れる場合、一般にPC(パーソナル・コンピュータ)か
らなる。ワークステーション105は、それぞれの通信
ケーブル115を介して、1つまたは複数の集線装置1
10(ハブなど)に接続される。ネットワーキング・シ
ステム100は、ワークステーション105のうちの
(一般に強力なコンピュータからなる)1つまたは複数
が共有ファイルおよび共有装置などのネットワーク・リ
ソースを管理するクライアント/サーバ・アーキテクチ
ャを有する。他のワークステーション105は、ユーザ
がサーバ・リソースに依拠してアプリケーションをその
上で実行するクライアントとして動作する。
【0012】各ワークステーション105は、通信バス
120に並列に接続されるいくつかのユニットを含む。
具体的には、中央演算処理装置(CPU)125は、ワ
ークステーション105のオペレーションを制御し、作
業メモリ130(一般にはDRAM)は、CPU125
によって直接的に使用され、読取り専用メモリ(RO
M)135は、ワークステーション105を開始するた
めの基本プログラムを格納する。様々な周辺装置が、
(それぞれのインターフェースによって)バス120に
さらに接続される。具体的には、大容量メモリは、ハー
ドディスク140と、CD−ROM(コンピュータ読み
取り可能な記録媒体)150を読み取るためのドライバ
・ユニット(DRV)145とからなる。ワークステー
ション105は、例えばキーボードおよびマウスからな
る入力ユニット(IN)155と、例えばモニタからな
る出力ユニット(OUT)160とをさらに含む。ワー
クステーション105は、ネットワーク・インターフェ
ース・カード(NIC)165を使用して(通信ケーブ
ル115を介して)集線装置110に接続される。
【0013】このネットワーキング・システムがWAN
(ワイド・エリア・ネットワーク)からなる場合、この
ネットワーキング・システムが(1つまたは複数のスイ
ッチなどの)異なる構成要素を含む場合、各ワークステ
ーションが(例えばマルチプロセッサ・アーキテクチャ
を有する)異なる構造を有する場合、このネットワーキ
ング・システムが、一連の端末を備えるメインフレーム
か、あるいは1つまたは複数のコンピュータを備える他
のデータ処理システムによって置換される場合にも同様
の考慮事項が当てはまる。
【0014】次に図2を考慮すると、クライアントとし
て動作するワークステーションの作業メモリ(130c
と示す)の部分的内容と、ライセンス交付サーバとして
動作するワークステーションの作業メモリ(130sと
示す)の部分的内容とが示されている。情報(プログラ
ムおよびデータ)は、一般に、ハードディスク上に格納
され、プログラムが実行されるときに作業メモリ130
c、130s中にロードされる。このプログラムは、最
初に、CD−ROMから、クライアント・ワークステー
ションのハードディスク上と、サーバ・ワークステーシ
ョンのハードディスク上とにインストールされる。
【0015】オペレーティング・システム(OS)20
5cおよびオペレーティング・システム205sは、そ
れぞれ、他のプログラムがその上で動作することのでき
るクライアント・ワークステーションおよびサーバ・ワ
ークステーションに対してソフトウェア・プラットフォ
ームを提供する。オペレーティング・システム205c
および205sは、キーボードからの入力を認識するこ
と、モニタに出力を送信すること、およびハードディス
ク上のファイルを追跡することなどの基本タスクを実行
する。各オペレーティング・システム205c、205
sのメイン・モジュール(カーネルとして知られる)
は、それぞれの作業メモリ130c、130s中に常駐
する。カーネルは、オペレーティング・システム205
c/205sの他の部分が必要とする、不可欠なサービ
スすべて(プログラムを作業メモリ中にロードするこ
と、プロセスをスケジューリングすること、またはコマ
ンドを解釈することなど)を提供する。スタック(ST
ACK)215cおよびスタック215sは、ネットワ
ーキング・システムを介して通信を定義するために共に
働く、1組のネットワーク・プロトコル層を処理する。
具体的には、スタック215c、215sにより、クラ
イアント・ワークステーションおよびサーバ・ワークス
テーションが両者の間でメッセージを交換することが可
能となる。
【0016】ライセンス交付管理アプリケーション(L
MA)220は、サーバ・ワークステーション上に格納
されたデジタル・ライセンス証明書(CERT)のデー
タベースを制御する。ネットワーキング・システム上で
動作する各ソフトウェア・プログラムの使用を許可する
ために、異なるライセンス証明書225が使用される。
ライセンス証明書225は、証明書の識別子、プログラ
ムの発表者の識別子、発表者によって許可されたときの
プログラムの使用の条件、およびプログラムがその下で
まだ動作することができる(許可された条件の外の)使
用の例外条件を含む。
【0017】例えば、プログラムの使用の許可条件は、
プログラムが動作することのできるワークステーション
のCPUの最大能力または作業メモリの最大容量、プロ
グラムを同時に実行することができるエンドユーザの最
大数などを定義する。さらに、発表者は、使用の実際の
条件が許可された条件を事前設定した割合(10%な
ど)だけ超過したときでも、プログラムが動作すること
を例外的に可能にする。例えば100MIPSに等しい
CPUの最大能力でワークステーション上で動作するよ
うにプログラムが許可される場合、CPUの能力が最大
110MIPSまで増加した場合でも、(使用の例外条
件の下で)プログラムはまだ動作することができる。
【0018】各ライセンス証明書225は、発表者によ
って作成され、対応する秘密キーを使用して署名され
る。発表者に関連するデジタル・シグニチャおよびデジ
タル証明書は、ライセンス証明書225に付加される。
次いで、ライセンス交付管理アプリケーション220
は、ライセンス証明書225を妥当性検査するために、
対応するデジタル証明書から発表者の公開キーを抽出
し、デジタル・シグニチャを検証することができる。
【0019】(軽量)ライセンス交付システム・エージ
ェント(SA)230は、クライアント・ワークステー
ション上のオペレーティング・システム205cのカー
ネルの一部である。システム・エージェント230によ
り、ライセンス交付管理システムの(非常に小さく、明
確なタスクからなる)基本オペレーションが提供され
る。システム・エージェント230は、クライアント・
ワークステーションの構成に関する情報(CPUの能
力、作業メモリの容量など)を格納する、カーネル内部
のデータ構造(CONF)233にアクセスする。構成
情報233は、クライアント・ワークステーション上で
動作するプログラムの実行環境を定義する。
【0020】全機能ライセンス交付エージェント(FF
A)235は、クライアント・ワークステーション上で
一層アクティブなデーモン・プロセスであり、ライセン
ス交付管理システムの完全なオペレーションを提供す
る。全機能エージェント235は、(サーバ・ワークス
テーションとメッセージを交換するために)システム・
エージェント230およびスタック215cと通信す
る。
【0021】システム・エージェント235は、ローカ
ル・デジタル・ライセンス証明書(LOC_CERT)
240のリポジトリを制御する。各ローカル・ライセン
ス証明書240は、(サーバ・ワークステーション上に
格納された)対応するライセンス証明書225の簡略化
したコピーを含む。具体的には、ローカル・ライセンス
証明書240は、単に、クライアント・ワークステーシ
ョン上で動作することを許可された対応するプログラム
の識別子からなる。システム・エージェント230は、
さらに、基本プログラム(オペレーティング・システム
205cおよびスタック215c)から受信した、許可
またはリリースの要求を格納するログ構造(LOG)2
45を制御する。オペレーティング・システム205c
上で動作するアプリケーション・プログラム250は、
さらに、許可またはリリースのそれぞれの要求を送信す
るために、システム・エージェント230と通信する。
【0022】プログラムおよびデータが異なる方式で構
築される場合、他のモジュールまたは機能が提供される
場合、異なる使用の条件が考えられる場合、プログラム
が使用の許可条件の外で動作することができない場合、
クライアント・ワークステーションについての基本サー
ビスを提供する1つまたは複数の異なるプログラムが
(オペレーティング・システム単体に)提供される場合
などに、同様の考慮事項が当てはまる。
【0023】図3〜5に示されているように、共に方法
300を構成する一連のルーチンが、クライアント・ワ
ークステーション上にインストールされたプログラムの
使用を制御するために、時間的に連続するステージで実
行される。方法300は、ブロック303で開始し、次
いでブロック306に進み、クライアント・ワークステ
ーションがオンにされる。その結果、CPUは、(内部
電源が安定化した後に)ROMメモリ中に格納された基
本プログラムをロードする。基本プログラムは、インス
トールされたハードウェアのテストを実行し、クライア
ント・ワークステーションを初期化する。次いで基本プ
ログラムは、オペレーティング・システムを開始するた
めのブート・コードを格納する周辺装置を識別する。こ
のコードは基本プログラムを引き継ぎ、ブートストラッ
プ・プロセスを開始する。ブートストラップは、クライ
アント・ワークステーションについての不可欠なサービ
スを提供するユーティリティをロードすることを含み、
ユーティリティは、ブートストラップが進行するにつれ
て、オペレーティング・システムの残りのローティング
および実行と、他の基本プログラム(ネットワーク・ス
タックなど)のローティングおよび実行とを制御する。
【0024】ブロック309に進むと、ライセンス交付
管理システムのシステム・エージェントが、ブートスト
ラップ中に(オペレーティング・システムのカーネルの
一部として)ロードされる。ブロック311で、システ
ム・エージェントは、(問題とする実施例中のオペレー
ティング・システムまたはネットワーク・スタックであ
る)基本プログラムが開始したか、それともブートスト
ラップ中に終了したかをチェックする。
【0025】システム・エージェントに対してアクショ
ンが通知されなかった場合、この方法は(以下で説明す
る)ブロック312に下る。逆に、基本的な問題が開始
したとき、この基本的な問題は、(システム・エージェ
ントが完了した後に)システム・エージェントに実行許
可を要求する。その結果、ブロック318で、システム
・エージェントは、ローカル・ライセンス証明書のリポ
ジトリを検証する。基本プログラムについてのローカル
・ライセンス証明書が見つかった(基本プログラムの実
行が許可されていることを示す)場合、システム・エー
ジェントは、ブロック321で基本プログラムの実行を
可能にし、次いでブロック322で許可の要求を記録す
る。見つからなかった場合、基本プログラムの実行が打
ち切られ、この方法は、ブロック324でエラー条件に
入る(このエラー条件は、一般に後の分析のために記録
される)。どちらの場合でも、この方法はブロック31
2に進む。基本プログラムがその実行を終了するとき
(ブロック311)、基本プログラムは、それに応じて
(終了する前に)システム・エージェントに通知する。
その結果、システム・エージェントは、ブロック325
で対応するリリースの要求を記録し、次いでブロック3
12に下る。
【0026】次にブロック312を考慮すると、ブート
ストラップが終了した後、全機能エージェントがロード
される。全機能エージェントのローディングが完了する
とすぐに、それに応じてシステム・エージェントが通知
される。システム・エージェントが全機能エージェント
のローディングをまだ通知していない場合、この方法
は、上述のステップを反復するためにブロック311に
戻る。システム・エージェントが全機能エージェントの
ローディングを通知していた場合、この方法は、並列に
実行される2つの分岐に分岐する。第1分岐は、ブロッ
ク327〜336からなり、第2分岐は、ブロック34
2〜384からなる。この2つの分岐はブロック387
(以下で説明する)で接合する。
【0027】次にブロック327を考慮すると、システ
ム・エージェントは、アプリケーション・プログラムが
開始または終了したかどうかをチェックする。開始また
は終了した場合、システム・エージェントは、ブロック
330で、全機能エージェントに対して、対応する許可
またはリリースの要求を転送し、次いでこの方法は、ブ
ロック333に進む。開始または終了しなかった場合、
この方法は、直接ブロック333に下る。次にブロック
333を考慮すると、システム・エージェントは、クラ
イアント・ワークステーション上で動作する(基本およ
びアプリケーション)プログラムの実行環境を定義する
構成情報の変化が生じたかどうかを検証する。変化が生
じた場合、ブロック336で新しい構成情報が全機能エ
ージェントに供給され、次いで、この方法はブロック3
87に進む。変化が生じなかった場合、この方法は直接
ブロック387に下る。
【0028】同時に、ブロック342で、ブートストラ
ップの間に格納された基本プログラムからの許可または
リリースの要求が、システム・エージェントによってロ
グ構造から抽出され、全機能エージェントに供給され
る。このようにして得られた要求は、対応する実行環境
を定義する構成情報と共に、ブロック343で(それぞ
れのネットワーク・スタックを介して)サーバ・ワーク
ステーションに送信される。ブロック345に進むと、
サーバ・ワークステーション上のライセンス交付管理ア
プリケーションが、それぞれのライセンス証明書中に含
まれる使用の許可条件で、各要求の適合を検証する。基
本プログラムにマッチするライセンス証明書が見つか
り、かつ基本プログラムが発表者によって許可された使
用の条件内で動作している場合(例えば、CPUの能力
が可能な最大値を超えていない場合)、(システム・エ
ージェントによって以前に与された)許可がブロック3
48で確認される。そうでない場合、この方法は、ブロ
ック351でエラー条件に入る(このエラー条件は後の
分析のために記録される)。どちらの場合でも、対応す
る応答メッセージが、全機能エージェントに送信され
る。一般に、応答メッセージは、許可が授与されたか、
それとも拒否されたかを指定するリターン・コードを含
み、後者の場合にはその拒否の理由を含む。さらに、ス
テータス・コードは、授与された許可が使用の(標準)
条件内にあるか、それとも使用の例外条件内にあるかを
さらに指定し、または拒否の理由をより詳細にさらに指
定する。
【0029】次いでこの方法は、(ブロック348およ
びブロック351の両方から)ブロック354に入り、
基本プログラムについてのローカル・ライセンス証明書
の新しいバージョンが、サーバ・ワークステーション上
に格納されたそれぞれのライセンス証明書から生成され
る。ローカル・ライセンス証明書の新しいバージョン
は、ライセンス交付管理アプリケーションから、クライ
アント・ワークステーション上の全機能エージェントに
送信される。全機能エージェントは、それに応じて、シ
ステム・エージェントにローカル・ライセンス証明書の
リポジトリを更新させる。
【0030】次いでこの方法はブロック357に下り、
リリースの許可の要求がアプリケーション・プログラム
によって(システム・エージェントを介して)要求され
たかどうかを、全機能エージェントがチェックする。要
求されなかった場合、この方法はブロック360(以下
で説明する)に進む。要求された場合、この要求は、対
応するライセンス交付情報を更新するために、ブロック
363でサーバ・ワークステーションに送信される。ブ
ロック366に進むと、アプリケーション・プログラム
が要求した実行許可を有する場合、ライセンス交付管理
アプリケーションは、それぞれのライセンス証明書中に
含まれる使用の許可条件で、要求の適合を検証する。検
証の結果が肯定的である場合、許可がブロック369で
授与される。検証の結果が否定的である場合、この方法
はブロック372でエラー条件に入る。どちらの場合で
も、対応する応答メッセージ(リターン・コードおよび
ステータス・コード)が全機能エージェントに送信され
る。この応答メッセージはシステム・エージェントに送
信され、次いで許可を要求するアプリケーション・プロ
グラムに返され、それに応じてアプリケーション・プロ
グラムはその実行を続行または打ち切る。
【0031】この方法は、(ブロック369およびブロ
ック372の両方から)ブロック360に進み、新しい
構成がシステム・エージェントから受信されたかどうか
を、全機能エージェントが検証する。新しい構成情報が
受信されなかった場合、この方法は直接ブロック387
に下る。新しい構成情報が受信された場合、この新しい
構成情報が、ブロック375でサーバ・ワークステーシ
ョンに送信される。ブロック378に進むと、ライセン
ス交付管理アプリケーションは、新しい構成情報に照ら
して授与した各許可を改訂する。各(基本およびアプリ
ケーション)プログラムの実行が、まだそれぞれのライ
センス証明書中に含まれる使用の許可条件を満たしてい
る場合、この許可はブロック381で確認される。満た
していない場合、この方法はブロック384でエラー条
件に入る。どちらの場合でも、対応する応答メッセージ
が全機能エージェントに送信され、この方法はブロック
387に進む。
【0032】次にブロック387を考慮すると、クライ
アント・ワークステーションがシャットダウンされたか
どうかのチェックが行われる。シャットダウンされてい
ない場合、この方法は(上述のステップを反復するため
に)ブロック312の後ろの分岐点に戻る。シャットダ
ウンされた場合、この方法は最終ブロック390で終了
する。
【0033】例えば(クライアント・ワークステーショ
ンがオフの位置からオンにされる)コールド・ブートス
トラップの代わりに、(クライアント・ワークステーシ
ョンがリセットされる)ウォーム・ブートストラップを
用いて等価な方法が実行される場合、エラーが発生した
ときにプログラムの実行が動作不能にされる場合、応答
メッセージが異なる構造を有する場合などに、同様の考
慮事項が当てはまる。
【0034】より一般には、本発明は、コンピュータに
ついての基本サービスを提供する1つまたは複数のソフ
トウェア・プログラムをロードすることに関係するブー
トストラップを開始するステップと、ライセンス交付管
理システムに対して、各プログラムによって実行許可を
要求するステップとを含む、コンピュータ上のソフトウ
ェア・プログラムの使用を制御する方法を提供する。こ
の方法は、ブートストラップの完了前に、プログラムの
使用の許可条件を示すライセンス交付情報の仮検証に従
って許可を授与し、ブートストラップの完了後に、ライ
センス交付情報の完全な検証に従って授与した許可を改
訂するステップをさらに含む。
【0035】本発明の解決策により、コンピュータ上で
動作するプログラムの完全な制御を実装することが可能
となる。
【0036】具体的には、提案の方法により、ブートス
トラップ・プロセスの間にロードされるプログラム(オ
ペレーティング・システムおよびネットワーク・スタッ
クなど)の(ライセンス交付管理システムによる)効果
的な監視が可能となる。実際、上述の解決策では、プロ
グラムの使用は、オペレーティング・システムの全機能
が利用可能となる前でも制御することができる。
【0037】本発明による解決策により、発表者は自身
の知的所有権を効果的に保護することが可能となる。実
際、基本プログラムおよびアプリケーション・プログラ
ムの両方の、どんな不明な使用も防止され、使用料の未
払いによるどんな経済的損失も回避される。あるいは、
このように収集された情報は、顧客によって行われるプ
ログラムの実際の使用を記録するだけのために、発表者
によって利用される。例えば、マーケティングまたは統
計的応用のために、この情報を有利に使用することがで
きる。
【0038】上述の本発明の好ましい実施形態は、別の
利点も提供する。例えば、システム・エージェントおよ
び(対応するログ構造を有する)全機能エージェントの
提供により、非常に単純にライセンス交付管理システム
が実装される。このように、本発明のプロセスは、それ
ぞれの実行許可をライセンス交付管理システムに要求す
る(基本およびアプリケーション)プログラムに対して
完全に透過である。さらに、軽量エージェントのローデ
ィングの完了まで許可の要求を延期する機能により、ブ
ートストラップの間の非常に初期に開始するプログラム
も監視することが可能となる。具体的には、この解決策
により、オペレーティング・システムのカーネル自体の
使用を制御することが可能となる。
【0039】ライセンス交付管理システムが等価な基本
モジュールおよび全モジュールに区分される場合、(基
本プログラムからの)格納された許可またはリリースの
要求が全機能エージェントに対して異なる方式で提供さ
れる場合(例えば、ログ構造から直接抽出される場
合)、許可の要求だけが記録される場合(例えば、ブー
トストラップの完了前には基本プログラムを終了するこ
とができない場合)、後に許可が基本プログラムからシ
ステム・エージェントに対して要求される場合などに、
同様の考慮事項が当てはまる。しかし、本発明の解決策
は、(ライセンス証明書の仮検証および完全検証のどち
らも実行する)単一モジュールからなるライセンス交付
管理システムの場合でも、または後の検証のために、シ
ステム・エージェントのローディングの前に要求される
各許可を記録することによっても実装される。
【0040】本発明の解決策は、クライアント・ワーク
ステーション上で動作するプログラムについてのライセ
ンス証明書がサーバ・ワークステーション上に格納され
るネットワーキング・システムで特に有利である。この
ように、ネットワーク・スタックによって提供される通
信機能が利用可能となる前であっても、プログラムの使
用を制御することができる。好ましくは、この許可は、
クライアント・ワークステーション上に格納される、そ
れぞれのローカル・ライセンス証明書の検証に従って授
与される。この機能により、要求の検証が特に単純かつ
高速になる(かつ、次いでブートストラップ中の実行に
適するようになる)。さらに、ローカル・ライセンス証
明書は、各ブートストラップの後に、(サーバ・ワーク
ステーションから受信する)それぞれの新しいバージョ
ンで継続的に置換される。これにより、クライアント・
ワークステーション上に格納されたローカル・ライセン
ス証明書が、可能な範囲で常に最新となる。
【0041】クライアント・ワークステーションおよび
サーバ・ワークステーションが異なる方式で通信する場
合、異なるタイプのコンピュータを使用する場合、ライ
センス証明書およびローカル・ライセンス証明書が異な
る情報を含む場合(例えば有効期限)、ローカル・ライ
センス証明書が異なる頻度で更新される場合(例えば2
回または3回のブートストラップごとに、あるいは周期
的に)などに、同様の考慮事項が当てはまる。
【0042】あるいは、ライセンス証明書およびローカ
ル・ライセンス証明書が、プログラムの使用の許可条件
を示す等価なライセンス交付情報によって置換され、許
可が、ライセンス交付情報の異なる仮検証に従って授与
され、ライセンス交付情報の異なる完全な検証に従って
改訂される。しかし、本発明の方法は、ローカル・ライ
センス証明書を更新することなく、かつローカル・ライ
センス証明書なしに(例えば、ブートストラップの完了
前にコンピュータ上のライセンス証明書の存在を単にチ
ェックし、ブートストラップの完了の後に許可条件を検
証することによって)単一コンピュータ中でも使用され
る。
【0043】好ましくは、プログラムの実行環境のどん
な変化も検出する目的で、プログラムが動作しているク
ライアント・ワークステーションのオペレーションが監
視される。この情報が使用されて、それに応じて授与さ
れた許可が改訂される。このように、プログラムの使用
を動的に追跡することが可能となる。例えば、クライア
ント・ワークステーションにより、オペレーションの間
にCPUの能力を変更することができる場合、考案の解
決策により、ライセンス交付情報をプログラムの使用の
実際の条件と常に完全に整合させることが可能となる。
【0044】異なる構成パラメータを考慮する場合、ク
ライアント・ワークステーションのオペレーションが異
なる方式で(例えば専用の別のエージェントで)監視さ
れる場合、授与された許可が異なる頻度で更新される場
合(例えば周期的に)などに、同様の考慮事項が当ては
まる。しかし、本発明の解決策は、プログラムの実行環
境を監視しない場合でも実装される。
【0045】有利には、本発明によって提案される方法
は、CD−ROM上で提供されるコンピュータ・プログ
ラムで実装される。
【0046】あるいは、このプログラムは、フロッピー
(R)・ディスク上で提供され、ハードディスク上に事
前ロードされ、または他のコンピュータ可読媒体上に格
納され、ネットワークを介してコンピュータに送信さ
れ、同報通信され、あるいはより一般には、コンピュー
タの作業メモリ中に直接ロード可能な任意の他の形態で
提供される。しかし、本発明による方法は、例えば半導
体材料のチップ中に集積された、クライアント・ワーク
ステーション上に設置されたハードウェア構造でも実施
される。
【0047】上述のライセンス交付情報の仮検証または
完全検証を用いない場合であっても、コンピュータの監
視オペレーションの追加の機能は、(単独の、または他
の追加の機能と組み合わせた)使用に適することを留意
されたい。
【0048】より一般には、本発明は、ライセンス交付
管理システムに対して各プログラムによって実行許可を
要求するステップと、プログラムの使用の許可条件を示
すライセンス交付情報の仮検証に従って許可を授与する
ステップとを含む、コンピュータ上のソフトウェア・プ
ログラムの使用を制御する方法をさらに提供する。この
方法は、プログラムの実行環境の変化を検出するため
に、コンピュータのオペレーションを監視するステップ
と、その検出した変化に従って授与された許可を改訂す
るステップとをさらに含む。
【0049】例えば、基本プログラム(オペレーティン
グ・システムなど)の使用を制御することを許可しない
ライセンス交付管理システムでは、この機能を利用し
て、アプリケーション・プログラムの使用を動的に追跡
することが有利である。
【0050】もちろん、局所要件および特定の要件を満
たすために、当業者は上述の解決策を多くの修正形態お
よび変更形態に応用することができるが、そのすべて
は、頭記の特許請求の範囲で定義される本発明の保護の
範囲内に含まれている。
【0051】まとめとして、本発明の構成に関して以下
の事項を開示する。
【0052】(1)コンピュータ上のソフトウェア・プ
ログラムの使用を制御する方法(300)であって、前
記コンピュータに対して基本サービスを提供する少なく
とも1つのソフトウェア・プログラムをロードすること
に関係するブートストラップを開始するステップ(30
6)と、ライセンス交付管理システムに対して各プログ
ラムによって実行許可を要求するステップ(311)と
を含み、前記ブートストラップの完了前に、前記プログ
ラムの使用の許可条件を示すライセンス交付情報の仮検
証に従って前記許可を授与するステップ(318〜32
4)と、前記ブートストラップ完了後に、前記ライセン
ス交付情報の完全な検証に従って前記授与した許可を改
訂するステップ(342〜351)とを特徴とする方
法。 (2)前記ブートストラップの完了前に、前記ライセン
ス交付管理システムの基本モジュールをロードするステ
ップ(309)であって、各許可が、前記基本モジュー
ルに対して要求され、前記基本モジュールによって授与
されるステップと、許可の各要求を記録するステップ
(322)と、前記ブートストラップ完了後に、前記ラ
イセンス交付管理システムの全モジュールをロードする
ステップ(312)と、前記対応する授与された許可を
改訂するために、記録した各要求を前記全モジュールに
供給するステップ(342)とをさらに含む上記(1)
に記載の方法(300)。 (3)前記許可を要求するステップ(311)が、前記
基本モジュールの前記ローディングが完了するまで延期
される上記(2)に記載の方法(300)。 (4)前記授与された許可を改訂する前記ステップ(3
42〜351)が、前記対応するライセンス情報を含
む、各プログラムについてのデジタル・ライセンス証明
書を格納する別のコンピュータに、前記要求を示すメッ
セージを送信するステップ(343)と、前記対応する
ライセンス証明書で、前記要求の適合を検証するステッ
プ(345〜351)とを含む上記(2)または(3)
に記載の方法(300)。 (5)前記許可を授与する前記ステップが、前記コンピ
ュータ上に格納され、前記対応するライセンス証明書の
簡略化したコピーを含むローカル・デジタル・ライセン
ス証明書を検証するステップ(318〜324)を含む
上記(4)に記載の方法(300)。 (6)前記ブートストラップの後に、前記別のコンピュ
ータから受信するその新しいバージョンに従って各ロー
カル・ライセンス証明書を更新するステップ(354)
をさらに含む上記(5)に記載の方法(300)。 (7)各プログラムの実行環境の変化を検出するため
に、前記コンピュータのオペレーションを監視するステ
ップ(333)と、前記検出した変化に従って前記対応
する授与された許可を改訂するステップ(336、36
0〜384)とをさらに含む上記(1)ないし(6)に
記載の方法(300)。 (8)コンピュータ上で動作するときに上記(1)ない
し(7)のいずれかの前記方法を実行するための、前記
コンピュータ(105)の作業メモリ(130c)中に
直接ロード可能なコンピュータ・プログラム(230、
235)。 (9)上記(8)のプログラム(230、235)が格
納されるコンピュータ可読記録媒体(150)。 (10)コンピュータ上のソフトウェア・プログラムの
使用を制御する方法(300)であって、ライセンス交
付管理システムに対して、各プログラムによって実行許
可を要求するステップ(311;327)と、前記プロ
グラムの使用の許可条件を示すライセンス交付情報の検
証に従って前記許可を授与するステップ(318〜32
1、342〜351;330、357〜372)とを含
み、前記コンピュータの実行環境での変化を検出するた
めに、前記コンピュータのオペレーションを監視するス
テップ(333)と、前記検出した変化に従って前記授
与された許可を改訂するステップ(336、360〜3
84)とを特徴とする方法。 (11)コンピュータ上で動作するときに上記(10)
の前記方法を実行するための、前記コンピュータ(10
5)の作業メモリ(130c)中に直接ロード可能なコ
ンピュータ・プログラム(230、235)。 (12)上記(11)のプログラム(230、235)
が格納されるコンピュータ可読記録媒体(150)。 (13)ライセンス交付管理システム(230、23
5)と、コンピュータ(105)に対して基本サービス
を提供する少なくとも1つのソフトウェア・プログラム
(205c、215c)のローディングに関係するブー
トストラップを開始するための手段(135)とを含む
前記コンピュータ上のソフトウェア・プログラムの使用
を制御するためのシステム(100)において、各プロ
グラムが、前記ライセンス交付管理システムに対して実
行許可を要求するシステムであって、前記ライセンス交
付システムが、前記ブートストラップの完了前に、プロ
グラムの使用の許可条件を示すライセンス交付情報(2
40)の仮検証に従って前記許可を授与するための手段
(230)と、前記ブートストラップの完了後に、ライ
センス交付情報(225)の完全な検証に従って前記授
与した許可を改訂するための手段(235)とを含むこ
とを特徴とするシステム。 (14)ライセンス交付管理システム(230、23
5)を含むコンピュータ(105)上のソフトウェア・
プログラム(205c、215c、250)の使用を制
御するシステム(100)において、各プログラムが、
前記ライセンス交付管理システムに対して実行許可を要
求し、前記ライセンス交付管理システムが、ライセンス
交付情報(225、240)の検証に従って許可を授与
するシステムであって、前記プログラムの実行環境の変
化を検出するために、コンピュータのオペレーションを
監視するための手段(230、233)をさらに含み、
前記ライセンス交付管理システムが、前記検出した変化
に従って前記授与した許可を改訂することを特徴とする
システム。
【図面の簡単な説明】
【図1】本発明の方法を使用することができるネットワ
ーキング・システムの基本ブロック図である。
【図2】ネットワーキング・システム中に含まれるクラ
イアント・ワークステーションおよびサーバ・ワークス
テーションの作業メモリの部分的な内容である。
【図3】クライアント・ワークステーション上でソフト
ウェア・プログラムの使用を制御するための方法の流れ
図である。
【図4】クライアント・ワークステーション上でソフト
ウェア・プログラムの使用を制御するための方法の流れ
図である。
【図5】クライアント・ワークステーション上でソフト
ウェア・プログラムの使用を制御するための方法の流れ
図である。
【符号の説明】
100 ネットワーキング・システム 105 ワークステーション 115 通信ケーブル 120 通信バス 125 中央演算処理装置(CPU) 130 作業メモリ 135 読取り専用メモリ(ROM) 140 ハードディスク 145 ドライバ・ユニット(DRV) 150 CD−ROM 155 入力ユニット(IN) 160 出力ユニット(OUT) 165 ネットワーク・インターフェース・カード(N
IC) 130c 作業メモリ 130s 作業メモリ 205c オペレーティング・システム(OS) 205s オペレーティング・システム(OS) 215c スタック 215s スタック 220 ライセンス交付管理アプリケーション(LM
A) 225 ライセンス証明書 230 ライセンス交付システム・エージェント(S
A) 233 データ構造(CONF) 235 全機能ライセンス交付エージェント(FFA) 240 ローカル・ライセンス証明書 245 ログ構造(LOG) 250 アプリケーション・プログラム
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ジャンカルロ・カルボーネ イタリア ローマ 00142 ヴィア・ドゥ ッチア・ディ・ブオニンセーニャ 29 (72)発明者 トーマス・フラン・シーレチ アメリカ合衆国07456 ニュー・ジャージ ー州リングウッド アルタ・ビスタ・ドラ イブ 58 Fターム(参考) 5B076 BB00 FB01

Claims (14)

    【特許請求の範囲】
  1. 【請求項1】コンピュータ上のソフトウェア・プログラ
    ムの使用を制御する方法(300)であって、 前記コンピュータに対して基本サービスを提供する少な
    くとも1つのソフトウェア・プログラムをロードするこ
    とに関係するブートストラップを開始するステップ(3
    06)と、 ライセンス交付管理システムに対して各プログラムによ
    って実行許可を要求するステップ(311)とを含み、 前記ブートストラップの完了前に、前記プログラムの使
    用の許可条件を示すライセンス交付情報の仮検証に従っ
    て前記許可を授与するステップ(318〜324)と、 前記ブートストラップ完了後に、前記ライセンス交付情
    報の完全な検証に従って前記授与した許可を改訂するス
    テップ(342〜351)とを特徴とする方法。
  2. 【請求項2】前記ブートストラップの完了前に、前記ラ
    イセンス交付管理システムの基本モジュールをロードす
    るステップ(309)であって、各許可が、前記基本モ
    ジュールに対して要求され、前記基本モジュールによっ
    て授与されるステップと、 許可の各要求を記録するステップ(322)と、 前記ブートストラップ完了後に、前記ライセンス交付管
    理システムの全モジュールをロードするステップ(31
    2)と、 前記対応する授与された許可を改訂するために、記録し
    た各要求を前記全モジュールに供給するステップ(34
    2)とをさらに含む請求項1に記載の方法(300)。
  3. 【請求項3】前記許可を要求するステップ(311)
    が、前記基本モジュールの前記ローディングが完了する
    まで延期される請求項2に記載の方法(300)。
  4. 【請求項4】前記授与された許可を改訂する前記ステッ
    プ(342〜351)が、 前記対応するライセンス情報を含む、各プログラムにつ
    いてのデジタル・ライセンス証明書を格納する別のコン
    ピュータに、前記要求を示すメッセージを送信するステ
    ップ(343)と、 前記対応するライセンス証明書で、前記要求の適合を検
    証するステップ(345〜351)とを含む請求項2ま
    たは3に記載の方法(300)。
  5. 【請求項5】前記許可を授与する前記ステップが、前記
    コンピュータ上に格納され、前記対応するライセンス証
    明書の簡略化したコピーを含むローカル・デジタル・ラ
    イセンス証明書を検証するステップ(318〜324)
    を含む請求項4に記載の方法(300)。
  6. 【請求項6】前記ブートストラップの後に、前記別のコ
    ンピュータから受信するその新しいバージョンに従って
    各ローカル・ライセンス証明書を更新するステップ(3
    54)をさらに含む請求項5に記載の方法(300)。
  7. 【請求項7】各プログラムの実行環境の変化を検出する
    ために、前記コンピュータのオペレーションを監視する
    ステップ(333)と、前記検出した変化に従って前記
    対応する授与された許可を改訂するステップ(336、
    360〜384)とをさらに含む請求項1ないし6に記
    載の方法(300)。
  8. 【請求項8】コンピュータ上で動作するときに請求項1
    ないし7のいずれかの前記方法を実行するための、前記
    コンピュータ(105)の作業メモリ(130c)中に
    直接ロード可能なコンピュータ・プログラム(230、
    235)。
  9. 【請求項9】請求項8のプログラム(230、235)
    が格納されるコンピュータ可読記録媒体(150)。
  10. 【請求項10】コンピュータ上のソフトウェア・プログ
    ラムの使用を制御する方法(300)であって、 ライセンス交付管理システムに対して、各プログラムに
    よって実行許可を要求するステップ(311;327)
    と、 前記プログラムの使用の許可条件を示すライセンス交付
    情報の検証に従って前記許可を授与するステップ(31
    8〜321、342〜351;330、357〜37
    2)とを含み、 前記コンピュータの実行環境での変化を検出するため
    に、前記コンピュータのオペレーションを監視するステ
    ップ(333)と、 前記検出した変化に従って前記授与された許可を改訂す
    るステップ(336、360〜384)とを特徴とする
    方法。
  11. 【請求項11】コンピュータ上で動作するときに請求項
    10の前記方法を実行するための、前記コンピュータ
    (105)の作業メモリ(130c)中に直接ロード可
    能なコンピュータ・プログラム(230、235)。
  12. 【請求項12】請求項11のプログラム(230、23
    5)が格納されるコンピュータ可読記録媒体(15
    0)。
  13. 【請求項13】ライセンス交付管理システム(230、
    235)と、コンピュータ(105)に対して基本サー
    ビスを提供する少なくとも1つのソフトウェア・プログ
    ラム(205c、215c)のローディングに関係する
    ブートストラップを開始するための手段(135)とを
    含む前記コンピュータ上のソフトウェア・プログラムの
    使用を制御するためのシステム(100)において、各
    プログラムが、前記ライセンス交付管理システムに対し
    て実行許可を要求するシステムであって、前記ライセン
    ス交付システムが、前記ブートストラップの完了前に、
    プログラムの使用の許可条件を示すライセンス交付情報
    (240)の仮検証に従って前記許可を授与するための
    手段(230)と、前記ブートストラップの完了後に、
    ライセンス交付情報(225)の完全な検証に従って前
    記授与した許可を改訂するための手段(235)とを含
    むことを特徴とするシステム。
  14. 【請求項14】ライセンス交付管理システム(230、
    235)を含むコンピュータ(105)上のソフトウェ
    ア・プログラム(205c、215c、250)の使用
    を制御するシステム(100)において、各プログラム
    が、前記ライセンス交付管理システムに対して実行許可
    を要求し、前記ライセンス交付管理システムが、ライセ
    ンス交付情報(225、240)の検証に従って許可を
    授与するシステムであって、前記プログラムの実行環境
    の変化を検出するために、コンピュータのオペレーショ
    ンを監視するための手段(230、233)をさらに含
    み、前記ライセンス交付管理システムが、前記検出した
    変化に従って前記授与した許可を改訂することを特徴と
    するシステム。
JP2002077890A 2001-03-23 2002-03-20 ソフトウェア・プログラムの使用を制御するための方法およびシステム Expired - Fee Related JP3695652B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB0107321A GB2373604B (en) 2001-03-23 2001-03-23 A method and system for controlling use of software programs
GB0107321.2 2001-03-23

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2005105618A Division JP4700991B2 (ja) 2001-03-23 2005-04-01 ソフトウェア・プログラムの使用を制御するための方法およびシステム

Publications (2)

Publication Number Publication Date
JP2002358136A true JP2002358136A (ja) 2002-12-13
JP3695652B2 JP3695652B2 (ja) 2005-09-14

Family

ID=9911418

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2002077890A Expired - Fee Related JP3695652B2 (ja) 2001-03-23 2002-03-20 ソフトウェア・プログラムの使用を制御するための方法およびシステム
JP2005105618A Expired - Fee Related JP4700991B2 (ja) 2001-03-23 2005-04-01 ソフトウェア・プログラムの使用を制御するための方法およびシステム

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2005105618A Expired - Fee Related JP4700991B2 (ja) 2001-03-23 2005-04-01 ソフトウェア・プログラムの使用を制御するための方法およびシステム

Country Status (3)

Country Link
US (1) US7065649B2 (ja)
JP (2) JP3695652B2 (ja)
GB (1) GB2373604B (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005129049A (ja) * 2003-10-24 2005-05-19 Microsoft Corp コンピュータプログラムのライセンスの施行を支援するシステム
JP2006059141A (ja) * 2004-08-20 2006-03-02 Ricoh Co Ltd デバイス、機能管理方法、プログラム及び記録媒体
US9063752B2 (en) 2008-09-30 2015-06-23 Aristocrat Technologies Australia Pty Limited Security method

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7287277B2 (en) * 2001-12-21 2007-10-23 Hewlett-Packard Development Company, L.P. Method and apparatus for controlling execution of a computer operation
US8909777B2 (en) 2002-06-26 2014-12-09 Intel Corporation Systems and methods for dynamic access to program features
EP1429224A1 (en) * 2002-12-10 2004-06-16 Texas Instruments Incorporated Firmware run-time authentication
US20040128251A1 (en) * 2002-12-31 2004-07-01 Chris Adam Apparatus, system and method for licensing
WO2004109470A2 (en) * 2003-06-06 2004-12-16 Computer Associates Think, Inc. System and method for distribution of software licenses in a networked computing environment
WO2006031723A2 (en) * 2004-09-13 2006-03-23 Coretrace Corporation Method and system for license management
US7698744B2 (en) 2004-12-03 2010-04-13 Whitecell Software Inc. Secure system for allowing the execution of authorized computer program code
US7895124B2 (en) * 2004-12-23 2011-02-22 International Business Machines Corporation Method for protecting sensitive data during execution
TWI340332B (en) * 2007-02-02 2011-04-11 Ind Tech Res Inst Computerized apparatus and method for version control and management
US20080313743A1 (en) * 2007-06-13 2008-12-18 Brian Chan Network Software License Management and Piracy Protection
KR20090011152A (ko) * 2007-07-25 2009-02-02 삼성전자주식회사 콘텐츠 제공 방법 및 시스템
US20090132403A1 (en) * 2007-11-21 2009-05-21 Microsoft Corporation Licensing interface for user generated content
US20090132422A1 (en) * 2007-11-21 2009-05-21 Microsoft Corporation Machine-readable and enforceable license
US20090132435A1 (en) * 2007-11-21 2009-05-21 Microsoft Corporation Popularity based licensing of user generated content
US20090210333A1 (en) * 2008-02-14 2009-08-20 Microsoft Corporation Micro-licensing of composite content
JP5196601B2 (ja) * 2010-09-28 2013-05-15 Necインフロンティア株式会社 環境条件判別型ライセンス消費システム及びその方法、並びに、機能提供サーバ及びそのプログラム
CN103150181B (zh) * 2013-02-20 2017-02-08 大唐移动通信设备有限公司 一种进程启动的方法及装置
US9467334B2 (en) 2013-06-07 2016-10-11 Apple Inc. Configuring computing devices using a bootstrap configuration
EP3084669A1 (en) * 2013-12-16 2016-10-26 ABB Technology AG Licensing of a hardware component
CN106203002B (zh) * 2015-05-06 2019-09-03 朗新科技股份有限公司 软件产品保护方法
CN112632476A (zh) * 2020-12-31 2021-04-09 四川虹微技术有限公司 算法授权保护方法、装置、集成电路芯片及电子设备

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3996449A (en) * 1975-08-25 1976-12-07 International Business Machines Corporation Operating system authenticator
US5448045A (en) * 1992-02-26 1995-09-05 Clark; Paul C. System for protecting computers via intelligent tokens or smart cards
US5892902A (en) * 1996-09-05 1999-04-06 Clark; Paul C. Intelligent token protected system with network authentication
US6292900B1 (en) * 1996-12-18 2001-09-18 Sun Microsystems, Inc. Multilevel security attribute passing methods, apparatuses, and computer program products in a stream
US6185678B1 (en) * 1997-10-02 2001-02-06 Trustees Of The University Of Pennsylvania Secure and reliable bootstrap architecture
US6141756A (en) * 1998-04-27 2000-10-31 Motorola, Inc. Apparatus and method of reading a program into a processor
US6189100B1 (en) * 1998-06-30 2001-02-13 Microsoft Corporation Ensuring the integrity of remote boot client data
US6684326B1 (en) * 1999-03-31 2004-01-27 International Business Machines Corporation Method and system for authenticated boot operations in a computer system of a networked computing environment
AUPQ321699A0 (en) * 1999-09-30 1999-10-28 Aristocrat Leisure Industries Pty Ltd Gaming security system
US6711675B1 (en) * 2000-02-11 2004-03-23 Intel Corporation Protected boot flow

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005129049A (ja) * 2003-10-24 2005-05-19 Microsoft Corp コンピュータプログラムのライセンスの施行を支援するシステム
US10437964B2 (en) 2003-10-24 2019-10-08 Microsoft Technology Licensing, Llc Programming interface for licensing
JP2006059141A (ja) * 2004-08-20 2006-03-02 Ricoh Co Ltd デバイス、機能管理方法、プログラム及び記録媒体
US9063752B2 (en) 2008-09-30 2015-06-23 Aristocrat Technologies Australia Pty Limited Security method

Also Published As

Publication number Publication date
GB0107321D0 (en) 2001-05-16
US7065649B2 (en) 2006-06-20
JP2005251221A (ja) 2005-09-15
JP3695652B2 (ja) 2005-09-14
US20040015962A1 (en) 2004-01-22
JP4700991B2 (ja) 2011-06-15
GB2373604B (en) 2004-10-27
GB2373604A (en) 2002-09-25

Similar Documents

Publication Publication Date Title
JP4700991B2 (ja) ソフトウェア・プログラムの使用を制御するための方法およびシステム
US5572711A (en) Mechanism for linking together the files of emulated and host system for access by emulated system users
US10140463B2 (en) Mechanisms to secure data on hard reset of device
US7096491B2 (en) Mobile code security architecture in an application service provider environment
US7996834B2 (en) Virtual machine self-service restrictions
US9009079B2 (en) Planning assignment of software licenses
US7257835B2 (en) Securely authorizing the performance of actions
US7661147B2 (en) System for controlling use of digitally encoded products
US5664098A (en) Dual decor capability for a host system which runs emulated application programs to enable direct access to host facilities for executing emulated system operations
EP1061432A2 (en) Distributed authentication mechanisms for handling diverse authentication systems in an enterprise computer system
US8082551B2 (en) System and method for sharing a trusted platform module
CN1925926A (zh) 协作嵌入式代理
US8046763B1 (en) Regulation of resource requests to control rate of resource consumption
JPH06223040A (ja) ソフトウェアライセンス管理システム
US20080134320A1 (en) Method for automatic role activation
JP2002297254A (ja) ライセンス管理装置、ライセンス管理方法、サービス提供方法、モバイルエージェント
CN1777852A (zh) 整合安全角色的***和方法
US20150058223A1 (en) Authorising use of a computer program
CN105677693B (zh) 一种访问数据库的方法及装置
CN1777872A (zh) 确定未归还备用资源使用的***
US20110271327A1 (en) Authorized Application Services Via an XML Message Protocol
US7783573B2 (en) Performance optimized smartcard transaction management
JP2003058266A (ja) ライセンス管理方法とライセンス管理プログラム
CN116561805A (zh) 主机批量访问的权限管理方法及其装置、电子设备
JP2003345454A (ja) ソフトウェアの使用権管理方法、使用権管理システム、使用権管理プログラム及び使用権配信要求プログラム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050201

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20050401

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050401

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20050401

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20050401

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: 20050606

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20050606

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20050606

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050623

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080708

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090708

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100708

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110708

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110708

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120708

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees