Response time benchmarking
First Claim
1. A machine implemented method for determining performance of a server, comprising:
- sending a first content request from a client to a first server, the first content request is user-initiated;
receiving performance monitoring code and first content data by the client in a first response to the first content request;
processing the first content data, the processing comprising presenting the first content data in a user interface at the client;
automatically sending a second content request to the first server by the client, the performance monitoring code initiating the sending of the second content request in response to determining that a browser application on the client is idle;
recording a first time at the client associated with sending the second content request;
receiving a second response to the second content request from the first server, the second response comprising a predetermined number of random bytes of data;
processing the random bytes of data contained in the second response by the client without modifying content presented in the user interface as a result of processing the random bytes of data contained in the second response;
recording a second time at the client after the client has processed the second response; and
reporting the first time and the second time by the client, the performance monitoring code initiates said recording the first time, recording the second time and reporting the first time and the second time.
2 Assignments
0 Petitions
Accused Products
Abstract
A benchmark response time is determined for a browser application request sent to a network server over a network. The response time is determined by performance monitoring code that is loaded into and monitors the browser application from the client. The performance monitoring code automatically sends a request to a network server; the request is not sent in response to user input. The network server receives the request, generates a response and provides the response to the browser application. The response includes a fixed amount of randomly generated data. The browser application receives and processes the response, but does not display the bytes or change the content displayed in the browser application as a result of the response. The browser application sends the times at which the browser application sends the request and the browser application completes processing the response data to the network server for further processing.
29 Citations
25 Claims
-
1. A machine implemented method for determining performance of a server, comprising:
-
sending a first content request from a client to a first server, the first content request is user-initiated; receiving performance monitoring code and first content data by the client in a first response to the first content request; processing the first content data, the processing comprising presenting the first content data in a user interface at the client; automatically sending a second content request to the first server by the client, the performance monitoring code initiating the sending of the second content request in response to determining that a browser application on the client is idle; recording a first time at the client associated with sending the second content request; receiving a second response to the second content request from the first server, the second response comprising a predetermined number of random bytes of data; processing the random bytes of data contained in the second response by the client without modifying content presented in the user interface as a result of processing the random bytes of data contained in the second response; recording a second time at the client after the client has processed the second response; and reporting the first time and the second time by the client, the performance monitoring code initiates said recording the first time, recording the second time and reporting the first time and the second time. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. One or more processor readable storage devices comprising processor readable code embodied on said processor readable storage devices, said processor readable code for programming one or more processors to:
-
send a first content request from a client to a server, the first content request is user-initiated; receive performance monitoring code and first content data from the server by the client in a first response to the first request; process the first content data, the processing comprises presenting the first content data in a user interface at the client; automatically send a second request to the server by the client, the performance monitoring code initiating the sending of the second request; receive a second response from the server by the client, the second response containing a first number of random bytes, the second request and second response are a second request/response pair; process the first number of random bytes in the second response without modifying content presented in the user interface as a result of processing the data contained in the second response; automatically send a third request to the server by the client, the performance monitoring code initiating the sending of the third request in response to determining that a browser application is in an idle state; receive a third response from the server by the client, the third response containing the first number of random bytes, the third request and third response are a third request/response pair; process the first number of random bytes in the third response without modifying content presented in the user interface as a result of processing the data contained in the third response; and automatically report time information associated with the second and third request/response pairs to a performance monitoring system. - View Dependent Claims (12, 13, 14)
-
-
15. An apparatus for processing data, comprising:
-
a communication interface; a storage device; and one or more processors in communication with said storage device and said communication interface, said one or more processors send a first content request to a server, the first content request is user-initiated, said one or more processors receive performance monitoring code and first content data from the server in a first response to the first request, said one or more processors present the first content data in a user interface, said performance monitoring code causes said one or more processors to automatically send a second request to the server when a browser application is idle, said performance monitoring code causes said one or more processors to store a first time associated with sending the second request, said one or more processors receive a second response from the server, the second response comprising a first number of randomly generated bytes of data, said performance monitoring code causes said one or more processors to process the random bytes of data contained in the said response without modifying content presented in said user interface as a result of processing the random bytes of data contained in the second response, said performance monitoring code causes said one or more processors to store a second time after the random bytes of data are processed, and said performance monitoring code causes said one or more processors to report the first time and the second time to said server.
-
-
16. A method for determining performance, comprising:
-
receiving a network page by a browser application on a client, the network page comprising performance monitoring code and first content data; processing the first content data, the processing comprises presenting the first content data by the browser application; automatically sending a request to a server by the browser application, the request sent in response to executing the performance monitoring code by the browser application, comprisine determining the browser application is idle as a condition for initiating the sending of the request; storing a first time at which the request was sent to the server; receiving a response from the server by the browser application, the response comprising a predetermined number of bytes of random data; processing the random data contained in the response by the browser application, wherein said step of processing does not include changing content displayed to a user by the browser application; storing a second time at which the browser application has processed the response; and transmitting the first time and second time by the client. - View Dependent Claims (17, 18, 19, 20, 21, 22)
-
-
23. One or more processor readable storage devices comprising processor readable code embodied on said processor readable storage devices, said processor readable code for programming one or more processors to:
-
automatically initiate a request to a server by a client in response to determining that a browser application is idle, said code for programming the one or more processors to initiate a request for programming the one or more processors to; generate random bytes of data at the client; and include the random bytes of data in the request; store a first time associated with the request; access a response from the server, the response comprising the random bytes of data; process the random bytes of data contained in the response by the browser application, said code for programming the one or more processors to process the random bytes of data comprises code for programming the one or more processors to determine whether the random bytes of data are included in the response, said code for programming the one or more processors to process the random bytes of data for programming the one or more processors to simulate processing of a response for a user-initiated content request to the server, the simulating comprising parsing the random bytes into a result object and discarding the result object without changing the content displayed by the browser application; store a second time at which the browser application has processed the response; and transmit time data associated with the first time and second time. - View Dependent Claims (24, 25)
-
Specification