Method and apparatus for measuring latency in web services
First Claim
1. A system, comprising:
- a processor; and
a memory comprising program instructions, wherein the program instructions are executable by the processor to implement a latency measurement service configured to;
collect Web service request processing time data sent to the latency measurement service from a Web service, the processing time data including both a respective unique request identifier and a server-side processing time for each of one or more Web service requests received by the Web service from a Web service client via a network, wherein the latency measurement service is a separate service from the Web service, and wherein the request processing time data is sent separate from the one or more Web service requests;
collect Web service request latency data sent to the latency measurement service from the Web service client, the service request latency data including both a respective client-side request latency and unique request identifier for each of the Web service requests sent to the Web service by the Web service client via the network, wherein the service request latency data is sent separate from the one or more Web service requests; and
correlate and store the Web service request processing time data and the Web service request latency data for each Web service request according to the respective unique request identifier associated with each of the one or more Web service requests.
1 Assignment
0 Petitions
Accused Products
Abstract
Method and apparatus for measuring true end-to-end latency for calls to Web services are described. In embodiments, a Web service client and a Web service provider may collaborate to collect timing/latency data for calls to the Web service. This data may be collected, stored, and analyzed by a latency measurement service to generate displays and/or reports on true end-to-end latency measurements for Web service calls. Embodiments may collect Internet/network infrastructure latency for Web service calls up to and including the “last mile” to the Web service client and the Web service processing time. Additionally, by analyzing latency data collected from a number of Web services clients and/or Web service providers, embodiments may provide a macro-level view into overall Internet performance. In one embodiment, the latency measurement service may be a Web service.
-
Citations
54 Claims
-
1. A system, comprising:
-
a processor; and a memory comprising program instructions, wherein the program instructions are executable by the processor to implement a latency measurement service configured to; collect Web service request processing time data sent to the latency measurement service from a Web service, the processing time data including both a respective unique request identifier and a server-side processing time for each of one or more Web service requests received by the Web service from a Web service client via a network, wherein the latency measurement service is a separate service from the Web service, and wherein the request processing time data is sent separate from the one or more Web service requests; collect Web service request latency data sent to the latency measurement service from the Web service client, the service request latency data including both a respective client-side request latency and unique request identifier for each of the Web service requests sent to the Web service by the Web service client via the network, wherein the service request latency data is sent separate from the one or more Web service requests; and correlate and store the Web service request processing time data and the Web service request latency data for each Web service request according to the respective unique request identifier associated with each of the one or more Web service requests. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A method, comprising:
-
a latency measurement service collecting Web service request processing time data sent to the latency measurement service from a Web service, the processing time data including both a respective unique request identifier and a server-side processing time for each of one or more Web service requests received by the Web service from a Web service client via a network, wherein the latency measurement service is a separate service from the Web service, and wherein the request processing time data is sent separate from the one or more Web service requests; the latency measurement service collecting Web service request latency data sent to the latency measurement service from the Web service client, the service request latency data comprising both a respective client-side request latency and unique request identifier for each of the one or more Web service requests sent to the Web service by the Web service client via the network, wherein the service request latency data is sent separate from the one or more Web service requests; and the latency measurement service correlating and storing the Web service request processing time data and the Web service request latency data for each Web service request according to the respective unique request identifier associated with each of the one or more Web service requests. - View Dependent Claims (14, 15, 16, 17)
-
-
18. A computer-accessible storage medium storing program instructions, wherein the program instructions are computer-executable to implement a latency measurement service configured to:
-
collect Web service request processing time data sent to the latency measurement service from a Web service, the processing time data including both a respective unique request identifier and a server-side processing time for each of one or more Web service requests received by the Web service from a Web service client via a network, wherein the latency measurement service is a separate service from the Web service, and wherein the request processing time data is sent separate from the one or more Web service requests; collect Web service request latency data sent to the latency measurement service from the Web service client, the service request latency data including both a respective client-side request latency and unique request identifier for each of the Web service requests sent to the Web service by the Web service client via the network, wherein the service request latency data is sent separate from the one or more Web service requests; and correlate and store the Web service request processing time data and the Web service request latency data for each Web service request according to the respective unique request identifier associated with each of the one or more Web service requests. - View Dependent Claims (19, 20, 21, 22)
-
-
23. A system, comprising:
-
a processor; and a memory comprising program instructions, wherein the program instructions are executable by the processor to implement a Web service configured to; receive a Web service request from a Web service client via a network; process the Web service request to generate response data for the Web service request; record a Web service processing time indicating elapsed time for said processing the Web service request; generate a request identifier that uniquely identifies the Web service request; send a Web service response comprising the response data and the request identifier to the Web service client via the network; and separate from the Web service request and the Web service response, send the Web service processing time and the request identifier to a latency measurement service, wherein the Web service is a separate service from the latency measurement service, wherein the latency measurement service is configured to correlate and store a client processing time for the Web service request and the Web service processing time for the Web service request according to the request identifier. - View Dependent Claims (24, 25, 26, 27)
-
-
28. A method, comprising:
-
receiving, by a Web service, a Web service request from a Web service client via a network; processing, by the Web service, the Web service request to generate response data for the Web service request; recording, by the Web service, a Web service processing time indicating elapsed time for said processing the Web service request; generating, by the Web service, a request identifier that uniquely identifies the Web service request; sending, by the Web service, a Web service response comprising the response data and the request identifier to the Web service client via the network; and separate from the Web service request and the Web service response, sending, by the Web service, the Web service processing time and the request identifier to a latency measurement service, wherein the Web service is a separate service from the latency measurement service, wherein the latency measurement service is configured to correlate and store a client processing time for the Web service request and the Web service processing time for the Web service request according to the request identifier. - View Dependent Claims (29, 30, 31)
-
-
32. A computer-accessible storage medium storing program instructions, wherein the program instructions are computer-executable to implement a Web service configured to:
-
receive a Web service request from a Web service client via a network; process the Web service request to generate response data for the Web service request; record a Web service processing time indicating elapsed time for said processing the Web service request; generate a request identifier that uniquely identifies the Web service request; send a Web service response comprising the response data and the request identifier to the Web service client via the network; and separate from the Web service request and the Web service response, send the Web service processing time and the request identifier to a latency measurement service, wherein the Web service is a separate service from the latency measurement service, wherein the latency measurement service is configured to correlate and store a client processing time for the Web service request and the Web service processing time for the Web service request according to the request identifier. - View Dependent Claims (33, 34, 35)
-
-
36. A system, comprising:
-
a processor; and a memory comprising program instructions, wherein the program instructions are executable by the processor to implement a Web service client configured to; send a Web service request to a Web service on a network; receive a Web service response from the Web service including response data for the Web service request and a request identifier that uniquely identifies the Web service request; record a client processing time for the Web service request; and separate from the Web service request and the Web service response, send the client processing time for the Web service request and the request identifier to a latency measurement service, wherein the latency measurement service is a separate service from the Web service, and wherein the latency measurement service is configured to correlate and store the client processing time for the Web service request and a Web service processing time for the Web service request according to the request identifier. - View Dependent Claims (37, 38, 39, 40)
-
-
41. A method, comprising:
-
sending, by a Web service client, a Web service request to a Web service on a network; receiving, by the Web service client, a Web service response from the Web service including response data for the Web service request and a request identifier that uniquely identifies the Web service request; recording, by the Web service client, a client processing time for the Web service request; and separate from the Web service request and the Web service response, sending, by the Web service client, the client processing time for the Web service request and the request identifier to a latency measurement service, wherein the latency measurement service is a separate service from the Web service, and wherein the latency measurement service is configured to correlate and store the client processing time for the Web service request and a Web service processing time for the Web service request according to the request identifier. - View Dependent Claims (42, 43, 44, 45)
-
-
46. A computer-accessible storage medium storing program instructions, wherein the program instructions are computer-executable to implement a Web service client configured to:
-
send a Web service request to a Web service on a network; receive a Web service response from the Web service including response data for the Web service request and a request identifier that uniquely identifies the Web service request; record a client processing time for the Web service request; and separate from the Web service request and the Web service response, send the client processing time for the Web service request and the request identifier to a latency measurement service, wherein the latency measurement service is a separate service from the Web service, and wherein the latency measurement service is configured to correlate and store the client processing time for the Web service request and a Web service processing time for the Web service request according to the request identifier. - View Dependent Claims (47, 48, 49, 50)
-
-
51. A latency measurement system, comprising one or more hardware servers coupled to a network and configured to:
-
host a Web service, wherein the Web service is configured to, for each Web service request received from a Web service client on the network, record a Web service processing time for the Web service to process the Web service request; host a latency measurement service, wherein the latency measurement service is a separate service from the Web service, wherein the latency measurement service is configured to, for and Web service request sent to the Web service by the Web service client, collect, correlate and store the Web service processing time and a client processing time according to a request identifier that uniquely identifies the Web service request, wherein the service processing time is sent to the latency measurement service by the Web service along with the request identifier and wherein the client processing time is sent to the latency measurement service by the Web services client along with the request identifier;
wherein the client processing time indicates elapsed time between the Web service client sending the Web service request to the Web service and the Web service client receiving the Web service response to the Web service request from the Web service, and wherein the Web service processing time and the client processing time are sent to the latency measurement service separate from the Web service request and the Web service response. - View Dependent Claims (52, 53)
-
-
54. A method, comprising:
-
for each Web service request received from a Web service client on a network, a Web service recording a Web service processing time indicating elapsed time for the Web service to process the Web service request; for each Web service request sent to the Web service by the Web service client, a latency measurement service collecting, correlating and storing the Web service processing time and a client processing time according to a request identifier that uniquely identifies the Web service request, wherein the service processing time is sent to the latency measurement service by the Web service along with the request identifier and wherein the client processing time is sent to the latency measurement service by the Web services client along with the request identifier;
wherein the latency measurement service is a separate service from the Web service, wherein the client processing time indicates elapsed time between the Web service client sending the Web service request to the Web service and the Web service client receiving the Web service response to the Web service request from the Web service, and wherein the Web service processing time and the client processing time are sent to the latency measurement service separate from the Web service request and the Web service response.
-
Specification