SYSTEM AND METHOD FOR SOFTWARE USAGE DISCOVERY
First Claim
1. A method of obtaining information about software usage in a network of computers, comprising:
- in a network of computers that are in communication with a server, collecting information, at a given client computer, about executables installed on a computer in the network of computers, by;
generating one or more software items for each executable that includes a method of last use and one or more of the following;
1. file name,2. directory,3. date and time the executable was last started,4. security identifier of the last user,5. whether the executable was found to be running at the time it was found, and6. whether the executable is registered and run as a service,generating a list of software items containing usage data for executables found on the computer;
merging the information on the list so that a one software item for a given executable appears on the list; and
including information from the one software item on the list for each executable in a computer profile for that computer; and
collecting the computer profile data from respective computers in the network of computers;
storing computer profile data in an associated database; and
producing reports about executables, software programs comprised of one or more executables, or both, from the data stored in the database comprised of one or more executables.
1 Assignment
0 Petitions
Accused Products
Abstract
A method of obtaining information about usage of application executable files and associated software program in a network of computers or on an individual computer is provided. The method involves collecting information about last use of software programs, and associated executable files, on a computer or a set of managed computers from various resources on the computers. The information that is collected includes file name, directory, date and time the executable was last started, a security identifier of the last user, the method of last use, whether the executable was found to be running at the time it was found, and whether the executable is registered to run as a service. From this information, a list is generated regarding software items, and the list is merged such that a given executable has a single software item on the list. Reports are produced detailing information about one or more software items on the list. The reports may be displayed in a graphic user interface designed for that purpose.
40 Citations
29 Claims
-
1. A method of obtaining information about software usage in a network of computers, comprising:
-
in a network of computers that are in communication with a server, collecting information, at a given client computer, about executables installed on a computer in the network of computers, by; generating one or more software items for each executable that includes a method of last use and one or more of the following; 1. file name, 2. directory, 3. date and time the executable was last started, 4. security identifier of the last user, 5. whether the executable was found to be running at the time it was found, and 6. whether the executable is registered and run as a service, generating a list of software items containing usage data for executables found on the computer; merging the information on the list so that a one software item for a given executable appears on the list; and including information from the one software item on the list for each executable in a computer profile for that computer; and collecting the computer profile data from respective computers in the network of computers; storing computer profile data in an associated database; and producing reports about executables, software programs comprised of one or more executables, or both, from the data stored in the database comprised of one or more executables. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A system for managing a set of computers in a network of computers, comprising
a plurality of client computers and a server; -
one or more client computers embodying program instructions for determining the usage of installed executables using a plurality of methods of last use to create a respective software item describing executables that are components of software programs, the client computers uploading the software items to the server; a software module embodying program instructions for performing a merge of the software items that relate to the same executable and producing a list of software items that includes one software item for a given executable; the server, in communicating relationship with the client computers, embodying program instructions relating to collecting the usage information associated with the respective client computers; producing reports regarding usage of executables and software programs comprised of executables or both that are installed on one or more of the client computers. a computer information database in which selected information about software usage in the system is stored in one or more database records. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23)
-
-
24. A method of obtaining information about software usage in a stand alone computer, comprising:
-
collecting information, at a computer, about one or more software application executable files installed on the computer; generating one or more software items for each software executable that includes a method of last use and one or more of the following; 1. file name; 2. directory; 3. date and time the executable was last started; 4. security identifier of the last user; 5. whether the executable was found to be running at the time it was found; and 6. whether the executable is registered and run as a service. generating, a list of software items containing usage data for executables found on the computer; merging the information on the list so that one software item for a given executable appears on the list; and producing a report detailing information about one or more software items on the list.
-
-
25. A system for managing a computer, comprising:
-
a computer memory embodying the computer program instructions for monitoring the usage of installed executables on the computer, including at least one of; collecting information, at the computer, about one or more executables installed on the computer; generating for a given executable, one or more software items that each include a method of last use and one or more of the following; file name; directory; date and time the executable was last started; security identifier of the last user; whether the executable was found to be running at the time it was found; and whether the executable is registered and run as a service; and a computer workstation for administration of the system which monitors one or more executables, that are installed on the computer, to determine usage of the executables, software programs comprised of the executables, or both, and producing reports relating to the collected usage information. - View Dependent Claims (26)
-
-
27. A database management system, comprising:
-
a network of client computers and a server; one or more client computers embodying program instructions for determining the usage of executables on one or more of the client computers using a plurality of methods of last use, creating unique software items describing the executables and including the software items in computer profile data; and a server in communicating relationship with the client computers, the server embodying program instructions for collecting the computer profile data in a computer information database and producing records relating to the information contained in the software items, producing reports regarding usage of executables installed on one or more of the client computers.
-
-
28. A method for discovering software usage, comprising:
-
collecting data about usage of executables from a number of sources within the memory of one or more computers, including data collected using a variety of different methods; generating a software item for each executable determined by each of such methods that were used to locate each application executable file that is discovered on one or more computers; sorting the software items into a list; merging the list including applying multiple queries to items on the list that refer to the same file path to determine whether a duplicate software item is found for a given application executable file; when a duplication is found, transferring desired data from the duplicate item to a retained item and discarding the duplicate item; combining the data to produce a list of retained software items that include the best usage information about each executable that is installed on that computer; and storing the information contained in the retained software items as one or more records in an associated database. - View Dependent Claims (29)
-
Specification