Distributed capture and aggregation of dynamic application usage information
First Claim
1. A method of tracking an application that is deployed as a set of application instances, where the application is instrumented with a usage monitoring application programming interface (API) that generates a log file when the application is executed, the log file comprising data associated with a set of application feature executions, failures or faults, wherein the log file data comprises a set of messages associated with the application feature executions, failures and faults, wherein the set of messages are written in a sequential order of the application feature executions, failures and faults, comprising:
- operating, at a service provider domain, an Internet-accessible infrastructure, the Internet-accessible infrastructure comprising a web server, an application server, and a database;
receiving, by the web server, log files generated by the instrumented applications, wherein information in at least one log file is encoded in a compact data structure, and wherein at least first and second messages of the set of messages each have timestamps, and wherein the timestamp of the second message is a function of the timestamp in the first message;
processing, by the application server, data aggregated from the received log files; and
storing, in the database, aggregated log data;
exporting, from the database and to a permitted entity, aggregated log data;
where the application is one of;
a server-based application, a web-based application, and a rich Internet application.
6 Assignments
0 Petitions
Accused Products
Abstract
A web-based hosted solution through which application developers create, manage and monitor application usage analytics in an online manner. Preferably, an application under test is one of: application software, a script-enabled web application, or a rich Internet application (RIA). During the development process, a usage monitoring API is integrated into the application and the application is deployed. As users interact with the application, a log file is generated, typically in one of two ways. If the application is able to write to a local file system (in the user'"'"'s machine), usage information is gathered in a log file local to the deployed application and then dispatched to an upload server for processing in a batch manner. If the application is not able to write to the user machine'"'"'s local file system, the usage information is sent to a remote logging server, preferably on a just-in-time basis, and then the log file is generated on the logging server. In either case, preferably the usage information that is tracked comprises “features,” “faults” and “failures” of the application, independent of platform, location, and number of deployed application instances.
25 Citations
13 Claims
-
1. A method of tracking an application that is deployed as a set of application instances, where the application is instrumented with a usage monitoring application programming interface (API) that generates a log file when the application is executed, the log file comprising data associated with a set of application feature executions, failures or faults, wherein the log file data comprises a set of messages associated with the application feature executions, failures and faults, wherein the set of messages are written in a sequential order of the application feature executions, failures and faults, comprising:
-
operating, at a service provider domain, an Internet-accessible infrastructure, the Internet-accessible infrastructure comprising a web server, an application server, and a database; receiving, by the web server, log files generated by the instrumented applications, wherein information in at least one log file is encoded in a compact data structure, and wherein at least first and second messages of the set of messages each have timestamps, and wherein the timestamp of the second message is a function of the timestamp in the first message; processing, by the application server, data aggregated from the received log files; and storing, in the database, aggregated log data; exporting, from the database and to a permitted entity, aggregated log data; where the application is one of;
a server-based application, a web-based application, and a rich Internet application. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. Apparatus for tracking a web application deployed across a wide area network as the web application is used within local end user web browser environments, where the web application is instrumented with a web application usage monitoring application programming interface (API) that generates a log file when the web application is executed, the log file comprising a set of messages associated with application feature executions, failures and faults, wherein the set of messages are written in a sequential order of the application feature executions, failures and faults, the apparatus comprising:
-
an Internet-accessible infrastructure operating at a service provider domain, the Internet-accessible infrastructure comprising at least one web server, an application server, and a database, the Internet-accessible infrastructure comprising at least one hardware element; the web server operative to receive log files generated by the instrumented web applications, wherein information in at least one log file comprises a set of messages encoded in a compact data structure, and wherein at least first and second messages of the set of messages each have timestamps, and wherein the timestamp of the second message is a function of the timestamp in the first message; the application server operative to process data aggregated from the received log files; the database operative to store aggregated log data; and the web server further operative to export, from the database and to a permitted entity, at least a portion of the aggregated log data; where the web application is one of;
a web page having a browser-enabled script, and a rich Internet application. - View Dependent Claims (9, 10, 11, 12, 13)
-
Specification