System and method for software usage discovery
First Claim
1. A method, comprising:
- in a network of computers that are in communication with a server, collecting information, at a given client computer, about executables installed on the given computer, by;
utilizing the collected information and generating one or more software items for each executable, wherein each software item includes an indication as to when the executable was last used and each software item includes a method of last use indicating a technique utilized to determine when the executable was last used, and wherein each software item includes 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;
recording the one or more software items in a list containing usage data for the executables found on the given computer;
if only one software item is generated for a given executable, including the one software item as part of computer profile data for the given computer;
if multiple software items are generated for the given executable, merging the multiple software items associated with the given executable as the single item and including the single item as part of the computer profile data for the given computer; and
storing the computer profile data in an associated database; and
producing reports about the executables, software programs comprised of the executables, or both, from the computer profile data stored in the database.
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.
-
Citations
30 Claims
-
1. A method, comprising:
-
in a network of computers that are in communication with a server, collecting information, at a given client computer, about executables installed on the given computer, by; utilizing the collected information and generating one or more software items for each executable, wherein each software item includes an indication as to when the executable was last used and each software item includes a method of last use indicating a technique utilized to determine when the executable was last used, and wherein each software item includes 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; recording the one or more software items in a list containing usage data for the executables found on the given computer; if only one software item is generated for a given executable, including the one software item as part of computer profile data for the given computer; if multiple software items are generated for the given executable, merging the multiple software items associated with the given executable as the single item and including the single item as part of the computer profile data for the given computer; and storing the computer profile data in an associated database; and producing reports about the executables, software programs comprised of the executables, or both, from the computer profile data stored in the database. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 30)
-
-
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 usage of installed executables on each client computer to create one or more software items where each software item includes an indication as to when the executable was last used and each software item includes a method of last use indicating a technique utilized to determine when the executable was last used, the client computers uploading the one or more software items associated with each respective executable to the server; a software module embodying program instructions for performing a merge of multiple software items as a single software item if the multiple software items exist for a given executable and utilizing the single software item if only one software item exists for the given executable, and producing a list of software items that includes one item for each given executable; the server, in communicating relationship with the client computers, embodying program instructions relating to; collecting, for each client computer, usage information associated with the installed executables on each client computer based on the one item for each given executable, and producing reports based on the computer usage information associated with the installed executables and software programs comprised of the installed executables or both that are installed on each client computer; and a computer information database in which selected information associated with the computer usage information 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, comprising:
-
collecting information, at a computer, about one or more software executable files installed on the computer; generating one or more software items for each respective software executable file utilizing the collected information, where each software item includes an indication as to when the executable was last used and each software item includes a method of last use indicating a technique utilized to determine when the executable was last used, and wherein each software item includes 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; recording the one or more software items in a list containing usage data for the one or more software executable files on the computer; if only one software item is generated for a given software executable file, including the one software item as part of data associated with the given software executable file; if multiple software items are generated for the given software executable file, merging the multiple software items associated with the given software executable file to generate a single item for the given software executable file and including the single item as part of the data associated with the given software executable file; and producing a report detailing information about the one or more software executable files.
-
-
25. A system for managing a computer, comprising:
-
a computer memory embodying computer program instructions for monitoring 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, from the collected information, wherein each software item include an indication as to when the executable was last used and each software item includes a method of last use indicating a technique utilized to determine when the executable was last used and wherein each software item includes one or more of the following; file name; directory; date and time the given executable was last started; security identifier of the last user; whether the given executable was found to be running at the time it was found; and whether the given executable is registered and run as a service; and a computer workstation for administration of the system which monitors the one or more installed executables, to determine usage of the one or more installed executables, software programs comprised of the one or more installed executables, or both, and producing reports relating to the generated software items associated with usage of the one or more installed executables. - 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 usage of executables on the one or more of the client computers, creating unique software items for each executable wherein each software item includes an indication as to when the executable was last used and each software item includes a method of last use indicating a technique utilized to determine when the executable was last used, and including the software items in computer profile data associated with each client computer; and a server in communicating relationship with the one or more client computers, the server embodying program instructions for collecting the computer profile data associated with each respective client computer in a computer information database and producing records relating to information contained in the software items, and producing reports regarding usage of the one or more executables installed on the one or more of the client computers based on the computer profile data associated with each respective client computer.
-
-
28. A method, comprising:
-
collecting data about usage of executables from a number of sources within a memory of one or more computers; generating a software item for each executable, wherein each software item includes an indication as to when the executable was last used and each software item includes a method of last use indicating a technique utilized to determine when the executable was last used; sorting the software items into a list; merging the list including, applying multiple queries to the software items on the list that refer to the same file path to determine whether a duplicate software item is found for a given executable, and when a duplication is found, transferring desired data from the duplicate software item to a retained item and discarding the duplicate software item; combining the data to produce a list of retained software items that include usage information about each respective executable that is installed on that computer; and storing the usage information contained in the retained software items as one or more records in an associated database. - View Dependent Claims (29)
-
Specification