Legal claims defining the scope of protection, as filed with the USPTO.
1. A machine-implemented method for monitoring performance of an application, comprising: sending a first request by a client, the first request sent over a network to an application server; receiving machine-executable code at the client in response to sending the first request; sending a second request by the client, the second request sent over the network to the application server; determining whether each of one or more first events are associated with user selection of either an anchor or a form submit; storing first time information in either a primary file or a secondary file by executing the machine-executable code at the client, the storing first time information includes storing the first time information by a first event handler executing said machine-executable code in response to detecting each of the one or more first events in a browser application, the first time information is stored in the primary file if the first event is a primary click event associated with an element that includes either an anchor or a form submit, the first time information is stored in secondary file if the first event is a secondary click event associated with an element other than an anchor or a form submit; accessing a second time information by executing the machine-executable code at the client, the accessing second time information includes accessing the second time information by a second event handler executing said machine-executable code in response to detecting a second event in said browser application, the second time information associated with a response received by the client in response to the second request; and sending the first time information and the second time information, the first time information includes time information from the primary file if the primary file exists and contains the first time information, the first time information includes time information from the secondary file if the secondary file exists and contains the first time information.
2. The machine-implemented method of claim 1 , wherein the first request and the second request are sent by said browser application.
3. The machine-implemented method of claim 1 , wherein said storing the first time information includes: storing the first time information by said browser application, said storing includes said browser application executing said code.
4. The machine-implemented method of claim 1 , wherein the primary file is a first cookie and the secondary file is a second cookie.
5. The machine-implemented method of claim 1 , further comprising: receiving input from a user, the first request and the second request are sent in response to the user input.
6. The machine-implemented method of claim 5 , wherein the first time information includes the time the user input was received.
7. The machine-implemented method of claim 1 , further comprising: storing third time information in response to detecting an on unload event in a browser application.
8. The machine-implemented method of claim 1 , wherein said accessing the second time information includes: retrieving the second time information in response to detecting an on load event in a browser application, said on load event is said second event.
9. The machine-implemented method of claim 1 , wherein said sending the first time information and second time information is performed in response to receiving the response to the second request.
10. The machine-implemented method of claim 1 , further comprising: clearing the first time information from memory in response to providing content to a user, the content accessed from the response to the second request, said clearing includes removing at least one of said primary file or said secondary file.
11. The machine-implemented method of claim 1 , further comprising: clearing the first time information from memory in response to receiving user input that initiates sending a third request to the application server, said clearing includes removing at least one of said primary file or said secondary file.
12. One or more processor readable storage devices having processor readable code stored on said processor readable storage devices, said processor readable code which when executed on one or more processors causes the one or more processors to perform a method comprising: receiving a first request from a client over a network; sending machine-executable performance monitoring code to the client in response to the first request, the machine-executable performance monitoring code is capable of being executed at the client to provide timing information associated with subsequent requests from the client, the performance monitoring code is configured to register code with event handlers associated with a browser application in order to monitor the subsequent requests, the performance monitoring code is configured to record the time that primary click events associated with selection of a hyperlink or form submit occurred in a primary file and to record the time that secondary click events associated with an element other than a hyperlink or form submit occurred in a secondary file, the performance monitoring code is configured to send first timing information and the second timing information, the first timing information includes time information from the primary file if the primary file exists, the first timing information includes time information from the secondary file if the secondary file exists; receiving a second request from the client over the network; sending a content response to the client in response to the second request; receiving timing information from the client in response to the content response, the timing information including the first timing information that is associated with the second request and a second timing information associated with the content response; and computing a response time associated with the second request, the response time computed at least in part from the timing information.
13. The one or more processor readable storage devices of claim 12 , wherein the first timing information includes a time that user input was received, the second request sent in response to the user input.
14. The one or more processor readable storage devices of claim 12 , wherein the second timing information includes the time that content in the content response was provided to a user.
15. The one or more processor readable storage devices of claim 12 , wherein the receiving timing information from the client in response to the content response includes receiving a third request from the client, the third request includes the timing information and a request for additional content.
16. The one or more processor readable storage devices of claim 15 , wherein the third request includes an image request.
17. The one or more processor readable storage devices of claim 12 , wherein the timing information includes a time associated with an on unload event detected by said browser application.
18. The one or more processor readable storage devices of claim 12 , wherein the performance monitoring code is able to store the first timing information in response to receiving user input through a browser application after receiving the content response.
19. An apparatus for processing data, comprising: a communication interface; a storage device having processor readable code stored thereon; and one or more processors in communication with said storage device and said communication interface, said processor readable code which when executed on said one or more processors causes said one or more processors to perform a method comprising: receiving a request for content from a client; sending machine-executable performance monitoring code to said client over a network in response to receiving said content request, said machine-executable performance monitoring code is able to be executed by said client to provide timing information related to subsequent requests for content from said client, the performance monitoring code is configured to register code with event handlers in order to monitor the subsequent requests, the event handlers detect events associated with the subsequent requests, the performance monitoring code is configured to record in a primary file the time that primary click events associated with selection of a hyperlink or form submit occurred and to record in a secondary file the time that secondary click events associated with an element other than a hyperlink or form submit occurred, the performance monitoring code is configured to send first timing information and the second timing information, the first timing information includes time information from the primary file if the primary file exists, the first timing information includes time information from the secondary file if the secondary file exists; and receiving the first and second timing information over the network from the client, the first timing information including a time associated with receiving user input by the client, the second timing information including a time associated with providing content to the user by the client in response to the user input, said first and second timing information pertains to a subsequent request for content from said client.
20. The apparatus of claim 19 , wherein said sending performance monitoring code includes: inserting the performance monitoring code into a response to said request for content; and sending the response to said request for content to the client.
21. The apparatus of claim 19 , wherein the performance monitoring code is JavaScript.
22. The apparatus of claim 19 , wherein the receiving timing information includes receiving an image source request.
23. The apparatus of claim 19 , wherein said method further comprises: reporting the timing information to a workstation.
24. One or more processor readable storage devices having processor readable code stored on said processor readable storage devices, said processor readable code which when executed on one or more processors causes the one or more processors to perform a method comprising: receiving a content response from a server, the response including processor executable performance monitoring code; executing the processor executable performance monitoring code to modify one or more event handlers, said one or more event handlers modified to store timing information, said one or more event handlers detect events associated with a content page for which the timing information pertains and record the time of the events, the events include primary click events associated with selection of a hyperlink or form submit and secondary click events associated with an element other than a hyperlink or form submit; sending a request to the server after receiving the content response; executing the processor executable performance monitoring code to store timing information in a first file and a second file, the time that a user clicked on an anchor or form submit on the content page is stored in the first file, the time that the user clicked on an element other than an anchor or a form submit is stored in the second file, the timing information associated with the request; and transmitting the timing information to the server, the transmitting includes transmitting timing information for the first file if timing information for the first file exists and transmitting timing information for the second file if timing information for the second file exists.
25. The one or more processor readable storage devices of claim 24 , wherein said method further comprises: executing the processor executable performance monitoring code to modify one or more event handlers of an application, the one or more event handlers modified to store the timing information.
26. The one or more processor readable storage devices of claim 24 , wherein said transmitting includes: retrieving the stored timing information; accessing additional timing information in response to providing content from the content response to a user; and transmitting the stored timing information and the additional timing information to the server.
27. The one or more processor readable storage devices of claim 24 , wherein said storing timing information includes: storing the time that a user clicked on an anchor or form submit in a first cookie; and storing the time that a user clicked on an element other than an anchor or form submit in a second cookie.
28. The one or more processor readable storage devices of claim 27 , wherein the first and second cookies include event information associated with the timing information contained in the first and second cookies.
29. A method for monitoring, comprising: receiving timing information from a client in response to a content response, the timing information having one or more fields of data; comparing the timing information fields of data to one or more ordered timing information categories, each of the categories provides a different calculation for computing a time to respond to a request from said client for content; and determining a response time from the timing information data associated with the data fields that correspond to the highest ordered timing information categories, said determining a response time includes: (a) comparing a clicked URL and a current URL within the timing information, if the clicked URL and the current URL match, then: (b) determining whether the data fields include primary click data and a first browser load time, the primary click data includes a time at which either an anchor or form submit is selected in a content page at the client, and computing the response time as the difference between the primary click time and the first browser load time if available in the timing information; (c) if the data fields do not include primary click data and a first browser load time, then determining whether the fields of data include secondary click data and a second browser load time, the secondary click data includes a time at which an element other than an anchor or a form submit is selected at the client, and computing the response time as the difference between the secondary click time and the first browser load time if available in the timing information; and (d) if the clicked URL and the current URL do not match, then determining the response time based on either server side timing data if available or based upon On Unload Data and On Load data if available in the timing information.
30. The method of claim 29 , further comprising, if the clicked URL and the current URL match and if the data fields do not include either primary click data or secondary click data: determining whether the fields of data include an On Unload data, the on unload data associated with the time that content is unloaded in said browser application.
31. The method of claim 29 , wherein said determining whether said data fields include a first browser load time and said determining whether said data fields include a second browser load time include: determining whether the fields of data include an on load data, the on load data associated with a time that content is loaded in said browser application.
32. One or more processor readable storage devices having processor readable code stored on said processor readable storage devices, said processor readable code which when executed on one or more processors causes the one or more processors to perform a method comprising: receiving timing information from a client device; comparing a clicked URL and a current URL within the timing information, if the clicked URL and the current URL match, then: determining whether said information from said client device includes timing information associated with a response time to a request from said client for content from a server, said determining whether the information from said client device includes timing information includes determining whether said information from the client device includes data associated with an On Click event at the client device and a load time associated with a response to the request, the load time is associated with a time that a browser application loads content associated with the response, the On Click event occurs in response to selection of an element within a content page provided by the browser application; performing a computation using the timing information from said client device if said information from said client device includes the timing information associated with said response time to said request, the performing a computation using the timing information from said client device includes using timing information associated with said On Click event detected at the client device, the performing the computation includes using timing information that defines when an On Click event associated with selectable content occurred, if available, otherwise using timing information that defines when an On Click event associated with non-selectable content occurred; generating timing information associated with said response time to said request if said information from said client device does not include timing information associated with said response time to said request, said generating is based on events detected at the server; performing a computation using said generated timing information if said information from said client device does not include timing information associated with said response time to said request; if the clicked URL and the current URL do not match, then performing a computation based on either server side timing data if available or based upon On Unload Data and On Load data if available in the timing information; and providing a response time to said request for content from said client based on the computation performed.
33. The one or more processor readable storage devices of claim 32 , wherein the performing a computation using timing information from said client device includes a computation for a response time associated with a user selection.
34. The machine-implemented method of claim 1 , wherein said sending a first request by a client includes sending a request for content other than the code.
35. The machine-implemented method of claim 34 , wherein said receiving code at the client in response to sending the first request includes receiving the code along with content that satisfies the request for content in the first request.
36. The one or more processor readable storage devices of claim 12 , wherein said receiving a first request from a client over a network includes receiving a request for content other than the performance monitoring code.
37. The one or more processor readable storage devices of claim 36 , wherein said sending performance monitoring code to the client includes sending the performance monitoring code along with content that satisfies the request for content in the first request.
38. The machine-implemented method of claim 1 , wherein the first event is selection of an element in a content page displayed by said web browser.
39. The machine-implemented method of claim 1 , further comprising storing a Uniform Resource Locator (URL) that is associated with said first event if said first event is associated with user selection of either an anchor or a form submit.
40. The machine-implemented method of claim 39 , further comprising sending the URL with the first time information and the second time information.
41. The machine-implemented method of claim 1 , further comprising registering the machine-executable code with the first event handler and the second event handler.
42. The machine-implemented method of claim 1 , further comprising configuring the first event handler and the second event handler to execute the machine-executable code.
43. The machine-implemented method of claim 1 , further comprising registering the machine-executable code with a plurality of event handlers that are associated with a content page, the plurality of event handlers include the first and second event handlers, the second request is due to user selection of an element associated with the content page, the first event handler executes as a result of the user selection.
44. The machine-implemented method of claim 43 , wherein the second event handler executes in response to loading content associated with the response to the second request in said browser application.
45. The machine-implemented method of claim 1 , wherein the first event handler is an On Click handler of said web browser.
Unknown
August 23, 2011
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.