[go: up one dir, main page]

JPH07230380A - Method and system for controlling utilization of application program - Google Patents

Method and system for controlling utilization of application program

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
Japanese (ja)
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/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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)
  • Debugging And Monitoring (AREA)
  • Storage Device Security (AREA)
  • Stored Programmes (AREA)

Abstract

PURPOSE: To detect only the trial of the execution call of an applied job program by loading operating system kernel DLL executing the applied job program on a program memory when the execution of a DLL routine satisfies management condition logic permitting the execution of the applied program. CONSTITUTION: The applied job programs by which the use of the execution of the DLL routine is detected or monitored scan the header part 1 for detecting DLL reference against DOSCALL. DLL reference starts the operating system or refers to a kernel code 2. Respective references are substituted for interception DLL and the new routine for executing a management logic function is called. When the parameter of the logic function is within the condition, operating system kernel DLL is loaded on the program memory. The trial of the execution call of the applied job program can be detected.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は、一般的には、コンピュ
ータ・システム資源管理システムと方法に関するもの
で、特に、分散環境またはネットワーク環境における適
用業務プログラムのようなソフトウェアの導入および使
用計画を管理する方法に関するものである。
FIELD OF THE INVENTION The present invention relates generally to computer system resource management systems and methods, and more particularly to managing installation and usage plans of software such as application programs in distributed or network environments. It is about how to do it.

【0002】[0002]

【従来の技術】通信ネットワーク上で相互に接続したパ
ーソナル・コンピュータやワークステーションあるいは
中型コンピュータの広範囲にわたる普及は、ソフトウェ
ア資産管理の問題を拡大した。ソフトウェア顧客は、あ
る特定時点における該顧客のネットワーク上で稼動して
いるプログラムを知り、現状報告を行う必要がしばしば
ある。顧客は、使用しているプログラム使用権が許諾さ
れているものかどうか、ソフトウエア販売業者によって
認められた各ソフトエウエア資産毎のユーザ数の制限、
現在のユーザの数および認められている総ユーザ数、各
ユーザのロケーションまたは機械の識別番号、ソフトウ
ェア資産の使用された回数、利用の総時間、および、場
合によっては、該ソフトウエア資産使用許諾契約による
残存使用許諾時間などを知る必要がある。
The widespread proliferation of interconnected personal computers, workstations or mid-sized computers over communications networks has magnified the problem of software asset management. Software customers often need to know what programs are running on their network at a particular point in time and make a status report. The customer has a right to use the program, whether the license is granted, the number of users for each software asset recognized by the software vendor,
The number of current users and the total number of authorized users, the identification number of each user's location or machine, the number of times the software asset has been used, the total time of use, and, as the case may be, the software asset license agreement. It is necessary to know the remaining license time etc.

【0003】これらの管理上の照会項目のすべてについ
て共通する要点は、ネットワークのあらゆる場所におけ
るユーザによる適用業務プログラムの導入および実行の
計画を検知できる仕組みである。これは、会社のような
一事業体の範囲内での資産管理のみならず、ソフトウェ
ア供給業者によって設定された使用許諾条件の範囲内に
顧客の使用を限定するため、特に、資産の誤使用に関す
る局外者または犯罪者による潜在的不祥事の発生という
観点からの資産保護の責任のためにも必要である。ロー
カル・エリア・ネットワーク(LAN)は、この問題を
大幅に悪化させ、ソフトウェア使用許諾の問題を増大さ
せた。
A common point of all of these management inquiries is a mechanism that can detect a plan of introduction and execution of an application program by a user at any place on the network. This is particularly relevant for misuse of assets, as it limits the use of the customer within the scope of the license terms set by the software supplier, as well as asset management within an entity such as a company. It is also necessary for the responsibility of protecting assets in terms of potential scandals caused by outsiders or criminals. Local Area Networks (LANs) have exacerbated this problem significantly and increased the problem of software licensing.

【0004】ソフトウェア海賊行為は、ソフトウェア産
業界の大きな、しかも増加傾向にある問題である。現在
ネットワークまたはLANによって提供されるアクセス
可能性は、使用権未許諾ユーザまたは海賊行為によるソ
フトウェアの使用を劇的に増加させている。
Software piracy is a large and growing problem in the software industry. The accessibility currently provided by networks or LANs has dramatically increased the use of software by unlicensed users or piracy.

【0005】ソフトウェア販売業者がユーザに使用権を
許諾し、その許諾条件の範囲内での管理をユーザに要請
することが慣習となっている。
It is customary that a software distributor grants a right of use to a user and requests the user to perform management within the range of the license conditions.

【0006】ソフトウェア販売業者の許諾制限、制約、
使用契約条項等の遵守を管理する各種のツールが使用可
能であるが、それらツールは、典型的なネットワーク環
境では適切に対処していない。
[0006] Software distributor permission restrictions, restrictions,
Various tools are available for managing compliance with terms of use agreements, but they do not adequately address typical network environments.

【0007】問題は、ソフトウェア資産に対する新しい
種類の許諾条項の出現によってさらに増幅している。歴
史的に見て最も一般的な許諾取り決めは、「機械単位
の」許諾として知られているもので、このソフトウェア
許諾条件は、一時点で、指定した一つの機械上でのみソ
フトウエアを実行させることができることを要求する。
ネットワーク・システムが成長するにつれ、たとえソフ
トウエア製品が一つの機械上にだけ導入されたとして
も、多くのワークステーションまたはパーソナル・コン
ピュータがネットワークを通してその同じソフトウェア
製品にアクセスすることができるので、上記のようなタ
イプの使用許諾は、その魅力を失っている。一部の使用
許諾条項では、ソフトウエアの未許諾の使用や複製を防
止するため、この共用またはネットワーク経由の使用は
除外されている。
The problem is further exacerbated by the advent of new types of license terms for software assets. The most common licensing arrangement historically known is what is known as "machine-level" licensing, and this software license term allows the software to run on only one designated machine at a time. Demand that you can.
As the network system grows, many workstations or personal computers can access the same software product over the network, even if the software product is installed on only one machine. These types of licenses have lost their appeal. Some license terms exclude this shared or networked use to prevent unauthorized use or copying of the software.

【0008】各種の使用許諾形式が現在使われている。
従来の「使用」許諾を変更しないものもある。そのよう
な形式の許諾は、適用業務プログラムの使用を一時点で
同じ資産を実行する固定ユーザ数に制限する。別の形式
は、「試用後購入」というもので、ユーザがソフトウエ
ア製品を購入する前に所定の回数試用することができ
る。また別の最近増加しつつあるものに、「使用毎の支
払い」形式があり、これは、実際の使用に基づいて賃貸
される方式である。「使用期間」という別の許諾形式で
は、ソフトウェアが一定期間使用許諾され、その期間
後、契約は破棄されるかあるいは更新されなければなら
ないというものである。
Various license formats are currently in use.
Some do not change the traditional "use" permissions. Such a form of license limits the use of the application program to a fixed number of users executing the same asset at any one time. Another form is "purchase after trial", which allows a user to try a predetermined number of times before purchasing a software product. Another recent increase is the “pay-per-use” form, which is a method of renting based on actual use. Another form of license called "Term of Use" is that the software is licensed for a period of time, after which the contract must be terminated or renewed.

【0009】新しい許諾方式が増加するにつれ、それら
許諾方式は、所定の適用業務プログラムの実行の試みを
検知するだけではなく、許諾条件が守られていない場合
その実行を防止する仕組みを必要とする。
As the number of new licensing schemes increases, those licensing schemes not only need to detect an attempt to execute a given application program, but also need a mechanism to prevent the execution if the licensing conditions are not observed. .

【0010】管理用ソフトウェア販売業者は、上記のよ
うなソフトウエア許諾条件遵守問題に対処したソフトウ
ェア管理ツールを提供している。そのような解決策の主
流の形式は、使用許諾適用業務ソフトウェアを個々の機
械上ではなくLANサーバ上に導入することを要求す
る。この場合、LANサーバは、一時点でのユーザ数ま
たはアクセス数を制限する管理プログラムを操作するこ
とができる。そのようなネットワーク型方式は、システ
ムの中の単一地点から資産へのアクセスを制御すること
ができるため、ソフトウェア販売業者にとって人気のあ
るものである。この方式は、LANネットワーク・オペ
レーティング・システムの固有の機能を活用して、ソフ
トウェア適用プログラムのような共用資源に対するアク
セスを制御する。しかし、この解決方法は、許諾条件が
遵守され管理されるためにソフトウェアがLANサーバ
に導入されていなければならないので、究極のものでは
ない。LANサーバに導入される場合その実行速度が非
常に遅いかあるいはユーザのワークステーションに物理
的に存在する必要があるような数多くのソフトウェア製
品においては、上記方式は明らかに不適当である。
The management software vendors provide software management tools that address the above-mentioned software license condition compliance problem. The mainstream form of such a solution requires that the license application software be installed on a LAN server rather than on individual machines. In this case, the LAN server can operate a management program that limits the number of users or the number of accesses at one point. Such network-based schemes are popular with software vendors because they can control access to assets from a single point in the system. This scheme takes advantage of the unique features of the LAN network operating system to control access to shared resources such as software application programs. However, this solution is not the ultimate because the software must be installed on the LAN server in order for the licensing conditions to be complied with and managed. The above approach is clearly unsuitable for many software products that either run very slowly when installed on a LAN server or need to physically reside on the user's workstation.

【0011】かくして、ソフトウェアがユーザのワーク
ステーションに存在することを認め、しかもなおその実
行を制御するため、ソフトウエアの実行の試みを検出
し、条件によってはその実行を止めるソフトウェア管理
ツールを備える方法が、すべての主要オペレーティング
・システムに関して必要とされる。好ましい解決方法
は、一般的でかつ広く普及するものでなけれまならない
が、あいにく、すべての主要なオペレーティング・シス
テムが、そのような機能を提供してはいない。
Thus, in order to recognize that the software resides on the user's workstation and still control its execution, a method is provided with software management tools that detect attempts to execute the software and, under certain conditions, stop it. Are required for all major operating systems. The preferred solution must be general and widespread, but unfortunately not all major operating systems provide such functionality.

【0012】典型的なDOS(Disk Operat
ing System)は、プログラムの実行を検知す
るため指定されたオペレーティング・システム・レベル
で、割り込みを検出し、使用状況が使用許諾パラメータ
の範囲内にない場合その実行を止めるソフトウェア・ツ
ールを開発することができるメカニズムを提供する。管
理プログラムの開発を可能にする特別のインターフェー
スが、オペレーティング・システム中に作成されてい
る。このインターフェースによって、所定のプログラム
が実行のためロードされた時オペレーティング・システ
ムによって通知されるようにオペレーティング・システ
ムにそれら管理プログラム自身を登録することができ
る。しかしながら、IBM OS/2のようなその他の
オペレーティング・システムには、プログラムの実行の
検出または防止のための手段を備えていないものがあ
る。
[0012] A typical DOS (Disk Operat)
ing System) is to develop a software tool that detects an interrupt at the specified operating system level to detect the execution of a program and stops its execution if the usage is not within the range of the licensed parameters. Provide a mechanism that allows Special interfaces have been created in the operating system that allow the development of management programs. This interface allows the management programs themselves to register themselves with the operating system so that they will be notified when a given program is loaded for execution. However, some other operating systems, such as IBM OS / 2, have no provision for detecting or preventing the execution of programs.

【0013】[0013]

【発明が解決しようとする課題】従来技術において看過
した上述の困難性と制約に関し、本発明は、パーソナル
・コンピュータ、ワークステーションまたはその他同様
の機械のオペレーティング・システムにおいて適用業務
プログラムを実行する試みを検出する方法とシステムの
改良を提供することを目的とする。
With respect to the above-noted difficulties and limitations overlooked in the prior art, the present invention seeks to execute an application program in an operating system of a personal computer, workstation or other similar machine. The aim is to provide an improved detection method and system.

【0014】[0014]

【課題を解決するための手段】本発明は、特に本明細書
において好ましい実施例として例示されている通り、例
えば、OS/2オペレーティング・システム等では、い
かなる適用業務プログラムも、そのオペレーティング・
システム・プログラムへの特定の呼び出しを含む情報の
制御ヘッダを必ず保持するという事実認識に基づいてい
る。そのような呼び出しの一つは、オペレーティング・
システムによる動作を起動するために必要なカーネル・
コードを含む動的結合ライブラリまたはダイナミック・
リンク・ライブラリ(Dynamic Linked Library のこと
で以下DLLと略称する)ルーチンに対する特定のDO
SCALLである。本発明において、管理のため使用を
検知または監視される適用業務プログラムの各々は、D
OSCALLに対するDLL参照を見い出すためそのヘ
ッダ部分を走査される。DLL参照は、オペレーティン
グ・システムを起動するためのカーネル・コードを参照
する。本発明においてそのような参照の各々は、インタ
ーセプトDLLに置き換えられる。インターセプトDL
Lは、管理論理機能を実行する新たなルーチンを呼び出
し、その論理関数のパラメータが条件内にあるならば、
本来のオペレーティング・システム・カーネルに、動作
制御を戻す。
The present invention, as illustrated in particular herein by way of preferred embodiments, is, for example, in the OS / 2 operating system, any application program
It is based on the recognition of the fact that it always holds a control header of information that contains a particular call to a system program. One such call is the operating
The kernel required to launch the system action
Dynamic binding library or dynamic containing code
A specific DO for a linked library routine (abbreviated as DLL below)
It is SCALL. In the present invention, each application program whose use is detected or monitored for management is D
Its header portion is scanned to find the DLL reference to OSCALL. DLL references refer to kernel code for booting an operating system. In the present invention, each such reference is replaced with an intercept DLL. Intercept DL
L calls a new routine that performs a management logic function, and if the parameters of that logic function are in the condition,
Returns operational control to the native operating system kernel.

【0015】[0015]

【実施例】上記問題への解決方法は、IBM OS/2
オペレーティング・システム上で動作するように設計さ
れたすべての適用業務ソフトウェア・プログラムは、O
S/2オペレーティング・システム・カーネルを含むD
LL(ダイナミック・リンク・ライブラリ)を最初にロ
ードしなければならないという事実に基づいている。こ
のDLLルーチンで提供されるインターフェースを通し
てのみ、適用業務プログラムは、オペレーティング・シ
ステムの機能のいずれかを実行または起動できる。
EXAMPLE A solution to the above problem is IBM OS / 2.
All application software programs designed to run on operating systems are
D including S / 2 operating system kernel
It is based on the fact that the LL (Dynamic Link Library) has to be loaded first. Only through the interface provided by this DLL routine can the application program execute or invoke any of the operating system's functions.

【0016】適用業務プログラムの中の実行可能モジュ
ール・コードの各々は、リンカ(連係編集プログラム)
によってプログラム作成時に生成されるファイルの先頭
に記憶された一定の情報を含むヘッダを持つ。プログラ
ムが実行される時、ヘッダ情報は、OS/2プログラム
・ローダによって読み取られる。それは、プログラムの
初期化と実行を開始するために必要とされる数多くの重
要な情報をローダに与える。プログラム・ローダによっ
て必要とされる情報の中には、オペレーティング・シス
テムが適用業務プログラムに制御を渡す前に事前ロード
しなければならないDLLの名前がある。事前ロード・
リストに常に存在する一つの記述項は、"DOSCAL
LS.DLL"と名づけられたOS/2カーネルDLLで
ある。
Each executable module code in the application program is a linker (linkage editing program).
It has a header containing certain information stored at the beginning of the file created when the program is created. When the program is run, the header information is read by the OS / 2 program loader. It gives the loader a lot of important information needed to start the program initialization and execution. Among the information needed by the program loader is the name of the DLL that the operating system must preload before passing control to the application program. Pre-load
One entry that is always in the list is "DOSCAL
OS / 2 kernel DLL named "LS.DLL".

【0017】DLLがオペレーティング・システムによ
ってロードされる時に必ず、システムは、「初期化ヘッ
ダ・ルーチン」と呼ばれる、各DLLルーチン毎に存在
する特別のコードを最初に実行する。もしもなにかの理
由で初期化ヘッダ・ルーチンがうまく実行できない場
合、その事実の標識がオペレーティング・システムに戻
され、適用業務プログラムのロードまたは実行は行われ
ない。
Whenever a DLL is loaded by the operating system, the system first executes special code present in each DLL routine, called the "initialization header routine." If for some reason the initialization header routine fails to execute, an indicator of that fact will be returned to the operating system and the application program will not be loaded or executed.

【0018】本発明の解決方法は、DOSCALLS.
DLL仕様を実行可能ヘッダ部分で検出し、DOSCA
LLS.DLLとは別のDLLへの呼び出しと置き換え
るというものである。上記別のDLLは、DOSCAL
LSの代わりに呼び出されるそれ自身の初期化ルーチン
を持つ。「インターセプトDLL」とも呼ばれるこの新
しい置き換えDLLは、各適用業務プログラム実行可能
モジュールを探索し、DOSCALLS.DLLカーネ
ル呼び出しをインターセプトDLLの識別子と置き換え
るユーティリティ・ルーチンによって自動的に実行され
る。インターセプトDLLの初期化/終了ルーチンは、
必要な管理論理機能を含むように書かれる。
The solution of the present invention is DOSCALLS.
DLL specifications are detected in the executable header part and DOSCA
The LLS.DLL is replaced with a call to another DLL. Another DLL is DOSCAL
It has its own initialization routine that is called instead of LS. This new replacement DLL, also referred to as an "intercept DLL," is automatically executed by a utility routine that searches each application program executable module and replaces the DOSCALLS.DLL kernel call with the intercept DLL's identifier. The intercept DLL initialization / termination routine is
Written to include the necessary management logic functions.

【0019】インターセプトDLLを含む適用業務プロ
グラムを実行させるいかなる試みも、インターセプトD
LLがその呼び出し時に実行の試みがなされていること
に気づくため、自動的に検出される。この実行の試みの
事実は、最初に定めた管理課題の処理に必要な度合いに
応じて、記録され、通算され、記憶されている許諾使用
制限回数や許諾ユーザ識別番号などと比較される。実行
を試みる適用業務プログラムの名称は、インターセプト
DLL初期化ルーチンが使用でき、このルーチンは、プ
ログラムの実行を制御し、記録し、報告し、あるいは実
行を止めるために必要とされる論理の適切なセットを実
行することができる。実行の試みが使用許諾条件の制限
を越えていることが判明し、そのためロードあるいは実
行が行われない場合、DLLロード失敗の標識が発せら
れオペレーティング・システムへ戻される。
Any attempt to execute an application program containing an intercept DLL will result in intercept D
It is automatically detected because the LL notices that it is attempting to execute at the time of its invocation. The fact of this execution attempt is compared with the permitted number of permitted uses, the permitted user identification number, etc., which are recorded, summed, and stored, depending on the degree required to process the initially determined management task. The name of the application program attempting to execute can be used by an intercept DLL initialization routine that controls the execution of the program, records, reports, or terminates the appropriate logic needed to stop execution. The set can be executed. If the attempt to execute is found to exceed the license limit, and therefore does not load or execute, then a DLL load failure indicator is issued and returned to the operating system.

【0020】インターセプトDLLの初期化ルーチンの
管理機能が成功裡に完了する場合、適用業務プログラム
は、通常の設定に取りかかり、実行を開始することが許
される。これは、インターセプトDLLが存在しない場
合に通常発生したであろう動作を起動するために本来の
DOSCALLS.DLLカーネルへのエキスポート呼
び出しを含むインターセプトDLL中の初期化ルーチン
によって容易に達成される。インターセプトDLLの終
了部分は、適用業務プログラムの実行の終了を検出し、
重要な因子であるならば、持続時間を計り、または、使
用が当該ワークステーションまたはコンピュータで終了
したことによって現使用許諾制限が減分されるべきであ
ることを報告するように設定できる。
If the management function of the intercept DLL's initialization routine completes successfully, the application program is allowed to undertake normal setup and begin execution. This is easily accomplished by an initialization routine in the intercept DLL that includes an export call to the original DOSCALLS.DLL kernel to trigger the actions that would normally occur if the intercept DLL were not present. The end part of the intercept DLL detects the end of execution of the application program,
If an important factor, it can be set to time or report that the current license limit should be decremented by termination of use at the workstation or computer.

【0021】インターセプトDLLは、DLLがロード
されるかあるいはロード取り消しされた時OS/2によ
って呼び出される入口点(ENTRY)である"DLLI
nitTerm"を用いて作成されなければならない。
本明細書の末部に記載の表1は、この入口点を含むイン
ターセプトDLLの典型的な構成を示す。この新しいD
LLまたはインターセプトDLLの名前は、表2に示さ
れるモジュール定義ファイルに含まれなければならな
い。これは、適用業務プログラムの実行可能ヘッダ情報
内の通常のDOSCALLS.DLLを置き換える名前
である。適用業務プログラム実行の試みをサーチし、モ
ジュールのヘッダ中のDLLエントリ・リストを探り当
て、DOSCALLSを見つけ、そしてそれらを表2の
インターセプトDOSCALLSモジュール名に置き換
えることのできる単純なツールは、図3で示されるよう
に作成できる。
The intercept DLL is the "DLLI" which is the entry point (ENTRY) called by OS / 2 when the DLL is loaded or unloaded.
Must be created using nitTerm ".
Table 1 at the end of this specification shows a typical configuration of an intercept DLL that includes this entry point. This new D
The name of the LL or intercept DLL must be included in the module definition file shown in Table 2. This is the name that replaces the normal DOSCALLS.DLL in the application program's executable header information. A simple tool that can search for application program execution attempts, locate the DLL entry list in the module's header, find DOSCALLS, and replace them with the intercepted DOSCALLS module names in Table 2 is shown in FIG. Can be created as follows.

【0022】図1は、OS/2環境で動作する適用業務
プログラムが、その記述ヘッダの中に、DOSCALL
要求を含むDLLの事前ロードのためのDLL参照リス
トをどのように含むかを視覚的に示す図である。図1
は、DOSCALL参照が適用業務プログラムのヘッダ
中に見い出される時、オペレーティング・システムのD
OSCALL DLLカーネルをいかに起動し、当該オ
ペレーティング・システムによる動作の起動に必要な初
期化/終了ルーチンを開始するかを示す。これらDLL
の各々は、適用業務プログラムのロードの間に、オペレ
ーティング・システムによってロードされる。DOSC
ALL DLLは、それがオペレーティング・システム
・カーネルADISを含んでいるため、上記DLL参照
リスト中に存在する。
FIG. 1 shows that an application program operating in the OS / 2 environment has DOSCALL in its description header.
FIG. 5 is a diagram visually showing how to include a DLL reference list for preloading a DLL containing a request. Figure 1
When the DOSCALL reference is found in the application program header, the operating system D
It shows how to launch the OSCALL DLL kernel and initiate the initialization / termination routines required to launch an operation by the operating system. These DLLs
Each of these are loaded by the operating system during the loading of the application program. DOSC
The ALL DLL is in the DLL reference list above because it contains the operating system kernel ADIS.

【0023】図2は、DOSCALLインターセプトD
LLシーケンスを含む本発明の好ましい実施例の動作を
示す図である。
FIG. 2 shows the DOSCALL intercept D.
FIG. 6 illustrates operation of the preferred embodiment of the present invention including LL sequences.

【0024】図3は、適用業務プログラム・ヘッダにお
けるDOSCALLに関する置換を行う初期化プロセス
を示す図である。
FIG. 3 is a diagram showing an initialization process for making a replacement for DOSCALL in the application program header.

【0025】図4は、図2の動作の論理の流れを示す図
で、実行されたステップがオペレーティング・システム
・カーネルへのDOSCALLの試みをインターセプト
して、代わりに適切な管理論理機能を含む初期化/終了
ルーチンを実行するステップを示す図である。
FIG. 4 illustrates the logic flow of the operations of FIG. 2 in which the steps performed intercept the DOSCALL attempt to the operating system kernel and instead include the appropriate management logic functions. It is a figure which shows the step which performs the conversion / termination routine.

【0026】図5は、本発明を実施することができる典
型的なコンピュータ・システムを示す図である。
FIG. 5 is a diagram illustrating a typical computer system in which the present invention may be implemented.

【0027】通常のDOSCALLS.DLLのプロセ
スは、図1で示される。図1のボックス1で、通常のO
S/2実行可能環境で実行のため起動されつつある適用
業務プログラムが示される。適用業務プログラムは、事
前ロードされなければならないDLLの参照リストを含
む実行可能ヘッダ(EXE HEADER)を持つ。それ
らの中に、図で示されるように、DOSCALLS.D
LL参照がある。図1のボックス2で示されるように、
このDLLは、初期化/終了ルーチンに必要なカーネル
・コードを含み、オペレーティング・システムのその他
のコンポーネントにリンクする。
The normal DOSCALLS.DLL process is shown in FIG. In Box 1 of Figure 1, the normal O
Shown is the application program being launched for execution in the S / 2 executable environment. The application program has an executable header (EXE HEADER) containing a reference list of DLLs that must be preloaded. In them, as shown in the figure, DOSCALLS.D
There is an LL reference. As shown in Box 2 of FIG.
This DLL contains the kernel code needed for initialization / termination routines and links to other components of the operating system.

【0028】次に図2において、インターセプトDLL
参照"DOSCALLX"の機能が示されている。適用業
務プログラムの実行可能ヘッダ情報は、DLL参照リス
トを修正して当初のDOSCALLS参照仕様を再書き
込みした"DOSCALLX"を持つ。この例で、"DO
SCALLX"は、インターセプトDLLに関し任意に
選択した名前である。次に、システムの動作は、置換初
期化/終了ルーチンと資産管理論理とを含むDOSCA
LLX.DLLへのアクセスに進む。この資産管理論理
には、この適用業務プログラムを実行させるために現在
有効な使用許諾があるかどうか、どのような使用許諾の
制限または回数があるか、ユーザ制限を越えたか否か、
機械識別番号は許諾された識別番号と一致するか、許諾
された使用の回数、使用の全体の経過時間、および使用
期限を使い果たしたか否か等々を判断するに必要な論理
と、当ルーチンで取り扱われる若干の論理管理事項とが
含まれる。
Next, referring to FIG. 2, the intercept DLL
The function of the reference "DOSCALLX" is indicated. The executable header information of the application program has "DOSCALLX" in which the DLL reference list is modified and the original DOSCALLS reference specification is rewritten. In this example, "DO
SCALLX "is an arbitrarily chosen name for the intercept DLL. The operation of the system is then DOSCA, which includes replacement initialization / termination routines and asset management logic.
Proceed to access to LLX.DLL. In this asset management logic, whether there is a license currently valid for executing this application program, what kind of license limit or number of times there is, or whether or not the user limit is exceeded.
The machine identification number matches the licensed identification number, the number of licensed uses, the total elapsed time of use, whether the expiration date has been exhausted, etc. And some logical control items that are included.

【0029】図2のボックス1に、本来のDOSCAL
LS.DLLを置き換えるDOSCALLXを備え持つ
適用業務プログラムの実行可能ヘッダ情報(EXE H
EADER)が示されている。ボックス3には、このD
LLに対する初期化/終了ルーチンと管理論理とを含む
DOSCALLXと名づけられたインターセプトDLL
が示されている。同図にはまた、適用業務プログラムの
呼出しと実行が定められた制限内であるとインターセプ
トDLLが判断した時のDOSCALLS.DLLカー
ネルへのリンクが示されている。これは、図2のボック
ス3からボックス2へのDOSCALLS.DLLカー
ネルのリンクによって示されている。
The original DOSCAL is displayed in box 1 in FIG.
Executable header information (EXE H) of application programs having DOSCALLX that replaces LS.DLL
EADER) is shown. In Box 3, this D
An intercept DLL named DOSCALLX containing initialization / termination routines and management logic for the LL
It is shown. Also shown in the figure is a link to the DOSCALLS.DLL kernel when the intercept DLL determines that the invocation and execution of the application program is within the prescribed limits. This is illustrated by the linking of the DOSCALLS.DLL kernel from box 3 to box 2 in FIG.

【0030】図3には、インターセプトDLL挿入ルー
チンの図式が示されている。動作はブロック4で始ま
り、DOSCALLS.DLLカーネル仕様に関し適用
業務プログラムのヘッダをサーチするブロック5へ進
む。ブロック5でこのサーチが行われ、DOSCALL
S.DLLカーネル呼び出しを見つけると、ブロック6
で、DLLカーネルがインターセプトDLLの識別名で
置き換えられる。置き換えが完了すると、プロセスはブ
ロック7で終了する。
FIG. 3 shows a schematic of the intercept DLL insertion routine. The operation begins at block 4 and proceeds to block 5 which searches the application program header for the DOSCALLS.DLL kernel specification. This search is done in block 5 and DOSCALL
Block 6 when S.DLL kernel call is found
, The DLL kernel is replaced with the intercept DLL's distinguished name. When the replacement is complete, the process ends at block 7.

【0031】図3のプロセスによって修正された適用業
務プログラム・ヘッダを持つ適用業務プログラムをユー
ザが起動する場合の全般動作が、図4で示される。動作
は、ブロック8で、適用業務プログラムを起動するため
のユーザによる開始または初期コマンドによって始ま
る。
FIG. 4 shows the general operation when the user starts the application program having the application program header modified by the process of FIG. The operation begins at block 8 with a user initiated or initial command to launch an application program.

【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)。
At block 9, the user launches the application program by name or command, so that at block 10, the operating system searches the application program header for the request DLL to be preloaded. . In block 11, this request DLL
Is loaded by the operating system,
At block 12, the intercepting DLL, DLL, is executed and an initialization routine with management function logic is executed, as indicated by box 3 in FIG. As a result of the execution in block 12, it is determined in block 13 whether or not the application program of the user is permitted to execute. If allowed, a pass-through (control transfer) to the original DLL kernel, indicated by box 3 in FIG. 2, occurs (block 15). Therefore, in block 16, the original DOSCA
The LLS.DLL kernel start / end routine is executed. At block 17, execution of the application program continues, and upon termination of the application program, control is returned to the operating system (block 18), the manager logic termination routine is executed (block 19), and the process ends. (Block 20).

【0033】図4のブロック13に戻って、定められた
使用パラメータに合致していないことを示す管理論理機
能によって、ユーザまたは適用業務プログラムの実行が
許されない場合は、実行が否定されたことを標示し、
「未許諾プログラム」や「許諾制限逸脱」、「許諾回数
を越える使用」等の関連理由を記述したメッセージがユ
ーザに表示される。
Returning to block 13 of FIG. 4, if the execution of the user or application program is not permitted by the management logic function, which indicates that the defined usage parameters are not met, the execution is denied. Marking
A message is displayed to the user that describes the related reasons such as “unlicensed program”, “deviation of permission limit”, and “use beyond the number of times of permission”.

【0034】当業者には明らかなように、インターセプ
トDLLの開始/終了ルーチンの実行動作に関し、いか
なる特定の管理論理機能をも容易にプログラムすること
ができる。適切な管理上の判断は、数多くのレジスタを
参照することによって容易に実行できるであろう。その
ようなレジスタには、ユーザ・ワークステーションまた
は端末とのネットワーク上での交信によって定期的に更
新できる使用許諾制限、使用許諾者識別番号リスト、使
用時間又は使用回数等が事前にロードされる。
As will be appreciated by those skilled in the art, any particular management logic function can be readily programmed with respect to the execution behavior of the intercept DLL's start / end routines. Proper administrative decisions could easily be made by reference to a number of registers. Such a register is preloaded with a license limitation, a licensee identification number list, a usage time or a frequency of use, which can be updated periodically by communication with a user workstation or a terminal on the network.

【0035】図5には、本発明を実施する典型的なコン
ピュータ・システム21が示されている。該システム
は、ローカル・エリア・ネットワーク(LAN)あるい
は国内または国際間にわたる分散複合ノード通信のよう
な通信ネットワークにおける典型的なノードを形成する
ものもある。
FIG. 5 illustrates a typical computer system 21 for implementing the present invention. Some of the systems form a typical node in a communication network such as a local area network (LAN) or distributed complex node communication across national or international.

【0036】図5において、コンピュータ・システム2
1は、オペレーティング・システムを組み込む中央処理
装置(CPU)22、プロセッサの常駐制御コードのた
めの読取専用メモリ(ROM)、および演算論理機構
(ALU)を含む。操作員と交信するためのCRTのよ
うな表示装置23、プリンタまたはその他の手段が、C
PU22に接続する。マウス、キーボード、ジョイステ
ィック、音声入力装置およびその他のユーザ入力装置2
4がCPUに接続する。CPU22とディスク記憶装置
26または大容量メモリ25等の直接アクセス記憶装置
との間の双方向通信もまたシステムに備えられる。マル
チメディア端末またはパーソナルコンピュータの場合の
ように音声出力装置27が該システムに接続する場合も
あり、また、当該コンピュータ・システム21が多数の
別のコンピュータ・システムと通信ネットワークまたは
LANを介して接続できるように、通信リンク29に接
続した通信ポートを持った周辺入出力制御装置28をシ
ステムに接続することもできる。
In FIG. 5, computer system 2
1 includes a central processing unit (CPU) 22 that incorporates an operating system, read-only memory (ROM) for processor resident control code, and an arithmetic logic unit (ALU). A display device 23 such as a CRT, printer or other means for communicating with the operator
Connect to PU22. Mouse, keyboard, joystick, voice input device and other user input devices 2
4 connects to the CPU. Bidirectional communication between the CPU 22 and a direct access storage device such as disk storage device 26 or mass memory 25 is also provided in the system. The audio output device 27 may be connected to the system as in the case of a multimedia terminal or personal computer, and the computer system 21 may be connected to a number of other computer systems via a communication network or LAN. Thus, peripheral I / O controller 28 having a communication port connected to communication link 29 can be connected to the system.

【0037】好ましい実施例に関して本発明を上記の通
り図示説明したが、管理機能の様々な必要要件に合うよ
うに多くの管理機能ルーチンを、インターセプトDLL
の初期化/終了ルーチン・コードに組み入れることがで
きることは、当業者に明らかであろう。
Although the present invention has been illustrated and described above with respect to a preferred embodiment, many interceptor routines are provided to intercept the various interceptor DLLs to suit the various requirements of the supervisory functions.
It will be apparent to those skilled in the art that it can be incorporated into the initialization / termination routine code of

【0038】[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; }
[Table 1] C source code sample implementing DLL initialization header 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: // Indicates "start of program" {if (_CRT_init () ==-1) // Requested if unsuccessful return 0UL; // Load failed // Program tries to execute .. .. // One way to get the name of the program to execute // Use DosGetInfoBlocks (& tib, &pib); // pib-> pib_pchcmd is the command used to start the program // Keep the row if (PermissionToRun ()) // perform the necessary checks return (1UL); // OK-load successful return (0UL); // load failed break;} case 1: // 'program stop' Indicates {_CRT_term (); // Execute the termination logic return 1UL; // OK}} return 0ul;}

【0039】[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のプログラム論理の実行によって所定の
管理条件論理が満たされると判断される場合にのみ、上
記適用業務プログラムの実行を許可する手段と、を含む
コンピュータ・ソフトウェア資産の管理システム。
Table 2 Sample Module Definition File for Intercept DLL The following is a sample module definition file that can be used to create an intercept DLL named DOSCALLX.DLL. DLL DOSCALLX
It should be noted that the export in () is the control transmission (pass-through) itself to the export in 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 As a summary, the following items are disclosed regarding the configuration of the present invention. (1) In a computer system having a processor, a program memory, and an operating system for executing a program, the application program is used by detecting an attempt to execute the application program by the processor. A dynamic link library (DL)
L) reading the header portion of the application program holding the reference, loading the DLL routine identified in the header portion of the application program into the program memory, and program logic included in the DLL routine. And executing at least one of the DLL routines satisfies a management condition logic that permits execution of the application program. Loading the DLL containing the kernel into program memory, and managing the use of the application program. (2) As a record of an attempt to use the application program, at least one DLL including the management condition
A method for managing the use of the application program according to (1), further including recording the execution of the above in the memory. (3) The method of managing the use of the application program according to (2), further including the step of recording a record of the identifier of the application program in the memory. (4) The method of managing the use of the application program according to (3), further including recording a record of the execution start time of the application program in the memory. (5) The above (1), (2), (including the step of passing operation control from the operating system to at least one DLL including the management condition logic at the end of the execution of the application program. A method of managing the use of the application program described in 3) or (4). (6) The method of managing the use of the application program according to (5), further including the step of recording a record of the execution end time of the application program in the memory. (7) A step of searching the header part of the application program to find a reference to the kernel DLL of the operating system, and replacing the DLL reference in the header part of the application program with a replacement DL
A step of replacing L with a replacement DLL that identifies L, with a condition for passing execution control from the replacement DLL to the kernel DLL of the application program execution operating system only when the management condition is satisfied. (1), (2), (3), (4), (5) or (6), further including a replacement step including management condition logic having a pointer
A method of managing the use of the application program described in. (8) comparing the record of the application program use attempt with a pre-stored number representing the licensed use limit of the application program; and the use attempted use limit licensed. Of the application program according to (2), (3) or (4), further comprising: loading the DLL including the kernel of the operating system into the program memory only if How to manage usage. (9) Computer software assets in a computer system having a processor, a program memory, an operating system for executing a program, and at least one application program software asset whose use is managed. And a means for finding a dynamic link library (DLL) reference described in the header part of the application program software asset by reading the header part of the application program software asset, and a program for executing the found DLL. .Means for loading into memory and D loaded above
A means for executing the program logic contained in the LL and, in response to executing the program logic of the at least one DLL, another DLL containing a kernel of the operating system is loaded into the program memory, at least 1
A computer software asset management system comprising: means for permitting execution of the application program only when it is determined that predetermined management condition logic is satisfied by execution of one of the DLL program logics.

【0040】[0040]

【発明の効果】本発明は、各適用業務のヘッダ情報から
オペレーティング・システム・カーネルDLL参照をサ
ーチし、このオペレーティング・システム・カーネルD
LL参照をインターセプト・ルーチンDLL参照に置き
換えることによって、適用業務プログラムの実行呼出し
の試みを検出する。インターセプト・ルーチンは適用業
務プログラム呼出しの試みに応答して起動されるもの
で、適用業務プログラム実行に先行し必要なソフトウェ
ア資産管理機能に関する管理論理を含んでいる。これら
の構成により、分散環境ないしネットワーク環境下で
も、ソフトウエア資源の適正な使用・管理がはかられ
る。
According to the present invention, the operating system kernel DLL reference is searched from the header information of each application, and this operating system kernel D is searched.
Detects an application program execution call attempt by replacing the LL reference with an intercept routine DLL reference. The intercept routine is activated in response to an attempt to call the application program, and includes management logic relating to the necessary software asset management function prior to execution of the application program. With these configurations, proper use and management of software resources can be achieved even in a distributed environment or network environment.

【図面の簡単な説明】[Brief description of drawings]

【図1】OS/2環境で動作する適用プログラムがその
記述的なヘッダの中にDOSCALL要求を含むDLL
の事前ロードのためのDLL参照リストをどのように含
むかを視覚的に示す図である。
FIG. 1 is a DLL in which an application program operating in an OS / 2 environment includes a DOSCALL request in its descriptive header.
FIG. 6 is a diagram visually showing how to include a DLL reference list for preloading of a.

【図2】DOSCALLインターセプトDLLシーケン
スを含む本発明の好ましい実施例の動作を示す図であ
る。
FIG. 2 is a diagram showing the operation of a preferred embodiment of the present invention including a DOSCALL intercept DLL sequence.

【図3】適用業務プログラム・ヘッダにおけるDOSC
ALLに関する置換を行う初期プロセスを示す図であ
る。
[Fig. 3] DOSC in application program header
FIG. 6 shows an initial process of making a replacement for ALL.

【図4】図2の動作の論理の流れを示す図である。FIG. 4 is a diagram showing a logic flow of the operation of FIG. 2;

【図5】本発明を実施することができる典型的なコンピ
ュータ・システムを示す図である。
FIG. 5 illustrates a typical computer system in which the present invention may be implemented.

【符号の説明】[Explanation of symbols]

21 コンピュータ・システム 22 CPU 23 表示装置 24 ユーザ入力装置 25 メモリ 26 ディスク記憶装置 27 音声出力装置 28 周辺入出力制御装置 29 通信リンク 21 computer system 22 CPU 23 display device 24 user input device 25 memory 26 disk storage device 27 audio output device 28 peripheral input / output control device 29 communication link

Claims (9)

【特許請求の範囲】[Claims] 【請求項1】プロセッサと、プログラム・メモリと、プ
ログラムを実行するためのオペレーティング・システム
とを備え持つコンピュータ・システムにおいて、適用業
務プログラムの実行の試みを上記プロセッサによって検
出することによって適用業務プログラムの利用を管理す
る方法であって、 ダイナミック・リンク・ライブラリ(DLL)参照を保
持する適用業務プログラムのヘッダ部分を読み取るステ
ップと、 上記適用業務プログラムの上記ヘッダ部分において識別
されるDLLルーチンを上記プログラム・メモリにロー
ドするステップと、 上記DLLルーチンに含まれるプログラム論理を実行す
るステップと、 少くとも1つの上記DLLルーチンの実行が上記適用業
務プログラムの実行を許可する管理条件論理を満たすと
判断する場合にのみ、上記適用業務プログラムを実行さ
せるためのオペレーティング・システムのカーネルを含
むDLLをプログラム・メモリにロードするステップ
と、 を含む適用業務プログラムの利用を管理する方法。
1. A computer system having a processor, a program memory, and an operating system for executing the program, whereby the application program is detected by the processor detecting an attempt to execute the application program. A method of managing usage, comprising: reading a header portion of an application program holding a dynamic link library (DLL) reference; and including a DLL routine identified in the header portion of the application program Loading into memory, executing program logic contained in the DLL routine, and determining that at least one execution of the DLL routine satisfies management condition logic that permits execution of the application program. And only in the case of loading a DLL including a kernel of an operating system for executing the application program into a program memory, and a method of managing the use of the application program.
【請求項2】上記適用業務プログラムの使用の試みのレ
コードとして、上記管理条件を含む少くとも1つの上記
DLLの実行を上記メモリに記録するステップを更に含
む請求項1記載の適用業務プログラムの利用を管理する
方法。
2. The use of the application program according to claim 1, further comprising a step of recording, in the memory, at least one execution of the DLL including the management condition, as a record of an attempt to use the application program. How to manage.
【請求項3】上記適用業務プログラムの識別子のレコー
ドを上記メモリに記録するステップを更に含む請求項2
記載の適用業務プログラムの利用を管理する方法。
3. The method further comprising the step of recording a record of an identifier of the application program in the memory.
How to manage the use of the application programs listed.
【請求項4】上記適用業務プログラムの実行開始時間の
レコードを上記メモリに記録するステップを更に含む請
求項3記載の適用業務プログラムの利用を管理する方
法。
4. The method for managing use of an application program according to claim 3, further comprising the step of recording a record of an execution start time of the application program in the memory.
【請求項5】上記適用業務プログラムの実行の終了時点
で、上記オペレーティング・システムから、上記管理条
件論理を含む少くとも1つのDLLへ動作制御を渡すス
テップを更に含む請求項1、2、3または4記載の適用
業務プログラムの利用を管理する方法。
5. The method of claim 1, further comprising the step of passing operation control from the operating system to at least one DLL containing the management condition logic at the end of execution of the application program. A method of managing the use of the application program described in 4.
【請求項6】上記適用業務プログラムの実行終了時間の
レコードを上記メモリに記録するステップを更に含む請
求項5記載の適用業務プログラムの利用を管理する方
法。
6. The method for managing use of an application program according to claim 5, further comprising the step of recording a record of an execution end time of the application program in the memory.
【請求項7】上記適用業務プログラムのヘッダ部分をサ
ーチして上記オペレーティング・システムのカーネルD
LLへの参照を見い出すステップと、 上記適用業務プログラムのヘッダ部分における上記DL
L参照を、置き換えDLLを識別する置き換えDLLに
置き換えるステップであって、当該置き換えDLLが、
管理条件が満たされる場合にのみ上記置き換えDLLか
ら上記適用業務プログラム実行オペレーティング・シス
テムのカーネルDLLへ実行制御を渡すための条件つき
ポインタを持つ管理条件論理を含む、置き換えステップ
と、 を更に含む請求項1、2、3、4、5または6記載の適
用業務プログラムの利用を管理する方法。
7. The kernel D of the operating system is searched by searching the header part of the application program.
Finding a reference to the LL and the DL in the header part of the application program
Replacing the L reference with a replacement DLL that identifies the replacement DLL, the replacement DLL comprising:
A replacement step comprising management condition logic having a conditional pointer for passing execution control from said replacement DLL to said application program execution operating system kernel DLL only if management conditions are met. A method for managing the use of the application program described in 1, 2, 3, 4, 5 or 6.
【請求項8】上記適用業務プログラム使用の試みの上記
レコードを、上記適用業務プログラムの使用が許諾され
た制限を表す事前に記憶された数と比較するステップ
と、 上記使用の試みが上記許諾された制限を越えない場合に
のみ、上記オペレーティング・システムのカーネルを含
む上記DLLを上記プログラム・メモリにロードするス
テップと、 を更に含む請求項2、3または4記載の適用業務プログ
ラムの利用を管理する方法。
8. A step of comparing said record of attempts to use said application program with a pre-stored number representing a licensed limit of use of said application program; said attempt to use said licensed. Managing the use of the application program according to claim 2, 3 or 4, further comprising: loading the DLL containing the operating system kernel into the program memory only if the limit is not exceeded. Method.
【請求項9】プロセッサと、プログラム・メモリと、プ
ログラムを実行するためのオペレーティング・システム
と、その使用が管理される少くとも1つの適用業務プロ
グラム・ソフトウェア資産とを備え持つコンピュータ・
システムにおけるコンピュータ・ソフトウェア資産の管
理システムであって、 上記適用業務プログラム・ソフトウエア資産のヘッダ部
分を読み取って該ヘッダ部分に記載されているダイナミ
ック・リンク・ライブラリ(DLL)参照を見い出す手
段と、 上記見い出したDLLを上記プログラム・メモリにロー
ドする手段と、 上記ロードしたDLLに含まれるプログラム論理を実行
する手段と、 少なくとも1つの上記DLLのプログラム論理の実行に
応答して、オペレーティング・システムのカーネルを含
む他のDLLをプログラム・メモリにロードし、少くと
も1つの上記DLLのプログラム論理の実行によって所
定の管理条件論理が満たされると判断される場合にの
み、上記適用業務プログラムの実行を許可する手段と、 を含むコンピュータ・ソフトウェア資産の管理システ
ム。
9. A computer comprising a processor, a program memory, an operating system for executing a program, and at least one application program software asset whose use is managed.
A system for managing computer software assets in a system, a means for reading a header part of the application program software assets to find a dynamic link library (DLL) reference described in the header part, A means for loading the found DLL into the program memory; a means for executing the program logic contained in the loaded DLL; and a kernel of an operating system responsive to the execution of at least one program logic of the DLL. A means for loading another DLL, including the above, into the program memory, and permitting the execution of the application program only when it is determined that the execution of at least one of the program logics of the DLL satisfies the predetermined management condition logic. And including compilations Management system of over data software assets.
JP6289422A 1994-02-15 1994-11-24 Method and system for controlling utilization of application program Pending JPH07230380A (en)

Applications Claiming Priority (2)

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

Publications (1)

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

Family

ID=22727260

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6289422A Pending JPH07230380A (en) 1994-02-15 1994-11-24 Method and system for controlling utilization of application program

Country Status (3)

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

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001514411A (en) * 1997-08-28 2001-09-11 マイクロソフト コーポレイション Improved security for untrusted executable code
JP2008507767A (en) * 2004-07-20 2008-03-13 ソフトリシティ インコーポレイテッド Method and system for minimizing data loss in computer applications
JP2016525753A (en) * 2013-08-02 2016-08-25 博世尼克資訊股▲ふん▼有限公司 How to download the program

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
JP2001516475A (en) * 1997-02-24 2001-09-25 ワイルドファイアー コミュニケイションズ インコーポレイテッド Method and apparatus for providing additional product features to a user
US6073256A (en) * 1997-04-11 2000-06-06 Preview Systems, Inc. Digital product execution control
US6272636B1 (en) 1997-04-11 2001-08-07 Preview Systems, Inc Digital product execution control and security
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 (en) * 1997-10-06 1999-04-23 Toshiba Corp Method of coupling with external library function and recording medium on which the method is programmed and recorded
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
US7058597B1 (en) 1998-12-04 2006-06-06 Digital River, Inc. Apparatus and method for adaptive fraud screening for electronic commerce transactions
US7617124B1 (en) 1998-12-04 2009-11-10 Digital River, Inc. Apparatus and method for secure downloading of files
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
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
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
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 (en) * 2000-06-30 2011-09-14 ソニー株式会社 Content management apparatus, content management method, and program storage medium
JP2002175387A (en) * 2000-09-01 2002-06-21 Sony Computer Entertainment Inc Utilization condition monitoring method and system for contents, computer program and recording medium
WO2002023336A1 (en) * 2000-09-14 2002-03-21 Bea Systems, Inc. Xml-based graphical user interface application development toolkit
AU9291001A (en) * 2000-09-22 2002-04-02 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 (en) * 2000-11-20 2002-05-31 Mitsubishi Electric Corp Software management server, software management method, recording medium recording program for implementing the method, and recording medium recording program for implementing a method for controlling execution of software
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
ATE399405T1 (en) * 2001-02-22 2008-07-15 Bea Systems Inc SYSTEM AND METHOD FOR ENCRYPTING MESSAGES AND REGISTERING IN A TRANSACTION PROCESSING SYSTEM
US20030065670A1 (en) * 2001-04-25 2003-04-03 Michel Bisson Personalization server unified user profile
WO2002091146A2 (en) 2001-05-09 2002-11-14 Ecd Systems, Inc. Systems and methods for the prevention of unauthorized use and manipulation of digital content
US7359882B2 (en) * 2001-05-11 2008-04-15 Bea Systems, Inc. Distributed run-time licensing
US7185105B2 (en) * 2001-05-11 2007-02-27 Bea Systems, Inc. Application messaging system with flexible message header structure
US7979914B2 (en) 2001-06-25 2011-07-12 Audible, Inc. Time-based digital content authorization
US7149734B2 (en) 2001-07-06 2006-12-12 Logic Library, Inc. Managing reusable software assets
US7322024B2 (en) 2002-03-18 2008-01-22 Logiclibrary, Inc. Generating reusable software assets from distributed artifacts
US7421411B2 (en) 2001-07-06 2008-09-02 Nokia Corporation Digital rights management in a mobile communications environment
US7120429B2 (en) * 2001-08-13 2006-10-10 Qualcomm Inc. System and method for licensing applications on wireless devices over a wireless network
US7376971B2 (en) * 2001-10-30 2008-05-20 International Business Machines Corporation Computer implemented method and system for controlling use of digitally encoded products
JP2003202929A (en) * 2002-01-08 2003-07-18 Ntt Docomo Inc Delivery method and delivery system
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
DE60200323T2 (en) * 2002-03-26 2005-02-24 Soteres Gmbh Method for protecting the integrity of programs
CN1992724B (en) * 2002-04-03 2012-05-09 株式会社Ntt都科摩 Management server and terminal unit
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
US7966520B2 (en) 2002-08-30 2011-06-21 Avaya Inc. Software licensing for spare processors
US7698225B2 (en) 2002-08-30 2010-04-13 Avaya Inc. License modes in call processing
US7707116B2 (en) 2002-08-30 2010-04-27 Avaya Inc. Flexible license file feature controls
US7681245B2 (en) 2002-08-30 2010-03-16 Avaya Inc. Remote feature activator feature extraction
US7890997B2 (en) 2002-12-26 2011-02-15 Avaya Inc. Remote feature activation authentication file system
JP4176533B2 (en) * 2003-03-31 2008-11-05 株式会社エヌ・ティ・ティ・ドコモ Terminal device and program
CA2528428C (en) * 2003-06-05 2013-01-22 Intertrust Technologies Corporation Interoperable systems and methods for peer-to-peer service orchestration
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
US20070255580A1 (en) * 2004-06-22 2007-11-01 Ebooks Corporation Limited Lending System and Method
US7707405B1 (en) 2004-09-21 2010-04-27 Avaya Inc. Secure installation activation
JP4411173B2 (en) * 2004-09-30 2010-02-10 富士通株式会社 Computer system management method, computer management system, and computer management program
US7747851B1 (en) 2004-09-30 2010-06-29 Avaya Inc. Certificate distribution via license files
US8229858B1 (en) 2004-09-30 2012-07-24 Avaya Inc. Generation of enterprise-wide licenses in a customer environment
DE102004049706A1 (en) * 2004-10-12 2006-04-20 Siemens Ag Method and device for embedded systems, in particular reconfigurable mobile radio terminals, with loadable software modules
US7814471B2 (en) * 2004-12-16 2010-10-12 Microsoft Corporation Method and apparatus for providing DLL compatibility
EP1720096B1 (en) * 2005-05-06 2017-07-12 SFNT Germany GmbH Method for adding functionality to an executable module of a program package
EP1720095B1 (en) * 2005-05-06 2017-08-02 SFNT Germany GmbH Method for protection of an executable first module
JP4440825B2 (en) * 2005-05-17 2010-03-24 株式会社バンダイナムコゲームス Game program recording medium
EP1889153A1 (en) * 2005-05-20 2008-02-20 Logiclibrary, Inc. Customizable asset governance for a distributed reusable software library
US7814023B1 (en) * 2005-09-08 2010-10-12 Avaya Inc. Secure download manager
KR101285024B1 (en) * 2005-10-18 2013-08-27 인터트러스트 테크놀로지즈 코포레이션 Methods for digital rights management
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 (en) * 2007-07-02 2011-06-15 国际商业机器公司 Method and system for controlling and self-adaptively preloading dynamic link libraries
WO2009105702A2 (en) * 2008-02-22 2009-08-27 Etchegoyen Craig S 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
AU2012242895B2 (en) 2011-04-11 2015-07-02 Intertrust Technologies Corporation Information security systems and methods
JP5863689B2 (en) * 2013-02-28 2016-02-17 京セラドキュメントソリューションズ株式会社 Shared library with unauthorized use prevention function
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
US10929126B2 (en) 2019-06-06 2021-02-23 International Business Machines Corporation Intercepting and replaying interactions with transactional and database environments
US11036619B2 (en) 2019-06-06 2021-06-15 International Business Machines Corporation Bypassing execution of a module in real-time
US10915426B2 (en) * 2019-06-06 2021-02-09 International Business Machines Corporation Intercepting and recording calls to 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

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01166218A (en) * 1987-12-23 1989-06-30 Hitachi Ltd Paid software maintenance management method
JPH01239613A (en) * 1988-03-22 1989-09-25 Nec Corp Leased program charging system
JPH03240130A (en) * 1990-02-16 1991-10-25 Nec Corp System for checking onerous program

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 (en) * 1991-03-11 2002-04-02 ヒューレット・パッカード・カンパニー Licensing method and system
US5204897A (en) * 1991-06-28 1993-04-20 Digital Equipment Corporation Management interface for license management system
JPH0695312B2 (en) * 1991-11-21 1994-11-24 インターナショナル・ビジネス・マシーンズ・コーポレイション Method and system for processing a computer program
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 (en) * 1987-12-23 1989-06-30 Hitachi Ltd Paid software maintenance management method
JPH01239613A (en) * 1988-03-22 1989-09-25 Nec Corp Leased program charging system
JPH03240130A (en) * 1990-02-16 1991-10-25 Nec Corp System for checking onerous program

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001514411A (en) * 1997-08-28 2001-09-11 マイクロソフト コーポレイション Improved security for untrusted executable code
JP2008507767A (en) * 2004-07-20 2008-03-13 ソフトリシティ インコーポレイテッド Method and system for minimizing data loss in computer applications
JP2016525753A (en) * 2013-08-02 2016-08-25 博世尼克資訊股▲ふん▼有限公司 How to download the program

Also Published As

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

Similar Documents

Publication Publication Date Title
JPH07230380A (en) Method and system for controlling utilization of application program
CA2199520C (en) Method of operating a computer system
US7243348B2 (en) Computing apparatus with automatic integrity reference generation and maintenance
KR100396101B1 (en) Licensed application installer
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
JP4404940B2 (en) Method and system for providing custom software images to a computer system
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 (en) System and method for updating authorized software
US20040210906A1 (en) Data handling apparatus and methods
US6711686B1 (en) Security management tool for managing security attributes in computer systems
EP2039037A2 (en) Enforced seat-based licensing
US6427236B1 (en) Method for installing a patch based on patch criticality and software execution format
US20070113291A1 (en) Method for administrating the function access
US20040194104A1 (en) Computer operating system data management
JP5131563B2 (en) Computer, operation rule application method, operating system
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
EP1727043A2 (en) Dynamic mapping of shared libraries
US8103591B2 (en) Flexible management process for multiple activities executed on partitionable platforms of a multiple processor system
Balzer et al. Mediating connectors: A non-bypassable process wrapping technology
US7703135B2 (en) Accessing protected resources via multi-identity security environments
US20070038572A1 (en) Method, system and computer program for metering software usage