Method and system for software asset usage detection and management
AssigneeInternational Business Machines Corporation
InventorTimothy J. Wolf
Life of this patent
Estimating the term…
Abstract
Method and system for detecting attempted invocation of execution of any application program by searching each application's header file information for an operating system kernel Dynamically Linked Library DLL reference and replacing the operating system kernel DLL reference with a intercept routine DLL reference. The intercept routine will be invoked upon attempted invocation of the application program and contains management logic for any desired software asset management function for execution prior to permitting invocation and execution of the application program.
Claims12
In a computer system having a processor, a program memory, and a program execution operating system, a method of managing application program utilization by detecting attempted execution of any application program by said processor, including steps in said processor of:
- reading an application program header comprising Dynamically Linked Library (DLL) routines identification references;
- loading into said program memory any said DLL routines identified in said header portion of said application program;
- executing program logic found in any said DLL routines;
- and
- only loading into said program memory a new DLL containing an operating system kernel permitting execution of said application program if the said execution of program logic in at least one of said DLL routines provides execution permission for said application program.
A computer software asset management system for a computer system having a processor, a program memory, and a program execution operating system, said computer system having at least one application program software asset whose usage in said computer system is to be managed, said management system comprising:
- means in said computer system for reading a header portion of said application program software asset to locate therein any Dynamically Linked Library (DLL) routine references;
- means in said computer system for loading into said program memory any said DLL routine found to be referenced in said header portion of said application's program;
- means in said computer system's processor for executing any program logic contained in said DLL routines loaded into said program memory of said computer system;
- and
- means in said computer system responsive to the execution of said program logic of at least one of said DLLs for loading into said program memory a new DLL containing an operating system kernel, thereby permitting execution of said application program only when said program logic of said at least one DLL routine provides application execution permission upon execution of said program logic therein.
A tool for application program management in a computer system having a processor, a program memory, and a program execution operation system, wherein usage of said application program is to be managed, comprising:
- means, effective in said computer system, for reading a header portion of said application program whose usage in said system is to be managed, and for locating in said header portion any references to Dynamically Linked Library (DLL) routines;
- means, effective in said computer system, for loading into said program memory of said computer system any said DLL routine found to be referenced in said header portion;
- means, responsive to said loading step and effective in said computer system's processor, for executing any program logic contained in said referenced DLL routines loaded into said program memory;
- and
- means, effective in said computer system and responsive to the execution of said program logic of at least one of said referenced DLL routines, for loading into said program memory a new DLL containing a computer operating system kernel, thereby permitting execution of said application program whose usage is to be managed, said loading occurring only when said program logic of said at least one referenced DLL routine provides execution permission, upon execution of said program logic therein.
Dependencies are inferred from the claim text.