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

Method and apparatus for computer program usage monitoring

Assignee: International Business Machines Corp
•
Filing: 1995-09-21
•
Granted: 1996-12-31
•
Expires: 2015-09-21
📄 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 12:38
CPC Classifications
G; G06; G06F; G06F11/00; G06F11/30; G06F11/34; G06F11/3466

Claims Analysis

Total Claims: 130
Claim 1
Independent Claim 168 words
Apparatus for determining program usage on a computer having at least one storage device, said apparatus comprising: memory means having both a list of program module names of program modules and for each of said program module names a product name associated therewith stored therein; surveying means that surveys the storage devices and stores in said memory means module names of modules stored on said at least one storage device; associating means that stores in said memory means an association between the product names stored in said memory means and each of said module names stored in said memory means; monitoring means that monitors invocations of said modules on said computer and stores in said memory means invocation data relating to said invocations of said modules; correlating means that correlates said invocation data stored in said memory means and said association between the product names and each of said module names stored in said memory means; and reporting means that outputs the data correlated by said correlating means.
Claim 2
Dependent Claim 168 words
Apparatus for determining program usage on a computer having at least one storage device, said apparatus comprising: memory means having both a list of program module names of program modules and for each of said program module names a product name associated therewith stored therein; surveying means that surveys the storage devices and stores in said memory means module names of modules stored on said at least one storage device; associating means that stores in said memory means an association between the product names stored in said memory means and each of said module names stored in said memory means; monitoring means that monitors invocations of said modules on said computer and stores in said memory means invocation data relating to said invocations of said modules; correlating means that correlates said invocation data stored in said memory means and said association between the product names and each of said module names stored in said memory means; and reporting means that outputs the data correlated by said correlating means.
Claim 3
Dependent Claim 92 words
Apparatus for reporting events on a computer system relating to a product, the product being associated with at least one module, said apparatus comprising: memory means; means for detecting an event relating to a module, said detecting means detecting said event other than by indication from said module; means for obtaining event information relating to said event; means for recording said event information in said memory means; means for correlating said event information stored in said memory means and the product associated with said event; and means for outputting said correlated data.
Claim 4
Dependent Claim 92 words
Apparatus for reporting events on a computer system relating to a product, the product being associated with at least one module, said apparatus comprising: memory means; means for detecting an event relating to a module, said detecting means detecting said event other than by indication from said module; means for obtaining event information relating to said event; means for recording said event information in said memory means; means for correlating said event information stored in said memory means and the product associated with said event; and means for outputting said correlated data.
Claim 5
Dependent Claim 17 words
Apparatus as claimed in claim 2, wherein said detecting means detects every event relating to said module.
Claim 6
Dependent Claim 17 words
Apparatus as claimed in claim 2, wherein said event being detected is an invocation of said module.
Claim 7
Dependent Claim 17 words
Apparatus as claimed in claim 2, wherein said event being detected is a termination of said module.
Claim 8
Dependent Claim 15 words
Apparatus as claimed in claim 2, wherein said event being detected is a service request.
Claim 9
Dependent Claim 36 words
Apparatus as claimed in claim 2 wherein said detecting means detects said event using a set of additional instructions inserted into an existing program other than said at least one module or into an operating system.
Claim 10
Dependent Claim 16 words
Apparatus as claimed in claim 2, wherein said detecting means detects said event using hooked vectors.
Claim 11
Dependent Claim 69 words
Apparatus as claimed in claim 2, wherein said event information includes 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 event, a user associated with said event, a job associated with said event, a library from which said module was obtained, and an area of main storage from which said module was obtained.
Claim 12
Dependent Claim 33 words
Apparatus as claimed in claim 2, wherein said event information includes at least one of: a time associated with the initiation of the event, a date associated with the initiation of the event.
Claim 13
Dependent Claim 24 words
Apparatus as claimed in claim 2, wherein said event being detected is one of a plurality of events including an invocation of said module.
Claim 14
Dependent Claim 24 words
Apparatus as claimed in claim 11, wherein said plurality of events additionally includes the termination of said module for which an invocation was detected.
Claim 15
Dependent Claim 31 words
Apparatus as claimed in claim 2, wherein said event being detected is one of a plurality of events including at least one of an invocation and a termination of said module.
Claim 16
Dependent Claim 17 words
Apparatus as claimed in claim 13, wherein said detecting means detects every event relating to said module.
Claim 17
Dependent Claim 22 words
Apparatus as claimed in claim 2, wherein said event being detected is one of a plurality of events including a service request.
Claim 18
Dependent Claim 17 words
Apparatus as claimed in claim 15, wherein said detecting means detects every event relating to said module.
Claim 19
Dependent Claim 16 words
Apparatus as claimed in claim 15, wherein said detecting means detects events by intercepting service requests.
Claim 20
Dependent Claim 15 words
Apparatus as claimed in claim 15, wherein said detecting means detects events using SVC interception.
Claim 21
Dependent Claim 139 words
Apparatus for inventorying modules related to products stored on a storage device and reporting events relating to the products, each of said modules having a name, said apparatus comprising: first memory means; means for storing in said first memory means a plurality of the module names stored on the storage device and a plurality of product records, said product records corresponding to products associated with said module names; second memory means; means for detecting an event relating to a module, said detecting means detecting said event other than by indication from said module; means for obtaining event information relating to said event; means for recording said event information in said second memory means; means for correlating said event information stored in said second memory means and a product record associated with said event; means for outputting said correlated data.
Claim 22
Dependent Claim 139 words
Apparatus for inventorying modules related to products stored on a storage device and reporting events relating to the products, each of said modules having a name, said apparatus comprising: first memory means; means for storing in said first memory means a plurality of the module names stored on the storage device and a plurality of product records, said product records corresponding to products associated with said module names; second memory means; means for detecting an event relating to a module, said detecting means detecting said event other than by indication from said module; means for obtaining event information relating to said event; means for recording said event information in said second memory means; means for correlating said event information stored in said second memory means and a product record associated with said event; means for outputting said correlated data.
Claim 23
Dependent Claim 46 words
Apparatus as claimed in claim 19, additionally comprising third memory means for storing a knowledge base including a plurality of module names and a plurality of information records, each of said information records being associated by said third memory means to at least one module name.
Claim 24
Dependent Claim 77 words
Apparatus as claimed in claim 20, wherein said means for storing comprises: means for scanning said third memory means to locate an information record associated with each said module name stored in said first memory means; means for storing said information record as a product record in said first memory means; and means for relating each said information record stored in said first memory means with at least one module name stored in said first memory means.
Claim 25
Dependent Claim 89 words
Apparatus as claimed in claim 21, wherein said means for storing additionally comprises: means for scanning at least the modules corresponding to each of the module names stored in said first memory means and not stored in said third memory means to locate a module identifier associated therewith; means for storing said module identifier as a product record in said first memory means; and means for relating each said module identifier stored in said first memory means with at least one module name stored in said first memory means.
Claim 26
Dependent Claim 141 words
Method for determining program usage on a computer having at least one storage device, said method comprising the steps of: 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 said at least one storage device and storing module names of modules stored on said at least one storage device; storing an association between said stored product names and each of said stored module names; monitoring invocations of said modules on said computer and storing invocation data relating to said invocations of said modules; correlating said invocation data and said association between the stored product names and each of said stored module names; and outputting the correlation of said invocation data and said association between said stored product names and each of said stored module names.
Claim 27
Dependent Claim 141 words
Method for determining program usage on a computer having at least one storage device, said method comprising the steps of: 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 said at least one storage device and storing module names of modules stored on said at least one storage device; storing an association between said stored product names and each of said stored module names; monitoring invocations of said modules on said computer and storing invocation data relating to said invocations of said modules; correlating said invocation data and said association between the stored product names and each of said stored module names; and outputting the correlation of said invocation data and said association between said stored product names and each of said stored module names.
Claim 28
Dependent Claim 84 words
Method for reporting events on a computer system relating to a product, the product being associated with at least one module, said method comprising the steps of: detecting an event relating to a module, said step of detecting being carried out other than by indication from said module; obtaining event information relating to said event; recording said event information in a memory means; correlating said event information stored in said memory means and the produce associated with said event; and outputting said correlated data.
Claim 29
Dependent Claim 84 words
Method for reporting events on a computer system relating to a product, the product being associated with at least one module, said method comprising the steps of: detecting an event relating to a module, said step of detecting being carried out other than by indication from said module; obtaining event information relating to said event; recording said event information in a memory means; correlating said event information stored in said memory means and the produce associated with said event; and outputting said correlated data.
Claim 30
Dependent Claim 17 words
Method as claimed in claim 24, wherein said detecting step detects every event relating to said module.
Claim 31
Dependent Claim 17 words
Method as claimed in claim 24, wherein said event being detected is an invocation of said module.
Claim 32
Dependent Claim 17 words
Method as claimed in claim 24, wherein said event being detected is a termination of said module.
Claim 33
Dependent Claim 15 words
Method as claimed in claim 24, wherein said event being detected is a service request.
Claim 34
Dependent Claim 36 words
Method as claimed in claim 24 wherein said detecting step detects said event using a set of additional instructions inserted into an existing program other than said at least one module or into an operating system.
Claim 35
Dependent Claim 16 words
Method as claimed in claim 24, wherein said detecting step detects said event using hooked vectors.
Claim 36
Dependent Claim 69 words
Method as claimed in claim 24, wherein said event information includes 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 event, a user associated with said event, a job associated with said event, a library from which said module was obtained, and an area of main storage from which said module was obtained.
Claim 37
Dependent Claim 33 words
Method as claimed in claim 24, wherein said event information includes at least one of: a time associated with the initiation of the event, a date associated with the initiation of the event.
Claim 38
Dependent Claim 24 words
Method as claimed in claim 24, wherein said event being detected is one of a plurality of events including an invocation of said module.
Claim 39
Dependent Claim 24 words
Method as claimed in claim 33, wherein said plurality of events additionally includes the termination of said module for which an invocation was detected.
Claim 40
Dependent Claim 31 words
Method as claimed in claim 24, wherein said event being detected is one of a plurality of events including at least one of an invocation and a termination of said module.
Claim 41
Dependent Claim 17 words
Method as claimed in claim 35, wherein said detecting step detects every event relating to said module.
Claim 42
Dependent Claim 22 words
Method as claimed in claim 24, wherein said event being detected is one of a plurality of events including a service request.
Claim 43
Dependent Claim 17 words
Method as claimed in claim 37, wherein said detecting step detects every event relating to said module.
Claim 44
Dependent Claim 16 words
Method as claimed in claim 37, wherein said detecting means detects events by intercepting service requests.
Claim 45
Dependent Claim 15 words
Method as claimed in claim 37, wherein said detecting step detects events using SVC interception.
Claim 46
Dependent Claim 118 words
Method of inventorying modules related to products stored on a storage device and reporting events relating to the products, each of said modules having a name, said method comprising the steps of: storing in a first memory means a plurality of the module names stored on the storage device and a plurality of product records, said product records corresponding to products associated with said module names; detecting an event relating to a module other than by indication from said module; obtaining event information relating to said event; recording said event information in a second memory means; correlating said event information stored in said second memory means and a product record associated with said event; outputting said correlated data.
Claim 47
Dependent Claim 118 words
Method of inventorying modules related to products stored on a storage device and reporting events relating to the products, each of said modules having a name, said method comprising the steps of: storing in a first memory means a plurality of the module names stored on the storage device and a plurality of product records, said product records corresponding to products associated with said module names; detecting an event relating to a module other than by indication from said module; obtaining event information relating to said event; recording said event information in a second memory means; correlating said event information stored in said second memory means and a product record associated with said event; outputting said correlated data.
Claim 48
Dependent Claim 50 words
Method as claimed in claim 41, additionally comprising the step of storing in a third memory means a knowledge base including a plurality of module names and a plurality of information records, each of said information records being associated by said third memory means to at least one module name.
Claim 49
Dependent Claim 78 words
Method as claimed in claim 42, wherein said step of storing in first memory means comprises the steps of: scanning said third memory means to locate an information record associated with each said module name stored in said first memory means; storing said information record as a product record in said first memory means; and relating each said information record stored in said first memory means with at least one module name stored in said first memory means.
Claim 50
Dependent Claim 87 words
Method as claimed in claim 43, wherein said step of storing in first memory means additionally comprises: scanning at least the modules corresponding to each of the module names stored in said first memory means and not stored in said third memory means to locate a module identifier associated therewith; storing said module identifier as a product record in said first memory means; and relating each said module identifier stored in said first memory means with at least one module name stored in said first memory means.
Claim 51
Dependent Claim 174 words
Apparatus for determining program usage on a computer having at least one storage device, said apparatus comprising: a program module list, said program module list comprising program module names of program modules and for each of said program module names having a product name associated therewith; a surveyor module that surveys the storage devices and creates a module name list comprising module names of modules stored on said at least one storage device; an associator that associates the product names stored in said program module list and each of said module names stored in said module name list; an activity monitor that monitors invocation activity of said modules on said computer and creates an activity list comprising activity data, said activity data comprising data related to said monitored invocation activity of said modules; correlator that correlates said activity data stored in said activity list and said association between the product names and each of said module names stored in said module name list; and report generator that outputs the data correlated by said correlator.
Claim 52
Dependent Claim 174 words
Apparatus for determining program usage on a computer having at least one storage device, said apparatus comprising: a program module list, said program module list comprising program module names of program modules and for each of said program module names having a product name associated therewith; a surveyor module that surveys the storage devices and creates a module name list comprising module names of modules stored on said at least one storage device; an associator that associates the product names stored in said program module list and each of said module names stored in said module name list; an activity monitor that monitors invocation activity of said modules on said computer and creates an activity list comprising activity data, said activity data comprising data related to said monitored invocation activity of said modules; correlator that correlates said activity data stored in said activity list and said association between the product names and each of said module names stored in said module name list; and report generator that outputs the data correlated by said correlator.
Claim 53
Dependent Claim 37 words
Apparatus as claimed in claim 45, wherein said activity monitor additionally monitors termination activity of said modules on said computer system, and said activity data additionally comprises data relating to said monitored termination activity of said modules.
Claim 54
Dependent Claim 16 words
Apparatus as claimed in claim 45, wherein said activity monitor monitors invocations by intercepting service requests.
Claim 55
Dependent Claim 15 words
Apparatus as claimed in claim 45, wherein said activity monitor monitors invocations using SVC interception.
Claim 56
Dependent Claim 15 words
Apparatus as claimed in claim 45, wherein said activity monitor monitors invocations using hooked vectors.
Claim 57
Dependent Claim 27 words
Apparatus as claimed in claim 45 wherein said activity monitor monitors invocations by using a set of additional instructions inserted into an existing program or operating system.
Claim 58
Dependent Claim 76 words
Apparatus as claimed in claim 45, wherein said data relating to said monitored invocation of said modules includes 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 59
Dependent Claim 38 words
Apparatus as claimed in claim 45, wherein said data relating to said monitored invocation of said modules includes at least one of: a time associated with the monitored invocation activity, a date associated with the monitored invocation activity.
Claim 60
Dependent Claim 97 words
Apparatus for reporting events on a computer system relating to a product, the product being associated with at least one module, said apparatus comprising: a memory; an event detector for detecting an event relating to a module, said event detector detecting said event other than by indication from said module; a collector for obtaining event information relating to said event; a recorder for recording said event information in said memory; a correlator for correlating said event information stored in said memory and the product associated with said event; and a report generator for outputting said correlated data.
Claim 61
Dependent Claim 97 words
Apparatus for reporting events on a computer system relating to a product, the product being associated with at least one module, said apparatus comprising: a memory; an event detector for detecting an event relating to a module, said event detector detecting said event other than by indication from said module; a collector for obtaining event information relating to said event; a recorder for recording said event information in said memory; a correlator for correlating said event information stored in said memory and the product associated with said event; and a report generator for outputting said correlated data.
Claim 62
Dependent Claim 17 words
Apparatus as claimed in claim 53, wherein said event detector detects every event relating to said module.
Claim 63
Dependent Claim 16 words
Apparatus as claimed in claim 53, wherein said event detector detects an invocation of said module.
Claim 64
Dependent Claim 16 words
Apparatus as claimed in claim 53, wherein said event detector detects a termination of said module.
Claim 65
Dependent Claim 14 words
Apparatus as claimed in claim 53, wherein said event detector detects a service request.
Claim 66
Dependent Claim 36 words
Apparatus as claimed in claim 53 wherein said event detector detects said event using a set of additional instructions inserted into an existing program other than said at least one module or into an operating system.
Claim 67
Dependent Claim 16 words
Apparatus as claimed in claim 53, wherein said event detector detects said event using hooked vectors.
Claim 68
Dependent Claim 69 words
Apparatus as claimed in claim 53, wherein said event information includes 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 event, a user associated with said event, a job associated with said event, a library from which said module was obtained, and an area of main storage from which said module was obtained.
Claim 69
Dependent Claim 27 words
Apparatus as claimed in claim 53, wherein said event information includes at least one of: a time associated with the event, a date associated with the event.
Claim 70
Dependent Claim 21 words
Apparatus as claimed in claim 53, wherein said event detector detects a plurality of events including an invocation of said module.
Claim 71
Dependent Claim 24 words
Apparatus as claimed in claim 62, wherein said plurality of events additionally includes the termination of said module for which an invocation was detected.
Claim 72
Dependent Claim 28 words
Apparatus as claimed in claim 53, wherein said event detector detects a plurality of events including at least one of an invocation and a termination of said module.
Claim 73
Dependent Claim 17 words
Apparatus as claimed in claim 64, wherein said event detector detects every event relating to said module.
Claim 74
Dependent Claim 19 words
Apparatus as claimed in claim 53, wherein said event detector detects a plurality of events including a service request.
Claim 75
Dependent Claim 17 words
Apparatus as claimed in claim 66, wherein said event detector detects every event relating to said module.
Claim 76
Dependent Claim 16 words
Apparatus as claimed in claim 66, wherein said event detector detects events by intercepting service requests.
Claim 77
Dependent Claim 15 words
Apparatus as claimed in claim 66, wherein said event detector detects events using SVC interception.
Claim 78
Dependent Claim 196 words
Apparatus for inventorying modules stored on a storage device, each of said modules having a name, said apparatus comprising: first memory 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 to at least one module name; second memory storing a plurality of the module names stored on the storage device; locator that scans said first memory to locate said information record associated with each said module name stored in said second memory, said locator storing said information record in said second memory; relater that relates each said information record stored in said second memory with at least one module name stored in said second memory; scanner that scans at least the modules corresponding to each of the module names stored in said second memory and not stored in said first memory to locate a module identifier associated therewith, said scanner storing said module identifier in said second memory; and correlator for relating each said module identifier stored in said second memory with at least one module name stored in said second memory.
Claim 79
Dependent Claim 196 words
Apparatus for inventorying modules stored on a storage device, each of said modules having a name, said apparatus comprising: first memory 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 to at least one module name; second memory storing a plurality of the module names stored on the storage device; locator that scans said first memory to locate said information record associated with each said module name stored in said second memory, said locator storing said information record in said second memory; relater that relates each said information record stored in said second memory with at least one module name stored in said second memory; scanner that scans at least the modules corresponding to each of the module names stored in said second memory and not stored in said first memory to locate a module identifier associated therewith, said scanner storing said module identifier in said second memory; and correlator for relating each said module identifier stored in said second memory with at least one module name stored in said second memory.
Claim 80
Dependent Claim 140 words
Apparatus for inventorying modules related to products stored on a storage device and reporting events relating to the products, each of said modules having a name, said apparatus comprising: a memory; storer for storing in said memory a module list comprising a plurality of the module names stored on the storage device and a product list comprising a plurality of product records, said product records corresponding to products associated with said module names; event detector for detecting an event relating to a module, said event detector detecting said event other than by indication from said module; collector for obtaining event information relating to said event; recorder for recording said event information in said memory; correlator for correlating said event information stored in said memory means and a product record associated with said event; report generator for outputting said correlated data.
Claim 81
Dependent Claim 140 words
Apparatus for inventorying modules related to products stored on a storage device and reporting events relating to the products, each of said modules having a name, said apparatus comprising: a memory; storer for storing in said memory a module list comprising a plurality of the module names stored on the storage device and a product list comprising a plurality of product records, said product records corresponding to products associated with said module names; event detector for detecting an event relating to a module, said event detector detecting said event other than by indication from said module; collector for obtaining event information relating to said event; recorder for recording said event information in said memory; correlator for correlating said event information stored in said memory means and a product record associated with said event; report generator for outputting said correlated data.
Claim 82
Dependent Claim 36 words
Apparatus as claimed in claim 71, additionally comprising a knowledge base including a plurality of module names and a plurality of information records, each of said information records being associated to at least one module name.
Claim 83
Dependent Claim 72 words
Apparatus as claimed in claim 72, wherein said storer comprises: scanner for scanning said knowledge base to locate an information record associated with each said module name stored in said module list; product list builder that storing said information record as a product record in said product list; and correlator for relating each said information record stored in said product list with at least one module name stored in said module list.
Claim 84
Dependent Claim 87 words
Apparatus as claimed in claim 73, wherein said means for storing additionally comprises: module scanner that scans at least the modules corresponding to each of the module names stored in said module list and not stored in said knowledge base to locate a module identifier associated therewith; product record updater for storing said module identifier within a product record in said product list; and correlator that relates each said module identifier stored in said product list with at least one module name stored in said module list.
Claim 85
Dependent Claim 96 words
Apparatus for determining software product usage on a computer, each of said software products including one or more software modules, said apparatus comprising: a memory for storing product data concerning a plurality of software products, said product data for each software product comprising a product name and at least one module name; an activity monitor for monitoring software module invocation in said computer and for storing activity data related to said invocation, said activity data including the module name of an invoked software module; and a correlator for correlating said activity data with said product data.
Claim 86
Dependent Claim 96 words
Apparatus for determining software product usage on a computer, each of said software products including one or more software modules, said apparatus comprising: a memory for storing product data concerning a plurality of software products, said product data for each software product comprising a product name and at least one module name; an activity monitor for monitoring software module invocation in said computer and for storing activity data related to said invocation, said activity data including the module name of an invoked software module; and a correlator for correlating said activity data with said product data.
Claim 87
Dependent Claim 34 words
The apparatus of claim 75, wherein said correlator identifies the product name of each invoked software module whose module name stored in said activity data matches the module name stored in said product data.
Claim 88
Dependent Claim 89 words
The apparatus of claim 75, further comprising a surveyor for surveying at least one directory of said storage device to find the module name of each software module stored in said storage device and for identifying the product name of each stored software module whose module name matches the at least one module name stored in said product data for that product; wherein said correlator correlates said activity data with a portion of said product data in which said module names have been matched to said stored software modules.
Claim 89
Dependent Claim 114 words
The apparatus of claim 75, wherein said product data includes for each product a plurality of text strings incorporated in that product; said apparatus further comprises a scanner for scanning one or more software modules stored in said storage device to identify those stored software strings which are incorporated in each of said scanned software modules and for identifying the product name of each scanned software module in which one or more of said text strings was found correlating the found text string to said product data; and said correlator correlates said activity data with a portion of said product data in which said text strings have been correlated to said stored software modules.
Claim 90
Dependent Claim 23 words
The apparatus of claim 75, wherein said activity monitor monitors said software module invocation other than by indication from said invoked software module.
Claim 91
Dependent Claim 18 words
The apparatus of claim 75, wherein said activity monitor monitors said software module invocation by intercepting service requests.
Claim 92
Dependent Claim 17 words
The apparatus of claim 75, wherein said activity monitor monitors said software module invocation using SVC interception.
Claim 93
Dependent Claim 17 words
The apparatus of claim 75, wherein said activity monitor monitors said software module invocation using hooked vectors.
Claim 94
Dependent Claim 121 words
Apparatus for inventorying software products stored on a storage device, each of said software products including one or more software modules, said apparatus comprising: a memory for storing product data concerning a plurality of software products, said product data for each software product comprising a product name and a plurality of text strings incorporated in that product; and a scanner for scanning one or more software modules stored in said storage device to identify those stored software strings which are incorporated in each of said scanned software modules and for identifying the product name of each of the scanned software modules in which one or more of said text strings was found correlating the found text string to said product data.
Claim 95
Dependent Claim 121 words
Apparatus for inventorying software products stored on a storage device, each of said software products including one or more software modules, said apparatus comprising: a memory for storing product data concerning a plurality of software products, said product data for each software product comprising a product name and a plurality of text strings incorporated in that product; and a scanner for scanning one or more software modules stored in said storage device to identify those stored software strings which are incorporated in each of said scanned software modules and for identifying the product name of each of the scanned software modules in which one or more of said text strings was found correlating the found text string to said product data.
Claim 96
Dependent Claim 101 words
The apparatus of claim 83, wherein said product data includes for each product at least one module name; said apparatus further comprises a surveyor for surveying at least one directory of said storage device to find the module name of each software module stored in said storage device and for identifying the product name of each stored software module whose module name matches the at least one module name stored in said product data for that product; and said scanner scans said stored software module stored in said storage device when said stored software module is not identified by said surveyor.
Claim 97
Dependent Claim 154 words
Apparatus for determining software product usage on a computer, each of said software products including one or more software modules, said apparatus comprising: memory for storing first and second product data concerning a plurality of software products, said first product data for each software product comprising a product name and a product identifier, said second product data for each software product comprising said product identifier and at least one module name; an activity monitor for monitoring software module invocation in said computer and for storing activity data related to said invocation, said activity data including the module name of an invoked software module; and a correlator for determining the product identifier of each invoked software module whose module name matches the module name stored in said second product data and then identifying the product name of said invoked software module whose determined product identifier matches the product identifier stored in said first product data.
Claim 98
Dependent Claim 154 words
Apparatus for determining software product usage on a computer, each of said software products including one or more software modules, said apparatus comprising: memory for storing first and second product data concerning a plurality of software products, said first product data for each software product comprising a product name and a product identifier, said second product data for each software product comprising said product identifier and at least one module name; an activity monitor for monitoring software module invocation in said computer and for storing activity data related to said invocation, said activity data including the module name of an invoked software module; and a correlator for determining the product identifier of each invoked software module whose module name matches the module name stored in said second product data and then identifying the product name of said invoked software module whose determined product identifier matches the product identifier stored in said first product data.
Claim 99
Dependent Claim 108 words
The apparatus of claim 85, further comprising a surveyor for surveying at least one directory of said storage device to identify the module name of each software module stored in said storage device, determining the product identifier of each surveyed software module whose identified module name matches the module name stored in said second product data and then identifying the product name of said scanned software module whose determined identifier matches the product identifier stored in said first product data; wherein said correlator correlates said activity data with a portion of said first product data in which said product identifiers have been matched to said stored software modules.
Claim 100
Dependent Claim 117 words
The apparatus of claim 85, wherein said first product data includes for each product a plurality of text strings incorporated in that product; said apparatus further comprises a scanner for scanning one or more software modules stored in said storage device to identify those stored software strings which are incorporated in each of said scanned software modules and for identifying the product name of each scanned software module in which one or more of said text strings was found correlating the found text string to said second product data; and said correlator correlates said activity data with a portion of said first product data in which said text strings have been correlated to said stored software modules.
Claim 101
Dependent Claim 23 words
The apparatus of claim 85, wherein said activity monitor monitors said software module invocation other than by indication from said invoked software module.
Claim 102
Dependent Claim 18 words
The apparatus of claim 85, wherein said activity monitor monitors said software module invocation by intercepting service requests.
Claim 103
Dependent Claim 17 words
The apparatus of claim 85, wherein said activity monitor monitors said software module invocation using SVC interception.
Claim 104
Dependent Claim 17 words
The apparatus of claim 85, wherein said activity monitor monitors said software module invocation using hooked vectors.
Claim 105
Dependent Claim 148 words
Apparatus for inventorying software products stored on a storage device, each of said software products including one or more software modules, said apparatus comprising: memory for storing first and second product data concerning a plurality of software products, said first product data for each software product comprising a product name and a product identifier, said second product data for each software product comprising said product identifier and at least one module name; and a surveyor for surveying at least one directory of said storage device to identify the module name of each software module stored in said storage device, and for determining the product identifier of each surveyed software module whose identified module name matches the module name stored in said second product data and then identifying the product name of said scanned software module whose determined identifier matches the product identifier stored in said first product data.
Claim 106
Dependent Claim 148 words
Apparatus for inventorying software products stored on a storage device, each of said software products including one or more software modules, said apparatus comprising: memory for storing first and second product data concerning a plurality of software products, said first product data for each software product comprising a product name and a product identifier, said second product data for each software product comprising said product identifier and at least one module name; and a surveyor for surveying at least one directory of said storage device to identify the module name of each software module stored in said storage device, and for determining the product identifier of each surveyed software module whose identified module name matches the module name stored in said second product data and then identifying the product name of said scanned software module whose determined identifier matches the product identifier stored in said first product data.
Claim 107
Dependent Claim 113 words
The apparatus of claim 92, wherein said second product data includes for each product a plurality of text strings incorporated in that product; said apparatus further comprises a scanner for scanning one or more software modules stored in said storage device to identify those stored software strings which are incorporated in each of said scanned software modules and for identifying the product name of each scanned software module in which one or more of said text strings was found correlating the found text string to said second product data; and said surveyor surveys said stored software module stored in said storage device when said stored software module is not identified by said scanner.
Claim 108
Independent Claim 89 words
A method of determining software product usage on a computer, each of said software products including one or more software modules, said method comprising the steps of: storing product data concerning a plurality of software products, said product data for each software product comprising a product name and at least one module name; monitoring software module invocation in said computer and storing activity data related to said invocation, said activity data including the module name of an invoked software module; and correlating said activity data with said product data.
Claim 109
Independent Claim 89 words
A method of determining software product usage on a computer, each of said software products including one or more software modules, said method comprising the steps of: storing product data concerning a plurality of software products, said product data for each software product comprising a product name and at least one module name; monitoring software module invocation in said computer and storing activity data related to said invocation, said activity data including the module name of an invoked software module; and correlating said activity data with said product data.
Claim 110
Dependent Claim 35 words
The method of claim 94, wherein said correlating step identifies the product name of each invoked software module whose module name stored in said activity data matches the module name stored in said product data.
Claim 111
Dependent Claim 89 words
The method of claim 94, further comprising the steps of surveying at least one directory of said storage device to find the module name of each software module stored in said storage device and identifying the product name of each stored software module whose module name matches the at least one module name stored in said product data for that product; wherein said correlating step correlates said activity data with a portion of said product data in which said module names have been matched to said stored software modules.
Claim 112
Dependent Claim 114 words
The method of claim 94, wherein said product data includes for each product a plurality of text strings incorporated in that product; said method further comprises the steps of scanning one or more software modules stored in said storage device to identify those stored software strings which are incorporated in each of said scanned software modules and identifying the product name of each scanned software module in which one or more of said text strings was found correlating the found text string to said product data; and said correlating step correlates said activity data with a portion of said product data in which said text strings have been correlated to said stored software modules.
Claim 113
Dependent Claim 23 words
The method of claim 94, wherein said monitoring step monitors said software module invocation other than by indication from said invoked software module.
Claim 114
Dependent Claim 18 words
The method of claim 94, wherein said monitoring step monitors said software module invocation by intercepting service requests.
Claim 115
Dependent Claim 17 words
The method of claim 94, wherein said monitoring step monitors said software module invocation using SVC interception.
Claim 116
Dependent Claim 17 words
The method of claim 94, wherein said monitoring step monitors said software module invocation using hooked vectors.
Claim 117
Independent Claim 117 words
A method of inventorying software products stored on a storage device, each of said software products including one or more software modules, said method comprising the steps of: storing product data concerning a plurality of software products, said product data for each software product comprising a product name and a plurality of text strings incorporated in that product; scanning one or more software modules stored in said storage device to identify those stored software strings which are incorporated in each of said scanned software modules; and identifying the product name of each of the scanned software modules in which one or more of said text strings was found correlating the found text string to said product data.
Claim 118
Independent Claim 117 words
A method of inventorying software products stored on a storage device, each of said software products including one or more software modules, said method comprising the steps of: storing product data concerning a plurality of software products, said product data for each software product comprising a product name and a plurality of text strings incorporated in that product; scanning one or more software modules stored in said storage device to identify those stored software strings which are incorporated in each of said scanned software modules; and identifying the product name of each of the scanned software modules in which one or more of said text strings was found correlating the found text string to said product data.
Claim 119
Dependent Claim 101 words
The method of claim 102, wherein said product data includes for each product at least one module name; said method further comprises the steps of surveying at least one directory of said storage device to find the module name of each software module stored in said storage device and identifying the product name of each stored software module whose module name matches the at least one module name stored in said product data for that product; and said scanning step scans said stored software module stored in said storage device when said stored software module is not identified by said surveyor.
Claim 120
Independent Claim 146 words
A method of determining software product usage on a computer, each of said software products including one or more software modules, said method comprising the steps of: storing first and second product data concerning a plurality of software products, said first product data for each software product comprising a product name and a product identifier, said second product data for each software product comprising said product identifier and at least one module name; monitoring software module invocation in said computer and storing activity data related to said invocation, said activity data including the module name of an invoked software module; determining the product identifier of each invoked software module whose module name matches the module name stored in said second product data; and identifying the product name of said invoked software module whose determined product identifier matches the product identifier stored in said first product data.
Claim 121
Independent Claim 146 words
A method of determining software product usage on a computer, each of said software products including one or more software modules, said method comprising the steps of: storing first and second product data concerning a plurality of software products, said first product data for each software product comprising a product name and a product identifier, said second product data for each software product comprising said product identifier and at least one module name; monitoring software module invocation in said computer and storing activity data related to said invocation, said activity data including the module name of an invoked software module; determining the product identifier of each invoked software module whose module name matches the module name stored in said second product data; and identifying the product name of said invoked software module whose determined product identifier matches the product identifier stored in said first product data.
Claim 122
Dependent Claim 109 words
The method of claim 104, further comprising the steps of surveying at least one directory of said storage device to identify the module name of each software module stored in said storage device, determining the product identifier of each surveyed software module whose identified module name matches the module name stored in said second product data and then identifying the product name of said scanned software module whose determined identifier matches the product identifier stored in said first product data; wherein said correlating step correlates said activity data with a portion of said first product data in which said product identifiers have been matched to said stored software modules.
Claim 123
Dependent Claim 117 words
The method of claim 104, wherein said first product data includes for each product a plurality of text strings incorporated in that product; said method further comprises the steps of scanning one or more software modules stored in said storage device to identify those stored software strings which are incorporated in each of said scanned software modules and identifying the product name of each scanned software module in which one or more of said text strings was found correlating the found text string to said second product data; and said correlating step correlates said activity data with a portion of said first product data in which said text strings have been correlated to said stored software modules.
Claim 124
Dependent Claim 23 words
The method of claim 104, wherein said monitoring step monitors said software module invocation other than by indication from said invoked software module.
Claim 125
Dependent Claim 18 words
The method of claim 104, wherein said monitoring step monitors said software module invocation by intercepting service requests.
Claim 126
Dependent Claim 17 words
The method of claim 104, wherein said monitoring step monitors said software module invocation using SVC interception.
Claim 127
Dependent Claim 17 words
The method of claim 104, wherein said monitoring step monitors said software module invocation using hooked vectors.
Claim 128
Independent Claim 143 words
A method of inventorying software products stored on a storage device, each of said software products including one or more software modules, said method comprising the steps of: storing first and second product data concerning a plurality of software products, said first product data for each software product comprising a product name and a product identifier, said second product data for each software product comprising said product identifier and at least one module name; surveying at least one directory of said storage device to identify the module name of each software module stored in said storage device; determining the product identifier of each surveyed software module whose identified module name matches the module name stored in said second product data; and identifying the product name of said scanned software module whose determined identifier matches the product identifier stored in said first product data.
Claim 129
Independent Claim 143 words
A method of inventorying software products stored on a storage device, each of said software products including one or more software modules, said method comprising the steps of: storing first and second product data concerning a plurality of software products, said first product data for each software product comprising a product name and a product identifier, said second product data for each software product comprising said product identifier and at least one module name; surveying at least one directory of said storage device to identify the module name of each software module stored in said storage device; determining the product identifier of each surveyed software module whose identified module name matches the module name stored in said second product data; and identifying the product name of said scanned software module whose determined identifier matches the product identifier stored in said first product data.
Claim 130
Dependent Claim 113 words
The method of claim 111, wherein said second product data includes for each product a plurality of text strings incorporated in that product; said method further comprises the steps of scanning one or more software modules stored in said storage device to identify those stored software strings which are incorporated in each of said scanned software modules and identifying the product name of each scanned software module in which one or more of said text strings was found correlating the found text string to said second product data; and said surveying step surveys said stored software module stored in said storage device when said stored software module is not identified by said scanner.

References Cited (Backward Citations)

US2883255A Cited
US3351910A Cited
US3540003A Cited
US3906454A Cited
US4740890A Cited
US4821178A Cited
US4858152A Cited
US5386369A Cited
US5499340A Cited
US5528753A Cited

USPTO Annuity & Maintenance Windows

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

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag