Method and system for tracking client software use
First Claim
1. A method for analyzing a logging file from a computer, wherein the logging file comprises a plurality of records corresponding to user interactions with a software application program module of the computer, the method comprising the steps of:
- downloading the logging file from the computer;
converting the logging file to Extensible Markup Language (XML) data associated with a unique user identifier, wherein the step of converting the logging file to XML data comprises the steps of;
calling an application with a plurality of mapping files, wherein the mapping files are operative to expand the records in the logging file to indicate a specific user interface element, the mapping files comprising information that maps a user interface of the software application program module, the mapping files further comprising a list of elements, wherein each listed element includes a full textual name, a numeric identifier, and a reference to a user interface object containing the listed element, wherein only the numeric identifiers for the listed elements are stored on the computer, wherein the mapping files are used to resolve the numeric identifiers during post-processing operations to reduce a size of a set-up program on the computer, to reduce a disk space amount consumed on the computer, and to reduce an amount of code loaded into a memory of the computer, thereby improving computer performance;
expanding the records in the logging file; and
converting the records in the logging file to XML data;
parsing the XML data and uploading the parsed XML data to a SQL data warehouse, wherein parsing the XML data comprises converting an identification field, a user interface element field, and a time stamp field into unique fields in an SQL table of the SQL data warehouse; and
analyzing the XML data, wherein analyzing the XML data comprises;
submitting a plurality of queries to the data warehouse for specific usage questions, wherein the plurality of queries comprise;
a query for determining a number of users using specific features within the software application program module and a frequency of use with respect to the specific features;
a query for identifying undiscovered areas of the software application program module which are frequently used by users after the areas are discovered;
a query for identifying unused areas of the software application program module; and
a query for identifying a most-performed sequence of features used within the software application program module; and
receiving a plurality of the XML data from the data warehouse in response to the plurality of queries.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and system for tracking client software use is disclosed. User data, specifically user interaction with a client-installed software application, is collected in data files and the data files are dynamically uploaded over a global computer system, such as the Internet, to a remote analysis system. The data files are parsed for on-going analysis of feature usage. Typically, for any action that a user performs in the software application, several items are recorded in a data file, such as a user ID, an absolute time-stamp, the method invoked including application source (if the software application includes more than one application), and details such as the dialog invoked, button pressed, menu used, menu item selected, application launch, application termination, as well as environment variables, such as operating system, screen resolution, etc.
-
Citations
17 Claims
-
1. A method for analyzing a logging file from a computer, wherein the logging file comprises a plurality of records corresponding to user interactions with a software application program module of the computer, the method comprising the steps of:
-
downloading the logging file from the computer; converting the logging file to Extensible Markup Language (XML) data associated with a unique user identifier, wherein the step of converting the logging file to XML data comprises the steps of; calling an application with a plurality of mapping files, wherein the mapping files are operative to expand the records in the logging file to indicate a specific user interface element, the mapping files comprising information that maps a user interface of the software application program module, the mapping files further comprising a list of elements, wherein each listed element includes a full textual name, a numeric identifier, and a reference to a user interface object containing the listed element, wherein only the numeric identifiers for the listed elements are stored on the computer, wherein the mapping files are used to resolve the numeric identifiers during post-processing operations to reduce a size of a set-up program on the computer, to reduce a disk space amount consumed on the computer, and to reduce an amount of code loaded into a memory of the computer, thereby improving computer performance; expanding the records in the logging file; and converting the records in the logging file to XML data; parsing the XML data and uploading the parsed XML data to a SQL data warehouse, wherein parsing the XML data comprises converting an identification field, a user interface element field, and a time stamp field into unique fields in an SQL table of the SQL data warehouse; and analyzing the XML data, wherein analyzing the XML data comprises; submitting a plurality of queries to the data warehouse for specific usage questions, wherein the plurality of queries comprise; a query for determining a number of users using specific features within the software application program module and a frequency of use with respect to the specific features; a query for identifying undiscovered areas of the software application program module which are frequently used by users after the areas are discovered; a query for identifying unused areas of the software application program module; and a query for identifying a most-performed sequence of features used within the software application program module; and receiving a plurality of the XML data from the data warehouse in response to the plurality of queries. - View Dependent Claims (2, 3, 4, 5, 11)
-
-
6. A computer system for analyzing a logging file, wherein the logging file comprises a plurality of records corresponding to user interactions with a software application program module of a client computer, the system comprising:
-
a server computer comprising a memory for storing executable program code and a processor, functionally coupled to the memory, the processor being responsive to computer-executable instructions contained in the program code and operative to; download the logging file; convert the logging file to markup language data associated with a unique user identifier, wherein in converting the logging file to markup language data, the processor is further operative to; call an application with a plurality of mapping files, wherein the mapping files are operative to expand the records in the logging file to indicate a specific user interface element, the mapping files comprising information that maps a user interface of the software application program module, the mapping files further comprising a list of elements, wherein each listed element includes a full textual name, a numeric identifier, and a reference to a user interface object containing the listed element, wherein only the numeric identifiers for the listed elements are stored on the client computer, wherein the mapping files are used to resolve the numeric identifiers during post-processing operations to reduce a size of a set-up program on the client computer, to reduce a disk space amount consumed on the client computer, and to reduce an amount of code loaded into a memory of the client computer, thereby improving client computer performance; expanding the records in the logging file; and converting the records in the logging file to the markup language data; parse the markup language data and uploading the parsed markup language data to a SQL data warehouse, wherein parsing the markup language data comprises converting at least one of an identification field, a user interface element field, and a time stamp field into unique fields in an SQL table of the SQL data warehouse; and analyze the markup language data. - View Dependent Claims (7, 8, 9, 10)
-
-
12. A computer-readable non-transitory storage medium comprising computer executable instructions which, when executed on a computer, will cause the computer to perform a method for analyzing a logging file from a computer, wherein the logging file comprises a plurality of records corresponding to user interactions with a software application program module of the computer, the method comprising the steps of:
-
downloading the logging file from the computer; converting the logging file to markup language data associated with a unique user identifier, wherein the step of converting the logging file to markup language data comprises the steps of; calling an application with a plurality of mapping files, wherein the mapping files are operative to expand the records in the logging file to indicate a specific user interface element, the mapping files comprising information that maps a user interface of the software application program module, the mapping files further comprising a list of elements, wherein each listed element includes a full textual name, a numeric identifier, and a reference to a user interface object containing the listed element, wherein only the numeric identifiers for the listed elements are stored on the computer, wherein the mapping files are used to resolve the numeric identifiers during post-processing operations to reduce a size of a set-up program on the computer, to reduce a disk space amount consumed on the computer, and to reduce an amount of code loaded into a memory of the computer, thereby improving computer performance; expanding the records in the logging file; and converting the records in the logging file to the markup language data; parsing the markup language data and uploading the parsed markup language data to a SQL data warehouse, wherein parsing the markup language data comprises converting at least one of an identification field, a user interface element field, and a time stamp field into unique fields in an SQL table of the SQL data warehouse; and analyzing the markup language data. - View Dependent Claims (13, 14, 15, 16, 17)
-
Specification