JPH07230380A - 適用業務プログラムの利用管理方法およびシステム - Google Patents

適用業務プログラムの利用管理方法およびシステム

Info

Publication number
JPH07230380A
JPH07230380A JP6289422A JP28942294A JPH07230380A JP H07230380 A JPH07230380 A JP H07230380A JP 6289422 A JP6289422 A JP 6289422A JP 28942294 A JP28942294 A JP 28942294A JP H07230380 A JPH07230380 A JP H07230380A
Authority
JP
Japan
Prior art keywords
dll
application program
program
execution
operating system
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
JP6289422A
Other languages
English (en)
Inventor
Timothy J Wolf
ティモシ・ジェー・ウォルフ
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 JPH07230380A publication Critical patent/JPH07230380A/ja
Pending 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
    • G06F21/125Restricting unauthorised execution of programs by manipulating the program code, e.g. source code, compiled code, interpreted code, machine code
    • G06F21/126Interacting with the operating system
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Computer Hardware Design (AREA)
  • Storage Device Security (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

(57)【要約】 【目的】分散環境またはネットワーク環境における適用
業務プログラム・ソフトウェアの導入および使用を管理
する方法およびシステムを提供する。 【構成】本発明は、各適用業務のヘッダ情報からオペレ
ーティング・システム・カーネルDLL参照をサーチ
し、このオペレーティング・システム・カーネルDLL
参照をインターセプト・ルーチンDLL参照に置き換え
ることによって、適用業務プログラムの実行呼出しの試
みを検出する。インターセプト・ルーチンは適用業務プ
ログラム呼出しの試みに応答して起動されるもので、適
用業務プログラム実行に先行し必要なソフトウェア資産
管理機能に関する管理論理を含んでいる。これらの構成
により、分散環境ないしネットワーク環境下でも、ソフ
トウエア資源の適正な使用・管理がはかられる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、一般的には、コンピュ
ータ・システム資源管理システムと方法に関するもの
で、特に、分散環境またはネットワーク環境における適
用業務プログラムのようなソフトウェアの導入および使
用計画を管理する方法に関するものである。
【0002】
【従来の技術】通信ネットワーク上で相互に接続したパ
ーソナル・コンピュータやワークステーションあるいは
中型コンピュータの広範囲にわたる普及は、ソフトウェ
ア資産管理の問題を拡大した。ソフトウェア顧客は、あ
る特定時点における該顧客のネットワーク上で稼動して
いるプログラムを知り、現状報告を行う必要がしばしば
ある。顧客は、使用しているプログラム使用権が許諾さ
れているものかどうか、ソフトウエア販売業者によって
認められた各ソフトエウエア資産毎のユーザ数の制限、
現在のユーザの数および認められている総ユーザ数、各
ユーザのロケーションまたは機械の識別番号、ソフトウ
ェア資産の使用された回数、利用の総時間、および、場
合によっては、該ソフトウエア資産使用許諾契約による
残存使用許諾時間などを知る必要がある。
【0003】これらの管理上の照会項目のすべてについ
て共通する要点は、ネットワークのあらゆる場所におけ
るユーザによる適用業務プログラムの導入および実行の
計画を検知できる仕組みである。これは、会社のような
一事業体の範囲内での資産管理のみならず、ソフトウェ
ア供給業者によって設定された使用許諾条件の範囲内に
顧客の使用を限定するため、特に、資産の誤使用に関す
る局外者または犯罪者による潜在的不祥事の発生という
観点からの資産保護の責任のためにも必要である。ロー
カル・エリア・ネットワーク(LAN)は、この問題を
大幅に悪化させ、ソフトウェア使用許諾の問題を増大さ
せた。
【0004】ソフトウェア海賊行為は、ソフトウェア産
業界の大きな、しかも増加傾向にある問題である。現在
ネットワークまたはLANによって提供されるアクセス
可能性は、使用権未許諾ユーザまたは海賊行為によるソ
フトウェアの使用を劇的に増加させている。
【0005】ソフトウェア販売業者がユーザに使用権を
許諾し、その許諾条件の範囲内での管理をユーザに要請
することが慣習となっている。
【0006】ソフトウェア販売業者の許諾制限、制約、
使用契約条項等の遵守を管理する各種のツールが使用可
能であるが、それらツールは、典型的なネットワーク環
境では適切に対処していない。
【0007】問題は、ソフトウェア資産に対する新しい
種類の許諾条項の出現によってさらに増幅している。歴
史的に見て最も一般的な許諾取り決めは、「機械単位
の」許諾として知られているもので、このソフトウェア
許諾条件は、一時点で、指定した一つの機械上でのみソ
フトウエアを実行させることができることを要求する。
ネットワーク・システムが成長するにつれ、たとえソフ
トウエア製品が一つの機械上にだけ導入されたとして
も、多くのワークステーションまたはパーソナル・コン
ピュータがネットワークを通してその同じソフトウェア
製品にアクセスすることができるので、上記のようなタ
イプの使用許諾は、その魅力を失っている。一部の使用
許諾条項では、ソフトウエアの未許諾の使用や複製を防
止するため、この共用またはネットワーク経由の使用は
除外されている。
【0008】各種の使用許諾形式が現在使われている。
従来の「使用」許諾を変更しないものもある。そのよう
な形式の許諾は、適用業務プログラムの使用を一時点で
同じ資産を実行する固定ユーザ数に制限する。別の形式
は、「試用後購入」というもので、ユーザがソフトウエ
ア製品を購入する前に所定の回数試用することができ
る。また別の最近増加しつつあるものに、「使用毎の支
払い」形式があり、これは、実際の使用に基づいて賃貸
される方式である。「使用期間」という別の許諾形式で
は、ソフトウェアが一定期間使用許諾され、その期間
後、契約は破棄されるかあるいは更新されなければなら
ないというものである。
【0009】新しい許諾方式が増加するにつれ、それら
許諾方式は、所定の適用業務プログラムの実行の試みを
検知するだけではなく、許諾条件が守られていない場合
その実行を防止する仕組みを必要とする。
【0010】管理用ソフトウェア販売業者は、上記のよ
うなソフトウエア許諾条件遵守問題に対処したソフトウ
ェア管理ツールを提供している。そのような解決策の主
流の形式は、使用許諾適用業務ソフトウェアを個々の機
械上ではなくLANサーバ上に導入することを要求す
る。この場合、LANサーバは、一時点でのユーザ数ま
たはアクセス数を制限する管理プログラムを操作するこ
とができる。そのようなネットワーク型方式は、システ
ムの中の単一地点から資産へのアクセスを制御すること
ができるため、ソフトウェア販売業者にとって人気のあ
るものである。この方式は、LANネットワーク・オペ
レーティング・システムの固有の機能を活用して、ソフ
トウェア適用プログラムのような共用資源に対するアク
セスを制御する。しかし、この解決方法は、許諾条件が
遵守され管理されるためにソフトウェアがLANサーバ
に導入されていなければならないので、究極のものでは
ない。LANサーバに導入される場合その実行速度が非
常に遅いかあるいはユーザのワークステーションに物理
的に存在する必要があるような数多くのソフトウェア製
品においては、上記方式は明らかに不適当である。
【0011】かくして、ソフトウェアがユーザのワーク
ステーションに存在することを認め、しかもなおその実
行を制御するため、ソフトウエアの実行の試みを検出
し、条件によってはその実行を止めるソフトウェア管理
ツールを備える方法が、すべての主要オペレーティング
・システムに関して必要とされる。好ましい解決方法
は、一般的でかつ広く普及するものでなけれまならない
が、あいにく、すべての主要なオペレーティング・シス
テムが、そのような機能を提供してはいない。
【0012】典型的なDOS(Disk Operat
ing System)は、プログラムの実行を検知す
るため指定されたオペレーティング・システム・レベル
で、割り込みを検出し、使用状況が使用許諾パラメータ
の範囲内にない場合その実行を止めるソフトウェア・ツ
ールを開発することができるメカニズムを提供する。管
理プログラムの開発を可能にする特別のインターフェー
スが、オペレーティング・システム中に作成されてい
る。このインターフェースによって、所定のプログラム
が実行のためロードされた時オペレーティング・システ
ムによって通知されるようにオペレーティング・システ
ムにそれら管理プログラム自身を登録することができ
る。しかしながら、IBM OS/2のようなその他の
オペレーティング・システムには、プログラムの実行の
検出または防止のための手段を備えていないものがあ
る。
【0013】
【発明が解決しようとする課題】従来技術において看過
した上述の困難性と制約に関し、本発明は、パーソナル
・コンピュータ、ワークステーションまたはその他同様
の機械のオペレーティング・システムにおいて適用業務
プログラムを実行する試みを検出する方法とシステムの
改良を提供することを目的とする。
【0014】
【課題を解決するための手段】本発明は、特に本明細書
において好ましい実施例として例示されている通り、例
えば、OS/2オペレーティング・システム等では、い
かなる適用業務プログラムも、そのオペレーティング・
システム・プログラムへの特定の呼び出しを含む情報の
制御ヘッダを必ず保持するという事実認識に基づいてい
る。そのような呼び出しの一つは、オペレーティング・
システムによる動作を起動するために必要なカーネル・
コードを含む動的結合ライブラリまたはダイナミック・
リンク・ライブラリ(Dynamic Linked Library のこと
で以下DLLと略称する)ルーチンに対する特定のDO
SCALLである。本発明において、管理のため使用を
検知または監視される適用業務プログラムの各々は、D
OSCALLに対するDLL参照を見い出すためそのヘ
ッダ部分を走査される。DLL参照は、オペレーティン
グ・システムを起動するためのカーネル・コードを参照
する。本発明においてそのような参照の各々は、インタ
ーセプトDLLに置き換えられる。インターセプトDL
Lは、管理論理機能を実行する新たなルーチンを呼び出
し、その論理関数のパラメータが条件内にあるならば、
本来のオペレーティング・システム・カーネルに、動作
制御を戻す。
【0015】
【実施例】上記問題への解決方法は、IBM OS/2
オペレーティング・システム上で動作するように設計さ
れたすべての適用業務ソフトウェア・プログラムは、O
S/2オペレーティング・システム・カーネルを含むD
LL(ダイナミック・リンク・ライブラリ)を最初にロ
ードしなければならないという事実に基づいている。こ
のDLLルーチンで提供されるインターフェースを通し
てのみ、適用業務プログラムは、オペレーティング・シ
ステムの機能のいずれかを実行または起動できる。
【0016】適用業務プログラムの中の実行可能モジュ
ール・コードの各々は、リンカ(連係編集プログラム)
によってプログラム作成時に生成されるファイルの先頭
に記憶された一定の情報を含むヘッダを持つ。プログラ
ムが実行される時、ヘッダ情報は、OS/2プログラム
・ローダによって読み取られる。それは、プログラムの
初期化と実行を開始するために必要とされる数多くの重
要な情報をローダに与える。プログラム・ローダによっ
て必要とされる情報の中には、オペレーティング・シス
テムが適用業務プログラムに制御を渡す前に事前ロード
しなければならないDLLの名前がある。事前ロード・
リストに常に存在する一つの記述項は、"DOSCAL
LS.DLL"と名づけられたOS/2カーネルDLLで
ある。
【0017】DLLがオペレーティング・システムによ
ってロードされる時に必ず、システムは、「初期化ヘッ
ダ・ルーチン」と呼ばれる、各DLLルーチン毎に存在
する特別のコードを最初に実行する。もしもなにかの理
由で初期化ヘッダ・ルーチンがうまく実行できない場
合、その事実の標識がオペレーティング・システムに戻
され、適用業務プログラムのロードまたは実行は行われ
ない。
【0018】本発明の解決方法は、DOSCALLS.
DLL仕様を実行可能ヘッダ部分で検出し、DOSCA
LLS.DLLとは別のDLLへの呼び出しと置き換え
るというものである。上記別のDLLは、DOSCAL
LSの代わりに呼び出されるそれ自身の初期化ルーチン
を持つ。「インターセプトDLL」とも呼ばれるこの新
しい置き換えDLLは、各適用業務プログラム実行可能
モジュールを探索し、DOSCALLS.DLLカーネ
ル呼び出しをインターセプトDLLの識別子と置き換え
るユーティリティ・ルーチンによって自動的に実行され
る。インターセプトDLLの初期化/終了ルーチンは、
必要な管理論理機能を含むように書かれる。
【0019】インターセプトDLLを含む適用業務プロ
グラムを実行させるいかなる試みも、インターセプトD
LLがその呼び出し時に実行の試みがなされていること
に気づくため、自動的に検出される。この実行の試みの
事実は、最初に定めた管理課題の処理に必要な度合いに
応じて、記録され、通算され、記憶されている許諾使用
制限回数や許諾ユーザ識別番号などと比較される。実行
を試みる適用業務プログラムの名称は、インターセプト
DLL初期化ルーチンが使用でき、このルーチンは、プ
ログラムの実行を制御し、記録し、報告し、あるいは実
行を止めるために必要とされる論理の適切なセットを実
行することができる。実行の試みが使用許諾条件の制限
を越えていることが判明し、そのためロードあるいは実
行が行われない場合、DLLロード失敗の標識が発せら
れオペレーティング・システムへ戻される。
【0020】インターセプトDLLの初期化ルーチンの
管理機能が成功裡に完了する場合、適用業務プログラム
は、通常の設定に取りかかり、実行を開始することが許
される。これは、インターセプトDLLが存在しない場
合に通常発生したであろう動作を起動するために本来の
DOSCALLS.DLLカーネルへのエキスポート呼
び出しを含むインターセプトDLL中の初期化ルーチン
によって容易に達成される。インターセプトDLLの終
了部分は、適用業務プログラムの実行の終了を検出し、
重要な因子であるならば、持続時間を計り、または、使
用が当該ワークステーションまたはコンピュータで終了
したことによって現使用許諾制限が減分されるべきであ
ることを報告するように設定できる。
【0021】インターセプトDLLは、DLLがロード
されるかあるいはロード取り消しされた時OS/2によ
って呼び出される入口点(ENTRY)である"DLLI
nitTerm"を用いて作成されなければならない。
本明細書の末部に記載の表1は、この入口点を含むイン
ターセプトDLLの典型的な構成を示す。この新しいD
LLまたはインターセプトDLLの名前は、表2に示さ
れるモジュール定義ファイルに含まれなければならな
い。これは、適用業務プログラムの実行可能ヘッダ情報
内の通常のDOSCALLS.DLLを置き換える名前
である。適用業務プログラム実行の試みをサーチし、モ
ジュールのヘッダ中のDLLエントリ・リストを探り当
て、DOSCALLSを見つけ、そしてそれらを表2の
インターセプトDOSCALLSモジュール名に置き換
えることのできる単純なツールは、図3で示されるよう
に作成できる。
【0022】図1は、OS/2環境で動作する適用業務
プログラムが、その記述ヘッダの中に、DOSCALL
要求を含むDLLの事前ロードのためのDLL参照リス
トをどのように含むかを視覚的に示す図である。図1
は、DOSCALL参照が適用業務プログラムのヘッダ
中に見い出される時、オペレーティング・システムのD
OSCALL DLLカーネルをいかに起動し、当該オ
ペレーティング・システムによる動作の起動に必要な初
期化/終了ルーチンを開始するかを示す。これらDLL
の各々は、適用業務プログラムのロードの間に、オペレ
ーティング・システムによってロードされる。DOSC
ALL DLLは、それがオペレーティング・システム
・カーネルADISを含んでいるため、上記DLL参照
リスト中に存在する。
【0023】図2は、DOSCALLインターセプトD
LLシーケンスを含む本発明の好ましい実施例の動作を
示す図である。
【0024】図3は、適用業務プログラム・ヘッダにお
けるDOSCALLに関する置換を行う初期化プロセス
を示す図である。
【0025】図4は、図2の動作の論理の流れを示す図
で、実行されたステップがオペレーティング・システム
・カーネルへのDOSCALLの試みをインターセプト
して、代わりに適切な管理論理機能を含む初期化/終了
ルーチンを実行するステップを示す図である。
【0026】図5は、本発明を実施することができる典
型的なコンピュータ・システムを示す図である。
【0027】通常のDOSCALLS.DLLのプロセ
スは、図1で示される。図1のボックス1で、通常のO
S/2実行可能環境で実行のため起動されつつある適用
業務プログラムが示される。適用業務プログラムは、事
前ロードされなければならないDLLの参照リストを含
む実行可能ヘッダ(EXE HEADER)を持つ。それ
らの中に、図で示されるように、DOSCALLS.D
LL参照がある。図1のボックス2で示されるように、
このDLLは、初期化/終了ルーチンに必要なカーネル
・コードを含み、オペレーティング・システムのその他
のコンポーネントにリンクする。
【0028】次に図2において、インターセプトDLL
参照"DOSCALLX"の機能が示されている。適用業
務プログラムの実行可能ヘッダ情報は、DLL参照リス
トを修正して当初のDOSCALLS参照仕様を再書き
込みした"DOSCALLX"を持つ。この例で、"DO
SCALLX"は、インターセプトDLLに関し任意に
選択した名前である。次に、システムの動作は、置換初
期化/終了ルーチンと資産管理論理とを含むDOSCA
LLX.DLLへのアクセスに進む。この資産管理論理
には、この適用業務プログラムを実行させるために現在
有効な使用許諾があるかどうか、どのような使用許諾の
制限または回数があるか、ユーザ制限を越えたか否か、
機械識別番号は許諾された識別番号と一致するか、許諾
された使用の回数、使用の全体の経過時間、および使用
期限を使い果たしたか否か等々を判断するに必要な論理
と、当ルーチンで取り扱われる若干の論理管理事項とが
含まれる。
【0029】図2のボックス1に、本来のDOSCAL
LS.DLLを置き換えるDOSCALLXを備え持つ
適用業務プログラムの実行可能ヘッダ情報(EXE H
EADER)が示されている。ボックス3には、このD
LLに対する初期化/終了ルーチンと管理論理とを含む
DOSCALLXと名づけられたインターセプトDLL
が示されている。同図にはまた、適用業務プログラムの
呼出しと実行が定められた制限内であるとインターセプ
トDLLが判断した時のDOSCALLS.DLLカー
ネルへのリンクが示されている。これは、図2のボック
ス3からボックス2へのDOSCALLS.DLLカー
ネルのリンクによって示されている。
【0030】図3には、インターセプトDLL挿入ルー
チンの図式が示されている。動作はブロック4で始ま
り、DOSCALLS.DLLカーネル仕様に関し適用
業務プログラムのヘッダをサーチするブロック5へ進
む。ブロック5でこのサーチが行われ、DOSCALL
S.DLLカーネル呼び出しを見つけると、ブロック6
で、DLLカーネルがインターセプトDLLの識別名で
置き換えられる。置き換えが完了すると、プロセスはブ
ロック7で終了する。
【0031】図3のプロセスによって修正された適用業
務プログラム・ヘッダを持つ適用業務プログラムをユー
ザが起動する場合の全般動作が、図4で示される。動作
は、ブロック8で、適用業務プログラムを起動するため
のユーザによる開始または初期コマンドによって始ま
る。
【0032】ブロック9で、ユーザが名前またはコマン
ドで適用業務プログラムを起動し、それにより、ブロッ
ク10で、オペレーティング・システムが適用業務プロ
グラム・ヘッダをサーチして事前ロードされるべき要求
DLLを検索する。ブロック11で、この要求DLL
が、オペレーティング・システムによってロードされ、
ブロック12で、インターセプトDLLであるDLLが
実行され、図2のボックス3で示されたように、管理機
能論理を備えた初期化ルーチンが実行される。ブロック
12の実行の結果、ブロック13でユーザの適用業務プ
ログラムは実行が許されるか否かが判断される。許され
る場合、図2のボックス3で示された本来のDLLカー
ネルへのパススルー(制御伝達)が発生する(ブロック
15)。そのため、ブロック16で、当初のDOSCA
LLS.DLLカーネル開始/終了ルーチンが実行され
る。ブロック17で、適用業務プログラムの実行が継続
し、適用業務プログラムの終了次第、制御がオペレーテ
ィング・システムへ戻され(ブロック18)、管理機能
論理終了ルーチンが実行され(ブロック19)、プロセ
スが終了する(ブロック20)。
【0033】図4のブロック13に戻って、定められた
使用パラメータに合致していないことを示す管理論理機
能によって、ユーザまたは適用業務プログラムの実行が
許されない場合は、実行が否定されたことを標示し、
「未許諾プログラム」や「許諾制限逸脱」、「許諾回数
を越える使用」等の関連理由を記述したメッセージがユ
ーザに表示される。
【0034】当業者には明らかなように、インターセプ
トDLLの開始/終了ルーチンの実行動作に関し、いか
なる特定の管理論理機能をも容易にプログラムすること
ができる。適切な管理上の判断は、数多くのレジスタを
参照することによって容易に実行できるであろう。その
ようなレジスタには、ユーザ・ワークステーションまた
は端末とのネットワーク上での交信によって定期的に更
新できる使用許諾制限、使用許諾者識別番号リスト、使
用時間又は使用回数等が事前にロードされる。
【0035】図5には、本発明を実施する典型的なコン
ピュータ・システム21が示されている。該システム
は、ローカル・エリア・ネットワーク(LAN)あるい
は国内または国際間にわたる分散複合ノード通信のよう
な通信ネットワークにおける典型的なノードを形成する
ものもある。
【0036】図5において、コンピュータ・システム2
1は、オペレーティング・システムを組み込む中央処理
装置(CPU)22、プロセッサの常駐制御コードのた
めの読取専用メモリ(ROM)、および演算論理機構
(ALU)を含む。操作員と交信するためのCRTのよ
うな表示装置23、プリンタまたはその他の手段が、C
PU22に接続する。マウス、キーボード、ジョイステ
ィック、音声入力装置およびその他のユーザ入力装置2
4がCPUに接続する。CPU22とディスク記憶装置
26または大容量メモリ25等の直接アクセス記憶装置
との間の双方向通信もまたシステムに備えられる。マル
チメディア端末またはパーソナルコンピュータの場合の
ように音声出力装置27が該システムに接続する場合も
あり、また、当該コンピュータ・システム21が多数の
別のコンピュータ・システムと通信ネットワークまたは
LANを介して接続できるように、通信リンク29に接
続した通信ポートを持った周辺入出力制御装置28をシ
ステムに接続することもできる。
【0037】好ましい実施例に関して本発明を上記の通
り図示説明したが、管理機能の様々な必要要件に合うよ
うに多くの管理機能ルーチンを、インターセプトDLL
の初期化/終了ルーチン・コードに組み入れることがで
きることは、当業者に明らかであろう。
【0038】
【表1】DLL初期化ヘッダを実施するCによるソース
・コード見本 int _CRT_init(void); void _CRT_term(void); static PIB pib; static PTIB tib; unsigned long _System _DLL_InitTerm( unsigned long hModule, unsigned long ulFlag ) { switch(ulFlag) { case 0: // 'プログラム開始'を示す { if (_CRT_init() ==-1) // 不成功なら要求された return 0UL; // ロード失敗 // プログラムは実行が試みられている . . . . // 実行するプログラム名を受け取る1つの方法は // DosGetInfoBlocks(&tib,&pib); を使用する // pib->pib_pchcmd はプログラムを開始するために // 使用されるコマンド行を保持する if ( PermissionToRun() ) // 必要な検査を実行する return(1UL); // OK - ロード成功 return(0UL); // ロード失敗 break; } case 1: // 'プログラム停止'を示す { _CRT_term(); // 終了ロジックの実行 return 1UL; // OK } } return 0ul; }
【0039】
【表2】インターセプトDLLのためのモジュール定義
ファイル見本 以下はDOSCALLX.DLLという名のインターセ
プトDLLを作成するために使用できるモジュール定義
ファイルのサンプルである。DLL DOSCALLX
におけるエキスポート(Export)は、DOSCALLSに
おけるエキスポートへの制御伝達(パススルー)そのも
のである点注意されたい。 ----------------------------------------------------------------- LIBRARY DOSCALLX INITINSTANCE TERMINSTANCE PROTMODE DATA NONSHARED MULTIPLE LOADONCALL CODE SHARED LOADONCALL IMPORTS aOOOOOOl = DOSCALLS.1 aOOOOOO2 = DOSCALLS.2 aOOOOOO3 = DOSCALLS.3 . . . . . . aOOOO500 = DOSCALLS.500 EXPORTS aOOOOOOl @l aOOOOOO2 @2 aOOOOOO3 @3 . . . . aOOOO500 @500 _CRT_init まとめとして、本発明の構成に関して以下の事項を開示
する。 (1)プロセッサと、プログラム・メモリと、プログラ
ムを実行するためのオペレーティング・システムとを備
え持つコンピュータ・システムにおいて、適用業務プロ
グラムの実行の試みを上記プロセッサによって検出する
ことによって適用業務プログラムの利用を管理する方法
であって、ダイナミック・リンク・ライブラリ(DL
L)参照を保持する適用業務プログラムのヘッダ部分を
読み取るステップと、上記適用業務プログラムの上記ヘ
ッダ部分において識別されるDLLルーチンを上記プロ
グラム・メモリにロードするステップと、上記DLLル
ーチンに含まれるプログラム論理を実行するステップ
と、少くとも1つの上記DLLルーチンの実行が上記適
用業務プログラムの実行を許可する管理条件論理を満た
すと判断する場合にのみ、上記適用業務プログラムを実
行させるためのオペレーティング・システムのカーネル
を含むDLLをプログラム・メモリにロードするステッ
プと、を含む適用業務プログラムの利用を管理する方
法。 (2)上記適用業務プログラムの使用の試みのレコード
として、上記管理条件を含む少くとも1つの上記DLL
の実行を上記メモリに記録するステップを更に含む上記
(1)に記載の適用業務プログラムの利用を管理する方
法。 (3)上記適用業務プログラムの識別子のレコードを上
記メモリに記録するステップを更に含む上記(2)に記
載の適用業務プログラムの利用を管理する方法。 (4)上記適用業務プログラムの実行開始時間のレコー
ドを上記メモリに記録するステップを更に含む上記
(3)に記載の適用業務プログラムの利用を管理する方
法。 (5)上記適用業務プログラムの実行の終了時点で、上
記オペレーティング・システムから、上記管理条件論理
を含む少くとも1つのDLLへ動作制御を渡すステップ
を更に含む上記(1)、(2)、(3)または(4)に
記載の適用業務プログラムの利用を管理する方法。 (6)上記適用業務プログラムの実行終了時間のレコー
ドを上記メモリに記録するステップを更に含む上記
(5)に記載の適用業務プログラムの利用を管理する方
法。 (7)上記適用業務プログラムのヘッダ部分をサーチし
て上記オペレーティング・システムのカーネルDLLへ
の参照を見い出すステップと、上記適用業務プログラム
のヘッダ部分における上記DLL参照を、置き換えDL
Lを識別する置き換えDLLに置き換えるステップであ
って、当該置き換えDLLが、管理条件が満たされる場
合にのみ上記置き換えDLLから上記適用業務プログラ
ム実行オペレーティング・システムのカーネルDLLへ
実行制御を渡すための条件つきポインタを持つ管理条件
論理を含む、置き換えステップと、を更に含む上記
(1)、(2)、(3)、(4)、(5)または(6)
に記載の適用業務プログラムの利用を管理する方法。 (8)上記適用業務プログラム使用の試みの上記レコー
ドを、上記適用業務プログラムの使用が許諾された制限
を表す事前に記憶された数と比較するステップと、上記
使用の試みが上記許諾された制限を越えない場合にの
み、上記オペレーティング・システムのカーネルを含む
上記DLLを上記プログラム・メモリにロードするステ
ップと、を更に含む上記(2)、(3)または(4)に
記載の適用業務プログラムの利用を管理する方法。 (9)プロセッサと、プログラム・メモリと、プログラ
ムを実行するためのオペレーティング・システムと、そ
の使用が管理される少くとも1つの適用業務プログラム
・ソフトウェア資産とを備え持つコンピュータ・システ
ムにおけるコンピュータ・ソフトウェア資産の管理シス
テムであって、上記適用業務プログラム・ソフトウエア
資産のヘッダ部分を読み取って該ヘッダ部分に記載され
ているダイナミック・リンク・ライブラリ(DLL)参
照を見い出す手段と、上記見い出したDLLを上記プロ
グラム・メモリにロードする手段と、上記ロードしたD
LLに含まれるプログラム論理を実行する手段と、少な
くとも1つの上記DLLのプログラム論理の実行に応答
して、オペレーティング・システムのカーネルを含む他
のDLLをプログラム・メモリにロードし、少くとも1
つの上記DLLのプログラム論理の実行によって所定の
管理条件論理が満たされると判断される場合にのみ、上
記適用業務プログラムの実行を許可する手段と、を含む
コンピュータ・ソフトウェア資産の管理システム。
【0040】
【発明の効果】本発明は、各適用業務のヘッダ情報から
オペレーティング・システム・カーネルDLL参照をサ
ーチし、このオペレーティング・システム・カーネルD
LL参照をインターセプト・ルーチンDLL参照に置き
換えることによって、適用業務プログラムの実行呼出し
の試みを検出する。インターセプト・ルーチンは適用業
務プログラム呼出しの試みに応答して起動されるもの
で、適用業務プログラム実行に先行し必要なソフトウェ
ア資産管理機能に関する管理論理を含んでいる。これら
の構成により、分散環境ないしネットワーク環境下で
も、ソフトウエア資源の適正な使用・管理がはかられ
る。
【図面の簡単な説明】
【図1】OS/2環境で動作する適用プログラムがその
記述的なヘッダの中にDOSCALL要求を含むDLL
の事前ロードのためのDLL参照リストをどのように含
むかを視覚的に示す図である。
【図2】DOSCALLインターセプトDLLシーケン
スを含む本発明の好ましい実施例の動作を示す図であ
る。
【図3】適用業務プログラム・ヘッダにおけるDOSC
ALLに関する置換を行う初期プロセスを示す図であ
る。
【図4】図2の動作の論理の流れを示す図である。
【図5】本発明を実施することができる典型的なコンピ
ュータ・システムを示す図である。
【符号の説明】
21 コンピュータ・システム 22 CPU 23 表示装置 24 ユーザ入力装置 25 メモリ 26 ディスク記憶装置 27 音声出力装置 28 周辺入出力制御装置 29 通信リンク

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】プロセッサと、プログラム・メモリと、プ
    ログラムを実行するためのオペレーティング・システム
    とを備え持つコンピュータ・システムにおいて、適用業
    務プログラムの実行の試みを上記プロセッサによって検
    出することによって適用業務プログラムの利用を管理す
    る方法であって、 ダイナミック・リンク・ライブラリ(DLL)参照を保
    持する適用業務プログラムのヘッダ部分を読み取るステ
    ップと、 上記適用業務プログラムの上記ヘッダ部分において識別
    されるDLLルーチンを上記プログラム・メモリにロー
    ドするステップと、 上記DLLルーチンに含まれるプログラム論理を実行す
    るステップと、 少くとも1つの上記DLLルーチンの実行が上記適用業
    務プログラムの実行を許可する管理条件論理を満たすと
    判断する場合にのみ、上記適用業務プログラムを実行さ
    せるためのオペレーティング・システムのカーネルを含
    むDLLをプログラム・メモリにロードするステップ
    と、 を含む適用業務プログラムの利用を管理する方法。
  2. 【請求項2】上記適用業務プログラムの使用の試みのレ
    コードとして、上記管理条件を含む少くとも1つの上記
    DLLの実行を上記メモリに記録するステップを更に含
    む請求項1記載の適用業務プログラムの利用を管理する
    方法。
  3. 【請求項3】上記適用業務プログラムの識別子のレコー
    ドを上記メモリに記録するステップを更に含む請求項2
    記載の適用業務プログラムの利用を管理する方法。
  4. 【請求項4】上記適用業務プログラムの実行開始時間の
    レコードを上記メモリに記録するステップを更に含む請
    求項3記載の適用業務プログラムの利用を管理する方
    法。
  5. 【請求項5】上記適用業務プログラムの実行の終了時点
    で、上記オペレーティング・システムから、上記管理条
    件論理を含む少くとも1つのDLLへ動作制御を渡すス
    テップを更に含む請求項1、2、3または4記載の適用
    業務プログラムの利用を管理する方法。
  6. 【請求項6】上記適用業務プログラムの実行終了時間の
    レコードを上記メモリに記録するステップを更に含む請
    求項5記載の適用業務プログラムの利用を管理する方
    法。
  7. 【請求項7】上記適用業務プログラムのヘッダ部分をサ
    ーチして上記オペレーティング・システムのカーネルD
    LLへの参照を見い出すステップと、 上記適用業務プログラムのヘッダ部分における上記DL
    L参照を、置き換えDLLを識別する置き換えDLLに
    置き換えるステップであって、当該置き換えDLLが、
    管理条件が満たされる場合にのみ上記置き換えDLLか
    ら上記適用業務プログラム実行オペレーティング・シス
    テムのカーネルDLLへ実行制御を渡すための条件つき
    ポインタを持つ管理条件論理を含む、置き換えステップ
    と、 を更に含む請求項1、2、3、4、5または6記載の適
    用業務プログラムの利用を管理する方法。
  8. 【請求項8】上記適用業務プログラム使用の試みの上記
    レコードを、上記適用業務プログラムの使用が許諾され
    た制限を表す事前に記憶された数と比較するステップ
    と、 上記使用の試みが上記許諾された制限を越えない場合に
    のみ、上記オペレーティング・システムのカーネルを含
    む上記DLLを上記プログラム・メモリにロードするス
    テップと、 を更に含む請求項2、3または4記載の適用業務プログ
    ラムの利用を管理する方法。
  9. 【請求項9】プロセッサと、プログラム・メモリと、プ
    ログラムを実行するためのオペレーティング・システム
    と、その使用が管理される少くとも1つの適用業務プロ
    グラム・ソフトウェア資産とを備え持つコンピュータ・
    システムにおけるコンピュータ・ソフトウェア資産の管
    理システムであって、 上記適用業務プログラム・ソフトウエア資産のヘッダ部
    分を読み取って該ヘッダ部分に記載されているダイナミ
    ック・リンク・ライブラリ(DLL)参照を見い出す手
    段と、 上記見い出したDLLを上記プログラム・メモリにロー
    ドする手段と、 上記ロードしたDLLに含まれるプログラム論理を実行
    する手段と、 少なくとも1つの上記DLLのプログラム論理の実行に
    応答して、オペレーティング・システムのカーネルを含
    む他のDLLをプログラム・メモリにロードし、少くと
    も1つの上記DLLのプログラム論理の実行によって所
    定の管理条件論理が満たされると判断される場合にの
    み、上記適用業務プログラムの実行を許可する手段と、 を含むコンピュータ・ソフトウェア資産の管理システ
    ム。
JP6289422A 1994-02-15 1994-11-24 適用業務プログラムの利用管理方法およびシステム Pending JPH07230380A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US19691394A 1994-02-15 1994-02-15
US196913 1998-11-20

Publications (1)

Publication Number Publication Date
JPH07230380A true JPH07230380A (ja) 1995-08-29

Family

ID=22727260

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6289422A Pending JPH07230380A (ja) 1994-02-15 1994-11-24 適用業務プログラムの利用管理方法およびシステム

Country Status (3)

Country Link
US (1) US5673315A (ja)
EP (1) EP0667572A1 (ja)
JP (1) JPH07230380A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001514411A (ja) * 1997-08-28 2001-09-11 マイクロソフト コーポレイション 信頼できない実行可能コードに関するセキュリティ向上
JP2008507767A (ja) * 2004-07-20 2008-03-13 ソフトリシティ インコーポレイテッド コンピュータアプリケーションにおけるデータ損失を最小限にする方法およびシステム
JP2016525753A (ja) * 2013-08-02 2016-08-25 博世尼克資訊股▲ふん▼有限公司 プログラムをダウンロードする方法

Families Citing this family (104)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5819091A (en) * 1994-12-22 1998-10-06 Arendt; James Wendell User level control of degree of client-side processing
US6173337B1 (en) * 1996-03-08 2001-01-09 Apple Computer, Inc. Method and apparatus for relaying events intended for a first application program to a second application program
US6526456B1 (en) * 1996-07-01 2003-02-25 David Ian Allan Distribution and controlled use of software products
US7917643B2 (en) 1996-09-12 2011-03-29 Audible, Inc. Digital information library and delivery system
US5926624A (en) 1996-09-12 1999-07-20 Audible, Inc. Digital information library and delivery system with logic for generating files targeted to the playback device
US5754763A (en) * 1996-10-01 1998-05-19 International Business Machines Corporation Software auditing mechanism for a distributed computer enterprise environment
US6769126B1 (en) * 1996-12-10 2004-07-27 International Business Machines Corporation Apparatus and method for demand load analysis
US6141698A (en) * 1997-01-29 2000-10-31 Network Commerce Inc. Method and system for injecting new code into existing application code
US6073124A (en) * 1997-01-29 2000-06-06 Shopnow.Com Inc. Method and system for securely incorporating electronic information into an online purchasing application
CA2281926A1 (en) * 1997-02-24 1998-08-27 Wildfire Communications, Inc. Method and apparatus for offering additional product functions to a user
US6272636B1 (en) 1997-04-11 2001-08-07 Preview Systems, Inc Digital product execution control and security
US6073256A (en) * 1997-04-11 2000-06-06 Preview Systems, Inc. Digital product execution control
US6021438A (en) * 1997-06-18 2000-02-01 Wyatt River Software, Inc. License management system using daemons and aliasing
US6188995B1 (en) 1997-07-28 2001-02-13 Apple Computer, Inc. Method and apparatus for enforcing software licenses
JPH11110194A (ja) * 1997-10-06 1999-04-23 Toshiba Corp 外部ライブラリ関数との結合方法ならびに同方法がプログラムされ記録される記録媒体
US7024681B1 (en) * 1997-12-04 2006-04-04 Verizon Laboratories Inc. Method and apparatus for near video on demand
US6334213B1 (en) 1998-01-20 2001-12-25 Preview Systems Merging of separate executable computer programs to form a single executable computer program
US6658486B2 (en) * 1998-02-25 2003-12-02 Hewlett-Packard Development Company, L.P. System and method for efficiently blocking event signals associated with an operating system
US20010044901A1 (en) 1998-03-24 2001-11-22 Symantec Corporation Bubble-protected system for automatic decryption of file data on a per-use basis and automatic re-encryption
US6141699A (en) * 1998-05-11 2000-10-31 International Business Machines Corporation Interactive display system for sequential retrieval and display of a plurality of interrelated data sets
US6253237B1 (en) * 1998-05-20 2001-06-26 Audible, Inc. Personalized time-shifted programming
US6243692B1 (en) * 1998-05-22 2001-06-05 Preview Software Secure electronic software packaging using setup-external unlocking module
US6049789A (en) * 1998-06-24 2000-04-11 Mentor Graphics Corporation Software pay per use licensing system
GB2340266B (en) 1998-07-31 2003-03-12 Sony Uk Ltd Data processing
US6237143B1 (en) * 1998-09-17 2001-05-22 Unisys Corp. Method and system for monitoring and capturing all file usage of a software tool
US7617124B1 (en) 1998-12-04 2009-11-10 Digital River, Inc. Apparatus and method for secure downloading of files
US7058597B1 (en) 1998-12-04 2006-06-06 Digital River, Inc. Apparatus and method for adaptive fraud screening for electronic commerce transactions
US20030195974A1 (en) 1998-12-04 2003-10-16 Ronning Joel A. Apparatus and method for scheduling of search for updates or downloads of a file
US8175977B2 (en) 1998-12-28 2012-05-08 Audible License management for digital content
US6550060B1 (en) * 1999-04-08 2003-04-15 Novadigm, Inc. Method and system for dynamic injection of dynamic link libraries into a windowed operating system
US6463583B1 (en) * 1999-04-08 2002-10-08 Novadigm, Inc. Dynamic injection of execution logic into main dynamic link library function of the original kernel of a windowed operating system
US6442752B1 (en) * 1999-08-26 2002-08-27 Unisys Corporation Method, apparatus, and computer program product for replacing a dynamic link library (dll) of a first computing environment with a dll of a second computing environment that can be invoked from the first computing environment in a transparent manner
US6678824B1 (en) * 1999-11-02 2004-01-13 Agere Systems Inc. Application usage time limiter
US7181454B1 (en) 1999-12-29 2007-02-20 International Business Machines Corporation Asset locator
US6901386B1 (en) * 2000-03-31 2005-05-31 Intel Corporation Electronic asset lending library method and apparatus
US6874139B2 (en) * 2000-05-15 2005-03-29 Interfuse Technology Corporation Method and system for seamless integration of preprocessing and postprocessing functions with an existing application program
US7278023B1 (en) * 2000-06-09 2007-10-02 Northrop Grumman Corporation System and method for distributed network acess and control enabling high availability, security and survivability
JP4774582B2 (ja) * 2000-06-30 2011-09-14 ソニー株式会社 コンテンツ管理装置、コンテンツ管理方法及びプログラム格納媒体
JP2002175387A (ja) * 2000-09-01 2002-06-21 Sony Computer Entertainment Inc コンテンツの利用状況監視方法およびシステム、コンピュータプログラム、記録媒体
WO2002023336A1 (en) * 2000-09-14 2002-03-21 Bea Systems, Inc. Xml-based graphical user interface application development toolkit
WO2002025415A2 (en) * 2000-09-22 2002-03-28 Edc Systems, Inc. Systems and methods for preventing unauthorized use of digital content
US7237123B2 (en) 2000-09-22 2007-06-26 Ecd Systems, Inc. Systems and methods for preventing unauthorized use of digital content
GB0024919D0 (en) * 2000-10-11 2000-11-22 Sealedmedia Ltd Method of further securing an operating system
US7197466B1 (en) * 2000-11-02 2007-03-27 General Electric Capital Corporation Web-based system for managing software assets
JP2002157186A (ja) * 2000-11-20 2002-05-31 Mitsubishi Electric Corp ソフトウェア管理サーバ、ソフトウェア管理方法、その方法を実現するプログラムを記録した記録媒体、およびソフトウェアの実行を制御する方法を実現するプログラムを記録した記録媒体
US20020091872A1 (en) * 2000-11-29 2002-07-11 Bourke-Dunphy Erin M. Virtualization of an integrated system across one or more computers
US20030046395A1 (en) * 2000-12-12 2003-03-06 Robert Fleming System and method for bounding the life of an event subscription to the availability of an object
EP1378092B1 (en) * 2001-02-22 2008-06-25 Bea Systems, Inc. System and method for message encryption and signing in a transaction processingsystem
US20030065670A1 (en) * 2001-04-25 2003-04-03 Michel Bisson Personalization server unified user profile
CA2446584A1 (en) 2001-05-09 2002-11-14 Ecd Systems, Inc. Systems and methods for the prevention of unauthorized use and manipulation of digital content
US7185105B2 (en) * 2001-05-11 2007-02-27 Bea Systems, Inc. Application messaging system with flexible message header structure
US7359882B2 (en) * 2001-05-11 2008-04-15 Bea Systems, Inc. Distributed run-time licensing
US7979914B2 (en) 2001-06-25 2011-07-12 Audible, Inc. Time-based digital content authorization
US7421411B2 (en) 2001-07-06 2008-09-02 Nokia Corporation Digital rights management in a mobile communications environment
US7322024B2 (en) 2002-03-18 2008-01-22 Logiclibrary, Inc. Generating reusable software assets from distributed artifacts
US7149734B2 (en) 2001-07-06 2006-12-12 Logic Library, Inc. Managing reusable software assets
US7120429B2 (en) * 2001-08-13 2006-10-10 Qualcomm Inc. System and method for licensing applications on wireless devices over a wireless network
JP3963385B2 (ja) * 2001-10-30 2007-08-22 インターナショナル・ビジネス・マシーンズ・コーポレーション ディジタル・エンコードされた製品の使用を制御する方法およびシステム
JP2003202929A (ja) * 2002-01-08 2003-07-18 Ntt Docomo Inc 配信方法および配信システム
US7316616B2 (en) * 2002-01-16 2008-01-08 Igt Gaming system license management
US8412813B2 (en) 2002-03-18 2013-04-02 Logiclibrary, Inc. Customizable asset governance for a distributed reusable software library
ATE263391T1 (de) * 2002-03-26 2004-04-15 Soteres Gmbh Verfahren zum schutz der integrität von programmen
JP4078313B2 (ja) * 2002-04-03 2008-04-23 株式会社エヌ・ティ・ティ・ドコモ 配信方法及び端末装置
US7885896B2 (en) 2002-07-09 2011-02-08 Avaya Inc. Method for authorizing a substitute software license server
US8041642B2 (en) 2002-07-10 2011-10-18 Avaya Inc. Predictive software license balancing
US7698225B2 (en) 2002-08-30 2010-04-13 Avaya Inc. License modes in call processing
US7966520B2 (en) 2002-08-30 2011-06-21 Avaya Inc. Software licensing for spare processors
US7681245B2 (en) 2002-08-30 2010-03-16 Avaya Inc. Remote feature activator feature extraction
US7707116B2 (en) 2002-08-30 2010-04-27 Avaya Inc. Flexible license file feature controls
US7890997B2 (en) 2002-12-26 2011-02-15 Avaya Inc. Remote feature activation authentication file system
JP4176533B2 (ja) * 2003-03-31 2008-11-05 株式会社エヌ・ティ・ティ・ドコモ 端末装置及びプログラム
EA015549B1 (ru) 2003-06-05 2011-08-30 Интертраст Текнолоджис Корпорейшн Переносимая система и способ для приложений одноранговой компоновки услуг
US7472286B2 (en) * 2003-08-29 2008-12-30 Microsoft Corporation Selectively authorizing software functionality after installation of the software
US7500108B2 (en) * 2004-03-01 2009-03-03 Microsoft Corporation Metered execution of code
US7882496B2 (en) * 2004-06-01 2011-02-01 International Business Machines Corporation Method and system for metering execution of interpreted programs
WO2005124606A1 (en) * 2004-06-22 2005-12-29 Ebooks Corporation Limited Lending system and method
US7707405B1 (en) 2004-09-21 2010-04-27 Avaya Inc. Secure installation activation
JP4411173B2 (ja) * 2004-09-30 2010-02-10 富士通株式会社 コンピュータシステムの管理方法およびコンピュータ管理システムおよびコンピュータ管理プログラム
US8229858B1 (en) 2004-09-30 2012-07-24 Avaya Inc. Generation of enterprise-wide licenses in a customer environment
US7747851B1 (en) 2004-09-30 2010-06-29 Avaya Inc. Certificate distribution via license files
DE102004049706A1 (de) * 2004-10-12 2006-04-20 Siemens Ag Verfahren und Vorrichtung für eingebettete Systeme, insbesondere rekonfigurierbare Mobilfunkendgeräte, mit ladbaren Softwaremodulen
US7814471B2 (en) * 2004-12-16 2010-10-12 Microsoft Corporation Method and apparatus for providing DLL compatibility
EP1720095B1 (de) * 2005-05-06 2017-08-02 SFNT Germany GmbH Verfahren zum Schützen eines ausführbaren ersten Moduls
EP1720096B1 (de) * 2005-05-06 2017-07-12 SFNT Germany GmbH Verfahren zum Hinzufügen einer Funktionalität zu einem ausführbaren ersten Modul eines Programmpakets
JP4440825B2 (ja) * 2005-05-17 2010-03-24 株式会社バンダイナムコゲームス ゲームプログラム記録媒体
WO2006127377A1 (en) * 2005-05-20 2006-11-30 Logiclibrary, Inc. Customizable asset governance for a distributed reusable software library
US7814023B1 (en) * 2005-09-08 2010-10-12 Avaya Inc. Secure download manager
CN102073819B (zh) 2005-10-18 2013-05-29 英特托拉斯技术公司 数字权利管理的方法
US9626667B2 (en) * 2005-10-18 2017-04-18 Intertrust Technologies Corporation Digital rights management engine systems and methods
US10019570B2 (en) 2007-06-14 2018-07-10 Microsoft Technology Licensing, Llc Protection and communication abstractions for web browsers
CN101339511B (zh) * 2007-07-02 2011-06-15 国际商业机器公司 用于监控和自适应地预载入关键动态连接库的方法和***
EP2260430A2 (en) * 2008-02-22 2010-12-15 Uniloc Usa, Inc. License auditing for distributed applications
US8117625B2 (en) * 2008-03-19 2012-02-14 Microsoft Corporation Module interrogation
US20100094861A1 (en) * 2008-10-01 2010-04-15 Henrique Andrade System and method for application session tracking
EP2697929A4 (en) 2011-04-11 2014-09-24 Intertrust Tech Corp INFORMATION SECURITY SYSTEMS AND METHODS
JP5863689B2 (ja) * 2013-02-28 2016-02-17 京セラドキュメントソリューションズ株式会社 不正使用防止機能付き共有ライブラリ
US9591003B2 (en) * 2013-08-28 2017-03-07 Amazon Technologies, Inc. Dynamic application security verification
US10169251B1 (en) * 2015-12-10 2019-01-01 Massachusetts Institute Of Technology Limted execution of software on a processor
US10509650B1 (en) 2018-06-28 2019-12-17 International Business Machines Corporation Self-learning automated techniques for detecting the usage of software packages
US11016762B2 (en) 2019-06-06 2021-05-25 International Business Machines Corporation Determining caller of a module in real-time
US11036619B2 (en) 2019-06-06 2021-06-15 International Business Machines Corporation Bypassing execution of a module in real-time
US11074069B2 (en) 2019-06-06 2021-07-27 International Business Machines Corporation Replaying interactions with transactional and database environments with re-arrangement
US10929126B2 (en) 2019-06-06 2021-02-23 International Business Machines Corporation Intercepting and replaying interactions with transactional and database environments
US10915426B2 (en) * 2019-06-06 2021-02-09 International Business Machines Corporation Intercepting and recording calls to a module in real-time

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01166218A (ja) * 1987-12-23 1989-06-30 Hitachi Ltd 有償ソフトウェア保守管理方式
JPH01239613A (ja) * 1988-03-22 1989-09-25 Nec Corp 有償プログラム課金方式
JPH03240130A (ja) * 1990-02-16 1991-10-25 Nec Corp 有償プログラムのチェック方式

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4590557A (en) * 1983-09-12 1986-05-20 Pitney Bowes Inc. Method and apparatus for controlling software configurations in data processing systems
US4584639A (en) * 1983-12-23 1986-04-22 Key Logic, Inc. Computer security system
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
US4937863A (en) * 1988-03-07 1990-06-26 Digital Equipment Corporation Software licensing management system
US4924378A (en) * 1988-06-13 1990-05-08 Prime Computer, Inc. License mangagement system and license storage key
US5023907A (en) * 1988-09-30 1991-06-11 Apollo Computer, Inc. Network license server
US4941175A (en) * 1989-02-24 1990-07-10 International Business Machines Corporation Tamper-resistant method for authorizing access to data between a host and a predetermined number of attached workstations
US5138712A (en) * 1989-10-02 1992-08-11 Sun Microsystems, Inc. Apparatus and method for licensing software on a network of computers
US5222134A (en) * 1990-11-07 1993-06-22 Tau Systems Corporation Secure system for activating personal computer software at remote locations
JP3270102B2 (ja) * 1991-03-11 2002-04-02 ヒューレット・パッカード・カンパニー ライセンス付与方法及びシステム
US5204897A (en) * 1991-06-28 1993-04-20 Digital Equipment Corporation Management interface for license management system
JPH0695312B2 (ja) * 1991-11-21 1994-11-24 インターナショナル・ビジネス・マシーンズ・コーポレイション コンピュータプログラムを処理する方法およびシステム
US5319705A (en) * 1992-10-21 1994-06-07 International Business Machines Corporation Method and system for multimedia access control enablement

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01166218A (ja) * 1987-12-23 1989-06-30 Hitachi Ltd 有償ソフトウェア保守管理方式
JPH01239613A (ja) * 1988-03-22 1989-09-25 Nec Corp 有償プログラム課金方式
JPH03240130A (ja) * 1990-02-16 1991-10-25 Nec Corp 有償プログラムのチェック方式

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001514411A (ja) * 1997-08-28 2001-09-11 マイクロソフト コーポレイション 信頼できない実行可能コードに関するセキュリティ向上
JP2008507767A (ja) * 2004-07-20 2008-03-13 ソフトリシティ インコーポレイテッド コンピュータアプリケーションにおけるデータ損失を最小限にする方法およびシステム
JP2016525753A (ja) * 2013-08-02 2016-08-25 博世尼克資訊股▲ふん▼有限公司 プログラムをダウンロードする方法

Also Published As

Publication number Publication date
EP0667572A1 (en) 1995-08-16
US5673315A (en) 1997-09-30

Similar Documents

Publication Publication Date Title
JPH07230380A (ja) 適用業務プログラムの利用管理方法およびシステム
CA2199520C (en) Method of operating a computer system
US7243348B2 (en) Computing apparatus with automatic integrity reference generation and maintenance
KR100396101B1 (ko) 라이센싱된 애플리케이션 인스톨 방법, 프로그램 저장장치 및 프로그램 제품
US7069554B1 (en) Component installer permitting interaction among isolated components in accordance with defined rules
US6056786A (en) Technique for monitoring for license compliance for client-server software
US9195823B1 (en) System and method for intercepting process creation events
JP4510945B2 (ja) カスタムソフトウェア画像をコンピュータシステムへ供給する方法およびシステム
US20070113291A1 (en) Method for administrating the function access
US7908640B2 (en) Data handling apparatus and methods
US20070289019A1 (en) Methodology, system and computer readable medium for detecting and managing malware threats
US20040044906A1 (en) Secure execution of program code
US20030005168A1 (en) System and method for auditing system call events with system call wrappers
CN103530563A (zh) 用于更新经授权软件的***和方法
US8103591B2 (en) Flexible management process for multiple activities executed on partitionable platforms of a multiple processor system
US6711686B1 (en) Security management tool for managing security attributes in computer systems
US6427236B1 (en) Method for installing a patch based on patch criticality and software execution format
US20040194104A1 (en) Computer operating system data management
US8447975B2 (en) Workstation application server programming protection via classloader policy based visibility control
JP5131563B2 (ja) コンピュータ、動作ルール適用方法、オペレーティングシステム
CN101548284A (zh) 软件许可证中的条件策略
US5878210A (en) Personal computer having a security function, a method of implementing the security function, and methods of installing and detaching a security device to/from a computer
US20060282840A1 (en) Dynamic mapping of shared libraries
US20070038572A1 (en) Method, system and computer program for metering software usage
US7703135B2 (en) Accessing protected resources via multi-identity security environments