← Back to Patent Explorer
US5499340A Expired / Lapsed US ⏱️ 0.0 years remaining

Method and apparatus for computer program usage monitoring

Assignee: International Business Machines Corp
•
Filing: 1994-01-12
•
Granted: 1996-03-12
•
Expires: 2014-01-12
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method and apparatus for monitoring events relating to executable program modules, for example, the usage of computer programs, and automatically recording each monitored event. The system is provided with a knowledge/data base of information relating module names and the products associated with those modules. A surveying component surveys the storage devices and records a list of modules names stored on the storage device in a system configuration log. The surveying component also, based in part upon the information in the knowledge base, records associations between each module and the product it is associated with. A monitoring component monitors events, e.g. invocations, of program modules, recording these events in a event log. Finally, a reporting component correlates these log files and produces an output report correlating the monitored events and the products stored on the storage device.

Inventors

  • 👤 Robert Barritz

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-27 16:56
CPC Classifications
G; G06; G06F; G06F11/00; G06F11/30; G06F11/34; G06F11/3466

Claims Analysis

Total Claims: 22
Claim 1
Independent Claim 179 words
Apparatus for determining program usage on a computer having a plurality of storage devices, said apparatus comprising: first, second and third memory means; said first memory means storing a list of program module names of program modules and for each of said program module names storing a product name associated therewith; surveying means that surveys the storage devices and stores in said second memory means module names of modules stored on said storage devices; associating means that stores in said second memory means an association between the product names stored in said first memory means and each of said module names stored in said second memory means; monitoring means that monitors invocations of said modules on said computer system and stores in said third memory means invocation data relating to said invocations of said modules; correlating means that correlates said invocation data stored in said third memory means and said association between the product names and each of said module names stored in said second memory means; and reporting means that outputs the data correlated by said correlating means.
Claim 2
Dependent Claim 179 words
Apparatus for determining program usage on a computer having a plurality of storage devices, said apparatus comprising: first, second and third memory means; said first memory means storing a list of program module names of program modules and for each of said program module names storing a product name associated therewith; surveying means that surveys the storage devices and stores in said second memory means module names of modules stored on said storage devices; associating means that stores in said second memory means an association between the product names stored in said first memory means and each of said module names stored in said second memory means; monitoring means that monitors invocations of said modules on said computer system and stores in said third memory means invocation data relating to said invocations of said modules; correlating means that correlates said invocation data stored in said third memory means and said association between the product names and each of said module names stored in said second memory means; and reporting means that outputs the data correlated by said correlating means.
Claim 3
Dependent Claim 38 words
Apparatus as claimed in claim 1, wherein said monitoring means additionally monitors termination of said modules on said computer system and additionally stores in said third memory means termination data relating to said terminations of said terminated modules.
Claim 4
Dependent Claim 16 words
Apparatus as claimed in claim 1, wherein said monitoring means monitors invocations by intercepting service requests.
Claim 5
Dependent Claim 15 words
Apparatus as claimed in claim 1, wherein said monitoring means monitors invocations using hooked vectors.
Claim 6
Dependent Claim 27 words
Apparatus as claimed in claim 1 wherein said monitoring means monitors invocations by using a set of additional instructions inserted into an existing program or operating system.
Claim 7
Dependent Claim 73 words
Apparatus as claimed in claim 1, wherein said monitoring means stores additional invocation data including the name of at least one of: a name associated with said module; a volume associated with said module, a computer system associated with said invocation, a user associated with said invocation, a job associated with said invocation, a library from which said module was obtained, and an area of main storage from which said module was obtained.
Claim 8
Dependent Claim 37 words
Apparatus as claimed in claim 1, wherein said monitoring means stores additional invocation data including at least one of: a time associated with the initiation of the invocation, a date associated with the initiation of the invocation.
Claim 9
Dependent Claim 16 words
Method as claimed in claim 1, wherein said step of monitoring monitors invocations using SVC interception.
Claim 10
Dependent Claim 217 words
Apparatus for inventorying modules stored on a storage device, each of said modules having a name, said apparatus comprising: first memory means for storing a knowledge base, said knowledge base including data representative of a plurality of module names and a plurality of information records, each of said information records being associated by said first memory means to at least one module name; second memory means; means for storing in said second memory means a plurality of the module names stored on the storage device; means for scanning said first memory means to locate said information record associated with each said module name stored in said second memory means; means for storing said information record in said second memory means; means for relating each said information record stored in said second memory means with at least one module name stored in said second memory means; means for scanning at least the modules corresponding to each of the module names stored in said second memory means and not stored in said first memory means to locate a module identifier associated therewith; means for storing said module identifier in said second memory means; and means for relating each said module identifier stored in said second memory means with at least one module name stored in said second memory means.
Claim 11
Dependent Claim 217 words
Apparatus for inventorying modules stored on a storage device, each of said modules having a name, said apparatus comprising: first memory means for storing a knowledge base, said knowledge base including data representative of a plurality of module names and a plurality of information records, each of said information records being associated by said first memory means to at least one module name; second memory means; means for storing in said second memory means a plurality of the module names stored on the storage device; means for scanning said first memory means to locate said information record associated with each said module name stored in said second memory means; means for storing said information record in said second memory means; means for relating each said information record stored in said second memory means with at least one module name stored in said second memory means; means for scanning at least the modules corresponding to each of the module names stored in said second memory means and not stored in said first memory means to locate a module identifier associated therewith; means for storing said module identifier in said second memory means; and means for relating each said module identifier stored in said second memory means with at least one module name stored in said second memory means.
Claim 12
Dependent Claim 186 words
Method for determining program usage on a computer having a plurality of storage devices, said method comprising the steps of: storing in a first memory means a list of program module names of program modules and for each of said program module names storing a product name associated therewith; surveying the storage devices and storing in a second memory means module names of modules stored on said storage devices; storing in said second memory means an association between the product names stored in said first memory means and each of said module names stored in said second memory means; monitoring invocations of said modules on said computer system and storing in a third memory means invocation data relating to said invocations of said modules; correlating said invocation data stored in said third memory means and said association between the product names and each of said module names stored in said second memory means; and outputting the correlation of said invocation data stored in said third memory means and said association between the product names and each of said module names stored in said second memory means.
Claim 13
Dependent Claim 186 words
Method for determining program usage on a computer having a plurality of storage devices, said method comprising the steps of: storing in a first memory means a list of program module names of program modules and for each of said program module names storing a product name associated therewith; surveying the storage devices and storing in a second memory means module names of modules stored on said storage devices; storing in said second memory means an association between the product names stored in said first memory means and each of said module names stored in said second memory means; monitoring invocations of said modules on said computer system and storing in a third memory means invocation data relating to said invocations of said modules; correlating said invocation data stored in said third memory means and said association between the product names and each of said module names stored in said second memory means; and outputting the correlation of said invocation data stored in said third memory means and said association between the product names and each of said module names stored in said second memory means.
Claim 14
Dependent Claim 39 words
Method as claimed in claim 10, wherein said step of monitoring additionally monitors termination of said modules on said computer system and additionally stores in said third memory means termination data relating to said terminations of said terminated modules.
Claim 15
Dependent Claim 16 words
Method as claimed in claim 10, wherein said step of monitoring monitors invocations-by intercepting service requests.
Claim 16
Dependent Claim 16 words
Method as claimed in claim 10, wherein said step of monitoring monitors invocations using SVC interception.
Claim 17
Dependent Claim 16 words
Method as claimed in claim 10, wherein said step of monitoring monitors invocations using hooked vectors.
Claim 18
Dependent Claim 74 words
Method as claimed in claim 10, wherein said step of monitoring stores additional invocation data including the name of at least one of: a name associated with said module; a volume associated with said module, a computer system associated with said invocation, a user associated with said invocation, a job associated with said invocation, a library from which said module was obtained, and an area of main storage from which said module was obtained.
Claim 19
Dependent Claim 38 words
Method as claimed in claim 10, wherein said step of monitoring stores additional invocation data including at least one of: a time associated with the initiation of the invocation, a date associated with the initiation of the invocation.
Claim 20
Dependent Claim 27 words
Method as claimed in claim 10, wherein said step of monitoring monitors invocations using a set of additional instructions inserted into an existing program or operating system.
Claim 21
Dependent Claim 222 words
Method for inventorying modules stored on a storage device of a computer system, each of said modules having a name, the computer system having first memory means for storing a knowledge base, said knowledge base including data representative of a plurality module names and a plurality of information records, each of the information records being associated by the first memory means to at least one module name, the computer system additionally comprising second memory means, said method for inventorying comprising the steps of: storing in the second memory a plurality of the module names stored on the storage device; scanning the first memory means to locate the information records associated with each of the module names stored in the second memory means, and storing each of the information records in the second memory means, and associating each of the information records with at least one module name stored in said second memory means; scanning at least each of the modules corresponding to each of the module names stored in the second memory means and not stored in the first memory means to locate a module identifier for each said corresponding module, and storing each of said module identifiers in the second memory means, and associating each of the module identifiers with at least one module name stored in said second memory means.
Claim 22
Dependent Claim 222 words
Method for inventorying modules stored on a storage device of a computer system, each of said modules having a name, the computer system having first memory means for storing a knowledge base, said knowledge base including data representative of a plurality module names and a plurality of information records, each of the information records being associated by the first memory means to at least one module name, the computer system additionally comprising second memory means, said method for inventorying comprising the steps of: storing in the second memory a plurality of the module names stored on the storage device; scanning the first memory means to locate the information records associated with each of the module names stored in the second memory means, and storing each of the information records in the second memory means, and associating each of the information records with at least one module name stored in said second memory means; scanning at least each of the modules corresponding to each of the module names stored in the second memory means and not stored in the first memory means to locate a module identifier for each said corresponding module, and storing each of said module identifiers in the second memory means, and associating each of the module identifiers with at least one module name stored in said second memory means.

References Cited (Backward Citations)

US2883255A Cited
US3351910A Cited
US3540003A Cited
US3906454A Cited
US4740890A Cited
US4821178A Cited
US4858152A Cited
US5446878A Cited
US5446680A Cited
US5386369A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1999-03-12 1999-09-11 2000-03-12 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2003-03-12 2003-09-11 2004-03-12 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2007-03-12 2007-09-11 2008-03-12 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag